class_docstr: This implements partial flexbuffer deserialization to be able
  to read custom options. It is not intended to be a general
  purpose flexbuffer deserializer and as such only supports a
  limited number of types and assumes the data is a flat map.
docstr: Decodes the flexbuffer map and returns a dict
docstr_tok: ["Decodes","the","flexbuffer","map","and","returns","a","dict"]
code: def decode_map(self, end, byte_width, parent_byte_width):
      """Decodes the flexbuffer map and returns a dict"""
      mid_loc = self.indirect_jump(end, parent_byte_width)
      map_size = struct.unpack(
          "<i", self.buffer[mid_loc - byte_width : mid_loc]
      )[0]
  
      # Find keys
      keys_offset = mid_loc - byte_width * 3
      keys_end = self.indirect_jump(keys_offset, byte_width)
      keys = self.decode_keys(keys_end, map_size, 1)
  
      # Find values
      values_end = self.indirect_jump(end, parent_byte_width)
      values = self.decode_vector(values_end, map_size, byte_width)
      return dict(zip(keys, values))
  
file_path: tvm/python/tvm/relay/frontend/tflite_flexbuffer.py
imports: import struct
  from enum import IntEnum
label_desc: Use image node_id 5 for calling the FlexBufferDecoder obj's underlying member method code with example usage: obj.decode_map(end, byte_width, parent_byte_width) and returns: dict