  
          self._gif_file = retval
          logger.info("Outputting to: '%s'", self._gif_file)
  
      def _set_dimensions(self, frame_dims: str) -> None:
          """ Set the attribute :attr:`_output_dimensions` based on the first frame received. This
          protects against different sized images coming in and ensure all images get written to the
          Gif at the sema dimensions. """
          logger.debug("input dimensions: %s", frame_dims)
          self._output_dimensions = (frame_dims[1], frame_dims[0])
 
</s> remove     def _set_dimensions(self, frame_dims: Tuple[int]) -> None:
 </s> add     def _set_dimensions(self, frame_dims: Tuple[int, int]) -> None: </s> remove     def set_display_dimensions(self, dimensions):
 </s> add     def set_display_dimensions(self, dimensions: Tuple[int, int]) -> None: </s> remove     def update_tk_image(self):
 </s> add     def update_tk_image(self) -> None: </s> remove     def _predict_faces(self):
 </s> add     def _predict_faces(self) -> None: </s> remove     def set_centering(self, centering):
 </s> add     def set_centering(self, centering: "CenteringType") -> None:
    def _set_dimensions(self, frame_dims: Tuple[int, int]) -> None:
  
          self._gif_file = retval
          logger.info("Outputting to: '%s'", self._gif_file)
  
    def _set_dimensions(self, frame_dims: Tuple[int, int]) -> None:
          """ Set the attribute :attr:`_output_dimensions` based on the first frame received. This
          protects against different sized images coming in and ensure all images get written to the
          Gif at the sema dimensions. """
          logger.debug("input dimensions: %s", frame_dims)
          self._output_dimensions = (frame_dims[1], frame_dims[0])
keep keep keep keep replace keep keep keep keep keep
 Bugfix: convert - Gif Writer
  - Fix non-launch error on Gif Writer
  - convert plugins - linting
  - convert/fs_media/preview/queue_manager - typing
  - Change convert items from dict to Dataclass 
plugins/convert/writer/gif.py