package org.jmrtd.io; import java.io.IOException; import java.io.InputStream; import java.util.logging.Logger; import org.jmrtd.io.InputStreamBuffer; /* loaded from: classes6.dex */ public class SplittableInputStream extends InputStream { private static final Logger LOGGER = Logger.getLogger("org.jmrtd"); private InputStreamBuffer.SubInputStream carrier; public InputStreamBuffer inputStreamBuffer; public SplittableInputStream(InputStream inputStream, int i) { InputStreamBuffer inputStreamBuffer = new InputStreamBuffer(inputStream, i); this.inputStreamBuffer = inputStreamBuffer; this.carrier = inputStreamBuffer.getInputStream(); } public void updateFrom(SplittableInputStream splittableInputStream) { this.inputStreamBuffer.updateFrom(splittableInputStream.inputStreamBuffer); } public InputStream getInputStream(int i) { try { InputStreamBuffer.SubInputStream inputStream = this.inputStreamBuffer.getInputStream(); long j = 0; while (true) { long j2 = i; if (j >= j2) { return inputStream; } j += inputStream.skip(j2 - j); } } catch (IOException e) { Logger logger = LOGGER; StringBuilder sb = new StringBuilder("Exception: "); sb.append(e.getMessage()); logger.severe(sb.toString()); throw new IllegalStateException(e.getMessage()); } } public int getPosition() { return this.carrier.getPosition(); } @Override // java.io.InputStream public int read() throws IOException { return this.carrier.read(); } @Override // java.io.InputStream public long skip(long j) throws IOException { return this.carrier.skip(j); } @Override // java.io.InputStream public int available() throws IOException { return this.carrier.available(); } @Override // java.io.InputStream, java.io.Closeable, java.lang.AutoCloseable public void close() throws IOException { this.carrier.close(); } @Override // java.io.InputStream public void mark(int i) { synchronized (this) { this.carrier.mark(i); } } @Override // java.io.InputStream public void reset() throws IOException { synchronized (this) { this.carrier.reset(); } } @Override // java.io.InputStream public boolean markSupported() { return this.carrier.markSupported(); } public int getLength() { return this.inputStreamBuffer.getLength(); } public int getBytesBuffered() { return this.inputStreamBuffer.getBytesBuffered(); } }