code: def find_max_overlapping(query_range, search_ranges):
      """Gets the index of the element in search_ranges with max overlap with query.
  
      In case of ties, selects the lowest index range in search_ranges.
  
      Args:
        query_range: nucleus.genomics.v1.Range, read genomic range.
        search_ranges: list[nucleus.genomics.v1.Read]. The list of regions we want
          to search for the maximal overlap with query_range. NOTE: this must be a
          list (not a generator) as we loop over the search_ranges multiple times.
  
      Returns:
        int, the search_ranges index with the maximum read overlap. Returns None
        when read has no overlap with any of the search_ranges or search_ranges is
        empty.
      """
      if not search_ranges:
          return None
      overlaps = [
          overlap_len(query_range, srange) for srange in search_ranges
      ]
      argmax = max(range(len(search_ranges)), key=lambda i: overlaps[i])
      # We return None if the read doesn't overlap at all.
      return None if overlaps[argmax] == 0 else argmax
  
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import collections
  import re
  from typing import Dict, Iterable, Optional, Sequence
  from absl import logging
  from etils import epath
  import intervaltree
  import six
  from third_party.nucleus.io import bed
  from third_party.nucleus.protos import position_pb2
  from third_party.nucleus.protos import range_pb2
  from third_party.nucleus.protos import reference_pb2
  from third_party.nucleus.protos import variants_pb2
label_desc: Use image node_id 17 for calling a global function with example usage: find_max_overlapping(query_range, search_ranges) and returns: unknown, None