          retval = (kernel_size, kernel_size)
          logger.trace(retval)
          return retval
  
      def _get_kwargs(self):
          """ dict: the valid keyword arguments for the requested :attr:`_blur_type` """
          retval = {kword: self._kwarg_mapping[kword]
                    for kword in self._kwarg_requirements[self._blur_type]}
          logger.trace("BlurMask kwargs: %s", retval)
          return retval
 
</s> remove         logger.trace("BlurMask kwargs: %s", retval)
 </s> add         logger.trace("BlurMask kwargs: %s", retval)  # type: ignore </s> remove         logger.trace(retval)
 </s> add         logger.trace(retval)  # type: ignore </s> remove             retval = bool(len(self._data.get(frame_name, dict()).get("faces", [])) > 1)
 </s> add             retval = bool(len(self._data.get(frame_name, {}).get("faces", [])) > 1) </s> remove _HASHES_SEEN = dict()
 </s> add _HASHES_SEEN: Dict[str, Dict[str, int]] = {} </s> remove         retval = len(self._data.get(frame_name, dict()).get("faces", []))
 </s> add         retval = len(self._data.get(frame_name, {}).get("faces", []))
    def _get_kwargs(self) -> Dict[str, Union[int, Tuple[int, int]]]:
          retval = (kernel_size, kernel_size)
          logger.trace(retval)
          return retval
  
    def _get_kwargs(self) -> Dict[str, Union[int, Tuple[int, int]]]:
          """ dict: the valid keyword arguments for the requested :attr:`_blur_type` """
          retval = {kword: self._kwarg_mapping[kword]
                    for kword in self._kwarg_requirements[self._blur_type]}
          logger.trace("BlurMask kwargs: %s", retval)
          return retval
keep keep keep keep replace keep keep keep keep keep
 lib.align updates:
  - alignments.py
    - Add typed dicts for imported alignments
    - Explicitly check for presence of thumb value in alignments dict
    - linting
  - detected_face.py
    - Typing
    - Linting
    - Legacy support for pre-aligned face
    - Update dependencies to new property names 
lib/align/detected_face.py