final class org.jvnet.mimepull.QPDecoderStream extends java.io.FilterInputStream
{
private byte[] ba;
private int spaces;
public void <init>(java.io.InputStream)
{
byte[] v;
java.io.PushbackInputStream v;
org.jvnet.mimepull.QPDecoderStream v;
java.io.InputStream v;
v := @this: org.jvnet.mimepull.QPDecoderStream;
v := @parameter: java.io.InputStream;
v = new java.io.PushbackInputStream;
specialinvoke v.<java.io.PushbackInputStream: void <init>(java.io.InputStream,int)>(v, 2);
specialinvoke v.<java.io.FilterInputStream: void <init>(java.io.InputStream)>(v);
v = newarray (byte)[2];
v.<org.jvnet.mimepull.QPDecoderStream: byte[] ba> = v;
v.<org.jvnet.mimepull.QPDecoderStream: int spaces> = 0;
return;
}
public int read() throws java.io.IOException
{
byte[] v, v, v, v;
int v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v, v;
java.lang.NumberFormatException v;
org.jvnet.mimepull.QPDecoderStream v;
java.io.InputStream v, v, v, v, v, v, v, v;
v := @this: org.jvnet.mimepull.QPDecoderStream;
v = v.<org.jvnet.mimepull.QPDecoderStream: int spaces>;
if v <= 0 goto label;
v = v.<org.jvnet.mimepull.QPDecoderStream: int spaces>;
v = v - 1;
v.<org.jvnet.mimepull.QPDecoderStream: int spaces> = v;
return 32;
label:
v = v.<org.jvnet.mimepull.QPDecoderStream: java.io.InputStream in>;
v = virtualinvoke v.<java.io.InputStream: int read()>();
if v != 32 goto label;
label:
v = v.<org.jvnet.mimepull.QPDecoderStream: java.io.InputStream in>;
v = virtualinvoke v.<java.io.InputStream: int read()>();
v = v;
if v != 32 goto label;
v = v.<org.jvnet.mimepull.QPDecoderStream: int spaces>;
v = v + 1;
v.<org.jvnet.mimepull.QPDecoderStream: int spaces> = v;
goto label;
label:
if v == 13 goto label;
if v == 10 goto label;
v = (int) -1;
if v != v goto label;
label:
v.<org.jvnet.mimepull.QPDecoderStream: int spaces> = 0;
goto label;
label:
v = v.<org.jvnet.mimepull.QPDecoderStream: java.io.InputStream in>;
virtualinvoke v.<java.io.PushbackInputStream: void unread(int)>(v);
v = 32;
label:
return v;
label:
if v != 61 goto label;
v = v.<org.jvnet.mimepull.QPDecoderStream: java.io.InputStream in>;
v = virtualinvoke v.<java.io.InputStream: int read()>();
if v != 10 goto label;
v = virtualinvoke v.<org.jvnet.mimepull.QPDecoderStream: int read()>();
return v;
label:
if v != 13 goto label;
v = v.<org.jvnet.mimepull.QPDecoderStream: java.io.InputStream in>;
v = virtualinvoke v.<java.io.InputStream: int read()>();
if v == 10 goto label;
v = v.<org.jvnet.mimepull.QPDecoderStream: java.io.InputStream in>;
virtualinvoke v.<java.io.PushbackInputStream: void unread(int)>(v);
label:
v = virtualinvoke v.<org.jvnet.mimepull.QPDecoderStream: int read()>();
return v;
label:
v = (int) -1;
if v != v goto label;
v = (int) -1;
return v;
label:
v = v.<org.jvnet.mimepull.QPDecoderStream: byte[] ba>;
v[0] = v;
v = v.<org.jvnet.mimepull.QPDecoderStream: byte[] ba>;
v = v.<org.jvnet.mimepull.QPDecoderStream: java.io.InputStream in>;
v = virtualinvoke v.<java.io.InputStream: int read()>();
v[1] = v;
label:
v = v.<org.jvnet.mimepull.QPDecoderStream: byte[] ba>;
v = staticinvoke <org.jvnet.mimepull.ASCIIUtility: int parseInt(byte[],int,int,int)>(v, 0, 2, 16);
label:
return v;
label:
v := @caughtexception;
v = v.<org.jvnet.mimepull.QPDecoderStream: java.io.InputStream in>;
v = v.<org.jvnet.mimepull.QPDecoderStream: byte[] ba>;
virtualinvoke v.<java.io.PushbackInputStream: void unread(byte[])>(v);
return v;
label:
return v;
catch java.lang.NumberFormatException from label to label with label;
}
public int read(byte[], int, int) throws java.io.IOException
{
byte[] v;
org.jvnet.mimepull.QPDecoderStream v;
int v, v, v, v, v, v, v;
v := @this: org.jvnet.mimepull.QPDecoderStream;
v := @parameter: byte[];
v := @parameter: int;
v := @parameter: int;
v = 0;
label:
if v >= v goto label;
v = virtualinvoke v.<org.jvnet.mimepull.QPDecoderStream: int read()>();
v = (int) -1;
if v != v goto label;
if v != 0 goto label;
v = (int) -1;
v = v;
goto label;
label:
v = v + v;
v[v] = v;
v = v + 1;
goto label;
label:
return v;
}
public long skip(long) throws java.io.IOException
{
byte v;
int v;
long v, v, v;
org.jvnet.mimepull.QPDecoderStream v;
v := @this: org.jvnet.mimepull.QPDecoderStream;
v := @parameter: long;
v = 0L;
label:
v = v;
v = v - 1L;
v = v cmp 0L;
if v <= 0 goto label;
v = virtualinvoke v.<org.jvnet.mimepull.QPDecoderStream: int read()>();
if v < 0 goto label;
v = v + 1L;
goto label;
label:
return v;
}
public boolean markSupported()
{
org.jvnet.mimepull.QPDecoderStream v;
v := @this: org.jvnet.mimepull.QPDecoderStream;
return 0;
}
public int available() throws java.io.IOException
{
int v;
org.jvnet.mimepull.QPDecoderStream v;
java.io.InputStream v;
v := @this: org.jvnet.mimepull.QPDecoderStream;
v = v.<org.jvnet.mimepull.QPDecoderStream: java.io.InputStream in>;
v = virtualinvoke v.<java.io.InputStream: int available()>();
return v;
}
}