private void readHeaders(FrameReader.Handler paramHandler, int paramInt1, byte paramByte, int paramInt2)
 {
   if (paramInt2 == 0) {
     throw Http2.ioException("PROTOCOL_ERROR: TYPE_HEADERS streamId == 0", new Object[0]);
   }
   boolean bool;
   if ((paramByte & 0x1) != 0) {
     bool = true;
   } else {
     bool = false;
   }
   short s;
   if ((paramByte & 0x8) != 0) {
     s = (short)(this.source.readByte() & 0xFF);
   } else {
     s = 0;
   }
   int i = paramInt1;
   if ((paramByte & 0x20) != 0)
   {
     readPriority(paramHandler, paramInt2);
     i = paramInt1 - 5;
   }
   paramHandler.headers(false, bool, paramInt2, -1, readHeaderBlock(Http2.lengthWithoutPadding(i, paramByte, s), s, paramByte, paramInt2), HeadersMode.HTTP_20_HEADERS);
 }
 private void readData(FrameReader.Handler paramHandler, int paramInt1, byte paramByte, int paramInt2)
 {
   boolean bool;
   if ((paramByte & 0x1) != 0) {
     bool = true;
   } else {
     bool = false;
   }
   int i;
   if ((paramByte & 0x20) != 0) {
     i = 1;
   } else {
     i = 0;
   }
   if (i != 0) {
     throw Http2.ioException("PROTOCOL_ERROR: FLAG_COMPRESSED without SETTINGS_COMPRESS_DATA", new Object[0]);
   }
   short s;
   if ((paramByte & 0x8) != 0) {
     s = (short)(this.source.readByte() & 0xFF);
   } else {
     s = 0;
   }
   paramInt1 = Http2.lengthWithoutPadding(paramInt1, paramByte, s);
   paramHandler.data(bool, paramInt2, this.source, paramInt1);
   this.source.ᵋ(s);
 }
 private void readPushPromise(FrameReader.Handler paramHandler, int paramInt1, byte paramByte, int paramInt2)
 {
   if (paramInt2 == 0) {
     throw Http2.ioException("PROTOCOL_ERROR: TYPE_PUSH_PROMISE streamId == 0", new Object[0]);
   }
   short s;
   if ((paramByte & 0x8) != 0) {
     s = (short)(this.source.readByte() & 0xFF);
   } else {
     s = 0;
   }
   paramHandler.pushPromise(paramInt2, this.source.readInt() & 0x7FFFFFFF, readHeaderBlock(Http2.lengthWithoutPadding(paramInt1 - 4, paramByte, s), s, paramByte, paramInt2));
 }