{
  "contractName": "ERC721Basic",
  "abi": [
    {
      "constant": true,
      "inputs": [
        {
          "name": "_interfaceId",
          "type": "bytes4"
        }
      ],
      "name": "supportsInterface",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_from",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_to",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_tokenId",
          "type": "uint256"
        }
      ],
      "name": "Transfer",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_owner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_approved",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_tokenId",
          "type": "uint256"
        }
      ],
      "name": "Approval",
      "type": "event"
    },
    {
      "anonymous": false,
      "inputs": [
        {
          "indexed": true,
          "name": "_owner",
          "type": "address"
        },
        {
          "indexed": true,
          "name": "_operator",
          "type": "address"
        },
        {
          "indexed": false,
          "name": "_approved",
          "type": "bool"
        }
      ],
      "name": "ApprovalForAll",
      "type": "event"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        }
      ],
      "name": "balanceOf",
      "outputs": [
        {
          "name": "_balance",
          "type": "uint256"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_tokenId",
          "type": "uint256"
        }
      ],
      "name": "ownerOf",
      "outputs": [
        {
          "name": "_owner",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_tokenId",
          "type": "uint256"
        }
      ],
      "name": "exists",
      "outputs": [
        {
          "name": "_exists",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_tokenId",
          "type": "uint256"
        }
      ],
      "name": "approve",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_tokenId",
          "type": "uint256"
        }
      ],
      "name": "getApproved",
      "outputs": [
        {
          "name": "_operator",
          "type": "address"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_operator",
          "type": "address"
        },
        {
          "name": "_approved",
          "type": "bool"
        }
      ],
      "name": "setApprovalForAll",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": true,
      "inputs": [
        {
          "name": "_owner",
          "type": "address"
        },
        {
          "name": "_operator",
          "type": "address"
        }
      ],
      "name": "isApprovedForAll",
      "outputs": [
        {
          "name": "",
          "type": "bool"
        }
      ],
      "payable": false,
      "stateMutability": "view",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_from",
          "type": "address"
        },
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_tokenId",
          "type": "uint256"
        }
      ],
      "name": "transferFrom",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_from",
          "type": "address"
        },
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_tokenId",
          "type": "uint256"
        }
      ],
      "name": "safeTransferFrom",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    },
    {
      "constant": false,
      "inputs": [
        {
          "name": "_from",
          "type": "address"
        },
        {
          "name": "_to",
          "type": "address"
        },
        {
          "name": "_tokenId",
          "type": "uint256"
        },
        {
          "name": "_data",
          "type": "bytes"
        }
      ],
      "name": "safeTransferFrom",
      "outputs": [],
      "payable": false,
      "stateMutability": "nonpayable",
      "type": "function"
    }
  ],
  "bytecode": "0x",
  "deployedBytecode": "0x",
  "sourceMap": "",
  "deployedSourceMap": "",
  "source": "pragma solidity ^0.4.24;\n\nimport \"../../introspection/ERC165.sol\";\n\n\n/**\n * @title ERC721 Non-Fungible Token Standard basic interface\n * @dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md\n */\ncontract ERC721Basic is ERC165 {\n\n  bytes4 internal constant InterfaceId_ERC721 = 0x80ac58cd;\n  /*\n   * 0x80ac58cd ===\n   *   bytes4(keccak256('balanceOf(address)')) ^\n   *   bytes4(keccak256('ownerOf(uint256)')) ^\n   *   bytes4(keccak256('approve(address,uint256)')) ^\n   *   bytes4(keccak256('getApproved(uint256)')) ^\n   *   bytes4(keccak256('setApprovalForAll(address,bool)')) ^\n   *   bytes4(keccak256('isApprovedForAll(address,address)')) ^\n   *   bytes4(keccak256('transferFrom(address,address,uint256)')) ^\n   *   bytes4(keccak256('safeTransferFrom(address,address,uint256)')) ^\n   *   bytes4(keccak256('safeTransferFrom(address,address,uint256,bytes)'))\n   */\n\n  bytes4 internal constant InterfaceId_ERC721Exists = 0x4f558e79;\n  /*\n   * 0x4f558e79 ===\n   *   bytes4(keccak256('exists(uint256)'))\n   */\n\n  bytes4 internal constant InterfaceId_ERC721Enumerable = 0x780e9d63;\n  /**\n   * 0x780e9d63 ===\n   *   bytes4(keccak256('totalSupply()')) ^\n   *   bytes4(keccak256('tokenOfOwnerByIndex(address,uint256)')) ^\n   *   bytes4(keccak256('tokenByIndex(uint256)'))\n   */\n\n  bytes4 internal constant InterfaceId_ERC721Metadata = 0x5b5e139f;\n  /**\n   * 0x5b5e139f ===\n   *   bytes4(keccak256('name()')) ^\n   *   bytes4(keccak256('symbol()')) ^\n   *   bytes4(keccak256('tokenURI(uint256)'))\n   */\n\n  event Transfer(\n    address indexed _from,\n    address indexed _to,\n    uint256 indexed _tokenId\n  );\n  event Approval(\n    address indexed _owner,\n    address indexed _approved,\n    uint256 indexed _tokenId\n  );\n  event ApprovalForAll(\n    address indexed _owner,\n    address indexed _operator,\n    bool _approved\n  );\n\n  function balanceOf(address _owner) public view returns (uint256 _balance);\n  function ownerOf(uint256 _tokenId) public view returns (address _owner);\n  function exists(uint256 _tokenId) public view returns (bool _exists);\n\n  function approve(address _to, uint256 _tokenId) public;\n  function getApproved(uint256 _tokenId)\n    public view returns (address _operator);\n\n  function setApprovalForAll(address _operator, bool _approved) public;\n  function isApprovedForAll(address _owner, address _operator)\n    public view returns (bool);\n\n  function transferFrom(address _from, address _to, uint256 _tokenId) public;\n  function safeTransferFrom(address _from, address _to, uint256 _tokenId)\n    public;\n\n  function safeTransferFrom(\n    address _from,\n    address _to,\n    uint256 _tokenId,\n    bytes _data\n  )\n    public;\n}\n",
  "sourcePath": "zeppelin-solidity/contracts/token/ERC721/ERC721Basic.sol",
  "ast": {
    "absolutePath": "zeppelin-solidity/contracts/token/ERC721/ERC721Basic.sol",
    "exportedSymbols": {
      "ERC721Basic": [
        5618
      ]
    },
    "id": 5619,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 5498,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:30"
      },
      {
        "absolutePath": "zeppelin-solidity/contracts/introspection/ERC165.sol",
        "file": "../../introspection/ERC165.sol",
        "id": 5499,
        "nodeType": "ImportDirective",
        "scope": 5619,
        "sourceUnit": 4654,
        "src": "26:40:30",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 5500,
              "name": "ERC165",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 4653,
              "src": "235:6:30",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC165_$4653",
                "typeString": "contract ERC165"
              }
            },
            "id": 5501,
            "nodeType": "InheritanceSpecifier",
            "src": "235:6:30"
          }
        ],
        "contractDependencies": [
          4653
        ],
        "contractKind": "contract",
        "documentation": "@title ERC721 Non-Fungible Token Standard basic interface\n@dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md",
        "fullyImplemented": false,
        "id": 5618,
        "linearizedBaseContracts": [
          5618,
          4653
        ],
        "name": "ERC721Basic",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "id": 5504,
            "name": "InterfaceId_ERC721",
            "nodeType": "VariableDeclaration",
            "scope": 5618,
            "src": "247:56:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes4",
              "typeString": "bytes4"
            },
            "typeName": {
              "id": 5502,
              "name": "bytes4",
              "nodeType": "ElementaryTypeName",
              "src": "247:6:30",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes4",
                "typeString": "bytes4"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30783830616335386364",
              "id": 5503,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "293:10:30",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_2158778573_by_1",
                "typeString": "int_const 2158778573"
              },
              "value": "0x80ac58cd"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 5507,
            "name": "InterfaceId_ERC721Exists",
            "nodeType": "VariableDeclaration",
            "scope": 5618,
            "src": "883:62:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes4",
              "typeString": "bytes4"
            },
            "typeName": {
              "id": 5505,
              "name": "bytes4",
              "nodeType": "ElementaryTypeName",
              "src": "883:6:30",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes4",
                "typeString": "bytes4"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30783466353538653739",
              "id": 5506,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "935:10:30",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1331007097_by_1",
                "typeString": "int_const 1331007097"
              },
              "value": "0x4f558e79"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 5510,
            "name": "InterfaceId_ERC721Enumerable",
            "nodeType": "VariableDeclaration",
            "scope": 5618,
            "src": "1025:66:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes4",
              "typeString": "bytes4"
            },
            "typeName": {
              "id": 5508,
              "name": "bytes4",
              "nodeType": "ElementaryTypeName",
              "src": "1025:6:30",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes4",
                "typeString": "bytes4"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30783738306539643633",
              "id": 5509,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1081:10:30",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_2014223715_by_1",
                "typeString": "int_const 2014223715"
              },
              "value": "0x780e9d63"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 5513,
            "name": "InterfaceId_ERC721Metadata",
            "nodeType": "VariableDeclaration",
            "scope": 5618,
            "src": "1289:64:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes4",
              "typeString": "bytes4"
            },
            "typeName": {
              "id": 5511,
              "name": "bytes4",
              "nodeType": "ElementaryTypeName",
              "src": "1289:6:30",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes4",
                "typeString": "bytes4"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30783562356531333966",
              "id": 5512,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1343:10:30",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1532892063_by_1",
                "typeString": "int_const 1532892063"
              },
              "value": "0x5b5e139f"
            },
            "visibility": "internal"
          },
          {
            "anonymous": false,
            "documentation": "0x5b5e139f ===\n  bytes4(keccak256('name()')) ^\n  bytes4(keccak256('symbol()')) ^\n  bytes4(keccak256('tokenURI(uint256)'))",
            "id": 5521,
            "name": "Transfer",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 5520,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5515,
                  "indexed": true,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 5521,
                  "src": "1532:21:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5514,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1532:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5517,
                  "indexed": true,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 5521,
                  "src": "1559:19:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5516,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1559:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5519,
                  "indexed": true,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5521,
                  "src": "1584:24:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5518,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1584:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1526:86:30"
            },
            "src": "1512:101:30"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 5529,
            "name": "Approval",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 5528,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5523,
                  "indexed": true,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 5529,
                  "src": "1636:22:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5522,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1636:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5525,
                  "indexed": true,
                  "name": "_approved",
                  "nodeType": "VariableDeclaration",
                  "scope": 5529,
                  "src": "1664:25:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5524,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1664:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5527,
                  "indexed": true,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5529,
                  "src": "1695:24:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5526,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1695:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1630:93:30"
            },
            "src": "1616:108:30"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 5537,
            "name": "ApprovalForAll",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 5536,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5531,
                  "indexed": true,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 5537,
                  "src": "1753:22:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5530,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1753:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5533,
                  "indexed": true,
                  "name": "_operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 5537,
                  "src": "1781:25:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5532,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1781:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5535,
                  "indexed": false,
                  "name": "_approved",
                  "nodeType": "VariableDeclaration",
                  "scope": 5537,
                  "src": "1812:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5534,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1812:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1747:83:30"
            },
            "src": "1727:104:30"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5544,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "balanceOf",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5540,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5539,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 5544,
                  "src": "1854:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5538,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1854:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1853:16:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5543,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5542,
                  "name": "_balance",
                  "nodeType": "VariableDeclaration",
                  "scope": 5544,
                  "src": "1891:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5541,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1891:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1890:18:30"
            },
            "scope": 5618,
            "src": "1835:74:30",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5551,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "ownerOf",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5547,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5546,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5551,
                  "src": "1929:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5545,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1929:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1928:18:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5550,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5549,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 5551,
                  "src": "1968:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5548,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1968:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1967:16:30"
            },
            "scope": 5618,
            "src": "1912:72:30",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5558,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "exists",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5554,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5553,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5558,
                  "src": "2003:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5552,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2003:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2002:18:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5557,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5556,
                  "name": "_exists",
                  "nodeType": "VariableDeclaration",
                  "scope": 5558,
                  "src": "2042:12:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5555,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2042:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2041:14:30"
            },
            "scope": 5618,
            "src": "1987:69:30",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5565,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "approve",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5563,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5560,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 5565,
                  "src": "2077:11:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5559,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2077:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5562,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5565,
                  "src": "2090:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5561,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2090:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2076:31:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5564,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2114:0:30"
            },
            "scope": 5618,
            "src": "2060:55:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5572,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getApproved",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5568,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5567,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5572,
                  "src": "2139:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5566,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2139:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2138:18:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5571,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5570,
                  "name": "_operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 5572,
                  "src": "2182:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5569,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2182:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2181:19:30"
            },
            "scope": 5618,
            "src": "2118:83:30",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5579,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setApprovalForAll",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5577,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5574,
                  "name": "_operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 5579,
                  "src": "2232:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5573,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2232:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5576,
                  "name": "_approved",
                  "nodeType": "VariableDeclaration",
                  "scope": 5579,
                  "src": "2251:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5575,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2251:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2231:35:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5578,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2273:0:30"
            },
            "scope": 5618,
            "src": "2205:69:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5588,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isApprovedForAll",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5584,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5581,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 5588,
                  "src": "2303:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5580,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2303:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5583,
                  "name": "_operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 5588,
                  "src": "2319:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5582,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2319:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2302:35:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5587,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5586,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 5588,
                  "src": "2363:4:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5585,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2363:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2362:6:30"
            },
            "scope": 5618,
            "src": "2277:92:30",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5597,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "transferFrom",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5595,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5590,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 5597,
                  "src": "2395:13:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5589,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2395:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5592,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 5597,
                  "src": "2410:11:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5591,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2410:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5594,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5597,
                  "src": "2423:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5593,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2423:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2394:46:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5596,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2447:0:30"
            },
            "scope": 5618,
            "src": "2373:75:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5606,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "safeTransferFrom",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5604,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5599,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 5606,
                  "src": "2477:13:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5598,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2477:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5601,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 5606,
                  "src": "2492:11:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5600,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2492:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5603,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5606,
                  "src": "2505:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5602,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2505:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2476:46:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5605,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2533:0:30"
            },
            "scope": 5618,
            "src": "2451:83:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5617,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "safeTransferFrom",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5615,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5608,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 5617,
                  "src": "2569:13:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5607,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2569:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5610,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 5617,
                  "src": "2588:11:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5609,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2588:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5612,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5617,
                  "src": "2605:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5611,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2605:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5614,
                  "name": "_data",
                  "nodeType": "VariableDeclaration",
                  "scope": 5617,
                  "src": "2627:11:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 5613,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2627:5:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2563:79:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5616,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2653:0:30"
            },
            "scope": 5618,
            "src": "2538:116:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 5619,
        "src": "211:2445:30"
      }
    ],
    "src": "0:2657:30"
  },
  "legacyAST": {
    "absolutePath": "zeppelin-solidity/contracts/token/ERC721/ERC721Basic.sol",
    "exportedSymbols": {
      "ERC721Basic": [
        5618
      ]
    },
    "id": 5619,
    "nodeType": "SourceUnit",
    "nodes": [
      {
        "id": 5498,
        "literals": [
          "solidity",
          "^",
          "0.4",
          ".24"
        ],
        "nodeType": "PragmaDirective",
        "src": "0:24:30"
      },
      {
        "absolutePath": "zeppelin-solidity/contracts/introspection/ERC165.sol",
        "file": "../../introspection/ERC165.sol",
        "id": 5499,
        "nodeType": "ImportDirective",
        "scope": 5619,
        "sourceUnit": 4654,
        "src": "26:40:30",
        "symbolAliases": [],
        "unitAlias": ""
      },
      {
        "baseContracts": [
          {
            "arguments": null,
            "baseName": {
              "contractScope": null,
              "id": 5500,
              "name": "ERC165",
              "nodeType": "UserDefinedTypeName",
              "referencedDeclaration": 4653,
              "src": "235:6:30",
              "typeDescriptions": {
                "typeIdentifier": "t_contract$_ERC165_$4653",
                "typeString": "contract ERC165"
              }
            },
            "id": 5501,
            "nodeType": "InheritanceSpecifier",
            "src": "235:6:30"
          }
        ],
        "contractDependencies": [
          4653
        ],
        "contractKind": "contract",
        "documentation": "@title ERC721 Non-Fungible Token Standard basic interface\n@dev see https://github.com/ethereum/EIPs/blob/master/EIPS/eip-721.md",
        "fullyImplemented": false,
        "id": 5618,
        "linearizedBaseContracts": [
          5618,
          4653
        ],
        "name": "ERC721Basic",
        "nodeType": "ContractDefinition",
        "nodes": [
          {
            "constant": true,
            "id": 5504,
            "name": "InterfaceId_ERC721",
            "nodeType": "VariableDeclaration",
            "scope": 5618,
            "src": "247:56:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes4",
              "typeString": "bytes4"
            },
            "typeName": {
              "id": 5502,
              "name": "bytes4",
              "nodeType": "ElementaryTypeName",
              "src": "247:6:30",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes4",
                "typeString": "bytes4"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30783830616335386364",
              "id": 5503,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "293:10:30",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_2158778573_by_1",
                "typeString": "int_const 2158778573"
              },
              "value": "0x80ac58cd"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 5507,
            "name": "InterfaceId_ERC721Exists",
            "nodeType": "VariableDeclaration",
            "scope": 5618,
            "src": "883:62:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes4",
              "typeString": "bytes4"
            },
            "typeName": {
              "id": 5505,
              "name": "bytes4",
              "nodeType": "ElementaryTypeName",
              "src": "883:6:30",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes4",
                "typeString": "bytes4"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30783466353538653739",
              "id": 5506,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "935:10:30",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1331007097_by_1",
                "typeString": "int_const 1331007097"
              },
              "value": "0x4f558e79"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 5510,
            "name": "InterfaceId_ERC721Enumerable",
            "nodeType": "VariableDeclaration",
            "scope": 5618,
            "src": "1025:66:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes4",
              "typeString": "bytes4"
            },
            "typeName": {
              "id": 5508,
              "name": "bytes4",
              "nodeType": "ElementaryTypeName",
              "src": "1025:6:30",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes4",
                "typeString": "bytes4"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30783738306539643633",
              "id": 5509,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1081:10:30",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_2014223715_by_1",
                "typeString": "int_const 2014223715"
              },
              "value": "0x780e9d63"
            },
            "visibility": "internal"
          },
          {
            "constant": true,
            "id": 5513,
            "name": "InterfaceId_ERC721Metadata",
            "nodeType": "VariableDeclaration",
            "scope": 5618,
            "src": "1289:64:30",
            "stateVariable": true,
            "storageLocation": "default",
            "typeDescriptions": {
              "typeIdentifier": "t_bytes4",
              "typeString": "bytes4"
            },
            "typeName": {
              "id": 5511,
              "name": "bytes4",
              "nodeType": "ElementaryTypeName",
              "src": "1289:6:30",
              "typeDescriptions": {
                "typeIdentifier": "t_bytes4",
                "typeString": "bytes4"
              }
            },
            "value": {
              "argumentTypes": null,
              "hexValue": "30783562356531333966",
              "id": 5512,
              "isConstant": false,
              "isLValue": false,
              "isPure": true,
              "kind": "number",
              "lValueRequested": false,
              "nodeType": "Literal",
              "src": "1343:10:30",
              "subdenomination": null,
              "typeDescriptions": {
                "typeIdentifier": "t_rational_1532892063_by_1",
                "typeString": "int_const 1532892063"
              },
              "value": "0x5b5e139f"
            },
            "visibility": "internal"
          },
          {
            "anonymous": false,
            "documentation": "0x5b5e139f ===\n  bytes4(keccak256('name()')) ^\n  bytes4(keccak256('symbol()')) ^\n  bytes4(keccak256('tokenURI(uint256)'))",
            "id": 5521,
            "name": "Transfer",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 5520,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5515,
                  "indexed": true,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 5521,
                  "src": "1532:21:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5514,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1532:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5517,
                  "indexed": true,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 5521,
                  "src": "1559:19:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5516,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1559:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5519,
                  "indexed": true,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5521,
                  "src": "1584:24:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5518,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1584:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1526:86:30"
            },
            "src": "1512:101:30"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 5529,
            "name": "Approval",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 5528,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5523,
                  "indexed": true,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 5529,
                  "src": "1636:22:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5522,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1636:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5525,
                  "indexed": true,
                  "name": "_approved",
                  "nodeType": "VariableDeclaration",
                  "scope": 5529,
                  "src": "1664:25:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5524,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1664:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5527,
                  "indexed": true,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5529,
                  "src": "1695:24:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5526,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1695:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1630:93:30"
            },
            "src": "1616:108:30"
          },
          {
            "anonymous": false,
            "documentation": null,
            "id": 5537,
            "name": "ApprovalForAll",
            "nodeType": "EventDefinition",
            "parameters": {
              "id": 5536,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5531,
                  "indexed": true,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 5537,
                  "src": "1753:22:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5530,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1753:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5533,
                  "indexed": true,
                  "name": "_operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 5537,
                  "src": "1781:25:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5532,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1781:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5535,
                  "indexed": false,
                  "name": "_approved",
                  "nodeType": "VariableDeclaration",
                  "scope": 5537,
                  "src": "1812:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5534,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "1812:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1747:83:30"
            },
            "src": "1727:104:30"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5544,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "balanceOf",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5540,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5539,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 5544,
                  "src": "1854:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5538,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1854:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1853:16:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5543,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5542,
                  "name": "_balance",
                  "nodeType": "VariableDeclaration",
                  "scope": 5544,
                  "src": "1891:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5541,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1891:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1890:18:30"
            },
            "scope": 5618,
            "src": "1835:74:30",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5551,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "ownerOf",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5547,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5546,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5551,
                  "src": "1929:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5545,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "1929:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1928:18:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5550,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5549,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 5551,
                  "src": "1968:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5548,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "1968:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "1967:16:30"
            },
            "scope": 5618,
            "src": "1912:72:30",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5558,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "exists",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5554,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5553,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5558,
                  "src": "2003:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5552,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2003:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2002:18:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5557,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5556,
                  "name": "_exists",
                  "nodeType": "VariableDeclaration",
                  "scope": 5558,
                  "src": "2042:12:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5555,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2042:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2041:14:30"
            },
            "scope": 5618,
            "src": "1987:69:30",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5565,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "approve",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5563,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5560,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 5565,
                  "src": "2077:11:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5559,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2077:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5562,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5565,
                  "src": "2090:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5561,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2090:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2076:31:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5564,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2114:0:30"
            },
            "scope": 5618,
            "src": "2060:55:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5572,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "getApproved",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5568,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5567,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5572,
                  "src": "2139:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5566,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2139:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2138:18:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5571,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5570,
                  "name": "_operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 5572,
                  "src": "2182:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5569,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2182:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2181:19:30"
            },
            "scope": 5618,
            "src": "2118:83:30",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5579,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "setApprovalForAll",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5577,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5574,
                  "name": "_operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 5579,
                  "src": "2232:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5573,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2232:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5576,
                  "name": "_approved",
                  "nodeType": "VariableDeclaration",
                  "scope": 5579,
                  "src": "2251:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5575,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2251:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2231:35:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5578,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2273:0:30"
            },
            "scope": 5618,
            "src": "2205:69:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5588,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": true,
            "modifiers": [],
            "name": "isApprovedForAll",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5584,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5581,
                  "name": "_owner",
                  "nodeType": "VariableDeclaration",
                  "scope": 5588,
                  "src": "2303:14:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5580,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2303:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5583,
                  "name": "_operator",
                  "nodeType": "VariableDeclaration",
                  "scope": 5588,
                  "src": "2319:17:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5582,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2319:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2302:35:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5587,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5586,
                  "name": "",
                  "nodeType": "VariableDeclaration",
                  "scope": 5588,
                  "src": "2363:4:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bool",
                    "typeString": "bool"
                  },
                  "typeName": {
                    "id": 5585,
                    "name": "bool",
                    "nodeType": "ElementaryTypeName",
                    "src": "2363:4:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bool",
                      "typeString": "bool"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2362:6:30"
            },
            "scope": 5618,
            "src": "2277:92:30",
            "stateMutability": "view",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5597,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "transferFrom",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5595,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5590,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 5597,
                  "src": "2395:13:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5589,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2395:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5592,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 5597,
                  "src": "2410:11:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5591,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2410:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5594,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5597,
                  "src": "2423:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5593,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2423:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2394:46:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5596,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2447:0:30"
            },
            "scope": 5618,
            "src": "2373:75:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5606,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "safeTransferFrom",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5604,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5599,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 5606,
                  "src": "2477:13:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5598,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2477:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5601,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 5606,
                  "src": "2492:11:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5600,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2492:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5603,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5606,
                  "src": "2505:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5602,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2505:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2476:46:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5605,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2533:0:30"
            },
            "scope": 5618,
            "src": "2451:83:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          },
          {
            "body": null,
            "documentation": null,
            "id": 5617,
            "implemented": false,
            "isConstructor": false,
            "isDeclaredConst": false,
            "modifiers": [],
            "name": "safeTransferFrom",
            "nodeType": "FunctionDefinition",
            "parameters": {
              "id": 5615,
              "nodeType": "ParameterList",
              "parameters": [
                {
                  "constant": false,
                  "id": 5608,
                  "name": "_from",
                  "nodeType": "VariableDeclaration",
                  "scope": 5617,
                  "src": "2569:13:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5607,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2569:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5610,
                  "name": "_to",
                  "nodeType": "VariableDeclaration",
                  "scope": 5617,
                  "src": "2588:11:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_address",
                    "typeString": "address"
                  },
                  "typeName": {
                    "id": 5609,
                    "name": "address",
                    "nodeType": "ElementaryTypeName",
                    "src": "2588:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_address",
                      "typeString": "address"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5612,
                  "name": "_tokenId",
                  "nodeType": "VariableDeclaration",
                  "scope": 5617,
                  "src": "2605:16:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_uint256",
                    "typeString": "uint256"
                  },
                  "typeName": {
                    "id": 5611,
                    "name": "uint256",
                    "nodeType": "ElementaryTypeName",
                    "src": "2605:7:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_uint256",
                      "typeString": "uint256"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                },
                {
                  "constant": false,
                  "id": 5614,
                  "name": "_data",
                  "nodeType": "VariableDeclaration",
                  "scope": 5617,
                  "src": "2627:11:30",
                  "stateVariable": false,
                  "storageLocation": "default",
                  "typeDescriptions": {
                    "typeIdentifier": "t_bytes_memory_ptr",
                    "typeString": "bytes"
                  },
                  "typeName": {
                    "id": 5613,
                    "name": "bytes",
                    "nodeType": "ElementaryTypeName",
                    "src": "2627:5:30",
                    "typeDescriptions": {
                      "typeIdentifier": "t_bytes_storage_ptr",
                      "typeString": "bytes"
                    }
                  },
                  "value": null,
                  "visibility": "internal"
                }
              ],
              "src": "2563:79:30"
            },
            "payable": false,
            "returnParameters": {
              "id": 5616,
              "nodeType": "ParameterList",
              "parameters": [],
              "src": "2653:0:30"
            },
            "scope": 5618,
            "src": "2538:116:30",
            "stateMutability": "nonpayable",
            "superFunction": null,
            "visibility": "public"
          }
        ],
        "scope": 5619,
        "src": "211:2445:30"
      }
    ],
    "src": "0:2657:30"
  },
  "compiler": {
    "name": "solc",
    "version": "0.4.24+commit.e67f0147.Emscripten.clang"
  },
  "networks": {},
  "schemaVersion": "2.0.1",
  "updatedAt": "2018-10-31T09:02:05.452Z"
}