code: def _merge_shape(op, shape):
      new_shape = list(shape)
      if op.shape is not None:
          for ss, axis in zip(op.shape, op.axes):
              new_shape[axis] = ss
      return new_shape
  
imports: from collections.abc import Iterable
  from ...core import recursive_tile
  from ...serialization.serializables import FieldTypes, KeyField, StringField, Int32Field, Int64Field, TupleField
  from ...utils import has_unknown_shape
  from ..utils import validate_axis, decide_chunk_sizes
  from ..operands import TensorHasInput, TensorOperandMixin
  from ..array_utils import get_array_module
label_desc: Use image node_id 2 for calling the TensorFFTNMixin obj's underlying member method code with example usage: obj._merge_shape(op, shape) and returns: new_shape