public class org.jruby.util.Pack
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jruby.util.Pack
  super_class: java.lang.Object
{
  private static final byte[] sSp10;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] sNil10;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final int IS_STAR;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -1

  private static final org.jcodings.specific.ASCIIEncoding ASCII;
    descriptor: Lorg/jcodings/specific/ASCIIEncoding;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jcodings.specific.USASCIIEncoding USASCII;
    descriptor: Lorg/jcodings/specific/USASCIIEncoding;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final org.jcodings.specific.UTF8Encoding UTF8;
    descriptor: Lorg/jcodings/specific/UTF8Encoding;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String NATIVE_CODES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sSiIlL"

  private static final java.lang.String MAPPED_CODES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "sSiIqQ"

  private static final char BE;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 61

  private static final char LE;
    descriptor: C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 60

  private static final java.lang.String ENDIANESS_CODES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String UNPACK_IGNORE_NULL_CODES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "cC"

  private static final java.lang.String PACK_IGNORE_NULL_CODES;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "cCiIlLnNqQsSvV"

  private static final java.lang.String PACK_IGNORE_NULL_CODES_WITH_MODIFIERS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "lLsS"

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

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

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

  private static final java.lang.String sTooFew;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "too few arguments"

  private static final byte[] uu_table;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] b64_table;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final byte[] sHexDigits;
    descriptor: [B
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final int[] b64_xtable;
    descriptor: [I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  private static final org.jruby.util.Pack$Converter[] converters;
    descriptor: [Lorg/jruby/util/Pack$Converter;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long[] utf8_limits;
    descriptor: [J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=1, args_size=0
         0: .line 57
            ldc "          "
            invokevirtual java.lang.String.getBytes:()[B
            putstatic org.jruby.util.Pack.sSp10:[B
         1: .line 58
            ldc "\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000"
            invokevirtual java.lang.String.getBytes:()[B
            putstatic org.jruby.util.Pack.sNil10:[B
         2: .line 60
            getstatic org.jcodings.specific.ASCIIEncoding.INSTANCE:Lorg/jcodings/specific/ASCIIEncoding;
            putstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
         3: .line 61
            getstatic org.jcodings.specific.USASCIIEncoding.INSTANCE:Lorg/jcodings/specific/USASCIIEncoding;
            putstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
         4: .line 62
            getstatic org.jcodings.specific.UTF8Encoding.INSTANCE:Lorg/jcodings/specific/UTF8Encoding;
            putstatic org.jruby.util.Pack.UTF8:Lorg/jcodings/specific/UTF8Encoding;
         5: .line 70
            new java.lang.String
            dup
            bipush 16
            newarray 5
            dup
            iconst_0
         6: .line 71
            sipush 176
            castore
            dup
            iconst_1
            sipush 144
            castore
            dup
            iconst_2
            sipush 166
            castore
            dup
            iconst_3
            sipush 134
            castore
            dup
            iconst_4
            sipush 169
            castore
            dup
            iconst_5
            sipush 137
            castore
            dup
            bipush 6
            sipush 174
            castore
            dup
            bipush 7
            sipush 142
            castore
            dup
            bipush 8
         7: .line 72
            sipush 175
            castore
            dup
            bipush 9
            sipush 143
            castore
            dup
            bipush 10
            sipush 165
            castore
            dup
            bipush 11
            sipush 133
            castore
            dup
            bipush 12
            sipush 168
            castore
            dup
            bipush 13
            sipush 136
            castore
            dup
            bipush 14
            sipush 173
            castore
            dup
            bipush 15
            sipush 141
            castore
         8: .line 70
            invokespecial java.lang.String.<init>:([C)V
            putstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
         9: .line 86
            sipush 256
            newarray 10
            putstatic org.jruby.util.Pack.b64_xtable:[I
        10: .line 87
            sipush 256
            anewarray org.jruby.util.Pack$Converter
            putstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
        11: .line 108
            ldc "`!\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_"
            invokestatic org.jruby.util.ByteList.plain:(Ljava/lang/CharSequence;)[B
        12: .line 107
            putstatic org.jruby.util.Pack.uu_table:[B
        13: .line 110
            ldc "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"
            invokestatic org.jruby.util.ByteList.plain:(Ljava/lang/CharSequence;)[B
        14: .line 109
            putstatic org.jruby.util.Pack.b64_table:[B
        15: .line 111
            ldc "0123456789abcdef0123456789ABCDEFx"
            invokestatic org.jruby.util.ByteList.plain:(Ljava/lang/CharSequence;)[B
            putstatic org.jruby.util.Pack.sHexDigits:[B
        16: .line 114
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        17: goto 20
        18: .line 115
      StackMap locals: int
      StackMap stack:
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 0 /* i */
            iconst_m1
            iastore
        19: .line 114
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 0 /* i */
            sipush 256
            if_icmplt 18
        end local 0 // int i
        21: .line 117
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        22: goto 25
        23: .line 118
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.Pack.b64_xtable:[I
            getstatic org.jruby.util.Pack.b64_table:[B
            iload 0 /* i */
            baload
            iload 0 /* i */
            iastore
        24: .line 117
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 0 /* i */
            bipush 64
            if_icmplt 23
        end local 0 // int i
        26: .line 122
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 101
            new org.jruby.util.Pack$1
            dup
            iconst_4
            invokespecial org.jruby.util.Pack$1.<init>:(I)V
            aastore
        27: .line 133
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 103
            new org.jruby.util.Pack$2
            dup
            iconst_4
            invokespecial org.jruby.util.Pack$2.<init>:(I)V
            aastore
        28: .line 144
            new org.jruby.util.Pack$3
            dup
            iconst_4
            invokespecial org.jruby.util.Pack$3.<init>:(I)V
            astore 0 /* tmp */
        start local 0 // org.jruby.util.Pack$Converter tmp
        29: .line 160
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 70
            aload 0 /* tmp */
            aastore
        30: .line 161
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 102
            aload 0 /* tmp */
            aastore
        31: .line 164
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 69
            new org.jruby.util.Pack$4
            dup
            bipush 8
            invokespecial org.jruby.util.Pack$4.<init>:(I)V
            aastore
        32: .line 175
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 71
            new org.jruby.util.Pack$5
            dup
            bipush 8
            invokespecial org.jruby.util.Pack$5.<init>:(I)V
            aastore
        33: .line 186
            new org.jruby.util.Pack$6
            dup
            bipush 8
            invokespecial org.jruby.util.Pack$6.<init>:(I)V
            astore 0 /* tmp */
        34: .line 200
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 68
            aload 0 /* tmp */
            aastore
        35: .line 201
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 100
            aload 0 /* tmp */
            aastore
        36: .line 204
            new org.jruby.util.Pack$7
            dup
            iconst_2
            ldc "Integer"
            invokespecial org.jruby.util.Pack$7.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        37: .line 214
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 118
            aload 0 /* tmp */
            aastore
        38: .line 215
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 143
            aload 0 /* tmp */
            aastore
        39: .line 217
            new org.jruby.util.Pack$8
            dup
            iconst_2
            ldc "Integer"
            invokespecial org.jruby.util.Pack$8.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        40: .line 227
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 110
            aload 0 /* tmp */
            aastore
        41: .line 228
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 144
            aload 0 /* tmp */
            aastore
        42: .line 230
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 115
            new org.jruby.util.Pack$9
            dup
            iconst_2
            ldc "Integer"
            invokespecial org.jruby.util.Pack$9.<init>:(ILjava/lang/String;)V
            aastore
        43: .line 242
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 83
            new org.jruby.util.Pack$10
            dup
            iconst_2
            ldc "Integer"
            invokespecial org.jruby.util.Pack$10.<init>:(ILjava/lang/String;)V
            aastore
        44: .line 254
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 175
            new org.jruby.util.Pack$11
            dup
            iconst_2
            ldc "Integer"
            invokespecial org.jruby.util.Pack$11.<init>:(ILjava/lang/String;)V
            aastore
        45: .line 265
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 176
            new org.jruby.util.Pack$12
            dup
            iconst_2
            ldc "Integer"
            invokespecial org.jruby.util.Pack$12.<init>:(ILjava/lang/String;)V
            aastore
        46: .line 277
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 99
            new org.jruby.util.Pack$13
            dup
            iconst_1
            ldc "Integer"
            invokespecial org.jruby.util.Pack$13.<init>:(ILjava/lang/String;)V
            aastore
        47: .line 289
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 67
            new org.jruby.util.Pack$14
            dup
            iconst_1
            ldc "Integer"
            invokespecial org.jruby.util.Pack$14.<init>:(ILjava/lang/String;)V
            aastore
        48: .line 301
            new org.jruby.util.Pack$15
            dup
            iconst_4
            ldc "Integer"
            invokespecial org.jruby.util.Pack$15.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        49: .line 310
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 86
            aload 0 /* tmp */
            aastore
        50: .line 311
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 136
            aload 0 /* tmp */
            aastore
        51: .line 312
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 133
            aload 0 /* tmp */
            aastore
        52: .line 315
            new org.jruby.util.Pack$16
            dup
            iconst_4
            ldc "Integer"
            invokespecial org.jruby.util.Pack$16.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        53: .line 324
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 78
            aload 0 /* tmp */
            aastore
        54: .line 325
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 137
            aload 0 /* tmp */
            aastore
        55: .line 326
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 134
            aload 0 /* tmp */
            aastore
        56: .line 329
            new org.jruby.util.Pack$17
            dup
            iconst_4
            ldc "Integer"
            invokespecial org.jruby.util.Pack$17.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        57: .line 342
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 73
            aload 0 /* tmp */
            aastore
        58: .line 343
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 76
            aload 0 /* tmp */
            aastore
        59: .line 346
            new org.jruby.util.Pack$18
            dup
            iconst_4
            ldc "Integer"
            invokespecial org.jruby.util.Pack$18.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        60: .line 356
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 105
            aload 0 /* tmp */
            aastore
        61: .line 357
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 108
            aload 0 /* tmp */
            aastore
        62: .line 360
            new org.jruby.util.Pack$19
            dup
            iconst_4
            ldc "Integer"
            invokespecial org.jruby.util.Pack$19.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        63: .line 369
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 165
            aload 0 /* tmp */
            aastore
        64: .line 370
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 168
            aload 0 /* tmp */
            aastore
        65: .line 373
            new org.jruby.util.Pack$20
            dup
            iconst_4
            ldc "Integer"
            invokespecial org.jruby.util.Pack$20.<init>:(ILjava/lang/String;)V
            astore 0 /* tmp */
        66: .line 382
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 166
            aload 0 /* tmp */
            aastore
        67: .line 383
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 169
            aload 0 /* tmp */
            aastore
        68: .line 386
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 81
            new org.jruby.util.Pack$21
            dup
            bipush 8
            ldc "Integer"
            invokespecial org.jruby.util.Pack$21.<init>:(ILjava/lang/String;)V
            aastore
        69: .line 399
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 141
            new org.jruby.util.Pack$22
            dup
            bipush 8
            ldc "Integer"
            invokespecial org.jruby.util.Pack$22.<init>:(ILjava/lang/String;)V
            aastore
        70: .line 411
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 142
            new org.jruby.util.Pack$23
            dup
            bipush 8
            ldc "Integer"
            invokespecial org.jruby.util.Pack$23.<init>:(ILjava/lang/String;)V
            aastore
        71: .line 423
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            bipush 113
            new org.jruby.util.Pack$24
            dup
            bipush 8
            ldc "Integer"
            invokespecial org.jruby.util.Pack$24.<init>:(ILjava/lang/String;)V
            aastore
        72: .line 435
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 173
            new org.jruby.util.Pack$25
            dup
            bipush 8
            ldc "Integer"
            invokespecial org.jruby.util.Pack$25.<init>:(ILjava/lang/String;)V
            aastore
        73: .line 446
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            sipush 174
            new org.jruby.util.Pack$26
            dup
            bipush 8
            ldc "Integer"
            invokespecial org.jruby.util.Pack$26.<init>:(ILjava/lang/String;)V
            aastore
        end local 0 // org.jruby.util.Pack$Converter tmp
        74: .line 1652
            bipush 7
            newarray 11
            dup
            iconst_1
        75: .line 1654
            ldc 128
            lastore
            dup
            iconst_2
        76: .line 1655
            ldc 2048
            lastore
            dup
            iconst_3
        77: .line 1656
            ldc 65536
            lastore
            dup
            iconst_4
        78: .line 1657
            ldc 2097152
            lastore
            dup
            iconst_5
        79: .line 1658
            ldc 67108864
            lastore
            dup
            bipush 6
        80: .line 1659
            ldc -2147483648
            lastore
        81: .line 1652
            putstatic org.jruby.util.Pack.utf8_limits:[J
        82: .line 1660
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
           17   21     0     i  I
           22   26     0     i  I
           29   74     0   tmp  Lorg/jruby/util/Pack$Converter;

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

  private static long num2quad(org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/runtime/builtin/IRubyObject;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // org.jruby.runtime.builtin.IRubyObject arg
         0: .line 90
            aload 0 /* arg */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isNil:()Z
            ifeq 1
            lconst_0
            lreturn
         1: .line 91
      StackMap locals:
      StackMap stack:
            aload 0 /* arg */
            instanceof org.jruby.RubyBignum
            ifeq 4
         2: .line 92
            aload 0 /* arg */
            checkcast org.jruby.RubyBignum
            invokevirtual org.jruby.RubyBignum.getValue:()Ljava/math/BigInteger;
            astore 1 /* big */
        start local 1 // java.math.BigInteger big
         3: .line 93
            aload 1 /* big */
            invokevirtual java.math.BigInteger.longValue:()J
            lreturn
        end local 1 // java.math.BigInteger big
         4: .line 95
      StackMap locals:
      StackMap stack:
            aload 0 /* arg */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lreturn
        end local 0 // org.jruby.runtime.builtin.IRubyObject arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   arg  Lorg/jruby/runtime/builtin/IRubyObject;
            3    4     1   big  Ljava/math/BigInteger;
    MethodParameters:
      Name  Flags
      arg   

  private static float obj2flt(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)F
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject o
         0: .line 99
            aload 0 /* runtime */
            aload 1 /* o */
            invokestatic org.jruby.util.TypeConverter.toFloat:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyFloat;
            invokevirtual org.jruby.RubyFloat.getDoubleValue:()D
            d2f
            freturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject o
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1        o  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      o        

  private static double obj2dbl(org.jruby.Ruby, org.jruby.runtime.builtin.IRubyObject);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.runtime.builtin.IRubyObject o
         0: .line 103
            aload 0 /* runtime */
            aload 1 /* o */
            invokestatic org.jruby.util.TypeConverter.toFloat:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyFloat;
            invokevirtual org.jruby.RubyFloat.getDoubleValue:()D
            dreturn
        end local 1 // org.jruby.runtime.builtin.IRubyObject o
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0  runtime  Lorg/jruby/Ruby;
            0    1     1        o  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
         Name  Flags
      runtime  
      o        

  public static int unpackInt_i(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer enc
         0: .line 460
            getstatic org.jruby.platform.Platform.BYTE_ORDER:I
            sipush 4321
            if_icmpne 3
         1: .line 461
            aload 0 /* enc */
            invokestatic org.jruby.util.Pack.decodeIntBigEndian:(Ljava/nio/ByteBuffer;)I
            istore 1 /* value */
        start local 1 // int value
         2: .line 462
            goto 4
        end local 1 // int value
         3: .line 463
      StackMap locals:
      StackMap stack:
            aload 0 /* enc */
            invokestatic org.jruby.util.Pack.decodeIntLittleEndian:(Ljava/nio/ByteBuffer;)I
            istore 1 /* value */
        start local 1 // int value
         4: .line 465
      StackMap locals: int
      StackMap stack:
            iload 1 /* value */
            ireturn
        end local 1 // int value
        end local 0 // java.nio.ByteBuffer enc
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0    enc  Ljava/nio/ByteBuffer;
            2    3     1  value  I
            4    5     1  value  I
    MethodParameters:
      Name  Flags
      enc   

  public static org.jruby.util.ByteList packInt_i(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int s
         0: .line 469
            getstatic org.jruby.platform.Platform.BYTE_ORDER:I
            sipush 4321
            if_icmpne 3
         1: .line 470
            aload 0 /* result */
            iload 1 /* s */
            invokestatic org.jruby.util.Pack.encodeIntBigEndian:(Lorg/jruby/util/ByteList;I)V
         2: .line 471
            goto 4
         3: .line 472
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            iload 1 /* s */
            invokestatic org.jruby.util.Pack.encodeIntLittleEndian:(Lorg/jruby/util/ByteList;I)V
         4: .line 474
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            areturn
        end local 1 // int s
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  result  Lorg/jruby/util/ByteList;
            0    5     1       s  I
    MethodParameters:
        Name  Flags
      result  
      s       

  public static void encodeUM(org.jruby.Ruby, org.jruby.util.ByteList, int, boolean, char, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;IZCLorg/jruby/util/ByteList;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=6
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList lCurElemString
        start local 2 // int occurrences
        start local 3 // boolean ignoreStar
        start local 4 // char type
        start local 5 // org.jruby.util.ByteList result
         0: .line 478
            iload 2 /* occurrences */
            ifne 6
            iload 4 /* type */
            bipush 109
            if_icmpne 6
            iload 3 /* ignoreStar */
            ifne 6
         1: .line 479
            aload 0 /* runtime */
            aload 5 /* result */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
         2: .line 480
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
         3: .line 481
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 4 /* type */
            i2b
            iconst_0
         4: .line 479
            invokestatic org.jruby.util.Pack.encodes:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIIIBZ)Lorg/jruby/util/ByteList;
            pop
         5: .line 482
            return
         6: .line 485
      StackMap locals:
      StackMap stack:
            iload 2 /* occurrences */
            iconst_2
            if_icmpgt 7
            bipush 45
            goto 8
      StackMap locals:
      StackMap stack:
         7: iload 2 /* occurrences */
            iconst_3
            idiv
            iconst_3
            imul
      StackMap locals:
      StackMap stack: int
         8: istore 2 /* occurrences */
         9: .line 486
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            ifne 10
            return
        10: .line 488
      StackMap locals:
      StackMap stack:
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            astore 6 /* charsToEncode */
        start local 6 // byte[] charsToEncode
        11: .line 489
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        12: goto 18
        13: .line 490
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* runtime */
            aload 5 /* result */
            aload 6 /* charsToEncode */
        14: .line 491
            iload 7 /* i */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            iadd
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 7 /* i */
            isub
        15: .line 492
            iload 2 /* occurrences */
            iload 4 /* type */
            i2b
            iconst_1
        16: .line 490
            invokestatic org.jruby.util.Pack.encodes:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIIIBZ)Lorg/jruby/util/ByteList;
            pop
        17: .line 489
            iload 7 /* i */
            iload 2 /* occurrences */
            iadd
            istore 7 /* i */
      StackMap locals:
      StackMap stack:
        18: iload 7 /* i */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            if_icmplt 13
        end local 7 // int i
        19: .line 494
            return
        end local 6 // byte[] charsToEncode
        end local 5 // org.jruby.util.ByteList result
        end local 4 // char type
        end local 3 // boolean ignoreStar
        end local 2 // int occurrences
        end local 1 // org.jruby.util.ByteList lCurElemString
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0         runtime  Lorg/jruby/Ruby;
            0   20     1  lCurElemString  Lorg/jruby/util/ByteList;
            0   20     2     occurrences  I
            0   20     3      ignoreStar  Z
            0   20     4            type  C
            0   20     5          result  Lorg/jruby/util/ByteList;
           11   20     6   charsToEncode  [B
           12   19     7               i  I
    MethodParameters:
                Name  Flags
      runtime         
      lCurElemString  
      occurrences     
      ignoreStar      
      type            
      result          

  private static org.jruby.util.ByteList encodes(org.jruby.Ruby, org.jruby.util.ByteList, byte[], int, int, int, byte, boolean);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;[BIIIBZ)Lorg/jruby/util/ByteList;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=14, args_size=8
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList io2Append
        start local 2 // byte[] charsToEncode
        start local 3 // int startIndex
        start local 4 // int length
        start local 5 // int charCount
        start local 6 // byte encodingType
        start local 7 // boolean tailLf
         0: .line 509
            iload 5 /* charCount */
            iload 4 /* length */
            if_icmpge 1
            iload 5 /* charCount */
            goto 2
      StackMap locals:
      StackMap stack:
         1: iload 4 /* length */
      StackMap locals:
      StackMap stack: int
         2: istore 5 /* charCount */
         3: .line 511
            aload 1 /* io2Append */
            iload 5 /* charCount */
            iconst_4
            imul
            iconst_3
            idiv
            bipush 6
            iadd
            invokevirtual org.jruby.util.ByteList.ensure:(I)V
         4: .line 512
            iload 3 /* startIndex */
            istore 8 /* i */
        start local 8 // int i
         5: .line 513
            iload 6 /* encodingType */
            bipush 117
            if_icmpne 6
            getstatic org.jruby.util.Pack.uu_table:[B
            goto 7
      StackMap locals: int
      StackMap stack:
         6: getstatic org.jruby.util.Pack.b64_table:[B
      StackMap locals:
      StackMap stack: byte[]
         7: astore 9 /* lTranslationTable */
        start local 9 // byte[] lTranslationTable
         8: .line 515
            iload 6 /* encodingType */
            bipush 117
            if_icmpne 17
         9: .line 516
            iload 5 /* charCount */
            aload 9 /* lTranslationTable */
            arraylength
            if_icmplt 14
        10: .line 517
            aload 0 /* runtime */
            new java.lang.StringBuilder
            dup
            iload 5 /* charCount */
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 518
            ldc " is not a correct value for the number of bytes per line in a u directive.  Correct values range from 0 to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 519
            aload 9 /* lTranslationTable */
            arraylength
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 517
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        14: .line 521
      StackMap locals: byte[]
      StackMap stack:
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            iload 5 /* charCount */
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        15: .line 522
            bipush 96
            istore 10 /* lPadding */
        start local 10 // byte lPadding
        16: .line 523
            goto 27
        end local 10 // byte lPadding
        17: .line 524
      StackMap locals:
      StackMap stack:
            bipush 61
            istore 10 /* lPadding */
        start local 10 // byte lPadding
        18: .line 526
            goto 27
        19: .line 527
      StackMap locals: int
      StackMap stack:
            aload 2 /* charsToEncode */
            iload 8 /* i */
            iinc 8 /* i */ 1
            baload
            istore 11 /* lCurChar */
        start local 11 // byte lCurChar
        20: .line 528
            aload 2 /* charsToEncode */
            iload 8 /* i */
            iinc 8 /* i */ 1
            baload
            istore 12 /* lNextChar */
        start local 12 // byte lNextChar
        21: .line 529
            aload 2 /* charsToEncode */
            iload 8 /* i */
            iinc 8 /* i */ 1
            baload
            istore 13 /* lNextNextChar */
        start local 13 // byte lNextNextChar
        22: .line 530
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 11 /* lCurChar */
            iconst_2
            iushr
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        23: .line 531
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 11 /* lCurChar */
            iconst_4
            ishl
            bipush 48
            iand
            iload 12 /* lNextChar */
            iconst_4
            iushr
            bipush 15
            iand
            ior
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        24: .line 532
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 12 /* lNextChar */
            iconst_2
            ishl
            bipush 60
            iand
            iload 13 /* lNextNextChar */
            bipush 6
            iushr
            iconst_3
            iand
            ior
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        25: .line 533
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 13 /* lNextNextChar */
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        26: .line 534
            iinc 5 /* charCount */ -3
        end local 13 // byte lNextNextChar
        end local 12 // byte lNextChar
        end local 11 // byte lCurChar
        27: .line 526
      StackMap locals:
      StackMap stack:
            iload 5 /* charCount */
            iconst_3
            if_icmpge 19
        28: .line 536
            iload 5 /* charCount */
            iconst_2
            if_icmpne 36
        29: .line 537
            aload 2 /* charsToEncode */
            iload 8 /* i */
            iinc 8 /* i */ 1
            baload
            istore 11 /* lCurChar */
        start local 11 // byte lCurChar
        30: .line 538
            aload 2 /* charsToEncode */
            iload 8 /* i */
            iinc 8 /* i */ 1
            baload
            istore 12 /* lNextChar */
        start local 12 // byte lNextChar
        31: .line 539
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 11 /* lCurChar */
            iconst_2
            iushr
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        32: .line 540
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 11 /* lCurChar */
            iconst_4
            ishl
            bipush 48
            iand
            iload 12 /* lNextChar */
            iconst_4
            ishr
            bipush 15
            iand
            ior
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        33: .line 541
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 12 /* lNextChar */
            iconst_2
            ishl
            bipush 60
            iand
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        34: .line 542
            aload 1 /* io2Append */
            iload 10 /* lPadding */
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        end local 12 // byte lNextChar
        end local 11 // byte lCurChar
        35: .line 543
            goto 42
      StackMap locals:
      StackMap stack:
        36: iload 5 /* charCount */
            iconst_1
            if_icmpne 42
        37: .line 544
            aload 2 /* charsToEncode */
            iload 8 /* i */
            iinc 8 /* i */ 1
            baload
            istore 11 /* lCurChar */
        start local 11 // byte lCurChar
        38: .line 545
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 11 /* lCurChar */
            iconst_2
            iushr
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        39: .line 546
            aload 1 /* io2Append */
            aload 9 /* lTranslationTable */
            bipush 63
            iload 11 /* lCurChar */
            iconst_4
            ishl
            bipush 48
            iand
            iand
            baload
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        40: .line 547
            aload 1 /* io2Append */
            iload 10 /* lPadding */
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        41: .line 548
            aload 1 /* io2Append */
            iload 10 /* lPadding */
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        end local 11 // byte lCurChar
        42: .line 550
      StackMap locals:
      StackMap stack:
            iload 7 /* tailLf */
            ifeq 44
        43: .line 551
            aload 1 /* io2Append */
            bipush 10
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        44: .line 553
      StackMap locals:
      StackMap stack:
            aload 1 /* io2Append */
            areturn
        end local 10 // byte lPadding
        end local 9 // byte[] lTranslationTable
        end local 8 // int i
        end local 7 // boolean tailLf
        end local 6 // byte encodingType
        end local 5 // int charCount
        end local 4 // int length
        end local 3 // int startIndex
        end local 2 // byte[] charsToEncode
        end local 1 // org.jruby.util.ByteList io2Append
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   45     0            runtime  Lorg/jruby/Ruby;
            0   45     1          io2Append  Lorg/jruby/util/ByteList;
            0   45     2      charsToEncode  [B
            0   45     3         startIndex  I
            0   45     4             length  I
            0   45     5          charCount  I
            0   45     6       encodingType  B
            0   45     7             tailLf  Z
            5   45     8                  i  I
            8   45     9  lTranslationTable  [B
           16   17    10           lPadding  B
           18   45    10           lPadding  B
           20   27    11           lCurChar  B
           21   27    12          lNextChar  B
           22   27    13      lNextNextChar  B
           30   35    11           lCurChar  B
           31   35    12          lNextChar  B
           38   42    11           lCurChar  B
    MethodParameters:
               Name  Flags
      runtime        
      io2Append      
      charsToEncode  
      startIndex     
      length         
      charCount      
      encodingType   
      tailLf         

  public static org.jruby.RubyArray unpack(org.jruby.Ruby, org.jruby.util.ByteList, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList encodedString
        start local 2 // org.jruby.util.ByteList formatString
         0: .line 557
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 0 /* runtime */
            aload 1 /* encodedString */
            aload 2 /* formatString */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokestatic org.jruby.util.Pack.unpackWithBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
            areturn
        end local 2 // org.jruby.util.ByteList formatString
        end local 1 // org.jruby.util.ByteList encodedString
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0        runtime  Lorg/jruby/Ruby;
            0    1     1  encodedString  Lorg/jruby/util/ByteList;
            0    1     2   formatString  Lorg/jruby/util/ByteList;
    MethodParameters:
               Name  Flags
      runtime        
      encodedString  
      formatString   

  public static org.jruby.RubyArray unpack(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString encoded
        start local 2 // org.jruby.util.ByteList formatString
         0: .line 568
            aload 0 /* context */
            aload 1 /* encoded */
            aload 2 /* formatString */
            getstatic org.jruby.runtime.Block.NULL_BLOCK:Lorg/jruby/runtime/Block;
            invokestatic org.jruby.util.Pack.unpackWithBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
            areturn
        end local 2 // org.jruby.util.ByteList formatString
        end local 1 // org.jruby.RubyString encoded
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0       context  Lorg/jruby/runtime/ThreadContext;
            0    1     1       encoded  Lorg/jruby/RubyString;
            0    1     2  formatString  Lorg/jruby/util/ByteList;
    MethodParameters:
              Name  Flags
      context       
      encoded       
      formatString  

  public static org.jruby.RubyArray unpackWithBlock(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.util.ByteList, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString encoded
        start local 2 // org.jruby.util.ByteList formatString
        start local 3 // org.jruby.runtime.Block block
         0: .line 809
            aload 0 /* context */
            aload 1 /* encoded */
            aload 2 /* formatString */
            aload 3 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 1
            iconst_1
            goto 2
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList org.jruby.runtime.Block
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList
         1: iconst_0
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList org.jruby.runtime.Block
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList int
         2: aload 3 /* block */
            invokestatic org.jruby.util.Pack.unpackInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;ILorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            areturn
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.util.ByteList formatString
        end local 1 // org.jruby.RubyString encoded
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0       context  Lorg/jruby/runtime/ThreadContext;
            0    3     1       encoded  Lorg/jruby/RubyString;
            0    3     2  formatString  Lorg/jruby/util/ByteList;
            0    3     3         block  Lorg/jruby/runtime/Block;
    MethodParameters:
              Name  Flags
      context       
      encoded       
      formatString  
      block         

  private static org.jruby.RubyString unpackBase46Strict(org.jruby.Ruby, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=14, args_size=2
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList input
         0: .line 813
            iconst_0
            istore 2 /* index */
        start local 2 // int index
         1: .line 814
            iconst_m1
            istore 3 /* s */
        start local 3 // int s
         2: .line 815
            iconst_m1
            istore 4 /* a */
        start local 4 // int a
         3: .line 816
            iconst_m1
            istore 5 /* b */
        start local 5 // int b
         4: .line 817
            iconst_0
            istore 6 /* c */
        start local 6 // int c
         5: .line 819
            aload 1 /* input */
            invokevirtual org.jruby.util.ByteList.unsafeBytes:()[B
            astore 7 /* buf */
        start local 7 // byte[] buf
         6: .line 820
            aload 1 /* input */
            invokevirtual org.jruby.util.ByteList.begin:()I
            istore 8 /* begin */
        start local 8 // int begin
         7: .line 821
            aload 1 /* input */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            istore 9 /* length */
        start local 9 // int length
         8: .line 822
            iload 8 /* begin */
            iload 9 /* length */
            iadd
            istore 10 /* end */
        start local 10 // int end
         9: .line 824
            iload 9 /* length */
            iconst_4
            irem
            ifeq 10
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        10: .line 826
      StackMap locals: org.jruby.Ruby org.jruby.util.ByteList int int int int int byte[] int int int
      StackMap stack:
            iload 8 /* begin */
            istore 11 /* p */
        start local 11 // int p
        11: .line 827
            iconst_3
            iload 9 /* length */
            iconst_3
            iadd
            iconst_4
            idiv
            imul
            newarray 8
            astore 12 /* out */
        start local 12 // byte[] out
        12: .line 829
            goto 31
        13: .line 831
      StackMap locals: int byte[]
      StackMap stack:
            aload 7 /* buf */
            iload 11 /* p */
            iinc 11 /* p */ 1
            baload
            istore 3 /* s */
        14: .line 832
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 3 /* s */
            iaload
            istore 4 /* a */
        15: .line 833
            iload 4 /* a */
            iconst_m1
            if_icmpne 16
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        16: .line 836
      StackMap locals:
      StackMap stack:
            aload 7 /* buf */
            iload 11 /* p */
            iinc 11 /* p */ 1
            baload
            istore 3 /* s */
        17: .line 837
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 3 /* s */
            iaload
            istore 5 /* b */
        18: .line 838
            iload 5 /* b */
            iconst_m1
            if_icmpne 19
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        19: .line 841
      StackMap locals:
      StackMap stack:
            aload 7 /* buf */
            iload 11 /* p */
            iinc 11 /* p */ 1
            baload
            istore 3 /* s */
        20: .line 842
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 3 /* s */
            iaload
            istore 6 /* c */
        21: .line 843
            iload 3 /* s */
            bipush 61
            if_icmpne 23
        22: .line 844
            aload 7 /* buf */
            iload 11 /* p */
            iinc 11 /* p */ 1
            baload
            bipush 61
            if_icmpeq 32
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        23: .line 847
      StackMap locals:
      StackMap stack:
            iload 6 /* c */
            iconst_m1
            if_icmpne 24
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        24: .line 850
      StackMap locals:
      StackMap stack:
            aload 7 /* buf */
            iload 11 /* p */
            iinc 11 /* p */ 1
            baload
            istore 3 /* s */
        25: .line 851
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 3 /* s */
            iaload
            istore 13 /* d */
        start local 13 // int d
        26: .line 852
            iload 3 /* s */
            bipush 61
            if_icmpne 27
            goto 32
        27: .line 853
      StackMap locals: int
      StackMap stack:
            iload 13 /* d */
            iconst_m1
            if_icmpne 28
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        28: .line 856
      StackMap locals:
      StackMap stack:
            aload 12 /* out */
            iload 2 /* index */
            iinc 2 /* index */ 1
            iload 4 /* a */
            iconst_2
            ishl
            iload 5 /* b */
            iconst_4
            ishr
            ior
            i2b
            bastore
        29: .line 857
            aload 12 /* out */
            iload 2 /* index */
            iinc 2 /* index */ 1
            iload 5 /* b */
            iconst_4
            ishl
            iload 6 /* c */
            iconst_2
            ishr
            ior
            i2b
            bastore
        30: .line 858
            aload 12 /* out */
            iload 2 /* index */
            iinc 2 /* index */ 1
            iload 6 /* c */
            bipush 6
            ishl
            iload 13 /* d */
            ior
            i2b
            bastore
        end local 13 // int d
        31: .line 829
      StackMap locals:
      StackMap stack:
            iload 11 /* p */
            iload 10 /* end */
            if_icmpge 32
            iload 3 /* s */
            bipush 61
            if_icmpne 13
        32: .line 861
      StackMap locals:
      StackMap stack:
            iload 11 /* p */
            iload 10 /* end */
            if_icmpge 33
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        33: .line 863
      StackMap locals:
      StackMap stack:
            iload 4 /* a */
            iconst_m1
            if_icmpeq 42
            iload 5 /* b */
            iconst_m1
            if_icmpeq 42
        34: .line 864
            iload 6 /* c */
            iconst_m1
            if_icmpne 38
            iload 3 /* s */
            bipush 61
            if_icmpne 38
        35: .line 865
            iload 5 /* b */
            bipush 15
            iand
            ifle 36
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        36: .line 866
      StackMap locals:
      StackMap stack:
            aload 12 /* out */
            iload 2 /* index */
            iinc 2 /* index */ 1
            iload 4 /* a */
            iconst_2
            ishl
            iload 5 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        37: .line 867
            goto 42
      StackMap locals:
      StackMap stack:
        38: iload 6 /* c */
            iconst_m1
            if_icmpeq 42
            iload 3 /* s */
            bipush 61
            if_icmpne 42
        39: .line 868
            iload 6 /* c */
            iconst_3
            iand
            ifle 40
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        40: .line 869
      StackMap locals:
      StackMap stack:
            aload 12 /* out */
            iload 2 /* index */
            iinc 2 /* index */ 1
            iload 4 /* a */
            iconst_2
            ishl
            iload 5 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        41: .line 870
            aload 12 /* out */
            iload 2 /* index */
            iinc 2 /* index */ 1
            iload 5 /* b */
            iconst_4
            ishl
            iload 6 /* c */
            iconst_2
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        42: .line 873
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            new org.jruby.util.ByteList
            dup
            aload 12 /* out */
            iconst_0
            iload 2 /* index */
            invokespecial org.jruby.util.ByteList.<init>:([BII)V
            invokevirtual org.jruby.Ruby.newString:(Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 12 // byte[] out
        end local 11 // int p
        end local 10 // int end
        end local 9 // int length
        end local 8 // int begin
        end local 7 // byte[] buf
        end local 6 // int c
        end local 5 // int b
        end local 4 // int a
        end local 3 // int s
        end local 2 // int index
        end local 1 // org.jruby.util.ByteList input
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   43     0  runtime  Lorg/jruby/Ruby;
            0   43     1    input  Lorg/jruby/util/ByteList;
            1   43     2    index  I
            2   43     3        s  I
            3   43     4        a  I
            4   43     5        b  I
            5   43     6        c  I
            6   43     7      buf  [B
            7   43     8    begin  I
            8   43     9   length  I
            9   43    10      end  I
           11   43    11        p  I
           12   43    12      out  [B
           26   31    13        d  I
    MethodParameters:
         Name  Flags
      runtime  
      input    

  public static org.jruby.runtime.builtin.IRubyObject unpack1WithBlock(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.util.ByteList, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString encoded
        start local 2 // org.jruby.util.ByteList formatString
        start local 3 // org.jruby.runtime.Block block
         0: .line 877
            aload 2 /* formatString */
            invokevirtual org.jruby.util.ByteList.realSize:()I
            istore 4 /* formatLength */
        start local 4 // int formatLength
         1: .line 880
            iload 4 /* formatLength */
            iconst_1
            if_icmplt 7
         2: .line 881
            aload 2 /* formatString */
            iconst_0
            invokevirtual org.jruby.util.ByteList.get:(I)I
            sipush 255
            iand
            i2b
            istore 5 /* first */
        start local 5 // byte first
         3: .line 883
            iload 5 /* first */
            bipush 109
            if_icmpne 7
         4: .line 884
            iload 4 /* formatLength */
            iconst_2
            if_icmpne 7
         5: .line 885
            aload 2 /* formatString */
            iconst_1
            invokevirtual org.jruby.util.ByteList.get:(I)I
            sipush 255
            iand
            i2b
            istore 6 /* second */
        start local 6 // byte second
         6: .line 887
            iload 6 /* second */
            bipush 48
            if_icmpne 7
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 1 /* encoded */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            invokestatic org.jruby.util.Pack.unpackBase46Strict:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            areturn
        end local 6 // byte second
        end local 5 // byte first
         7: .line 892
      StackMap locals: int
      StackMap stack:
            aload 0 /* context */
            aload 1 /* encoded */
            aload 2 /* formatString */
            iconst_2
            aload 3 /* block */
            invokestatic org.jruby.util.Pack.unpackInternal:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;ILorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 4 // int formatLength
        end local 3 // org.jruby.runtime.Block block
        end local 2 // org.jruby.util.ByteList formatString
        end local 1 // org.jruby.RubyString encoded
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0       context  Lorg/jruby/runtime/ThreadContext;
            0    8     1       encoded  Lorg/jruby/RubyString;
            0    8     2  formatString  Lorg/jruby/util/ByteList;
            0    8     3         block  Lorg/jruby/runtime/Block;
            1    8     4  formatLength  I
            3    7     5         first  B
            6    7     6        second  B
    MethodParameters:
              Name  Flags
      context       
      encoded       
      formatString  
      block         

  private static org.jruby.runtime.builtin.IRubyObject unpackInternal(org.jruby.runtime.ThreadContext, org.jruby.RubyString, org.jruby.util.ByteList, int, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;ILorg/jruby/runtime/Block;)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=16, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyString encoded
        start local 2 // org.jruby.util.ByteList formatString
        start local 3 // int mode
        start local 4 // org.jruby.runtime.Block block
         0: .line 896
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            astore 5 /* runtime */
        start local 5 // org.jruby.Ruby runtime
         1: .line 897
            iload 3 /* mode */
            iconst_1
            if_icmpeq 2
            iload 3 /* mode */
            iconst_2
            if_icmpne 3
      StackMap locals: org.jruby.Ruby
      StackMap stack:
         2: aconst_null
            goto 4
      StackMap locals:
      StackMap stack:
         3: aload 5 /* runtime */
            invokevirtual org.jruby.Ruby.newArray:()Lorg/jruby/RubyArray;
      StackMap locals:
      StackMap stack: org.jruby.RubyArray
         4: astore 6 /* result */
        start local 6 // org.jruby.RubyArray result
         5: .line 898
            aload 1 /* encoded */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 7 /* encodedString */
        start local 7 // org.jruby.util.ByteList encodedString
         6: .line 899
            aload 1 /* encoded */
            invokevirtual org.jruby.RubyString.isTaint:()Z
            istore 8 /* tainted */
        start local 8 // boolean tainted
         7: .line 901
            aload 2 /* formatString */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 2 /* formatString */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 2 /* formatString */
            invokevirtual org.jruby.util.ByteList.length:()I
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            astore 9 /* format */
        start local 9 // java.nio.ByteBuffer format
         8: .line 902
            aload 7 /* encodedString */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 7 /* encodedString */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 7 /* encodedString */
            invokevirtual org.jruby.util.ByteList.length:()I
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            astore 10 /* encode */
        start local 10 // java.nio.ByteBuffer encode
         9: .line 903
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        start local 11 // int next
        10: .line 904
            aconst_null
            astore 12 /* value */
        start local 12 // org.jruby.runtime.builtin.IRubyObject value
        11: .line 906
            goto 93
        12: .line 907
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyString org.jruby.util.ByteList int org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyArray org.jruby.util.ByteList int java.nio.ByteBuffer java.nio.ByteBuffer int org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            iload 11 /* next */
            istore 13 /* type */
        start local 13 // int type
        13: .line 908
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        14: .line 909
            ldc "cC"
            iload 13 /* type */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 16
            iload 11 /* next */
            ifne 16
        15: .line 910
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGetIgnoreNull:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        16: .line 913
      StackMap locals: int
      StackMap stack:
            iload 13 /* type */
            bipush 35
            if_icmpne 22
        17: .line 914
            goto 21
        18: .line 915
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            ifne 19
            goto 94
        19: .line 916
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            istore 13 /* type */
        20: .line 917
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        21: .line 914
      StackMap locals:
      StackMap stack:
            iload 13 /* type */
            bipush 10
            if_icmpne 18
        22: .line 922
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            bipush 95
            if_icmpeq 23
            iload 11 /* next */
            bipush 33
            if_icmpne 28
        23: .line 923
      StackMap locals:
      StackMap stack:
            ldc "sSiIlL"
            iload 13 /* type */
            invokevirtual java.lang.String.indexOf:(I)I
            istore 14 /* index */
        start local 14 // int index
        24: .line 924
            iload 14 /* index */
            iconst_m1
            if_icmpne 26
        25: .line 925
            aload 5 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 11 /* next */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "' allowed only after types "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "sSiIlL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        26: .line 927
      StackMap locals: int
      StackMap stack:
            ldc "sSiIqQ"
            iload 14 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            istore 13 /* type */
        27: .line 929
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        end local 14 // int index
        28: .line 932
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            bipush 62
            if_icmpeq 29
            iload 11 /* next */
            bipush 60
            if_icmpne 39
        29: .line 933
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            bipush 62
            if_icmpne 30
            bipush 61
            goto 31
      StackMap locals:
      StackMap stack:
        30: bipush 60
      StackMap locals:
      StackMap stack: int
        31: istore 11 /* next */
        32: .line 934
            getstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
            iload 13 /* type */
            iload 11 /* next */
            iadd
            invokevirtual java.lang.String.indexOf:(I)I
            istore 14 /* index */
        start local 14 // int index
        33: .line 935
            iload 14 /* index */
            iconst_m1
            if_icmpne 35
        34: .line 936
            aload 5 /* runtime */
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 11 /* next */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "' allowed only after types sSiIlLqQ"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        35: .line 938
      StackMap locals: int
      StackMap stack:
            getstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
            iload 14 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            istore 13 /* type */
        36: .line 939
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        37: .line 941
            iload 11 /* next */
            bipush 95
            if_icmpeq 38
            iload 11 /* next */
            bipush 33
            if_icmpne 39
      StackMap locals:
      StackMap stack:
        38: aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        end local 14 // int index
        39: .line 946
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            ifne 42
        40: .line 947
            iconst_1
            istore 14 /* occurrences */
        start local 14 // int occurrences
        41: .line 948
            goto 55
        end local 14 // int occurrences
        42: .line 949
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            bipush 42
            if_icmpne 46
        43: .line 950
            iconst_m1
            istore 14 /* occurrences */
        start local 14 // int occurrences
        44: .line 951
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        45: .line 952
            goto 55
        end local 14 // int occurrences
      StackMap locals:
      StackMap stack:
        46: getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iload 11 /* next */
            invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
            ifeq 52
        47: .line 953
            iconst_0
            istore 14 /* occurrences */
        start local 14 // int occurrences
        48: .line 955
      StackMap locals: int
      StackMap stack:
            iload 14 /* occurrences */
            bipush 10
            imul
            iload 11 /* next */
            sipush 255
            iand
            i2c
            bipush 10
            invokestatic java.lang.Character.digit:(CI)I
            iadd
            istore 14 /* occurrences */
        49: .line 956
            aload 9 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        50: .line 957
            iload 11 /* next */
            ifeq 55
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iload 11 /* next */
            invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
            ifne 48
        51: .line 958
            goto 55
        end local 14 // int occurrences
        52: .line 959
      StackMap locals:
      StackMap stack:
            iload 13 /* type */
            bipush 64
            if_icmpne 53
            iconst_0
            goto 54
      StackMap locals:
      StackMap stack:
        53: iconst_1
      StackMap locals:
      StackMap stack: int
        54: istore 14 /* occurrences */
        start local 14 // int occurrences
        55: .line 964
      StackMap locals: int
      StackMap stack:
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            iload 13 /* type */
            aaload
            astore 15 /* converter */
        start local 15 // org.jruby.util.Pack$Converter converter
        56: .line 965
            aload 15 /* converter */
            ifnull 60
        57: .line 966
            aload 0 /* context */
            aload 5 /* runtime */
            aload 10 /* encode */
            iload 14 /* occurrences */
            aload 6 /* result */
            aload 4 /* block */
            aload 15 /* converter */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.decode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;Lorg/jruby/util/Pack$Converter;I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        58: .line 967
            iload 3 /* mode */
            iconst_2
            if_icmpne 93
            aload 12 /* value */
            ifnull 93
        59: .line 968
            aload 12 /* value */
            areturn
        60: .line 975
      StackMap locals: org.jruby.util.Pack$Converter
      StackMap stack:
            iload 13 /* type */
            lookupswitch { // 16
                   37: 63
                   64: 61
                   65: 64
                   66: 72
                   72: 76
                   77: 82
                   85: 84
                   88: 86
                   90: 66
                   97: 68
                   98: 70
                  104: 74
                  109: 80
                  117: 78
                  119: 90
                  120: 88
              default: 91
          }
        61: .line 977
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            aload 7 /* encodedString */
            aload 10 /* encode */
            iload 14 /* occurrences */
            invokestatic org.jruby.util.Pack.unpack_at:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/nio/ByteBuffer;I)V
        62: .line 978
            goto 91
        63: .line 980
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            ldc "% is not supported"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        64: .line 982
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_A:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        65: .line 983
            goto 91
        66: .line 985
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_Z:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        67: .line 986
            goto 91
        68: .line 988
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_a:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        69: .line 989
            goto 91
        70: .line 991
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_b:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        71: .line 992
            goto 91
        72: .line 994
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_B:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        73: .line 995
            goto 91
        74: .line 997
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_h:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        75: .line 998
            goto 91
        76: .line 1000
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_H:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        77: .line 1001
            goto 91
        78: .line 1003
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_u:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        79: .line 1004
            goto 91
        80: .line 1006
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 5 /* runtime */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_m:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        81: .line 1007
            goto 91
        82: .line 1009
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 6 /* result */
            iload 8 /* tainted */
            aload 10 /* encode */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_M:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        83: .line 1010
            goto 91
        84: .line 1012
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 5 /* runtime */
            aload 6 /* result */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_U:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Ljava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        85: .line 1013
            goto 91
        86: .line 1015
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            aload 10 /* encode */
            iload 14 /* occurrences */
            invokestatic org.jruby.util.Pack.unpack_X:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)V
        87: .line 1016
            goto 91
        88: .line 1018
      StackMap locals:
      StackMap stack:
            aload 5 /* runtime */
            aload 10 /* encode */
            iload 14 /* occurrences */
            invokestatic org.jruby.util.Pack.unpack_x:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)V
        89: .line 1019
            goto 91
        90: .line 1021
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 4 /* block */
            aload 5 /* runtime */
            aload 6 /* result */
            aload 10 /* encode */
            iload 14 /* occurrences */
            iload 3 /* mode */
            invokestatic org.jruby.util.Pack.unpack_w:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Ljava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 12 /* value */
        91: .line 1024
      StackMap locals:
      StackMap stack:
            iload 3 /* mode */
            iconst_2
            if_icmpne 93
            aload 12 /* value */
            ifnull 93
        92: .line 1025
            aload 12 /* value */
            areturn
        end local 15 // org.jruby.util.Pack$Converter converter
        end local 14 // int occurrences
        end local 13 // int type
        93: .line 906
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            ifne 12
        94: .line 1028
      StackMap locals:
      StackMap stack:
            aload 6 /* result */
            areturn
        end local 12 // org.jruby.runtime.builtin.IRubyObject value
        end local 11 // int next
        end local 10 // java.nio.ByteBuffer encode
        end local 9 // java.nio.ByteBuffer format
        end local 8 // boolean tainted
        end local 7 // org.jruby.util.ByteList encodedString
        end local 6 // org.jruby.RubyArray result
        end local 5 // org.jruby.Ruby runtime
        end local 4 // org.jruby.runtime.Block block
        end local 3 // int mode
        end local 2 // org.jruby.util.ByteList formatString
        end local 1 // org.jruby.RubyString encoded
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   95     0        context  Lorg/jruby/runtime/ThreadContext;
            0   95     1        encoded  Lorg/jruby/RubyString;
            0   95     2   formatString  Lorg/jruby/util/ByteList;
            0   95     3           mode  I
            0   95     4          block  Lorg/jruby/runtime/Block;
            1   95     5        runtime  Lorg/jruby/Ruby;
            5   95     6         result  Lorg/jruby/RubyArray;
            6   95     7  encodedString  Lorg/jruby/util/ByteList;
            7   95     8        tainted  Z
            8   95     9         format  Ljava/nio/ByteBuffer;
            9   95    10         encode  Ljava/nio/ByteBuffer;
           10   95    11           next  I
           11   95    12          value  Lorg/jruby/runtime/builtin/IRubyObject;
           13   93    13           type  I
           24   28    14          index  I
           33   39    14          index  I
           41   42    14    occurrences  I
           44   46    14    occurrences  I
           48   52    14    occurrences  I
           55   93    14    occurrences  I
           56   93    15      converter  Lorg/jruby/util/Pack$Converter;
    MethodParameters:
              Name  Flags
      context       
      encoded       
      formatString  
      mode          
      block         

  private static org.jruby.runtime.builtin.IRubyObject unpack_w(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.Ruby, org.jruby.RubyArray, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Ljava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=17, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.Ruby runtime
        start local 3 // org.jruby.RubyArray result
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1032
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 2
         1: .line 1033
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* occurrences */
         2: .line 1036
      StackMap locals:
      StackMap stack:
            lconst_0
            lstore 7 /* ul */
        start local 7 // long ul
         3: .line 1037
            ldc -144115188075855872
            lstore 9 /* ulmask */
        start local 9 // long ulmask
         4: .line 1038
            aload 2 /* runtime */
            ldc 128
            invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
            astore 11 /* big128 */
        start local 11 // org.jruby.RubyBignum big128
         5: .line 1039
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.position:()I
            istore 12 /* pos */
        start local 12 // int pos
         6: .line 1041
            goto 38
         7: .line 1042
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyArray java.nio.ByteBuffer int int long long org.jruby.RubyBignum int
      StackMap stack:
            lload 7 /* ul */
            bipush 7
            lshl
            lstore 7 /* ul */
         8: .line 1043
            lload 7 /* ul */
            aload 4 /* encode */
            iload 12 /* pos */
            invokevirtual java.nio.ByteBuffer.get:(I)B
            bipush 127
            iand
            i2l
            lor
            lstore 7 /* ul */
         9: .line 1044
            aload 4 /* encode */
            iload 12 /* pos */
            iinc 12 /* pos */ 1
            invokevirtual java.nio.ByteBuffer.get:(I)B
            sipush 128
            iand
            ifne 17
        10: .line 1045
            aload 2 /* runtime */
            lload 7 /* ul */
            invokestatic org.jruby.RubyFixnum.newFixnum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyFixnum;
            astore 13 /* value */
        start local 13 // org.jruby.runtime.builtin.IRubyObject value
        11: .line 1046
            iload 6 /* mode */
            iconst_2
            if_icmpne 13
        12: .line 1047
            aload 13 /* value */
            areturn
        13: .line 1049
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 3 /* result */
            aload 13 /* value */
            iload 6 /* mode */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
        14: .line 1050
            iinc 5 /* occurrences */ -1
        15: .line 1051
            lconst_0
            lstore 7 /* ul */
        end local 13 // org.jruby.runtime.builtin.IRubyObject value
        16: .line 1052
            goto 38
      StackMap locals:
      StackMap stack:
        17: lload 7 /* ul */
            lload 9 /* ulmask */
            land
            lconst_0
            lcmp
            ifne 38
        18: .line 1053
            aload 2 /* runtime */
            lload 7 /* ul */
            invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
            astore 13 /* big */
        start local 13 // org.jruby.RubyBignum big
        19: .line 1054
            goto 37
        20: .line 1055
      StackMap locals: org.jruby.RubyBignum
      StackMap stack:
            aload 13 /* big */
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 11 /* big128 */
            invokevirtual org.jruby.RubyBignum.op_mul:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 14 /* mulResult */
        start local 14 // org.jruby.runtime.builtin.IRubyObject mulResult
        21: .line 1056
            aload 14 /* mulResult */
            aload 2 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            ldc "+"
        22: .line 1057
            aload 2 /* runtime */
            aload 4 /* encode */
            iload 12 /* pos */
            invokevirtual java.nio.ByteBuffer.get:(I)B
            bipush 127
            iand
            i2l
            invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
        23: .line 1056
            invokeinterface org.jruby.runtime.builtin.IRubyObject.callMethod:(Lorg/jruby/runtime/ThreadContext;Ljava/lang/String;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 15 /* v */
        start local 15 // org.jruby.runtime.builtin.IRubyObject v
        24: .line 1058
            aload 15 /* v */
            instanceof org.jruby.RubyFixnum
            ifeq 27
        25: .line 1059
            aload 2 /* runtime */
            aload 15 /* v */
            invokestatic org.jruby.RubyNumeric.fix2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
            astore 13 /* big */
        26: .line 1060
            goto 29
      StackMap locals: org.jruby.runtime.builtin.IRubyObject org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
        27: aload 15 /* v */
            instanceof org.jruby.RubyBignum
            ifeq 29
        28: .line 1061
            aload 15 /* v */
            checkcast org.jruby.RubyBignum
            astore 13 /* big */
        29: .line 1063
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            iload 12 /* pos */
            iinc 12 /* pos */ 1
            invokevirtual java.nio.ByteBuffer.get:(I)B
            sipush 128
            iand
            ifne 37
        30: .line 1064
            aload 2 /* runtime */
            aload 13 /* big */
            invokevirtual org.jruby.RubyBignum.getValue:()Ljava/math/BigInteger;
            invokestatic org.jruby.RubyBignum.bignorm:(Lorg/jruby/Ruby;Ljava/math/BigInteger;)Lorg/jruby/RubyInteger;
            astore 16 /* value */
        start local 16 // org.jruby.runtime.builtin.IRubyObject value
        31: .line 1065
            iload 6 /* mode */
            iconst_2
            if_icmpne 33
        32: .line 1066
            aload 16 /* value */
            areturn
        33: .line 1068
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 3 /* result */
            aload 16 /* value */
            iload 6 /* mode */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
        34: .line 1069
            iinc 5 /* occurrences */ -1
        35: .line 1070
            lconst_0
            lstore 7 /* ul */
        36: .line 1071
            goto 38
        end local 16 // org.jruby.runtime.builtin.IRubyObject value
        end local 15 // org.jruby.runtime.builtin.IRubyObject v
        end local 14 // org.jruby.runtime.builtin.IRubyObject mulResult
        37: .line 1054
      StackMap locals:
      StackMap stack:
            iload 5 /* occurrences */
            ifle 38
            iload 12 /* pos */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.limit:()I
            if_icmplt 20
        end local 13 // org.jruby.RubyBignum big
        38: .line 1041
      StackMap locals:
      StackMap stack:
            iload 5 /* occurrences */
            ifle 39
            iload 12 /* pos */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.limit:()I
            if_icmplt 7
        39: .line 1077
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            iload 12 /* pos */
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
        40: .line 1078
            goto 43
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        41: pop
        42: .line 1079
            aload 2 /* runtime */
            ldc "in `unpack': poorly encoded input"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        43: .line 1081
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 12 // int pos
        end local 11 // org.jruby.RubyBignum big128
        end local 9 // long ulmask
        end local 7 // long ul
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // org.jruby.RubyArray result
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   44     0      context  Lorg/jruby/runtime/ThreadContext;
            0   44     1        block  Lorg/jruby/runtime/Block;
            0   44     2      runtime  Lorg/jruby/Ruby;
            0   44     3       result  Lorg/jruby/RubyArray;
            0   44     4       encode  Ljava/nio/ByteBuffer;
            0   44     5  occurrences  I
            0   44     6         mode  I
            3   44     7           ul  J
            4   44     9       ulmask  J
            5   44    11       big128  Lorg/jruby/RubyBignum;
            6   44    12          pos  I
           11   16    13        value  Lorg/jruby/runtime/builtin/IRubyObject;
           19   38    13          big  Lorg/jruby/RubyBignum;
           21   37    14    mulResult  Lorg/jruby/runtime/builtin/IRubyObject;
           24   37    15            v  Lorg/jruby/runtime/builtin/IRubyObject;
           31   37    16        value  Lorg/jruby/runtime/builtin/IRubyObject;
      Exception table:
        from    to  target  type
          39    40      41  Class java.lang.IllegalArgumentException
    MethodParameters:
             Name  Flags
      context      
      block        
      runtime      
      result       
      encode       
      occurrences  
      mode         

  private static void unpack_x(org.jruby.Ruby, java.nio.ByteBuffer, int);
    descriptor: (Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.nio.ByteBuffer encode
        start local 2 // int occurrences
         0: .line 1085
            iload 2 /* occurrences */
            iconst_m1
            if_icmpne 2
         1: .line 1086
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 2 /* occurrences */
         2: .line 1090
      StackMap locals:
      StackMap stack:
            aload 1 /* encode */
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.position:()I
            iload 2 /* occurrences */
            iadd
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
         3: .line 1091
            goto 6
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         4: pop
         5: .line 1092
            aload 0 /* runtime */
            ldc "in `unpack': x outside of string"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 1094
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int occurrences
        end local 1 // java.nio.ByteBuffer encode
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0      runtime  Lorg/jruby/Ruby;
            0    7     1       encode  Ljava/nio/ByteBuffer;
            0    7     2  occurrences  I
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.IllegalArgumentException
    MethodParameters:
             Name  Flags
      runtime      
      encode       
      occurrences  

  private static void unpack_X(org.jruby.Ruby, java.nio.ByteBuffer, int);
    descriptor: (Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.nio.ByteBuffer encode
        start local 2 // int occurrences
         0: .line 1097
            iload 2 /* occurrences */
            iconst_m1
            if_icmpne 2
         1: .line 1101
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 2 /* occurrences */
         2: .line 1105
      StackMap locals:
      StackMap stack:
            aload 1 /* encode */
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.position:()I
            iload 2 /* occurrences */
            isub
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
         3: .line 1106
            goto 6
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         4: pop
         5: .line 1107
            aload 0 /* runtime */
            ldc "in `unpack': X outside of string"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         6: .line 1109
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int occurrences
        end local 1 // java.nio.ByteBuffer encode
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0      runtime  Lorg/jruby/Ruby;
            0    7     1       encode  Ljava/nio/ByteBuffer;
            0    7     2  occurrences  I
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.IllegalArgumentException
    MethodParameters:
             Name  Flags
      runtime      
      encode       
      occurrences  

  private static org.jruby.runtime.builtin.IRubyObject unpack_U(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.Ruby, org.jruby.RubyArray, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Ljava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.Ruby runtime
        start local 3 // org.jruby.RubyArray result
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1112
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 11
         1: .line 1113
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* occurrences */
         2: .line 1116
            goto 11
         3: .line 1123
      StackMap locals:
      StackMap stack:
            aload 2 /* runtime */
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.utf8Decode:(Ljava/nio/ByteBuffer;)I
            invokevirtual org.jruby.Ruby.newFixnum:(I)Lorg/jruby/RubyFixnum;
            astore 7 /* item */
        start local 7 // org.jruby.RubyFixnum item
         4: .line 1124
            iload 6 /* mode */
            iconst_2
            if_icmpne 7
         5: .line 1125
            aload 7 /* item */
         6: areturn
         7: .line 1127
      StackMap locals: org.jruby.RubyFixnum
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 3 /* result */
            aload 7 /* item */
            iload 6 /* mode */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
        end local 7 // org.jruby.RubyFixnum item
         8: .line 1128
            goto 11
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyArray java.nio.ByteBuffer int int
      StackMap stack: java.lang.IllegalArgumentException
         9: astore 7 /* e */
        start local 7 // java.lang.IllegalArgumentException e
        10: .line 1129
            aload 2 /* runtime */
            aload 7 /* e */
            invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 7 // java.lang.IllegalArgumentException e
        11: .line 1116
      StackMap locals:
      StackMap stack:
            iload 5 /* occurrences */
            iinc 5 /* occurrences */ -1
            ifle 12
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            ifgt 3
        12: .line 1132
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // org.jruby.RubyArray result
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0      context  Lorg/jruby/runtime/ThreadContext;
            0   13     1        block  Lorg/jruby/runtime/Block;
            0   13     2      runtime  Lorg/jruby/Ruby;
            0   13     3       result  Lorg/jruby/RubyArray;
            0   13     4       encode  Ljava/nio/ByteBuffer;
            0   13     5  occurrences  I
            0   13     6         mode  I
            4    8     7         item  Lorg/jruby/RubyFixnum;
           10   11     7            e  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           3     6       9  Class java.lang.IllegalArgumentException
           7     8       9  Class java.lang.IllegalArgumentException
    MethodParameters:
             Name  Flags
      context      
      block        
      runtime      
      result       
      encode       
      occurrences  
      mode         

  private static org.jruby.runtime.builtin.IRubyObject unpack_M(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=14, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int mode
         0: .line 1136
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_0
            invokestatic java.lang.Math.max:(II)I
            newarray 8
            astore 6 /* lElem */
        start local 6 // byte[] lElem
         1: .line 1137
            iconst_0
            istore 7 /* index */
        start local 7 // int index
         2: .line 1139
      StackMap locals: byte[] int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 3
            goto 25
         3: .line 1140
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 8 /* c */
        start local 8 // int c
         4: .line 1141
            iload 8 /* c */
            bipush 61
            if_icmpeq 7
         5: .line 1142
            aload 6 /* lElem */
            iload 7 /* index */
            iinc 7 /* index */ 1
            iload 8 /* c */
            i2b
            bastore
         6: .line 1143
            goto 2
         7: .line 1144
      StackMap locals: int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 8
            goto 25
         8: .line 1145
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokestatic com.headius.backport9.buffer.Buffers.markBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
            pop
         9: .line 1146
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* c1 */
        start local 9 // int c1
        10: .line 1147
            iload 9 /* c1 */
            bipush 10
            if_icmpeq 2
            iload 9 /* c1 */
            bipush 13
            if_icmpne 11
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            dup
            istore 9 /* c1 */
            bipush 10
            if_icmpne 11
            goto 2
        11: .line 1148
      StackMap locals: int
      StackMap stack:
            iload 9 /* c1 */
            bipush 16
            invokestatic java.lang.Character.digit:(II)I
            istore 10 /* d1 */
        start local 10 // int d1
        12: .line 1149
            iload 10 /* d1 */
            iconst_m1
            if_icmpne 15
        13: .line 1150
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.reset:()Ljava/nio/Buffer;
            pop
        14: .line 1151
            goto 25
        15: .line 1153
      StackMap locals: int
      StackMap stack:
            aload 4 /* encode */
            invokestatic com.headius.backport9.buffer.Buffers.markBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
            pop
        16: .line 1154
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 17
            goto 25
        17: .line 1155
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* c2 */
        start local 11 // int c2
        18: .line 1156
            iload 11 /* c2 */
            bipush 16
            invokestatic java.lang.Character.digit:(II)I
            istore 12 /* d2 */
        start local 12 // int d2
        19: .line 1157
            iload 12 /* d2 */
            iconst_m1
            if_icmpne 22
        20: .line 1158
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.reset:()Ljava/nio/Buffer;
            pop
        21: .line 1159
            goto 25
        22: .line 1161
      StackMap locals: int int
      StackMap stack:
            iload 10 /* d1 */
            iconst_4
            ishl
            iload 12 /* d2 */
            ior
            i2b
            istore 13 /* value */
        start local 13 // byte value
        23: .line 1162
            aload 6 /* lElem */
            iload 7 /* index */
            iinc 7 /* index */ 1
            iload 13 /* value */
            bastore
        end local 13 // byte value
        end local 12 // int d2
        end local 11 // int c2
        end local 10 // int d1
        end local 9 // int c1
        end local 8 // int c
        24: .line 1138
            goto 2
        25: .line 1165
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int byte[] int
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 6 /* lElem */
            iconst_0
            iload 7 /* index */
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
            iload 5 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // int index
        end local 6 // byte[] lElem
        end local 5 // int mode
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   26     0  context  Lorg/jruby/runtime/ThreadContext;
            0   26     1    block  Lorg/jruby/runtime/Block;
            0   26     2   result  Lorg/jruby/RubyArray;
            0   26     3  tainted  Z
            0   26     4   encode  Ljava/nio/ByteBuffer;
            0   26     5     mode  I
            1   26     6    lElem  [B
            2   26     7    index  I
            4   24     8        c  I
           10   24     9       c1  I
           12   24    10       d1  I
           18   24    11       c2  I
           19   24    12       d2  I
           23   24    13    value  B
    MethodParameters:
         Name  Flags
      context  
      block    
      result   
      tainted  
      encode   
      mode     

  private static org.jruby.runtime.builtin.IRubyObject unpack_m(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.Ruby, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=15, args_size=8
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.Ruby runtime
        start local 3 // org.jruby.RubyArray result
        start local 4 // boolean tainted
        start local 5 // java.nio.ByteBuffer encode
        start local 6 // int occurrences
        start local 7 // int mode
         0: .line 1169
            aload 5 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_3
            imul
            iconst_4
            idiv
            istore 8 /* length */
        start local 8 // int length
         1: .line 1170
            iload 8 /* length */
            newarray 8
            astore 9 /* lElem */
        start local 9 // byte[] lElem
         2: .line 1171
            iconst_m1
            istore 10 /* a */
        start local 10 // int a
         3: iconst_m1
            istore 11 /* b */
        start local 11 // int b
         4: iconst_0
            istore 12 /* c */
        start local 12 // int c
         5: .line 1172
            iconst_0
            istore 13 /* index */
        start local 13 // int index
         6: .line 1173
            iconst_m1
            istore 14 /* s */
        start local 14 // int s
         7: .line 1175
            iload 6 /* occurrences */
            ifne 10
         8: .line 1176
            aload 2 /* runtime */
            aload 5 /* encode */
            aload 9 /* lElem */
            iload 10 /* a */
            iload 11 /* b */
            iload 12 /* c */
            iload 13 /* index */
            iload 14 /* s */
            invokestatic org.jruby.util.Pack.unpack_m_zeroOccurrences:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;[BIIIII)I
            istore 13 /* index */
         9: .line 1177
            goto 11
        10: .line 1178
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.Ruby org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int int int int int
      StackMap stack:
            aload 5 /* encode */
            aload 9 /* lElem */
            iload 10 /* a */
            iload 11 /* b */
            iload 12 /* c */
            iload 13 /* index */
            invokestatic org.jruby.util.Pack.unpack_m_nonzeroOccurrences:(Ljava/nio/ByteBuffer;[BIIII)I
            istore 13 /* index */
        11: .line 1180
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 3 /* result */
            new org.jruby.util.ByteList
            dup
            aload 9 /* lElem */
            iconst_0
            iload 13 /* index */
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
            iload 7 /* mode */
            iload 4 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 14 // int s
        end local 13 // int index
        end local 12 // int c
        end local 11 // int b
        end local 10 // int a
        end local 9 // byte[] lElem
        end local 8 // int length
        end local 7 // int mode
        end local 6 // int occurrences
        end local 5 // java.nio.ByteBuffer encode
        end local 4 // boolean tainted
        end local 3 // org.jruby.RubyArray result
        end local 2 // org.jruby.Ruby runtime
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0      context  Lorg/jruby/runtime/ThreadContext;
            0   12     1        block  Lorg/jruby/runtime/Block;
            0   12     2      runtime  Lorg/jruby/Ruby;
            0   12     3       result  Lorg/jruby/RubyArray;
            0   12     4      tainted  Z
            0   12     5       encode  Ljava/nio/ByteBuffer;
            0   12     6  occurrences  I
            0   12     7         mode  I
            1   12     8       length  I
            2   12     9        lElem  [B
            3   12    10            a  I
            4   12    11            b  I
            5   12    12            c  I
            6   12    13        index  I
            7   12    14            s  I
    MethodParameters:
             Name  Flags
      context      
      block        
      runtime      
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static int unpack_m_nonzeroOccurrences(java.nio.ByteBuffer, byte[], int, int, int, int);
    descriptor: (Ljava/nio/ByteBuffer;[BIIII)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // java.nio.ByteBuffer encode
        start local 1 // byte[] lElem
        start local 2 // int a
        start local 3 // int b
        start local 4 // int c
        start local 5 // int index
         0: .line 1186
            goto 35
         1: .line 1187
      StackMap locals:
      StackMap stack:
            iconst_m1
            dup
            istore 6 /* d */
        start local 6 // int d
         2: dup
            istore 4 /* c */
            dup
            istore 3 /* b */
            istore 2 /* a */
         3: .line 1190
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        start local 7 // int s
         4: .line 1191
            goto 6
         5: .line 1192
      StackMap locals: int int
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
         6: .line 1191
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            dup
            istore 2 /* a */
            iconst_m1
            if_icmpne 7
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 5
         7: .line 1194
      StackMap locals:
      StackMap stack:
            iload 2 /* a */
            iconst_m1
            if_icmpne 8
            goto 36
         8: .line 1197
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
         9: .line 1198
            goto 11
        10: .line 1199
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        11: .line 1198
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            dup
            istore 3 /* b */
            iconst_m1
            if_icmpne 12
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 10
        12: .line 1201
      StackMap locals:
      StackMap stack:
            iload 3 /* b */
            iconst_m1
            if_icmpne 13
            goto 36
        13: .line 1204
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        14: .line 1205
            goto 17
        15: .line 1206
      StackMap locals:
      StackMap stack:
            iload 7 /* s */
            bipush 61
            if_icmpne 16
            goto 18
        16: .line 1207
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        17: .line 1205
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            dup
            istore 4 /* c */
            iconst_m1
            if_icmpne 18
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 15
        18: .line 1209
      StackMap locals:
      StackMap stack:
            iload 7 /* s */
            bipush 61
            if_icmpeq 19
            iload 4 /* c */
            iconst_m1
            if_icmpne 22
        19: .line 1210
      StackMap locals:
      StackMap stack:
            iload 7 /* s */
            bipush 61
            if_icmpne 36
        20: .line 1211
            aload 0 /* encode */
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.position:()I
            iconst_1
            isub
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
        21: .line 1213
            goto 36
        22: .line 1217
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        23: .line 1218
            goto 26
        24: .line 1219
      StackMap locals:
      StackMap stack:
            iload 7 /* s */
            bipush 61
            if_icmpne 25
            goto 27
        25: .line 1220
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        26: .line 1218
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            dup
            istore 6 /* d */
            iconst_m1
            if_icmpne 27
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 24
        27: .line 1222
      StackMap locals:
      StackMap stack:
            iload 7 /* s */
            bipush 61
            if_icmpeq 28
            iload 6 /* d */
            iconst_m1
            if_icmpne 31
        28: .line 1223
      StackMap locals:
      StackMap stack:
            iload 7 /* s */
            bipush 61
            if_icmpne 36
        29: .line 1224
            aload 0 /* encode */
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.position:()I
            iconst_1
            isub
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
        30: .line 1226
            goto 36
        31: .line 1230
      StackMap locals:
      StackMap stack:
            aload 1 /* lElem */
            iload 5 /* index */
            iinc 5 /* index */ 1
            iload 2 /* a */
            iconst_2
            ishl
            iload 3 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        32: .line 1231
            aload 1 /* lElem */
            iload 5 /* index */
            iinc 5 /* index */ 1
            iload 3 /* b */
            iconst_4
            ishl
            iload 4 /* c */
            iconst_2
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        33: .line 1232
            aload 1 /* lElem */
            iload 5 /* index */
            iinc 5 /* index */ 1
            iload 4 /* c */
            bipush 6
            ishl
            iload 6 /* d */
            ior
            sipush 255
            iand
            i2b
            bastore
        34: .line 1233
            iconst_m1
            istore 2 /* a */
        end local 7 // int s
        end local 6 // int d
        35: .line 1186
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 1
        36: .line 1236
      StackMap locals:
      StackMap stack:
            iload 2 /* a */
            iconst_m1
            if_icmpeq 42
            iload 3 /* b */
            iconst_m1
            if_icmpeq 42
        37: .line 1237
            iload 4 /* c */
            iconst_m1
            if_icmpne 40
        38: .line 1238
            aload 1 /* lElem */
            iload 5 /* index */
            iinc 5 /* index */ 1
            iload 2 /* a */
            iconst_2
            ishl
            iload 3 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        39: .line 1239
            goto 42
        40: .line 1240
      StackMap locals:
      StackMap stack:
            aload 1 /* lElem */
            iload 5 /* index */
            iinc 5 /* index */ 1
            iload 2 /* a */
            iconst_2
            ishl
            iload 3 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        41: .line 1241
            aload 1 /* lElem */
            iload 5 /* index */
            iinc 5 /* index */ 1
            iload 3 /* b */
            iconst_4
            ishl
            iload 4 /* c */
            iconst_2
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        42: .line 1244
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            ireturn
        end local 5 // int index
        end local 4 // int c
        end local 3 // int b
        end local 2 // int a
        end local 1 // byte[] lElem
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   43     0  encode  Ljava/nio/ByteBuffer;
            0   43     1   lElem  [B
            0   43     2       a  I
            0   43     3       b  I
            0   43     4       c  I
            0   43     5   index  I
            2   35     6       d  I
            4   35     7       s  I
    MethodParameters:
        Name  Flags
      encode  
      lElem   
      a       
      b       
      c       
      index   

  private static int unpack_m_zeroOccurrences(org.jruby.Ruby, java.nio.ByteBuffer, byte[], int, int, int, int, int);
    descriptor: (Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;[BIIIII)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=8
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.nio.ByteBuffer encode
        start local 2 // byte[] lElem
        start local 3 // int a
        start local 4 // int b
        start local 5 // int c
        start local 6 // int index
        start local 7 // int s
         0: .line 1249
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_4
            irem
            ifeq 22
         1: .line 1250
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 1253
      StackMap locals:
      StackMap stack:
            iconst_m1
            dup
            istore 5 /* c */
            dup
            istore 4 /* b */
            istore 3 /* a */
         3: .line 1254
            bipush -2
            istore 8 /* d */
        start local 8 // int d
         4: .line 1257
            aload 1 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
         5: .line 1258
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            istore 3 /* a */
         6: .line 1259
            iload 3 /* a */
            iconst_m1
            if_icmpne 7
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 1262
      StackMap locals: int
      StackMap stack:
            aload 1 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
         8: .line 1263
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            istore 4 /* b */
         9: .line 1264
            iload 4 /* b */
            iconst_m1
            if_icmpne 10
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        10: .line 1267
      StackMap locals:
      StackMap stack:
            aload 1 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        11: .line 1268
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            istore 5 /* c */
        12: .line 1269
            iload 7 /* s */
            bipush 61
            if_icmpne 14
        13: .line 1270
            aload 1 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            bipush 61
            if_icmpeq 23
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        14: .line 1273
      StackMap locals:
      StackMap stack:
            iload 5 /* c */
            iconst_m1
            if_icmpne 15
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        15: .line 1276
      StackMap locals:
      StackMap stack:
            aload 1 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 7 /* s */
        16: .line 1277
            getstatic org.jruby.util.Pack.b64_xtable:[I
            iload 7 /* s */
            iaload
            istore 8 /* d */
        17: .line 1278
            iload 7 /* s */
            bipush 61
            if_icmpne 18
            goto 23
        18: .line 1279
      StackMap locals:
      StackMap stack:
            iload 8 /* d */
            iconst_m1
            if_icmpne 19
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        19: .line 1282
      StackMap locals:
      StackMap stack:
            aload 2 /* lElem */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 3 /* a */
            iconst_2
            ishl
            iload 4 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        20: .line 1283
            aload 2 /* lElem */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 4 /* b */
            iconst_4
            ishl
            iload 5 /* c */
            iconst_2
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        21: .line 1284
            aload 2 /* lElem */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 5 /* c */
            bipush 6
            ishl
            iload 8 /* d */
            ior
            sipush 255
            iand
            i2b
            bastore
        end local 8 // int d
        22: .line 1252
      StackMap locals:
      StackMap stack:
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 23
            iload 7 /* s */
            bipush 61
            if_icmpne 2
        23: .line 1287
      StackMap locals:
      StackMap stack:
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 24
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        24: .line 1289
      StackMap locals:
      StackMap stack:
            iload 3 /* a */
            iconst_m1
            if_icmpeq 33
            iload 4 /* b */
            iconst_m1
            if_icmpeq 33
        25: .line 1290
            iload 5 /* c */
            iconst_m1
            if_icmpne 29
            iload 7 /* s */
            bipush 61
            if_icmpne 29
        26: .line 1291
            iload 4 /* b */
            bipush 15
            iand
            ifle 27
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        27: .line 1292
      StackMap locals:
      StackMap stack:
            aload 2 /* lElem */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 3 /* a */
            iconst_2
            ishl
            iload 4 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        28: .line 1293
            goto 33
      StackMap locals:
      StackMap stack:
        29: iload 5 /* c */
            iconst_m1
            if_icmpeq 33
            iload 7 /* s */
            bipush 61
            if_icmpne 33
        30: .line 1294
            iload 5 /* c */
            iconst_3
            iand
            ifle 31
            aload 0 /* runtime */
            ldc "invalid base64"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        31: .line 1295
      StackMap locals:
      StackMap stack:
            aload 2 /* lElem */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 3 /* a */
            iconst_2
            ishl
            iload 4 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        32: .line 1296
            aload 2 /* lElem */
            iload 6 /* index */
            iinc 6 /* index */ 1
            iload 4 /* b */
            iconst_4
            ishl
            iload 5 /* c */
            iconst_2
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        33: .line 1299
      StackMap locals:
      StackMap stack:
            iload 6 /* index */
            ireturn
        end local 7 // int s
        end local 6 // int index
        end local 5 // int c
        end local 4 // int b
        end local 3 // int a
        end local 2 // byte[] lElem
        end local 1 // java.nio.ByteBuffer encode
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0  runtime  Lorg/jruby/Ruby;
            0   34     1   encode  Ljava/nio/ByteBuffer;
            0   34     2    lElem  [B
            0   34     3        a  I
            0   34     4        b  I
            0   34     5        c  I
            0   34     6    index  I
            0   34     7        s  I
            4   22     8        d  I
    MethodParameters:
         Name  Flags
      runtime  
      encode   
      lElem    
      a        
      b        
      c        
      index    
      s        

  private static org.jruby.runtime.builtin.IRubyObject unpack_u(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=19, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int mode
         0: .line 1303
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_3
            imul
            iconst_4
            idiv
            istore 6 /* length */
        start local 6 // int length
         1: .line 1304
            iload 6 /* length */
            newarray 8
            astore 7 /* lElem */
        start local 7 // byte[] lElem
         2: .line 1305
            iconst_0
            istore 8 /* index */
        start local 8 // int index
         3: .line 1306
            iconst_0
            istore 9 /* s */
        start local 9 // int s
         4: .line 1307
            iconst_0
            istore 10 /* total */
        start local 10 // int total
         5: .line 1308
            iload 6 /* length */
            ifle 58
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 9 /* s */
         6: .line 1309
            goto 58
         7: .line 1311
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int
      StackMap stack:
            iconst_3
            newarray 8
            astore 15 /* hunk */
        start local 15 // byte[] hunk
         8: .line 1313
            iload 9 /* s */
            bipush 32
            isub
            bipush 63
            iand
            istore 16 /* len */
        start local 16 // int len
         9: .line 1314
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* s */
        10: .line 1315
            iload 10 /* total */
            iload 16 /* len */
            iadd
            istore 10 /* total */
        11: .line 1316
            iload 10 /* total */
            iload 6 /* length */
            if_icmple 46
        12: .line 1317
            iload 16 /* len */
            iload 10 /* total */
            iload 6 /* length */
            isub
            isub
            istore 16 /* len */
        13: .line 1318
            iload 6 /* length */
            istore 10 /* total */
        14: .line 1321
            goto 46
        15: .line 1322
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int top top top top byte[] int
      StackMap stack:
            iload 16 /* len */
            iconst_3
            if_icmple 16
            iconst_3
            goto 17
      StackMap locals:
      StackMap stack:
        16: iload 16 /* len */
      StackMap locals:
      StackMap stack: int
        17: istore 17 /* mlen */
        start local 17 // int mlen
        18: .line 1324
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 22
            iload 9 /* s */
            bipush 32
            if_icmplt 22
        19: .line 1325
            iload 9 /* s */
            bipush 32
            isub
            bipush 63
            iand
            istore 11 /* a */
        start local 11 // int a
        20: .line 1326
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* s */
        21: .line 1327
            goto 23
        end local 11 // int a
        22: .line 1328
      StackMap locals: int
      StackMap stack:
            iconst_0
            istore 11 /* a */
        start local 11 // int a
        23: .line 1329
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int int top top top byte[] int int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 27
            iload 9 /* s */
            bipush 32
            if_icmplt 27
        24: .line 1330
            iload 9 /* s */
            bipush 32
            isub
            bipush 63
            iand
            istore 12 /* b */
        start local 12 // int b
        25: .line 1331
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* s */
        26: .line 1332
            goto 28
        end local 12 // int b
        27: .line 1333
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 12 /* b */
        start local 12 // int b
        28: .line 1334
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int int int top top byte[] int int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 32
            iload 9 /* s */
            bipush 32
            if_icmplt 32
        29: .line 1335
            iload 9 /* s */
            bipush 32
            isub
            bipush 63
            iand
            istore 13 /* c */
        start local 13 // int c
        30: .line 1336
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* s */
        31: .line 1337
            goto 33
        end local 13 // int c
        32: .line 1338
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* c */
        start local 13 // int c
        33: .line 1339
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int int int int top byte[] int int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 37
            iload 9 /* s */
            bipush 32
            if_icmplt 37
        34: .line 1340
            iload 9 /* s */
            bipush 32
            isub
            bipush 63
            iand
            istore 14 /* d */
        start local 14 // int d
        35: .line 1341
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* s */
        36: .line 1342
            goto 38
        end local 14 // int d
        37: .line 1343
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 14 /* d */
        start local 14 // int d
        38: .line 1344
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int int int int int byte[] int int
      StackMap stack:
            aload 15 /* hunk */
            iconst_0
            iload 11 /* a */
            iconst_2
            ishl
            iload 12 /* b */
            iconst_4
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        39: .line 1345
            aload 15 /* hunk */
            iconst_1
            iload 12 /* b */
            iconst_4
            ishl
            iload 13 /* c */
            iconst_2
            ishr
            ior
            sipush 255
            iand
            i2b
            bastore
        40: .line 1346
            aload 15 /* hunk */
            iconst_2
            iload 13 /* c */
            bipush 6
            ishl
            iload 14 /* d */
            ior
            sipush 255
            iand
            i2b
            bastore
        41: .line 1348
            iconst_0
            istore 18 /* i */
        start local 18 // int i
        42: goto 44
      StackMap locals: int
      StackMap stack:
        43: aload 7 /* lElem */
            iload 8 /* index */
            iinc 8 /* index */ 1
            aload 15 /* hunk */
            iload 18 /* i */
            baload
            bastore
            iinc 18 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 18 /* i */
            iload 17 /* mlen */
            if_icmplt 43
        end local 18 // int i
        45: .line 1349
            iload 16 /* len */
            iload 17 /* mlen */
            isub
            istore 16 /* len */
        end local 17 // int mlen
        end local 14 // int d
        end local 13 // int c
        end local 12 // int b
        end local 11 // int a
        46: .line 1321
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int top top top top byte[] int
      StackMap stack:
            iload 16 /* len */
            ifgt 15
        47: .line 1351
            iload 9 /* s */
            bipush 13
            if_icmpne 49
        48: .line 1352
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* s */
        49: .line 1354
      StackMap locals:
      StackMap stack:
            iload 9 /* s */
            bipush 10
            if_icmpne 52
        50: .line 1355
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 9 /* s */
        51: .line 1356
            goto 58
        52: .line 1357
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 58
        53: .line 1358
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            bipush 10
            if_icmpne 56
        54: .line 1359
            aload 4 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            pop
        55: .line 1360
            goto 58
      StackMap locals:
      StackMap stack:
        56: aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 58
        57: .line 1361
            aload 4 /* encode */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.position:()I
            iconst_1
            isub
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
        end local 16 // int len
        end local 15 // byte[] hunk
        58: .line 1309
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int byte[] int int int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 59
            iload 9 /* s */
            bipush 32
            if_icmple 59
            iload 9 /* s */
            bipush 97
            if_icmplt 7
        59: .line 1365
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 7 /* lElem */
            iconst_0
            iload 8 /* index */
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
            iload 5 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 10 // int total
        end local 9 // int s
        end local 8 // int index
        end local 7 // byte[] lElem
        end local 6 // int length
        end local 5 // int mode
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   60     0  context  Lorg/jruby/runtime/ThreadContext;
            0   60     1    block  Lorg/jruby/runtime/Block;
            0   60     2   result  Lorg/jruby/RubyArray;
            0   60     3  tainted  Z
            0   60     4   encode  Ljava/nio/ByteBuffer;
            0   60     5     mode  I
            1   60     6   length  I
            2   60     7    lElem  [B
            3   60     8    index  I
            4   60     9        s  I
            5   60    10    total  I
           20   22    11        a  I
           23   46    11        a  I
           25   27    12        b  I
           28   46    12        b  I
           30   32    13        c  I
           33   46    13        c  I
           35   37    14        d  I
           38   46    14        d  I
            8   58    15     hunk  [B
            9   58    16      len  I
           18   46    17     mlen  I
           42   45    18        i  I
    MethodParameters:
         Name  Flags
      context  
      block    
      result   
      tainted  
      encode   
      mode     

  private static org.jruby.runtime.builtin.IRubyObject unpack_H(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=10, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1369
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            imul
            if_icmple 2
         1: .line 1370
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            imul
            istore 5 /* occurrences */
         2: .line 1372
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* bits */
        start local 7 // int bits
         3: .line 1373
            iload 5 /* occurrences */
            newarray 8
            astore 8 /* lElem */
        start local 8 // byte[] lElem
         4: .line 1374
            iconst_0
            istore 9 /* lCurByte */
        start local 9 // int lCurByte
         5: goto 12
         6: .line 1375
      StackMap locals: int byte[] int
      StackMap stack:
            iload 9 /* lCurByte */
            iconst_1
            iand
            ifeq 9
         7: .line 1376
            iload 7 /* bits */
            iconst_4
            ishl
            istore 7 /* bits */
         8: .line 1377
            goto 10
         9: .line 1378
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* bits */
        10: .line 1380
      StackMap locals:
      StackMap stack:
            aload 8 /* lElem */
            iload 9 /* lCurByte */
            getstatic org.jruby.util.Pack.sHexDigits:[B
            iload 7 /* bits */
            iconst_4
            iushr
            bipush 15
            iand
            baload
            bastore
        11: .line 1374
            iinc 9 /* lCurByte */ 1
      StackMap locals:
      StackMap stack:
        12: iload 9 /* lCurByte */
            iload 5 /* occurrences */
            if_icmplt 6
        end local 9 // int lCurByte
        13: .line 1382
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 8 /* lElem */
            getstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
            iload 6 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 8 // byte[] lElem
        end local 7 // int bits
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0      context  Lorg/jruby/runtime/ThreadContext;
            0   14     1        block  Lorg/jruby/runtime/Block;
            0   14     2       result  Lorg/jruby/RubyArray;
            0   14     3      tainted  Z
            0   14     4       encode  Ljava/nio/ByteBuffer;
            0   14     5  occurrences  I
            0   14     6         mode  I
            3   14     7         bits  I
            4   14     8        lElem  [B
            5   13     9     lCurByte  I
    MethodParameters:
             Name  Flags
      context      
      block        
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static org.jruby.runtime.builtin.IRubyObject unpack_h(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=10, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1386
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            imul
            if_icmple 2
         1: .line 1387
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_2
            imul
            istore 5 /* occurrences */
         2: .line 1389
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* bits */
        start local 7 // int bits
         3: .line 1390
            iload 5 /* occurrences */
            newarray 8
            astore 8 /* lElem */
        start local 8 // byte[] lElem
         4: .line 1391
            iconst_0
            istore 9 /* lCurByte */
        start local 9 // int lCurByte
         5: goto 12
         6: .line 1392
      StackMap locals: int byte[] int
      StackMap stack:
            iload 9 /* lCurByte */
            iconst_1
            iand
            ifeq 9
         7: .line 1393
            iload 7 /* bits */
            iconst_4
            iushr
            istore 7 /* bits */
         8: .line 1394
            goto 10
         9: .line 1395
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* bits */
        10: .line 1397
      StackMap locals:
      StackMap stack:
            aload 8 /* lElem */
            iload 9 /* lCurByte */
            getstatic org.jruby.util.Pack.sHexDigits:[B
            iload 7 /* bits */
            bipush 15
            iand
            baload
            bastore
        11: .line 1391
            iinc 9 /* lCurByte */ 1
      StackMap locals:
      StackMap stack:
        12: iload 9 /* lCurByte */
            iload 5 /* occurrences */
            if_icmplt 6
        end local 9 // int lCurByte
        13: .line 1399
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 8 /* lElem */
            getstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
            iload 6 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 8 // byte[] lElem
        end local 7 // int bits
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0      context  Lorg/jruby/runtime/ThreadContext;
            0   14     1        block  Lorg/jruby/runtime/Block;
            0   14     2       result  Lorg/jruby/RubyArray;
            0   14     3      tainted  Z
            0   14     4       encode  Ljava/nio/ByteBuffer;
            0   14     5  occurrences  I
            0   14     6         mode  I
            3   14     7         bits  I
            4   14     8        lElem  [B
            5   13     9     lCurByte  I
    MethodParameters:
             Name  Flags
      context      
      block        
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static org.jruby.runtime.builtin.IRubyObject unpack_B(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=10, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1403
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 8
            imul
            if_icmple 2
         1: .line 1404
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 8
            imul
            istore 5 /* occurrences */
         2: .line 1406
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* bits */
        start local 7 // int bits
         3: .line 1407
            iload 5 /* occurrences */
            newarray 8
            astore 8 /* lElem */
        start local 8 // byte[] lElem
         4: .line 1408
            iconst_0
            istore 9 /* lCurByte */
        start local 9 // int lCurByte
         5: goto 14
         6: .line 1409
      StackMap locals: int byte[] int
      StackMap stack:
            iload 9 /* lCurByte */
            bipush 7
            iand
            ifeq 9
         7: .line 1410
            iload 7 /* bits */
            iconst_1
            ishl
            istore 7 /* bits */
         8: .line 1411
            goto 10
         9: .line 1412
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* bits */
        10: .line 1414
      StackMap locals:
      StackMap stack:
            aload 8 /* lElem */
            iload 9 /* lCurByte */
            iload 7 /* bits */
            sipush 128
            iand
            ifeq 11
            bipush 49
            goto 12
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int
      StackMap stack: byte[] int
        11: bipush 48
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int
      StackMap stack: byte[] int int
        12: bastore
        13: .line 1408
            iinc 9 /* lCurByte */ 1
      StackMap locals:
      StackMap stack:
        14: iload 9 /* lCurByte */
            iload 5 /* occurrences */
            if_icmplt 6
        end local 9 // int lCurByte
        15: .line 1417
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 8 /* lElem */
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
            iload 6 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 8 // byte[] lElem
        end local 7 // int bits
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0      context  Lorg/jruby/runtime/ThreadContext;
            0   16     1        block  Lorg/jruby/runtime/Block;
            0   16     2       result  Lorg/jruby/RubyArray;
            0   16     3      tainted  Z
            0   16     4       encode  Ljava/nio/ByteBuffer;
            0   16     5  occurrences  I
            0   16     6         mode  I
            3   16     7         bits  I
            4   16     8        lElem  [B
            5   15     9     lCurByte  I
    MethodParameters:
             Name  Flags
      context      
      block        
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static org.jruby.runtime.builtin.IRubyObject unpack_b(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=10, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1421
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 8
            imul
            if_icmple 2
         1: .line 1422
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            bipush 8
            imul
            istore 5 /* occurrences */
         2: .line 1424
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* bits */
        start local 7 // int bits
         3: .line 1425
            iload 5 /* occurrences */
            newarray 8
            astore 8 /* lElem */
        start local 8 // byte[] lElem
         4: .line 1426
            iconst_0
            istore 9 /* lCurByte */
        start local 9 // int lCurByte
         5: goto 14
         6: .line 1427
      StackMap locals: int byte[] int
      StackMap stack:
            iload 9 /* lCurByte */
            bipush 7
            iand
            ifeq 9
         7: .line 1428
            iload 7 /* bits */
            iconst_1
            iushr
            istore 7 /* bits */
         8: .line 1429
            goto 10
         9: .line 1430
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 7 /* bits */
        10: .line 1432
      StackMap locals:
      StackMap stack:
            aload 8 /* lElem */
            iload 9 /* lCurByte */
            iload 7 /* bits */
            iconst_1
            iand
            ifeq 11
            bipush 49
            goto 12
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int
      StackMap stack: byte[] int
        11: bipush 48
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.runtime.Block org.jruby.RubyArray int java.nio.ByteBuffer int int int byte[] int
      StackMap stack: byte[] int int
        12: bastore
        13: .line 1426
            iinc 9 /* lCurByte */ 1
      StackMap locals:
      StackMap stack:
        14: iload 9 /* lCurByte */
            iload 5 /* occurrences */
            if_icmplt 6
        end local 9 // int lCurByte
        15: .line 1434
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 8 /* lElem */
            getstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
            iload 6 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 8 // byte[] lElem
        end local 7 // int bits
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0      context  Lorg/jruby/runtime/ThreadContext;
            0   16     1        block  Lorg/jruby/runtime/Block;
            0   16     2       result  Lorg/jruby/RubyArray;
            0   16     3      tainted  Z
            0   16     4       encode  Ljava/nio/ByteBuffer;
            0   16     5  occurrences  I
            0   16     6         mode  I
            3   16     7         bits  I
            4   16     8        lElem  [B
            5   15     9     lCurByte  I
    MethodParameters:
             Name  Flags
      context      
      block        
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static org.jruby.runtime.builtin.IRubyObject unpack_a(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=8, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1438
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 2
         1: .line 1439
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* occurrences */
         2: .line 1441
      StackMap locals:
      StackMap stack:
            iload 5 /* occurrences */
            newarray 8
            astore 7 /* potential */
        start local 7 // byte[] potential
         3: .line 1442
            aload 4 /* encode */
            aload 7 /* potential */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
         4: .line 1443
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 7 /* potential */
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BLorg/jcodings/Encoding;Z)V
            iload 6 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // byte[] potential
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0      context  Lorg/jruby/runtime/ThreadContext;
            0    5     1        block  Lorg/jruby/runtime/Block;
            0    5     2       result  Lorg/jruby/RubyArray;
            0    5     3      tainted  Z
            0    5     4       encode  Ljava/nio/ByteBuffer;
            0    5     5  occurrences  I
            0    5     6         mode  I
            3    5     7    potential  [B
    MethodParameters:
             Name  Flags
      context      
      block        
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static org.jruby.runtime.builtin.IRubyObject unpack_Z(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=11, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1447
            iload 5 /* occurrences */
            iconst_m1
            if_icmpne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: istore 7 /* isStar */
        start local 7 // boolean isStar
         3: .line 1449
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 4
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 5
         4: .line 1450
      StackMap locals: int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* occurrences */
         5: .line 1453
      StackMap locals:
      StackMap stack:
            iload 5 /* occurrences */
            newarray 8
            astore 8 /* potential */
        start local 8 // byte[] potential
         6: .line 1454
            iconst_0
            istore 9 /* t */
        start local 9 // int t
         7: .line 1456
            goto 13
         8: .line 1457
      StackMap locals: byte[] int
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            istore 10 /* b */
        start local 10 // byte b
         9: .line 1458
            iload 10 /* b */
            ifne 11
        10: .line 1459
            goto 14
        11: .line 1461
      StackMap locals: int
      StackMap stack:
            aload 8 /* potential */
            iload 9 /* t */
            iload 10 /* b */
            bastore
        12: .line 1462
            iinc 9 /* t */ 1
        end local 10 // byte b
        13: .line 1456
      StackMap locals:
      StackMap stack:
            iload 9 /* t */
            iload 5 /* occurrences */
            if_icmplt 8
        14: .line 1465
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 8 /* potential */
            iconst_0
            iload 9 /* t */
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
            iload 6 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 10 /* value */
        start local 10 // org.jruby.runtime.builtin.IRubyObject value
        15: .line 1466
            iload 6 /* mode */
            iconst_2
            if_icmpne 17
        16: .line 1467
            aload 10 /* value */
            areturn
        17: .line 1474
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            iload 7 /* isStar */
            ifne 24
        18: .line 1475
            iload 9 /* t */
            iload 5 /* occurrences */
            if_icmpge 23
        19: .line 1479
            iinc 9 /* t */ 1
        20: .line 1482
            goto 23
        21: .line 1483
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            pop
        22: .line 1484
            iinc 9 /* t */ 1
        23: .line 1482
      StackMap locals:
      StackMap stack:
            iload 9 /* t */
            iload 5 /* occurrences */
            if_icmplt 21
        24: .line 1487
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 10 // org.jruby.runtime.builtin.IRubyObject value
        end local 9 // int t
        end local 8 // byte[] potential
        end local 7 // boolean isStar
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   25     0      context  Lorg/jruby/runtime/ThreadContext;
            0   25     1        block  Lorg/jruby/runtime/Block;
            0   25     2       result  Lorg/jruby/RubyArray;
            0   25     3      tainted  Z
            0   25     4       encode  Ljava/nio/ByteBuffer;
            0   25     5  occurrences  I
            0   25     6         mode  I
            3   25     7       isStar  Z
            6   25     8    potential  [B
            7   25     9            t  I
            9   13    10            b  B
           15   25    10        value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
             Name  Flags
      context      
      block        
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static org.jruby.runtime.builtin.IRubyObject unpack_A(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, boolean, java.nio.ByteBuffer, int, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;ZLjava/nio/ByteBuffer;II)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=10, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // boolean tainted
        start local 4 // java.nio.ByteBuffer encode
        start local 5 // int occurrences
        start local 6 // int mode
         0: .line 1491
            iload 5 /* occurrences */
            iconst_m1
            if_icmpeq 1
            iload 5 /* occurrences */
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            if_icmple 2
         1: .line 1492
      StackMap locals:
      StackMap stack:
            aload 4 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 5 /* occurrences */
         2: .line 1495
      StackMap locals:
      StackMap stack:
            iload 5 /* occurrences */
            newarray 8
            astore 7 /* potential */
        start local 7 // byte[] potential
         3: .line 1496
            aload 4 /* encode */
            aload 7 /* potential */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
         4: .line 1498
            iload 5 /* occurrences */
            iconst_1
            isub
            istore 8 /* t */
        start local 8 // int t
         5: goto 10
         6: .line 1499
      StackMap locals: byte[] int
      StackMap stack:
            aload 7 /* potential */
            iload 8 /* t */
            baload
            istore 9 /* c */
        start local 9 // byte c
         7: .line 1500
            iload 9 /* c */
            ifeq 9
            iload 9 /* c */
            bipush 32
            if_icmpeq 9
         8: .line 1501
            goto 11
        end local 9 // byte c
         9: .line 1498
      StackMap locals:
      StackMap stack:
            iinc 5 /* occurrences */ -1
            iinc 8 /* t */ -1
      StackMap locals:
      StackMap stack:
        10: iload 5 /* occurrences */
            ifgt 6
        end local 8 // int t
        11: .line 1505
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            new org.jruby.util.ByteList
            dup
            aload 7 /* potential */
            iconst_0
            iload 5 /* occurrences */
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iconst_0
            invokespecial org.jruby.util.ByteList.<init>:([BIILorg/jcodings/Encoding;Z)V
            iload 6 /* mode */
            iload 3 /* tainted */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 7 // byte[] potential
        end local 6 // int mode
        end local 5 // int occurrences
        end local 4 // java.nio.ByteBuffer encode
        end local 3 // boolean tainted
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0      context  Lorg/jruby/runtime/ThreadContext;
            0   12     1        block  Lorg/jruby/runtime/Block;
            0   12     2       result  Lorg/jruby/RubyArray;
            0   12     3      tainted  Z
            0   12     4       encode  Ljava/nio/ByteBuffer;
            0   12     5  occurrences  I
            0   12     6         mode  I
            3   12     7    potential  [B
            5   11     8            t  I
            7    9     9            c  B
    MethodParameters:
             Name  Flags
      context      
      block        
      result       
      tainted      
      encode       
      occurrences  
      mode         

  private static void unpack_at(org.jruby.Ruby, org.jruby.util.ByteList, java.nio.ByteBuffer, int);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Ljava/nio/ByteBuffer;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.util.ByteList encodedString
        start local 2 // java.nio.ByteBuffer encode
        start local 3 // int occurrences
         0: .line 1511
            iload 3 /* occurrences */
            iconst_m1
            if_icmpne 3
         1: .line 1512
            aload 0 /* runtime */
            aload 2 /* encode */
            aload 1 /* encodedString */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 2 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iadd
            invokestatic org.jruby.util.Pack.checkLimit:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)I
            istore 4 /* limit */
        start local 4 // int limit
         2: .line 1513
            goto 4
        end local 4 // int limit
         3: .line 1514
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            aload 2 /* encode */
            aload 1 /* encodedString */
            invokevirtual org.jruby.util.ByteList.begin:()I
            iload 3 /* occurrences */
            iadd
            invokestatic org.jruby.util.Pack.checkLimit:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)I
            istore 4 /* limit */
        start local 4 // int limit
         4: .line 1516
      StackMap locals: int
      StackMap stack:
            aload 2 /* encode */
            iload 4 /* limit */
            invokestatic com.headius.backport9.buffer.Buffers.positionBuffer:(Ljava/nio/Buffer;I)Ljava/nio/Buffer;
            pop
        end local 4 // int limit
         5: .line 1517
            goto 8
      StackMap locals: org.jruby.Ruby org.jruby.util.ByteList java.nio.ByteBuffer int
      StackMap stack: java.lang.IllegalArgumentException
         6: pop
         7: .line 1518
            aload 0 /* runtime */
            ldc "@ outside of string"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         8: .line 1520
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int occurrences
        end local 2 // java.nio.ByteBuffer encode
        end local 1 // org.jruby.util.ByteList encodedString
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0        runtime  Lorg/jruby/Ruby;
            0    9     1  encodedString  Lorg/jruby/util/ByteList;
            0    9     2         encode  Ljava/nio/ByteBuffer;
            0    9     3    occurrences  I
            2    3     4          limit  I
            4    5     4          limit  I
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.IllegalArgumentException
    MethodParameters:
               Name  Flags
      runtime        
      encodedString  
      encode         
      occurrences    

  private static int checkLimit(org.jruby.Ruby, java.nio.ByteBuffer, int);
    descriptor: (Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // java.nio.ByteBuffer encode
        start local 2 // int limit
         0: .line 1523
            iload 2 /* limit */
            aload 1 /* encode */
            invokevirtual java.nio.ByteBuffer.capacity:()I
            if_icmpge 1
            iload 2 /* limit */
            ifge 2
         1: .line 1524
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            ldc "pack length too big"
            invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 1526
      StackMap locals:
      StackMap stack:
            iload 2 /* limit */
            ireturn
        end local 2 // int limit
        end local 1 // java.nio.ByteBuffer encode
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0  runtime  Lorg/jruby/Ruby;
            0    3     1   encode  Ljava/nio/ByteBuffer;
            0    3     2    limit  I
    MethodParameters:
         Name  Flags
      runtime  
      encode   
      limit    

  public static org.jruby.RubyArray unpackWithBlock(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.util.ByteList, org.jruby.util.ByteList, org.jruby.runtime.Block);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.util.ByteList encodedString
        start local 3 // org.jruby.util.ByteList formatString
        start local 4 // org.jruby.runtime.Block block
         0: .line 1531
            aload 0 /* context */
            aload 1 /* runtime */
            aload 2 /* encodedString */
            invokestatic org.jruby.RubyString.newStringLight:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            aload 3 /* formatString */
            aload 4 /* block */
            invokestatic org.jruby.util.Pack.unpackWithBlock:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyString;Lorg/jruby/util/ByteList;Lorg/jruby/runtime/Block;)Lorg/jruby/RubyArray;
            areturn
        end local 4 // org.jruby.runtime.Block block
        end local 3 // org.jruby.util.ByteList formatString
        end local 2 // org.jruby.util.ByteList encodedString
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0        context  Lorg/jruby/runtime/ThreadContext;
            0    1     1        runtime  Lorg/jruby/Ruby;
            0    1     2  encodedString  Lorg/jruby/util/ByteList;
            0    1     3   formatString  Lorg/jruby/util/ByteList;
            0    1     4          block  Lorg/jruby/runtime/Block;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
               Name  Flags
      context        
      runtime        
      encodedString  
      formatString   
      block          

  private static void appendOrYield(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, org.jruby.runtime.builtin.IRubyObject, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // org.jruby.runtime.builtin.IRubyObject item
        start local 4 // int mode
         0: .line 1535
            iload 4 /* mode */
            iconst_1
            if_icmpne 3
         1: .line 1536
            aload 1 /* block */
            aload 0 /* context */
            aload 3 /* item */
            invokevirtual org.jruby.runtime.Block.yield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         2: .line 1537
            goto 5
      StackMap locals:
      StackMap stack:
         3: iload 4 /* mode */
            ifne 5
         4: .line 1538
            aload 2 /* result */
            aload 3 /* item */
            invokevirtual org.jruby.RubyArray.append:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/RubyArray;
            pop
         5: .line 1540
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int mode
        end local 3 // org.jruby.runtime.builtin.IRubyObject item
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  context  Lorg/jruby/runtime/ThreadContext;
            0    6     1    block  Lorg/jruby/runtime/Block;
            0    6     2   result  Lorg/jruby/RubyArray;
            0    6     3     item  Lorg/jruby/runtime/builtin/IRubyObject;
            0    6     4     mode  I
    MethodParameters:
         Name  Flags
      context  
      block    
      result   
      item     
      mode     

  private static org.jruby.runtime.builtin.IRubyObject appendOrYield(org.jruby.runtime.ThreadContext, org.jruby.runtime.Block, org.jruby.RubyArray, org.jruby.util.ByteList, int, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;IZ)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.runtime.Block block
        start local 2 // org.jruby.RubyArray result
        start local 3 // org.jruby.util.ByteList item
        start local 4 // int mode
        start local 5 // boolean taint
         0: .line 1543
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 3 /* item */
            invokestatic org.jruby.RubyString.newString:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
            astore 6 /* itemStr */
        start local 6 // org.jruby.RubyString itemStr
         1: .line 1544
            iload 5 /* taint */
            ifeq 2
            aload 6 /* itemStr */
            iconst_1
            invokevirtual org.jruby.RubyString.setTaint:(Z)V
         2: .line 1545
      StackMap locals: org.jruby.RubyString
      StackMap stack:
            iload 4 /* mode */
            iconst_2
            if_icmpne 4
         3: .line 1546
            aload 6 /* itemStr */
            areturn
         4: .line 1548
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* block */
            aload 2 /* result */
            aload 6 /* itemStr */
            iload 4 /* mode */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
         5: .line 1549
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 6 // org.jruby.RubyString itemStr
        end local 5 // boolean taint
        end local 4 // int mode
        end local 3 // org.jruby.util.ByteList item
        end local 2 // org.jruby.RubyArray result
        end local 1 // org.jruby.runtime.Block block
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0  context  Lorg/jruby/runtime/ThreadContext;
            0    6     1    block  Lorg/jruby/runtime/Block;
            0    6     2   result  Lorg/jruby/RubyArray;
            0    6     3     item  Lorg/jruby/util/ByteList;
            0    6     4     mode  I
            0    6     5    taint  Z
            1    6     6  itemStr  Lorg/jruby/RubyString;
    MethodParameters:
         Name  Flags
      context  
      block    
      result   
      item     
      mode     
      taint    

  public static int utf8Decode(org.jruby.Ruby, byte[], int, int);
    descriptor: (Lorg/jruby/Ruby;[BII)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.Ruby runtime
        start local 1 // byte[] to
        start local 2 // int p
        start local 3 // int code
         0: .line 1557
            iload 3 /* code */
            bipush 127
            if_icmpgt 3
         1: .line 1558
            aload 1 /* to */
            iload 2 /* p */
            iload 3 /* code */
            i2b
            bastore
         2: .line 1559
            iconst_1
            ireturn
         3: .line 1561
      StackMap locals:
      StackMap stack:
            iload 3 /* code */
            sipush 2047
            if_icmpgt 7
         4: .line 1562
            aload 1 /* to */
            iload 2 /* p */
            iconst_0
            iadd
            iload 3 /* code */
            bipush 6
            iushr
            sipush 255
            iand
            sipush 192
            ior
            i2b
            bastore
         5: .line 1563
            aload 1 /* to */
            iload 2 /* p */
            iconst_1
            iadd
            iload 3 /* code */
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
         6: .line 1564
            iconst_2
            ireturn
         7: .line 1566
      StackMap locals:
      StackMap stack:
            iload 3 /* code */
            ldc 65535
            if_icmpgt 12
         8: .line 1567
            aload 1 /* to */
            iload 2 /* p */
            iconst_0
            iadd
            iload 3 /* code */
            bipush 12
            iushr
            sipush 255
            iand
            sipush 224
            ior
            i2b
            bastore
         9: .line 1568
            aload 1 /* to */
            iload 2 /* p */
            iconst_1
            iadd
            iload 3 /* code */
            bipush 6
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        10: .line 1569
            aload 1 /* to */
            iload 2 /* p */
            iconst_2
            iadd
            iload 3 /* code */
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        11: .line 1570
            iconst_3
            ireturn
        12: .line 1572
      StackMap locals:
      StackMap stack:
            iload 3 /* code */
            ldc 2097151
            if_icmpgt 18
        13: .line 1573
            aload 1 /* to */
            iload 2 /* p */
            iconst_0
            iadd
            iload 3 /* code */
            bipush 18
            iushr
            sipush 255
            iand
            sipush 240
            ior
            i2b
            bastore
        14: .line 1574
            aload 1 /* to */
            iload 2 /* p */
            iconst_1
            iadd
            iload 3 /* code */
            bipush 12
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        15: .line 1575
            aload 1 /* to */
            iload 2 /* p */
            iconst_2
            iadd
            iload 3 /* code */
            bipush 6
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        16: .line 1576
            aload 1 /* to */
            iload 2 /* p */
            iconst_3
            iadd
            iload 3 /* code */
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        17: .line 1577
            iconst_4
            ireturn
        18: .line 1579
      StackMap locals:
      StackMap stack:
            iload 3 /* code */
            ldc 67108863
            if_icmpgt 25
        19: .line 1580
            aload 1 /* to */
            iload 2 /* p */
            iconst_0
            iadd
            iload 3 /* code */
            bipush 24
            iushr
            sipush 255
            iand
            sipush 248
            ior
            i2b
            bastore
        20: .line 1581
            aload 1 /* to */
            iload 2 /* p */
            iconst_1
            iadd
            iload 3 /* code */
            bipush 18
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        21: .line 1582
            aload 1 /* to */
            iload 2 /* p */
            iconst_2
            iadd
            iload 3 /* code */
            bipush 12
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        22: .line 1583
            aload 1 /* to */
            iload 2 /* p */
            iconst_3
            iadd
            iload 3 /* code */
            bipush 6
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        23: .line 1584
            aload 1 /* to */
            iload 2 /* p */
            iconst_4
            iadd
            iload 3 /* code */
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        24: .line 1585
            iconst_5
            ireturn
        25: .line 1587
      StackMap locals:
      StackMap stack:
            iload 3 /* code */
            ldc 2147483647
            if_icmpgt 33
        26: .line 1588
            aload 1 /* to */
            iload 2 /* p */
            iconst_0
            iadd
            iload 3 /* code */
            bipush 30
            iushr
            sipush 255
            iand
            sipush 252
            ior
            i2b
            bastore
        27: .line 1589
            aload 1 /* to */
            iload 2 /* p */
            iconst_1
            iadd
            iload 3 /* code */
            bipush 24
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        28: .line 1590
            aload 1 /* to */
            iload 2 /* p */
            iconst_2
            iadd
            iload 3 /* code */
            bipush 18
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        29: .line 1591
            aload 1 /* to */
            iload 2 /* p */
            iconst_3
            iadd
            iload 3 /* code */
            bipush 12
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        30: .line 1592
            aload 1 /* to */
            iload 2 /* p */
            iconst_4
            iadd
            iload 3 /* code */
            bipush 6
            iushr
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        31: .line 1593
            aload 1 /* to */
            iload 2 /* p */
            iconst_5
            iadd
            iload 3 /* code */
            bipush 63
            iand
            sipush 128
            ior
            i2b
            bastore
        32: .line 1594
            bipush 6
            ireturn
        33: .line 1596
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            ldc "pack(U): value out of range"
            invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 3 // int code
        end local 2 // int p
        end local 1 // byte[] to
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0  runtime  Lorg/jruby/Ruby;
            0   34     1       to  [B
            0   34     2        p  I
            0   34     3     code  I
    MethodParameters:
         Name  Flags
      runtime  
      to       
      p        
      code     

  private static int utf8Decode(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // java.nio.ByteBuffer buffer
         0: .line 1602
            aload 0 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 1 /* c */
        start local 1 // int c
         1: .line 1603
            iload 1 /* c */
            istore 2 /* uv */
        start local 2 // int uv
         2: .line 1606
            iload 1 /* c */
            sipush 128
            iand
            ifne 4
         3: .line 1607
            iload 1 /* c */
            ireturn
         4: .line 1610
      StackMap locals: int int
      StackMap stack:
            iload 1 /* c */
            bipush 64
            iand
            ifne 6
         5: .line 1611
            new java.lang.IllegalArgumentException
            dup
            ldc "malformed UTF-8 character"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1614
      StackMap locals:
      StackMap stack:
            iload 2 /* uv */
            bipush 32
            iand
            ifne 8
            iconst_2
            istore 3 /* n */
        start local 3 // int n
         7: iload 2 /* uv */
            bipush 31
            iand
            istore 2 /* uv */
            goto 17
        end local 3 // int n
         8: .line 1615
      StackMap locals:
      StackMap stack:
            iload 2 /* uv */
            bipush 16
            iand
            ifne 10
            iconst_3
            istore 3 /* n */
        start local 3 // int n
         9: iload 2 /* uv */
            bipush 15
            iand
            istore 2 /* uv */
            goto 17
        end local 3 // int n
        10: .line 1616
      StackMap locals:
      StackMap stack:
            iload 2 /* uv */
            bipush 8
            iand
            ifne 12
            iconst_4
            istore 3 /* n */
        start local 3 // int n
        11: iload 2 /* uv */
            bipush 7
            iand
            istore 2 /* uv */
            goto 17
        end local 3 // int n
        12: .line 1617
      StackMap locals:
      StackMap stack:
            iload 2 /* uv */
            iconst_4
            iand
            ifne 14
            iconst_5
            istore 3 /* n */
        start local 3 // int n
        13: iload 2 /* uv */
            iconst_3
            iand
            istore 2 /* uv */
            goto 17
        end local 3 // int n
        14: .line 1618
      StackMap locals:
      StackMap stack:
            iload 2 /* uv */
            iconst_2
            iand
            ifne 16
            bipush 6
            istore 3 /* n */
        start local 3 // int n
        15: iload 2 /* uv */
            iconst_1
            iand
            istore 2 /* uv */
            goto 17
        end local 3 // int n
        16: .line 1620
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "malformed UTF-8 character"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 3 // int n
        17: .line 1622
      StackMap locals: int
      StackMap stack:
            iload 3 /* n */
            aload 0 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            iadd
            if_icmple 23
        18: .line 1623
            new java.lang.IllegalArgumentException
            dup
        19: .line 1624
            new java.lang.StringBuilder
            dup
            ldc "malformed UTF-8 character (expected "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* n */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes, "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 1625
            ldc "given "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* buffer */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            iconst_1
            iadd
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " bytes)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 1624
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        22: .line 1623
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 1628
      StackMap locals:
      StackMap stack:
            iload 3 /* n */
            iconst_1
            isub
            istore 4 /* limit */
        start local 4 // int limit
        24: .line 1630
            iinc 3 /* n */ -1
        25: .line 1632
            iload 3 /* n */
            ifeq 33
        26: .line 1633
            goto 32
        27: .line 1634
      StackMap locals: int
      StackMap stack:
            aload 0 /* buffer */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 1 /* c */
        28: .line 1635
            iload 1 /* c */
            sipush 192
            iand
            sipush 128
            if_icmpeq 30
        29: .line 1636
            new java.lang.IllegalArgumentException
            dup
            ldc "malformed UTF-8 character"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        30: .line 1639
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            bipush 63
            iand
            istore 1 /* c */
        31: .line 1640
            iload 2 /* uv */
            bipush 6
            ishl
            iload 1 /* c */
            ior
            istore 2 /* uv */
        32: .line 1633
      StackMap locals:
      StackMap stack:
            iload 3 /* n */
            iinc 3 /* n */ -1
            ifne 27
        33: .line 1645
      StackMap locals:
      StackMap stack:
            iload 2 /* uv */
            i2l
            getstatic org.jruby.util.Pack.utf8_limits:[J
            iload 4 /* limit */
            laload
            lcmp
            ifge 35
        34: .line 1646
            new java.lang.IllegalArgumentException
            dup
            ldc "redundant UTF-8 sequence"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        35: .line 1649
      StackMap locals:
      StackMap stack:
            iload 2 /* uv */
            ireturn
        end local 4 // int limit
        end local 3 // int n
        end local 2 // int uv
        end local 1 // int c
        end local 0 // java.nio.ByteBuffer buffer
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   36     0  buffer  Ljava/nio/ByteBuffer;
            1   36     1       c  I
            2   36     2      uv  I
            7    8     3       n  I
            9   10     3       n  I
           11   12     3       n  I
           13   14     3       n  I
           15   16     3       n  I
           17   36     3       n  I
           24   36     4   limit  I
    MethodParameters:
        Name  Flags
      buffer  

  public static int safeGet(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 1663
            goto 3
         1: .line 1664
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.get:()B
            sipush 255
            iand
            istore 1 /* got */
        start local 1 // int got
         2: .line 1666
            iload 1 /* got */
            ifeq 3
            iload 1 /* got */
            ireturn
        end local 1 // int got
         3: .line 1663
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifne 1
         4: .line 1669
            iconst_0
            ireturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  encode  Ljava/nio/ByteBuffer;
            2    3     1     got  I
    MethodParameters:
        Name  Flags
      encode  

  private static int safeGetIgnoreNull(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 1673
            iconst_0
            istore 1 /* next */
        start local 1 // int next
         1: .line 1674
            goto 3
         2: .line 1675
      StackMap locals: int
      StackMap stack:
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 1 /* next */
         3: .line 1674
      StackMap locals:
      StackMap stack:
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
            ifeq 4
            iload 1 /* next */
            ifeq 2
         4: .line 1677
      StackMap locals:
      StackMap stack:
            iload 1 /* next */
            ireturn
        end local 1 // int next
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  encode  Ljava/nio/ByteBuffer;
            1    5     1    next  I
    MethodParameters:
        Name  Flags
      encode  

  public static org.jruby.runtime.builtin.IRubyObject decode(org.jruby.runtime.ThreadContext, org.jruby.Ruby, java.nio.ByteBuffer, int, org.jruby.RubyArray, org.jruby.runtime.Block, org.jruby.util.Pack$Converter, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;Lorg/jruby/util/Pack$Converter;I)Lorg/jruby/runtime/builtin/IRubyObject;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=8
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.nio.ByteBuffer encode
        start local 3 // int occurrences
        start local 4 // org.jruby.RubyArray result
        start local 5 // org.jruby.runtime.Block block
        start local 6 // org.jruby.util.Pack$Converter converter
        start local 7 // int mode
         0: .line 1682
            iconst_0
            istore 8 /* lPadLength */
        start local 8 // int lPadLength
         1: .line 1684
            iload 3 /* occurrences */
            iconst_m1
            if_icmpne 4
         2: .line 1685
            aload 2 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 6 /* converter */
            getfield org.jruby.util.Pack$Converter.size:I
            idiv
            istore 3 /* occurrences */
         3: .line 1686
            goto 12
      StackMap locals: int
      StackMap stack:
         4: iload 3 /* occurrences */
            aload 2 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 6 /* converter */
            getfield org.jruby.util.Pack$Converter.size:I
            idiv
            if_icmple 12
         5: .line 1687
            iload 3 /* occurrences */
            aload 2 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 6 /* converter */
            getfield org.jruby.util.Pack$Converter.size:I
            idiv
            isub
            istore 8 /* lPadLength */
         6: .line 1688
            aload 2 /* encode */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            aload 6 /* converter */
            getfield org.jruby.util.Pack$Converter.size:I
            idiv
            istore 3 /* occurrences */
         7: .line 1690
            goto 12
         8: .line 1691
      StackMap locals:
      StackMap stack:
            aload 6 /* converter */
            aload 1 /* runtime */
            aload 2 /* encode */
            invokevirtual org.jruby.util.Pack$Converter.decode:(Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* value */
        start local 9 // org.jruby.runtime.builtin.IRubyObject value
         9: .line 1692
            iload 7 /* mode */
            iconst_2
            if_icmpne 11
        10: .line 1693
            aload 9 /* value */
            areturn
        11: .line 1695
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* context */
            aload 5 /* block */
            aload 4 /* result */
            aload 9 /* value */
            iload 7 /* mode */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
        end local 9 // org.jruby.runtime.builtin.IRubyObject value
        12: .line 1690
      StackMap locals:
      StackMap stack:
            iload 3 /* occurrences */
            iinc 3 /* occurrences */ -1
            ifgt 8
        13: .line 1698
            goto 17
        14: .line 1699
      StackMap locals:
      StackMap stack:
            iload 7 /* mode */
            iconst_2
            if_icmpne 16
        15: .line 1700
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        16: .line 1702
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 5 /* block */
            aload 4 /* result */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            iload 7 /* mode */
            invokestatic org.jruby.util.Pack.appendOrYield:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/Block;Lorg/jruby/RubyArray;Lorg/jruby/runtime/builtin/IRubyObject;I)V
        17: .line 1698
      StackMap locals:
      StackMap stack:
            iload 8 /* lPadLength */
            iinc 8 /* lPadLength */ -1
            ifgt 14
        18: .line 1704
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            areturn
        end local 8 // int lPadLength
        end local 7 // int mode
        end local 6 // org.jruby.util.Pack$Converter converter
        end local 5 // org.jruby.runtime.Block block
        end local 4 // org.jruby.RubyArray result
        end local 3 // int occurrences
        end local 2 // java.nio.ByteBuffer encode
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   19     0      context  Lorg/jruby/runtime/ThreadContext;
            0   19     1      runtime  Lorg/jruby/Ruby;
            0   19     2       encode  Ljava/nio/ByteBuffer;
            0   19     3  occurrences  I
            0   19     4       result  Lorg/jruby/RubyArray;
            0   19     5        block  Lorg/jruby/runtime/Block;
            0   19     6    converter  Lorg/jruby/util/Pack$Converter;
            0   19     7         mode  I
            1   19     8   lPadLength  I
            9   12     9        value  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
             Name  Flags
      context      
      runtime      
      encode       
      occurrences  
      result       
      block        
      converter    
      mode         

  public static int encode(org.jruby.Ruby, int, org.jruby.util.ByteList, org.jruby.RubyArray, int, org.jruby.util.Pack$ConverterExecutor);
    descriptor: (Lorg/jruby/Ruby;ILorg/jruby/util/ByteList;Lorg/jruby/RubyArray;ILorg/jruby/util/Pack$ConverterExecutor;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=6
        start local 0 // org.jruby.Ruby runtime
        start local 1 // int occurrences
        start local 2 // org.jruby.util.ByteList result
        start local 3 // org.jruby.RubyArray list
        start local 4 // int index
        start local 5 // org.jruby.util.Pack$ConverterExecutor converter
         0: .line 1709
            aload 3 /* list */
            invokevirtual org.jruby.RubyArray.size:()I
            istore 6 /* listSize */
        start local 6 // int listSize
         1: .line 1711
            goto 6
         2: .line 1712
      StackMap locals: int
      StackMap stack:
            iload 6 /* listSize */
            iinc 6 /* listSize */ -1
            ifle 3
            iload 4 /* index */
            aload 3 /* list */
            invokevirtual org.jruby.RubyArray.size:()I
            if_icmplt 4
         3: .line 1713
      StackMap locals:
      StackMap stack:
            aload 0 /* runtime */
            ldc "too few arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 1716
      StackMap locals:
      StackMap stack:
            aload 3 /* list */
            iload 4 /* index */
            iinc 4 /* index */ 1
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* from */
        start local 7 // org.jruby.runtime.builtin.IRubyObject from
         5: .line 1718
            aload 5 /* converter */
            aload 0 /* runtime */
            aload 7 /* from */
            aload 2 /* result */
            invokevirtual org.jruby.util.Pack$ConverterExecutor.encode:(Lorg/jruby/Ruby;Lorg/jruby/runtime/builtin/IRubyObject;Lorg/jruby/util/ByteList;)V
        end local 7 // org.jruby.runtime.builtin.IRubyObject from
         6: .line 1711
      StackMap locals:
      StackMap stack:
            iload 1 /* occurrences */
            iinc 1 /* occurrences */ -1
            ifgt 2
         7: .line 1721
            iload 4 /* index */
            ireturn
        end local 6 // int listSize
        end local 5 // org.jruby.util.Pack$ConverterExecutor converter
        end local 4 // int index
        end local 3 // org.jruby.RubyArray list
        end local 2 // org.jruby.util.ByteList result
        end local 1 // int occurrences
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0      runtime  Lorg/jruby/Ruby;
            0    8     1  occurrences  I
            0    8     2       result  Lorg/jruby/util/ByteList;
            0    8     3         list  Lorg/jruby/RubyArray;
            0    8     4        index  I
            0    8     5    converter  Lorg/jruby/util/Pack$ConverterExecutor;
            1    8     6     listSize  I
            5    6     7         from  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
             Name  Flags
      runtime      
      occurrences  
      result       
      list         
      index        
      converter    

  private static org.jruby.util.Pack$ConverterExecutor executor();
    descriptor: ()Lorg/jruby/util/Pack$ConverterExecutor;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 1735
            new org.jruby.util.Pack$27
            dup
            invokespecial org.jruby.util.Pack$27.<init>:()V
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static final org.jruby.util.ByteList shrink(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList i2Shrink
        start local 1 // int iLength
         0: .line 1808
            aload 0 /* i2Shrink */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 1 /* iLength */
            isub
            istore 1 /* iLength */
         1: .line 1810
            iload 1 /* iLength */
            ifge 3
         2: .line 1811
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         3: .line 1813
      StackMap locals:
      StackMap stack:
            aload 0 /* i2Shrink */
            iload 1 /* iLength */
            invokevirtual org.jruby.util.ByteList.length:(I)V
         4: .line 1814
            aload 0 /* i2Shrink */
            areturn
        end local 1 // int iLength
        end local 0 // org.jruby.util.ByteList i2Shrink
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  i2Shrink  Lorg/jruby/util/ByteList;
            0    5     1   iLength  I
    MethodParameters:
          Name  Flags
      i2Shrink  
      iLength   

  private static final org.jruby.util.ByteList grow(org.jruby.util.ByteList, byte[], int);
    descriptor: (Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.jruby.util.ByteList i2Grow
        start local 1 // byte[] iPads
        start local 2 // int iLength
         0: .line 1826
            aload 1 /* iPads */
            arraylength
            istore 3 /* lPadLength */
        start local 3 // int lPadLength
         1: .line 1827
            goto 4
         2: .line 1828
      StackMap locals: int
      StackMap stack:
            aload 0 /* i2Grow */
            aload 1 /* iPads */
            invokevirtual org.jruby.util.ByteList.append:([B)V
         3: .line 1829
            iload 2 /* iLength */
            iload 3 /* lPadLength */
            isub
            istore 2 /* iLength */
         4: .line 1827
      StackMap locals:
      StackMap stack:
            iload 2 /* iLength */
            iload 3 /* lPadLength */
            if_icmpge 2
         5: .line 1831
            aload 0 /* i2Grow */
            aload 1 /* iPads */
            iconst_0
            iload 2 /* iLength */
            invokevirtual org.jruby.util.ByteList.append:([BII)V
         6: .line 1832
            aload 0 /* i2Grow */
            areturn
        end local 3 // int lPadLength
        end local 2 // int iLength
        end local 1 // byte[] iPads
        end local 0 // org.jruby.util.ByteList i2Grow
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0      i2Grow  Lorg/jruby/util/ByteList;
            0    7     1       iPads  [B
            0    7     2     iLength  I
            1    7     3  lPadLength  I
    MethodParameters:
         Name  Flags
      i2Grow   
      iPads    
      iLength  

  public static org.jruby.RubyString pack(org.jruby.Ruby, org.jruby.RubyArray, org.jruby.util.ByteList);
    descriptor: (Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // org.jruby.Ruby runtime
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.util.ByteList formatString
         0: .line 1839
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.newString:()Lorg/jruby/RubyString;
            astore 3 /* buffer */
        start local 3 // org.jruby.RubyString buffer
         1: .line 1840
            aload 0 /* runtime */
            invokevirtual org.jruby.Ruby.getCurrentContext:()Lorg/jruby/runtime/ThreadContext;
            aload 1 /* list */
            aload 2 /* formatString */
            iconst_0
            invokestatic org.jruby.util.Pack.executor:()Lorg/jruby/util/Pack$ConverterExecutor;
            aload 3 /* buffer */
            invokestatic org.jruby.util.Pack.packCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$ConverterExecutor;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            areturn
        end local 3 // org.jruby.RubyString buffer
        end local 2 // org.jruby.util.ByteList formatString
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.Ruby runtime
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0       runtime  Lorg/jruby/Ruby;
            0    2     1          list  Lorg/jruby/RubyArray;
            0    2     2  formatString  Lorg/jruby/util/ByteList;
            1    2     3        buffer  Lorg/jruby/RubyString;
    MethodParameters:
              Name  Flags
      runtime       
      list          
      formatString  

  public static org.jruby.RubyString pack(org.jruby.runtime.ThreadContext, org.jruby.Ruby, org.jruby.RubyArray, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Lorg/jruby/RubyArray;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // org.jruby.RubyArray list
        start local 3 // org.jruby.RubyString formatString
         0: .line 1845
            aload 1 /* runtime */
            invokevirtual org.jruby.Ruby.newString:()Lorg/jruby/RubyString;
            astore 4 /* buffer */
        start local 4 // org.jruby.RubyString buffer
         1: .line 1846
            aload 0 /* context */
            aload 2 /* list */
            aload 3 /* formatString */
            aload 4 /* buffer */
            invokestatic org.jruby.util.Pack.pack:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/RubyString;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            areturn
        end local 4 // org.jruby.RubyString buffer
        end local 3 // org.jruby.RubyString formatString
        end local 2 // org.jruby.RubyArray list
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0       context  Lorg/jruby/runtime/ThreadContext;
            0    2     1       runtime  Lorg/jruby/Ruby;
            0    2     2          list  Lorg/jruby/RubyArray;
            0    2     3  formatString  Lorg/jruby/RubyString;
            1    2     4        buffer  Lorg/jruby/RubyString;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
              Name  Flags
      context       
      runtime       
      list          
      formatString  

  public static void decode(org.jruby.runtime.ThreadContext, org.jruby.Ruby, java.nio.ByteBuffer, int, org.jruby.RubyArray, org.jruby.runtime.Block, org.jruby.util.Pack$Converter);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;Lorg/jruby/util/Pack$Converter;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=8, locals=7, args_size=7
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.Ruby runtime
        start local 2 // java.nio.ByteBuffer encode
        start local 3 // int occurrences
        start local 4 // org.jruby.RubyArray result
        start local 5 // org.jruby.runtime.Block block
        start local 6 // org.jruby.util.Pack$Converter converter
         0: .line 1852
            aload 0 /* context */
            aload 1 /* runtime */
            aload 2 /* encode */
            iload 3 /* occurrences */
         1: .line 1853
            aload 4 /* result */
            aload 5 /* block */
            aload 6 /* converter */
            aload 5 /* block */
            invokevirtual org.jruby.runtime.Block.isGiven:()Z
            ifeq 2
            iconst_1
            goto 3
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby java.nio.ByteBuffer int org.jruby.RubyArray org.jruby.runtime.Block org.jruby.util.Pack$Converter
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.Ruby java.nio.ByteBuffer int org.jruby.RubyArray org.jruby.runtime.Block org.jruby.util.Pack$Converter
         2: iconst_0
         3: .line 1852
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.Ruby java.nio.ByteBuffer int org.jruby.RubyArray org.jruby.runtime.Block org.jruby.util.Pack$Converter
      StackMap stack: org.jruby.runtime.ThreadContext org.jruby.Ruby java.nio.ByteBuffer int org.jruby.RubyArray org.jruby.runtime.Block org.jruby.util.Pack$Converter int
            invokestatic org.jruby.util.Pack.decode:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/Ruby;Ljava/nio/ByteBuffer;ILorg/jruby/RubyArray;Lorg/jruby/runtime/Block;Lorg/jruby/util/Pack$Converter;I)Lorg/jruby/runtime/builtin/IRubyObject;
            pop
         4: .line 1854
            return
        end local 6 // org.jruby.util.Pack$Converter converter
        end local 5 // org.jruby.runtime.Block block
        end local 4 // org.jruby.RubyArray result
        end local 3 // int occurrences
        end local 2 // java.nio.ByteBuffer encode
        end local 1 // org.jruby.Ruby runtime
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0      context  Lorg/jruby/runtime/ThreadContext;
            0    5     1      runtime  Lorg/jruby/Ruby;
            0    5     2       encode  Ljava/nio/ByteBuffer;
            0    5     3  occurrences  I
            0    5     4       result  Lorg/jruby/RubyArray;
            0    5     5        block  Lorg/jruby/runtime/Block;
            0    5     6    converter  Lorg/jruby/util/Pack$Converter;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
             Name  Flags
      context      
      runtime      
      encode       
      occurrences  
      result       
      block        
      converter    

  public static org.jruby.RubyString pack(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.RubyString, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/RubyString;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.RubyString formatString
        start local 3 // org.jruby.RubyString buffer
         0: .line 1857
            aload 0 /* context */
            aload 1 /* list */
            aload 2 /* formatString */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            aload 2 /* formatString */
            invokevirtual org.jruby.RubyString.isTaint:()Z
            invokestatic org.jruby.util.Pack.executor:()Lorg/jruby/util/Pack$ConverterExecutor;
            aload 3 /* buffer */
            invokestatic org.jruby.util.Pack.packCommon:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$ConverterExecutor;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
            astore 4 /* pack */
        start local 4 // org.jruby.RubyString pack
         1: .line 1858
            aload 4 /* pack */
            aload 2 /* formatString */
            invokevirtual org.jruby.RubyString.infectBy:(Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyString
            areturn
        end local 4 // org.jruby.RubyString pack
        end local 3 // org.jruby.RubyString buffer
        end local 2 // org.jruby.RubyString formatString
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0       context  Lorg/jruby/runtime/ThreadContext;
            0    2     1          list  Lorg/jruby/RubyArray;
            0    2     2  formatString  Lorg/jruby/RubyString;
            0    2     3        buffer  Lorg/jruby/RubyString;
            1    2     4          pack  Lorg/jruby/RubyString;
    MethodParameters:
              Name  Flags
      context       
      list          
      formatString  
      buffer        

  private static org.jruby.RubyString packCommon(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, boolean, org.jruby.util.Pack$ConverterExecutor, org.jruby.RubyString);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$ConverterExecutor;Lorg/jruby/RubyString;)Lorg/jruby/RubyString;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=8, locals=17, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.util.ByteList formatString
        start local 3 // boolean tainted
        start local 4 // org.jruby.util.Pack$ConverterExecutor executor
        start local 5 // org.jruby.RubyString buffer
         0: .line 1874
            aload 2 /* formatString */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 2 /* formatString */
            invokevirtual org.jruby.util.ByteList.begin:()I
            aload 2 /* formatString */
            invokevirtual org.jruby.util.ByteList.length:()I
            invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
            astore 6 /* format */
        start local 6 // java.nio.ByteBuffer format
         1: .line 1876
            aload 5 /* buffer */
            invokevirtual org.jruby.RubyString.modify:()V
         2: .line 1877
            aload 5 /* buffer */
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 7 /* result */
        start local 7 // org.jruby.util.ByteList result
         3: .line 1878
            iload 3 /* tainted */
            istore 8 /* taintOutput */
        start local 8 // boolean taintOutput
         4: .line 1879
            new org.jruby.util.Pack$PackInts
            dup
            aload 1 /* list */
            invokevirtual org.jruby.RubyArray.size:()I
            iconst_0
            invokespecial org.jruby.util.Pack$PackInts.<init>:(II)V
            astore 9 /* packInts */
        start local 9 // org.jruby.util.Pack$PackInts packInts
         5: .line 1881
            aload 6 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        start local 11 // int next
         6: .line 1883
            iconst_1
            istore 12 /* enc_info */
        start local 12 // int enc_info
         7: .line 1885
            goto 82
         8: .line 1886
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$ConverterExecutor org.jruby.RubyString java.nio.ByteBuffer org.jruby.util.ByteList int org.jruby.util.Pack$PackInts top int int
      StackMap stack:
            iload 11 /* next */
            istore 10 /* type */
        start local 10 // int type
         9: .line 1887
            aload 6 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        10: .line 1888
            ldc "cCiIlLnNqQsSvV"
            iload 10 /* type */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 16
            iload 11 /* next */
            ifne 16
        11: .line 1889
            aload 6 /* format */
            invokestatic org.jruby.util.Pack.safeGetIgnoreNull:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        12: .line 1893
            goto 16
        13: .line 1894
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$ConverterExecutor org.jruby.RubyString java.nio.ByteBuffer org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int
      StackMap stack:
            iload 11 /* next */
            ifne 14
            goto 83
        14: .line 1895
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            istore 10 /* type */
        15: .line 1896
            aload 6 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        16: .line 1893
      StackMap locals:
      StackMap stack:
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iload 10 /* type */
            invokevirtual org.jcodings.specific.ASCIIEncoding.isSpace:(I)Z
            ifne 13
        17: .line 1900
            iload 10 /* type */
            bipush 35
            if_icmpne 23
        18: .line 1901
            goto 22
        19: .line 1902
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            ifne 20
            goto 83
        20: .line 1903
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            istore 10 /* type */
        21: .line 1904
            aload 6 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        22: .line 1901
      StackMap locals:
      StackMap stack:
            iload 10 /* type */
            bipush 10
            if_icmpne 19
        23: .line 1908
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            bipush 33
            if_icmpeq 24
            iload 11 /* next */
            bipush 95
            if_icmpne 32
        24: .line 1909
      StackMap locals:
      StackMap stack:
            ldc "sSiIlL"
            iload 10 /* type */
            invokevirtual java.lang.String.indexOf:(I)I
            istore 13 /* index */
        start local 13 // int index
        25: .line 1910
            iload 13 /* index */
            iconst_m1
            if_icmpne 27
        26: .line 1911
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 11 /* next */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc "' allowed only after types "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "sSiIlL"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        27: .line 1913
      StackMap locals: int
      StackMap stack:
            iload 10 /* type */
            istore 14 /* typeBeforeMap */
        start local 14 // int typeBeforeMap
        28: .line 1914
            ldc "sSiIqQ"
            iload 13 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            istore 10 /* type */
        29: .line 1916
            aload 6 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        30: .line 1917
            ldc "lLsS"
            iload 14 /* typeBeforeMap */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 32
            iload 11 /* next */
            ifne 32
        31: .line 1918
            aload 6 /* format */
            invokestatic org.jruby.util.Pack.safeGetIgnoreNull:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        end local 14 // int typeBeforeMap
        end local 13 // int index
        32: .line 1922
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            bipush 62
            if_icmpeq 33
            iload 11 /* next */
            bipush 60
            if_icmpne 41
        33: .line 1923
      StackMap locals:
      StackMap stack:
            iload 11 /* next */
            bipush 62
            if_icmpne 34
            bipush 61
            goto 35
      StackMap locals:
      StackMap stack:
        34: bipush 60
      StackMap locals:
      StackMap stack: int
        35: istore 11 /* next */
        36: .line 1924
            getstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
            iload 10 /* type */
            iload 11 /* next */
            iadd
            invokevirtual java.lang.String.indexOf:(I)I
            istore 13 /* index */
        start local 13 // int index
        37: .line 1925
            iload 13 /* index */
            iconst_m1
            if_icmpne 39
        38: .line 1926
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 11 /* next */
            i2c
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "' allowed only after types sSiIlLqQ"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        39: .line 1928
      StackMap locals: int
      StackMap stack:
            getstatic org.jruby.util.Pack.ENDIANESS_CODES:Ljava/lang/String;
            iload 13 /* index */
            invokevirtual java.lang.String.charAt:(I)C
            istore 10 /* type */
        40: .line 1929
            aload 6 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        end local 13 // int index
        41: .line 1933
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 13 /* occurrences */
        start local 13 // int occurrences
        42: .line 1934
            iconst_0
            istore 14 /* isStar */
        start local 14 // boolean isStar
        43: .line 1935
            iconst_0
            istore 15 /* ignoreStar */
        start local 15 // boolean ignoreStar
        44: .line 1936
            iload 11 /* next */
            ifeq 59
        45: .line 1937
            iload 11 /* next */
            bipush 42
            if_icmpne 54
        46: .line 1938
            ldc "@XxumM"
            iload 10 /* type */
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 50
        47: .line 1939
            iconst_0
            istore 13 /* occurrences */
        48: .line 1940
            iconst_1
            istore 15 /* ignoreStar */
        49: .line 1941
            goto 52
        50: .line 1942
      StackMap locals: int int int
      StackMap stack:
            aload 1 /* list */
            invokevirtual org.jruby.RubyArray.size:()I
            aload 9 /* packInts */
            getfield org.jruby.util.Pack$PackInts.idx:I
            isub
            istore 13 /* occurrences */
        51: .line 1943
            iconst_1
            istore 14 /* isStar */
        52: .line 1945
      StackMap locals:
      StackMap stack:
            aload 6 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        53: .line 1946
            goto 59
      StackMap locals:
      StackMap stack:
        54: getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iload 11 /* next */
            invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
            ifeq 59
        55: .line 1947
            iconst_0
            istore 13 /* occurrences */
        56: .line 1949
      StackMap locals:
      StackMap stack:
            iload 13 /* occurrences */
            bipush 10
            imul
            iload 11 /* next */
            sipush 255
            iand
            i2c
            bipush 10
            invokestatic java.lang.Character.digit:(CI)I
            iadd
            istore 13 /* occurrences */
        57: .line 1950
            aload 6 /* format */
            invokestatic org.jruby.util.Pack.safeGet:(Ljava/nio/ByteBuffer;)I
            istore 11 /* next */
        58: .line 1951
            iload 11 /* next */
            ifeq 59
            getstatic org.jruby.util.Pack.ASCII:Lorg/jcodings/specific/ASCIIEncoding;
            iload 11 /* next */
            invokevirtual org.jcodings.specific.ASCIIEncoding.isDigit:(I)Z
            ifne 56
        59: .line 1955
      StackMap locals:
      StackMap stack:
            iload 10 /* type */
            iload 12 /* enc_info */
            invokestatic org.jruby.util.Pack.adjustEncInfo:(II)I
            istore 12 /* enc_info */
        60: .line 1957
            getstatic org.jruby.util.Pack.converters:[Lorg/jruby/util/Pack$Converter;
            iload 10 /* type */
            aaload
            astore 16 /* converter */
        start local 16 // org.jruby.util.Pack$Converter converter
        61: .line 1959
            aload 16 /* converter */
            ifnull 65
        62: .line 1960
            aload 4 /* executor */
            aload 16 /* converter */
            invokevirtual org.jruby.util.Pack$ConverterExecutor.setConverter:(Lorg/jruby/util/Pack$Converter;)V
        63: .line 1961
            aload 9 /* packInts */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            iload 13 /* occurrences */
            aload 7 /* result */
            aload 1 /* list */
            aload 9 /* packInts */
            getfield org.jruby.util.Pack$PackInts.idx:I
            aload 4 /* executor */
            invokestatic org.jruby.util.Pack.encode:(Lorg/jruby/Ruby;ILorg/jruby/util/ByteList;Lorg/jruby/RubyArray;ILorg/jruby/util/Pack$ConverterExecutor;)I
            putfield org.jruby.util.Pack$PackInts.idx:I
        64: .line 1962
            goto 82
        65: .line 1965
      StackMap locals: org.jruby.util.Pack$Converter
      StackMap stack:
            iload 10 /* type */
            lookupswitch { // 16
                   37: 66
                   64: 73
                   65: 67
                   66: 67
                   72: 67
                   77: 77
                   85: 79
                   88: 71
                   90: 67
                   97: 67
                   98: 67
                  104: 67
                  109: 75
                  117: 75
                  119: 81
                  120: 69
              default: 82
          }
        66: .line 1967
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "% is not supported"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        67: .line 1975
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* list */
            aload 7 /* result */
            iload 8 /* taintOutput */
            aload 9 /* packInts */
            iload 10 /* type */
            iload 13 /* occurrences */
            iload 14 /* isStar */
            invokestatic org.jruby.util.Pack.pack_h:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;IIZ)Z
            istore 8 /* taintOutput */
        68: .line 1976
            goto 82
        69: .line 1978
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            getstatic org.jruby.util.Pack.sNil10:[B
            iload 13 /* occurrences */
            invokestatic org.jruby.util.Pack.grow:(Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
            pop
        70: .line 1979
            goto 82
        71: .line 1981
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 7 /* result */
            iload 13 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_X:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/ByteList;I)V
        72: .line 1982
            goto 82
        73: .line 1984
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            iload 13 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_at:(Lorg/jruby/util/ByteList;I)V
        74: .line 1985
            goto 82
        75: .line 1988
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* list */
            aload 7 /* result */
            iload 8 /* taintOutput */
            aload 9 /* packInts */
            iload 10 /* type */
            i2c
            iload 13 /* occurrences */
            iload 15 /* ignoreStar */
            invokestatic org.jruby.util.Pack.pack_m:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;CIZ)Z
            istore 8 /* taintOutput */
        76: .line 1989
            goto 82
        77: .line 1991
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* list */
            aload 7 /* result */
            iload 8 /* taintOutput */
            aload 9 /* packInts */
            iload 13 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_M:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;I)Z
            istore 8 /* taintOutput */
        78: .line 1992
            goto 82
        79: .line 1994
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* list */
            aload 7 /* result */
            aload 9 /* packInts */
            iload 13 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_U:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;Lorg/jruby/util/Pack$PackInts;I)V
        80: .line 1995
            goto 82
        81: .line 1997
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            aload 1 /* list */
            aload 7 /* result */
            aload 9 /* packInts */
            iload 13 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_w:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;Lorg/jruby/util/Pack$PackInts;I)V
        end local 16 // org.jruby.util.Pack$Converter converter
        end local 15 // boolean ignoreStar
        end local 14 // boolean isStar
        end local 13 // int occurrences
        end local 10 // int type
        82: .line 1885
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$ConverterExecutor org.jruby.RubyString java.nio.ByteBuffer org.jruby.util.ByteList int org.jruby.util.Pack$PackInts top int int
      StackMap stack:
            iload 11 /* next */
            ifne 8
        83: .line 2002
      StackMap locals:
      StackMap stack:
            iload 8 /* taintOutput */
            ifeq 84
            aload 5 /* buffer */
            iconst_1
            invokevirtual org.jruby.RubyString.setTaint:(Z)V
        84: .line 2004
      StackMap locals:
      StackMap stack:
            iload 12 /* enc_info */
            tableswitch { // 1 - 2
                    1: 85
                    2: 87
              default: 88
          }
        85: .line 2006
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            getstatic org.jruby.util.Pack.USASCII:Lorg/jcodings/specific/USASCIIEncoding;
            bipush 16
            invokevirtual org.jruby.RubyString.setEncodingAndCodeRange:(Lorg/jcodings/Encoding;I)V
        86: .line 2007
            goto 88
        87: .line 2009
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            getstatic org.jruby.util.Pack.UTF8:Lorg/jcodings/specific/UTF8Encoding;
            invokevirtual org.jruby.RubyString.associateEncoding:(Lorg/jcodings/Encoding;)V
        88: .line 2015
      StackMap locals:
      StackMap stack:
            aload 5 /* buffer */
            areturn
        end local 12 // int enc_info
        end local 11 // int next
        end local 9 // org.jruby.util.Pack$PackInts packInts
        end local 8 // boolean taintOutput
        end local 7 // org.jruby.util.ByteList result
        end local 6 // java.nio.ByteBuffer format
        end local 5 // org.jruby.RubyString buffer
        end local 4 // org.jruby.util.Pack$ConverterExecutor executor
        end local 3 // boolean tainted
        end local 2 // org.jruby.util.ByteList formatString
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   89     0        context  Lorg/jruby/runtime/ThreadContext;
            0   89     1           list  Lorg/jruby/RubyArray;
            0   89     2   formatString  Lorg/jruby/util/ByteList;
            0   89     3        tainted  Z
            0   89     4       executor  Lorg/jruby/util/Pack$ConverterExecutor;
            0   89     5         buffer  Lorg/jruby/RubyString;
            1   89     6         format  Ljava/nio/ByteBuffer;
            3   89     7         result  Lorg/jruby/util/ByteList;
            4   89     8    taintOutput  Z
            5   89     9       packInts  Lorg/jruby/util/Pack$PackInts;
            9   82    10           type  I
            6   89    11           next  I
            7   89    12       enc_info  I
           25   32    13          index  I
           28   32    14  typeBeforeMap  I
           37   41    13          index  I
           42   82    13    occurrences  I
           43   82    14         isStar  Z
           44   82    15     ignoreStar  Z
           61   82    16      converter  Lorg/jruby/util/Pack$Converter;
    MethodParameters:
              Name  Flags
      context       
      list          
      formatString  
      tainted       
      executor      
      buffer        

  private static void pack_w(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, org.jruby.util.Pack$PackInts, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;Lorg/jruby/util/Pack$PackInts;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.util.ByteList result
        start local 3 // org.jruby.util.Pack$PackInts packInts
        start local 4 // int occurrences
         0: .line 2019
            goto 34
         1: .line 2020
      StackMap locals:
      StackMap stack:
            aload 3 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.listSize:I
            dup_x1
            iconst_1
            isub
            putfield org.jruby.util.Pack$PackInts.listSize:I
            ifgt 2
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "too few arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 2022
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            aload 3 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.idx:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.util.Pack$PackInts.idx:I
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* from */
        start local 5 // org.jruby.runtime.builtin.IRubyObject from
         3: .line 2023
            aload 5 /* from */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 4
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "pack('w') does not take nil"
            invokevirtual org.jruby.Ruby.newTypeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 2025
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            new org.jruby.util.ByteList
            dup
            invokespecial org.jruby.util.ByteList.<init>:()V
            astore 6 /* buf */
        start local 6 // org.jruby.util.ByteList buf
         5: .line 2027
            aload 5 /* from */
            instanceof org.jruby.RubyBignum
            ifeq 12
         6: .line 2028
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc 128
            invokestatic org.jruby.RubyBignum.newBignum:(Lorg/jruby/Ruby;J)Lorg/jruby/RubyBignum;
            astore 7 /* big128 */
        start local 7 // org.jruby.RubyBignum big128
         7: .line 2029
            goto 11
         8: .line 2030
      StackMap locals: org.jruby.util.ByteList org.jruby.RubyBignum
      StackMap stack:
            aload 5 /* from */
            checkcast org.jruby.RubyBignum
            aload 0 /* context */
            aload 7 /* big128 */
            invokevirtual org.jruby.RubyBignum.divmod:(Lorg/jruby/runtime/ThreadContext;Lorg/jruby/runtime/builtin/IRubyObject;)Lorg/jruby/runtime/builtin/IRubyObject;
            checkcast org.jruby.RubyArray
            astore 8 /* ary */
        start local 8 // org.jruby.RubyArray ary
         9: .line 2031
            aload 6 /* buf */
            aload 8 /* ary */
            iconst_1
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            invokestatic org.jruby.RubyNumeric.fix2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
            sipush 128
            ior
            i2b
            sipush 255
            iand
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        10: .line 2032
            aload 8 /* ary */
            iconst_0
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* from */
        end local 8 // org.jruby.RubyArray ary
        11: .line 2029
      StackMap locals:
      StackMap stack:
            aload 5 /* from */
            instanceof org.jruby.RubyBignum
            ifne 8
        end local 7 // org.jruby.RubyBignum big128
        12: .line 2036
      StackMap locals:
      StackMap stack:
            aload 5 /* from */
            invokestatic org.jruby.RubyNumeric.num2long:(Lorg/jruby/runtime/builtin/IRubyObject;)J
            lstore 7 /* l */
        start local 7 // long l
        13: .line 2039
            lload 7 /* l */
            lconst_0
            lcmp
            iflt 33
        14: .line 2041
            goto 17
        15: .line 2042
      StackMap locals: long
      StackMap stack:
            aload 6 /* buf */
            lload 7 /* l */
            ldc 127
            land
            ldc 128
            lor
            ldc 255
            land
            l2i
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        16: .line 2043
            lload 7 /* l */
            bipush 7
            lshr
            lstore 7 /* l */
        17: .line 2041
      StackMap locals:
      StackMap stack:
            lload 7 /* l */
            lconst_0
            lcmp
            ifne 15
        18: .line 2046
            iconst_0
            istore 9 /* left */
        start local 9 // int left
        19: .line 2047
            aload 6 /* buf */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            iconst_1
            isub
            istore 10 /* right */
        start local 10 // int right
        20: .line 2049
            iload 10 /* right */
            iflt 23
        21: .line 2050
            aload 6 /* buf */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iconst_0
            dup2
            baload
            bipush 127
            iand
            i2b
            bastore
        22: .line 2051
            goto 30
        23: .line 2052
      StackMap locals: int int
      StackMap stack:
            aload 6 /* buf */
            iconst_0
            invokevirtual org.jruby.util.ByteList.append:(I)Lorg/jruby/util/ByteList;
            pop
        24: .line 2055
            goto 30
        25: .line 2056
      StackMap locals:
      StackMap stack:
            aload 6 /* buf */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 9 /* left */
            baload
            istore 11 /* tmp */
        start local 11 // byte tmp
        26: .line 2057
            aload 6 /* buf */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 9 /* left */
            aload 6 /* buf */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 10 /* right */
            baload
            bastore
        27: .line 2058
            aload 6 /* buf */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            iload 10 /* right */
            iload 11 /* tmp */
            bastore
        28: .line 2060
            iinc 9 /* left */ 1
        29: .line 2061
            iinc 10 /* right */ -1
        end local 11 // byte tmp
        30: .line 2055
      StackMap locals:
      StackMap stack:
            iload 9 /* left */
            iload 10 /* right */
            if_icmplt 25
        31: .line 2064
            aload 2 /* result */
            aload 6 /* buf */
            invokevirtual org.jruby.util.ByteList.append:(Lorg/jruby/util/ByteList;)V
        end local 10 // int right
        end local 9 // int left
        32: .line 2065
            goto 34
        33: .line 2066
      StackMap locals:
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "can't compress negative numbers"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
        end local 7 // long l
        end local 6 // org.jruby.util.ByteList buf
        end local 5 // org.jruby.runtime.builtin.IRubyObject from
        34: .line 2019
      StackMap locals:
      StackMap stack:
            iload 4 /* occurrences */
            iinc 4 /* occurrences */ -1
            ifgt 1
        35: .line 2069
            return
        end local 4 // int occurrences
        end local 3 // org.jruby.util.Pack$PackInts packInts
        end local 2 // org.jruby.util.ByteList result
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   36     0      context  Lorg/jruby/runtime/ThreadContext;
            0   36     1         list  Lorg/jruby/RubyArray;
            0   36     2       result  Lorg/jruby/util/ByteList;
            0   36     3     packInts  Lorg/jruby/util/Pack$PackInts;
            0   36     4  occurrences  I
            3   34     5         from  Lorg/jruby/runtime/builtin/IRubyObject;
            5   34     6          buf  Lorg/jruby/util/ByteList;
            7   12     7       big128  Lorg/jruby/RubyBignum;
            9   11     8          ary  Lorg/jruby/RubyArray;
           13   34     7            l  J
           19   32     9         left  I
           20   32    10        right  I
           26   30    11          tmp  B
    MethodParameters:
             Name  Flags
      context      
      list         
      result       
      packInts     
      occurrences  

  private static void pack_U(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, org.jruby.util.Pack$PackInts, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;Lorg/jruby/util/Pack$PackInts;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=8, args_size=5
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.util.ByteList result
        start local 3 // org.jruby.util.Pack$PackInts packInts
        start local 4 // int occurrences
         0: .line 2072
            goto 10
         1: .line 2073
      StackMap locals:
      StackMap stack:
            aload 3 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.listSize:I
            dup_x1
            iconst_1
            isub
            putfield org.jruby.util.Pack$PackInts.listSize:I
            ifgt 2
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "too few arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 2075
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            aload 3 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.idx:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.util.Pack$PackInts.idx:I
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 5 /* from */
        start local 5 // org.jruby.runtime.builtin.IRubyObject from
         3: .line 2076
            aload 5 /* from */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 4
            iconst_0
            goto 5
      StackMap locals: org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         4: aload 5 /* from */
            invokestatic org.jruby.RubyNumeric.num2int:(Lorg/jruby/runtime/builtin/IRubyObject;)I
      StackMap locals:
      StackMap stack: int
         5: istore 6 /* code */
        start local 6 // int code
         6: .line 2078
            iload 6 /* code */
            ifge 7
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "pack(U): value out of range"
            invokevirtual org.jruby.Ruby.newRangeError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         7: .line 2080
      StackMap locals: int
      StackMap stack:
            aload 2 /* result */
            invokevirtual org.jruby.util.ByteList.getRealSize:()I
            istore 7 /* len */
        start local 7 // int len
         8: .line 2081
            aload 2 /* result */
            iload 7 /* len */
            bipush 6
            iadd
            invokevirtual org.jruby.util.ByteList.ensure:(I)V
         9: .line 2082
            aload 2 /* result */
            iload 7 /* len */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 2 /* result */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 2 /* result */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            iload 7 /* len */
            iadd
            iload 6 /* code */
            invokestatic org.jruby.util.Pack.utf8Decode:(Lorg/jruby/Ruby;[BII)I
            iadd
            invokevirtual org.jruby.util.ByteList.setRealSize:(I)V
        end local 7 // int len
        end local 6 // int code
        end local 5 // org.jruby.runtime.builtin.IRubyObject from
        10: .line 2072
      StackMap locals:
      StackMap stack:
            iload 4 /* occurrences */
            iinc 4 /* occurrences */ -1
            ifgt 1
        11: .line 2084
            return
        end local 4 // int occurrences
        end local 3 // org.jruby.util.Pack$PackInts packInts
        end local 2 // org.jruby.util.ByteList result
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0      context  Lorg/jruby/runtime/ThreadContext;
            0   12     1         list  Lorg/jruby/RubyArray;
            0   12     2       result  Lorg/jruby/util/ByteList;
            0   12     3     packInts  Lorg/jruby/util/Pack$PackInts;
            0   12     4  occurrences  I
            3   10     5         from  Lorg/jruby/runtime/builtin/IRubyObject;
            6   10     6         code  I
            8   10     7          len  I
    MethodParameters:
             Name  Flags
      context      
      list         
      result       
      packInts     
      occurrences  

  private static boolean pack_M(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, boolean, org.jruby.util.Pack$PackInts, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=6
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.util.ByteList result
        start local 3 // boolean taintOutput
        start local 4 // org.jruby.util.Pack$PackInts packInts
        start local 5 // int occurrences
         0: .line 2088
            aload 4 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.listSize:I
            dup_x1
            iconst_1
            isub
            putfield org.jruby.util.Pack$PackInts.listSize:I
            ifgt 1
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "too few arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 2090
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            aload 4 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.idx:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.util.Pack$PackInts.idx:I
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 7 /* from */
        start local 7 // org.jruby.runtime.builtin.IRubyObject from
         2: .line 2091
            aload 7 /* from */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ifeq 3
            iconst_1
            istore 3 /* taintOutput */
         3: .line 2092
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int top org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 7 /* from */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 4
            getstatic org.jruby.util.ByteList.EMPTY_BYTELIST:Lorg/jruby/util/ByteList;
            goto 5
      StackMap locals:
      StackMap stack:
         4: aload 7 /* from */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.asString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
      StackMap locals:
      StackMap stack: org.jruby.util.ByteList
         5: astore 6 /* lCurElemString */
        start local 6 // org.jruby.util.ByteList lCurElemString
         6: .line 2094
            iload 5 /* occurrences */
            iconst_1
            if_icmpgt 8
         7: .line 2095
            bipush 72
            istore 5 /* occurrences */
         8: .line 2098
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 2 /* result */
            aload 6 /* lCurElemString */
            iload 5 /* occurrences */
            invokestatic org.jruby.util.PackUtils.qpencode:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
            pop
         9: .line 2099
            iload 3 /* taintOutput */
            ireturn
        end local 7 // org.jruby.runtime.builtin.IRubyObject from
        end local 6 // org.jruby.util.ByteList lCurElemString
        end local 5 // int occurrences
        end local 4 // org.jruby.util.Pack$PackInts packInts
        end local 3 // boolean taintOutput
        end local 2 // org.jruby.util.ByteList result
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0         context  Lorg/jruby/runtime/ThreadContext;
            0   10     1            list  Lorg/jruby/RubyArray;
            0   10     2          result  Lorg/jruby/util/ByteList;
            0   10     3     taintOutput  Z
            0   10     4        packInts  Lorg/jruby/util/Pack$PackInts;
            0   10     5     occurrences  I
            6   10     6  lCurElemString  Lorg/jruby/util/ByteList;
            2   10     7            from  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
             Name  Flags
      context      
      list         
      result       
      taintOutput  
      packInts     
      occurrences  

  private static boolean pack_h(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, boolean, org.jruby.util.Pack$PackInts, int, int, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;IIZ)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=10, args_size=8
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.util.ByteList result
        start local 3 // boolean taintOutput
        start local 4 // org.jruby.util.Pack$PackInts packInts
        start local 5 // int type
        start local 6 // int occurrences
        start local 7 // boolean isStar
         0: .line 2104
            aload 4 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.listSize:I
            dup_x1
            iconst_1
            isub
            putfield org.jruby.util.Pack$PackInts.listSize:I
            ifgt 2
         1: .line 2105
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "too few arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         2: .line 2108
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            aload 4 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.idx:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.util.Pack$PackInts.idx:I
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* from */
        start local 9 // org.jruby.runtime.builtin.IRubyObject from
         3: .line 2109
            aload 9 /* from */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 4
            getstatic org.jruby.util.ByteList.EMPTY_BYTELIST:Lorg/jruby/util/ByteList;
            goto 5
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int top org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
         4: aload 9 /* from */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
      StackMap locals:
      StackMap stack: org.jruby.util.ByteList
         5: astore 8 /* lCurElemString */
        start local 8 // org.jruby.util.ByteList lCurElemString
         6: .line 2110
            aload 9 /* from */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ifeq 7
            iconst_1
            istore 3 /* taintOutput */
         7: .line 2112
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            iload 7 /* isStar */
            ifeq 10
         8: .line 2113
            aload 8 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            istore 6 /* occurrences */
         9: .line 2115
            iload 5 /* type */
            bipush 90
            if_icmpne 10
            iinc 6 /* occurrences */ 1
        10: .line 2118
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            iload 5 /* type */
            aload 8 /* lCurElemString */
            iload 6 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_h_inner:(Lorg/jruby/util/ByteList;ILorg/jruby/util/ByteList;I)V
        11: .line 2119
            iload 3 /* taintOutput */
            ireturn
        end local 9 // org.jruby.runtime.builtin.IRubyObject from
        end local 8 // org.jruby.util.ByteList lCurElemString
        end local 7 // boolean isStar
        end local 6 // int occurrences
        end local 5 // int type
        end local 4 // org.jruby.util.Pack$PackInts packInts
        end local 3 // boolean taintOutput
        end local 2 // org.jruby.util.ByteList result
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0         context  Lorg/jruby/runtime/ThreadContext;
            0   12     1            list  Lorg/jruby/RubyArray;
            0   12     2          result  Lorg/jruby/util/ByteList;
            0   12     3     taintOutput  Z
            0   12     4        packInts  Lorg/jruby/util/Pack$PackInts;
            0   12     5            type  I
            0   12     6     occurrences  I
            0   12     7          isStar  Z
            6   12     8  lCurElemString  Lorg/jruby/util/ByteList;
            3   12     9            from  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
             Name  Flags
      context      
      list         
      result       
      taintOutput  
      packInts     
      type         
      occurrences  
      isStar       

  private static boolean pack_m(org.jruby.runtime.ThreadContext, org.jruby.RubyArray, org.jruby.util.ByteList, boolean, org.jruby.util.Pack$PackInts, char, int, boolean);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/RubyArray;Lorg/jruby/util/ByteList;ZLorg/jruby/util/Pack$PackInts;CIZ)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=10, args_size=8
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.RubyArray list
        start local 2 // org.jruby.util.ByteList result
        start local 3 // boolean taintOutput
        start local 4 // org.jruby.util.Pack$PackInts packInts
        start local 5 // char type
        start local 6 // int occurrences
        start local 7 // boolean ignoreStar
         0: .line 2124
            aload 4 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.listSize:I
            dup_x1
            iconst_1
            isub
            putfield org.jruby.util.Pack$PackInts.listSize:I
            ifgt 1
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "too few arguments"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         1: .line 2126
      StackMap locals:
      StackMap stack:
            aload 1 /* list */
            aload 4 /* packInts */
            dup
            getfield org.jruby.util.Pack$PackInts.idx:I
            dup_x1
            iconst_1
            iadd
            putfield org.jruby.util.Pack$PackInts.idx:I
            invokevirtual org.jruby.RubyArray.eltInternal:(I)Lorg/jruby/runtime/builtin/IRubyObject;
            astore 9 /* from */
        start local 9 // org.jruby.runtime.builtin.IRubyObject from
         2: .line 2127
            aload 9 /* from */
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.nil:Lorg/jruby/runtime/builtin/IRubyObject;
            if_acmpne 3
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 9 /* from */
            ldc "Integer"
            invokevirtual org.jruby.Ruby.newTypeError:(Lorg/jruby/runtime/builtin/IRubyObject;Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         3: .line 2128
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int top org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 9 /* from */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.convertToString:()Lorg/jruby/RubyString;
            invokevirtual org.jruby.RubyString.getByteList:()Lorg/jruby/util/ByteList;
            astore 8 /* lCurElemString */
        start local 8 // org.jruby.util.ByteList lCurElemString
         4: .line 2129
            aload 9 /* from */
            invokeinterface org.jruby.runtime.builtin.IRubyObject.isTaint:()Z
            ifeq 5
            iconst_1
            istore 3 /* taintOutput */
         5: .line 2130
      StackMap locals: org.jruby.runtime.ThreadContext org.jruby.RubyArray org.jruby.util.ByteList int org.jruby.util.Pack$PackInts int int int org.jruby.util.ByteList org.jruby.runtime.builtin.IRubyObject
      StackMap stack:
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            aload 8 /* lCurElemString */
            iload 6 /* occurrences */
            iload 7 /* ignoreStar */
            iload 5 /* type */
            aload 2 /* result */
            invokestatic org.jruby.util.Pack.encodeUM:(Lorg/jruby/Ruby;Lorg/jruby/util/ByteList;IZCLorg/jruby/util/ByteList;)V
         6: .line 2131
            iload 3 /* taintOutput */
            ireturn
        end local 9 // org.jruby.runtime.builtin.IRubyObject from
        end local 8 // org.jruby.util.ByteList lCurElemString
        end local 7 // boolean ignoreStar
        end local 6 // int occurrences
        end local 5 // char type
        end local 4 // org.jruby.util.Pack$PackInts packInts
        end local 3 // boolean taintOutput
        end local 2 // org.jruby.util.ByteList result
        end local 1 // org.jruby.RubyArray list
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0         context  Lorg/jruby/runtime/ThreadContext;
            0    7     1            list  Lorg/jruby/RubyArray;
            0    7     2          result  Lorg/jruby/util/ByteList;
            0    7     3     taintOutput  Z
            0    7     4        packInts  Lorg/jruby/util/Pack$PackInts;
            0    7     5            type  C
            0    7     6     occurrences  I
            0    7     7      ignoreStar  Z
            4    7     8  lCurElemString  Lorg/jruby/util/ByteList;
            2    7     9            from  Lorg/jruby/runtime/builtin/IRubyObject;
    MethodParameters:
             Name  Flags
      context      
      list         
      result       
      taintOutput  
      packInts     
      type         
      occurrences  
      ignoreStar   

  private static void pack_at(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int occurrences
         0: .line 2135
            iload 1 /* occurrences */
            aload 0 /* result */
            invokevirtual org.jruby.util.ByteList.length:()I
            isub
            istore 1 /* occurrences */
         1: .line 2136
            iload 1 /* occurrences */
            ifle 3
         2: .line 2137
            aload 0 /* result */
            getstatic org.jruby.util.Pack.sNil10:[B
            iload 1 /* occurrences */
            invokestatic org.jruby.util.Pack.grow:(Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
            pop
         3: .line 2139
      StackMap locals:
      StackMap stack:
            iload 1 /* occurrences */
            ineg
            istore 1 /* occurrences */
         4: .line 2140
            iload 1 /* occurrences */
            ifle 6
         5: .line 2141
            aload 0 /* result */
            iload 1 /* occurrences */
            invokestatic org.jruby.util.Pack.shrink:(Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
            pop
         6: .line 2143
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int occurrences
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    7     0       result  Lorg/jruby/util/ByteList;
            0    7     1  occurrences  I
    MethodParameters:
             Name  Flags
      result       
      occurrences  

  private static void pack_X(org.jruby.runtime.ThreadContext, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/runtime/ThreadContext;Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.jruby.runtime.ThreadContext context
        start local 1 // org.jruby.util.ByteList result
        start local 2 // int occurrences
         0: .line 2147
            aload 1 /* result */
            iload 2 /* occurrences */
            invokestatic org.jruby.util.Pack.shrink:(Lorg/jruby/util/ByteList;I)Lorg/jruby/util/ByteList;
            pop
         1: .line 2148
            goto 4
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
         2: pop
         3: .line 2149
            aload 0 /* context */
            getfield org.jruby.runtime.ThreadContext.runtime:Lorg/jruby/Ruby;
            ldc "in `pack': X outside of string"
            invokevirtual org.jruby.Ruby.newArgumentError:(Ljava/lang/String;)Lorg/jruby/exceptions/RaiseException;
            athrow
         4: .line 2151
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int occurrences
        end local 1 // org.jruby.util.ByteList result
        end local 0 // org.jruby.runtime.ThreadContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0      context  Lorg/jruby/runtime/ThreadContext;
            0    5     1       result  Lorg/jruby/util/ByteList;
            0    5     2  occurrences  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.IllegalArgumentException
    MethodParameters:
             Name  Flags
      context      
      result       
      occurrences  

  private static void pack_h_inner(org.jruby.util.ByteList, int, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;ILorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int type
        start local 2 // org.jruby.util.ByteList lCurElemString
        start local 3 // int occurrences
         0: .line 2154
            iload 1 /* type */
            lookupswitch { // 7
                   65: 1
                   66: 5
                   72: 9
                   90: 1
                   97: 1
                   98: 3
                  104: 7
              default: 10
          }
         1: .line 2158
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            iload 1 /* type */
            aload 2 /* lCurElemString */
            iload 3 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_h_aAZ:(Lorg/jruby/util/ByteList;ILorg/jruby/util/ByteList;I)V
         2: .line 2159
            goto 10
         3: .line 2161
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 2 /* lCurElemString */
            iload 3 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_h_b:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
         4: .line 2162
            goto 10
         5: .line 2164
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 2 /* lCurElemString */
            iload 3 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_h_B:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
         6: .line 2165
            goto 10
         7: .line 2167
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 2 /* lCurElemString */
            iload 3 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_h_h:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
         8: .line 2168
            goto 10
         9: .line 2170
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 2 /* lCurElemString */
            iload 3 /* occurrences */
            invokestatic org.jruby.util.Pack.pack_h_H:(Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
        10: .line 2173
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int occurrences
        end local 2 // org.jruby.util.ByteList lCurElemString
        end local 1 // int type
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0          result  Lorg/jruby/util/ByteList;
            0   11     1            type  I
            0   11     2  lCurElemString  Lorg/jruby/util/ByteList;
            0   11     3     occurrences  I
    MethodParameters:
                Name  Flags
      result          
      type            
      lCurElemString  
      occurrences     

  private static void pack_h_H(org.jruby.util.ByteList, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.jruby.util.ByteList result
        start local 1 // org.jruby.util.ByteList lCurElemString
        start local 2 // int occurrences
         0: .line 2176
            iconst_0
            istore 3 /* currentByte */
        start local 3 // int currentByte
         1: .line 2177
            iconst_0
            istore 4 /* padLength */
        start local 4 // int padLength
         2: .line 2179
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            if_icmple 5
         3: .line 2180
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            isub
            iconst_1
            iadd
            istore 4 /* padLength */
         4: .line 2181
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            istore 2 /* occurrences */
         5: .line 2184
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 17
         7: .line 2185
      StackMap locals: int
      StackMap stack:
            aload 1 /* lCurElemString */
            iload 5 /* i */
            iinc 5 /* i */ 1
            invokevirtual org.jruby.util.ByteList.charAt:(I)C
            i2b
            istore 6 /* currentChar */
        start local 6 // byte currentChar
         8: .line 2187
            iload 6 /* currentChar */
            invokestatic java.lang.Character.isJavaIdentifierStart:(I)Z
            ifeq 11
         9: .line 2189
            iload 3 /* currentByte */
            iload 6 /* currentChar */
            bipush 15
            iand
            bipush 9
            iadd
            bipush 15
            iand
            ior
            istore 3 /* currentByte */
        10: .line 2190
            goto 12
        11: .line 2191
      StackMap locals: int
      StackMap stack:
            iload 3 /* currentByte */
            iload 6 /* currentChar */
            bipush 15
            iand
            ior
            istore 3 /* currentByte */
        12: .line 2194
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iconst_1
            iand
            ifeq 15
        13: .line 2195
            iload 3 /* currentByte */
            iconst_4
            ishl
            istore 3 /* currentByte */
        14: .line 2196
            goto 17
        15: .line 2197
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        16: .line 2198
            iconst_0
            istore 3 /* currentByte */
        end local 6 // byte currentChar
        17: .line 2184
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iload 2 /* occurrences */
            if_icmplt 7
        end local 5 // int i
        18: .line 2202
            iload 2 /* occurrences */
            iconst_1
            iand
            ifeq 21
        19: .line 2203
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        20: .line 2204
            iload 4 /* padLength */
            ifle 21
            iinc 4 /* padLength */ -1
        21: .line 2207
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 0 /* result */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 4 /* padLength */
            iconst_2
            idiv
            iadd
            invokevirtual org.jruby.util.ByteList.length:(I)V
        22: .line 2208
            return
        end local 4 // int padLength
        end local 3 // int currentByte
        end local 2 // int occurrences
        end local 1 // org.jruby.util.ByteList lCurElemString
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0          result  Lorg/jruby/util/ByteList;
            0   23     1  lCurElemString  Lorg/jruby/util/ByteList;
            0   23     2     occurrences  I
            1   23     3     currentByte  I
            2   23     4       padLength  I
            6   18     5               i  I
            8   17     6     currentChar  B
    MethodParameters:
                Name  Flags
      result          
      lCurElemString  
      occurrences     

  private static void pack_h_h(org.jruby.util.ByteList, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // org.jruby.util.ByteList result
        start local 1 // org.jruby.util.ByteList lCurElemString
        start local 2 // int occurrences
         0: .line 2211
            iconst_0
            istore 3 /* currentByte */
        start local 3 // int currentByte
         1: .line 2212
            iconst_0
            istore 4 /* padLength */
        start local 4 // int padLength
         2: .line 2214
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            if_icmple 5
         3: .line 2215
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            isub
            iconst_1
            iadd
            istore 4 /* padLength */
         4: .line 2216
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            istore 2 /* occurrences */
         5: .line 2219
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 17
         7: .line 2220
      StackMap locals: int
      StackMap stack:
            aload 1 /* lCurElemString */
            iload 5 /* i */
            iinc 5 /* i */ 1
            invokevirtual org.jruby.util.ByteList.charAt:(I)C
            i2b
            istore 6 /* currentChar */
        start local 6 // byte currentChar
         8: .line 2222
            iload 6 /* currentChar */
            invokestatic java.lang.Character.isJavaIdentifierStart:(I)Z
            ifeq 11
         9: .line 2224
            iload 3 /* currentByte */
            iload 6 /* currentChar */
            bipush 15
            iand
            bipush 9
            iadd
            bipush 15
            iand
            iconst_4
            ishl
            ior
            istore 3 /* currentByte */
        10: .line 2225
            goto 12
        11: .line 2226
      StackMap locals: int
      StackMap stack:
            iload 3 /* currentByte */
            iload 6 /* currentChar */
            bipush 15
            iand
            iconst_4
            ishl
            ior
            istore 3 /* currentByte */
        12: .line 2229
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iconst_1
            iand
            ifeq 15
        13: .line 2230
            iload 3 /* currentByte */
            iconst_4
            ishr
            istore 3 /* currentByte */
        14: .line 2231
            goto 17
        15: .line 2232
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        16: .line 2233
            iconst_0
            istore 3 /* currentByte */
        end local 6 // byte currentChar
        17: .line 2219
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iload 2 /* occurrences */
            if_icmplt 7
        end local 5 // int i
        18: .line 2237
            iload 2 /* occurrences */
            iconst_1
            iand
            ifeq 21
        19: .line 2238
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        20: .line 2239
            iload 4 /* padLength */
            ifle 21
            iinc 4 /* padLength */ -1
        21: .line 2242
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 0 /* result */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 4 /* padLength */
            iconst_2
            idiv
            iadd
            invokevirtual org.jruby.util.ByteList.length:(I)V
        22: .line 2243
            return
        end local 4 // int padLength
        end local 3 // int currentByte
        end local 2 // int occurrences
        end local 1 // org.jruby.util.ByteList lCurElemString
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   23     0          result  Lorg/jruby/util/ByteList;
            0   23     1  lCurElemString  Lorg/jruby/util/ByteList;
            0   23     2     occurrences  I
            1   23     3     currentByte  I
            2   23     4       padLength  I
            6   18     5               i  I
            8   17     6     currentChar  B
    MethodParameters:
                Name  Flags
      result          
      lCurElemString  
      occurrences     

  private static void pack_h_B(org.jruby.util.ByteList, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.util.ByteList result
        start local 1 // org.jruby.util.ByteList lCurElemString
        start local 2 // int occurrences
         0: .line 2246
            iconst_0
            istore 3 /* currentByte */
        start local 3 // int currentByte
         1: .line 2247
            iconst_0
            istore 4 /* padLength */
        start local 4 // int padLength
         2: .line 2249
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            if_icmple 5
         3: .line 2250
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            isub
            iconst_2
            idiv
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            iadd
            iconst_2
            irem
            iadd
            istore 4 /* padLength */
         4: .line 2251
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            istore 2 /* occurrences */
         5: .line 2254
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 13
         7: .line 2255
      StackMap locals: int
      StackMap stack:
            iload 3 /* currentByte */
            aload 1 /* lCurElemString */
            iload 5 /* i */
            iinc 5 /* i */ 1
            invokevirtual org.jruby.util.ByteList.charAt:(I)C
            iconst_1
            iand
            ior
            istore 3 /* currentByte */
         8: .line 2258
            iload 5 /* i */
            bipush 7
            iand
            ifne 12
         9: .line 2259
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        10: .line 2260
            iconst_0
            istore 3 /* currentByte */
        11: .line 2261
            goto 13
        12: .line 2265
      StackMap locals:
      StackMap stack:
            iload 3 /* currentByte */
            iconst_1
            ishl
            istore 3 /* currentByte */
        13: .line 2254
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iload 2 /* occurrences */
            if_icmplt 7
        end local 5 // int i
        14: .line 2268
            iload 2 /* occurrences */
            bipush 7
            iand
            ifeq 17
        15: .line 2269
            iload 3 /* currentByte */
            bipush 7
            iload 2 /* occurrences */
            bipush 7
            iand
            isub
            ishl
            istore 3 /* currentByte */
        16: .line 2270
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        17: .line 2273
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 0 /* result */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 4 /* padLength */
            iadd
            invokevirtual org.jruby.util.ByteList.length:(I)V
        18: .line 2274
            return
        end local 4 // int padLength
        end local 3 // int currentByte
        end local 2 // int occurrences
        end local 1 // org.jruby.util.ByteList lCurElemString
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   19     0          result  Lorg/jruby/util/ByteList;
            0   19     1  lCurElemString  Lorg/jruby/util/ByteList;
            0   19     2     occurrences  I
            1   19     3     currentByte  I
            2   19     4       padLength  I
            6   14     5               i  I
    MethodParameters:
                Name  Flags
      result          
      lCurElemString  
      occurrences     

  private static void pack_h_b(org.jruby.util.ByteList, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.jruby.util.ByteList result
        start local 1 // org.jruby.util.ByteList lCurElemString
        start local 2 // int occurrences
         0: .line 2277
            iconst_0
            istore 3 /* currentByte */
        start local 3 // int currentByte
         1: .line 2278
            iconst_0
            istore 4 /* padLength */
        start local 4 // int padLength
         2: .line 2280
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            if_icmple 5
         3: .line 2281
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            isub
            iconst_2
            idiv
            iload 2 /* occurrences */
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            iadd
            iconst_2
            irem
            iadd
            istore 4 /* padLength */
         4: .line 2282
            aload 1 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            istore 2 /* occurrences */
         5: .line 2285
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 14
         7: .line 2286
      StackMap locals: int
      StackMap stack:
            aload 1 /* lCurElemString */
            iload 5 /* i */
            iinc 5 /* i */ 1
            invokevirtual org.jruby.util.ByteList.charAt:(I)C
            iconst_1
            iand
            ifeq 9
         8: .line 2287
            iload 3 /* currentByte */
            sipush 128
            ior
            istore 3 /* currentByte */
         9: .line 2290
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            bipush 7
            iand
            ifne 13
        10: .line 2291
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        11: .line 2292
            iconst_0
            istore 3 /* currentByte */
        12: .line 2293
            goto 14
        13: .line 2297
      StackMap locals:
      StackMap stack:
            iload 3 /* currentByte */
            iconst_1
            ishr
            istore 3 /* currentByte */
        14: .line 2285
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iload 2 /* occurrences */
            if_icmplt 7
        end local 5 // int i
        15: .line 2300
            iload 2 /* occurrences */
            bipush 7
            iand
            ifeq 18
        16: .line 2301
            iload 3 /* currentByte */
            bipush 7
            iload 2 /* occurrences */
            bipush 7
            iand
            isub
            ishr
            istore 3 /* currentByte */
        17: .line 2302
            aload 0 /* result */
            iload 3 /* currentByte */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
        18: .line 2306
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 0 /* result */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 4 /* padLength */
            iadd
            invokevirtual org.jruby.util.ByteList.length:(I)V
        19: .line 2307
            return
        end local 4 // int padLength
        end local 3 // int currentByte
        end local 2 // int occurrences
        end local 1 // org.jruby.util.ByteList lCurElemString
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   20     0          result  Lorg/jruby/util/ByteList;
            0   20     1  lCurElemString  Lorg/jruby/util/ByteList;
            0   20     2     occurrences  I
            1   20     3     currentByte  I
            2   20     4       padLength  I
            6   15     5               i  I
    MethodParameters:
                Name  Flags
      result          
      lCurElemString  
      occurrences     

  private static void pack_h_aAZ(org.jruby.util.ByteList, int, org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;ILorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int type
        start local 2 // org.jruby.util.ByteList lCurElemString
        start local 3 // int occurrences
         0: .line 2310
            aload 2 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            iload 3 /* occurrences */
            if_icmplt 3
         1: .line 2311
            aload 0 /* result */
            aload 2 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.getUnsafeBytes:()[B
            aload 2 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.getBegin:()I
            iload 3 /* occurrences */
            invokevirtual org.jruby.util.ByteList.append:([BII)V
         2: .line 2312
            goto 9
         3: .line 2315
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            aload 2 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.append:(Lorg/jruby/util/ByteList;)V
         4: .line 2316
            iload 3 /* occurrences */
            aload 2 /* lCurElemString */
            invokevirtual org.jruby.util.ByteList.length:()I
            isub
            istore 3 /* occurrences */
         5: .line 2318
            iload 1 /* type */
            lookupswitch { // 2
                   90: 6
                   97: 6
              default: 8
          }
         6: .line 2321
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            getstatic org.jruby.util.Pack.sNil10:[B
            iload 3 /* occurrences */
            invokestatic org.jruby.util.Pack.grow:(Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
            pop
         7: .line 2322
            goto 9
         8: .line 2324
      StackMap locals:
      StackMap stack:
            aload 0 /* result */
            getstatic org.jruby.util.Pack.sSp10:[B
            iload 3 /* occurrences */
            invokestatic org.jruby.util.Pack.grow:(Lorg/jruby/util/ByteList;[BI)Lorg/jruby/util/ByteList;
            pop
         9: .line 2328
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int occurrences
        end local 2 // org.jruby.util.ByteList lCurElemString
        end local 1 // int type
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   10     0          result  Lorg/jruby/util/ByteList;
            0   10     1            type  I
            0   10     2  lCurElemString  Lorg/jruby/util/ByteList;
            0   10     3     occurrences  I
    MethodParameters:
                Name  Flags
      result          
      type            
      lCurElemString  
      occurrences     

  private static int adjustEncInfo(int, int);
    descriptor: (II)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int type
        start local 1 // int enc_info
         0: .line 2331
            iload 0 /* type */
            lookupswitch { // 4
                   77: 3
                   85: 1
                  109: 3
                  117: 3
              default: 4
          }
         1: .line 2333
      StackMap locals:
      StackMap stack:
            iload 1 /* enc_info */
            iconst_1
            if_icmpne 5
            iconst_2
            istore 1 /* enc_info */
         2: .line 2334
            goto 5
         3: .line 2338
      StackMap locals:
      StackMap stack:
            goto 5
         4: .line 2340
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* enc_info */
         5: .line 2343
      StackMap locals:
      StackMap stack:
            iload 1 /* enc_info */
            ireturn
        end local 1 // int enc_info
        end local 0 // int type
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    6     0      type  I
            0    6     1  enc_info  I
    MethodParameters:
          Name  Flags
      type      
      enc_info  

  private static int decodeIntLittleEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2354
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         1: .line 2355
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            istore 1 /* value */
        start local 1 // int value
         2: .line 2356
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         3: .line 2357
            iload 1 /* value */
            ireturn
        end local 1 // int value
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  encode  Ljava/nio/ByteBuffer;
            2    4     1   value  I
    MethodParameters:
        Name  Flags
      encode  

  private static int decodeIntBigEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2368
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            ireturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  encode  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      encode  

  private static long decodeIntUnsignedBigEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2379
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            i2l
            ldc 4294967295
            land
            lreturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  encode  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      encode  

  private static long decodeIntUnsignedLittleEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2390
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         1: .line 2391
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getInt:()I
            i2l
            ldc 4294967295
            land
            lstore 1 /* value */
        start local 1 // long value
         2: .line 2392
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         3: .line 2393
            lload 1 /* value */
            lreturn
        end local 1 // long value
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  encode  Ljava/nio/ByteBuffer;
            2    4     1   value  J
    MethodParameters:
        Name  Flags
      encode  

  private static void encodeIntLittleEndian(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int s
         0: .line 2403
            aload 0 /* result */
            iload 1 /* s */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            iload 1 /* s */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         1: .line 2404
            aload 0 /* result */
            iload 1 /* s */
            bipush 16
            ishr
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            iload 1 /* s */
            bipush 24
            ishr
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         2: .line 2405
            return
        end local 1 // int s
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  result  Lorg/jruby/util/ByteList;
            0    3     1       s  I
    MethodParameters:
        Name  Flags
      result  
      s       

  private static void encodeIntBigEndian(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int s
         0: .line 2414
            aload 0 /* result */
            iload 1 /* s */
            bipush 24
            ishr
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            iload 1 /* s */
            bipush 16
            ishr
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         1: .line 2415
            aload 0 /* result */
            iload 1 /* s */
            bipush 8
            ishr
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            iload 1 /* s */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         2: .line 2416
            return
        end local 1 // int s
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  result  Lorg/jruby/util/ByteList;
            0    3     1       s  I
    MethodParameters:
        Name  Flags
      result  
      s       

  private static long decodeLongBigEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2425
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeIntBigEndian:(Ljava/nio/ByteBuffer;)I
            istore 1 /* c1 */
        start local 1 // int c1
         1: .line 2426
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeIntBigEndian:(Ljava/nio/ByteBuffer;)I
            istore 2 /* c2 */
        start local 2 // int c2
         2: .line 2428
            iload 1 /* c1 */
            i2l
            bipush 32
            lshl
            iload 2 /* c2 */
            i2l
            ldc 4294967295
            land
            ladd
            lreturn
        end local 2 // int c2
        end local 1 // int c1
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  encode  Ljava/nio/ByteBuffer;
            1    3     1      c1  I
            2    3     2      c2  I
    MethodParameters:
        Name  Flags
      encode  

  private static long decodeLongLittleEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)J
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2438
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeIntLittleEndian:(Ljava/nio/ByteBuffer;)I
            istore 1 /* c1 */
        start local 1 // int c1
         1: .line 2439
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeIntLittleEndian:(Ljava/nio/ByteBuffer;)I
            istore 2 /* c2 */
        start local 2 // int c2
         2: .line 2441
            iload 2 /* c2 */
            i2l
            bipush 32
            lshl
            iload 1 /* c1 */
            i2l
            ldc 4294967295
            land
            ladd
            lreturn
        end local 2 // int c2
        end local 1 // int c1
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  encode  Ljava/nio/ByteBuffer;
            1    3     1      c1  I
            2    3     2      c2  I
    MethodParameters:
        Name  Flags
      encode  

  private static void encodeLongLittleEndian(org.jruby.util.ByteList, long);
    descriptor: (Lorg/jruby/util/ByteList;J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // long l
         0: .line 2451
            aload 0 /* result */
            lload 1 /* l */
            ldc -1
            land
            l2i
            invokestatic org.jruby.util.Pack.encodeIntLittleEndian:(Lorg/jruby/util/ByteList;I)V
         1: .line 2452
            aload 0 /* result */
            lload 1 /* l */
            bipush 32
            lushr
            l2i
            invokestatic org.jruby.util.Pack.encodeIntLittleEndian:(Lorg/jruby/util/ByteList;I)V
         2: .line 2453
            return
        end local 1 // long l
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  result  Lorg/jruby/util/ByteList;
            0    3     1       l  J
    MethodParameters:
        Name  Flags
      result  
      l       

  private static void encodeLongBigEndian(org.jruby.util.ByteList, long);
    descriptor: (Lorg/jruby/util/ByteList;J)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // long l
         0: .line 2462
            aload 0 /* result */
            lload 1 /* l */
            bipush 32
            lushr
            l2i
            invokestatic org.jruby.util.Pack.encodeIntBigEndian:(Lorg/jruby/util/ByteList;I)V
         1: .line 2463
            aload 0 /* result */
            lload 1 /* l */
            ldc -1
            land
            l2i
            invokestatic org.jruby.util.Pack.encodeIntBigEndian:(Lorg/jruby/util/ByteList;I)V
         2: .line 2464
            return
        end local 1 // long l
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  result  Lorg/jruby/util/ByteList;
            0    3     1       l  J
    MethodParameters:
        Name  Flags
      result  
      l       

  private static double decodeDoubleLittleEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2473
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeLongLittleEndian:(Ljava/nio/ByteBuffer;)J
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  encode  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      encode  

  private static double decodeDoubleBigEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)D
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2483
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeLongBigEndian:(Ljava/nio/ByteBuffer;)J
            invokestatic java.lang.Double.longBitsToDouble:(J)D
            dreturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  encode  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      encode  

  private static void encodeDoubleLittleEndian(org.jruby.util.ByteList, double);
    descriptor: (Lorg/jruby/util/ByteList;D)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // double d
         0: .line 2493
            aload 0 /* result */
            dload 1 /* d */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            invokestatic org.jruby.util.Pack.encodeLongLittleEndian:(Lorg/jruby/util/ByteList;J)V
         1: .line 2494
            return
        end local 1 // double d
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  result  Lorg/jruby/util/ByteList;
            0    2     1       d  D
    MethodParameters:
        Name  Flags
      result  
      d       

  private static void encodeDoubleBigEndian(org.jruby.util.ByteList, double);
    descriptor: (Lorg/jruby/util/ByteList;D)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // double d
         0: .line 2503
            aload 0 /* result */
            dload 1 /* d */
            invokestatic java.lang.Double.doubleToRawLongBits:(D)J
            invokestatic org.jruby.util.Pack.encodeLongBigEndian:(Lorg/jruby/util/ByteList;J)V
         1: .line 2504
            return
        end local 1 // double d
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  result  Lorg/jruby/util/ByteList;
            0    2     1       d  D
    MethodParameters:
        Name  Flags
      result  
      d       

  private static float decodeFloatBigEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)F
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2513
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeIntBigEndian:(Ljava/nio/ByteBuffer;)I
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  encode  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      encode  

  private static float decodeFloatLittleEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)F
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2523
            aload 0 /* encode */
            invokestatic org.jruby.util.Pack.decodeIntLittleEndian:(Ljava/nio/ByteBuffer;)I
            invokestatic java.lang.Float.intBitsToFloat:(I)F
            freturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  encode  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      encode  

  private static void encodeFloatLittleEndian(org.jruby.util.ByteList, float);
    descriptor: (Lorg/jruby/util/ByteList;F)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // float f
         0: .line 2532
            aload 0 /* result */
            fload 1 /* f */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            invokestatic org.jruby.util.Pack.encodeIntLittleEndian:(Lorg/jruby/util/ByteList;I)V
         1: .line 2533
            return
        end local 1 // float f
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  result  Lorg/jruby/util/ByteList;
            0    2     1       f  F
    MethodParameters:
        Name  Flags
      result  
      f       

  private static void encodeFloatBigEndian(org.jruby.util.ByteList, float);
    descriptor: (Lorg/jruby/util/ByteList;F)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // float f
         0: .line 2541
            aload 0 /* result */
            fload 1 /* f */
            invokestatic java.lang.Float.floatToRawIntBits:(F)I
            invokestatic org.jruby.util.Pack.encodeIntBigEndian:(Lorg/jruby/util/ByteList;I)V
         1: .line 2542
            return
        end local 1 // float f
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  result  Lorg/jruby/util/ByteList;
            0    2     1       f  F
    MethodParameters:
        Name  Flags
      result  
      f       

  private static int decodeShortUnsignedLittleEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2551
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         1: .line 2552
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getShort:()S
            ldc 65535
            iand
            istore 1 /* value */
        start local 1 // int value
         2: .line 2553
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         3: .line 2554
            iload 1 /* value */
            ireturn
        end local 1 // int value
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  encode  Ljava/nio/ByteBuffer;
            2    4     1   value  I
    MethodParameters:
        Name  Flags
      encode  

  private static int decodeShortUnsignedBigEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2564
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getShort:()S
            ldc 65535
            iand
            istore 1 /* value */
        start local 1 // int value
         1: .line 2565
            iload 1 /* value */
            ireturn
        end local 1 // int value
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  encode  Ljava/nio/ByteBuffer;
            1    2     1   value  I
    MethodParameters:
        Name  Flags
      encode  

  private static int decodeShortLittleEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2575
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.LITTLE_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         1: .line 2576
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getShort:()S
            istore 1 /* value */
        start local 1 // int value
         2: .line 2577
            aload 0 /* encode */
            getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
            invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
            pop
         3: .line 2578
            iload 1 /* value */
            ireturn
        end local 1 // int value
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  encode  Ljava/nio/ByteBuffer;
            2    4     1   value  I
    MethodParameters:
        Name  Flags
      encode  

  private static short decodeShortBigEndian(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)S
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.nio.ByteBuffer encode
         0: .line 2588
            aload 0 /* encode */
            invokevirtual java.nio.ByteBuffer.getShort:()S
            ireturn
        end local 0 // java.nio.ByteBuffer encode
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0  encode  Ljava/nio/ByteBuffer;
    MethodParameters:
        Name  Flags
      encode  

  private static void encodeShortLittleEndian(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int s
         0: .line 2598
            aload 0 /* result */
            iload 1 /* s */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            iload 1 /* s */
            ldc 65280
            iand
            bipush 8
            ishr
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         1: .line 2599
            return
        end local 1 // int s
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  result  Lorg/jruby/util/ByteList;
            0    2     1       s  I
    MethodParameters:
        Name  Flags
      result  
      s       

  private static void encodeShortBigEndian(org.jruby.util.ByteList, int);
    descriptor: (Lorg/jruby/util/ByteList;I)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // org.jruby.util.ByteList result
        start local 1 // int s
         0: .line 2608
            aload 0 /* result */
            iload 1 /* s */
            ldc 65280
            iand
            bipush 8
            ishr
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            iload 1 /* s */
            sipush 255
            iand
            i2b
            invokevirtual org.jruby.util.ByteList.append:(B)Lorg/jruby/util/ByteList;
            pop
         1: .line 2609
            return
        end local 1 // int s
        end local 0 // org.jruby.util.ByteList result
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  result  Lorg/jruby/util/ByteList;
            0    2     1       s  I
    MethodParameters:
        Name  Flags
      result  
      s       
}
SourceFile: "Pack.java"
NestMembers:
  org.jruby.util.Pack$1  org.jruby.util.Pack$10  org.jruby.util.Pack$11  org.jruby.util.Pack$12  org.jruby.util.Pack$13  org.jruby.util.Pack$14  org.jruby.util.Pack$15  org.jruby.util.Pack$16  org.jruby.util.Pack$17  org.jruby.util.Pack$18  org.jruby.util.Pack$19  org.jruby.util.Pack$2  org.jruby.util.Pack$20  org.jruby.util.Pack$21  org.jruby.util.Pack$22  org.jruby.util.Pack$23  org.jruby.util.Pack$24  org.jruby.util.Pack$25  org.jruby.util.Pack$26  org.jruby.util.Pack$27  org.jruby.util.Pack$3  org.jruby.util.Pack$4  org.jruby.util.Pack$5  org.jruby.util.Pack$6  org.jruby.util.Pack$7  org.jruby.util.Pack$8  org.jruby.util.Pack$9  org.jruby.util.Pack$Converter  org.jruby.util.Pack$ConverterExecutor  org.jruby.util.Pack$PackInts  org.jruby.util.Pack$QuadConverter
InnerClasses:
  org.jruby.util.Pack$1
  org.jruby.util.Pack$10
  org.jruby.util.Pack$11
  org.jruby.util.Pack$12
  org.jruby.util.Pack$13
  org.jruby.util.Pack$14
  org.jruby.util.Pack$15
  org.jruby.util.Pack$16
  org.jruby.util.Pack$17
  org.jruby.util.Pack$18
  org.jruby.util.Pack$19
  org.jruby.util.Pack$2
  org.jruby.util.Pack$20
  org.jruby.util.Pack$21
  org.jruby.util.Pack$22
  org.jruby.util.Pack$23
  org.jruby.util.Pack$24
  org.jruby.util.Pack$25
  org.jruby.util.Pack$26
  org.jruby.util.Pack$27
  org.jruby.util.Pack$3
  org.jruby.util.Pack$4
  org.jruby.util.Pack$5
  org.jruby.util.Pack$6
  org.jruby.util.Pack$7
  org.jruby.util.Pack$8
  org.jruby.util.Pack$9
  public abstract Converter = org.jruby.util.Pack$Converter of org.jruby.util.Pack
  private abstract ConverterExecutor = org.jruby.util.Pack$ConverterExecutor of org.jruby.util.Pack
  private PackInts = org.jruby.util.Pack$PackInts of org.jruby.util.Pack
  private abstract QuadConverter = org.jruby.util.Pack$QuadConverter of org.jruby.util.Pack