public final class org.h2.compress.CompressLZF implements org.h2.compress.Compressor
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: org.h2.compress.CompressLZF
  super_class: java.lang.Object
{
  private static final int HASH_SIZE;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 16384

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

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

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

  private int[] cachedHashTable;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.compress.CompressLZF this
         0: .line 86
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.h2.compress.CompressLZF this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/compress/CompressLZF;

  public void setOptions(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.h2.compress.CompressLZF this
        start local 1 // java.lang.String options
         0: .line 118
            return
        end local 1 // java.lang.String options
        end local 0 // org.h2.compress.CompressLZF this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lorg/h2/compress/CompressLZF;
            0    1     1  options  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      options  

  private static int first(byte[], int);
    descriptor: ([BI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // byte[] in
        start local 1 // int inPos
         0: .line 125
            aload 0 /* in */
            iload 1 /* inPos */
            baload
            bipush 8
            ishl
            aload 0 /* in */
            iload 1 /* inPos */
            iconst_1
            iadd
            baload
            sipush 255
            iand
            ior
            ireturn
        end local 1 // int inPos
        end local 0 // byte[] in
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0     in  [B
            0    1     1  inPos  I
    MethodParameters:
       Name  Flags
      in     
      inPos  

  private static int first(java.nio.ByteBuffer, int);
    descriptor: (Ljava/nio/ByteBuffer;I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.nio.ByteBuffer in
        start local 1 // int inPos
         0: .line 133
            aload 0 /* in */
            iload 1 /* inPos */
            invokevirtual java.nio.ByteBuffer.get:(I)B
            bipush 8
            ishl
            aload 0 /* in */
            iload 1 /* inPos */
            iconst_1
            iadd
            invokevirtual java.nio.ByteBuffer.get:(I)B
            sipush 255
            iand
            ior
            ireturn
        end local 1 // int inPos
        end local 0 // java.nio.ByteBuffer in
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0     in  Ljava/nio/ByteBuffer;
            0    1     1  inPos  I
    MethodParameters:
       Name  Flags
      in     
      inPos  

  private static int next(int, byte[], int);
    descriptor: (I[BI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // int v
        start local 1 // byte[] in
        start local 2 // int inPos
         0: .line 140
            iload 0 /* v */
            bipush 8
            ishl
            aload 1 /* in */
            iload 2 /* inPos */
            iconst_2
            iadd
            baload
            sipush 255
            iand
            ior
            ireturn
        end local 2 // int inPos
        end local 1 // byte[] in
        end local 0 // int v
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0      v  I
            0    1     1     in  [B
            0    1     2  inPos  I
    MethodParameters:
       Name  Flags
      v      
      in     
      inPos  

  private static int next(int, java.nio.ByteBuffer, int);
    descriptor: (ILjava/nio/ByteBuffer;I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // int v
        start local 1 // java.nio.ByteBuffer in
        start local 2 // int inPos
         0: .line 147
            iload 0 /* v */
            bipush 8
            ishl
            aload 1 /* in */
            iload 2 /* inPos */
            iconst_2
            iadd
            invokevirtual java.nio.ByteBuffer.get:(I)B
            sipush 255
            iand
            ior
            ireturn
        end local 2 // int inPos
        end local 1 // java.nio.ByteBuffer in
        end local 0 // int v
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0      v  I
            0    1     1     in  Ljava/nio/ByteBuffer;
            0    1     2  inPos  I
    MethodParameters:
       Name  Flags
      v      
      in     
      inPos  

  private static int hash(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int h
         0: .line 154
            iload 0 /* h */
            sipush 2777
            imul
            bipush 9
            ishr
            sipush 16383
            iand
            ireturn
        end local 0 // int h
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     h  I
    MethodParameters:
      Name  Flags
      h     

  public int compress(byte[], int, byte[], int);
    descriptor: ([BI[BI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=5
        start local 0 // org.h2.compress.CompressLZF this
        start local 1 // byte[] in
        start local 2 // int inLen
        start local 3 // byte[] out
        start local 4 // int outPos
         0: .line 159
            iconst_0
            istore 5 /* inPos */
        start local 5 // int inPos
         1: .line 160
            aload 0 /* this */
            getfield org.h2.compress.CompressLZF.cachedHashTable:[I
            ifnonnull 3
         2: .line 161
            aload 0 /* this */
            sipush 16384
            newarray 10
            putfield org.h2.compress.CompressLZF.cachedHashTable:[I
         3: .line 163
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.compress.CompressLZF.cachedHashTable:[I
            astore 6 /* hashTab */
        start local 6 // int[] hashTab
         4: .line 164
            iconst_0
            istore 7 /* literals */
        start local 7 // int literals
         5: .line 165
            iinc 4 /* outPos */ 1
         6: .line 166
            aload 1 /* in */
            iconst_0
            invokestatic org.h2.compress.CompressLZF.first:([BI)I
            istore 8 /* future */
        start local 8 // int future
         7: .line 167
            goto 52
         8: .line 168
      StackMap locals: int[] int int
      StackMap stack:
            aload 1 /* in */
            iload 5 /* inPos */
            iconst_2
            iadd
            baload
            istore 9 /* p2 */
        start local 9 // byte p2
         9: .line 170
            iload 8 /* future */
            bipush 8
            ishl
            iload 9 /* p2 */
            sipush 255
            iand
            iadd
            istore 8 /* future */
        10: .line 171
            iload 8 /* future */
            invokestatic org.h2.compress.CompressLZF.hash:(I)I
            istore 10 /* off */
        start local 10 // int off
        11: .line 172
            aload 6 /* hashTab */
            iload 10 /* off */
            iaload
            istore 11 /* ref */
        start local 11 // int ref
        12: .line 173
            aload 6 /* hashTab */
            iload 10 /* off */
            iload 5 /* inPos */
            iastore
        13: .line 180
            iload 11 /* ref */
            iload 5 /* inPos */
            if_icmpge 46
        14: .line 181
            iload 11 /* ref */
            ifle 46
        15: .line 182
            iload 5 /* inPos */
            iload 11 /* ref */
            isub
            iconst_1
            isub
            dup
            istore 10 /* off */
            sipush 8192
            if_icmpge 46
        16: .line 183
            aload 1 /* in */
            iload 11 /* ref */
            iconst_2
            iadd
            baload
            iload 9 /* p2 */
            if_icmpne 46
        17: .line 184
            aload 1 /* in */
            iload 11 /* ref */
            iconst_1
            iadd
            baload
            iload 8 /* future */
            bipush 8
            ishr
            i2b
            if_icmpne 46
        18: .line 185
            aload 1 /* in */
            iload 11 /* ref */
            baload
            iload 8 /* future */
            bipush 16
            ishr
            i2b
            if_icmpne 46
        19: .line 187
            iload 2 /* inLen */
            iload 5 /* inPos */
            isub
            iconst_2
            isub
            istore 12 /* maxLen */
        start local 12 // int maxLen
        20: .line 188
            iload 12 /* maxLen */
            sipush 264
            if_icmple 22
        21: .line 189
            sipush 264
            istore 12 /* maxLen */
        22: .line 191
      StackMap locals: org.h2.compress.CompressLZF byte[] int byte[] int int int[] int int int int int int
      StackMap stack:
            iload 7 /* literals */
            ifne 25
        23: .line 194
            iinc 4 /* outPos */ -1
        24: .line 195
            goto 27
        25: .line 198
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            iload 4 /* outPos */
            iload 7 /* literals */
            isub
            iconst_1
            isub
            iload 7 /* literals */
            iconst_1
            isub
            i2b
            bastore
        26: .line 199
            iconst_0
            istore 7 /* literals */
        27: .line 201
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 13 /* len */
        start local 13 // int len
        28: .line 202
            goto 30
        29: .line 203
      StackMap locals: int
      StackMap stack:
            iinc 13 /* len */ 1
        30: .line 202
      StackMap locals:
      StackMap stack:
            iload 13 /* len */
            iload 12 /* maxLen */
            if_icmpge 31
            aload 1 /* in */
            iload 11 /* ref */
            iload 13 /* len */
            iadd
            baload
            aload 1 /* in */
            iload 5 /* inPos */
            iload 13 /* len */
            iadd
            baload
            if_icmpeq 29
        31: .line 205
      StackMap locals:
      StackMap stack:
            iinc 13 /* len */ -2
        32: .line 206
            iload 13 /* len */
            bipush 7
            if_icmpge 35
        33: .line 207
            aload 3 /* out */
            iload 4 /* outPos */
            iinc 4 /* outPos */ 1
            iload 10 /* off */
            bipush 8
            ishr
            iload 13 /* len */
            iconst_5
            ishl
            iadd
            i2b
            bastore
        34: .line 208
            goto 37
        35: .line 209
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            iload 4 /* outPos */
            iinc 4 /* outPos */ 1
            iload 10 /* off */
            bipush 8
            ishr
            sipush 224
            iadd
            i2b
            bastore
        36: .line 210
            aload 3 /* out */
            iload 4 /* outPos */
            iinc 4 /* outPos */ 1
            iload 13 /* len */
            bipush 7
            isub
            i2b
            bastore
        37: .line 212
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            iload 4 /* outPos */
            iinc 4 /* outPos */ 1
            iload 10 /* off */
            i2b
            bastore
        38: .line 214
            iinc 4 /* outPos */ 1
        39: .line 215
            iload 5 /* inPos */
            iload 13 /* len */
            iadd
            istore 5 /* inPos */
        40: .line 220
            aload 1 /* in */
            iload 5 /* inPos */
            invokestatic org.h2.compress.CompressLZF.first:([BI)I
            istore 8 /* future */
        41: .line 221
            iload 8 /* future */
            aload 1 /* in */
            iload 5 /* inPos */
            invokestatic org.h2.compress.CompressLZF.next:(I[BI)I
            istore 8 /* future */
        42: .line 222
            aload 6 /* hashTab */
            iload 8 /* future */
            invokestatic org.h2.compress.CompressLZF.hash:(I)I
            iload 5 /* inPos */
            iinc 5 /* inPos */ 1
            iastore
        43: .line 223
            iload 8 /* future */
            aload 1 /* in */
            iload 5 /* inPos */
            invokestatic org.h2.compress.CompressLZF.next:(I[BI)I
            istore 8 /* future */
        44: .line 224
            aload 6 /* hashTab */
            iload 8 /* future */
            invokestatic org.h2.compress.CompressLZF.hash:(I)I
            iload 5 /* inPos */
            iinc 5 /* inPos */ 1
            iastore
        end local 13 // int len
        end local 12 // int maxLen
        45: .line 225
            goto 52
        46: .line 227
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            iload 4 /* outPos */
            iinc 4 /* outPos */ 1
            aload 1 /* in */
            iload 5 /* inPos */
            iinc 5 /* inPos */ 1
            baload
            bastore
        47: .line 228
            iinc 7 /* literals */ 1
        48: .line 231
            iload 7 /* literals */
            bipush 32
            if_icmpne 52
        49: .line 232
            aload 3 /* out */
            iload 4 /* outPos */
            iload 7 /* literals */
            isub
            iconst_1
            isub
            iload 7 /* literals */
            iconst_1
            isub
            i2b
            bastore
        50: .line 233
            iconst_0
            istore 7 /* literals */
        51: .line 236
            iinc 4 /* outPos */ 1
        end local 11 // int ref
        end local 10 // int off
        end local 9 // byte p2
        52: .line 167
      StackMap locals:
      StackMap stack:
            iload 5 /* inPos */
            iload 2 /* inLen */
            iconst_4
            isub
            if_icmplt 8
        53: .line 241
            goto 60
        54: .line 242
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            iload 4 /* outPos */
            iinc 4 /* outPos */ 1
            aload 1 /* in */
            iload 5 /* inPos */
            iinc 5 /* inPos */ 1
            baload
            bastore
        55: .line 243
            iinc 7 /* literals */ 1
        56: .line 244
            iload 7 /* literals */
            bipush 32
            if_icmpne 60
        57: .line 245
            aload 3 /* out */
            iload 4 /* outPos */
            iload 7 /* literals */
            isub
            iconst_1
            isub
            iload 7 /* literals */
            iconst_1
            isub
            i2b
            bastore
        58: .line 246
            iconst_0
            istore 7 /* literals */
        59: .line 247
            iinc 4 /* outPos */ 1
        60: .line 241
      StackMap locals:
      StackMap stack:
            iload 5 /* inPos */
            iload 2 /* inLen */
            if_icmplt 54
        61: .line 251
            aload 3 /* out */
            iload 4 /* outPos */
            iload 7 /* literals */
            isub
            iconst_1
            isub
            iload 7 /* literals */
            iconst_1
            isub
            i2b
            bastore
        62: .line 252
            iload 7 /* literals */
            ifne 64
        63: .line 253
            iinc 4 /* outPos */ -1
        64: .line 255
      StackMap locals:
      StackMap stack:
            iload 4 /* outPos */
            ireturn
        end local 8 // int future
        end local 7 // int literals
        end local 6 // int[] hashTab
        end local 5 // int inPos
        end local 4 // int outPos
        end local 3 // byte[] out
        end local 2 // int inLen
        end local 1 // byte[] in
        end local 0 // org.h2.compress.CompressLZF this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   65     0      this  Lorg/h2/compress/CompressLZF;
            0   65     1        in  [B
            0   65     2     inLen  I
            0   65     3       out  [B
            0   65     4    outPos  I
            1   65     5     inPos  I
            4   65     6   hashTab  [I
            5   65     7  literals  I
            7   65     8    future  I
            9   52     9        p2  B
           11   52    10       off  I
           12   52    11       ref  I
           20   45    12    maxLen  I
           28   45    13       len  I
    MethodParameters:
        Name  Flags
      in      
      inLen   
      out     
      outPos  

  public int compress(java.nio.ByteBuffer, int, byte[], int);
    descriptor: (Ljava/nio/ByteBuffer;I[BI)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=14, args_size=5
        start local 0 // org.h2.compress.CompressLZF this
        start local 1 // java.nio.ByteBuffer in
        start local 2 // int inPos
        start local 3 // byte[] out
        start local 4 // int outPos
         0: .line 268
            aload 1 /* in */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            iload 2 /* inPos */
            isub
            istore 5 /* inLen */
        start local 5 // int inLen
         1: .line 269
            aload 0 /* this */
            getfield org.h2.compress.CompressLZF.cachedHashTable:[I
            ifnonnull 3
         2: .line 270
            aload 0 /* this */
            sipush 16384
            newarray 10
            putfield org.h2.compress.CompressLZF.cachedHashTable:[I
         3: .line 272
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield org.h2.compress.CompressLZF.cachedHashTable:[I
            astore 6 /* hashTab */
        start local 6 // int[] hashTab
         4: .line 273
            iconst_0
            istore 7 /* literals */
        start local 7 // int literals
         5: .line 274
            iinc 4 /* outPos */ 1
         6: .line 275
            aload 1 /* in */
            iconst_0
            invokestatic org.h2.compress.CompressLZF.first:(Ljava/nio/ByteBuffer;I)I
            istore 8 /* future */
        start local 8 // int future
         7: .line 276
            goto 52
         8: .line 277
      StackMap locals: int[] int int
      StackMap stack:
            aload 1 /* in */
            iload 2 /* inPos */
            iconst_2
            iadd
            invokevirtual java.nio.ByteBuffer.get:(I)B
            istore 9 /* p2 */
        start local 9 // byte p2
         9: .line 279
            iload 8 /* future */
            bipush 8
            ishl
            iload 9 /* p2 */
            sipush 255
            iand
            iadd
            istore 8 /* future */
        10: .line 280
            iload 8 /* future */
            invokestatic org.h2.compress.CompressLZF.hash:(I)I
            istore 10 /* off */
        start local 10 // int off
        11: .line 281
            aload 6 /* hashTab */
            iload 10 /* off */
            iaload
            istore 11 /* ref */
        start local 11 // int ref
        12: .line 282
            aload 6 /* hashTab */
            iload 10 /* off */
            iload 2 /* inPos */
            iastore
        13: .line 289
            iload 11 /* ref */
            iload 2 /* inPos */
            if_icmpge 46
        14: .line 290
            iload 11 /* ref */
            ifle 46
        15: .line 291
            iload 2 /* inPos */
            iload 11 /* ref */
            isub
            iconst_1
            isub
            dup
            istore 10 /* off */
            sipush 8192
            if_icmpge 46
        16: .line 292
            aload 1 /* in */
            iload 11 /* ref */
            iconst_2
            iadd
            invokevirtual java.nio.ByteBuffer.get:(I)B
            iload 9 /* p2 */
            if_icmpne 46
        17: .line 293
            aload 1 /* in */
            iload 11 /* ref */
            iconst_1
            iadd
            invokevirtual java.nio.ByteBuffer.get:(I)B
            iload 8 /* future */
            bipush 8
            ishr
            i2b
            if_icmpne 46
        18: .line 294
            aload 1 /* in */
            iload 11 /* ref */
            invokevirtual java.nio.ByteBuffer.get:(I)B
            iload 8 /* future */
            bipush 16
            ishr
            i2b
            if_icmpne 46
        19: .line 296
            iload 5 /* inLen */
            iload 2 /* inPos */
            isub
            iconst_2
            isub
            istore 12 /* maxLen */
        start local 12 // int maxLen
        20: .line 297
            iload 12 /* maxLen */
            sipush 264
            if_icmple 22
        21: .line 298
            sipush 264
            istore 12 /* maxLen */
        22: .line 300
      StackMap locals: org.h2.compress.CompressLZF java.nio.ByteBuffer int byte[] int int int[] int int int int int int
      StackMap stack:
            iload 7 /* literals */
            ifne 25
        23: .line 303
            iinc 4 /* outPos */ -1
        24: .line 304
            goto 27
        25: .line 307
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            iload 4 /* outPos */
            iload 7 /* literals */
            isub
            iconst_1
            isub
            iload 7 /* literals */
            iconst_1
            isub
            i2b
            bastore
        26: .line 308
            iconst_0
            istore 7 /* literals */
        27: .line 310
      StackMap locals:
      StackMap stack:
            iconst_3
            istore 13 /* len */
        start local 13 // int len
        28: .line 311
            goto 30
        29: .line 312
      StackMap locals: int
      StackMap stack:
            iinc 13 /* len */ 1
        30: .line 311
      StackMap locals:
      StackMap stack:
            iload 13 /* len */
            iload 12 /* maxLen */
            if_icmpge 31
            aload 1 /* in */
            iload 11 /* ref */
            iload 13 /* len */
            iadd
            invokevirtual java.nio.ByteBuffer.get:(I)B
            aload 1 /* in */
            iload 2 /* inPos */
            iload 13 /* len */
            iadd
            invokevirtual java.nio.ByteBuffer.get:(I)B
            if_icmpeq 29
        31: .line 314
      StackMap locals:
      StackMap stack:
            iinc 13 /* len */ -2
        32: .line 315
            iload 13 /* len */
            bipush 7
            if_icmpge 35
        33: .line 316
            aload 3 /* out */
            iload 4 /* outPos */
            iinc 4 /* outPos */ 1
            iload 10 /* off */
            bipush 8
            ishr
            iload 13 /* len */
            iconst_5
            ishl
            iadd
            i2b
            bastore
        34: .line 317
            goto 37
        35: .line 318
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            iload 4 /* outPos */
            iinc 4 /* outPos */ 1
            iload 10 /* off */
            bipush 8
            ishr
            sipush 224
            iadd
            i2b
            bastore
        36: .line 319
            aload 3 /* out */
            iload 4 /* outPos */
            iinc 4 /* outPos */ 1
            iload 13 /* len */
            bipush 7
            isub
            i2b
            bastore
        37: .line 321
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            iload 4 /* outPos */
            iinc 4 /* outPos */ 1
            iload 10 /* off */
            i2b
            bastore
        38: .line 323
            iinc 4 /* outPos */ 1
        39: .line 324
            iload 2 /* inPos */
            iload 13 /* len */
            iadd
            istore 2 /* inPos */
        40: .line 329
            aload 1 /* in */
            iload 2 /* inPos */
            invokestatic org.h2.compress.CompressLZF.first:(Ljava/nio/ByteBuffer;I)I
            istore 8 /* future */
        41: .line 330
            iload 8 /* future */
            aload 1 /* in */
            iload 2 /* inPos */
            invokestatic org.h2.compress.CompressLZF.next:(ILjava/nio/ByteBuffer;I)I
            istore 8 /* future */
        42: .line 331
            aload 6 /* hashTab */
            iload 8 /* future */
            invokestatic org.h2.compress.CompressLZF.hash:(I)I
            iload 2 /* inPos */
            iinc 2 /* inPos */ 1
            iastore
        43: .line 332
            iload 8 /* future */
            aload 1 /* in */
            iload 2 /* inPos */
            invokestatic org.h2.compress.CompressLZF.next:(ILjava/nio/ByteBuffer;I)I
            istore 8 /* future */
        44: .line 333
            aload 6 /* hashTab */
            iload 8 /* future */
            invokestatic org.h2.compress.CompressLZF.hash:(I)I
            iload 2 /* inPos */
            iinc 2 /* inPos */ 1
            iastore
        end local 13 // int len
        end local 12 // int maxLen
        45: .line 334
            goto 52
        46: .line 336
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            iload 4 /* outPos */
            iinc 4 /* outPos */ 1
            aload 1 /* in */
            iload 2 /* inPos */
            iinc 2 /* inPos */ 1
            invokevirtual java.nio.ByteBuffer.get:(I)B
            bastore
        47: .line 337
            iinc 7 /* literals */ 1
        48: .line 340
            iload 7 /* literals */
            bipush 32
            if_icmpne 52
        49: .line 341
            aload 3 /* out */
            iload 4 /* outPos */
            iload 7 /* literals */
            isub
            iconst_1
            isub
            iload 7 /* literals */
            iconst_1
            isub
            i2b
            bastore
        50: .line 342
            iconst_0
            istore 7 /* literals */
        51: .line 345
            iinc 4 /* outPos */ 1
        end local 11 // int ref
        end local 10 // int off
        end local 9 // byte p2
        52: .line 276
      StackMap locals:
      StackMap stack:
            iload 2 /* inPos */
            iload 5 /* inLen */
            iconst_4
            isub
            if_icmplt 8
        53: .line 350
            goto 60
        54: .line 351
      StackMap locals:
      StackMap stack:
            aload 3 /* out */
            iload 4 /* outPos */
            iinc 4 /* outPos */ 1
            aload 1 /* in */
            iload 2 /* inPos */
            iinc 2 /* inPos */ 1
            invokevirtual java.nio.ByteBuffer.get:(I)B
            bastore
        55: .line 352
            iinc 7 /* literals */ 1
        56: .line 353
            iload 7 /* literals */
            bipush 32
            if_icmpne 60
        57: .line 354
            aload 3 /* out */
            iload 4 /* outPos */
            iload 7 /* literals */
            isub
            iconst_1
            isub
            iload 7 /* literals */
            iconst_1
            isub
            i2b
            bastore
        58: .line 355
            iconst_0
            istore 7 /* literals */
        59: .line 356
            iinc 4 /* outPos */ 1
        60: .line 350
      StackMap locals:
      StackMap stack:
            iload 2 /* inPos */
            iload 5 /* inLen */
            if_icmplt 54
        61: .line 360
            aload 3 /* out */
            iload 4 /* outPos */
            iload 7 /* literals */
            isub
            iconst_1
            isub
            iload 7 /* literals */
            iconst_1
            isub
            i2b
            bastore
        62: .line 361
            iload 7 /* literals */
            ifne 64
        63: .line 362
            iinc 4 /* outPos */ -1
        64: .line 364
      StackMap locals:
      StackMap stack:
            iload 4 /* outPos */
            ireturn
        end local 8 // int future
        end local 7 // int literals
        end local 6 // int[] hashTab
        end local 5 // int inLen
        end local 4 // int outPos
        end local 3 // byte[] out
        end local 2 // int inPos
        end local 1 // java.nio.ByteBuffer in
        end local 0 // org.h2.compress.CompressLZF this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   65     0      this  Lorg/h2/compress/CompressLZF;
            0   65     1        in  Ljava/nio/ByteBuffer;
            0   65     2     inPos  I
            0   65     3       out  [B
            0   65     4    outPos  I
            1   65     5     inLen  I
            4   65     6   hashTab  [I
            5   65     7  literals  I
            7   65     8    future  I
            9   52     9        p2  B
           11   52    10       off  I
           12   52    11       ref  I
           20   45    12    maxLen  I
           28   45    13       len  I
    MethodParameters:
        Name  Flags
      in      
      inPos   
      out     
      outPos  

  public void expand(byte[], int, int, byte[], int, int);
    descriptor: ([BII[BII)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=10, args_size=7
        start local 0 // org.h2.compress.CompressLZF this
        start local 1 // byte[] in
        start local 2 // int inPos
        start local 3 // int inLen
        start local 4 // byte[] out
        start local 5 // int outPos
        start local 6 // int outLen
         0: .line 371
            iload 2 /* inPos */
            iflt 1
            iload 5 /* outPos */
            iflt 1
            iload 6 /* outLen */
            ifge 2
         1: .line 372
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 375
      StackMap locals:
      StackMap stack:
            aload 1 /* in */
            iload 2 /* inPos */
            iinc 2 /* inPos */ 1
            baload
            sipush 255
            iand
            istore 7 /* ctrl */
        start local 7 // int ctrl
         3: .line 376
            iload 7 /* ctrl */
            bipush 32
            if_icmpge 9
         4: .line 378
            iinc 7 /* ctrl */ 1
         5: .line 383
            aload 1 /* in */
            iload 2 /* inPos */
            aload 4 /* out */
            iload 5 /* outPos */
            iload 7 /* ctrl */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 384
            iload 5 /* outPos */
            iload 7 /* ctrl */
            iadd
            istore 5 /* outPos */
         7: .line 385
            iload 2 /* inPos */
            iload 7 /* ctrl */
            iadd
            istore 2 /* inPos */
         8: .line 386
            goto 23
         9: .line 389
      StackMap locals: int
      StackMap stack:
            iload 7 /* ctrl */
            iconst_5
            ishr
            istore 8 /* len */
        start local 8 // int len
        10: .line 391
            iload 8 /* len */
            bipush 7
            if_icmpne 12
        11: .line 392
            iload 8 /* len */
            aload 1 /* in */
            iload 2 /* inPos */
            iinc 2 /* inPos */ 1
            baload
            sipush 255
            iand
            iadd
            istore 8 /* len */
        12: .line 396
      StackMap locals: int
      StackMap stack:
            iinc 8 /* len */ 2
        13: .line 400
            iload 7 /* ctrl */
            bipush 31
            iand
            bipush 8
            ishl
            ineg
            iconst_1
            isub
            istore 7 /* ctrl */
        14: .line 403
            iload 7 /* ctrl */
            aload 1 /* in */
            iload 2 /* inPos */
            iinc 2 /* inPos */ 1
            baload
            sipush 255
            iand
            isub
            istore 7 /* ctrl */
        15: .line 407
            iload 7 /* ctrl */
            iload 5 /* outPos */
            iadd
            istore 7 /* ctrl */
        16: .line 408
            iload 5 /* outPos */
            iload 8 /* len */
            iadd
            aload 4 /* out */
            arraylength
            if_icmplt 18
        17: .line 410
            new java.lang.ArrayIndexOutOfBoundsException
            dup
            invokespecial java.lang.ArrayIndexOutOfBoundsException.<init>:()V
            athrow
        18: .line 412
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 9 /* i */
        start local 9 // int i
        19: goto 22
        20: .line 413
      StackMap locals: int
      StackMap stack:
            aload 4 /* out */
            iload 5 /* outPos */
            iinc 5 /* outPos */ 1
            aload 4 /* out */
            iload 7 /* ctrl */
            iinc 7 /* ctrl */ 1
            baload
            bastore
        21: .line 412
            iinc 9 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 9 /* i */
            iload 8 /* len */
            if_icmplt 20
        end local 9 // int i
        end local 8 // int len
        end local 7 // int ctrl
        23: .line 416
      StackMap locals:
      StackMap stack:
            iload 5 /* outPos */
            iload 6 /* outLen */
        24: .line 374
            if_icmplt 2
        25: .line 417
            return
        end local 6 // int outLen
        end local 5 // int outPos
        end local 4 // byte[] out
        end local 3 // int inLen
        end local 2 // int inPos
        end local 1 // byte[] in
        end local 0 // org.h2.compress.CompressLZF this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   26     0    this  Lorg/h2/compress/CompressLZF;
            0   26     1      in  [B
            0   26     2   inPos  I
            0   26     3   inLen  I
            0   26     4     out  [B
            0   26     5  outPos  I
            0   26     6  outLen  I
            3   23     7    ctrl  I
           10   23     8     len  I
           19   23     9       i  I
    MethodParameters:
        Name  Flags
      in      
      inPos   
      inLen   
      out     
      outPos  
      outLen  

  public static void expand(java.nio.ByteBuffer, java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.nio.ByteBuffer in
        start local 1 // java.nio.ByteBuffer out
         0: .line 427
      StackMap locals:
      StackMap stack:
            aload 0 /* in */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 2 /* ctrl */
        start local 2 // int ctrl
         1: .line 428
            iload 2 /* ctrl */
            bipush 32
            if_icmpge 9
         2: .line 430
            iinc 2 /* ctrl */ 1
         3: .line 433
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 7
         5: .line 434
      StackMap locals: int int
      StackMap stack:
            aload 1 /* out */
            aload 0 /* in */
            invokevirtual java.nio.ByteBuffer.get:()B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
         6: .line 433
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* i */
            iload 2 /* ctrl */
            if_icmplt 5
        end local 3 // int i
         8: .line 436
            goto 21
         9: .line 439
      StackMap locals:
      StackMap stack:
            iload 2 /* ctrl */
            iconst_5
            ishr
            istore 3 /* len */
        start local 3 // int len
        10: .line 441
            iload 3 /* len */
            bipush 7
            if_icmpne 12
        11: .line 442
            iload 3 /* len */
            aload 0 /* in */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            iadd
            istore 3 /* len */
        12: .line 446
      StackMap locals: int
      StackMap stack:
            iinc 3 /* len */ 2
        13: .line 450
            iload 2 /* ctrl */
            bipush 31
            iand
            bipush 8
            ishl
            ineg
            iconst_1
            isub
            istore 2 /* ctrl */
        14: .line 453
            iload 2 /* ctrl */
            aload 0 /* in */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            isub
            istore 2 /* ctrl */
        15: .line 458
            iload 2 /* ctrl */
            aload 1 /* out */
            invokevirtual java.nio.ByteBuffer.position:()I
            iadd
            istore 2 /* ctrl */
        16: .line 459
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        17: goto 20
        18: .line 460
      StackMap locals: int
      StackMap stack:
            aload 1 /* out */
            aload 1 /* out */
            iload 2 /* ctrl */
            iinc 2 /* ctrl */ 1
            invokevirtual java.nio.ByteBuffer.get:(I)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        19: .line 459
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* i */
            iload 3 /* len */
            if_icmplt 18
        end local 4 // int i
        end local 3 // int len
        end local 2 // int ctrl
        21: .line 463
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            invokevirtual java.nio.ByteBuffer.position:()I
            aload 1 /* out */
            invokevirtual java.nio.ByteBuffer.capacity:()I
        22: .line 426
            if_icmplt 0
        23: .line 464
            return
        end local 1 // java.nio.ByteBuffer out
        end local 0 // java.nio.ByteBuffer in
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0    in  Ljava/nio/ByteBuffer;
            0   24     1   out  Ljava/nio/ByteBuffer;
            1   21     2  ctrl  I
            4    8     3     i  I
           10   21     3   len  I
           17   21     4     i  I
    MethodParameters:
      Name  Flags
      in    
      out   

  public int getAlgorithm();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.h2.compress.CompressLZF this
         0: .line 468
            iconst_1
            ireturn
        end local 0 // org.h2.compress.CompressLZF this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/h2/compress/CompressLZF;
}
SourceFile: "CompressLZF.java"