public class org.codehaus.plexus.util.Base64
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.codehaus.plexus.util.Base64
  super_class: java.lang.Object
{
  static final int CHUNK_SIZE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 76

  static final byte[] CHUNK_SEPARATOR;
    descriptor: [B
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final int BASELENGTH;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 255

  static final int LOOKUPLENGTH;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 64

  static final int EIGHTBIT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 8

  static final int SIXTEENBIT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 16

  static final int TWENTYFOURBITGROUP;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 24

  static final int FOURBYTE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int SIGN;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: -128

  static final byte PAD;
    descriptor: B
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 61

  private static byte[] base64Alphabet;
    descriptor: [B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static byte[] lookUpBase64Alphabet;
    descriptor: [B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 54
            ldc "\r\n"
            invokevirtual java.lang.String.getBytes:()[B
            putstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
         1: .line 106
            sipush 255
            newarray 8
            putstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
         2: .line 121
            bipush 64
            newarray 8
            putstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
         3: .line 126
            iconst_0
            istore 0 /* i */
        start local 0 // int i
         4: goto 7
         5: .line 128
      StackMap locals: int
      StackMap stack:
            getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
            iload 0 /* i */
            iconst_m1
            bastore
         6: .line 126
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 0 /* i */
            sipush 255
            if_icmplt 5
        end local 0 // int i
         8: .line 130
            bipush 90
            istore 0 /* i */
        start local 0 // int i
         9: goto 12
        10: .line 132
      StackMap locals:
      StackMap stack:
            getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
            iload 0 /* i */
            iload 0 /* i */
            bipush 65
            isub
            i2b
            bastore
        11: .line 130
            iinc 0 /* i */ -1
      StackMap locals:
      StackMap stack:
        12: iload 0 /* i */
            bipush 65
            if_icmpge 10
        end local 0 // int i
        13: .line 134
            bipush 122
            istore 0 /* i */
        start local 0 // int i
        14: goto 17
        15: .line 136
      StackMap locals:
      StackMap stack:
            getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
            iload 0 /* i */
            iload 0 /* i */
            bipush 97
            isub
            bipush 26
            iadd
            i2b
            bastore
        16: .line 134
            iinc 0 /* i */ -1
      StackMap locals:
      StackMap stack:
        17: iload 0 /* i */
            bipush 97
            if_icmpge 15
        end local 0 // int i
        18: .line 138
            bipush 57
            istore 0 /* i */
        start local 0 // int i
        19: goto 22
        20: .line 140
      StackMap locals:
      StackMap stack:
            getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
            iload 0 /* i */
            iload 0 /* i */
            bipush 48
            isub
            bipush 52
            iadd
            i2b
            bastore
        21: .line 138
            iinc 0 /* i */ -1
      StackMap locals:
      StackMap stack:
        22: iload 0 /* i */
            bipush 48
            if_icmpge 20
        end local 0 // int i
        23: .line 143
            getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
            bipush 43
            bipush 62
            bastore
        24: .line 144
            getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
            bipush 47
            bipush 63
            bastore
        25: .line 146
            iconst_0
            istore 0 /* i */
        start local 0 // int i
        26: goto 29
        27: .line 148
      StackMap locals:
      StackMap stack:
            getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
            iload 0 /* i */
            bipush 65
            iload 0 /* i */
            iadd
            i2b
            bastore
        28: .line 146
            iinc 0 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 0 /* i */
            bipush 25
            if_icmple 27
        end local 0 // int i
        30: .line 151
            bipush 26
            istore 0 /* i */
        start local 0 // int i
        31: iconst_0
            istore 1 /* j */
        start local 1 // int j
        32: goto 35
        33: .line 153
      StackMap locals: int
      StackMap stack:
            getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
            iload 0 /* i */
            bipush 97
            iload 1 /* j */
            iadd
            i2b
            bastore
        34: .line 151
            iinc 0 /* i */ 1
            iinc 1 /* j */ 1
      StackMap locals:
      StackMap stack:
        35: iload 0 /* i */
            bipush 51
            if_icmple 33
        end local 1 // int j
        end local 0 // int i
        36: .line 156
            bipush 52
            istore 0 /* i */
        start local 0 // int i
        37: iconst_0
            istore 1 /* j */
        start local 1 // int j
        38: goto 41
        39: .line 158
      StackMap locals:
      StackMap stack:
            getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
            iload 0 /* i */
            bipush 48
            iload 1 /* j */
            iadd
            i2b
            bastore
        40: .line 156
            iinc 0 /* i */ 1
            iinc 1 /* j */ 1
      StackMap locals:
      StackMap stack:
        41: iload 0 /* i */
            bipush 61
            if_icmple 39
        end local 1 // int j
        end local 0 // int i
        42: .line 161
            getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
            bipush 62
            bipush 43
            bastore
        43: .line 162
            getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
            bipush 63
            bipush 47
            bastore
        44: .line 163
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            4    8     0     i  I
            9   13     0     i  I
           14   18     0     i  I
           19   23     0     i  I
           26   30     0     i  I
           31   36     0     i  I
           32   36     1     j  I
           37   42     0     i  I
           38   42     1     j  I

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

  private static boolean isBase64(byte);
    descriptor: (B)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // byte octect
         0: .line 173
            iload 0 /* octect */
            bipush 61
            if_icmpne 2
         1: .line 175
            iconst_1
            ireturn
         2: .line 177
      StackMap locals:
      StackMap stack:
            iload 0 /* octect */
            iflt 3
            getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
            iload 0 /* octect */
            baload
            iconst_m1
            if_icmpne 4
         3: .line 179
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 183
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // byte octect
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0  octect  B
    MethodParameters:
        Name  Flags
      octect  

  public static boolean isArrayByteBase64(byte[]);
    descriptor: ([B)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // byte[] arrayOctect
         0: .line 197
            aload 0 /* arrayOctect */
            invokestatic org.codehaus.plexus.util.Base64.discardWhitespace:([B)[B
            astore 0 /* arrayOctect */
         1: .line 199
            aload 0 /* arrayOctect */
            arraylength
            istore 1 /* length */
        start local 1 // int length
         2: .line 200
            iload 1 /* length */
            ifne 4
         3: .line 204
            iconst_1
            ireturn
         4: .line 206
      StackMap locals: int
      StackMap stack:
            aload 0 /* arrayOctect */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 9
      StackMap locals: byte[] int top int int byte[]
      StackMap stack:
         5: aload 5
            iload 3
            baload
            istore 2 /* anArrayOctect */
        start local 2 // byte anArrayOctect
         6: .line 208
            iload 2 /* anArrayOctect */
            invokestatic org.codehaus.plexus.util.Base64.isBase64:(B)Z
            ifne 8
         7: .line 210
            iconst_0
            ireturn
        end local 2 // byte anArrayOctect
         8: .line 206
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         9: iload 3
            iload 4
            if_icmplt 5
        10: .line 213
            iconst_1
            ireturn
        end local 1 // int length
        end local 0 // byte[] arrayOctect
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0    arrayOctect  [B
            2   11     1         length  I
            6    8     2  anArrayOctect  B
    MethodParameters:
             Name  Flags
      arrayOctect  

  public static byte[] encodeBase64(byte[]);
    descriptor: ([B)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // byte[] binaryData
         0: .line 224
            aload 0 /* binaryData */
            iconst_0
            invokestatic org.codehaus.plexus.util.Base64.encodeBase64:([BZ)[B
            areturn
        end local 0 // byte[] binaryData
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  binaryData  [B
    MethodParameters:
            Name  Flags
      binaryData  

  public static byte[] encodeBase64Chunked(byte[]);
    descriptor: ([B)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // byte[] binaryData
         0: .line 235
            aload 0 /* binaryData */
            iconst_1
            invokestatic org.codehaus.plexus.util.Base64.encodeBase64:([BZ)[B
            areturn
        end local 0 // byte[] binaryData
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0  binaryData  [B
    MethodParameters:
            Name  Flags
      binaryData  

  public byte[] decode(byte[]);
    descriptor: ([B)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // org.codehaus.plexus.util.Base64 this
        start local 1 // byte[] pArray
         0: .line 246
            aload 1 /* pArray */
            invokestatic org.codehaus.plexus.util.Base64.decodeBase64:([B)[B
            areturn
        end local 1 // byte[] pArray
        end local 0 // org.codehaus.plexus.util.Base64 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/codehaus/plexus/util/Base64;
            0    1     1  pArray  [B
    MethodParameters:
        Name  Flags
      pArray  

  public static byte[] encodeBase64(byte[], boolean);
    descriptor: ([BZ)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=21, args_size=2
        start local 0 // byte[] binaryData
        start local 1 // boolean isChunked
         0: .line 258
            aload 0 /* binaryData */
            arraylength
            bipush 8
            imul
            istore 2 /* lengthDataBits */
        start local 2 // int lengthDataBits
         1: .line 259
            iload 2 /* lengthDataBits */
            bipush 24
            irem
            istore 3 /* fewerThan24bits */
        start local 3 // int fewerThan24bits
         2: .line 260
            iload 2 /* lengthDataBits */
            bipush 24
            idiv
            istore 4 /* numberTriplets */
        start local 4 // int numberTriplets
         3: .line 261
            aconst_null
            astore 5 /* encodedData */
        start local 5 // byte[] encodedData
         4: .line 262
            iconst_0
            istore 6 /* encodedDataLength */
        start local 6 // int encodedDataLength
         5: .line 263
            iconst_0
            istore 7 /* nbrChunks */
        start local 7 // int nbrChunks
         6: .line 265
            iload 3 /* fewerThan24bits */
            ifeq 9
         7: .line 268
            iload 4 /* numberTriplets */
            iconst_1
            iadd
            iconst_4
            imul
            istore 6 /* encodedDataLength */
         8: .line 269
            goto 10
         9: .line 273
      StackMap locals: byte[] int int int int byte[] int int
      StackMap stack:
            iload 4 /* numberTriplets */
            iconst_4
            imul
            istore 6 /* encodedDataLength */
        10: .line 279
      StackMap locals:
      StackMap stack:
            iload 1 /* isChunked */
            ifeq 15
        11: .line 282
            getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
            arraylength
            ifne 12
            iconst_0
            goto 13
      StackMap locals:
      StackMap stack:
        12: iload 6 /* encodedDataLength */
            i2f
            ldc 76.0
            fdiv
            f2d
            invokestatic java.lang.Math.ceil:(D)D
            d2i
      StackMap locals:
      StackMap stack: int
        13: istore 7 /* nbrChunks */
        14: .line 283
            iload 6 /* encodedDataLength */
            iload 7 /* nbrChunks */
            getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
            arraylength
            imul
            iadd
            istore 6 /* encodedDataLength */
        15: .line 286
      StackMap locals:
      StackMap stack:
            iload 6 /* encodedDataLength */
            newarray 8
            astore 5 /* encodedData */
        16: .line 288
            iconst_0
            istore 8 /* k */
        start local 8 // byte k
        17: iconst_0
            istore 9 /* l */
        start local 9 // byte l
        18: iconst_0
            istore 10 /* b1 */
        start local 10 // byte b1
        19: iconst_0
            istore 11 /* b2 */
        start local 11 // byte b2
        20: iconst_0
            istore 12 /* b3 */
        start local 12 // byte b3
        21: .line 290
            iconst_0
            istore 13 /* encodedIndex */
        start local 13 // int encodedIndex
        22: .line 291
            iconst_0
            istore 14 /* dataIndex */
        start local 14 // int dataIndex
        23: .line 292
            iconst_0
            istore 15 /* i */
        start local 15 // int i
        24: .line 293
            bipush 76
            istore 16 /* nextSeparatorIndex */
        start local 16 // int nextSeparatorIndex
        25: .line 294
            iconst_0
            istore 17 /* chunksSoFar */
        start local 17 // int chunksSoFar
        26: .line 297
            iconst_0
            istore 15 /* i */
            goto 55
        27: .line 299
      StackMap locals: byte[] int int int int byte[] int int int int int int int int int int int int
      StackMap stack:
            iload 15 /* i */
            iconst_3
            imul
            istore 14 /* dataIndex */
        28: .line 300
            aload 0 /* binaryData */
            iload 14 /* dataIndex */
            baload
            istore 10 /* b1 */
        29: .line 301
            aload 0 /* binaryData */
            iload 14 /* dataIndex */
            iconst_1
            iadd
            baload
            istore 11 /* b2 */
        30: .line 302
            aload 0 /* binaryData */
            iload 14 /* dataIndex */
            iconst_2
            iadd
            baload
            istore 12 /* b3 */
        31: .line 306
            iload 11 /* b2 */
            bipush 15
            iand
            i2b
            istore 9 /* l */
        32: .line 307
            iload 10 /* b1 */
            iconst_3
            iand
            i2b
            istore 8 /* k */
        33: .line 309
            iload 10 /* b1 */
            bipush -128
            iand
            ifne 34
            iload 10 /* b1 */
            iconst_2
            ishr
            i2b
            goto 35
      StackMap locals:
      StackMap stack:
        34: iload 10 /* b1 */
            iconst_2
            ishr
            sipush 192
            ixor
            i2b
      StackMap locals:
      StackMap stack: int
        35: istore 18 /* val1 */
        start local 18 // byte val1
        36: .line 310
            iload 11 /* b2 */
            bipush -128
            iand
            ifne 37
            iload 11 /* b2 */
            iconst_4
            ishr
            i2b
            goto 38
      StackMap locals: int
      StackMap stack:
        37: iload 11 /* b2 */
            iconst_4
            ishr
            sipush 240
            ixor
            i2b
      StackMap locals:
      StackMap stack: int
        38: istore 19 /* val2 */
        start local 19 // byte val2
        39: .line 311
            iload 12 /* b3 */
            bipush -128
            iand
            ifne 40
            iload 12 /* b3 */
            bipush 6
            ishr
            i2b
            goto 41
      StackMap locals: int
      StackMap stack:
        40: iload 12 /* b3 */
            bipush 6
            ishr
            sipush 252
            ixor
            i2b
      StackMap locals:
      StackMap stack: int
        41: istore 20 /* val3 */
        start local 20 // byte val3
        42: .line 313
            aload 5 /* encodedData */
            iload 13 /* encodedIndex */
            getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
            iload 18 /* val1 */
            baload
            bastore
        43: .line 317
            aload 5 /* encodedData */
            iload 13 /* encodedIndex */
            iconst_1
            iadd
            getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
            iload 19 /* val2 */
            iload 8 /* k */
            iconst_4
            ishl
            ior
            baload
            bastore
        44: .line 318
            aload 5 /* encodedData */
            iload 13 /* encodedIndex */
            iconst_2
            iadd
            getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
            iload 9 /* l */
            iconst_2
            ishl
            iload 20 /* val3 */
            ior
            baload
            bastore
        45: .line 319
            aload 5 /* encodedData */
            iload 13 /* encodedIndex */
            iconst_3
            iadd
            getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
            iload 12 /* b3 */
            bipush 63
            iand
            baload
            bastore
        46: .line 321
            iinc 13 /* encodedIndex */ 4
        47: .line 324
            iload 1 /* isChunked */
            ifeq 54
        48: .line 327
            iload 13 /* encodedIndex */
            iload 16 /* nextSeparatorIndex */
            if_icmpne 54
        49: .line 329
            getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
            iconst_0
            aload 5 /* encodedData */
            iload 13 /* encodedIndex */
            getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        50: .line 330
            iinc 17 /* chunksSoFar */ 1
        51: .line 332
            bipush 76
            iload 17 /* chunksSoFar */
            iconst_1
            iadd
            imul
            iload 17 /* chunksSoFar */
            getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
            arraylength
            imul
            iadd
        52: .line 331
            istore 16 /* nextSeparatorIndex */
        53: .line 333
            iload 13 /* encodedIndex */
            getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
            arraylength
            iadd
            istore 13 /* encodedIndex */
        end local 20 // byte val3
        end local 19 // byte val2
        end local 18 // byte val1
        54: .line 297
      StackMap locals:
      StackMap stack:
            iinc 15 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 15 /* i */
            iload 4 /* numberTriplets */
            if_icmplt 27
        56: .line 339
            iload 15 /* i */
            iconst_3
            imul
            istore 14 /* dataIndex */
        57: .line 341
            iload 3 /* fewerThan24bits */
            bipush 8
            if_icmpne 68
        58: .line 343
            aload 0 /* binaryData */
            iload 14 /* dataIndex */
            baload
            istore 10 /* b1 */
        59: .line 344
            iload 10 /* b1 */
            iconst_3
            iand
            i2b
            istore 8 /* k */
        60: .line 347
            iload 10 /* b1 */
            bipush -128
            iand
            ifne 61
            iload 10 /* b1 */
            iconst_2
            ishr
            i2b
            goto 62
      StackMap locals:
      StackMap stack:
        61: iload 10 /* b1 */
            iconst_2
            ishr
            sipush 192
            ixor
            i2b
      StackMap locals:
      StackMap stack: int
        62: istore 18 /* val1 */
        start local 18 // byte val1
        63: .line 348
            aload 5 /* encodedData */
            iload 13 /* encodedIndex */
            getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
            iload 18 /* val1 */
            baload
            bastore
        64: .line 349
            aload 5 /* encodedData */
            iload 13 /* encodedIndex */
            iconst_1
            iadd
            getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
            iload 8 /* k */
            iconst_4
            ishl
            baload
            bastore
        65: .line 350
            aload 5 /* encodedData */
            iload 13 /* encodedIndex */
            iconst_2
            iadd
            bipush 61
            bastore
        66: .line 351
            aload 5 /* encodedData */
            iload 13 /* encodedIndex */
            iconst_3
            iadd
            bipush 61
            bastore
        end local 18 // byte val1
        67: .line 352
            goto 83
        68: .line 353
      StackMap locals:
      StackMap stack:
            iload 3 /* fewerThan24bits */
            bipush 16
            if_icmpne 83
        69: .line 356
            aload 0 /* binaryData */
            iload 14 /* dataIndex */
            baload
            istore 10 /* b1 */
        70: .line 357
            aload 0 /* binaryData */
            iload 14 /* dataIndex */
            iconst_1
            iadd
            baload
            istore 11 /* b2 */
        71: .line 358
            iload 11 /* b2 */
            bipush 15
            iand
            i2b
            istore 9 /* l */
        72: .line 359
            iload 10 /* b1 */
            iconst_3
            iand
            i2b
            istore 8 /* k */
        73: .line 361
            iload 10 /* b1 */
            bipush -128
            iand
            ifne 74
            iload 10 /* b1 */
            iconst_2
            ishr
            i2b
            goto 75
      StackMap locals:
      StackMap stack:
        74: iload 10 /* b1 */
            iconst_2
            ishr
            sipush 192
            ixor
            i2b
      StackMap locals:
      StackMap stack: int
        75: istore 18 /* val1 */
        start local 18 // byte val1
        76: .line 362
            iload 11 /* b2 */
            bipush -128
            iand
            ifne 77
            iload 11 /* b2 */
            iconst_4
            ishr
            i2b
            goto 78
      StackMap locals: int
      StackMap stack:
        77: iload 11 /* b2 */
            iconst_4
            ishr
            sipush 240
            ixor
            i2b
      StackMap locals:
      StackMap stack: int
        78: istore 19 /* val2 */
        start local 19 // byte val2
        79: .line 364
            aload 5 /* encodedData */
            iload 13 /* encodedIndex */
            getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
            iload 18 /* val1 */
            baload
            bastore
        80: .line 365
            aload 5 /* encodedData */
            iload 13 /* encodedIndex */
            iconst_1
            iadd
            getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
            iload 19 /* val2 */
            iload 8 /* k */
            iconst_4
            ishl
            ior
            baload
            bastore
        81: .line 366
            aload 5 /* encodedData */
            iload 13 /* encodedIndex */
            iconst_2
            iadd
            getstatic org.codehaus.plexus.util.Base64.lookUpBase64Alphabet:[B
            iload 9 /* l */
            iconst_2
            ishl
            baload
            bastore
        82: .line 367
            aload 5 /* encodedData */
            iload 13 /* encodedIndex */
            iconst_3
            iadd
            bipush 61
            bastore
        end local 19 // byte val2
        end local 18 // byte val1
        83: .line 370
      StackMap locals:
      StackMap stack:
            iload 1 /* isChunked */
            ifeq 88
        84: .line 373
            iload 17 /* chunksSoFar */
            iload 7 /* nbrChunks */
            if_icmpge 88
        85: .line 375
            getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
            iconst_0
            aload 5 /* encodedData */
            iload 6 /* encodedDataLength */
            getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
            arraylength
            isub
        86: .line 376
            getstatic org.codehaus.plexus.util.Base64.CHUNK_SEPARATOR:[B
            arraylength
        87: .line 375
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        88: .line 380
      StackMap locals:
      StackMap stack:
            aload 5 /* encodedData */
            areturn
        end local 17 // int chunksSoFar
        end local 16 // int nextSeparatorIndex
        end local 15 // int i
        end local 14 // int dataIndex
        end local 13 // int encodedIndex
        end local 12 // byte b3
        end local 11 // byte b2
        end local 10 // byte b1
        end local 9 // byte l
        end local 8 // byte k
        end local 7 // int nbrChunks
        end local 6 // int encodedDataLength
        end local 5 // byte[] encodedData
        end local 4 // int numberTriplets
        end local 3 // int fewerThan24bits
        end local 2 // int lengthDataBits
        end local 1 // boolean isChunked
        end local 0 // byte[] binaryData
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   89     0          binaryData  [B
            0   89     1           isChunked  Z
            1   89     2      lengthDataBits  I
            2   89     3     fewerThan24bits  I
            3   89     4      numberTriplets  I
            4   89     5         encodedData  [B
            5   89     6   encodedDataLength  I
            6   89     7           nbrChunks  I
           17   89     8                   k  B
           18   89     9                   l  B
           19   89    10                  b1  B
           20   89    11                  b2  B
           21   89    12                  b3  B
           22   89    13        encodedIndex  I
           23   89    14           dataIndex  I
           24   89    15                   i  I
           25   89    16  nextSeparatorIndex  I
           26   89    17         chunksSoFar  I
           36   54    18                val1  B
           39   54    19                val2  B
           42   54    20                val3  B
           63   67    18                val1  B
           76   83    18                val1  B
           79   83    19                val2  B
    MethodParameters:
            Name  Flags
      binaryData  
      isChunked   

  public static byte[] decodeBase64(byte[]);
    descriptor: ([B)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=1
        start local 0 // byte[] base64Data
         0: .line 392
            aload 0 /* base64Data */
            invokestatic org.codehaus.plexus.util.Base64.discardNonBase64:([B)[B
            astore 0 /* base64Data */
         1: .line 395
            aload 0 /* base64Data */
            arraylength
            ifne 3
         2: .line 397
            iconst_0
            newarray 8
            areturn
         3: .line 400
      StackMap locals:
      StackMap stack:
            aload 0 /* base64Data */
            arraylength
            iconst_4
            idiv
            istore 1 /* numberQuadruple */
        start local 1 // int numberQuadruple
         4: .line 401
            aconst_null
            astore 2 /* decodedData */
        start local 2 // byte[] decodedData
         5: .line 402
            iconst_0
            istore 3 /* b1 */
        start local 3 // byte b1
         6: iconst_0
            istore 4 /* b2 */
        start local 4 // byte b2
         7: iconst_0
            istore 5 /* b3 */
        start local 5 // byte b3
         8: iconst_0
            istore 6 /* b4 */
        start local 6 // byte b4
         9: iconst_0
            istore 7 /* marker0 */
        start local 7 // byte marker0
        10: iconst_0
            istore 8 /* marker1 */
        start local 8 // byte marker1
        11: .line 406
            iconst_0
            istore 9 /* encodedIndex */
        start local 9 // int encodedIndex
        12: .line 407
            iconst_0
            istore 10 /* dataIndex */
        start local 10 // int dataIndex
        13: .line 410
            aload 0 /* base64Data */
            arraylength
            istore 11 /* lastData */
        start local 11 // int lastData
        14: .line 412
            goto 17
        15: .line 414
      StackMap locals: byte[] int byte[] int int int int int int int int int
      StackMap stack:
            iinc 11 /* lastData */ -1
            iload 11 /* lastData */
            ifne 17
        16: .line 416
            iconst_0
            newarray 8
            areturn
        17: .line 412
      StackMap locals:
      StackMap stack:
            aload 0 /* base64Data */
            iload 11 /* lastData */
            iconst_1
            isub
            baload
            bipush 61
            if_icmpeq 15
        18: .line 419
            iload 11 /* lastData */
            iload 1 /* numberQuadruple */
            isub
            newarray 8
            astore 2 /* decodedData */
        end local 11 // int lastData
        19: .line 422
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        20: goto 42
        21: .line 424
      StackMap locals:
      StackMap stack:
            iload 11 /* i */
            iconst_4
            imul
            istore 10 /* dataIndex */
        22: .line 425
            aload 0 /* base64Data */
            iload 10 /* dataIndex */
            iconst_2
            iadd
            baload
            istore 7 /* marker0 */
        23: .line 426
            aload 0 /* base64Data */
            iload 10 /* dataIndex */
            iconst_3
            iadd
            baload
            istore 8 /* marker1 */
        24: .line 428
            getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
            aload 0 /* base64Data */
            iload 10 /* dataIndex */
            baload
            baload
            istore 3 /* b1 */
        25: .line 429
            getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
            aload 0 /* base64Data */
            iload 10 /* dataIndex */
            iconst_1
            iadd
            baload
            baload
            istore 4 /* b2 */
        26: .line 431
            iload 7 /* marker0 */
            bipush 61
            if_icmpeq 33
            iload 8 /* marker1 */
            bipush 61
            if_icmpeq 33
        27: .line 434
            getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
            iload 7 /* marker0 */
            baload
            istore 5 /* b3 */
        28: .line 435
            getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
            iload 8 /* marker1 */
            baload
            istore 6 /* b4 */
        29: .line 437
            aload 2 /* decodedData */
            iload 9 /* encodedIndex */
            iload 3 /* b1 */
            iconst_2
            ishl
            iload 4 /* b2 */
            iconst_4
            ishr
            ior
            i2b
            bastore
        30: .line 438
            aload 2 /* decodedData */
            iload 9 /* encodedIndex */
            iconst_1
            iadd
            iload 4 /* b2 */
            bipush 15
            iand
            iconst_4
            ishl
            iload 5 /* b3 */
            iconst_2
            ishr
            bipush 15
            iand
            ior
            i2b
            bastore
        31: .line 439
            aload 2 /* decodedData */
            iload 9 /* encodedIndex */
            iconst_2
            iadd
            iload 5 /* b3 */
            bipush 6
            ishl
            iload 6 /* b4 */
            ior
            i2b
            bastore
        32: .line 440
            goto 40
        33: .line 441
      StackMap locals:
      StackMap stack:
            iload 7 /* marker0 */
            bipush 61
            if_icmpne 36
        34: .line 444
            aload 2 /* decodedData */
            iload 9 /* encodedIndex */
            iload 3 /* b1 */
            iconst_2
            ishl
            iload 4 /* b2 */
            iconst_4
            ishr
            ior
            i2b
            bastore
        35: .line 445
            goto 40
        36: .line 446
      StackMap locals:
      StackMap stack:
            iload 8 /* marker1 */
            bipush 61
            if_icmpne 40
        37: .line 449
            getstatic org.codehaus.plexus.util.Base64.base64Alphabet:[B
            iload 7 /* marker0 */
            baload
            istore 5 /* b3 */
        38: .line 451
            aload 2 /* decodedData */
            iload 9 /* encodedIndex */
            iload 3 /* b1 */
            iconst_2
            ishl
            iload 4 /* b2 */
            iconst_4
            ishr
            ior
            i2b
            bastore
        39: .line 452
            aload 2 /* decodedData */
            iload 9 /* encodedIndex */
            iconst_1
            iadd
            iload 4 /* b2 */
            bipush 15
            iand
            iconst_4
            ishl
            iload 5 /* b3 */
            iconst_2
            ishr
            bipush 15
            iand
            ior
            i2b
            bastore
        40: .line 454
      StackMap locals:
      StackMap stack:
            iinc 9 /* encodedIndex */ 3
        41: .line 422
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        42: iload 11 /* i */
            iload 1 /* numberQuadruple */
            if_icmplt 21
        end local 11 // int i
        43: .line 456
            aload 2 /* decodedData */
            areturn
        end local 10 // int dataIndex
        end local 9 // int encodedIndex
        end local 8 // byte marker1
        end local 7 // byte marker0
        end local 6 // byte b4
        end local 5 // byte b3
        end local 4 // byte b2
        end local 3 // byte b1
        end local 2 // byte[] decodedData
        end local 1 // int numberQuadruple
        end local 0 // byte[] base64Data
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   44     0       base64Data  [B
            4   44     1  numberQuadruple  I
            5   44     2      decodedData  [B
            6   44     3               b1  B
            7   44     4               b2  B
            8   44     5               b3  B
            9   44     6               b4  B
           10   44     7          marker0  B
           11   44     8          marker1  B
           12   44     9     encodedIndex  I
           13   44    10        dataIndex  I
           14   19    11         lastData  I
           20   43    11                i  I
    MethodParameters:
            Name  Flags
      base64Data  

  static byte[] discardWhitespace(byte[]);
    descriptor: ([B)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // byte[] data
         0: .line 467
            aload 0 /* data */
            arraylength
            newarray 8
            astore 1 /* groomedData */
        start local 1 // byte[] groomedData
         1: .line 468
            iconst_0
            istore 2 /* bytesCopied */
        start local 2 // int bytesCopied
         2: .line 470
            aload 0 /* data */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 8
      StackMap locals: byte[] byte[] int top int int byte[]
      StackMap stack:
         3: aload 6
            iload 4
            baload
            istore 3 /* aData */
        start local 3 // byte aData
         4: .line 472
            iload 3 /* aData */
            lookupswitch { // 4
                    9: 5
                   10: 5
                   13: 5
                   32: 5
              default: 6
          }
         5: .line 478
      StackMap locals: byte[] byte[] int int int int byte[]
      StackMap stack:
            goto 7
         6: .line 480
      StackMap locals:
      StackMap stack:
            aload 1 /* groomedData */
            iload 2 /* bytesCopied */
            iinc 2 /* bytesCopied */ 1
            iload 3 /* aData */
            bastore
        end local 3 // byte aData
         7: .line 470
      StackMap locals: byte[] byte[] int top int int byte[]
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         8: iload 4
            iload 5
            if_icmplt 3
         9: .line 484
            iload 2 /* bytesCopied */
            newarray 8
            astore 3 /* packedData */
        start local 3 // byte[] packedData
        10: .line 486
            aload 1 /* groomedData */
            iconst_0
            aload 3 /* packedData */
            iconst_0
            iload 2 /* bytesCopied */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 488
            aload 3 /* packedData */
            areturn
        end local 3 // byte[] packedData
        end local 2 // int bytesCopied
        end local 1 // byte[] groomedData
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   12     0         data  [B
            1   12     1  groomedData  [B
            2   12     2  bytesCopied  I
            4    7     3        aData  B
           10   12     3   packedData  [B
    MethodParameters:
      Name  Flags
      data  

  static byte[] discardNonBase64(byte[]);
    descriptor: ([B)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=7, args_size=1
        start local 0 // byte[] data
         0: .line 500
            aload 0 /* data */
            arraylength
            newarray 8
            astore 1 /* groomedData */
        start local 1 // byte[] groomedData
         1: .line 501
            iconst_0
            istore 2 /* bytesCopied */
        start local 2 // int bytesCopied
         2: .line 503
            aload 0 /* data */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 7
      StackMap locals: byte[] byte[] int top int int byte[]
      StackMap stack:
         3: aload 6
            iload 4
            baload
            istore 3 /* aData */
        start local 3 // byte aData
         4: .line 505
            iload 3 /* aData */
            invokestatic org.codehaus.plexus.util.Base64.isBase64:(B)Z
            ifeq 6
         5: .line 507
            aload 1 /* groomedData */
            iload 2 /* bytesCopied */
            iinc 2 /* bytesCopied */ 1
            iload 3 /* aData */
            bastore
        end local 3 // byte aData
         6: .line 503
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         7: iload 4
            iload 5
            if_icmplt 3
         8: .line 511
            iload 2 /* bytesCopied */
            newarray 8
            astore 3 /* packedData */
        start local 3 // byte[] packedData
         9: .line 513
            aload 1 /* groomedData */
            iconst_0
            aload 3 /* packedData */
            iconst_0
            iload 2 /* bytesCopied */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 515
            aload 3 /* packedData */
            areturn
        end local 3 // byte[] packedData
        end local 2 // int bytesCopied
        end local 1 // byte[] groomedData
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   11     0         data  [B
            1   11     1  groomedData  [B
            2   11     2  bytesCopied  I
            4    6     3        aData  B
            9   11     3   packedData  [B
    MethodParameters:
      Name  Flags
      data  

  public byte[] encode(byte[]);
    descriptor: ([B)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.codehaus.plexus.util.Base64 this
        start local 1 // byte[] pArray
         0: .line 526
            aload 1 /* pArray */
            iconst_0
            invokestatic org.codehaus.plexus.util.Base64.encodeBase64:([BZ)[B
            areturn
        end local 1 // byte[] pArray
        end local 0 // org.codehaus.plexus.util.Base64 this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lorg/codehaus/plexus/util/Base64;
            0    1     1  pArray  [B
    MethodParameters:
        Name  Flags
      pArray  
}
SourceFile: "Base64.java"