public class org.jboss.resteasy.util.Hex
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.jboss.resteasy.util.Hex
  super_class: java.lang.Object
{
  private static final char[] DIGITS;
    descriptor: [C
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 11
            bipush 16
            newarray 5
            dup
            iconst_0
         1: .line 12
            bipush 48
            castore
            dup
            iconst_1
            bipush 49
            castore
            dup
            iconst_2
            bipush 50
            castore
            dup
            iconst_3
            bipush 51
            castore
            dup
            iconst_4
            bipush 52
            castore
            dup
            iconst_5
            bipush 53
            castore
            dup
            bipush 6
            bipush 54
            castore
            dup
            bipush 7
            bipush 55
            castore
            dup
            bipush 8
         2: .line 13
            bipush 56
            castore
            dup
            bipush 9
            bipush 57
            castore
            dup
            bipush 10
            bipush 97
            castore
            dup
            bipush 11
            bipush 98
            castore
            dup
            bipush 12
            bipush 99
            castore
            dup
            bipush 13
            bipush 100
            castore
            dup
            bipush 14
            bipush 101
            castore
            dup
            bipush 15
            bipush 102
            castore
         3: .line 11
            putstatic org.jboss.resteasy.util.Hex.DIGITS:[C
         4: .line 14
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  public static byte[] decodeHex(java.lang.String);
    descriptor: (Ljava/lang/String;)[B
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.lang.String str
         0: .line 31
            aload 0 /* str */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 1 /* data */
        start local 1 // char[] data
         1: .line 32
            aload 1 /* data */
            arraylength
            istore 2 /* len */
        start local 2 // int len
         2: .line 34
            iload 2 /* len */
            iconst_1
            iand
            ifeq 4
         3: .line 36
            new java.lang.RuntimeException
            dup
            getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.MESSAGES:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/Messages;
            invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.oddNumberOfCharacters:()Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 39
      StackMap locals: char[] int
      StackMap stack:
            iload 2 /* len */
            iconst_1
            ishr
            newarray 8
            astore 3 /* out */
        start local 3 // byte[] out
         5: .line 42
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: iconst_0
            istore 5 /* j */
        start local 5 // int j
         7: goto 14
         8: .line 44
      StackMap locals: byte[] int int
      StackMap stack:
            aload 1 /* data */
            iload 5 /* j */
            caload
            iload 5 /* j */
            invokestatic org.jboss.resteasy.util.Hex.toDigit:(CI)I
            iconst_4
            ishl
            istore 6 /* f */
        start local 6 // int f
         9: .line 45
            iinc 5 /* j */ 1
        10: .line 46
            iload 6 /* f */
            aload 1 /* data */
            iload 5 /* j */
            caload
            iload 5 /* j */
            invokestatic org.jboss.resteasy.util.Hex.toDigit:(CI)I
            ior
            istore 6 /* f */
        11: .line 47
            iinc 5 /* j */ 1
        12: .line 48
            aload 3 /* out */
            iload 4 /* i */
            iload 6 /* f */
            sipush 255
            iand
            i2b
            bastore
        end local 6 // int f
        13: .line 42
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* j */
            iload 2 /* len */
            if_icmplt 8
        end local 5 // int j
        end local 4 // int i
        15: .line 51
            aload 3 /* out */
            areturn
        end local 3 // byte[] out
        end local 2 // int len
        end local 1 // char[] data
        end local 0 // java.lang.String str
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0   str  Ljava/lang/String;
            1   16     1  data  [C
            2   16     2   len  I
            5   16     3   out  [B
            6   15     4     i  I
            7   15     5     j  I
            9   13     6     f  I
    MethodParameters:
      Name  Flags
      str   

  protected static int toDigit(char, int);
    descriptor: (CI)I
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // char ch
        start local 1 // int index
         0: .line 63
            iload 0 /* ch */
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            istore 2 /* digit */
        start local 2 // int digit
         1: .line 64
            iload 2 /* digit */
            iconst_m1
            if_icmpne 3
         2: .line 66
            new java.lang.RuntimeException
            dup
            getstatic org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.MESSAGES:Lorg/jboss/resteasy/resteasy_jaxrs/i18n/Messages;
            iload 0 /* ch */
            iload 1 /* index */
            invokeinterface org.jboss.resteasy.resteasy_jaxrs.i18n.Messages.illegalHexadecimalCharacter:(CI)Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 68
      StackMap locals: int
      StackMap stack:
            iload 2 /* digit */
            ireturn
        end local 2 // int digit
        end local 1 // int index
        end local 0 // char ch
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0     ch  C
            0    4     1  index  I
            1    4     2  digit  I
    MethodParameters:
       Name  Flags
      ch     
      index  

  public static java.lang.String encodeHex(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=1
        start local 0 // byte[] data
         0: .line 82
            aload 0 /* data */
            arraylength
            istore 1 /* l */
        start local 1 // int l
         1: .line 84
            iload 1 /* l */
            iconst_1
            ishl
            newarray 5
            astore 2 /* out */
        start local 2 // char[] out
         2: .line 87
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: iconst_0
            istore 4 /* j */
        start local 4 // int j
         4: goto 8
         5: .line 89
      StackMap locals: byte[] int char[] int int
      StackMap stack:
            aload 2 /* out */
            iload 4 /* j */
            iinc 4 /* j */ 1
            getstatic org.jboss.resteasy.util.Hex.DIGITS:[C
            sipush 240
            aload 0 /* data */
            iload 3 /* i */
            baload
            iand
            iconst_4
            iushr
            caload
            castore
         6: .line 90
            aload 2 /* out */
            iload 4 /* j */
            iinc 4 /* j */ 1
            getstatic org.jboss.resteasy.util.Hex.DIGITS:[C
            bipush 15
            aload 0 /* data */
            iload 3 /* i */
            baload
            iand
            caload
            castore
         7: .line 87
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            iload 1 /* l */
            if_icmplt 5
        end local 4 // int j
        end local 3 // int i
         9: .line 92
            new java.lang.String
            dup
            aload 2 /* out */
            invokespecial java.lang.String.<init>:([C)V
            areturn
        end local 2 // char[] out
        end local 1 // int l
        end local 0 // byte[] data
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  data  [B
            1   10     1     l  I
            2   10     2   out  [C
            3    9     3     i  I
            4    9     4     j  I
    MethodParameters:
      Name  Flags
      data  
}
SourceFile: "Hex.java"