public class java.util.zip.Deflater
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: java.util.zip.Deflater
  super_class: java.lang.Object
{
  private final java.util.zip.Deflater$DeflaterZStreamRef zsRef;
    descriptor: Ljava/util/zip/Deflater$DeflaterZStreamRef;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.nio.ByteBuffer input;
    descriptor: Ljava/nio/ByteBuffer;
    flags: (0x0002) ACC_PRIVATE

  private byte[] inputArray;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private int inputPos;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int inputLim;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int level;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int strategy;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private boolean setParams;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean finish;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean finished;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private long bytesRead;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private long bytesWritten;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  public static final int DEFLATED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  public static final int NO_COMPRESSION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int BEST_SPEED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int BEST_COMPRESSION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  public static final int DEFAULT_COMPRESSION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  public static final int FILTERED;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int HUFFMAN_ONLY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int DEFAULT_STRATEGY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int NO_FLUSH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int SYNC_FLUSH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int FULL_FLUSH;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int FINISH;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 104
            ldc Ljava/util/zip/Deflater;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic java.util.zip.Deflater.$assertionsDisabled:Z
         3: .line 193
            invokestatic java.util.zip.ZipUtils.loadLibrary:()V
         4: .line 194
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(int, boolean);
    descriptor: (IZ)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.util.zip.Deflater this
        start local 1 // int level
        start local 2 // boolean nowrap
         0: .line 204
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 107
            aload 0 /* this */
            getstatic java.util.zip.ZipUtils.defaultBuf:Ljava/nio/ByteBuffer;
            putfield java.util.zip.Deflater.input:Ljava/nio/ByteBuffer;
         2: .line 205
            aload 0 /* this */
            iload 1 /* level */
            putfield java.util.zip.Deflater.level:I
         3: .line 206
            aload 0 /* this */
            iconst_0
            putfield java.util.zip.Deflater.strategy:I
         4: .line 207
            aload 0 /* this */
            aload 0 /* this */
         5: .line 208
            iload 1 /* level */
            iconst_0
            iload 2 /* nowrap */
            invokestatic java.util.zip.Deflater.init:(IIZ)J
         6: .line 207
            invokestatic java.util.zip.Deflater$DeflaterZStreamRef.get:(Ljava/util/zip/Deflater;J)Ljava/util/zip/Deflater$DeflaterZStreamRef;
            putfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
         7: .line 209
            return
        end local 2 // boolean nowrap
        end local 1 // int level
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljava/util/zip/Deflater;
            0    8     1   level  I
            0    8     2  nowrap  Z
    MethodParameters:
        Name  Flags
      level   
      nowrap  

  public void <init>(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.zip.Deflater this
        start local 1 // int level
         0: .line 217
            aload 0 /* this */
            iload 1 /* level */
            iconst_0
            invokespecial java.util.zip.Deflater.<init>:(IZ)V
         1: .line 218
            return
        end local 1 // int level
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/util/zip/Deflater;
            0    2     1  level  I
    MethodParameters:
       Name  Flags
      level  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.zip.Deflater this
         0: .line 225
            aload 0 /* this */
            iconst_m1
            iconst_0
            invokespecial java.util.zip.Deflater.<init>:(IZ)V
         1: .line 226
            return
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/util/zip/Deflater;

  public void setInput(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // java.util.zip.Deflater this
        start local 1 // byte[] input
        start local 2 // int off
        start local 3 // int len
         0: .line 241
            iload 2 /* off */
            iflt 1
            iload 3 /* len */
            iflt 1
            iload 2 /* off */
            aload 1 /* input */
            arraylength
            iload 3 /* len */
            isub
            if_icmple 2
         1: .line 242
      StackMap locals:
      StackMap stack:
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 244
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 4
            monitorenter
         3: .line 245
            aload 0 /* this */
            aconst_null
            putfield java.util.zip.Deflater.input:Ljava/nio/ByteBuffer;
         4: .line 246
            aload 0 /* this */
            aload 1 /* input */
            putfield java.util.zip.Deflater.inputArray:[B
         5: .line 247
            aload 0 /* this */
            iload 2 /* off */
            putfield java.util.zip.Deflater.inputPos:I
         6: .line 248
            aload 0 /* this */
            iload 2 /* off */
            iload 3 /* len */
            iadd
            putfield java.util.zip.Deflater.inputLim:I
         7: .line 244
            aload 4
            monitorexit
         8: goto 11
      StackMap locals: java.util.zip.Deflater byte[] int int java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack: java.lang.Throwable
         9: aload 4
            monitorexit
        10: athrow
        11: .line 250
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] input
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Ljava/util/zip/Deflater;
            0   12     1  input  [B
            0   12     2    off  I
            0   12     3    len  I
      Exception table:
        from    to  target  type
           3     8       9  any
           9    10       9  any
    MethodParameters:
       Name  Flags
      input  
      off    
      len    

  public void setInput(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.zip.Deflater this
        start local 1 // byte[] input
         0: .line 263
            aload 0 /* this */
            aload 1 /* input */
            iconst_0
            aload 1 /* input */
            arraylength
            invokevirtual java.util.zip.Deflater.setInput:([BII)V
         1: .line 264
            return
        end local 1 // byte[] input
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/util/zip/Deflater;
            0    2     1  input  [B
    MethodParameters:
       Name  Flags
      input  

  public void setInput(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.zip.Deflater this
        start local 1 // java.nio.ByteBuffer input
         0: .line 289
            aload 1 /* input */
            invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 290
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 2
            monitorenter
         2: .line 291
            aload 0 /* this */
            aload 1 /* input */
            putfield java.util.zip.Deflater.input:Ljava/nio/ByteBuffer;
         3: .line 292
            aload 0 /* this */
            aconst_null
            putfield java.util.zip.Deflater.inputArray:[B
         4: .line 290
            aload 2
            monitorexit
         5: goto 8
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 294
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.ByteBuffer input
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Ljava/util/zip/Deflater;
            0    9     1  input  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           2     5       6  any
           6     7       6  any
    MethodParameters:
       Name  Flags
      input  

  public void setDictionary(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=4
        start local 0 // java.util.zip.Deflater this
        start local 1 // byte[] dictionary
        start local 2 // int off
        start local 3 // int len
         0: .line 309
            iload 2 /* off */
            iflt 1
            iload 3 /* len */
            iflt 1
            iload 2 /* off */
            aload 1 /* dictionary */
            arraylength
            iload 3 /* len */
            isub
            if_icmple 2
         1: .line 310
      StackMap locals:
      StackMap stack:
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 4
            monitorenter
         3: .line 313
            aload 0 /* this */
            invokevirtual java.util.zip.Deflater.ensureOpen:()V
         4: .line 314
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
            aload 1 /* dictionary */
            iload 2 /* off */
            iload 3 /* len */
            invokestatic java.util.zip.Deflater.setDictionary:(J[BII)V
         5: .line 312
            aload 4
            monitorexit
         6: goto 9
      StackMap locals: java.util.zip.Deflater byte[] int int java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack: java.lang.Throwable
         7: aload 4
            monitorexit
         8: athrow
         9: .line 316
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] dictionary
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Ljava/util/zip/Deflater;
            0   10     1  dictionary  [B
            0   10     2         off  I
            0   10     3         len  I
      Exception table:
        from    to  target  type
           3     6       7  any
           7     8       7  any
    MethodParameters:
            Name  Flags
      dictionary  
      off         
      len         

  public void setDictionary(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.util.zip.Deflater this
        start local 1 // byte[] dictionary
         0: .line 329
            aload 0 /* this */
            aload 1 /* dictionary */
            iconst_0
            aload 1 /* dictionary */
            arraylength
            invokevirtual java.util.zip.Deflater.setDictionary:([BII)V
         1: .line 330
            return
        end local 1 // byte[] dictionary
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljava/util/zip/Deflater;
            0    2     1  dictionary  [B
    MethodParameters:
            Name  Flags
      dictionary  

  public void setDictionary(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // java.util.zip.Deflater this
        start local 1 // java.nio.ByteBuffer dictionary
         0: .line 347
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 2
            monitorenter
         1: .line 348
            aload 1 /* dictionary */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 3 /* position */
        start local 3 // int position
         2: .line 349
            aload 1 /* dictionary */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iload 3 /* position */
            isub
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            istore 4 /* remaining */
        start local 4 // int remaining
         3: .line 350
            aload 0 /* this */
            invokevirtual java.util.zip.Deflater.ensureOpen:()V
         4: .line 351
            aload 1 /* dictionary */
            invokevirtual java.nio.ByteBuffer.isDirect:()Z
            ifeq 13
         5: .line 352
            aload 1 /* dictionary */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            lstore 5 /* address */
        start local 5 // long address
         6: .line 354
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
            lload 5 /* address */
            iload 3 /* position */
            i2l
            ladd
            iload 4 /* remaining */
            invokestatic java.util.zip.Deflater.setDictionaryBuffer:(JJI)V
         7: .line 355
            goto 11
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer java.util.zip.Deflater$DeflaterZStreamRef int int long
      StackMap stack: java.lang.Throwable
         8: astore 7
         9: .line 356
            aload 1 /* dictionary */
            invokestatic java.lang.ref.Reference.reachabilityFence:(Ljava/lang/Object;)V
        10: .line 357
            aload 7
            athrow
        11: .line 356
      StackMap locals:
      StackMap stack:
            aload 1 /* dictionary */
            invokestatic java.lang.ref.Reference.reachabilityFence:(Ljava/lang/Object;)V
        end local 5 // long address
        12: .line 358
            goto 16
        13: .line 359
      StackMap locals:
      StackMap stack:
            aload 1 /* dictionary */
            invokestatic java.util.zip.ZipUtils.getBufferArray:(Ljava/nio/ByteBuffer;)[B
            astore 5 /* array */
        start local 5 // byte[] array
        14: .line 360
            aload 1 /* dictionary */
            invokestatic java.util.zip.ZipUtils.getBufferOffset:(Ljava/nio/ByteBuffer;)I
            istore 6 /* offset */
        start local 6 // int offset
        15: .line 361
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
            aload 5 /* array */
            iload 6 /* offset */
            iload 3 /* position */
            iadd
            iload 4 /* remaining */
            invokestatic java.util.zip.Deflater.setDictionary:(J[BII)V
        end local 6 // int offset
        end local 5 // byte[] array
        16: .line 363
      StackMap locals:
      StackMap stack:
            aload 1 /* dictionary */
            iload 3 /* position */
            iload 4 /* remaining */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        end local 4 // int remaining
        end local 3 // int position
        17: .line 347
            aload 2
            monitorexit
        18: goto 21
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack: java.lang.Throwable
        19: aload 2
            monitorexit
        20: athrow
        21: .line 365
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.nio.ByteBuffer dictionary
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   22     0        this  Ljava/util/zip/Deflater;
            0   22     1  dictionary  Ljava/nio/ByteBuffer;
            2   17     3    position  I
            3   17     4   remaining  I
            6   12     5     address  J
           14   16     5       array  [B
           15   16     6      offset  I
      Exception table:
        from    to  target  type
           6     8       8  any
           1    18      19  any
          19    20      19  any
    MethodParameters:
            Name  Flags
      dictionary  

  public void setStrategy(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.util.zip.Deflater this
        start local 1 // int strategy
         0: .line 380
            iload 1 /* strategy */
            tableswitch { // 0 - 2
                    0: 1
                    1: 1
                    2: 1
              default: 2
          }
         1: .line 384
      StackMap locals:
      StackMap stack:
            goto 3
         2: .line 386
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         3: .line 388
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 2
            monitorenter
         4: .line 389
            aload 0 /* this */
            getfield java.util.zip.Deflater.strategy:I
            iload 1 /* strategy */
            if_icmpeq 7
         5: .line 390
            aload 0 /* this */
            iload 1 /* strategy */
            putfield java.util.zip.Deflater.strategy:I
         6: .line 391
            aload 0 /* this */
            iconst_1
            putfield java.util.zip.Deflater.setParams:Z
         7: .line 388
      StackMap locals: java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack:
            aload 2
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 394
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int strategy
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Ljava/util/zip/Deflater;
            0   12     1  strategy  I
      Exception table:
        from    to  target  type
           4     8       9  any
           9    10       9  any
    MethodParameters:
          Name  Flags
      strategy  

  public void setLevel(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.zip.Deflater this
        start local 1 // int level
         0: .line 408
            iload 1 /* level */
            iflt 1
            iload 1 /* level */
            bipush 9
            if_icmple 3
      StackMap locals:
      StackMap stack:
         1: iload 1 /* level */
            iconst_m1
            if_icmpeq 3
         2: .line 409
            new java.lang.IllegalArgumentException
            dup
            ldc "invalid compression level"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 411
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 2
            monitorenter
         4: .line 412
            aload 0 /* this */
            getfield java.util.zip.Deflater.level:I
            iload 1 /* level */
            if_icmpeq 7
         5: .line 413
            aload 0 /* this */
            iload 1 /* level */
            putfield java.util.zip.Deflater.level:I
         6: .line 414
            aload 0 /* this */
            iconst_1
            putfield java.util.zip.Deflater.setParams:Z
         7: .line 411
      StackMap locals: java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack:
            aload 2
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 417
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int level
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Ljava/util/zip/Deflater;
            0   12     1  level  I
      Exception table:
        from    to  target  type
           4     8       9  any
           9    10       9  any
    MethodParameters:
       Name  Flags
      level  

  public boolean needsInput();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.util.zip.Deflater this
         0: .line 428
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 1
            monitorenter
         1: .line 429
            aload 0 /* this */
            getfield java.util.zip.Deflater.input:Ljava/nio/ByteBuffer;
            astore 2 /* input */
        start local 2 // java.nio.ByteBuffer input
         2: .line 430
            aload 2 /* input */
            ifnonnull 4
            aload 0 /* this */
            getfield java.util.zip.Deflater.inputLim:I
            aload 0 /* this */
            getfield java.util.zip.Deflater.inputPos:I
            if_icmpne 3
            iconst_1
            goto 6
      StackMap locals: java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer
      StackMap stack:
         3: iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         4: aload 2 /* input */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: aload 1
            monitorexit
         7: ireturn
        end local 2 // java.nio.ByteBuffer input
         8: .line 428
      StackMap locals: java.util.zip.Deflater java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         9: athrow
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Ljava/util/zip/Deflater;
            2    8     2  input  Ljava/nio/ByteBuffer;
      Exception table:
        from    to  target  type
           1     7       8  any
           8     9       8  any

  public void finish();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.zip.Deflater this
         0: .line 439
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 1
            monitorenter
         1: .line 440
            aload 0 /* this */
            iconst_1
            putfield java.util.zip.Deflater.finish:Z
         2: .line 439
            aload 1
            monitorexit
         3: goto 6
      StackMap locals: java.util.zip.Deflater java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack: java.lang.Throwable
         4: aload 1
            monitorexit
         5: athrow
         6: .line 442
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/util/zip/Deflater;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public boolean finished();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.zip.Deflater this
         0: .line 451
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 1
            monitorenter
         1: .line 452
            aload 0 /* this */
            getfield java.util.zip.Deflater.finished:Z
            aload 1
            monitorexit
         2: ireturn
         3: .line 451
      StackMap locals: java.util.zip.Deflater java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         4: athrow
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/util/zip/Deflater;
      Exception table:
        from    to  target  type
           1     2       3  any
           3     4       3  any

  public int deflate(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.util.zip.Deflater this
        start local 1 // byte[] output
        start local 2 // int off
        start local 3 // int len
         0: .line 474
            aload 0 /* this */
            aload 1 /* output */
            iload 2 /* off */
            iload 3 /* len */
            iconst_0
            invokevirtual java.util.zip.Deflater.deflate:([BIII)I
            ireturn
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] output
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/zip/Deflater;
            0    1     1  output  [B
            0    1     2     off  I
            0    1     3     len  I
    MethodParameters:
        Name  Flags
      output  
      off     
      len     

  public int deflate(byte[]);
    descriptor: ([B)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.util.zip.Deflater this
        start local 1 // byte[] output
         0: .line 493
            aload 0 /* this */
            aload 1 /* output */
            iconst_0
            aload 1 /* output */
            arraylength
            iconst_0
            invokevirtual java.util.zip.Deflater.deflate:([BIII)I
            ireturn
        end local 1 // byte[] output
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/zip/Deflater;
            0    1     1  output  [B
    MethodParameters:
        Name  Flags
      output  

  public int deflate(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.zip.Deflater this
        start local 1 // java.nio.ByteBuffer output
         0: .line 513
            aload 0 /* this */
            aload 1 /* output */
            iconst_0
            invokevirtual java.util.zip.Deflater.deflate:(Ljava/nio/ByteBuffer;I)I
            ireturn
        end local 1 // java.nio.ByteBuffer output
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/util/zip/Deflater;
            0    1     1  output  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      output  

  public int deflate(byte[], int, int, int);
    descriptor: ([BIII)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=15, args_size=5
        start local 0 // java.util.zip.Deflater this
        start local 1 // byte[] output
        start local 2 // int off
        start local 3 // int len
        start local 4 // int flush
         0: .line 568
            iload 2 /* off */
            iflt 1
            iload 3 /* len */
            iflt 1
            iload 2 /* off */
            aload 1 /* output */
            arraylength
            iload 3 /* len */
            isub
            if_icmple 2
         1: .line 569
      StackMap locals:
      StackMap stack:
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
            athrow
         2: .line 571
      StackMap locals:
      StackMap stack:
            iload 4 /* flush */
            ifeq 4
            iload 4 /* flush */
            iconst_2
            if_icmpeq 4
            iload 4 /* flush */
            iconst_3
            if_icmpeq 4
         3: .line 572
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         4: .line 574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 5
            monitorenter
         5: .line 575
            aload 0 /* this */
            invokevirtual java.util.zip.Deflater.ensureOpen:()V
         6: .line 577
            aload 0 /* this */
            getfield java.util.zip.Deflater.input:Ljava/nio/ByteBuffer;
            astore 6 /* input */
        start local 6 // java.nio.ByteBuffer input
         7: .line 578
            aload 0 /* this */
            getfield java.util.zip.Deflater.finish:Z
            ifeq 9
         8: .line 580
            iconst_4
            istore 4 /* flush */
         9: .line 583
      StackMap locals: java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.Deflater.setParams:Z
            ifeq 12
        10: .line 587
            iconst_1
            aload 0 /* this */
            getfield java.util.zip.Deflater.strategy:I
            iconst_1
            ishl
            ior
            aload 0 /* this */
            getfield java.util.zip.Deflater.level:I
            iconst_3
            ishl
            ior
            istore 7 /* params */
        start local 7 // int params
        11: .line 588
            goto 13
        end local 7 // int params
        12: .line 589
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* params */
        start local 7 // int params
        13: .line 593
      StackMap locals: int
      StackMap stack:
            aload 6 /* input */
            ifnonnull 21
        14: .line 594
            aload 0 /* this */
            getfield java.util.zip.Deflater.inputPos:I
            istore 8 /* inputPos */
        start local 8 // int inputPos
        15: .line 595
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
        16: .line 596
            aload 0 /* this */
            getfield java.util.zip.Deflater.inputArray:[B
            iload 8 /* inputPos */
            aload 0 /* this */
            getfield java.util.zip.Deflater.inputLim:I
            iload 8 /* inputPos */
            isub
        17: .line 597
            aload 1 /* output */
            iload 2 /* off */
            iload 3 /* len */
        18: .line 598
            iload 4 /* flush */
            iload 7 /* params */
        19: .line 595
            invokevirtual java.util.zip.Deflater.deflateBytesBytes:(J[BII[BIIII)J
            lstore 9 /* result */
        start local 9 // long result
        20: .line 599
            goto 43
        end local 9 // long result
        end local 8 // int inputPos
        21: .line 600
      StackMap locals:
      StackMap stack:
            aload 6 /* input */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 8 /* inputPos */
        start local 8 // int inputPos
        22: .line 601
            aload 6 /* input */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iload 8 /* inputPos */
            isub
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            istore 11 /* inputRem */
        start local 11 // int inputRem
        23: .line 602
            aload 6 /* input */
            invokevirtual java.nio.ByteBuffer.isDirect:()Z
            ifeq 36
        24: .line 604
            aload 6 /* input */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            lstore 12 /* inputAddress */
        start local 12 // long inputAddress
        25: .line 605
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
        26: .line 606
            lload 12 /* inputAddress */
            iload 8 /* inputPos */
            i2l
            ladd
            iload 11 /* inputRem */
        27: .line 607
            aload 1 /* output */
            iload 2 /* off */
            iload 3 /* len */
        28: .line 608
            iload 4 /* flush */
            iload 7 /* params */
        29: .line 605
            invokevirtual java.util.zip.Deflater.deflateBufferBytes:(JJI[BIIII)J
            lstore 9 /* result */
        end local 12 // long inputAddress
        start local 9 // long result
        30: .line 609
            goto 34
        end local 9 // long result
      StackMap locals: java.util.zip.Deflater byte[] int int int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int top top int
      StackMap stack: java.lang.Throwable
        31: astore 14
        32: .line 610
            aload 6 /* input */
            invokestatic java.lang.ref.Reference.reachabilityFence:(Ljava/lang/Object;)V
        33: .line 611
            aload 14
            athrow
        start local 9 // long result
        34: .line 610
      StackMap locals: java.util.zip.Deflater byte[] int int int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int long int
      StackMap stack:
            aload 6 /* input */
            invokestatic java.lang.ref.Reference.reachabilityFence:(Ljava/lang/Object;)V
        35: .line 612
            goto 43
        end local 9 // long result
        36: .line 613
      StackMap locals: java.util.zip.Deflater byte[] int int int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int top top int
      StackMap stack:
            aload 6 /* input */
            invokestatic java.util.zip.ZipUtils.getBufferArray:(Ljava/nio/ByteBuffer;)[B
            astore 12 /* inputArray */
        start local 12 // byte[] inputArray
        37: .line 614
            aload 6 /* input */
            invokestatic java.util.zip.ZipUtils.getBufferOffset:(Ljava/nio/ByteBuffer;)I
            istore 13 /* inputOffset */
        start local 13 // int inputOffset
        38: .line 615
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
        39: .line 616
            aload 12 /* inputArray */
            iload 13 /* inputOffset */
            iload 8 /* inputPos */
            iadd
            iload 11 /* inputRem */
        40: .line 617
            aload 1 /* output */
            iload 2 /* off */
            iload 3 /* len */
        41: .line 618
            iload 4 /* flush */
            iload 7 /* params */
        42: .line 615
            invokevirtual java.util.zip.Deflater.deflateBytesBytes:(J[BII[BIIII)J
            lstore 9 /* result */
        end local 13 // int inputOffset
        end local 12 // byte[] inputArray
        end local 11 // int inputRem
        start local 9 // long result
        43: .line 621
      StackMap locals: java.util.zip.Deflater byte[] int int int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int long
      StackMap stack:
            lload 9 /* result */
            ldc 2147483647
            land
            l2i
            istore 11 /* read */
        start local 11 // int read
        44: .line 622
            lload 9 /* result */
            bipush 31
            lushr
            ldc 2147483647
            land
            l2i
            istore 12 /* written */
        start local 12 // int written
        45: .line 623
            lload 9 /* result */
            bipush 62
            lushr
            lconst_1
            land
            lconst_0
            lcmp
            ifeq 47
        46: .line 624
            aload 0 /* this */
            iconst_1
            putfield java.util.zip.Deflater.finished:Z
        47: .line 626
      StackMap locals: int int
      StackMap stack:
            iload 7 /* params */
            ifeq 49
            lload 9 /* result */
            bipush 63
            lushr
            lconst_1
            land
            lconst_0
            lcmp
            ifne 49
        48: .line 627
            aload 0 /* this */
            iconst_0
            putfield java.util.zip.Deflater.setParams:Z
        49: .line 629
      StackMap locals:
      StackMap stack:
            aload 6 /* input */
            ifnull 52
        50: .line 630
            aload 6 /* input */
            iload 8 /* inputPos */
            iload 11 /* read */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        51: .line 631
            goto 53
        52: .line 632
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 8 /* inputPos */
            iload 11 /* read */
            iadd
            putfield java.util.zip.Deflater.inputPos:I
        53: .line 634
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.util.zip.Deflater.bytesWritten:J
            iload 12 /* written */
            i2l
            ladd
            putfield java.util.zip.Deflater.bytesWritten:J
        54: .line 635
            aload 0 /* this */
            dup
            getfield java.util.zip.Deflater.bytesRead:J
            iload 11 /* read */
            i2l
            ladd
            putfield java.util.zip.Deflater.bytesRead:J
        55: .line 636
            iload 12 /* written */
            aload 5
            monitorexit
        56: ireturn
        end local 12 // int written
        end local 11 // int read
        end local 9 // long result
        end local 8 // int inputPos
        end local 7 // int params
        end local 6 // java.nio.ByteBuffer input
        57: .line 574
      StackMap locals: java.util.zip.Deflater byte[] int int int java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack: java.lang.Throwable
            aload 5
            monitorexit
        58: athrow
        end local 4 // int flush
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] output
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   59     0          this  Ljava/util/zip/Deflater;
            0   59     1        output  [B
            0   59     2           off  I
            0   59     3           len  I
            0   59     4         flush  I
            7   57     6         input  Ljava/nio/ByteBuffer;
           11   12     7        params  I
           13   57     7        params  I
           15   21     8      inputPos  I
           22   57     8      inputPos  I
           20   21     9        result  J
           30   31     9        result  J
           34   36     9        result  J
           43   57     9        result  J
           23   43    11      inputRem  I
           25   30    12  inputAddress  J
           37   43    12    inputArray  [B
           38   43    13   inputOffset  I
           44   57    11          read  I
           45   57    12       written  I
      Exception table:
        from    to  target  type
          24    31      31  any
           5    56      57  any
          57    58      57  any
    MethodParameters:
        Name  Flags
      output  
      off     
      len     
      flush   

  public int deflate(java.nio.ByteBuffer, int);
    descriptor: (Ljava/nio/ByteBuffer;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=11, locals=18, args_size=3
        start local 0 // java.util.zip.Deflater this
        start local 1 // java.nio.ByteBuffer output
        start local 2 // int flush
         0: .line 694
            aload 1 /* output */
            invokevirtual java.nio.ByteBuffer.isReadOnly:()Z
            ifeq 2
         1: .line 695
            new java.nio.ReadOnlyBufferException
            dup
            invokespecial java.nio.ReadOnlyBufferException.<init>:()V
            athrow
         2: .line 697
      StackMap locals:
      StackMap stack:
            iload 2 /* flush */
            ifeq 4
            iload 2 /* flush */
            iconst_2
            if_icmpeq 4
            iload 2 /* flush */
            iconst_3
            if_icmpeq 4
         3: .line 698
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         4: .line 700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 3
            monitorenter
         5: .line 701
            aload 0 /* this */
            invokevirtual java.util.zip.Deflater.ensureOpen:()V
         6: .line 703
            aload 0 /* this */
            getfield java.util.zip.Deflater.input:Ljava/nio/ByteBuffer;
            astore 4 /* input */
        start local 4 // java.nio.ByteBuffer input
         7: .line 704
            aload 0 /* this */
            getfield java.util.zip.Deflater.finish:Z
            ifeq 9
         8: .line 706
            iconst_4
            istore 2 /* flush */
         9: .line 709
      StackMap locals: java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.Deflater.setParams:Z
            ifeq 12
        10: .line 713
            iconst_1
            aload 0 /* this */
            getfield java.util.zip.Deflater.strategy:I
            iconst_1
            ishl
            ior
            aload 0 /* this */
            getfield java.util.zip.Deflater.level:I
            iconst_3
            ishl
            ior
            istore 5 /* params */
        start local 5 // int params
        11: .line 714
            goto 13
        end local 5 // int params
        12: .line 715
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* params */
        start local 5 // int params
        13: .line 717
      StackMap locals: int
      StackMap stack:
            aload 1 /* output */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 6 /* outputPos */
        start local 6 // int outputPos
        14: .line 718
            aload 1 /* output */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iload 6 /* outputPos */
            isub
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            istore 7 /* outputRem */
        start local 7 // int outputRem
        15: .line 721
            aload 4 /* input */
            ifnonnull 38
        16: .line 722
            aload 0 /* this */
            getfield java.util.zip.Deflater.inputPos:I
            istore 8 /* inputPos */
        start local 8 // int inputPos
        17: .line 723
            aload 1 /* output */
            invokevirtual java.nio.ByteBuffer.isDirect:()Z
            ifeq 30
        18: .line 724
            aload 1 /* output */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            lstore 11 /* outputAddress */
        start local 11 // long outputAddress
        19: .line 726
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
        20: .line 727
            aload 0 /* this */
            getfield java.util.zip.Deflater.inputArray:[B
            iload 8 /* inputPos */
            aload 0 /* this */
            getfield java.util.zip.Deflater.inputLim:I
            iload 8 /* inputPos */
            isub
        21: .line 728
            lload 11 /* outputAddress */
            iload 6 /* outputPos */
            i2l
            ladd
            iload 7 /* outputRem */
        22: .line 729
            iload 2 /* flush */
            iload 5 /* params */
        23: .line 726
            invokevirtual java.util.zip.Deflater.deflateBytesBuffer:(J[BIIJIII)J
            lstore 9 /* result */
        start local 9 // long result
        24: .line 730
            goto 28
        end local 9 // long result
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int int int top top long
      StackMap stack: java.lang.Throwable
        25: astore 13
        26: .line 731
            aload 1 /* output */
            invokestatic java.lang.ref.Reference.reachabilityFence:(Ljava/lang/Object;)V
        27: .line 732
            aload 13
            athrow
        start local 9 // long result
        28: .line 731
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int int int long long
      StackMap stack:
            aload 1 /* output */
            invokestatic java.lang.ref.Reference.reachabilityFence:(Ljava/lang/Object;)V
        end local 11 // long outputAddress
        29: .line 733
            goto 90
        end local 9 // long result
        30: .line 734
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            invokestatic java.util.zip.ZipUtils.getBufferArray:(Ljava/nio/ByteBuffer;)[B
            astore 11 /* outputArray */
        start local 11 // byte[] outputArray
        31: .line 735
            aload 1 /* output */
            invokestatic java.util.zip.ZipUtils.getBufferOffset:(Ljava/nio/ByteBuffer;)I
            istore 12 /* outputOffset */
        start local 12 // int outputOffset
        32: .line 736
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
        33: .line 737
            aload 0 /* this */
            getfield java.util.zip.Deflater.inputArray:[B
            iload 8 /* inputPos */
            aload 0 /* this */
            getfield java.util.zip.Deflater.inputLim:I
            iload 8 /* inputPos */
            isub
        34: .line 738
            aload 11 /* outputArray */
            iload 12 /* outputOffset */
            iload 6 /* outputPos */
            iadd
            iload 7 /* outputRem */
        35: .line 739
            iload 2 /* flush */
            iload 5 /* params */
        36: .line 736
            invokevirtual java.util.zip.Deflater.deflateBytesBytes:(J[BII[BIIII)J
            lstore 9 /* result */
        end local 12 // int outputOffset
        end local 11 // byte[] outputArray
        start local 9 // long result
        37: .line 741
            goto 90
        end local 9 // long result
        end local 8 // int inputPos
        38: .line 742
      StackMap locals:
      StackMap stack:
            aload 4 /* input */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 8 /* inputPos */
        start local 8 // int inputPos
        39: .line 743
            aload 4 /* input */
            invokevirtual java.nio.ByteBuffer.limit:()I
            iload 8 /* inputPos */
            isub
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            istore 11 /* inputRem */
        start local 11 // int inputRem
        40: .line 744
            aload 4 /* input */
            invokevirtual java.nio.ByteBuffer.isDirect:()Z
            ifeq 68
        41: .line 745
            aload 4 /* input */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            lstore 12 /* inputAddress */
        start local 12 // long inputAddress
        42: .line 747
            aload 1 /* output */
            invokevirtual java.nio.ByteBuffer.isDirect:()Z
            ifeq 55
        43: .line 748
            iload 6 /* outputPos */
            i2l
            aload 1 /* output */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            ladd
            lstore 14 /* outputAddress */
        start local 14 // long outputAddress
        44: .line 750
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
        45: .line 751
            lload 12 /* inputAddress */
            iload 8 /* inputPos */
            i2l
            ladd
            iload 11 /* inputRem */
        46: .line 752
            lload 14 /* outputAddress */
            iload 7 /* outputRem */
        47: .line 753
            iload 2 /* flush */
            iload 5 /* params */
        48: .line 750
            invokevirtual java.util.zip.Deflater.deflateBufferBuffer:(JJIJIII)J
            lstore 9 /* result */
        start local 9 // long result
        49: .line 754
            goto 53
        end local 9 // long result
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int int int top top int long long
      StackMap stack: java.lang.Throwable
        50: astore 16
        51: .line 755
            aload 1 /* output */
            invokestatic java.lang.ref.Reference.reachabilityFence:(Ljava/lang/Object;)V
        52: .line 756
            aload 16
            athrow
        start local 9 // long result
        53: .line 755
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int int int long int long long
      StackMap stack:
            aload 1 /* output */
            invokestatic java.lang.ref.Reference.reachabilityFence:(Ljava/lang/Object;)V
        end local 14 // long outputAddress
        54: .line 757
            goto 66
        end local 9 // long result
        55: .line 758
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int int int top top int long
      StackMap stack:
            aload 1 /* output */
            invokestatic java.util.zip.ZipUtils.getBufferArray:(Ljava/nio/ByteBuffer;)[B
            astore 14 /* outputArray */
        start local 14 // byte[] outputArray
        56: .line 759
            aload 1 /* output */
            invokestatic java.util.zip.ZipUtils.getBufferOffset:(Ljava/nio/ByteBuffer;)I
            istore 15 /* outputOffset */
        start local 15 // int outputOffset
        57: .line 760
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
        58: .line 761
            lload 12 /* inputAddress */
            iload 8 /* inputPos */
            i2l
            ladd
            iload 11 /* inputRem */
        59: .line 762
            aload 14 /* outputArray */
            iload 15 /* outputOffset */
            iload 6 /* outputPos */
            iadd
            iload 7 /* outputRem */
        60: .line 763
            iload 2 /* flush */
            iload 5 /* params */
        61: .line 760
            invokevirtual java.util.zip.Deflater.deflateBufferBytes:(JJI[BIIII)J
            lstore 9 /* result */
        end local 15 // int outputOffset
        end local 14 // byte[] outputArray
        start local 9 // long result
        62: .line 765
            goto 66
        end local 9 // long result
      StackMap locals:
      StackMap stack: java.lang.Throwable
        63: astore 17
        64: .line 766
            aload 4 /* input */
            invokestatic java.lang.ref.Reference.reachabilityFence:(Ljava/lang/Object;)V
        65: .line 767
            aload 17
            athrow
        start local 9 // long result
        66: .line 766
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int int int long int long
      StackMap stack:
            aload 4 /* input */
            invokestatic java.lang.ref.Reference.reachabilityFence:(Ljava/lang/Object;)V
        end local 12 // long inputAddress
        67: .line 768
            goto 90
        end local 9 // long result
        68: .line 769
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int int int top top int
      StackMap stack:
            aload 4 /* input */
            invokestatic java.util.zip.ZipUtils.getBufferArray:(Ljava/nio/ByteBuffer;)[B
            astore 12 /* inputArray */
        start local 12 // byte[] inputArray
        69: .line 770
            aload 4 /* input */
            invokestatic java.util.zip.ZipUtils.getBufferOffset:(Ljava/nio/ByteBuffer;)I
            istore 13 /* inputOffset */
        start local 13 // int inputOffset
        70: .line 771
            aload 1 /* output */
            invokevirtual java.nio.ByteBuffer.isDirect:()Z
            ifeq 83
        71: .line 772
            aload 1 /* output */
            checkcast sun.nio.ch.DirectBuffer
            invokeinterface sun.nio.ch.DirectBuffer.address:()J
            lstore 14 /* outputAddress */
        start local 14 // long outputAddress
        72: .line 774
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
        73: .line 775
            aload 12 /* inputArray */
            iload 13 /* inputOffset */
            iload 8 /* inputPos */
            iadd
            iload 11 /* inputRem */
        74: .line 776
            lload 14 /* outputAddress */
            iload 6 /* outputPos */
            i2l
            ladd
            iload 7 /* outputRem */
        75: .line 777
            iload 2 /* flush */
            iload 5 /* params */
        76: .line 774
            invokevirtual java.util.zip.Deflater.deflateBytesBuffer:(J[BIIJIII)J
            lstore 9 /* result */
        start local 9 // long result
        77: .line 778
            goto 81
        end local 9 // long result
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int int int top top int byte[] int long
      StackMap stack: java.lang.Throwable
        78: astore 16
        79: .line 779
            aload 1 /* output */
            invokestatic java.lang.ref.Reference.reachabilityFence:(Ljava/lang/Object;)V
        80: .line 780
            aload 16
            athrow
        start local 9 // long result
        81: .line 779
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int int int long int byte[] int long
      StackMap stack:
            aload 1 /* output */
            invokestatic java.lang.ref.Reference.reachabilityFence:(Ljava/lang/Object;)V
        end local 14 // long outputAddress
        82: .line 781
            goto 90
        end local 9 // long result
        83: .line 782
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int int int top top int byte[] int
      StackMap stack:
            aload 1 /* output */
            invokestatic java.util.zip.ZipUtils.getBufferArray:(Ljava/nio/ByteBuffer;)[B
            astore 14 /* outputArray */
        start local 14 // byte[] outputArray
        84: .line 783
            aload 1 /* output */
            invokestatic java.util.zip.ZipUtils.getBufferOffset:(Ljava/nio/ByteBuffer;)I
            istore 15 /* outputOffset */
        start local 15 // int outputOffset
        85: .line 784
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
        86: .line 785
            aload 12 /* inputArray */
            iload 13 /* inputOffset */
            iload 8 /* inputPos */
            iadd
            iload 11 /* inputRem */
        87: .line 786
            aload 14 /* outputArray */
            iload 15 /* outputOffset */
            iload 6 /* outputPos */
            iadd
            iload 7 /* outputRem */
        88: .line 787
            iload 2 /* flush */
            iload 5 /* params */
        89: .line 784
            invokevirtual java.util.zip.Deflater.deflateBytesBytes:(J[BII[BIIII)J
            lstore 9 /* result */
        end local 15 // int outputOffset
        end local 14 // byte[] outputArray
        end local 13 // int inputOffset
        end local 12 // byte[] inputArray
        end local 11 // int inputRem
        start local 9 // long result
        90: .line 791
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer int java.util.zip.Deflater$DeflaterZStreamRef java.nio.ByteBuffer int int int int long
      StackMap stack:
            lload 9 /* result */
            ldc 2147483647
            land
            l2i
            istore 11 /* read */
        start local 11 // int read
        91: .line 792
            lload 9 /* result */
            bipush 31
            lushr
            ldc 2147483647
            land
            l2i
            istore 12 /* written */
        start local 12 // int written
        92: .line 793
            lload 9 /* result */
            bipush 62
            lushr
            lconst_1
            land
            lconst_0
            lcmp
            ifeq 94
        93: .line 794
            aload 0 /* this */
            iconst_1
            putfield java.util.zip.Deflater.finished:Z
        94: .line 796
      StackMap locals: int int
      StackMap stack:
            iload 5 /* params */
            ifeq 96
            lload 9 /* result */
            bipush 63
            lushr
            lconst_1
            land
            lconst_0
            lcmp
            ifne 96
        95: .line 797
            aload 0 /* this */
            iconst_0
            putfield java.util.zip.Deflater.setParams:Z
        96: .line 799
      StackMap locals:
      StackMap stack:
            aload 4 /* input */
            ifnull 99
        97: .line 800
            aload 4 /* input */
            iload 8 /* inputPos */
            iload 11 /* read */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
        98: .line 801
            goto 100
        99: .line 802
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 8 /* inputPos */
            iload 11 /* read */
            iadd
            putfield java.util.zip.Deflater.inputPos:I
       100: .line 804
      StackMap locals:
      StackMap stack:
            aload 1 /* output */
            iload 6 /* outputPos */
            iload 12 /* written */
            iadd
            invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/ByteBuffer;
            pop
       101: .line 805
            aload 0 /* this */
            dup
            getfield java.util.zip.Deflater.bytesWritten:J
            iload 12 /* written */
            i2l
            ladd
            putfield java.util.zip.Deflater.bytesWritten:J
       102: .line 806
            aload 0 /* this */
            dup
            getfield java.util.zip.Deflater.bytesRead:J
            iload 11 /* read */
            i2l
            ladd
            putfield java.util.zip.Deflater.bytesRead:J
       103: .line 807
            iload 12 /* written */
            aload 3
            monitorexit
       104: ireturn
        end local 12 // int written
        end local 11 // int read
        end local 9 // long result
        end local 8 // int inputPos
        end local 7 // int outputRem
        end local 6 // int outputPos
        end local 5 // int params
        end local 4 // java.nio.ByteBuffer input
       105: .line 700
      StackMap locals: java.util.zip.Deflater java.nio.ByteBuffer int java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
       106: athrow
        end local 2 // int flush
        end local 1 // java.nio.ByteBuffer output
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0  107     0           this  Ljava/util/zip/Deflater;
            0  107     1         output  Ljava/nio/ByteBuffer;
            0  107     2          flush  I
            7  105     4          input  Ljava/nio/ByteBuffer;
           11   12     5         params  I
           13  105     5         params  I
           14  105     6      outputPos  I
           15  105     7      outputRem  I
           17   38     8       inputPos  I
           39  105     8       inputPos  I
           24   25     9         result  J
           28   30     9         result  J
           37   38     9         result  J
           49   50     9         result  J
           53   55     9         result  J
           62   63     9         result  J
           66   68     9         result  J
           77   78     9         result  J
           81   83     9         result  J
           90  105     9         result  J
           19   29    11  outputAddress  J
           31   37    11    outputArray  [B
           32   37    12   outputOffset  I
           40   90    11       inputRem  I
           42   67    12   inputAddress  J
           44   54    14  outputAddress  J
           56   62    14    outputArray  [B
           57   62    15   outputOffset  I
           69   90    12     inputArray  [B
           70   90    13    inputOffset  I
           72   82    14  outputAddress  J
           84   90    14    outputArray  [B
           85   90    15   outputOffset  I
           91  105    11           read  I
           92  105    12        written  I
      Exception table:
        from    to  target  type
          19    25      25  any
          44    50      50  any
          42    63      63  any
          72    78      78  any
           5   104     105  any
         105   106     105  any
    MethodParameters:
        Name  Flags
      output  
      flush   

  public int getAdler();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.zip.Deflater this
         0: .line 816
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 1
            monitorenter
         1: .line 817
            aload 0 /* this */
            invokevirtual java.util.zip.Deflater.ensureOpen:()V
         2: .line 818
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
            invokestatic java.util.zip.Deflater.getAdler:(J)I
            aload 1
            monitorexit
         3: ireturn
         4: .line 816
      StackMap locals: java.util.zip.Deflater java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         5: athrow
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/zip/Deflater;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public int getTotalIn();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.zip.Deflater this
         0: .line 832
            aload 0 /* this */
            invokevirtual java.util.zip.Deflater.getBytesRead:()J
            l2i
            ireturn
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/zip/Deflater;

  public long getBytesRead();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.zip.Deflater this
         0: .line 842
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 1
            monitorenter
         1: .line 843
            aload 0 /* this */
            invokevirtual java.util.zip.Deflater.ensureOpen:()V
         2: .line 844
            aload 0 /* this */
            getfield java.util.zip.Deflater.bytesRead:J
            aload 1
            monitorexit
         3: lreturn
         4: .line 842
      StackMap locals: java.util.zip.Deflater java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         5: athrow
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/zip/Deflater;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public int getTotalOut();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.zip.Deflater this
         0: .line 858
            aload 0 /* this */
            invokevirtual java.util.zip.Deflater.getBytesWritten:()J
            l2i
            ireturn
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/zip/Deflater;

  public long getBytesWritten();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.zip.Deflater this
         0: .line 868
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 1
            monitorenter
         1: .line 869
            aload 0 /* this */
            invokevirtual java.util.zip.Deflater.ensureOpen:()V
         2: .line 870
            aload 0 /* this */
            getfield java.util.zip.Deflater.bytesWritten:J
            aload 1
            monitorexit
         3: lreturn
         4: .line 868
      StackMap locals: java.util.zip.Deflater java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         5: athrow
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/zip/Deflater;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  public void reset();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // java.util.zip.Deflater this
         0: .line 879
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 1
            monitorenter
         1: .line 880
            aload 0 /* this */
            invokevirtual java.util.zip.Deflater.ensureOpen:()V
         2: .line 881
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
            invokestatic java.util.zip.Deflater.reset:(J)V
         3: .line 882
            aload 0 /* this */
            iconst_0
            putfield java.util.zip.Deflater.finish:Z
         4: .line 883
            aload 0 /* this */
            iconst_0
            putfield java.util.zip.Deflater.finished:Z
         5: .line 884
            aload 0 /* this */
            getstatic java.util.zip.ZipUtils.defaultBuf:Ljava/nio/ByteBuffer;
            putfield java.util.zip.Deflater.input:Ljava/nio/ByteBuffer;
         6: .line 885
            aload 0 /* this */
            aconst_null
            putfield java.util.zip.Deflater.inputArray:[B
         7: .line 886
            aload 0 /* this */
            aload 0 /* this */
            lconst_0
            dup2_x1
            putfield java.util.zip.Deflater.bytesWritten:J
            putfield java.util.zip.Deflater.bytesRead:J
         8: .line 879
            aload 1
            monitorexit
         9: goto 12
      StackMap locals: java.util.zip.Deflater java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack: java.lang.Throwable
        10: aload 1
            monitorexit
        11: athrow
        12: .line 888
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljava/util/zip/Deflater;
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any

  public void end();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.zip.Deflater this
         0: .line 898
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            dup
            astore 1
            monitorenter
         1: .line 899
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.clean:()V
         2: .line 900
            aload 0 /* this */
            getstatic java.util.zip.ZipUtils.defaultBuf:Ljava/nio/ByteBuffer;
            putfield java.util.zip.Deflater.input:Ljava/nio/ByteBuffer;
         3: .line 898
            aload 1
            monitorexit
         4: goto 7
      StackMap locals: java.util.zip.Deflater java.util.zip.Deflater$DeflaterZStreamRef
      StackMap stack: java.lang.Throwable
         5: aload 1
            monitorexit
         6: athrow
         7: .line 902
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Ljava/util/zip/Deflater;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any

  protected void finalize();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=1, args_size=1
        start local 0 // java.util.zip.Deflater this
         0: .line 917
            return
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/zip/Deflater;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated(since = "9", forRemoval = true)

  private void ensureOpen();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.util.zip.Deflater this
         0: .line 920
            getstatic java.util.zip.Deflater.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokestatic java.lang.Thread.holdsLock:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 921
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.Deflater.zsRef:Ljava/util/zip/Deflater$DeflaterZStreamRef;
            invokevirtual java.util.zip.Deflater$DeflaterZStreamRef.address:()J
            lconst_0
            lcmp
            ifne 3
         2: .line 922
            new java.lang.NullPointerException
            dup
            ldc "Deflater has been closed"
            invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 923
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.zip.Deflater this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljava/util/zip/Deflater;

  private static native long init(int, int, boolean);
    descriptor: (IIZ)J
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
          Name  Flags
      level     
      strategy  
      nowrap    

  private static native void setDictionary(long, byte[], int, int);
    descriptor: (J[BII)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      addr  
      b     
      off   
      len   

  private static native void setDictionaryBuffer(long, long, int);
    descriptor: (JJI)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
            Name  Flags
      addr        
      bufAddress  
      len         

  private native long deflateBytesBytes(long, byte[], int, int, byte[], int, int, int, int);
    descriptor: (J[BII[BIIII)J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
             Name  Flags
      addr         
      inputArray   
      inputOff     
      inputLen     
      outputArray  
      outputOff    
      outputLen    
      flush        
      params       

  private native long deflateBytesBuffer(long, byte[], int, int, long, int, int, int);
    descriptor: (J[BIIJIII)J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
               Name  Flags
      addr           
      inputArray     
      inputOff       
      inputLen       
      outputAddress  
      outputLen      
      flush          
      params         

  private native long deflateBufferBytes(long, long, int, byte[], int, int, int, int);
    descriptor: (JJI[BIIII)J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
              Name  Flags
      addr          
      inputAddress  
      inputLen      
      outputArray   
      outputOff     
      outputLen     
      flush         
      params        

  private native long deflateBufferBuffer(long, long, int, long, int, int, int);
    descriptor: (JJIJIII)J
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    MethodParameters:
               Name  Flags
      addr           
      inputAddress   
      inputLen       
      outputAddress  
      outputLen      
      flush          
      params         

  private static native int getAdler(long);
    descriptor: (J)I
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      addr  

  private static native void reset(long);
    descriptor: (J)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      addr  

  private static native void end(long);
    descriptor: (J)V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      addr  
}
SourceFile: "Deflater.java"
NestMembers:
  java.util.zip.Deflater$DeflaterZStreamRef  java.util.zip.Deflater$DeflaterZStreamRef$FinalizableZStreamRef
InnerClasses:
  DeflaterZStreamRef = java.util.zip.Deflater$DeflaterZStreamRef of java.util.zip.Deflater