code: def read_table(fstream):
      
      pos = fstream.tell()
      line = fstream.readline().strip()
      fragments = line.split(",")
      fragments = [x for x in fragments if x is not None]
      partition = dict()
      if not len(fragments) >= 4:
          return None
  
      partition["table"] = fragments[0]
      partition["group"] = fragments[1]
      partition["set"] = fragments[2]
      partition["num_lines"] = fragments[3]
  
      struct = None
      if partition is not None and partition["table"] == "TABLE":
          num_lines = int(partition["num_lines"].strip())
          struct = {}
          header = fetch_cols(fstream)
  
          struct.update({header[0]: header[1:]})
          for _ in range(num_lines):
              cols = fetch_cols(fstream)
              struct.update({cols[0]: cols[1:]})
      else:
          fstream.seek(pos)
  
      return struct
docs: Read a likwid table info from the text stream.
  
      Args:
          fstream: Likwid's filestream.
  
      Returns (dict(str: str)):
          A dict containing likwid's table info as key/value pairs.