class_docstr: An `Instance` represents one data point that we're evaluating on (e.g., one
  question in a QA task).
  Note: `eq=False` means that we hash by the identity.
code: def render_lines(self) -> List[str]:
      info = [f"input: {format_text(self.input.text)}"]
      if self.sub_split:
          info.append(f"sub_split: {format_text(self.sub_split)}")
      if self.id:
          info.append(f"id: {format_text(self.id)}")
      if self.perturbation:
          info.append(f"perturbation: {self.perturbation}")
  
      for reference in self.references:
          info.extend(reference.render_lines())
  
      return info
  
imports: from abc import ABC, abstractmethod
  from dataclasses import dataclass, field, replace
  from typing import List, Optional, Tuple
  import re
  import inspect
  from helm.common.object_spec import ObjectSpec, create_object
  from helm.common.general import format_text, format_split, format_tags, indent_lines
  from helm.benchmark.augmentations.perturbation_description import PerturbationDescription
label_desc: Use image node_id 3 for calling the Instance obj's underlying member method code with example usage: obj.render_lines() and returns: info