def METHOD_NAME(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))