code: def setup(self, index_structure, dtype, method):
      N = 10**5
      dates_left = date_range("1/1/2000", periods=N, freq="min")
      fmt = "%Y-%m-%d %H:%M:%S"
      date_str_left = Index(dates_left.strftime(fmt))
      int_left = Index(np.arange(N))
      ea_int_left = Index(np.arange(N), dtype="Int64")
      str_left = Index([f"i-{i}" for i in range(N)], dtype=object)
  
      data = {
          "datetime": dates_left,
          "date_string": date_str_left,
          "int": int_left,
          "strings": str_left,
          "ea_int": ea_int_left,
      }
  
      if index_structure == "non_monotonic":
          data = {k: mi[::-1] for k, mi in data.items()}
  
      data = {
          k: {"left": idx, "right": idx[:-1]} for k, idx in data.items()
      }
  
      self.left = data[dtype]["left"]
      self.right = data[dtype]["right"]
  
imports: import gc
  import numpy
  from pandas import DatetimeIndex, Index, IntervalIndex, MultiIndex, RangeIndex, Series, date_range
  from .pandas_vb_common import setup
label_desc: Use image node_id 1 for calling the SetOperations obj's underlying member method code with example usage: obj.setup(index_structure, dtype, method) without return types