public static Task FixMissingDefaultPpFilter(CancellationToken cancellation) {
return Task.Run(() => {
var original = CmApiProvider.GetData("static/get/pp_default");
cancellation.ThrowIfCancellationRequested();
if (original == null) throw new InformativeException("Can’t load original filter");
using (var stream = new MemoryStream(original))
using (var zip = ZipArchive.Open(stream)) {
var entry = zip.Entries.FirstOrDefault(x => x.Key == @"default.ini");
if (entry == null) throw new Exception("Invalid data");
File.WriteAllBytes(PpFiltersManager.Instance.DefaultFilename, entry.OpenEntryStream().ReadAsBytesAndDispose());
}
}, cancellation);
}
}