code: def horizontal_flip_list(prob, images, order="CHW", boxes=None):
      """
      Horizontally flip the list of image and optional boxes.
      Args:
          prob (float): probability to flip.
          image (list): ilist of images to perform short side scale. Dimension is
              `height` x `width` x `channel` or `channel` x `height` x `width`.
          order (str): order of the `height`, `channel` and `width`.
          boxes (list): optional. Corresponding boxes to images.
              Dimension is `num boxes` x 4.
      Returns:
          (ndarray): the scaled image with dimension of
              `height` x `width` x `channel`.
          (list): optional. Corresponding boxes to images. Dimension is
              `num boxes` x 4.
      """
      _, width, _ = images[0].shape
      if np.random.uniform() < prob:
          if boxes is not None:
              boxes = [
                  flip_boxes(proposal, width) for proposal in boxes
              ]
          if order == "CHW":
              out_images = []
              for image in images:
                  image = np.asarray(image).swapaxes(2, 0)
                  image = image[::-1]
                  out_images.append(image.swapaxes(0, 2))
              return out_images, boxes
          elif order == "HWC":
              return [cv2.flip(image, 1) for image in images], boxes
      return images, boxes
  
imports: import math
  import numpy
  import cv2
label_desc: Use image node_id 5 for calling a global function with example usage: horizontal_flip_list(prob, images, order, boxes) and returns: images,  boxes, out_images,  boxes, unknown,  boxes