                  f"The face that failed was: '{filename}'\n"
                  f"The masks that exist for this face are: {list(detected_face.mask)}")
  
          mask = detected_face.mask[str(self._config["mask_type"])]
          mask.set_blur_and_threshold(blur_kernel=int(self._config["mask_blur_kernel"]),
                                      threshold=int(self._config["mask_threshold"]))
  
          pose = detected_face.aligned.pose
          mask.set_sub_crop(pose.offset[mask.stored_centering],
                            pose.offset[self._centering],
                            self._centering,
 
</s> remove         if not self._config["penalized_mask_loss"] or int(self._config[f"{area}_multiplier"]) <= 1:
 </s> add         multiplier = self._config[f"{area}_multiplier"]
        assert isinstance(multiplier, int)
        if not self._config["penalized_mask_loss"] or multiplier <= 1: </s> remove             pred_masks = [np.tile(1 - np.rint(face[..., -1])[..., None], 3) for face in faces[-2:]]
            for swap_masks in pred_masks:
                swap_masks[np.where((swap_masks == [1., 1., 1.]).all(axis=3))] = [0., 0., 1.]
 </s> add             pred_masks = [1 - np.rint(face[..., -1])[..., None] for face in faces[-2:]] </s> remove         orig_masks = np.tile(1 - np.rint(masks), 3)
        orig_masks[np.where((orig_masks == [1., 1., 1.]).all(axis=3))] = [0., 0., 1.]
 </s> add         orig_masks = 1 - np.rint(masks) </s> remove     @classmethod
    def _compile_masked(cls, faces: List[np.ndarray], masks: np.ndarray) -> List[np.ndarray]:
 </s> add     def _compile_masked(self, faces: List[np.ndarray], masks: np.ndarray) -> List[np.ndarray]:
        assert isinstance(self._config["mask_blur_kernel"], int)
        assert isinstance(self._config["mask_threshold"], int)
        mask.set_blur_and_threshold(blur_kernel=self._config["mask_blur_kernel"],
                                    threshold=self._config["mask_threshold"])
                  f"The face that failed was: '{filename}'\n"
                  f"The masks that exist for this face are: {list(detected_face.mask)}")
  
          mask = detected_face.mask[str(self._config["mask_type"])]
        assert isinstance(self._config["mask_blur_kernel"], int)
        assert isinstance(self._config["mask_threshold"], int)
        mask.set_blur_and_threshold(blur_kernel=self._config["mask_blur_kernel"],
                                    threshold=self._config["mask_threshold"])
        assert isinstance(self._config["mask_blur_kernel"], int)
        assert isinstance(self._config["mask_threshold"], int)
        mask.set_blur_and_threshold(blur_kernel=self._config["mask_blur_kernel"],
                                    threshold=self._config["mask_threshold"])
  
          pose = detected_face.aligned.pose
          mask.set_sub_crop(pose.offset[mask.stored_centering],
                            pose.offset[self._centering],
                            self._centering,
keep keep keep keep replace replace keep keep keep keep keep
 Preview - Allow mask color/opacity configuration
  - typing: lib.config
  - docs: lib.config
  - bugfix: popup_configure - keep assets on top 
lib/training/cache.py