public class io.netty.handler.codec.http.QueryStringDecoder
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: io.netty.handler.codec.http.QueryStringDecoder
  super_class: java.lang.Object
{
  private static final int DEFAULT_MAX_PARAMS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1024

  private final java.nio.charset.Charset charset;
    descriptor: Ljava/nio/charset/Charset;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private final int maxParams;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

  private java.util.Map<java.lang.String, java.util.List<java.lang.String>> params;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;

  public void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
        start local 1 // java.lang.String uri
         0: .line 80
            aload 0 /* this */
            aload 1 /* uri */
            getstatic io.netty.handler.codec.http.HttpConstants.DEFAULT_CHARSET:Ljava/nio/charset/Charset;
            invokespecial io.netty.handler.codec.http.QueryStringDecoder.<init>:(Ljava/lang/String;Ljava/nio/charset/Charset;)V
         1: .line 81
            return
        end local 1 // java.lang.String uri
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/http/QueryStringDecoder;
            0    2     1   uri  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      uri   

  public void <init>(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
        start local 1 // java.lang.String uri
        start local 2 // boolean hasPath
         0: .line 88
            aload 0 /* this */
            aload 1 /* uri */
            getstatic io.netty.handler.codec.http.HttpConstants.DEFAULT_CHARSET:Ljava/nio/charset/Charset;
            iload 2 /* hasPath */
            invokespecial io.netty.handler.codec.http.QueryStringDecoder.<init>:(Ljava/lang/String;Ljava/nio/charset/Charset;Z)V
         1: .line 89
            return
        end local 2 // boolean hasPath
        end local 1 // java.lang.String uri
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/netty/handler/codec/http/QueryStringDecoder;
            0    2     1      uri  Ljava/lang/String;
            0    2     2  hasPath  Z
    MethodParameters:
         Name  Flags
      uri      
      hasPath  

  public void <init>(java.lang.String, java.nio.charset.Charset);
    descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
        start local 1 // java.lang.String uri
        start local 2 // java.nio.charset.Charset charset
         0: .line 96
            aload 0 /* this */
            aload 1 /* uri */
            aload 2 /* charset */
            iconst_1
            invokespecial io.netty.handler.codec.http.QueryStringDecoder.<init>:(Ljava/lang/String;Ljava/nio/charset/Charset;Z)V
         1: .line 97
            return
        end local 2 // java.nio.charset.Charset charset
        end local 1 // java.lang.String uri
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/netty/handler/codec/http/QueryStringDecoder;
            0    2     1      uri  Ljava/lang/String;
            0    2     2  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      uri      
      charset  

  public void <init>(java.lang.String, java.nio.charset.Charset, boolean);
    descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
        start local 1 // java.lang.String uri
        start local 2 // java.nio.charset.Charset charset
        start local 3 // boolean hasPath
         0: .line 104
            aload 0 /* this */
            aload 1 /* uri */
            aload 2 /* charset */
            iload 3 /* hasPath */
            sipush 1024
            invokespecial io.netty.handler.codec.http.QueryStringDecoder.<init>:(Ljava/lang/String;Ljava/nio/charset/Charset;ZI)V
         1: .line 105
            return
        end local 3 // boolean hasPath
        end local 2 // java.nio.charset.Charset charset
        end local 1 // java.lang.String uri
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/netty/handler/codec/http/QueryStringDecoder;
            0    2     1      uri  Ljava/lang/String;
            0    2     2  charset  Ljava/nio/charset/Charset;
            0    2     3  hasPath  Z
    MethodParameters:
         Name  Flags
      uri      
      charset  
      hasPath  

  public void <init>(java.lang.String, java.nio.charset.Charset, boolean, int);
    descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;ZI)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
        start local 1 // java.lang.String uri
        start local 2 // java.nio.charset.Charset charset
        start local 3 // boolean hasPath
        start local 4 // int maxParams
         0: .line 111
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 112
            aload 0 /* this */
            aload 1 /* uri */
            ldc "uri"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
         2: .line 113
            aload 0 /* this */
            aload 2 /* charset */
            ldc "charset"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.nio.charset.Charset
            putfield io.netty.handler.codec.http.QueryStringDecoder.charset:Ljava/nio/charset/Charset;
         3: .line 114
            aload 0 /* this */
            iload 4 /* maxParams */
            ldc "maxParams"
            invokestatic io.netty.util.internal.ObjectUtil.checkPositive:(ILjava/lang/String;)I
            putfield io.netty.handler.codec.http.QueryStringDecoder.maxParams:I
         4: .line 117
            aload 0 /* this */
            iload 3 /* hasPath */
            ifeq 5
            iconst_m1
            goto 6
      StackMap locals: io.netty.handler.codec.http.QueryStringDecoder java.lang.String java.nio.charset.Charset int int
      StackMap stack: io.netty.handler.codec.http.QueryStringDecoder
         5: iconst_0
      StackMap locals: io.netty.handler.codec.http.QueryStringDecoder java.lang.String java.nio.charset.Charset int int
      StackMap stack: io.netty.handler.codec.http.QueryStringDecoder int
         6: putfield io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:I
         7: .line 118
            return
        end local 4 // int maxParams
        end local 3 // boolean hasPath
        end local 2 // java.nio.charset.Charset charset
        end local 1 // java.lang.String uri
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Lio/netty/handler/codec/http/QueryStringDecoder;
            0    8     1        uri  Ljava/lang/String;
            0    8     2    charset  Ljava/nio/charset/Charset;
            0    8     3    hasPath  Z
            0    8     4  maxParams  I
    MethodParameters:
           Name  Flags
      uri        
      charset    
      hasPath    
      maxParams  

  public void <init>(java.net.URI);
    descriptor: (Ljava/net/URI;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
        start local 1 // java.net.URI uri
         0: .line 125
            aload 0 /* this */
            aload 1 /* uri */
            getstatic io.netty.handler.codec.http.HttpConstants.DEFAULT_CHARSET:Ljava/nio/charset/Charset;
            invokespecial io.netty.handler.codec.http.QueryStringDecoder.<init>:(Ljava/net/URI;Ljava/nio/charset/Charset;)V
         1: .line 126
            return
        end local 1 // java.net.URI uri
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/handler/codec/http/QueryStringDecoder;
            0    2     1   uri  Ljava/net/URI;
    MethodParameters:
      Name  Flags
      uri   

  public void <init>(java.net.URI, java.nio.charset.Charset);
    descriptor: (Ljava/net/URI;Ljava/nio/charset/Charset;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
        start local 1 // java.net.URI uri
        start local 2 // java.nio.charset.Charset charset
         0: .line 133
            aload 0 /* this */
            aload 1 /* uri */
            aload 2 /* charset */
            sipush 1024
            invokespecial io.netty.handler.codec.http.QueryStringDecoder.<init>:(Ljava/net/URI;Ljava/nio/charset/Charset;I)V
         1: .line 134
            return
        end local 2 // java.nio.charset.Charset charset
        end local 1 // java.net.URI uri
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lio/netty/handler/codec/http/QueryStringDecoder;
            0    2     1      uri  Ljava/net/URI;
            0    2     2  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      uri      
      charset  

  public void <init>(java.net.URI, java.nio.charset.Charset, int);
    descriptor: (Ljava/net/URI;Ljava/nio/charset/Charset;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=4
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
        start local 1 // java.net.URI uri
        start local 2 // java.nio.charset.Charset charset
        start local 3 // int maxParams
         0: .line 140
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 141
            aload 1 /* uri */
            invokevirtual java.net.URI.getRawPath:()Ljava/lang/String;
            astore 4 /* rawPath */
        start local 4 // java.lang.String rawPath
         2: .line 142
            aload 4 /* rawPath */
            ifnonnull 4
         3: .line 143
            ldc ""
            astore 4 /* rawPath */
         4: .line 145
      StackMap locals: io.netty.handler.codec.http.QueryStringDecoder java.net.URI java.nio.charset.Charset int java.lang.String
      StackMap stack:
            aload 1 /* uri */
            invokevirtual java.net.URI.getRawQuery:()Ljava/lang/String;
            astore 5 /* rawQuery */
        start local 5 // java.lang.String rawQuery
         5: .line 147
            aload 0 /* this */
            aload 5 /* rawQuery */
            ifnonnull 6
            aload 4 /* rawPath */
            goto 7
      StackMap locals: io.netty.handler.codec.http.QueryStringDecoder java.net.URI java.nio.charset.Charset int java.lang.String java.lang.String
      StackMap stack: io.netty.handler.codec.http.QueryStringDecoder
         6: new java.lang.StringBuilder
            dup
            aload 4 /* rawPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 63
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            aload 5 /* rawQuery */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals: io.netty.handler.codec.http.QueryStringDecoder java.net.URI java.nio.charset.Charset int java.lang.String java.lang.String
      StackMap stack: io.netty.handler.codec.http.QueryStringDecoder java.lang.String
         7: putfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
         8: .line 148
            aload 0 /* this */
            aload 2 /* charset */
            ldc "charset"
            invokestatic io.netty.util.internal.ObjectUtil.checkNotNull:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            checkcast java.nio.charset.Charset
            putfield io.netty.handler.codec.http.QueryStringDecoder.charset:Ljava/nio/charset/Charset;
         9: .line 149
            aload 0 /* this */
            iload 3 /* maxParams */
            ldc "maxParams"
            invokestatic io.netty.util.internal.ObjectUtil.checkPositive:(ILjava/lang/String;)I
            putfield io.netty.handler.codec.http.QueryStringDecoder.maxParams:I
        10: .line 150
            aload 0 /* this */
            aload 4 /* rawPath */
            invokevirtual java.lang.String.length:()I
            putfield io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:I
        11: .line 151
            return
        end local 5 // java.lang.String rawQuery
        end local 4 // java.lang.String rawPath
        end local 3 // int maxParams
        end local 2 // java.nio.charset.Charset charset
        end local 1 // java.net.URI uri
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       this  Lio/netty/handler/codec/http/QueryStringDecoder;
            0   12     1        uri  Ljava/net/URI;
            0   12     2    charset  Ljava/nio/charset/Charset;
            0   12     3  maxParams  I
            2   12     4    rawPath  Ljava/lang/String;
            5   12     5   rawQuery  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      uri        
      charset    
      maxParams  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
         0: .line 155
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.QueryStringDecoder.uri:()Ljava/lang/String;
            areturn
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/http/QueryStringDecoder;

  public java.lang.String uri();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
         0: .line 162
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
            areturn
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/http/QueryStringDecoder;

  public java.lang.String path();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
         0: .line 169
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.path:Ljava/lang/String;
            ifnonnull 2
         1: .line 170
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:()I
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.charset:Ljava/nio/charset/Charset;
            iconst_1
            invokestatic io.netty.handler.codec.http.QueryStringDecoder.decodeComponent:(Ljava/lang/String;IILjava/nio/charset/Charset;Z)Ljava/lang/String;
            putfield io.netty.handler.codec.http.QueryStringDecoder.path:Ljava/lang/String;
         2: .line 172
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.path:Ljava/lang/String;
            areturn
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/handler/codec/http/QueryStringDecoder;

  public java.util.Map<java.lang.String, java.util.List<java.lang.String>> parameters();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
         0: .line 179
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.params:Ljava/util/Map;
            ifnonnull 2
         1: .line 180
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:()I
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.charset:Ljava/nio/charset/Charset;
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.maxParams:I
            invokestatic io.netty.handler.codec.http.QueryStringDecoder.decodeParams:(Ljava/lang/String;ILjava/nio/charset/Charset;I)Ljava/util/Map;
            putfield io.netty.handler.codec.http.QueryStringDecoder.params:Ljava/util/Map;
         2: .line 182
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.params:Ljava/util/Map;
            areturn
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/handler/codec/http/QueryStringDecoder;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;

  public java.lang.String rawPath();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
         0: .line 189
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
            iconst_0
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lio/netty/handler/codec/http/QueryStringDecoder;

  public java.lang.String rawQuery();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
         0: .line 196
            aload 0 /* this */
            invokevirtual io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:()I
            iconst_1
            iadd
            istore 1 /* start */
        start local 1 // int start
         1: .line 197
            iload 1 /* start */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            if_icmpge 2
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
            iload 1 /* start */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 3
      StackMap locals: int
      StackMap stack:
         2: ldc ""
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 1 // int start
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lio/netty/handler/codec/http/QueryStringDecoder;
            1    4     1  start  I

  private int pathEndIdx();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // io.netty.handler.codec.http.QueryStringDecoder this
         0: .line 201
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:I
            iconst_m1
            if_icmpne 2
         1: .line 202
            aload 0 /* this */
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.uri:Ljava/lang/String;
            invokestatic io.netty.handler.codec.http.QueryStringDecoder.findPathEndIndex:(Ljava/lang/String;)I
            putfield io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:I
         2: .line 204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield io.netty.handler.codec.http.QueryStringDecoder.pathEndIdx:I
            ireturn
        end local 0 // io.netty.handler.codec.http.QueryStringDecoder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lio/netty/handler/codec/http/QueryStringDecoder;

  private static java.util.Map<java.lang.String, java.util.List<java.lang.String>> decodeParams(java.lang.String, int, java.nio.charset.Charset, int);
    descriptor: (Ljava/lang/String;ILjava/nio/charset/Charset;I)Ljava/util/Map;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=4
        start local 0 // java.lang.String s
        start local 1 // int from
        start local 2 // java.nio.charset.Charset charset
        start local 3 // int paramsLimit
         0: .line 208
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            istore 4 /* len */
        start local 4 // int len
         1: .line 209
            iload 1 /* from */
            iload 4 /* len */
            if_icmplt 3
         2: .line 210
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            areturn
         3: .line 212
      StackMap locals: int
      StackMap stack:
            aload 0 /* s */
            iload 1 /* from */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 63
            if_icmpne 5
         4: .line 213
            iinc 1 /* from */ 1
         5: .line 215
      StackMap locals:
      StackMap stack:
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 5 /* params */
        start local 5 // java.util.Map params
         6: .line 216
            iload 1 /* from */
            istore 6 /* nameStart */
        start local 6 // int nameStart
         7: .line 217
            iconst_m1
            istore 7 /* valueStart */
        start local 7 // int valueStart
         8: .line 220
            iload 1 /* from */
            istore 8 /* i */
        start local 8 // int i
         9: goto 25
        10: .line 221
      StackMap locals: java.lang.String int java.nio.charset.Charset int int java.util.Map int int int
      StackMap stack:
            aload 0 /* s */
            iload 8 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            lookupswitch { // 4
                   35: 23
                   38: 17
                   59: 17
                   61: 11
              default: 24
          }
        11: .line 223
      StackMap locals:
      StackMap stack:
            iload 6 /* nameStart */
            iload 8 /* i */
            if_icmpne 14
        12: .line 224
            iload 8 /* i */
            iconst_1
            iadd
            istore 6 /* nameStart */
        13: .line 225
            goto 24
      StackMap locals:
      StackMap stack:
        14: iload 7 /* valueStart */
            iload 6 /* nameStart */
            if_icmpge 24
        15: .line 226
            iload 8 /* i */
            iconst_1
            iadd
            istore 7 /* valueStart */
        16: .line 228
            goto 24
        17: .line 231
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 6 /* nameStart */
            iload 7 /* valueStart */
            iload 8 /* i */
            aload 5 /* params */
            aload 2 /* charset */
            invokestatic io.netty.handler.codec.http.QueryStringDecoder.addParam:(Ljava/lang/String;IIILjava/util/Map;Ljava/nio/charset/Charset;)Z
            ifeq 21
        18: .line 232
            iinc 3 /* paramsLimit */ -1
        19: .line 233
            iload 3 /* paramsLimit */
            ifne 21
        20: .line 234
            aload 5 /* params */
            areturn
        21: .line 237
      StackMap locals:
      StackMap stack:
            iload 8 /* i */
            iconst_1
            iadd
            istore 6 /* nameStart */
        22: .line 238
            goto 24
        23: .line 240
      StackMap locals:
      StackMap stack:
            goto 26
        24: .line 220
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 8 /* i */
            iload 4 /* len */
            if_icmplt 10
        26: .line 245
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 6 /* nameStart */
            iload 7 /* valueStart */
            iload 8 /* i */
            aload 5 /* params */
            aload 2 /* charset */
            invokestatic io.netty.handler.codec.http.QueryStringDecoder.addParam:(Ljava/lang/String;IIILjava/util/Map;Ljava/nio/charset/Charset;)Z
            pop
        27: .line 246
            aload 5 /* params */
            areturn
        end local 8 // int i
        end local 7 // int valueStart
        end local 6 // int nameStart
        end local 5 // java.util.Map params
        end local 4 // int len
        end local 3 // int paramsLimit
        end local 2 // java.nio.charset.Charset charset
        end local 1 // int from
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   28     0            s  Ljava/lang/String;
            0   28     1         from  I
            0   28     2      charset  Ljava/nio/charset/Charset;
            0   28     3  paramsLimit  I
            1   28     4          len  I
            6   28     5       params  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            7   28     6    nameStart  I
            8   28     7   valueStart  I
            9   28     8            i  I
    Signature: (Ljava/lang/String;ILjava/nio/charset/Charset;I)Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
    MethodParameters:
             Name  Flags
      s            
      from         
      charset      
      paramsLimit  

  private static boolean addParam(java.lang.String, int, int, int, java.util.Map<java.lang.String, java.util.List<java.lang.String>>, java.nio.charset.Charset);
    descriptor: (Ljava/lang/String;IIILjava/util/Map;Ljava/nio/charset/Charset;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=6
        start local 0 // java.lang.String s
        start local 1 // int nameStart
        start local 2 // int valueStart
        start local 3 // int valueEnd
        start local 4 // java.util.Map params
        start local 5 // java.nio.charset.Charset charset
         0: .line 251
            iload 1 /* nameStart */
            iload 3 /* valueEnd */
            if_icmplt 2
         1: .line 252
            iconst_0
            ireturn
         2: .line 254
      StackMap locals:
      StackMap stack:
            iload 2 /* valueStart */
            iload 1 /* nameStart */
            if_icmpgt 4
         3: .line 255
            iload 3 /* valueEnd */
            iconst_1
            iadd
            istore 2 /* valueStart */
         4: .line 257
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iload 1 /* nameStart */
            iload 2 /* valueStart */
            iconst_1
            isub
            aload 5 /* charset */
            iconst_0
            invokestatic io.netty.handler.codec.http.QueryStringDecoder.decodeComponent:(Ljava/lang/String;IILjava/nio/charset/Charset;Z)Ljava/lang/String;
            astore 6 /* name */
        start local 6 // java.lang.String name
         5: .line 258
            aload 0 /* s */
            iload 2 /* valueStart */
            iload 3 /* valueEnd */
            aload 5 /* charset */
            iconst_0
            invokestatic io.netty.handler.codec.http.QueryStringDecoder.decodeComponent:(Ljava/lang/String;IILjava/nio/charset/Charset;Z)Ljava/lang/String;
            astore 7 /* value */
        start local 7 // java.lang.String value
         6: .line 259
            aload 4 /* params */
            aload 6 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.List
            astore 8 /* values */
        start local 8 // java.util.List values
         7: .line 260
            aload 8 /* values */
            ifnonnull 10
         8: .line 261
            new java.util.ArrayList
            dup
            iconst_1
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 8 /* values */
         9: .line 262
            aload 4 /* params */
            aload 6 /* name */
            aload 8 /* values */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 264
      StackMap locals: java.lang.String java.lang.String java.util.List
      StackMap stack:
            aload 8 /* values */
            aload 7 /* value */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 265
            iconst_1
            ireturn
        end local 8 // java.util.List values
        end local 7 // java.lang.String value
        end local 6 // java.lang.String name
        end local 5 // java.nio.charset.Charset charset
        end local 4 // java.util.Map params
        end local 3 // int valueEnd
        end local 2 // int valueStart
        end local 1 // int nameStart
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0           s  Ljava/lang/String;
            0   12     1   nameStart  I
            0   12     2  valueStart  I
            0   12     3    valueEnd  I
            0   12     4      params  Ljava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;
            0   12     5     charset  Ljava/nio/charset/Charset;
            5   12     6        name  Ljava/lang/String;
            6   12     7       value  Ljava/lang/String;
            7   12     8      values  Ljava/util/List<Ljava/lang/String;>;
    Signature: (Ljava/lang/String;IIILjava/util/Map<Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;>;Ljava/nio/charset/Charset;)Z
    MethodParameters:
            Name  Flags
      s           
      nameStart   
      valueStart  
      valueEnd    
      params      
      charset     

  public static java.lang.String decodeComponent(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String s
         0: .line 280
            aload 0 /* s */
            getstatic io.netty.handler.codec.http.HttpConstants.DEFAULT_CHARSET:Ljava/nio/charset/Charset;
            invokestatic io.netty.handler.codec.http.QueryStringDecoder.decodeComponent:(Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     s  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      s     final

  public static java.lang.String decodeComponent(java.lang.String, java.nio.charset.Charset);
    descriptor: (Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // java.lang.String s
        start local 1 // java.nio.charset.Charset charset
         0: .line 306
            aload 0 /* s */
            ifnonnull 2
         1: .line 307
            ldc ""
            areturn
         2: .line 309
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            iconst_0
            aload 0 /* s */
            invokevirtual java.lang.String.length:()I
            aload 1 /* charset */
            iconst_0
            invokestatic io.netty.handler.codec.http.QueryStringDecoder.decodeComponent:(Ljava/lang/String;IILjava/nio/charset/Charset;Z)Ljava/lang/String;
            areturn
        end local 1 // java.nio.charset.Charset charset
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0        s  Ljava/lang/String;
            0    3     1  charset  Ljava/nio/charset/Charset;
    MethodParameters:
         Name  Flags
      s        final
      charset  final

  private static java.lang.String decodeComponent(java.lang.String, int, int, java.nio.charset.Charset, boolean);
    descriptor: (Ljava/lang/String;IILjava/nio/charset/Charset;Z)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=16, args_size=5
        start local 0 // java.lang.String s
        start local 1 // int from
        start local 2 // int toExcluded
        start local 3 // java.nio.charset.Charset charset
        start local 4 // boolean isPath
         0: .line 313
            iload 2 /* toExcluded */
            iload 1 /* from */
            isub
            istore 5 /* len */
        start local 5 // int len
         1: .line 314
            iload 5 /* len */
            ifgt 3
         2: .line 315
            ldc ""
            areturn
         3: .line 317
      StackMap locals: int
      StackMap stack:
            iconst_m1
            istore 6 /* firstEscaped */
        start local 6 // int firstEscaped
         4: .line 318
            iload 1 /* from */
            istore 7 /* i */
        start local 7 // int i
         5: goto 11
         6: .line 319
      StackMap locals: int int
      StackMap stack:
            aload 0 /* s */
            iload 7 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 8 /* c */
        start local 8 // char c
         7: .line 320
            iload 8 /* c */
            bipush 37
            if_icmpeq 8
            iload 8 /* c */
            bipush 43
            if_icmpne 10
            iload 4 /* isPath */
            ifne 10
         8: .line 321
      StackMap locals: int
      StackMap stack:
            iload 7 /* i */
            istore 6 /* firstEscaped */
         9: .line 322
            goto 12
        end local 8 // char c
        10: .line 318
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 7 /* i */
            iload 2 /* toExcluded */
            if_icmplt 6
        end local 7 // int i
        12: .line 325
      StackMap locals:
      StackMap stack:
            iload 6 /* firstEscaped */
            iconst_m1
            if_icmpne 14
        13: .line 326
            aload 0 /* s */
            iload 1 /* from */
            iload 2 /* toExcluded */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        14: .line 329
      StackMap locals:
      StackMap stack:
            aload 3 /* charset */
            invokestatic io.netty.util.CharsetUtil.decoder:(Ljava/nio/charset/Charset;)Ljava/nio/charset/CharsetDecoder;
            astore 7 /* decoder */
        start local 7 // java.nio.charset.CharsetDecoder decoder
        15: .line 332
            iload 2 /* toExcluded */
            iload 6 /* firstEscaped */
            isub
            iconst_3
            idiv
            istore 8 /* decodedCapacity */
        start local 8 // int decodedCapacity
        16: .line 333
            iload 8 /* decodedCapacity */
            invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
            astore 9 /* byteBuf */
        start local 9 // java.nio.ByteBuffer byteBuf
        17: .line 334
            iload 8 /* decodedCapacity */
            invokestatic java.nio.CharBuffer.allocate:(I)Ljava/nio/CharBuffer;
            astore 10 /* charBuf */
        start local 10 // java.nio.CharBuffer charBuf
        18: .line 336
            new java.lang.StringBuilder
            dup
            iload 5 /* len */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 11 /* strBuf */
        start local 11 // java.lang.StringBuilder strBuf
        19: .line 337
            aload 11 /* strBuf */
            aload 0 /* s */
            iload 1 /* from */
            iload 6 /* firstEscaped */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/CharSequence;II)Ljava/lang/StringBuilder;
            pop
        20: .line 339
            iload 6 /* firstEscaped */
            istore 12 /* i */
        start local 12 // int i
        21: goto 49
        22: .line 340
      StackMap locals: java.lang.String int int java.nio.charset.Charset int int int java.nio.charset.CharsetDecoder int java.nio.ByteBuffer java.nio.CharBuffer java.lang.StringBuilder int
      StackMap stack:
            aload 0 /* s */
            iload 12 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 13 /* c */
        start local 13 // char c
        23: .line 341
            iload 13 /* c */
            bipush 37
            if_icmpeq 29
        24: .line 342
            aload 11 /* strBuf */
            iload 13 /* c */
            bipush 43
            if_icmpne 25
            iload 4 /* isPath */
            ifeq 26
      StackMap locals: java.lang.String int int java.nio.charset.Charset int int int java.nio.charset.CharsetDecoder int java.nio.ByteBuffer java.nio.CharBuffer java.lang.StringBuilder int int
      StackMap stack: java.lang.StringBuilder
        25: iload 13 /* c */
            goto 27
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        26: bipush 32
      StackMap locals: java.lang.String int int java.nio.charset.Charset int int int java.nio.charset.CharsetDecoder int java.nio.ByteBuffer java.nio.CharBuffer java.lang.StringBuilder int int
      StackMap stack: java.lang.StringBuilder int
        27: invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        28: .line 343
            goto 48
        29: .line 346
      StackMap locals:
      StackMap stack:
            aload 9 /* byteBuf */
            invokevirtual java.nio.ByteBuffer.clear:()Ljava/nio/Buffer;
            pop
        30: .line 348
      StackMap locals:
      StackMap stack:
            iload 12 /* i */
            iconst_3
            iadd
            iload 2 /* toExcluded */
            if_icmple 32
        31: .line 349
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "unterminated escape sequence at index "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 12 /* i */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " of: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* s */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 351
      StackMap locals:
      StackMap stack:
            aload 9 /* byteBuf */
            aload 0 /* s */
            iload 12 /* i */
            iconst_1
            iadd
            invokestatic io.netty.util.internal.StringUtil.decodeHexByte:(Ljava/lang/CharSequence;I)B
            invokevirtual java.nio.ByteBuffer.put:(B)Ljava/nio/ByteBuffer;
            pop
        33: .line 352
            iinc 12 /* i */ 3
        34: .line 353
            iload 12 /* i */
            iload 2 /* toExcluded */
            if_icmpge 35
            aload 0 /* s */
            iload 12 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            bipush 37
            if_icmpeq 30
        35: .line 354
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ -1
        36: .line 356
            aload 9 /* byteBuf */
            invokevirtual java.nio.ByteBuffer.flip:()Ljava/nio/Buffer;
            pop
        37: .line 357
            aload 10 /* charBuf */
            invokevirtual java.nio.CharBuffer.clear:()Ljava/nio/Buffer;
            pop
        38: .line 358
            aload 7 /* decoder */
            invokevirtual java.nio.charset.CharsetDecoder.reset:()Ljava/nio/charset/CharsetDecoder;
            aload 9 /* byteBuf */
            aload 10 /* charBuf */
            iconst_1
            invokevirtual java.nio.charset.CharsetDecoder.decode:(Ljava/nio/ByteBuffer;Ljava/nio/CharBuffer;Z)Ljava/nio/charset/CoderResult;
            astore 14 /* result */
        start local 14 // java.nio.charset.CoderResult result
        39: .line 360
            aload 14 /* result */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 41
        40: .line 361
            aload 14 /* result */
            invokevirtual java.nio.charset.CoderResult.throwException:()V
        41: .line 363
      StackMap locals: java.nio.charset.CoderResult
      StackMap stack:
            aload 7 /* decoder */
            aload 10 /* charBuf */
            invokevirtual java.nio.charset.CharsetDecoder.flush:(Ljava/nio/CharBuffer;)Ljava/nio/charset/CoderResult;
            astore 14 /* result */
        42: .line 364
            aload 14 /* result */
            invokevirtual java.nio.charset.CoderResult.isUnderflow:()Z
            ifne 47
        43: .line 365
            aload 14 /* result */
            invokevirtual java.nio.charset.CoderResult.throwException:()V
        44: .line 367
            goto 47
      StackMap locals:
      StackMap stack: java.nio.charset.CharacterCodingException
        45: astore 15 /* ex */
        start local 15 // java.nio.charset.CharacterCodingException ex
        46: .line 368
            new java.lang.IllegalStateException
            dup
            aload 15 /* ex */
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 15 // java.nio.charset.CharacterCodingException ex
        47: .line 370
      StackMap locals:
      StackMap stack:
            aload 11 /* strBuf */
            aload 10 /* charBuf */
            invokevirtual java.nio.CharBuffer.flip:()Ljava/nio/Buffer;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            pop
        end local 14 // java.nio.charset.CoderResult result
        end local 13 // char c
        48: .line 339
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        49: iload 12 /* i */
            iload 2 /* toExcluded */
            if_icmplt 22
        end local 12 // int i
        50: .line 372
            aload 11 /* strBuf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 11 // java.lang.StringBuilder strBuf
        end local 10 // java.nio.CharBuffer charBuf
        end local 9 // java.nio.ByteBuffer byteBuf
        end local 8 // int decodedCapacity
        end local 7 // java.nio.charset.CharsetDecoder decoder
        end local 6 // int firstEscaped
        end local 5 // int len
        end local 4 // boolean isPath
        end local 3 // java.nio.charset.Charset charset
        end local 2 // int toExcluded
        end local 1 // int from
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   51     0                s  Ljava/lang/String;
            0   51     1             from  I
            0   51     2       toExcluded  I
            0   51     3          charset  Ljava/nio/charset/Charset;
            0   51     4           isPath  Z
            1   51     5              len  I
            4   51     6     firstEscaped  I
            5   12     7                i  I
            7   10     8                c  C
           15   51     7          decoder  Ljava/nio/charset/CharsetDecoder;
           16   51     8  decodedCapacity  I
           17   51     9          byteBuf  Ljava/nio/ByteBuffer;
           18   51    10          charBuf  Ljava/nio/CharBuffer;
           19   51    11           strBuf  Ljava/lang/StringBuilder;
           21   50    12                i  I
           23   48    13                c  C
           39   48    14           result  Ljava/nio/charset/CoderResult;
           46   47    15               ex  Ljava/nio/charset/CharacterCodingException;
      Exception table:
        from    to  target  type
          39    44      45  Class java.nio.charset.CharacterCodingException
    MethodParameters:
            Name  Flags
      s           
      from        
      toExcluded  
      charset     
      isPath      

  private static int findPathEndIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // java.lang.String uri
         0: .line 376
            aload 0 /* uri */
            invokevirtual java.lang.String.length:()I
            istore 1 /* len */
        start local 1 // int len
         1: .line 377
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 7
         3: .line 378
      StackMap locals: int int
      StackMap stack:
            aload 0 /* uri */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* c */
        start local 3 // char c
         4: .line 379
            iload 3 /* c */
            bipush 63
            if_icmpeq 5
            iload 3 /* c */
            bipush 35
            if_icmpne 6
         5: .line 380
      StackMap locals: int
      StackMap stack:
            iload 2 /* i */
            ireturn
        end local 3 // char c
         6: .line 377
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 2 /* i */
            iload 1 /* len */
            if_icmplt 3
        end local 2 // int i
         8: .line 383
            iload 1 /* len */
            ireturn
        end local 1 // int len
        end local 0 // java.lang.String uri
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0   uri  Ljava/lang/String;
            1    9     1   len  I
            2    8     2     i  I
            4    6     3     c  C
    MethodParameters:
      Name  Flags
      uri   
}
SourceFile: "QueryStringDecoder.java"