code: def _merge_shapes(shape_list, enqueue_many):
      shape_list = [tensor_shape.as_shape(s) for s in shape_list]
      if enqueue_many:
          # We want the shapes without the leading batch dimension.
          shape_list = [s.with_rank_at_least(1)[1:] for s in shape_list]
      merged_shape = shape_list[0]
      for s in shape_list[1:]:
          merged_shape.merge_with(s)
      return merged_shape.as_list()
  
imports: from tensorflow.python.eager import context
  from tensorflow.python.framework import constant_op
  from tensorflow.python.framework import dtypes
  from tensorflow.python.framework import indexed_slices
  from tensorflow.python.framework import ops
  from tensorflow.python.framework import sparse_tensor
  from tensorflow.python.framework import tensor
  from tensorflow.python.framework import tensor_shape
  from tensorflow.python.layers import utils
  from tensorflow.python.ops import array_ops
  from tensorflow.python.ops import control_flow_assert
  from tensorflow.python.ops import control_flow_ops
  from tensorflow.python.ops import data_flow_ops
  from tensorflow.python.ops import io_ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.ops import random_ops
  from tensorflow.python.ops import sparse_ops
  from tensorflow.python.ops import variable_v1
  from tensorflow.python.summary import summary
  from tensorflow.python.training import queue_runner
  from tensorflow.python.util import deprecation
  from tensorflow.python.util.compat import collections_abc
  from tensorflow.python.util.tf_export import tf_export
label_desc: Use image node_id 18 for calling a global function with example usage: _merge_shapes(shape_list, enqueue_many) and returns: merged_shape