class java.net.URI$Parser
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.net.URI$Parser
  super_class: java.lang.Object
{
  private java.lang.String input;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private boolean requireServerAuthority;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private int ipv6byteCount;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  final java.net.URI this$0;
    descriptor: Ljava/net/URI;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(java.net.URI, java.lang.String);
    descriptor: (Ljava/net/URI;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.net.URI$Parser this
        start local 2 // java.lang.String s
         0: .line 2836
            aload 0 /* this */
            aload 1
            putfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 2834
            aload 0 /* this */
            iconst_0
            putfield java.net.URI$Parser.requireServerAuthority:Z
         2: .line 3444
            aload 0 /* this */
            iconst_0
            putfield java.net.URI$Parser.ipv6byteCount:I
         3: .line 2837
            aload 0 /* this */
            aload 2 /* s */
            putfield java.net.URI$Parser.input:Ljava/lang/String;
         4: .line 2838
            aload 1
            aload 2 /* s */
            putfield java.net.URI.string:Ljava/lang/String;
         5: .line 2839
            return
        end local 2 // java.lang.String s
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/net/URI$Parser;
            0    6     2     s  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      this$0  final
      s       

  private void fail(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // java.net.URI$Parser this
        start local 1 // java.lang.String reason
         0: .line 2844
            new java.net.URISyntaxException
            dup
            aload 0 /* this */
            getfield java.net.URI$Parser.input:Ljava/lang/String;
            aload 1 /* reason */
            invokespecial java.net.URISyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String reason
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/net/URI$Parser;
            0    1     1  reason  Ljava/lang/String;
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
        Name  Flags
      reason  

  private void fail(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.net.URI$Parser this
        start local 1 // java.lang.String reason
        start local 2 // int p
         0: .line 2848
            new java.net.URISyntaxException
            dup
            aload 0 /* this */
            getfield java.net.URI$Parser.input:Ljava/lang/String;
            aload 1 /* reason */
            iload 2 /* p */
            invokespecial java.net.URISyntaxException.<init>:(Ljava/lang/String;Ljava/lang/String;I)V
            athrow
        end local 2 // int p
        end local 1 // java.lang.String reason
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Ljava/net/URI$Parser;
            0    1     1  reason  Ljava/lang/String;
            0    1     2       p  I
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
        Name  Flags
      reason  
      p       

  private void failExpecting(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.net.URI$Parser this
        start local 1 // java.lang.String expected
        start local 2 // int p
         0: .line 2854
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Expected "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* expected */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 2 /* p */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
         1: .line 2855
            return
        end local 2 // int p
        end local 1 // java.lang.String expected
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljava/net/URI$Parser;
            0    2     1  expected  Ljava/lang/String;
            0    2     2         p  I
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
          Name  Flags
      expected  
      p         

  private void failExpecting(java.lang.String, java.lang.String, int);
    descriptor: (Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.net.URI$Parser this
        start local 1 // java.lang.String expected
        start local 2 // java.lang.String prior
        start local 3 // int p
         0: .line 2860
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Expected "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* expected */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " following "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* prior */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 3 /* p */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
         1: .line 2861
            return
        end local 3 // int p
        end local 2 // java.lang.String prior
        end local 1 // java.lang.String expected
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljava/net/URI$Parser;
            0    2     1  expected  Ljava/lang/String;
            0    2     2     prior  Ljava/lang/String;
            0    2     3         p  I
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
          Name  Flags
      expected  
      prior     
      p         

  private java.lang.String substring(int, int);
    descriptor: (II)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int end
         0: .line 2869
            aload 0 /* this */
            getfield java.net.URI$Parser.input:Ljava/lang/String;
            iload 1 /* start */
            iload 2 /* end */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/net/URI$Parser;
            0    1     1  start  I
            0    1     2    end  I
    MethodParameters:
       Name  Flags
      start  
      end    

  private char charAt(int);
    descriptor: (I)C
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.net.URI$Parser this
        start local 1 // int p
         0: .line 2876
            aload 0 /* this */
            getfield java.net.URI$Parser.input:Ljava/lang/String;
            iload 1 /* p */
            invokevirtual java.lang.String.charAt:(I)C
            ireturn
        end local 1 // int p
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/net/URI$Parser;
            0    1     1     p  I
    MethodParameters:
      Name  Flags
      p     

  private boolean at(int, int, char);
    descriptor: (IIC)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int end
        start local 3 // char c
         0: .line 2882
            iload 1 /* start */
            iload 2 /* end */
            if_icmpge 1
            aload 0 /* this */
            iload 1 /* start */
            invokevirtual java.net.URI$Parser.charAt:(I)C
            iload 3 /* c */
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 3 // char c
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/net/URI$Parser;
            0    2     1  start  I
            0    2     2    end  I
            0    2     3      c  C
    MethodParameters:
       Name  Flags
      start  
      end    
      c      

  private boolean at(int, int, java.lang.String);
    descriptor: (IILjava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=4
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int end
        start local 3 // java.lang.String s
         0: .line 2889
            iload 1 /* start */
            istore 4 /* p */
        start local 4 // int p
         1: .line 2890
            aload 3 /* s */
            invokevirtual java.lang.String.length:()I
            istore 5 /* sn */
        start local 5 // int sn
         2: .line 2891
            iload 5 /* sn */
            iload 2 /* end */
            iload 4 /* p */
            isub
            if_icmple 4
         3: .line 2892
            iconst_0
            ireturn
         4: .line 2893
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         5: .line 2894
            goto 9
         6: .line 2895
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* p */
            iinc 4 /* p */ 1
            invokevirtual java.net.URI$Parser.charAt:(I)C
            aload 3 /* s */
            iload 6 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 8
         7: .line 2896
            goto 10
         8: .line 2898
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
         9: .line 2894
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iload 5 /* sn */
            if_icmplt 6
        10: .line 2900
      StackMap locals:
      StackMap stack:
            iload 6 /* i */
            iload 5 /* sn */
            if_icmpne 11
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        11: iconst_0
            ireturn
        end local 6 // int i
        end local 5 // int sn
        end local 4 // int p
        end local 3 // java.lang.String s
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Ljava/net/URI$Parser;
            0   12     1  start  I
            0   12     2    end  I
            0   12     3      s  Ljava/lang/String;
            1   12     4      p  I
            2   12     5     sn  I
            5   12     6      i  I
    MethodParameters:
       Name  Flags
      start  
      end    
      s      

  private int scan(int, int, char);
    descriptor: (IIC)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int end
        start local 3 // char c
         0: .line 2935
            iload 1 /* start */
            iload 2 /* end */
            if_icmpge 2
            aload 0 /* this */
            iload 1 /* start */
            invokevirtual java.net.URI$Parser.charAt:(I)C
            iload 3 /* c */
            if_icmpne 2
         1: .line 2936
            iload 1 /* start */
            iconst_1
            iadd
            ireturn
         2: .line 2937
      StackMap locals:
      StackMap stack:
            iload 1 /* start */
            ireturn
        end local 3 // char c
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljava/net/URI$Parser;
            0    3     1  start  I
            0    3     2    end  I
            0    3     3      c  C
    MethodParameters:
       Name  Flags
      start  
      end    
      c      

  private int scan(int, int, java.lang.String, java.lang.String);
    descriptor: (IILjava/lang/String;Ljava/lang/String;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=7, args_size=5
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int end
        start local 3 // java.lang.String err
        start local 4 // java.lang.String stop
         0: .line 2948
            iload 1 /* start */
            istore 5 /* p */
        start local 5 // int p
         1: .line 2949
            goto 8
         2: .line 2950
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* p */
            invokevirtual java.net.URI$Parser.charAt:(I)C
            istore 6 /* c */
        start local 6 // char c
         3: .line 2951
            aload 3 /* err */
            iload 6 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 5
         4: .line 2952
            iconst_m1
            ireturn
         5: .line 2953
      StackMap locals: int
      StackMap stack:
            aload 4 /* stop */
            iload 6 /* c */
            invokevirtual java.lang.String.indexOf:(I)I
            iflt 7
         6: .line 2954
            goto 9
         7: .line 2955
      StackMap locals:
      StackMap stack:
            iinc 5 /* p */ 1
        end local 6 // char c
         8: .line 2949
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            iload 2 /* end */
            if_icmplt 2
         9: .line 2957
      StackMap locals:
      StackMap stack:
            iload 5 /* p */
            ireturn
        end local 5 // int p
        end local 4 // java.lang.String stop
        end local 3 // java.lang.String err
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   10     0   this  Ljava/net/URI$Parser;
            0   10     1  start  I
            0   10     2    end  I
            0   10     3    err  Ljava/lang/String;
            0   10     4   stop  Ljava/lang/String;
            1   10     5      p  I
            3    8     6      c  C
    MethodParameters:
       Name  Flags
      start  
      end    
      err    
      stop   

  private int scanEscape(int, int, char);
    descriptor: (IIC)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int n
        start local 3 // char first
         0: .line 2969
            iload 1 /* start */
            istore 4 /* p */
        start local 4 // int p
         1: .line 2970
            iload 3 /* first */
            istore 5 /* c */
        start local 5 // char c
         2: .line 2971
            iload 5 /* c */
            bipush 37
            if_icmpne 9
         3: .line 2973
            iload 4 /* p */
            iconst_3
            iadd
            iload 2 /* n */
            if_icmpgt 7
         4: .line 2974
            aload 0 /* this */
            iload 4 /* p */
            iconst_1
            iadd
            invokevirtual java.net.URI$Parser.charAt:(I)C
            getstatic java.net.URI.L_HEX:J
            getstatic java.net.URI.H_HEX:J
            invokestatic java.net.URI.match:(CJJ)Z
            ifeq 7
         5: .line 2975
            aload 0 /* this */
            iload 4 /* p */
            iconst_2
            iadd
            invokevirtual java.net.URI$Parser.charAt:(I)C
            getstatic java.net.URI.L_HEX:J
            getstatic java.net.URI.H_HEX:J
            invokestatic java.net.URI.match:(CJJ)Z
            ifeq 7
         6: .line 2976
            iload 4 /* p */
            iconst_3
            iadd
            ireturn
         7: .line 2978
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            ldc "Malformed escape pair"
            iload 4 /* p */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
         8: .line 2979
            goto 13
      StackMap locals:
      StackMap stack:
         9: iload 5 /* c */
            sipush 128
            if_icmple 13
        10: .line 2980
            iload 5 /* c */
            invokestatic java.lang.Character.isSpaceChar:(C)Z
            ifne 13
        11: .line 2981
            iload 5 /* c */
            invokestatic java.lang.Character.isISOControl:(C)Z
            ifne 13
        12: .line 2983
            iload 4 /* p */
            iconst_1
            iadd
            ireturn
        13: .line 2985
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            ireturn
        end local 5 // char c
        end local 4 // int p
        end local 3 // char first
        end local 2 // int n
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Ljava/net/URI$Parser;
            0   14     1  start  I
            0   14     2      n  I
            0   14     3  first  C
            1   14     4      p  I
            2   14     5      c  C
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
       Name  Flags
      start  
      n      
      first  

  private int scan(int, int, long, long);
    descriptor: (IIJJ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int n
        start local 3 // long lowMask
        start local 5 // long highMask
         0: .line 2993
            iload 1 /* start */
            istore 7 /* p */
        start local 7 // int p
         1: .line 2994
            goto 10
         2: .line 2995
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 7 /* p */
            invokevirtual java.net.URI$Parser.charAt:(I)C
            istore 8 /* c */
        start local 8 // char c
         3: .line 2996
            iload 8 /* c */
            lload 3 /* lowMask */
            lload 5 /* highMask */
            invokestatic java.net.URI.match:(CJJ)Z
            ifeq 6
         4: .line 2997
            iinc 7 /* p */ 1
         5: .line 2998
            goto 10
         6: .line 3000
      StackMap locals: int
      StackMap stack:
            lload 3 /* lowMask */
            lconst_1
            land
            lconst_0
            lcmp
            ifeq 11
         7: .line 3001
            aload 0 /* this */
            iload 7 /* p */
            iload 2 /* n */
            iload 8 /* c */
            invokevirtual java.net.URI$Parser.scanEscape:(IIC)I
            istore 9 /* q */
        start local 9 // int q
         8: .line 3002
            iload 9 /* q */
            iload 7 /* p */
            if_icmple 11
         9: .line 3003
            iload 9 /* q */
            istore 7 /* p */
        end local 9 // int q
        end local 8 // char c
        10: .line 2994
      StackMap locals:
      StackMap stack:
            iload 7 /* p */
            iload 2 /* n */
            if_icmplt 2
        11: .line 3009
      StackMap locals:
      StackMap stack:
            iload 7 /* p */
            ireturn
        end local 7 // int p
        end local 5 // long highMask
        end local 3 // long lowMask
        end local 2 // int n
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   12     0      this  Ljava/net/URI$Parser;
            0   12     1     start  I
            0   12     2         n  I
            0   12     3   lowMask  J
            0   12     5  highMask  J
            1   12     7         p  I
            3   10     8         c  C
            8   10     9         q  I
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
          Name  Flags
      start     
      n         
      lowMask   
      highMask  

  private void checkChars(int, int, long, long, java.lang.String);
    descriptor: (IIJJLjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=6
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int end
        start local 3 // long lowMask
        start local 5 // long highMask
        start local 7 // java.lang.String what
         0: .line 3019
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* end */
            lload 3 /* lowMask */
            lload 5 /* highMask */
            invokevirtual java.net.URI$Parser.scan:(IIJJ)I
            istore 8 /* p */
        start local 8 // int p
         1: .line 3020
            iload 8 /* p */
            iload 2 /* end */
            if_icmpge 3
         2: .line 3021
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "Illegal character in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 7 /* what */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 8 /* p */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
         3: .line 3022
      StackMap locals: int
      StackMap stack:
            return
        end local 8 // int p
        end local 7 // java.lang.String what
        end local 5 // long highMask
        end local 3 // long lowMask
        end local 2 // int end
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljava/net/URI$Parser;
            0    4     1     start  I
            0    4     2       end  I
            0    4     3   lowMask  J
            0    4     5  highMask  J
            0    4     7      what  Ljava/lang/String;
            1    4     8         p  I
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
          Name  Flags
      start     
      end       
      lowMask   
      highMask  
      what      

  private void checkChar(int, long, long, java.lang.String);
    descriptor: (IJJLjava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=7, args_size=5
        start local 0 // java.net.URI$Parser this
        start local 1 // int p
        start local 2 // long lowMask
        start local 4 // long highMask
        start local 6 // java.lang.String what
         0: .line 3031
            aload 0 /* this */
            iload 1 /* p */
            iload 1 /* p */
            iconst_1
            iadd
            lload 2 /* lowMask */
            lload 4 /* highMask */
            aload 6 /* what */
            invokevirtual java.net.URI$Parser.checkChars:(IIJJLjava/lang/String;)V
         1: .line 3032
            return
        end local 6 // java.lang.String what
        end local 4 // long highMask
        end local 2 // long lowMask
        end local 1 // int p
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljava/net/URI$Parser;
            0    2     1         p  I
            0    2     2   lowMask  J
            0    2     4  highMask  J
            0    2     6      what  Ljava/lang/String;
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
          Name  Flags
      p         
      lowMask   
      highMask  
      what      

  void parse(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=8, locals=6, args_size=2
        start local 0 // java.net.URI$Parser this
        start local 1 // boolean rsa
         0: .line 3040
            aload 0 /* this */
            iload 1 /* rsa */
            putfield java.net.URI$Parser.requireServerAuthority:Z
         1: .line 3042
            aload 0 /* this */
            getfield java.net.URI$Parser.input:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            istore 3 /* n */
        start local 3 // int n
         2: .line 3043
            aload 0 /* this */
            iconst_0
            iload 3 /* n */
            ldc "/?#"
            ldc ":"
            invokevirtual java.net.URI$Parser.scan:(IILjava/lang/String;Ljava/lang/String;)I
            istore 4 /* p */
        start local 4 // int p
         3: .line 3044
            iload 4 /* p */
            iflt 20
            aload 0 /* this */
            iload 4 /* p */
            iload 3 /* n */
            bipush 58
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 20
         4: .line 3045
            iload 4 /* p */
            ifne 6
         5: .line 3046
            aload 0 /* this */
            ldc "scheme name"
            iconst_0
            invokevirtual java.net.URI$Parser.failExpecting:(Ljava/lang/String;I)V
         6: .line 3047
      StackMap locals: java.net.URI$Parser int top int int
      StackMap stack:
            aload 0 /* this */
            iconst_0
            lconst_0
            getstatic java.net.URI.H_ALPHA:J
            ldc "scheme name"
            invokevirtual java.net.URI$Parser.checkChar:(IJJLjava/lang/String;)V
         7: .line 3048
            aload 0 /* this */
            iconst_1
            iload 4 /* p */
            getstatic java.net.URI.L_SCHEME:J
            getstatic java.net.URI.H_SCHEME:J
            ldc "scheme name"
            invokevirtual java.net.URI$Parser.checkChars:(IIJJLjava/lang/String;)V
         8: .line 3049
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aload 0 /* this */
            iconst_0
            iload 4 /* p */
            invokevirtual java.net.URI$Parser.substring:(II)Ljava/lang/String;
            putfield java.net.URI.scheme:Ljava/lang/String;
         9: .line 3050
            iinc 4 /* p */ 1
        10: .line 3051
            iload 4 /* p */
            istore 2 /* ssp */
        start local 2 // int ssp
        11: .line 3052
            aload 0 /* this */
            iload 4 /* p */
            iload 3 /* n */
            bipush 47
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 14
        12: .line 3053
            aload 0 /* this */
            iload 4 /* p */
            iload 3 /* n */
            invokevirtual java.net.URI$Parser.parseHierarchical:(II)I
            istore 4 /* p */
        13: .line 3054
            goto 22
        14: .line 3055
      StackMap locals: java.net.URI$Parser int int int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* p */
            iload 3 /* n */
            ldc ""
            ldc "#"
            invokevirtual java.net.URI$Parser.scan:(IILjava/lang/String;Ljava/lang/String;)I
            istore 5 /* q */
        start local 5 // int q
        15: .line 3056
            iload 5 /* q */
            iload 4 /* p */
            if_icmpgt 17
        16: .line 3057
            aload 0 /* this */
            ldc "scheme-specific part"
            iload 4 /* p */
            invokevirtual java.net.URI$Parser.failExpecting:(Ljava/lang/String;I)V
        17: .line 3058
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* p */
            iload 5 /* q */
            getstatic java.net.URI.L_URIC:J
            getstatic java.net.URI.H_URIC:J
            ldc "opaque part"
            invokevirtual java.net.URI$Parser.checkChars:(IIJJLjava/lang/String;)V
        18: .line 3059
            iload 5 /* q */
            istore 4 /* p */
        end local 5 // int q
        19: .line 3061
            goto 22
        end local 2 // int ssp
        20: .line 3062
      StackMap locals: java.net.URI$Parser int top int int
      StackMap stack:
            iconst_0
            istore 2 /* ssp */
        start local 2 // int ssp
        21: .line 3063
            aload 0 /* this */
            iconst_0
            iload 3 /* n */
            invokevirtual java.net.URI$Parser.parseHierarchical:(II)I
            istore 4 /* p */
        22: .line 3065
      StackMap locals: java.net.URI$Parser int int int int
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aload 0 /* this */
            iload 2 /* ssp */
            iload 4 /* p */
            invokevirtual java.net.URI$Parser.substring:(II)Ljava/lang/String;
            putfield java.net.URI.schemeSpecificPart:Ljava/lang/String;
        23: .line 3066
            aload 0 /* this */
            iload 4 /* p */
            iload 3 /* n */
            bipush 35
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 27
        24: .line 3067
            aload 0 /* this */
            iload 4 /* p */
            iconst_1
            iadd
            iload 3 /* n */
            getstatic java.net.URI.L_URIC:J
            getstatic java.net.URI.H_URIC:J
            ldc "fragment"
            invokevirtual java.net.URI$Parser.checkChars:(IIJJLjava/lang/String;)V
        25: .line 3068
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aload 0 /* this */
            iload 4 /* p */
            iconst_1
            iadd
            iload 3 /* n */
            invokevirtual java.net.URI$Parser.substring:(II)Ljava/lang/String;
            putfield java.net.URI.fragment:Ljava/lang/String;
        26: .line 3069
            iload 3 /* n */
            istore 4 /* p */
        27: .line 3071
      StackMap locals:
      StackMap stack:
            iload 4 /* p */
            iload 3 /* n */
            if_icmpge 29
        28: .line 3072
            aload 0 /* this */
            ldc "end of URI"
            iload 4 /* p */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
        29: .line 3073
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int p
        end local 3 // int n
        end local 2 // int ssp
        end local 1 // boolean rsa
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   30     0  this  Ljava/net/URI$Parser;
            0   30     1   rsa  Z
           11   20     2   ssp  I
           21   30     2   ssp  I
            2   30     3     n  I
            3   30     4     p  I
           15   19     5     q  I
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
      Name  Flags
      rsa   

  private int parseHierarchical(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int n
         0: .line 3092
            iload 1 /* start */
            istore 3 /* p */
        start local 3 // int p
         1: .line 3093
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            bipush 47
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 9
            aload 0 /* this */
            iload 3 /* p */
            iconst_1
            iadd
            iload 2 /* n */
            bipush 47
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 9
         2: .line 3094
            iinc 3 /* p */ 2
         3: .line 3095
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            ldc ""
            ldc "/?#"
            invokevirtual java.net.URI$Parser.scan:(IILjava/lang/String;Ljava/lang/String;)I
            istore 4 /* q */
        start local 4 // int q
         4: .line 3096
            iload 4 /* q */
            iload 3 /* p */
            if_icmple 7
         5: .line 3097
            aload 0 /* this */
            iload 3 /* p */
            iload 4 /* q */
            invokevirtual java.net.URI$Parser.parseAuthority:(II)I
            istore 3 /* p */
         6: .line 3098
            goto 9
      StackMap locals: int int
      StackMap stack:
         7: iload 4 /* q */
            iload 2 /* n */
            if_icmplt 9
         8: .line 3102
            aload 0 /* this */
            ldc "authority"
            iload 3 /* p */
            invokevirtual java.net.URI$Parser.failExpecting:(Ljava/lang/String;I)V
        end local 4 // int q
         9: .line 3104
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            ldc ""
            ldc "?#"
            invokevirtual java.net.URI$Parser.scan:(IILjava/lang/String;Ljava/lang/String;)I
            istore 4 /* q */
        start local 4 // int q
        10: .line 3105
            aload 0 /* this */
            iload 3 /* p */
            iload 4 /* q */
            getstatic java.net.URI.L_PATH:J
            getstatic java.net.URI.H_PATH:J
            ldc "path"
            invokevirtual java.net.URI$Parser.checkChars:(IIJJLjava/lang/String;)V
        11: .line 3106
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aload 0 /* this */
            iload 3 /* p */
            iload 4 /* q */
            invokevirtual java.net.URI$Parser.substring:(II)Ljava/lang/String;
            putfield java.net.URI.path:Ljava/lang/String;
        12: .line 3107
            iload 4 /* q */
            istore 3 /* p */
        13: .line 3108
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            bipush 63
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 19
        14: .line 3109
            iinc 3 /* p */ 1
        15: .line 3110
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            ldc ""
            ldc "#"
            invokevirtual java.net.URI$Parser.scan:(IILjava/lang/String;Ljava/lang/String;)I
            istore 4 /* q */
        16: .line 3111
            aload 0 /* this */
            iload 3 /* p */
            iload 4 /* q */
            getstatic java.net.URI.L_URIC:J
            getstatic java.net.URI.H_URIC:J
            ldc "query"
            invokevirtual java.net.URI$Parser.checkChars:(IIJJLjava/lang/String;)V
        17: .line 3112
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aload 0 /* this */
            iload 3 /* p */
            iload 4 /* q */
            invokevirtual java.net.URI$Parser.substring:(II)Ljava/lang/String;
            putfield java.net.URI.query:Ljava/lang/String;
        18: .line 3113
            iload 4 /* q */
            istore 3 /* p */
        19: .line 3115
      StackMap locals: int
      StackMap stack:
            iload 3 /* p */
            ireturn
        end local 4 // int q
        end local 3 // int p
        end local 2 // int n
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   this  Ljava/net/URI$Parser;
            0   20     1  start  I
            0   20     2      n  I
            1   20     3      p  I
            4    9     4      q  I
           10   20     4      q  I
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
       Name  Flags
      start  
      n      

  private int parseAuthority(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=3
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int n
         0: .line 3129
            iload 1 /* start */
            istore 3 /* p */
        start local 3 // int p
         1: .line 3130
            iload 3 /* p */
            istore 4 /* q */
        start local 4 // int q
         2: .line 3131
            aconst_null
            astore 5 /* ex */
        start local 5 // java.net.URISyntaxException ex
         3: .line 3136
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            ldc ""
            ldc "]"
            invokevirtual java.net.URI$Parser.scan:(IILjava/lang/String;Ljava/lang/String;)I
            iload 3 /* p */
            if_icmple 8
         4: .line 3138
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            getstatic java.net.URI.L_SERVER_PERCENT:J
            getstatic java.net.URI.H_SERVER_PERCENT:J
            invokevirtual java.net.URI$Parser.scan:(IIJJ)I
            iload 2 /* n */
            if_icmpne 5
            iconst_1
            goto 6
      StackMap locals: int int java.net.URISyntaxException
      StackMap stack:
         5: iconst_0
      StackMap locals:
      StackMap stack: int
         6: istore 6 /* serverChars */
        start local 6 // boolean serverChars
         7: .line 3139
            goto 11
        end local 6 // boolean serverChars
         8: .line 3140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            getstatic java.net.URI.L_SERVER:J
            getstatic java.net.URI.H_SERVER:J
            invokevirtual java.net.URI$Parser.scan:(IIJJ)I
            iload 2 /* n */
            if_icmpne 9
            iconst_1
            goto 10
      StackMap locals:
      StackMap stack:
         9: iconst_0
      StackMap locals:
      StackMap stack: int
        10: istore 6 /* serverChars */
        start local 6 // boolean serverChars
        11: .line 3142
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            getstatic java.net.URI.L_REG_NAME:J
            getstatic java.net.URI.H_REG_NAME:J
            invokevirtual java.net.URI$Parser.scan:(IIJJ)I
            iload 2 /* n */
            if_icmpne 12
            iconst_1
            goto 13
      StackMap locals:
      StackMap stack:
        12: iconst_0
      StackMap locals:
      StackMap stack: int
        13: istore 7 /* regChars */
        start local 7 // boolean regChars
        14: .line 3144
            iload 7 /* regChars */
            ifeq 17
            iload 6 /* serverChars */
            ifne 17
        15: .line 3146
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            invokevirtual java.net.URI$Parser.substring:(II)Ljava/lang/String;
            putfield java.net.URI.authority:Ljava/lang/String;
        16: .line 3147
            iload 2 /* n */
            ireturn
        17: .line 3150
      StackMap locals: int
      StackMap stack:
            iload 6 /* serverChars */
            ifeq 31
        18: .line 3155
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            invokevirtual java.net.URI$Parser.parseServer:(II)I
            istore 4 /* q */
        19: .line 3156
            iload 4 /* q */
            iload 2 /* n */
            if_icmpge 21
        20: .line 3157
            aload 0 /* this */
            ldc "end of authority"
            iload 4 /* q */
            invokevirtual java.net.URI$Parser.failExpecting:(Ljava/lang/String;I)V
        21: .line 3158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            invokevirtual java.net.URI$Parser.substring:(II)Ljava/lang/String;
            putfield java.net.URI.authority:Ljava/lang/String;
        22: .line 3159
            goto 31
      StackMap locals:
      StackMap stack: java.net.URISyntaxException
        23: astore 8 /* x */
        start local 8 // java.net.URISyntaxException x
        24: .line 3161
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aconst_null
            putfield java.net.URI.userInfo:Ljava/lang/String;
        25: .line 3162
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aconst_null
            putfield java.net.URI.host:Ljava/lang/String;
        26: .line 3163
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            iconst_m1
            putfield java.net.URI.port:I
        27: .line 3164
            aload 0 /* this */
            getfield java.net.URI$Parser.requireServerAuthority:Z
            ifeq 29
        28: .line 3167
            aload 8 /* x */
            athrow
        29: .line 3171
      StackMap locals: java.net.URISyntaxException
      StackMap stack:
            aload 8 /* x */
            astore 5 /* ex */
        30: .line 3172
            iload 3 /* p */
            istore 4 /* q */
        end local 8 // java.net.URISyntaxException x
        31: .line 3177
      StackMap locals:
      StackMap stack:
            iload 4 /* q */
            iload 2 /* n */
            if_icmpge 38
        32: .line 3178
            iload 7 /* regChars */
            ifeq 35
        33: .line 3180
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            invokevirtual java.net.URI$Parser.substring:(II)Ljava/lang/String;
            putfield java.net.URI.authority:Ljava/lang/String;
        34: .line 3181
            goto 38
      StackMap locals:
      StackMap stack:
        35: aload 5 /* ex */
            ifnull 37
        36: .line 3184
            aload 5 /* ex */
            athrow
        37: .line 3186
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "Illegal character in authority"
            iload 4 /* q */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
        38: .line 3190
      StackMap locals:
      StackMap stack:
            iload 2 /* n */
            ireturn
        end local 7 // boolean regChars
        end local 6 // boolean serverChars
        end local 5 // java.net.URISyntaxException ex
        end local 4 // int q
        end local 3 // int p
        end local 2 // int n
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   39     0         this  Ljava/net/URI$Parser;
            0   39     1        start  I
            0   39     2            n  I
            1   39     3            p  I
            2   39     4            q  I
            3   39     5           ex  Ljava/net/URISyntaxException;
            7    8     6  serverChars  Z
           11   39     6  serverChars  Z
           14   39     7     regChars  Z
           24   31     8            x  Ljava/net/URISyntaxException;
      Exception table:
        from    to  target  type
          18    22      23  Class java.net.URISyntaxException
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
       Name  Flags
      start  
      n      

  private int parseServer(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=3
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int n
         0: .line 3199
            iload 1 /* start */
            istore 3 /* p */
        start local 3 // int p
         1: .line 3203
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            ldc "/?#"
            ldc "@"
            invokevirtual java.net.URI$Parser.scan:(IILjava/lang/String;Ljava/lang/String;)I
            istore 4 /* q */
        start local 4 // int q
         2: .line 3204
            iload 4 /* q */
            iload 3 /* p */
            if_icmplt 6
            aload 0 /* this */
            iload 4 /* q */
            iload 2 /* n */
            bipush 64
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 6
         3: .line 3205
            aload 0 /* this */
            iload 3 /* p */
            iload 4 /* q */
            getstatic java.net.URI.L_USERINFO:J
            getstatic java.net.URI.H_USERINFO:J
            ldc "user info"
            invokevirtual java.net.URI$Parser.checkChars:(IIJJLjava/lang/String;)V
         4: .line 3206
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aload 0 /* this */
            iload 3 /* p */
            iload 4 /* q */
            invokevirtual java.net.URI$Parser.substring:(II)Ljava/lang/String;
            putfield java.net.URI.userInfo:Ljava/lang/String;
         5: .line 3207
            iload 4 /* q */
            iconst_1
            iadd
            istore 3 /* p */
         6: .line 3211
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            bipush 91
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 25
         7: .line 3213
            iinc 3 /* p */ 1
         8: .line 3214
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            ldc "/?#"
            ldc "]"
            invokevirtual java.net.URI$Parser.scan:(IILjava/lang/String;Ljava/lang/String;)I
            istore 4 /* q */
         9: .line 3215
            iload 4 /* q */
            iload 3 /* p */
            if_icmple 23
            aload 0 /* this */
            iload 4 /* q */
            iload 2 /* n */
            bipush 93
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 23
        10: .line 3217
            aload 0 /* this */
            iload 3 /* p */
            iload 4 /* q */
            ldc ""
            ldc "%"
            invokevirtual java.net.URI$Parser.scan:(IILjava/lang/String;Ljava/lang/String;)I
            istore 5 /* r */
        start local 5 // int r
        11: .line 3218
            iload 5 /* r */
            iload 3 /* p */
            if_icmple 19
        12: .line 3219
            aload 0 /* this */
            iload 3 /* p */
            iload 5 /* r */
            invokevirtual java.net.URI$Parser.parseIPv6Reference:(II)I
            pop
        13: .line 3220
            iload 5 /* r */
            iconst_1
            iadd
            iload 4 /* q */
            if_icmpne 15
        14: .line 3221
            aload 0 /* this */
            ldc "scope id expected"
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;)V
        15: .line 3223
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 5 /* r */
            iconst_1
            iadd
            iload 4 /* q */
            getstatic java.net.URI.L_ALPHANUM:J
            getstatic java.net.URI.H_ALPHANUM:J
        16: .line 3224
            ldc "scope id"
        17: .line 3223
            invokevirtual java.net.URI$Parser.checkChars:(IIJJLjava/lang/String;)V
        18: .line 3225
            goto 20
        19: .line 3226
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* p */
            iload 4 /* q */
            invokevirtual java.net.URI$Parser.parseIPv6Reference:(II)I
            pop
        20: .line 3228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aload 0 /* this */
            iload 3 /* p */
            iconst_1
            isub
            iload 4 /* q */
            iconst_1
            iadd
            invokevirtual java.net.URI$Parser.substring:(II)Ljava/lang/String;
            putfield java.net.URI.host:Ljava/lang/String;
        21: .line 3229
            iload 4 /* q */
            iconst_1
            iadd
            istore 3 /* p */
        end local 5 // int r
        22: .line 3230
            goto 29
        23: .line 3231
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "closing bracket for IPv6 address"
            iload 4 /* q */
            invokevirtual java.net.URI$Parser.failExpecting:(Ljava/lang/String;I)V
        24: .line 3233
            goto 29
        25: .line 3234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            invokevirtual java.net.URI$Parser.parseIPv4Address:(II)I
            istore 4 /* q */
        26: .line 3235
            iload 4 /* q */
            iload 3 /* p */
            if_icmpgt 28
        27: .line 3236
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            invokevirtual java.net.URI$Parser.parseHostname:(II)I
            istore 4 /* q */
        28: .line 3237
      StackMap locals:
      StackMap stack:
            iload 4 /* q */
            istore 3 /* p */
        29: .line 3241
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            bipush 58
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 39
        30: .line 3242
            iinc 3 /* p */ 1
        31: .line 3243
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            ldc ""
            ldc "/"
            invokevirtual java.net.URI$Parser.scan:(IILjava/lang/String;Ljava/lang/String;)I
            istore 4 /* q */
        32: .line 3244
            iload 4 /* q */
            iload 3 /* p */
            if_icmple 39
        33: .line 3245
            aload 0 /* this */
            iload 3 /* p */
            iload 4 /* q */
            getstatic java.net.URI.L_DIGIT:J
            lconst_0
            ldc "port number"
            invokevirtual java.net.URI$Parser.checkChars:(IIJJLjava/lang/String;)V
        34: .line 3247
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aload 0 /* this */
            iload 3 /* p */
            iload 4 /* q */
            invokevirtual java.net.URI$Parser.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield java.net.URI.port:I
        35: .line 3248
            goto 38
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
        36: pop
        37: .line 3249
            aload 0 /* this */
            ldc "Malformed port number"
            iload 3 /* p */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
        38: .line 3251
      StackMap locals:
      StackMap stack:
            iload 4 /* q */
            istore 3 /* p */
        39: .line 3254
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 2 /* n */
            if_icmpge 41
        40: .line 3255
            aload 0 /* this */
            ldc "port number"
            iload 3 /* p */
            invokevirtual java.net.URI$Parser.failExpecting:(Ljava/lang/String;I)V
        41: .line 3257
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            ireturn
        end local 4 // int q
        end local 3 // int p
        end local 2 // int n
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   42     0   this  Ljava/net/URI$Parser;
            0   42     1  start  I
            0   42     2      n  I
            1   42     3      p  I
            2   42     4      q  I
           11   22     5      r  I
      Exception table:
        from    to  target  type
          34    35      36  Class java.lang.NumberFormatException
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
       Name  Flags
      start  
      n      

  private int scanByte(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int n
         0: .line 3265
            iload 1 /* start */
            istore 3 /* p */
        start local 3 // int p
         1: .line 3266
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            getstatic java.net.URI.L_DIGIT:J
            lconst_0
            invokevirtual java.net.URI$Parser.scan:(IIJJ)I
            istore 4 /* q */
        start local 4 // int q
         2: .line 3267
            iload 4 /* q */
            iload 3 /* p */
            if_icmpgt 3
            iload 4 /* q */
            ireturn
         3: .line 3268
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* p */
            iload 4 /* q */
            invokevirtual java.net.URI$Parser.substring:(II)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            sipush 255
            if_icmple 4
            iload 3 /* p */
            ireturn
         4: .line 3269
      StackMap locals:
      StackMap stack:
            iload 4 /* q */
            ireturn
        end local 4 // int q
        end local 3 // int p
        end local 2 // int n
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljava/net/URI$Parser;
            0    5     1  start  I
            0    5     2      n  I
            1    5     3      p  I
            2    5     4      q  I
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
       Name  Flags
      start  
      n      

  private int scanIPv4Address(int, int, boolean);
    descriptor: (IIZ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int n
        start local 3 // boolean strict
         0: .line 3290
            iload 1 /* start */
            istore 4 /* p */
        start local 4 // int p
         1: .line 3292
            aload 0 /* this */
            iload 4 /* p */
            iload 2 /* n */
            getstatic java.net.URI.L_DIGIT:J
            getstatic java.net.URI.L_DOT:J
            lor
            getstatic java.net.URI.H_DOT:J
            invokevirtual java.net.URI$Parser.scan:(IIJJ)I
            istore 6 /* m */
        start local 6 // int m
         2: .line 3293
            iload 6 /* m */
            iload 4 /* p */
            if_icmple 3
            iload 3 /* strict */
            ifeq 4
            iload 6 /* m */
            iload 2 /* n */
            if_icmpeq 4
         3: .line 3294
      StackMap locals: java.net.URI$Parser int int int int top int
      StackMap stack:
            iconst_m1
            ireturn
         4: .line 3298
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* p */
            iload 6 /* m */
            invokevirtual java.net.URI$Parser.scanByte:(II)I
            dup
            istore 5 /* q */
        start local 5 // int q
         5: iload 4 /* p */
            if_icmpgt 6
            goto 21
      StackMap locals: java.net.URI$Parser int int int int int int
      StackMap stack:
         6: iload 5 /* q */
            istore 4 /* p */
         7: .line 3299
            aload 0 /* this */
            iload 4 /* p */
            iload 6 /* m */
            bipush 46
            invokevirtual java.net.URI$Parser.scan:(IIC)I
            dup
            istore 5 /* q */
            iload 4 /* p */
            if_icmpgt 8
            goto 21
      StackMap locals:
      StackMap stack:
         8: iload 5 /* q */
            istore 4 /* p */
         9: .line 3300
            aload 0 /* this */
            iload 4 /* p */
            iload 6 /* m */
            invokevirtual java.net.URI$Parser.scanByte:(II)I
            dup
            istore 5 /* q */
            iload 4 /* p */
            if_icmpgt 10
            goto 21
      StackMap locals:
      StackMap stack:
        10: iload 5 /* q */
            istore 4 /* p */
        11: .line 3301
            aload 0 /* this */
            iload 4 /* p */
            iload 6 /* m */
            bipush 46
            invokevirtual java.net.URI$Parser.scan:(IIC)I
            dup
            istore 5 /* q */
            iload 4 /* p */
            if_icmpgt 12
            goto 21
      StackMap locals:
      StackMap stack:
        12: iload 5 /* q */
            istore 4 /* p */
        13: .line 3302
            aload 0 /* this */
            iload 4 /* p */
            iload 6 /* m */
            invokevirtual java.net.URI$Parser.scanByte:(II)I
            dup
            istore 5 /* q */
            iload 4 /* p */
            if_icmpgt 14
            goto 21
      StackMap locals:
      StackMap stack:
        14: iload 5 /* q */
            istore 4 /* p */
        15: .line 3303
            aload 0 /* this */
            iload 4 /* p */
            iload 6 /* m */
            bipush 46
            invokevirtual java.net.URI$Parser.scan:(IIC)I
            dup
            istore 5 /* q */
            iload 4 /* p */
            if_icmpgt 16
            goto 21
      StackMap locals:
      StackMap stack:
        16: iload 5 /* q */
            istore 4 /* p */
        17: .line 3304
            aload 0 /* this */
            iload 4 /* p */
            iload 6 /* m */
            invokevirtual java.net.URI$Parser.scanByte:(II)I
            dup
            istore 5 /* q */
            iload 4 /* p */
            if_icmpgt 18
            goto 21
      StackMap locals:
      StackMap stack:
        18: iload 5 /* q */
            istore 4 /* p */
        19: .line 3305
            iload 5 /* q */
            iload 6 /* m */
            if_icmpge 20
            goto 21
        20: .line 3306
      StackMap locals:
      StackMap stack:
            iload 5 /* q */
            ireturn
        21: .line 3308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "Malformed IPv4 address"
            iload 5 /* q */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
        22: .line 3309
            iconst_m1
            ireturn
        end local 6 // int m
        end local 5 // int q
        end local 4 // int p
        end local 3 // boolean strict
        end local 2 // int n
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0    this  Ljava/net/URI$Parser;
            0   23     1   start  I
            0   23     2       n  I
            0   23     3  strict  Z
            1   23     4       p  I
            5   23     5       q  I
            2   23     6       m  I
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
        Name  Flags
      start   
      n       
      strict  

  private int takeIPv4Address(int, int, java.lang.String);
    descriptor: (IILjava/lang/String;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int n
        start local 3 // java.lang.String expected
         0: .line 3318
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* n */
            iconst_1
            invokevirtual java.net.URI$Parser.scanIPv4Address:(IIZ)I
            istore 4 /* p */
        start local 4 // int p
         1: .line 3319
            iload 4 /* p */
            iload 1 /* start */
            if_icmpgt 3
         2: .line 3320
            aload 0 /* this */
            aload 3 /* expected */
            iload 1 /* start */
            invokevirtual java.net.URI$Parser.failExpecting:(Ljava/lang/String;I)V
         3: .line 3321
      StackMap locals: int
      StackMap stack:
            iload 4 /* p */
            ireturn
        end local 4 // int p
        end local 3 // java.lang.String expected
        end local 2 // int n
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Ljava/net/URI$Parser;
            0    4     1     start  I
            0    4     2         n  I
            0    4     3  expected  Ljava/lang/String;
            1    4     4         p  I
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
          Name  Flags
      start     
      n         
      expected  

  private int parseIPv4Address(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int n
         0: .line 3332
            aload 0 /* this */
            iload 1 /* start */
            iload 2 /* n */
            iconst_0
            invokevirtual java.net.URI$Parser.scanIPv4Address:(IIZ)I
            istore 3 /* p */
        start local 3 // int p
         1: .line 3333
            goto 6
        end local 3 // int p
      StackMap locals:
      StackMap stack: java.net.URISyntaxException
         2: pop
         3: .line 3334
            iconst_m1
            ireturn
         4: .line 3335
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
         5: .line 3336
            iconst_m1
            ireturn
        start local 3 // int p
         6: .line 3339
      StackMap locals: int
      StackMap stack:
            iload 3 /* p */
            iload 1 /* start */
            if_icmple 9
            iload 3 /* p */
            iload 2 /* n */
            if_icmpge 9
         7: .line 3343
            aload 0 /* this */
            iload 3 /* p */
            invokevirtual java.net.URI$Parser.charAt:(I)C
            bipush 58
            if_icmpeq 9
         8: .line 3344
            iconst_m1
            istore 3 /* p */
         9: .line 3348
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 1 /* start */
            if_icmple 11
        10: .line 3349
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aload 0 /* this */
            iload 1 /* start */
            iload 3 /* p */
            invokevirtual java.net.URI$Parser.substring:(II)Ljava/lang/String;
            putfield java.net.URI.host:Ljava/lang/String;
        11: .line 3351
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            ireturn
        end local 3 // int p
        end local 2 // int n
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Ljava/net/URI$Parser;
            0   12     1  start  I
            0   12     2      n  I
            1    2     3      p  I
            6   12     3      p  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.net.URISyntaxException
           0     1       4  Class java.lang.NumberFormatException
    MethodParameters:
       Name  Flags
      start  
      n      

  private int parseHostname(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=6, args_size=3
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int n
         0: .line 3361
            iload 1 /* start */
            istore 3 /* p */
        start local 3 // int p
         1: .line 3363
            iconst_m1
            istore 5 /* l */
        start local 5 // int l
         2: .line 3367
      StackMap locals: java.net.URI$Parser int int int top int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            getstatic java.net.URI.L_ALPHANUM:J
            getstatic java.net.URI.H_ALPHANUM:J
            invokevirtual java.net.URI$Parser.scan:(IIJJ)I
            istore 4 /* q */
        start local 4 // int q
         3: .line 3368
            iload 4 /* q */
            iload 3 /* p */
            if_icmpgt 5
         4: .line 3369
            goto 19
         5: .line 3370
      StackMap locals: java.net.URI$Parser int int int int int
      StackMap stack:
            iload 3 /* p */
            istore 5 /* l */
         6: .line 3371
            iload 4 /* q */
            iload 3 /* p */
            if_icmple 13
         7: .line 3372
            iload 4 /* q */
            istore 3 /* p */
         8: .line 3373
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            getstatic java.net.URI.L_ALPHANUM:J
            getstatic java.net.URI.L_DASH:J
            lor
            getstatic java.net.URI.H_ALPHANUM:J
            getstatic java.net.URI.H_DASH:J
            lor
            invokevirtual java.net.URI$Parser.scan:(IIJJ)I
            istore 4 /* q */
         9: .line 3374
            iload 4 /* q */
            iload 3 /* p */
            if_icmple 13
        10: .line 3375
            aload 0 /* this */
            iload 4 /* q */
            iconst_1
            isub
            invokevirtual java.net.URI$Parser.charAt:(I)C
            bipush 45
            if_icmpne 12
        11: .line 3376
            aload 0 /* this */
            ldc "Illegal character in hostname"
            iload 4 /* q */
            iconst_1
            isub
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
        12: .line 3377
      StackMap locals:
      StackMap stack:
            iload 4 /* q */
            istore 3 /* p */
        13: .line 3380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            bipush 46
            invokevirtual java.net.URI$Parser.scan:(IIC)I
            istore 4 /* q */
        14: .line 3381
            iload 4 /* q */
            iload 3 /* p */
            if_icmpgt 16
        15: .line 3382
            goto 19
        16: .line 3383
      StackMap locals:
      StackMap stack:
            iload 4 /* q */
            istore 3 /* p */
        17: .line 3384
            iload 3 /* p */
            iload 2 /* n */
        18: .line 3365
            if_icmplt 2
        19: .line 3386
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 2 /* n */
            if_icmpge 21
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            bipush 58
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifne 21
        20: .line 3387
            aload 0 /* this */
            ldc "Illegal character in hostname"
            iload 3 /* p */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
        21: .line 3389
      StackMap locals:
      StackMap stack:
            iload 5 /* l */
            ifge 23
        22: .line 3390
            aload 0 /* this */
            ldc "hostname"
            iload 1 /* start */
            invokevirtual java.net.URI$Parser.failExpecting:(Ljava/lang/String;I)V
        23: .line 3394
      StackMap locals:
      StackMap stack:
            iload 5 /* l */
            iload 1 /* start */
            if_icmple 25
            aload 0 /* this */
            iload 5 /* l */
            invokevirtual java.net.URI$Parser.charAt:(I)C
            lconst_0
            getstatic java.net.URI.H_ALPHA:J
            invokestatic java.net.URI.match:(CJJ)Z
            ifne 25
        24: .line 3395
            aload 0 /* this */
            ldc "Illegal character in hostname"
            iload 5 /* l */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
        25: .line 3398
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI$Parser.this$0:Ljava/net/URI;
            aload 0 /* this */
            iload 1 /* start */
            iload 3 /* p */
            invokevirtual java.net.URI$Parser.substring:(II)Ljava/lang/String;
            putfield java.net.URI.host:Ljava/lang/String;
        26: .line 3399
            iload 3 /* p */
            ireturn
        end local 5 // int l
        end local 4 // int q
        end local 3 // int p
        end local 2 // int n
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   27     0   this  Ljava/net/URI$Parser;
            0   27     1  start  I
            0   27     2      n  I
            1   27     3      p  I
            3   27     4      q  I
            2   27     5      l  I
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
       Name  Flags
      start  
      n      

  private int parseIPv6Reference(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int n
         0: .line 3449
            iload 1 /* start */
            istore 3 /* p */
        start local 3 // int p
         1: .line 3451
            iconst_0
            istore 5 /* compressedZeros */
        start local 5 // boolean compressedZeros
         2: .line 3453
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            invokevirtual java.net.URI$Parser.scanHexSeq:(II)I
            istore 4 /* q */
        start local 4 // int q
         3: .line 3455
            iload 4 /* q */
            iload 3 /* p */
            if_icmple 13
         4: .line 3456
            iload 4 /* q */
            istore 3 /* p */
         5: .line 3457
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            ldc "::"
            invokevirtual java.net.URI$Parser.at:(IILjava/lang/String;)Z
            ifeq 9
         6: .line 3458
            iconst_1
            istore 5 /* compressedZeros */
         7: .line 3459
            aload 0 /* this */
            iload 3 /* p */
            iconst_2
            iadd
            iload 2 /* n */
            invokevirtual java.net.URI$Parser.scanHexPost:(II)I
            istore 3 /* p */
         8: .line 3460
            goto 16
      StackMap locals: int int int
      StackMap stack:
         9: aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            bipush 58
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 16
        10: .line 3461
            aload 0 /* this */
            iload 3 /* p */
            iconst_1
            iadd
            iload 2 /* n */
            ldc "IPv4 address"
            invokevirtual java.net.URI$Parser.takeIPv4Address:(IILjava/lang/String;)I
            istore 3 /* p */
        11: .line 3462
            aload 0 /* this */
            dup
            getfield java.net.URI$Parser.ipv6byteCount:I
            iconst_4
            iadd
            putfield java.net.URI$Parser.ipv6byteCount:I
        12: .line 3464
            goto 16
      StackMap locals:
      StackMap stack:
        13: aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            ldc "::"
            invokevirtual java.net.URI$Parser.at:(IILjava/lang/String;)Z
            ifeq 16
        14: .line 3465
            iconst_1
            istore 5 /* compressedZeros */
        15: .line 3466
            aload 0 /* this */
            iload 3 /* p */
            iconst_2
            iadd
            iload 2 /* n */
            invokevirtual java.net.URI$Parser.scanHexPost:(II)I
            istore 3 /* p */
        16: .line 3468
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 2 /* n */
            if_icmpge 18
        17: .line 3469
            aload 0 /* this */
            ldc "Malformed IPv6 address"
            iload 1 /* start */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
        18: .line 3470
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.net.URI$Parser.ipv6byteCount:I
            bipush 16
            if_icmple 20
        19: .line 3471
            aload 0 /* this */
            ldc "IPv6 address too long"
            iload 1 /* start */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
        20: .line 3472
      StackMap locals:
      StackMap stack:
            iload 5 /* compressedZeros */
            ifne 22
            aload 0 /* this */
            getfield java.net.URI$Parser.ipv6byteCount:I
            bipush 16
            if_icmpge 22
        21: .line 3473
            aload 0 /* this */
            ldc "IPv6 address too short"
            iload 1 /* start */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
        22: .line 3474
      StackMap locals:
      StackMap stack:
            iload 5 /* compressedZeros */
            ifeq 24
            aload 0 /* this */
            getfield java.net.URI$Parser.ipv6byteCount:I
            bipush 16
            if_icmpne 24
        23: .line 3475
            aload 0 /* this */
            ldc "Malformed IPv6 address"
            iload 1 /* start */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
        24: .line 3477
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            ireturn
        end local 5 // boolean compressedZeros
        end local 4 // int q
        end local 3 // int p
        end local 2 // int n
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   25     0             this  Ljava/net/URI$Parser;
            0   25     1            start  I
            0   25     2                n  I
            1   25     3                p  I
            3   25     4                q  I
            2   25     5  compressedZeros  Z
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
       Name  Flags
      start  
      n      

  private int scanHexPost(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int n
         0: .line 3483
            iload 1 /* start */
            istore 3 /* p */
        start local 3 // int p
         1: .line 3486
            iload 3 /* p */
            iload 2 /* n */
            if_icmpne 3
         2: .line 3487
            iload 3 /* p */
            ireturn
         3: .line 3489
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            invokevirtual java.net.URI$Parser.scanHexSeq:(II)I
            istore 4 /* q */
        start local 4 // int q
         4: .line 3490
            iload 4 /* q */
            iload 3 /* p */
            if_icmple 11
         5: .line 3491
            iload 4 /* q */
            istore 3 /* p */
         6: .line 3492
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            bipush 58
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 13
         7: .line 3493
            iinc 3 /* p */ 1
         8: .line 3494
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            ldc "hex digits or IPv4 address"
            invokevirtual java.net.URI$Parser.takeIPv4Address:(IILjava/lang/String;)I
            istore 3 /* p */
         9: .line 3495
            aload 0 /* this */
            dup
            getfield java.net.URI$Parser.ipv6byteCount:I
            iconst_4
            iadd
            putfield java.net.URI$Parser.ipv6byteCount:I
        10: .line 3497
            goto 13
        11: .line 3498
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            ldc "hex digits or IPv4 address"
            invokevirtual java.net.URI$Parser.takeIPv4Address:(IILjava/lang/String;)I
            istore 3 /* p */
        12: .line 3499
            aload 0 /* this */
            dup
            getfield java.net.URI$Parser.ipv6byteCount:I
            iconst_4
            iadd
            putfield java.net.URI$Parser.ipv6byteCount:I
        13: .line 3501
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            ireturn
        end local 4 // int q
        end local 3 // int p
        end local 2 // int n
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   14     0   this  Ljava/net/URI$Parser;
            0   14     1  start  I
            0   14     2      n  I
            1   14     3      p  I
            4   14     4      q  I
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
       Name  Flags
      start  
      n      

  private int scanHexSeq(int, int);
    descriptor: (II)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=5, args_size=3
        start local 0 // java.net.URI$Parser this
        start local 1 // int start
        start local 2 // int n
         0: .line 3509
            iload 1 /* start */
            istore 3 /* p */
        start local 3 // int p
         1: .line 3512
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            getstatic java.net.URI.L_HEX:J
            getstatic java.net.URI.H_HEX:J
            invokevirtual java.net.URI$Parser.scan:(IIJJ)I
            istore 4 /* q */
        start local 4 // int q
         2: .line 3513
            iload 4 /* q */
            iload 3 /* p */
            if_icmpgt 4
         3: .line 3514
            iconst_m1
            ireturn
         4: .line 3515
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* q */
            iload 2 /* n */
            bipush 46
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 6
         5: .line 3516
            iconst_m1
            ireturn
         6: .line 3517
      StackMap locals:
      StackMap stack:
            iload 4 /* q */
            iload 3 /* p */
            iconst_4
            iadd
            if_icmple 8
         7: .line 3518
            aload 0 /* this */
            ldc "IPv6 hexadecimal digit sequence too long"
            iload 3 /* p */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
         8: .line 3519
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.net.URI$Parser.ipv6byteCount:I
            iconst_2
            iadd
            putfield java.net.URI$Parser.ipv6byteCount:I
         9: .line 3520
            iload 4 /* q */
            istore 3 /* p */
        10: .line 3521
            goto 26
        11: .line 3522
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            bipush 58
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifne 13
        12: .line 3523
            goto 27
        13: .line 3524
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* p */
            iconst_1
            iadd
            iload 2 /* n */
            bipush 58
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 15
        14: .line 3525
            goto 27
        15: .line 3526
      StackMap locals:
      StackMap stack:
            iinc 3 /* p */ 1
        16: .line 3527
            aload 0 /* this */
            iload 3 /* p */
            iload 2 /* n */
            getstatic java.net.URI.L_HEX:J
            getstatic java.net.URI.H_HEX:J
            invokevirtual java.net.URI$Parser.scan:(IIJJ)I
            istore 4 /* q */
        17: .line 3528
            iload 4 /* q */
            iload 3 /* p */
            if_icmpgt 19
        18: .line 3529
            aload 0 /* this */
            ldc "digits for an IPv6 address"
            iload 3 /* p */
            invokevirtual java.net.URI$Parser.failExpecting:(Ljava/lang/String;I)V
        19: .line 3530
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* q */
            iload 2 /* n */
            bipush 46
            invokevirtual java.net.URI$Parser.at:(IIC)Z
            ifeq 22
        20: .line 3531
            iinc 3 /* p */ -1
        21: .line 3532
            goto 27
        22: .line 3534
      StackMap locals:
      StackMap stack:
            iload 4 /* q */
            iload 3 /* p */
            iconst_4
            iadd
            if_icmple 24
        23: .line 3535
            aload 0 /* this */
            ldc "IPv6 hexadecimal digit sequence too long"
            iload 3 /* p */
            invokevirtual java.net.URI$Parser.fail:(Ljava/lang/String;I)V
        24: .line 3536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield java.net.URI$Parser.ipv6byteCount:I
            iconst_2
            iadd
            putfield java.net.URI$Parser.ipv6byteCount:I
        25: .line 3537
            iload 4 /* q */
            istore 3 /* p */
        26: .line 3521
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            iload 2 /* n */
            if_icmplt 11
        27: .line 3540
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            ireturn
        end local 4 // int q
        end local 3 // int p
        end local 2 // int n
        end local 1 // int start
        end local 0 // java.net.URI$Parser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   28     0   this  Ljava/net/URI$Parser;
            0   28     1  start  I
            0   28     2      n  I
            1   28     3      p  I
            2   28     4      q  I
    Exceptions:
      throws java.net.URISyntaxException
    MethodParameters:
       Name  Flags
      start  
      n      
}
SourceFile: "URI.java"
NestHost: java.net.URI
InnerClasses:
  private Parser = java.net.URI$Parser of java.net.URI