class com.sun.jndi.ldap.LdapName$TypeAndValue
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.jndi.ldap.LdapName$TypeAndValue
  super_class: java.lang.Object
{
  private final java.lang.String type;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.lang.String value;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean binary;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean valueCaseSensitive;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.lang.String comparable;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  void <init>(java.lang.String, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
        start local 1 // java.lang.String type
        start local 2 // java.lang.String value
        start local 3 // boolean valueCaseSensitive
         0: .line 694
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 692
            aload 0 /* this */
            aconst_null
            putfield com.sun.jndi.ldap.LdapName$TypeAndValue.comparable:Ljava/lang/String;
         2: .line 695
            aload 0 /* this */
            aload 1 /* type */
            putfield com.sun.jndi.ldap.LdapName$TypeAndValue.type:Ljava/lang/String;
         3: .line 696
            aload 0 /* this */
            aload 2 /* value */
            putfield com.sun.jndi.ldap.LdapName$TypeAndValue.value:Ljava/lang/String;
         4: .line 697
            aload 0 /* this */
            aload 2 /* value */
            ldc "#"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            putfield com.sun.jndi.ldap.LdapName$TypeAndValue.binary:Z
         5: .line 698
            aload 0 /* this */
            iload 3 /* valueCaseSensitive */
            putfield com.sun.jndi.ldap.LdapName$TypeAndValue.valueCaseSensitive:Z
         6: .line 699
            return
        end local 3 // boolean valueCaseSensitive
        end local 2 // java.lang.String value
        end local 1 // java.lang.String type
        end local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lcom/sun/jndi/ldap/LdapName$TypeAndValue;
            0    7     1                type  Ljava/lang/String;
            0    7     2               value  Ljava/lang/String;
            0    7     3  valueCaseSensitive  Z
    MethodParameters:
                    Name  Flags
      type                
      value               
      valueCaseSensitive  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
         0: .line 702
            new java.lang.StringBuilder
            dup
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.type:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.value:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/ldap/LdapName$TypeAndValue;

  public int compareTo(java.lang.Object);
    descriptor: (Ljava/lang/Object;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
        start local 1 // java.lang.Object obj
         0: .line 709
            aload 1 /* obj */
            checkcast com.sun.jndi.ldap.LdapName$TypeAndValue
            astore 2 /* that */
        start local 2 // com.sun.jndi.ldap.LdapName$TypeAndValue that
         1: .line 711
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.type:Ljava/lang/String;
            aload 2 /* that */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.type:Ljava/lang/String;
            invokevirtual java.lang.String.compareToIgnoreCase:(Ljava/lang/String;)I
            istore 3 /* diff */
        start local 3 // int diff
         2: .line 712
            iload 3 /* diff */
            ifeq 4
         3: .line 713
            iload 3 /* diff */
            ireturn
         4: .line 715
      StackMap locals: com.sun.jndi.ldap.LdapName$TypeAndValue int
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.value:Ljava/lang/String;
            aload 2 /* that */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.value:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 716
            iconst_0
            ireturn
         6: .line 718
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.jndi.ldap.LdapName$TypeAndValue.getValueComparable:()Ljava/lang/String;
            aload 2 /* that */
            invokevirtual com.sun.jndi.ldap.LdapName$TypeAndValue.getValueComparable:()Ljava/lang/String;
            invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
            ireturn
        end local 3 // int diff
        end local 2 // com.sun.jndi.ldap.LdapName$TypeAndValue that
        end local 1 // java.lang.Object obj
        end local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/jndi/ldap/LdapName$TypeAndValue;
            0    7     1   obj  Ljava/lang/Object;
            1    7     2  that  Lcom/sun/jndi/ldap/LdapName$TypeAndValue;
            2    7     3  diff  I
    MethodParameters:
      Name  Flags
      obj   

  public boolean equals(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
        start local 1 // java.lang.Object obj
         0: .line 723
            aload 1 /* obj */
            instanceof com.sun.jndi.ldap.LdapName$TypeAndValue
            ifne 2
         1: .line 724
            iconst_0
            ireturn
         2: .line 726
      StackMap locals:
      StackMap stack:
            aload 1 /* obj */
            checkcast com.sun.jndi.ldap.LdapName$TypeAndValue
            astore 2 /* that */
        start local 2 // com.sun.jndi.ldap.LdapName$TypeAndValue that
         3: .line 727
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.type:Ljava/lang/String;
            aload 2 /* that */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.type:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 7
         4: .line 728
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.value:Ljava/lang/String;
            aload 2 /* that */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.value:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 6
         5: .line 729
            aload 0 /* this */
            invokevirtual com.sun.jndi.ldap.LdapName$TypeAndValue.getValueComparable:()Ljava/lang/String;
            aload 2 /* that */
            invokevirtual com.sun.jndi.ldap.LdapName$TypeAndValue.getValueComparable:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 727
      StackMap locals: com.sun.jndi.ldap.LdapName$TypeAndValue
      StackMap stack:
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 2 // com.sun.jndi.ldap.LdapName$TypeAndValue that
        end local 1 // java.lang.Object obj
        end local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/sun/jndi/ldap/LdapName$TypeAndValue;
            0    8     1   obj  Ljava/lang/Object;
            3    8     2  that  Lcom/sun/jndi/ldap/LdapName$TypeAndValue;
    MethodParameters:
      Name  Flags
      obj   

  public int hashCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
         0: .line 734
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.type:Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
         1: .line 735
            aload 0 /* this */
            invokevirtual com.sun.jndi.ldap.LdapName$TypeAndValue.getValueComparable:()Ljava/lang/String;
            invokevirtual java.lang.String.hashCode:()I
         2: .line 734
            iadd
            ireturn
        end local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/jndi/ldap/LdapName$TypeAndValue;

  java.lang.String getType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
         0: .line 742
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.type:Ljava/lang/String;
            areturn
        end local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/ldap/LdapName$TypeAndValue;

  java.lang.Object getUnescapedValue();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
         0: .line 749
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.value:Ljava/lang/String;
            invokestatic com.sun.jndi.ldap.LdapName$TypeAndValue.unescapeValue:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/jndi/ldap/LdapName$TypeAndValue;

  private java.lang.String getValueComparable();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
         0: .line 762
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.comparable:Ljava/lang/String;
            ifnull 2
         1: .line 763
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.comparable:Ljava/lang/String;
            areturn
         2: .line 767
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.binary:Z
            ifeq 5
         3: .line 768
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.value:Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            putfield com.sun.jndi.ldap.LdapName$TypeAndValue.comparable:Ljava/lang/String;
         4: .line 769
            goto 8
         5: .line 770
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.value:Ljava/lang/String;
            invokestatic com.sun.jndi.ldap.LdapName$TypeAndValue.unescapeValue:(Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield com.sun.jndi.ldap.LdapName$TypeAndValue.comparable:Ljava/lang/String;
         6: .line 771
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.valueCaseSensitive:Z
            ifne 8
         7: .line 773
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.comparable:Ljava/lang/String;
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            putfield com.sun.jndi.ldap.LdapName$TypeAndValue.comparable:Ljava/lang/String;
         8: .line 776
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.jndi.ldap.LdapName$TypeAndValue.comparable:Ljava/lang/String;
            areturn
        end local 0 // com.sun.jndi.ldap.LdapName$TypeAndValue this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lcom/sun/jndi/ldap/LdapName$TypeAndValue;

  static java.lang.String escapeValue(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Object val
         0: .line 784
            aload 0 /* val */
            instanceof byte[]
            ifeq 2
         1: .line 785
            aload 0 /* val */
            checkcast byte[]
            invokestatic com.sun.jndi.ldap.LdapName$TypeAndValue.escapeBinaryValue:([B)Ljava/lang/String;
            goto 3
         2: .line 786
      StackMap locals:
      StackMap stack:
            aload 0 /* val */
            checkcast java.lang.String
            invokestatic com.sun.jndi.ldap.LdapName$TypeAndValue.escapeStringValue:(Ljava/lang/String;)Ljava/lang/String;
         3: .line 784
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // java.lang.Object val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   val  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      val   

  private static java.lang.String escapeStringValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=1
        start local 0 // java.lang.String val
         0: .line 799
            aload 0 /* val */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 1 /* chars */
        start local 1 // char[] chars
         1: .line 800
            new java.lang.StringBuffer
            dup
            iconst_2
            aload 0 /* val */
            invokevirtual java.lang.String.length:()I
            imul
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 2 /* buf */
        start local 2 // java.lang.StringBuffer buf
         2: .line 804
            iconst_0
            istore 3 /* lead */
        start local 3 // int lead
         3: goto 7
         4: .line 805
      StackMap locals: char[] java.lang.StringBuffer int
      StackMap stack:
            aload 1 /* chars */
            iload 3 /* lead */
            caload
            invokestatic com.sun.jndi.ldap.LdapName.isWhitespace:(C)Z
            ifne 6
         5: .line 806
            goto 8
         6: .line 804
      StackMap locals:
      StackMap stack:
            iinc 3 /* lead */ 1
      StackMap locals:
      StackMap stack:
         7: iload 3 /* lead */
            aload 1 /* chars */
            arraylength
            if_icmplt 4
         8: .line 810
      StackMap locals:
      StackMap stack:
            aload 1 /* chars */
            arraylength
            iconst_1
            isub
            istore 4 /* trail */
        start local 4 // int trail
         9: goto 13
        10: .line 811
      StackMap locals: int
      StackMap stack:
            aload 1 /* chars */
            iload 4 /* trail */
            caload
            invokestatic com.sun.jndi.ldap.LdapName.isWhitespace:(C)Z
            ifne 12
        11: .line 812
            goto 14
        12: .line 810
      StackMap locals:
      StackMap stack:
            iinc 4 /* trail */ -1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* trail */
            ifge 10
        14: .line 816
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        15: goto 21
        16: .line 817
      StackMap locals: int
      StackMap stack:
            aload 1 /* chars */
            iload 5 /* i */
            caload
            istore 6 /* c */
        start local 6 // char c
        17: .line 818
            iload 5 /* i */
            iload 3 /* lead */
            if_icmplt 18
            iload 5 /* i */
            iload 4 /* trail */
            if_icmpgt 18
            ldc ",=+<>#;\"\\"
            iload 6 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 19
        18: .line 819
      StackMap locals: int
      StackMap stack:
            aload 2 /* buf */
            bipush 92
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        19: .line 821
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            iload 6 /* c */
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 6 // char c
        20: .line 816
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        21: iload 5 /* i */
            aload 1 /* chars */
            arraylength
            if_icmplt 16
        end local 5 // int i
        22: .line 823
            new java.lang.String
            dup
            aload 2 /* buf */
            invokespecial java.lang.String.<init>:(Ljava/lang/StringBuffer;)V
            areturn
        end local 4 // int trail
        end local 3 // int lead
        end local 2 // java.lang.StringBuffer buf
        end local 1 // char[] chars
        end local 0 // java.lang.String val
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   23     0    val  Ljava/lang/String;
            1   23     1  chars  [C
            2   23     2    buf  Ljava/lang/StringBuffer;
            3   23     3   lead  I
            9   23     4  trail  I
           15   22     5      i  I
           17   20     6      c  C
    MethodParameters:
      Name  Flags
      val   

  private static java.lang.String escapeBinaryValue(byte[]);
    descriptor: ([B)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=1
        start local 0 // byte[] val
         0: .line 832
            new java.lang.StringBuffer
            dup
            iconst_1
            iconst_2
            aload 0 /* val */
            arraylength
            imul
            iadd
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 1 /* buf */
        start local 1 // java.lang.StringBuffer buf
         1: .line 833
            aload 1 /* buf */
            ldc "#"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
         2: .line 835
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         3: goto 8
         4: .line 836
      StackMap locals: java.lang.StringBuffer int
      StackMap stack:
            aload 0 /* val */
            iload 2 /* i */
            baload
            istore 3 /* b */
        start local 3 // byte b
         5: .line 837
            aload 1 /* buf */
            bipush 15
            iload 3 /* b */
            iconst_4
            iushr
            iand
            bipush 16
            invokestatic java.lang.Character.forDigit:(II)C
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
         6: .line 838
            aload 1 /* buf */
            bipush 15
            iload 3 /* b */
            iand
            bipush 16
            invokestatic java.lang.Character.forDigit:(II)C
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        end local 3 // byte b
         7: .line 835
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 2 /* i */
            aload 0 /* val */
            arraylength
            if_icmplt 4
        end local 2 // int i
         9: .line 841
            new java.lang.String
            dup
            aload 1 /* buf */
            invokespecial java.lang.String.<init>:(Ljava/lang/StringBuffer;)V
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuffer buf
        end local 0 // byte[] val
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0   val  [B
            1   10     1   buf  Ljava/lang/StringBuffer;
            3    9     2     i  I
            5    7     3     b  B
    MethodParameters:
      Name  Flags
      val   

  static java.lang.Object unescapeValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String val
         0: .line 853
            aload 0 /* val */
            invokevirtual java.lang.String.toCharArray:()[C
            astore 1 /* chars */
        start local 1 // char[] chars
         1: .line 854
            iconst_0
            istore 2 /* beg */
        start local 2 // int beg
         2: .line 855
            aload 1 /* chars */
            arraylength
            istore 3 /* end */
        start local 3 // int end
         3: .line 858
            goto 5
         4: .line 859
      StackMap locals: char[] int int
      StackMap stack:
            iinc 2 /* beg */ 1
         5: .line 858
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            iload 3 /* end */
            if_icmpge 8
            aload 1 /* chars */
            iload 2 /* beg */
            caload
            invokestatic com.sun.jndi.ldap.LdapName.isWhitespace:(C)Z
            ifne 4
         6: .line 861
            goto 8
         7: .line 862
      StackMap locals:
      StackMap stack:
            iinc 3 /* end */ -1
         8: .line 861
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            iload 3 /* end */
            if_icmpge 9
            aload 1 /* chars */
            iload 3 /* end */
            iconst_1
            isub
            caload
            invokestatic com.sun.jndi.ldap.LdapName.isWhitespace:(C)Z
            ifne 7
         9: .line 869
      StackMap locals:
      StackMap stack:
            iload 3 /* end */
            aload 1 /* chars */
            arraylength
            if_icmpeq 13
        10: .line 870
            iload 2 /* beg */
            iload 3 /* end */
            if_icmpge 13
        11: .line 871
            aload 1 /* chars */
            iload 3 /* end */
            iconst_1
            isub
            caload
            bipush 92
            if_icmpne 13
        12: .line 872
            iinc 3 /* end */ 1
        13: .line 874
      StackMap locals:
      StackMap stack:
            iload 2 /* beg */
            iload 3 /* end */
            if_icmplt 15
        14: .line 875
            ldc ""
            areturn
        15: .line 878
      StackMap locals:
      StackMap stack:
            aload 1 /* chars */
            iload 2 /* beg */
            caload
            bipush 35
            if_icmpne 17
        16: .line 880
            aload 1 /* chars */
            iinc 2 /* beg */ 1
            iload 2 /* beg */
            iload 3 /* end */
            invokestatic com.sun.jndi.ldap.LdapName$TypeAndValue.decodeHexPairs:([CII)[B
            areturn
        17: .line 884
      StackMap locals:
      StackMap stack:
            aload 1 /* chars */
            iload 2 /* beg */
            caload
            bipush 34
            if_icmpne 20
            aload 1 /* chars */
            iload 3 /* end */
            iconst_1
            isub
            caload
            bipush 34
            if_icmpne 20
        18: .line 885
            iinc 2 /* beg */ 1
        19: .line 886
            iinc 3 /* end */ -1
        20: .line 889
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuffer
            dup
            iload 3 /* end */
            iload 2 /* beg */
            isub
            invokespecial java.lang.StringBuffer.<init>:(I)V
            astore 4 /* buf */
        start local 4 // java.lang.StringBuffer buf
        21: .line 890
            iconst_m1
            istore 5 /* esc */
        start local 5 // int esc
        22: .line 892
            iload 2 /* beg */
            istore 6 /* i */
        start local 6 // int i
        23: goto 44
        24: .line 893
      StackMap locals: java.lang.StringBuffer int int
      StackMap stack:
            aload 1 /* chars */
            iload 6 /* i */
            caload
            bipush 92
            if_icmpne 42
            iload 6 /* i */
            iconst_1
            iadd
            iload 3 /* end */
            if_icmpge 42
        25: .line 894
            aload 1 /* chars */
            iload 6 /* i */
            iconst_1
            iadd
            caload
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifne 30
        26: .line 895
            iinc 6 /* i */ 1
        27: .line 896
            aload 4 /* buf */
            aload 1 /* chars */
            iload 6 /* i */
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        28: .line 897
            iload 6 /* i */
            istore 5 /* esc */
        29: .line 898
            goto 43
        30: .line 901
      StackMap locals:
      StackMap stack:
            aload 1 /* chars */
            iload 6 /* i */
            iload 3 /* end */
            invokestatic com.sun.jndi.ldap.LdapName$TypeAndValue.getUtf8Octets:([CII)[B
            astore 7 /* utf8 */
        start local 7 // byte[] utf8
        31: .line 902
            aload 7 /* utf8 */
            arraylength
            ifle 37
        32: .line 904
            aload 4 /* buf */
            new java.lang.String
            dup
            aload 7 /* utf8 */
            ldc "UTF8"
            invokespecial java.lang.String.<init>:([BLjava/lang/String;)V
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        33: .line 905
            goto 35
      StackMap locals: java.lang.String char[] int int java.lang.StringBuffer int int byte[]
      StackMap stack: java.io.UnsupportedEncodingException
        34: pop
        35: .line 908
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            aload 7 /* utf8 */
            arraylength
            iconst_3
            imul
            iconst_1
            isub
            iadd
            istore 6 /* i */
        36: .line 909
            goto 43
        37: .line 910
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        38: .line 911
            new java.lang.StringBuilder
            dup
            ldc "Not a valid attribute string value:"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        39: .line 912
            aload 0 /* val */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", improper usage of backslash"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 911
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 910
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // byte[] utf8
        42: .line 916
      StackMap locals:
      StackMap stack:
            aload 4 /* buf */
            aload 1 /* chars */
            iload 6 /* i */
            caload
            invokevirtual java.lang.StringBuffer.append:(C)Ljava/lang/StringBuffer;
            pop
        43: .line 892
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 6 /* i */
            iload 3 /* end */
            if_icmplt 24
        end local 6 // int i
        45: .line 922
            aload 4 /* buf */
            invokevirtual java.lang.StringBuffer.length:()I
            istore 6 /* len */
        start local 6 // int len
        46: .line 923
            aload 4 /* buf */
            iload 6 /* len */
            iconst_1
            isub
            invokevirtual java.lang.StringBuffer.charAt:(I)C
            invokestatic com.sun.jndi.ldap.LdapName.isWhitespace:(C)Z
            ifeq 48
            iload 5 /* esc */
            iload 3 /* end */
            iconst_1
            isub
            if_icmpeq 48
        47: .line 924
            aload 4 /* buf */
            iload 6 /* len */
            iconst_1
            isub
            invokevirtual java.lang.StringBuffer.setLength:(I)V
        48: .line 927
      StackMap locals:
      StackMap stack:
            new java.lang.String
            dup
            aload 4 /* buf */
            invokespecial java.lang.String.<init>:(Ljava/lang/StringBuffer;)V
            areturn
        end local 6 // int len
        end local 5 // int esc
        end local 4 // java.lang.StringBuffer buf
        end local 3 // int end
        end local 2 // int beg
        end local 1 // char[] chars
        end local 0 // java.lang.String val
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   49     0    val  Ljava/lang/String;
            1   49     1  chars  [C
            2   49     2    beg  I
            3   49     3    end  I
           21   49     4    buf  Ljava/lang/StringBuffer;
           22   49     5    esc  I
           23   45     6      i  I
           31   42     7   utf8  [B
           46   49     6    len  I
      Exception table:
        from    to  target  type
          32    33      34  Class java.io.UnsupportedEncodingException
    MethodParameters:
      Name  Flags
      val   

  private static byte[] decodeHexPairs(char[], int, int);
    descriptor: ([CII)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // char[] chars
        start local 1 // int beg
        start local 2 // int end
         0: .line 937
            iload 2 /* end */
            iload 1 /* beg */
            isub
            iconst_2
            idiv
            newarray 8
            astore 3 /* bytes */
        start local 3 // byte[] bytes
         1: .line 938
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         2: goto 10
         3: .line 939
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* chars */
            iload 1 /* beg */
            caload
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            istore 5 /* hi */
        start local 5 // int hi
         4: .line 940
            aload 0 /* chars */
            iload 1 /* beg */
            iconst_1
            iadd
            caload
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            istore 6 /* lo */
        start local 6 // int lo
         5: .line 941
            iload 5 /* hi */
            iflt 11
            iload 6 /* lo */
            ifge 7
         6: .line 942
            goto 11
         7: .line 944
      StackMap locals: int int
      StackMap stack:
            aload 3 /* bytes */
            iload 4 /* i */
            iload 5 /* hi */
            iconst_4
            ishl
            iload 6 /* lo */
            iadd
            i2b
            bastore
         8: .line 945
            iinc 1 /* beg */ 2
        end local 6 // int lo
        end local 5 // int hi
         9: .line 938
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        10: iload 1 /* beg */
            iconst_1
            iadd
            iload 2 /* end */
            if_icmplt 3
        end local 4 // int i
        11: .line 947
      StackMap locals:
      StackMap stack:
            iload 1 /* beg */
            iload 2 /* end */
            if_icmpeq 15
        12: .line 948
            new java.lang.IllegalArgumentException
            dup
        13: .line 949
            new java.lang.StringBuilder
            dup
            ldc "Illegal attribute value: #"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            aload 0 /* chars */
            invokespecial java.lang.String.<init>:([C)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 948
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 951
      StackMap locals:
      StackMap stack:
            aload 3 /* bytes */
            areturn
        end local 3 // byte[] bytes
        end local 2 // int end
        end local 1 // int beg
        end local 0 // char[] chars
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0  chars  [C
            0   16     1    beg  I
            0   16     2    end  I
            1   16     3  bytes  [B
            2   11     4      i  I
            4    9     5     hi  I
            5    9     6     lo  I
    MethodParameters:
       Name  Flags
      chars  
      beg    
      end    

  private static byte[] getUtf8Octets(char[], int, int);
    descriptor: ([CII)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // char[] chars
        start local 1 // int beg
        start local 2 // int end
         0: .line 963
            iload 2 /* end */
            iload 1 /* beg */
            isub
            iconst_3
            idiv
            newarray 8
            astore 3 /* utf8 */
        start local 3 // byte[] utf8
         1: .line 964
            iconst_0
            istore 4 /* len */
        start local 4 // int len
         2: .line 966
            goto 8
         3: .line 968
      StackMap locals: byte[] int
      StackMap stack:
            aload 0 /* chars */
            iload 1 /* beg */
            iinc 1 /* beg */ 1
            caload
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            istore 5 /* hi */
        start local 5 // int hi
         4: .line 969
            aload 0 /* chars */
            iload 1 /* beg */
            iinc 1 /* beg */ 1
            caload
            bipush 16
            invokestatic java.lang.Character.digit:(CI)I
            istore 6 /* lo */
        start local 6 // int lo
         5: .line 970
            iload 5 /* hi */
            iflt 10
            iload 6 /* lo */
            ifge 7
         6: .line 971
            goto 10
         7: .line 973
      StackMap locals: int int
      StackMap stack:
            aload 3 /* utf8 */
            iload 4 /* len */
            iinc 4 /* len */ 1
            iload 5 /* hi */
            iconst_4
            ishl
            iload 6 /* lo */
            iadd
            i2b
            bastore
        end local 6 // int lo
        end local 5 // int hi
         8: .line 966
      StackMap locals:
      StackMap stack:
            iload 1 /* beg */
            iconst_2
            iadd
            iload 2 /* end */
            if_icmpge 10
         9: .line 967
            aload 0 /* chars */
            iload 1 /* beg */
            iinc 1 /* beg */ 1
            caload
            bipush 92
            if_icmpeq 3
        10: .line 976
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            aload 3 /* utf8 */
            arraylength
            if_icmpne 12
        11: .line 977
            aload 3 /* utf8 */
            areturn
        12: .line 979
      StackMap locals:
      StackMap stack:
            iload 4 /* len */
            newarray 8
            astore 5 /* res */
        start local 5 // byte[] res
        13: .line 980
            aload 3 /* utf8 */
            iconst_0
            aload 5 /* res */
            iconst_0
            iload 4 /* len */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        14: .line 981
            aload 5 /* res */
            areturn
        end local 5 // byte[] res
        end local 4 // int len
        end local 3 // byte[] utf8
        end local 2 // int end
        end local 1 // int beg
        end local 0 // char[] chars
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0  chars  [C
            0   15     1    beg  I
            0   15     2    end  I
            1   15     3   utf8  [B
            2   15     4    len  I
            4    8     5     hi  I
            5    8     6     lo  I
           13   15     5    res  [B
    MethodParameters:
       Name  Flags
      chars  
      beg    
      end    
}
SourceFile: "LdapName.java"
NestHost: com.sun.jndi.ldap.LdapName
InnerClasses:
  TypeAndValue = com.sun.jndi.ldap.LdapName$TypeAndValue of com.sun.jndi.ldap.LdapName