internal virtual async ValueTask <byte[]> ReadBytes(Stream stream, CancellationToken cancellationToken = default) { stream.Seek(Header.Offset, SeekOrigin.Begin); if (Header.Options.HasFlag(HashEntryOption.Compressed)) { using (InflaterInputStream inflater = new InflaterInputStream(stream) { IsStreamOwner = false }) { return(await inflater.ReadBytesAsync(Header.Size, cancellationToken).ConfigureAwait(false)); } } else { return(await stream.ReadBytesAsync(Header.Size, cancellationToken).ConfigureAwait(false)); } }