// Copyright (c) 2026 Timofey Solomko // Licensed under MIT License // // See LICENSE for license information import BitByteData class SevenZipSubstreamInfo { var numUnpackStreamsInFolders = [Int]() var unpackSizes = [Int]() var digests = [UInt32?]() init(_ bitReader: MsbBitReader, _ coderInfo: SevenZipCoderInfo) throws { var totalUnpackStreams = coderInfo.folders.count var type = bitReader.byte() if type == 0x0D { totalUnpackStreams = 0 for folder in coderInfo.folders { let numStreams = bitReader.szMbd() folder.numUnpackSubstreams = numStreams totalUnpackStreams += numStreams } type = bitReader.byte() } for folder in coderInfo.folders { if folder.numUnpackSubstreams == 0 { continue } var sum = 0 if type == 0x09 { for _ in 0..