              self._saver.close()
  
          if self._skip_count != 0:
              logger.warning("%s face(s) skipped due to not existing in the alignments file",
                             self._skip_count)
          if self._update_type != "output":
              if self._update_count == 0:
                  logger.warning("No masks were updated of the %s faces seen", self._face_count)
              else:
                  logger.info("Updated masks for %s faces of %s",
 
</s> remove         if self._skip_count != 0:
 </s> add         if self._counts["skip"] != 0: </s> remove             if self._update_count != 0:
 </s> add             if self._counts["update"] != 0: </s> remove                 self._skip_count += 1
 </s> add                 self._counts["skip"] += 1 </s> remove                     self._update_count += 1
 </s> add                     self._counts["update"] += 1 </s> remove                 self._update_count += len(detected_faces)
 </s> add                 self._counts["update"] += len(detected_faces)
                           self._counts["skip"])
              self._saver.close()
  
          if self._skip_count != 0:
              logger.warning("%s face(s) skipped due to not existing in the alignments file",
                           self._counts["skip"])
          if self._update_type != "output":
              if self._update_count == 0:
                  logger.warning("No masks were updated of the %s faces seen", self._face_count)
              else:
                  logger.info("Updated masks for %s faces of %s",
keep keep keep keep replace keep keep keep keep keep
 Core Update (#995)

* lib.alignments - Add Video Meta Data methods

* lib.image - Monkey Path ImageIO for video scanning 
tools/mask/mask.py