fn zip_extract<R: Read + Seek, P: AsRef<Path>>( archive: &mut ZipArchive<R>, directory: P, password: Option<&str>, controller: Controller, ) -> ZipResult<(Vec<PathBuf>, HashSet<PathBuf>)>