          for mask_type in mask_types:
              if mask_type not in detected_face.mask:
                  # If extracting bisenet mask, then skip versions which don't exist
                  continue
              filename = os.path.join(self._saver.location, "{}_{}_{}".format(
                  os.path.splitext(frame)[0],
                  idx,
                  f"{mask_type}_{self._output['suffix']}"))
              image = self._create_image(detected_face, mask_type)
              logger.trace("filename: '%s', image_shape: %s", filename, image.shape)
              self._saver.save(filename, image)
  
      def _create_image(self, detected_face, mask_type):
 
</s> remove             logger.trace("filename: '%s', image_shape: %s", filename, image.shape)
 </s> add             logger.trace("filename: '%s', image_shape: %s", filename, image.shape)  # type: ignore </s> remove     def _create_image(self, detected_face, mask_type):
 </s> add     def _create_image(self, detected_face: DetectedFace, mask_type: str) -> np.ndarray: </s> remove             queue = args[0]
 </s> add             queue = cast("EventQueue", args[0]) </s> remove     def _check_for_missing(self, frame, idx, alignment):
 </s> add     def _check_for_missing(self, frame: str, idx: int, alignment: "AlignmentFileDict") -> bool: </s> remove         extractor_output: dict
 </s> add         extractor_output: :class:`plugins.extract.pipeline.ExtractMedia`
            filename = os.path.join(
                self._saver.location,
                f"{os.path.splitext(frame)[0]}_{idx}_{mask_type}_{self._output['suffix']}")
          for mask_type in mask_types:
              if mask_type not in detected_face.mask:
                  # If extracting bisenet mask, then skip versions which don't exist
                  continue
            filename = os.path.join(
                self._saver.location,
                f"{os.path.splitext(frame)[0]}_{idx}_{mask_type}_{self._output['suffix']}")
            filename = os.path.join(
                self._saver.location,
                f"{os.path.splitext(frame)[0]}_{idx}_{mask_type}_{self._output['suffix']}")
            filename = os.path.join(
                self._saver.location,
                f"{os.path.splitext(frame)[0]}_{idx}_{mask_type}_{self._output['suffix']}")
            filename = os.path.join(
                self._saver.location,
                f"{os.path.splitext(frame)[0]}_{idx}_{mask_type}_{self._output['suffix']}")
              image = self._create_image(detected_face, mask_type)
              logger.trace("filename: '%s', image_shape: %s", filename, image.shape)
              self._saver.save(filename, image)
  
      def _create_image(self, detected_face, mask_type):
keep keep keep keep replace replace replace replace keep keep keep keep keep
 Minor updates and fixups
  - Mask Tool - Typing + BiSeNet mask update fix
  - Alignments Tool - Auto search for alignments file 
tools/mask/mask.py