class freemarker.core.Configurable$SettingStringParser
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: freemarker.core.Configurable$SettingStringParser
  super_class: java.lang.Object
{
  private java.lang.String text;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

  private void <init>(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable$SettingStringParser this
        start local 1 // java.lang.String text
         0: .line 3080
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 3081
            aload 0 /* this */
            aload 1 /* text */
            putfield freemarker.core.Configurable$SettingStringParser.text:Ljava/lang/String;
         2: .line 3082
            aload 0 /* this */
            iconst_0
            putfield freemarker.core.Configurable$SettingStringParser.p:I
         3: .line 3083
            aload 0 /* this */
            aload 1 /* text */
            invokevirtual java.lang.String.length:()I
            putfield freemarker.core.Configurable$SettingStringParser.ln:I
         4: .line 3084
            return
        end local 1 // java.lang.String text
        end local 0 // freemarker.core.Configurable$SettingStringParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lfreemarker/core/Configurable$SettingStringParser;
            0    5     1  text  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      text  

  java.util.ArrayList parseAsSegmentedList();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0000) 
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // freemarker.core.Configurable$SettingStringParser this
         0: .line 3087
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* segments */
        start local 1 // java.util.ArrayList segments
         1: .line 3088
            aconst_null
            astore 2 /* currentSegment */
        start local 2 // java.util.ArrayList currentSegment
         2: .line 3092
      StackMap locals: java.util.ArrayList java.util.ArrayList
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.skipWS:()C
            istore 3 /* c */
        start local 3 // char c
         3: .line 3093
            iload 3 /* c */
            bipush 32
            if_icmpne 4
            goto 24
         4: .line 3094
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.fetchStringValue:()Ljava/lang/String;
            astore 4 /* item */
        start local 4 // java.lang.String item
         5: .line 3095
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.skipWS:()C
            istore 3 /* c */
         6: .line 3097
            iload 3 /* c */
            bipush 58
            if_icmpne 10
         7: .line 3098
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* currentSegment */
         8: .line 3099
            aload 1 /* segments */
            new freemarker.core.Configurable$KeyValuePair
            dup
            aload 4 /* item */
            aload 2 /* currentSegment */
            invokespecial freemarker.core.Configurable$KeyValuePair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         9: .line 3100
            goto 16
        10: .line 3101
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* currentSegment */
            ifnonnull 15
        11: .line 3102
            new freemarker.core.ParseException
            dup
        12: .line 3103
            ldc "The very first list item must be followed by \":\" so it will be the key for the following sub-list."
        13: .line 3105
            iconst_0
            iconst_0
        14: .line 3102
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
        15: .line 3107
      StackMap locals:
      StackMap stack:
            aload 2 /* currentSegment */
            aload 4 /* item */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        16: .line 3110
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            bipush 32
            if_icmpne 17
            goto 24
        17: .line 3111
      StackMap locals:
      StackMap stack:
            iload 3 /* c */
            bipush 44
            if_icmpeq 22
            iload 3 /* c */
            bipush 58
            if_icmpeq 22
            new freemarker.core.ParseException
            dup
        18: .line 3112
            new java.lang.StringBuilder
            dup
            ldc "Expected \",\" or \":\" or the end of text but found \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 3113
            iload 3 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 3112
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 3113
            iconst_0
            iconst_0
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
        22: .line 3114
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            iconst_1
            iadd
            putfield freemarker.core.Configurable$SettingStringParser.p:I
        end local 4 // java.lang.String item
        end local 3 // char c
        23: .line 3091
            goto 2
        start local 3 // char c
        24: .line 3116
      StackMap locals:
      StackMap stack:
            aload 1 /* segments */
            areturn
        end local 3 // char c
        end local 2 // java.util.ArrayList currentSegment
        end local 1 // java.util.ArrayList segments
        end local 0 // freemarker.core.Configurable$SettingStringParser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   25     0            this  Lfreemarker/core/Configurable$SettingStringParser;
            1   25     1        segments  Ljava/util/ArrayList;
            2   25     2  currentSegment  Ljava/util/ArrayList;
            3   23     3               c  C
           24   25     3               c  C
            5   23     4            item  Ljava/lang/String;
    Exceptions:
      throws freemarker.core.ParseException

  java.util.ArrayList parseAsList();
    descriptor: ()Ljava/util/ArrayList;
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // freemarker.core.Configurable$SettingStringParser this
         0: .line 3121
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* seq */
        start local 2 // java.util.ArrayList seq
         1: .line 3123
      StackMap locals: freemarker.core.Configurable$SettingStringParser top java.util.ArrayList
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.skipWS:()C
            istore 1 /* c */
        start local 1 // char c
         2: .line 3124
            iload 1 /* c */
            bipush 32
            if_icmpne 3
            goto 13
         3: .line 3125
      StackMap locals: freemarker.core.Configurable$SettingStringParser int java.util.ArrayList
      StackMap stack:
            aload 2 /* seq */
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.fetchStringValue:()Ljava/lang/String;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         4: .line 3126
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.skipWS:()C
            istore 1 /* c */
         5: .line 3127
            iload 1 /* c */
            bipush 32
            if_icmpne 6
            goto 13
         6: .line 3128
      StackMap locals:
      StackMap stack:
            iload 1 /* c */
            bipush 44
            if_icmpeq 11
            new freemarker.core.ParseException
            dup
         7: .line 3129
            new java.lang.StringBuilder
            dup
            ldc "Expected \",\" or the end of text but found \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 3130
            iload 1 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 3129
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 3130
            iconst_0
            iconst_0
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
        11: .line 3131
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            iconst_1
            iadd
            putfield freemarker.core.Configurable$SettingStringParser.p:I
        end local 1 // char c
        12: .line 3122
            goto 1
        start local 1 // char c
        13: .line 3133
      StackMap locals:
      StackMap stack:
            aload 2 /* seq */
            areturn
        end local 2 // java.util.ArrayList seq
        end local 1 // char c
        end local 0 // freemarker.core.Configurable$SettingStringParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lfreemarker/core/Configurable$SettingStringParser;
            2   12     1     c  C
           13   14     1     c  C
            1   14     2   seq  Ljava/util/ArrayList;
    Exceptions:
      throws freemarker.core.ParseException

  java.util.HashMap parseAsImportList();
    descriptor: ()Ljava/util/HashMap;
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=1
        start local 0 // freemarker.core.Configurable$SettingStringParser this
         0: .line 3138
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* map */
        start local 2 // java.util.HashMap map
         1: .line 3140
      StackMap locals: freemarker.core.Configurable$SettingStringParser top java.util.HashMap
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.skipWS:()C
            istore 1 /* c */
        start local 1 // char c
         2: .line 3141
            iload 1 /* c */
            bipush 32
            if_icmpne 3
            goto 24
         3: .line 3142
      StackMap locals: freemarker.core.Configurable$SettingStringParser int java.util.HashMap
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.fetchStringValue:()Ljava/lang/String;
            astore 3 /* lib */
        start local 3 // java.lang.String lib
         4: .line 3144
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.skipWS:()C
            istore 1 /* c */
         5: .line 3145
            iload 1 /* c */
            bipush 32
            if_icmpne 7
            new freemarker.core.ParseException
            dup
         6: .line 3146
            ldc "Unexpected end of text: expected \"as\""
            iconst_0
            iconst_0
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
         7: .line 3147
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.fetchKeyword:()Ljava/lang/String;
            astore 4 /* s */
        start local 4 // java.lang.String s
         8: .line 3148
            aload 4 /* s */
            ldc "as"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 10
            new freemarker.core.ParseException
            dup
         9: .line 3149
            new java.lang.StringBuilder
            dup
            ldc "Expected \"as\", but found "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* s */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            iconst_0
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
        10: .line 3151
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.skipWS:()C
            istore 1 /* c */
        11: .line 3152
            iload 1 /* c */
            bipush 32
            if_icmpne 13
            new freemarker.core.ParseException
            dup
        12: .line 3153
            ldc "Unexpected end of text: expected gate hash name"
            iconst_0
            iconst_0
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
        13: .line 3154
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.fetchStringValue:()Ljava/lang/String;
            astore 5 /* ns */
        start local 5 // java.lang.String ns
        14: .line 3156
            aload 2 /* map */
            aload 5 /* ns */
            aload 3 /* lib */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 3158
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.skipWS:()C
            istore 1 /* c */
        16: .line 3159
            iload 1 /* c */
            bipush 32
            if_icmpne 17
            goto 24
        17: .line 3160
      StackMap locals: java.lang.String
      StackMap stack:
            iload 1 /* c */
            bipush 44
            if_icmpeq 22
            new freemarker.core.ParseException
            dup
        18: .line 3161
            new java.lang.StringBuilder
            dup
            ldc "Expected \",\" or the end of text but found \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 3162
            iload 1 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 3161
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        21: .line 3162
            iconst_0
            iconst_0
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
        22: .line 3163
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            iconst_1
            iadd
            putfield freemarker.core.Configurable$SettingStringParser.p:I
        end local 5 // java.lang.String ns
        end local 4 // java.lang.String s
        end local 3 // java.lang.String lib
        end local 1 // char c
        23: .line 3139
            goto 1
        start local 1 // char c
        24: .line 3165
      StackMap locals:
      StackMap stack:
            aload 2 /* map */
            areturn
        end local 2 // java.util.HashMap map
        end local 1 // char c
        end local 0 // freemarker.core.Configurable$SettingStringParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   25     0  this  Lfreemarker/core/Configurable$SettingStringParser;
            2   23     1     c  C
           24   25     1     c  C
            1   25     2   map  Ljava/util/HashMap;
            4   23     3   lib  Ljava/lang/String;
            8   23     4     s  Ljava/lang/String;
           14   23     5    ns  Ljava/lang/String;
    Exceptions:
      throws freemarker.core.ParseException

  java.lang.String fetchStringValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // freemarker.core.Configurable$SettingStringParser this
         0: .line 3169
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.fetchWord:()Ljava/lang/String;
            astore 1 /* w */
        start local 1 // java.lang.String w
         1: .line 3170
            aload 1 /* w */
            ldc "'"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
            aload 1 /* w */
            ldc "\""
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 3171
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* w */
            iconst_1
            aload 1 /* w */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* w */
         3: .line 3173
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            invokestatic freemarker.template.utility.StringUtil.FTLStringLiteralDec:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String w
        end local 0 // freemarker.core.Configurable$SettingStringParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/core/Configurable$SettingStringParser;
            1    4     1     w  Ljava/lang/String;
    Exceptions:
      throws freemarker.core.ParseException

  java.lang.String fetchKeyword();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // freemarker.core.Configurable$SettingStringParser this
         0: .line 3177
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable$SettingStringParser.fetchWord:()Ljava/lang/String;
            astore 1 /* w */
        start local 1 // java.lang.String w
         1: .line 3178
            aload 1 /* w */
            ldc "'"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 2
            aload 1 /* w */
            ldc "\""
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 5
         2: .line 3179
      StackMap locals: java.lang.String
      StackMap stack:
            new freemarker.core.ParseException
            dup
         3: .line 3180
            new java.lang.StringBuilder
            dup
            ldc "Keyword expected, but a string value found: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* w */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            iconst_0
         4: .line 3179
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
         5: .line 3182
      StackMap locals:
      StackMap stack:
            aload 1 /* w */
            areturn
        end local 1 // java.lang.String w
        end local 0 // freemarker.core.Configurable$SettingStringParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lfreemarker/core/Configurable$SettingStringParser;
            1    6     1     w  Ljava/lang/String;
    Exceptions:
      throws freemarker.core.ParseException

  char skipWS();
    descriptor: ()C
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // freemarker.core.Configurable$SettingStringParser this
         0: .line 3187
            goto 4
         1: .line 3188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.text:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* c */
        start local 1 // char c
         2: .line 3189
            iload 1 /* c */
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 3
            iload 1 /* c */
            ireturn
         3: .line 3190
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            dup
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            iconst_1
            iadd
            putfield freemarker.core.Configurable$SettingStringParser.p:I
        end local 1 // char c
         4: .line 3187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.ln:I
            if_icmplt 1
         5: .line 3192
            bipush 32
            ireturn
        end local 0 // freemarker.core.Configurable$SettingStringParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lfreemarker/core/Configurable$SettingStringParser;
            2    4     1     c  C

  private java.lang.String fetchWord();
    descriptor: ()Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // freemarker.core.Configurable$SettingStringParser this
         0: .line 3196
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.ln:I
            if_icmpne 2
            new freemarker.core.ParseException
            dup
         1: .line 3197
            ldc "Unexpeced end of text"
            iconst_0
            iconst_0
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
         2: .line 3199
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.text:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* c */
        start local 1 // char c
         3: .line 3200
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            istore 2 /* b */
        start local 2 // int b
         4: .line 3201
            iload 1 /* c */
            bipush 39
            if_icmpeq 5
            iload 1 /* c */
            bipush 34
            if_icmpne 23
         5: .line 3202
      StackMap locals: int int
      StackMap stack:
            iconst_0
            istore 3 /* escaped */
        start local 3 // boolean escaped
         6: .line 3203
            iload 1 /* c */
            istore 4 /* q */
        start local 4 // char q
         7: .line 3204
            aload 0 /* this */
            dup
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            iconst_1
            iadd
            putfield freemarker.core.Configurable$SettingStringParser.p:I
         8: .line 3205
            goto 18
         9: .line 3206
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.text:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* c */
        10: .line 3207
            iload 3 /* escaped */
            ifne 16
        11: .line 3208
            iload 1 /* c */
            bipush 92
            if_icmpne 14
        12: .line 3209
            iconst_1
            istore 3 /* escaped */
        13: .line 3210
            goto 17
      StackMap locals:
      StackMap stack:
        14: iload 1 /* c */
            iload 4 /* q */
            if_icmpne 17
        15: .line 3211
            goto 19
        16: .line 3214
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* escaped */
        17: .line 3216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            iconst_1
            iadd
            putfield freemarker.core.Configurable$SettingStringParser.p:I
        18: .line 3205
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.ln:I
            if_icmplt 9
        19: .line 3218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.ln:I
            if_icmpne 21
        20: .line 3219
            new freemarker.core.ParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Missing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 4 /* q */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            iconst_0
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
        21: .line 3221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            iconst_1
            iadd
            putfield freemarker.core.Configurable$SettingStringParser.p:I
        22: .line 3222
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.text:Ljava/lang/String;
            iload 2 /* b */
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 4 // char q
        end local 3 // boolean escaped
        23: .line 3225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.text:Ljava/lang/String;
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            invokevirtual java.lang.String.charAt:(I)C
            istore 1 /* c */
        24: .line 3226
            iload 1 /* c */
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifne 28
        25: .line 3227
            iload 1 /* c */
            bipush 47
            if_icmpeq 28
            iload 1 /* c */
            bipush 92
            if_icmpeq 28
            iload 1 /* c */
            bipush 95
            if_icmpeq 28
        26: .line 3228
            iload 1 /* c */
            bipush 46
            if_icmpeq 28
            iload 1 /* c */
            bipush 45
            if_icmpeq 28
            iload 1 /* c */
            bipush 33
            if_icmpeq 28
        27: .line 3229
            iload 1 /* c */
            bipush 42
            if_icmpeq 28
            iload 1 /* c */
            bipush 63
            if_icmpeq 28
            goto 31
        28: .line 3230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            iconst_1
            iadd
            putfield freemarker.core.Configurable$SettingStringParser.p:I
        29: .line 3231
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.ln:I
        30: .line 3224
            if_icmplt 23
        31: .line 3232
      StackMap locals:
      StackMap stack:
            iload 2 /* b */
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            if_icmpne 33
        32: .line 3233
            new freemarker.core.ParseException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unexpected character: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* c */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iconst_0
            iconst_0
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
        33: .line 3235
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.text:Ljava/lang/String;
            iload 2 /* b */
            aload 0 /* this */
            getfield freemarker.core.Configurable$SettingStringParser.p:I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 2 // int b
        end local 1 // char c
        end local 0 // freemarker.core.Configurable$SettingStringParser this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   34     0     this  Lfreemarker/core/Configurable$SettingStringParser;
            3   34     1        c  C
            4   34     2        b  I
            6   23     3  escaped  Z
            7   23     4        q  C
    Exceptions:
      throws freemarker.core.ParseException
}
SourceFile: "Configurable.java"
NestHost: freemarker.core.Configurable
InnerClasses:
  private KeyValuePair = freemarker.core.Configurable$KeyValuePair of freemarker.core.Configurable
  private SettingStringParser = freemarker.core.Configurable$SettingStringParser of freemarker.core.Configurable