          self._check_input(arguments.input)
          self._saver = self._set_saver(arguments)
          loader = FacesLoader if self._input_is_faces else ImagesLoader
          self._loader = loader(arguments.input)
          self._faces_saver = None
  
          self._alignments = Alignments(os.path.dirname(arguments.alignments),
                                        filename=os.path.basename(arguments.alignments))
  
          self._extractor = self._get_extractor(arguments.exclude_gpus)
 
</s> remove         args = tuple() if self._update_type == "output" else (self._extractor.input_queue, )
 </s> add         if self._update_type == "output":
            args: tuple = tuple()
        else:
            assert self._extractor is not None
            args = (self._extractor.input_queue, ) </s> remove         updater = getattr(self, "_update_{}".format("faces" if self._input_is_faces else "frames"))
 </s> add         updater = getattr(self, f"_update_{'faces' if self._input_is_faces else 'frames'}") </s> remove         masker_input = getattr(self,
                               "_input_{}".format("faces" if self._input_is_faces else "frames"))
 </s> add         masker_input = getattr(self, f"_input_{'faces' if self._input_is_faces else 'frames'}")
        self._faces_saver: Optional[ImagesSaver] = None
          self._check_input(arguments.input)
          self._saver = self._set_saver(arguments)
          loader = FacesLoader if self._input_is_faces else ImagesLoader
          self._loader = loader(arguments.input)
        self._faces_saver: Optional[ImagesSaver] = None
  
          self._alignments = Alignments(os.path.dirname(arguments.alignments),
                                        filename=os.path.basename(arguments.alignments))
  
          self._extractor = self._get_extractor(arguments.exclude_gpus)
keep keep keep keep 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