public class freemarker.core._CoreAPI
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: freemarker.core._CoreAPI
  super_class: java.lang.Object
{
  public static final java.lang.String ERROR_MESSAGE_HR;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "----"

  public static final java.util.Set<java.lang.String> ALL_BUILT_IN_DIRECTIVE_NAMES;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> LEGACY_BUILT_IN_DIRECTIVE_NAMES;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  public static final java.util.Set<java.lang.String> CAMEL_CASE_BUILT_IN_DIRECTIVE_NAMES;
    descriptor: Ljava/util/Set;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=0
         0: .line 69
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 0 /* allNames */
        start local 0 // java.util.Set allNames
         1: .line 70
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 1 /* lcNames */
        start local 1 // java.util.Set lcNames
         2: .line 71
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 2 /* ccNames */
        start local 2 // java.util.Set ccNames
         3: .line 73
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "assign"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
         4: .line 74
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "attempt"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
         5: .line 75
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "autoesc"
            ldc "autoEsc"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;)V
         6: .line 76
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "break"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
         7: .line 77
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "call"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
         8: .line 78
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "case"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
         9: .line 79
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "comment"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        10: .line 80
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "compress"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        11: .line 81
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "continue"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        12: .line 82
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "default"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        13: .line 83
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "else"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        14: .line 84
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "elseif"
            ldc "elseIf"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;)V
        15: .line 85
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "escape"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        16: .line 86
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "fallback"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        17: .line 87
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "flush"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        18: .line 88
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "foreach"
            ldc "forEach"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;)V
        19: .line 89
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "ftl"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        20: .line 90
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "function"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        21: .line 91
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "global"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        22: .line 92
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "if"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        23: .line 93
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "import"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        24: .line 94
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "include"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        25: .line 95
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "items"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        26: .line 96
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "list"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        27: .line 97
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "local"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        28: .line 98
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "lt"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        29: .line 99
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "macro"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        30: .line 100
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "nested"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        31: .line 101
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "noautoesc"
            ldc "noAutoEsc"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;)V
        32: .line 102
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "noescape"
            ldc "noEscape"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;)V
        33: .line 103
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "noparse"
            ldc "noParse"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;)V
        34: .line 104
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "nt"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        35: .line 105
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "outputformat"
            ldc "outputFormat"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;)V
        36: .line 106
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "recover"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        37: .line 107
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "recurse"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        38: .line 108
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "return"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        39: .line 109
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "rt"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        40: .line 110
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "sep"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        41: .line 111
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "setting"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        42: .line 112
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "stop"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        43: .line 113
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "switch"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        44: .line 114
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "t"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        45: .line 115
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "transform"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        46: .line 116
            aload 0 /* allNames */
            aload 1 /* lcNames */
            aload 2 /* ccNames */
            ldc "visit"
            invokestatic freemarker.core._CoreAPI.addName:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
        47: .line 118
            aload 0 /* allNames */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            putstatic freemarker.core._CoreAPI.ALL_BUILT_IN_DIRECTIVE_NAMES:Ljava/util/Set;
        48: .line 119
            aload 1 /* lcNames */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            putstatic freemarker.core._CoreAPI.LEGACY_BUILT_IN_DIRECTIVE_NAMES:Ljava/util/Set;
        49: .line 120
            aload 2 /* ccNames */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            putstatic freemarker.core._CoreAPI.CAMEL_CASE_BUILT_IN_DIRECTIVE_NAMES:Ljava/util/Set;
        end local 2 // java.util.Set ccNames
        end local 1 // java.util.Set lcNames
        end local 0 // java.util.Set allNames
        50: .line 121
            return
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1   50     0  allNames  Ljava/util/Set<Ljava/lang/String;>;
            2   50     1   lcNames  Ljava/util/Set<Ljava/lang/String;>;
            3   50     2   ccNames  Ljava/util/Set<Ljava/lang/String;>;

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core._CoreAPI this
         0: .line 48
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // freemarker.core._CoreAPI this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/_CoreAPI;

  private static void addName(java.util.Set<java.lang.String>, java.util.Set<java.lang.String>, java.util.Set<java.lang.String>, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // java.util.Set allNames
        start local 1 // java.util.Set lcNames
        start local 2 // java.util.Set ccNames
        start local 3 // java.lang.String commonName
         0: .line 52
            aload 0 /* allNames */
            aload 3 /* commonName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 53
            aload 1 /* lcNames */
            aload 3 /* commonName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 54
            aload 2 /* ccNames */
            aload 3 /* commonName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 55
            return
        end local 3 // java.lang.String commonName
        end local 2 // java.util.Set ccNames
        end local 1 // java.util.Set lcNames
        end local 0 // java.util.Set allNames
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0    allNames  Ljava/util/Set<Ljava/lang/String;>;
            0    4     1     lcNames  Ljava/util/Set<Ljava/lang/String;>;
            0    4     2     ccNames  Ljava/util/Set<Ljava/lang/String;>;
            0    4     3  commonName  Ljava/lang/String;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;Ljava/util/Set<Ljava/lang/String;>;Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/String;)V
    MethodParameters:
            Name  Flags
      allNames    
      lcNames     
      ccNames     
      commonName  

  private static void addName(java.util.Set<java.lang.String>, java.util.Set<java.lang.String>, java.util.Set<java.lang.String>, java.lang.String, java.lang.String);
    descriptor: (Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=5
        start local 0 // java.util.Set allNames
        start local 1 // java.util.Set lcNames
        start local 2 // java.util.Set ccNames
        start local 3 // java.lang.String lcName
        start local 4 // java.lang.String ccName
         0: .line 59
            aload 0 /* allNames */
            aload 3 /* lcName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         1: .line 60
            aload 0 /* allNames */
            aload 4 /* ccName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         2: .line 61
            aload 1 /* lcNames */
            aload 3 /* lcName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 62
            aload 2 /* ccNames */
            aload 4 /* ccName */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 63
            return
        end local 4 // java.lang.String ccName
        end local 3 // java.lang.String lcName
        end local 2 // java.util.Set ccNames
        end local 1 // java.util.Set lcNames
        end local 0 // java.util.Set allNames
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  allNames  Ljava/util/Set<Ljava/lang/String;>;
            0    5     1   lcNames  Ljava/util/Set<Ljava/lang/String;>;
            0    5     2   ccNames  Ljava/util/Set<Ljava/lang/String;>;
            0    5     3    lcName  Ljava/lang/String;
            0    5     4    ccName  Ljava/lang/String;
    Signature: (Ljava/util/Set<Ljava/lang/String;>;Ljava/util/Set<Ljava/lang/String;>;Ljava/util/Set<Ljava/lang/String;>;Ljava/lang/String;Ljava/lang/String;)V
    MethodParameters:
          Name  Flags
      allNames  
      lcNames   
      ccNames   
      lcName    
      ccName    

  public static java.util.Set<java.lang.String> getSupportedBuiltInNames(int);
    descriptor: (I)Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // int namingConvention
         0: .line 135
            iload 0 /* namingConvention */
            bipush 10
            if_icmpne 3
         1: .line 136
            getstatic freemarker.core.BuiltIn.BUILT_INS_BY_NAME:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            astore 1 /* names */
        start local 1 // java.util.Set names
         2: .line 137
            goto 10
        end local 1 // java.util.Set names
      StackMap locals:
      StackMap stack:
         3: iload 0 /* namingConvention */
            bipush 11
            if_icmpne 6
         4: .line 138
            getstatic freemarker.core.BuiltIn.SNAKE_CASE_NAMES:Ljava/util/Set;
            astore 1 /* names */
        start local 1 // java.util.Set names
         5: .line 139
            goto 10
        end local 1 // java.util.Set names
      StackMap locals:
      StackMap stack:
         6: iload 0 /* namingConvention */
            bipush 12
            if_icmpne 9
         7: .line 140
            getstatic freemarker.core.BuiltIn.CAMEL_CASE_NAMES:Ljava/util/Set;
            astore 1 /* names */
        start local 1 // java.util.Set names
         8: .line 141
            goto 10
        end local 1 // java.util.Set names
         9: .line 142
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported naming convention constant: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 0 /* namingConvention */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        start local 1 // java.util.Set names
        10: .line 144
      StackMap locals: java.util.Set
      StackMap stack:
            aload 1 /* names */
            invokestatic java.util.Collections.unmodifiableSet:(Ljava/util/Set;)Ljava/util/Set;
            areturn
        end local 1 // java.util.Set names
        end local 0 // int namingConvention
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0  namingConvention  I
            2    3     1             names  Ljava/util/Set<Ljava/lang/String;>;
            5    6     1             names  Ljava/util/Set<Ljava/lang/String;>;
            8    9     1             names  Ljava/util/Set<Ljava/lang/String;>;
           10   11     1             names  Ljava/util/Set<Ljava/lang/String;>;
    Signature: (I)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
                  Name  Flags
      namingConvention  

  public static void appendInstructionStackItem(freemarker.core.TemplateElement, java.lang.StringBuilder);
    descriptor: (Lfreemarker/core/TemplateElement;Ljava/lang/StringBuilder;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.TemplateElement stackEl
        start local 1 // java.lang.StringBuilder sb
         0: .line 148
            aload 0 /* stackEl */
            aload 1 /* sb */
            invokestatic freemarker.core.Environment.appendInstructionStackItem:(Lfreemarker/core/TemplateElement;Ljava/lang/StringBuilder;)V
         1: .line 149
            return
        end local 1 // java.lang.StringBuilder sb
        end local 0 // freemarker.core.TemplateElement stackEl
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  stackEl  Lfreemarker/core/TemplateElement;
            0    2     1       sb  Ljava/lang/StringBuilder;
    MethodParameters:
         Name  Flags
      stackEl  
      sb       

  public static freemarker.core.TemplateElement[] getInstructionStackSnapshot(freemarker.core.Environment);
    descriptor: (Lfreemarker/core/Environment;)[Lfreemarker/core/TemplateElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Environment env
         0: .line 152
            aload 0 /* env */
            invokevirtual freemarker.core.Environment.getInstructionStackSnapshot:()[Lfreemarker/core/TemplateElement;
            areturn
        end local 0 // freemarker.core.Environment env
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   env  Lfreemarker/core/Environment;
    MethodParameters:
      Name  Flags
      env   

  public static void outputInstructionStack(freemarker.core.TemplateElement[], boolean, java.io.Writer);
    descriptor: ([Lfreemarker/core/TemplateElement;ZLjava/io/Writer;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // freemarker.core.TemplateElement[] instructionStackSnapshot
        start local 1 // boolean terseMode
        start local 2 // java.io.Writer pw
         0: .line 157
            aload 0 /* instructionStackSnapshot */
            iload 1 /* terseMode */
            aload 2 /* pw */
            invokestatic freemarker.core.Environment.outputInstructionStack:([Lfreemarker/core/TemplateElement;ZLjava/io/Writer;)V
         1: .line 158
            return
        end local 2 // java.io.Writer pw
        end local 1 // boolean terseMode
        end local 0 // freemarker.core.TemplateElement[] instructionStackSnapshot
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    2     0  instructionStackSnapshot  [Lfreemarker/core/TemplateElement;
            0    2     1                 terseMode  Z
            0    2     2                        pw  Ljava/io/Writer;
    MethodParameters:
                          Name  Flags
      instructionStackSnapshot  
      terseMode                 
      pw                        

  public static final void addThreadInterruptedChecks(freemarker.template.Template);
    descriptor: (Lfreemarker/template/Template;)V
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // freemarker.template.Template template
         0: .line 166
            new freemarker.core.ThreadInterruptionSupportTemplatePostProcessor
            dup
            invokespecial freemarker.core.ThreadInterruptionSupportTemplatePostProcessor.<init>:()V
            aload 0 /* template */
            invokevirtual freemarker.core.ThreadInterruptionSupportTemplatePostProcessor.postProcess:(Lfreemarker/template/Template;)V
         1: .line 167
            goto 4
      StackMap locals:
      StackMap stack: freemarker.core.TemplatePostProcessorException
         2: astore 1 /* e */
        start local 1 // freemarker.core.TemplatePostProcessorException e
         3: .line 168
            new java.lang.RuntimeException
            dup
            ldc "Template post-processing failed"
            aload 1 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // freemarker.core.TemplatePostProcessorException e
         4: .line 170
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Template template
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0  template  Lfreemarker/template/Template;
            3    4     1         e  Lfreemarker/core/TemplatePostProcessorException;
      Exception table:
        from    to  target  type
           0     1       2  Class freemarker.core.TemplatePostProcessorException
    MethodParameters:
          Name  Flags
      template  

  public static final void checkHasNoNestedContent(freemarker.template.TemplateDirectiveBody);
    descriptor: (Lfreemarker/template/TemplateDirectiveBody;)V
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.TemplateDirectiveBody body
         0: .line 174
            aload 0 /* body */
            invokestatic freemarker.core.NestedContentNotSupportedException.check:(Lfreemarker/template/TemplateDirectiveBody;)V
         1: .line 175
            return
        end local 0 // freemarker.template.TemplateDirectiveBody body
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  body  Lfreemarker/template/TemplateDirectiveBody;
    Exceptions:
      throws freemarker.core.NestedContentNotSupportedException
    MethodParameters:
      Name  Flags
      body  

  public static final void replaceText(freemarker.core.TextBlock, java.lang.String);
    descriptor: (Lfreemarker/core/TextBlock;Ljava/lang/String;)V
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.TextBlock textBlock
        start local 1 // java.lang.String text
         0: .line 178
            aload 0 /* textBlock */
            aload 1 /* text */
            invokevirtual freemarker.core.TextBlock.replaceText:(Ljava/lang/String;)V
         1: .line 179
            return
        end local 1 // java.lang.String text
        end local 0 // freemarker.core.TextBlock textBlock
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  textBlock  Lfreemarker/core/TextBlock;
            0    2     1       text  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      textBlock  
      text       

  public static void checkSettingValueItemsType(java.lang.String, java.lang.Class<?>, java.util.Collection<?>);
    descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/util/Collection;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=3
        start local 0 // java.lang.String somethingsSentenceStart
        start local 1 // java.lang.Class expectedClass
        start local 2 // java.util.Collection values
         0: .line 187
            aload 2 /* values */
            ifnonnull 1
            return
         1: .line 188
      StackMap locals:
      StackMap stack:
            aload 2 /* values */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: java.lang.String java.lang.Class java.util.Collection top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* value */
        start local 3 // java.lang.Object value
         3: .line 189
            aload 1 /* expectedClass */
            aload 3 /* value */
            invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
            ifne 8
         4: .line 190
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* somethingsSentenceStart */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " must be instances of "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 191
            aload 1 /* expectedClass */
            invokestatic freemarker.template.utility.ClassUtil.getShortClassName:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ", but one of them was a(n) "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 192
            aload 3 /* value */
            invokestatic freemarker.template.utility.ClassUtil.getShortClassNameOfObject:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 190
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.Object value
         8: .line 188
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         9: .line 195
            return
        end local 2 // java.util.Collection values
        end local 1 // java.lang.Class expectedClass
        end local 0 // java.lang.String somethingsSentenceStart
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   10     0  somethingsSentenceStart  Ljava/lang/String;
            0   10     1            expectedClass  Ljava/lang/Class<*>;
            0   10     2                   values  Ljava/util/Collection<*>;
            3    8     3                    value  Ljava/lang/Object;
    Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/util/Collection<*>;)V
    MethodParameters:
                         Name  Flags
      somethingsSentenceStart  
      expectedClass            
      values                   

  public static freemarker.template.TemplateModelException ensureIsTemplateModelException(java.lang.String, freemarker.template.TemplateException);
    descriptor: (Ljava/lang/String;Lfreemarker/template/TemplateException;)Lfreemarker/template/TemplateModelException;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // java.lang.String modelOpMsg
        start local 1 // freemarker.template.TemplateException e
         0: .line 202
            aload 1 /* e */
            instanceof freemarker.template.TemplateModelException
            ifeq 2
         1: .line 203
            aload 1 /* e */
            checkcast freemarker.template.TemplateModelException
            areturn
         2: .line 205
      StackMap locals:
      StackMap stack:
            new freemarker.core._TemplateModelException
            dup
         3: .line 206
            aload 1 /* e */
            invokestatic freemarker.template._TemplateAPI.getBlamedExpression:(Lfreemarker/template/TemplateException;)Lfreemarker/core/Expression;
            aload 1 /* e */
            invokevirtual freemarker.template.TemplateException.getCause:()Ljava/lang/Throwable;
            aload 1 /* e */
            invokevirtual freemarker.template.TemplateException.getEnvironment:()Lfreemarker/core/Environment;
            aload 0 /* modelOpMsg */
         4: .line 205
            invokespecial freemarker.core._TemplateModelException.<init>:(Lfreemarker/core/Expression;Ljava/lang/Throwable;Lfreemarker/core/Environment;Ljava/lang/String;)V
            areturn
        end local 1 // freemarker.template.TemplateException e
        end local 0 // java.lang.String modelOpMsg
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0  modelOpMsg  Ljava/lang/String;
            0    5     1           e  Lfreemarker/template/TemplateException;
    MethodParameters:
            Name  Flags
      modelOpMsg  
      e           

  public static freemarker.core.TemplateElement getParentElement(freemarker.core.TemplateElement);
    descriptor: (Lfreemarker/core/TemplateElement;)Lfreemarker/core/TemplateElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.TemplateElement te
         0: .line 211
            aload 0 /* te */
            invokevirtual freemarker.core.TemplateElement.getParentElement:()Lfreemarker/core/TemplateElement;
            areturn
        end local 0 // freemarker.core.TemplateElement te
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0    te  Lfreemarker/core/TemplateElement;
    MethodParameters:
      Name  Flags
      te    

  public static freemarker.core.TemplateElement getChildElement(freemarker.core.TemplateElement, int);
    descriptor: (Lfreemarker/core/TemplateElement;I)Lfreemarker/core/TemplateElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.TemplateElement te
        start local 1 // int index
         0: .line 215
            aload 0 /* te */
            iload 1 /* index */
            invokevirtual freemarker.core.TemplateElement.getChild:(I)Lfreemarker/core/TemplateElement;
            areturn
        end local 1 // int index
        end local 0 // freemarker.core.TemplateElement te
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0     te  Lfreemarker/core/TemplateElement;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      te     
      index  

  public static void setPreventStrippings(freemarker.core.FMParser, boolean);
    descriptor: (Lfreemarker/core/FMParser;Z)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.FMParser parser
        start local 1 // boolean preventStrippings
         0: .line 219
            aload 0 /* parser */
            iload 1 /* preventStrippings */
            invokevirtual freemarker.core.FMParser.setPreventStrippings:(Z)V
         1: .line 220
            return
        end local 1 // boolean preventStrippings
        end local 0 // freemarker.core.FMParser parser
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0             parser  Lfreemarker/core/FMParser;
            0    2     1  preventStrippings  Z
    MethodParameters:
                   Name  Flags
      parser             
      preventStrippings  
}
SourceFile: "_CoreAPI.java"