public class freemarker.template.Configuration extends freemarker.core.Configurable implements java.lang.Cloneable, freemarker.core.ParserConfiguration
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: freemarker.template.Configuration
  super_class: freemarker.core.Configurable
{
  private static final freemarker.log.Logger CACHE_LOG;
    descriptor: Lfreemarker/log/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String VERSION_PROPERTIES_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "/freemarker/version.properties"

  public static final java.lang.String DEFAULT_ENCODING_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "default_encoding"

  public static final java.lang.String DEFAULT_ENCODING_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "defaultEncoding"

  public static final java.lang.String DEFAULT_ENCODING_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "default_encoding"

  public static final java.lang.String LOCALIZED_LOOKUP_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "localized_lookup"

  public static final java.lang.String LOCALIZED_LOOKUP_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "localizedLookup"

  public static final java.lang.String LOCALIZED_LOOKUP_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "localized_lookup"

  public static final java.lang.String STRICT_SYNTAX_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "strict_syntax"

  public static final java.lang.String STRICT_SYNTAX_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "strictSyntax"

  public static final java.lang.String STRICT_SYNTAX_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "strict_syntax"

  public static final java.lang.String WHITESPACE_STRIPPING_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "whitespace_stripping"

  public static final java.lang.String WHITESPACE_STRIPPING_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "whitespaceStripping"

  public static final java.lang.String WHITESPACE_STRIPPING_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "whitespace_stripping"

  public static final java.lang.String OUTPUT_FORMAT_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "output_format"

  public static final java.lang.String OUTPUT_FORMAT_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "outputFormat"

  public static final java.lang.String OUTPUT_FORMAT_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "output_format"

  public static final java.lang.String RECOGNIZE_STANDARD_FILE_EXTENSIONS_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "recognize_standard_file_extensions"

  public static final java.lang.String RECOGNIZE_STANDARD_FILE_EXTENSIONS_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "recognizeStandardFileExtensions"

  public static final java.lang.String RECOGNIZE_STANDARD_FILE_EXTENSIONS_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "recognize_standard_file_extensions"

  public static final java.lang.String REGISTERED_CUSTOM_OUTPUT_FORMATS_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "registered_custom_output_formats"

  public static final java.lang.String REGISTERED_CUSTOM_OUTPUT_FORMATS_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "registeredCustomOutputFormats"

  public static final java.lang.String REGISTERED_CUSTOM_OUTPUT_FORMATS_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "registered_custom_output_formats"

  public static final java.lang.String AUTO_ESCAPING_POLICY_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "auto_escaping_policy"

  public static final java.lang.String AUTO_ESCAPING_POLICY_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "autoEscapingPolicy"

  public static final java.lang.String AUTO_ESCAPING_POLICY_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "auto_escaping_policy"

  public static final java.lang.String CACHE_STORAGE_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "cache_storage"

  public static final java.lang.String CACHE_STORAGE_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "cacheStorage"

  public static final java.lang.String CACHE_STORAGE_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "cache_storage"

  public static final java.lang.String TEMPLATE_UPDATE_DELAY_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "template_update_delay"

  public static final java.lang.String TEMPLATE_UPDATE_DELAY_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "templateUpdateDelay"

  public static final java.lang.String TEMPLATE_UPDATE_DELAY_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "template_update_delay"

  public static final java.lang.String AUTO_IMPORT_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "auto_import"

  public static final java.lang.String AUTO_IMPORT_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "autoImport"

  public static final java.lang.String AUTO_IMPORT_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "auto_import"

  public static final java.lang.String AUTO_INCLUDE_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "auto_include"

  public static final java.lang.String AUTO_INCLUDE_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "autoInclude"

  public static final java.lang.String AUTO_INCLUDE_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "auto_include"

  public static final java.lang.String TAG_SYNTAX_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "tag_syntax"

  public static final java.lang.String TAG_SYNTAX_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "tagSyntax"

  public static final java.lang.String TAG_SYNTAX_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "tag_syntax"

  public static final java.lang.String INTERPOLATION_SYNTAX_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "interpolation_syntax"

  public static final java.lang.String INTERPOLATION_SYNTAX_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "interpolationSyntax"

  public static final java.lang.String INTERPOLATION_SYNTAX_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "interpolation_syntax"

  public static final java.lang.String NAMING_CONVENTION_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "naming_convention"

  public static final java.lang.String NAMING_CONVENTION_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "namingConvention"

  public static final java.lang.String NAMING_CONVENTION_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "naming_convention"

  public static final java.lang.String TAB_SIZE_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "tab_size"

  public static final java.lang.String TAB_SIZE_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "tabSize"

  public static final java.lang.String TAB_SIZE_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "tab_size"

  public static final java.lang.String TEMPLATE_LOADER_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "template_loader"

  public static final java.lang.String TEMPLATE_LOADER_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "templateLoader"

  public static final java.lang.String TEMPLATE_LOADER_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "template_loader"

  public static final java.lang.String TEMPLATE_LOOKUP_STRATEGY_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "template_lookup_strategy"

  public static final java.lang.String TEMPLATE_LOOKUP_STRATEGY_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "templateLookupStrategy"

  public static final java.lang.String TEMPLATE_LOOKUP_STRATEGY_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "template_lookup_strategy"

  public static final java.lang.String TEMPLATE_NAME_FORMAT_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "template_name_format"

  public static final java.lang.String TEMPLATE_NAME_FORMAT_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "templateNameFormat"

  public static final java.lang.String TEMPLATE_NAME_FORMAT_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "template_name_format"

  public static final java.lang.String TEMPLATE_CONFIGURATIONS_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "template_configurations"

  public static final java.lang.String TEMPLATE_CONFIGURATIONS_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "templateConfigurations"

  public static final java.lang.String TEMPLATE_CONFIGURATIONS_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "template_configurations"

  public static final java.lang.String INCOMPATIBLE_IMPROVEMENTS_KEY_SNAKE_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "incompatible_improvements"

  public static final java.lang.String INCOMPATIBLE_IMPROVEMENTS_KEY_CAMEL_CASE;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "incompatibleImprovements"

  public static final java.lang.String INCOMPATIBLE_IMPROVEMENTS_KEY;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "incompatible_improvements"

  public static final java.lang.String INCOMPATIBLE_IMPROVEMENTS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "incompatible_improvements"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final java.lang.String INCOMPATIBLE_ENHANCEMENTS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "incompatible_enhancements"
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private static final java.lang.String[] SETTING_NAMES_SNAKE_CASE;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String[] SETTING_NAMES_CAMEL_CASE;
    descriptor: [Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.util.Map<java.lang.String, freemarker.core.OutputFormat> STANDARD_OUTPUT_FORMATS;
    descriptor: Ljava/util/Map;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lfreemarker/core/OutputFormat;>;

  public static final int AUTO_DETECT_TAG_SYNTAX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  public static final int ANGLE_BRACKET_TAG_SYNTAX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  public static final int SQUARE_BRACKET_TAG_SYNTAX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  public static final int LEGACY_INTERPOLATION_SYNTAX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 20

  public static final int DOLLAR_INTERPOLATION_SYNTAX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 21

  public static final int SQUARE_BRACKET_INTERPOLATION_SYNTAX;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 22

  public static final int AUTO_DETECT_NAMING_CONVENTION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  public static final int LEGACY_NAMING_CONVENTION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 11

  public static final int CAMEL_CASE_NAMING_CONVENTION;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 12

  public static final int DISABLE_AUTO_ESCAPING_POLICY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 20

  public static final int ENABLE_IF_DEFAULT_AUTO_ESCAPING_POLICY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 21

  public static final int ENABLE_IF_SUPPORTED_AUTO_ESCAPING_POLICY;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: 22

  public static final freemarker.template.Version VERSION_2_3_0;
    descriptor: Lfreemarker/template/Version;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final freemarker.template.Version VERSION_2_3_19;
    descriptor: Lfreemarker/template/Version;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final freemarker.template.Version VERSION_2_3_20;
    descriptor: Lfreemarker/template/Version;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final freemarker.template.Version VERSION_2_3_21;
    descriptor: Lfreemarker/template/Version;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final freemarker.template.Version VERSION_2_3_22;
    descriptor: Lfreemarker/template/Version;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final freemarker.template.Version VERSION_2_3_23;
    descriptor: Lfreemarker/template/Version;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final freemarker.template.Version VERSION_2_3_24;
    descriptor: Lfreemarker/template/Version;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final freemarker.template.Version VERSION_2_3_25;
    descriptor: Lfreemarker/template/Version;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final freemarker.template.Version VERSION_2_3_26;
    descriptor: Lfreemarker/template/Version;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final freemarker.template.Version VERSION_2_3_27;
    descriptor: Lfreemarker/template/Version;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final freemarker.template.Version VERSION_2_3_28;
    descriptor: Lfreemarker/template/Version;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final freemarker.template.Version DEFAULT_INCOMPATIBLE_IMPROVEMENTS;
    descriptor: Lfreemarker/template/Version;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final java.lang.String DEFAULT_INCOMPATIBLE_ENHANCEMENTS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static final int PARSED_DEFAULT_INCOMPATIBLE_ENHANCEMENTS;
    descriptor: I
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  private static final java.lang.String NULL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "null"

  private static final java.lang.String DEFAULT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "default"

  private static final java.lang.String JVM_DEFAULT;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "JVM default"

  private static final freemarker.template.Version VERSION;
    descriptor: Lfreemarker/template/Version;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String FM_24_DETECTION_CLASS_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "freemarker.core._2_4_OrLaterMarker"

  private static final boolean FM_24_DETECTED;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Object defaultConfigLock;
    descriptor: Ljava/lang/Object;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static volatile freemarker.template.Configuration defaultConfig;
    descriptor: Lfreemarker/template/Configuration;
    flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE

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

  private volatile boolean localizedLookup;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

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

  private freemarker.core.OutputFormat outputFormat;
    descriptor: Lfreemarker/core/OutputFormat;
    flags: (0x0002) ACC_PRIVATE

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

  private java.lang.Boolean recognizeStandardFileExtensions;
    descriptor: Ljava/lang/Boolean;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Map<java.lang.String, ? extends freemarker.core.OutputFormat> registeredCustomOutputFormats;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;+Lfreemarker/core/OutputFormat;>;

  private freemarker.template.Version incompatibleImprovements;
    descriptor: Lfreemarker/template/Version;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

  private freemarker.cache.TemplateCache cache;
    descriptor: Lfreemarker/cache/TemplateCache;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

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

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

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

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

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

  private java.util.HashMap sharedVariables;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE

  private java.util.HashMap rewrappableSharedVariables;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE

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

  private java.util.concurrent.ConcurrentMap localeToCharsetMap;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=4, args_size=0
         0: .line 151
            ldc "freemarker.cache"
            invokestatic freemarker.log.Logger.getLogger:(Ljava/lang/String;)Lfreemarker/log/Logger;
            putstatic freemarker.template.Configuration.CACHE_LOG:Lfreemarker/log/Logger;
         1: .line 319
            bipush 19
            anewarray java.lang.String
            dup
            iconst_0
         2: .line 321
            ldc "auto_escaping_policy"
            aastore
            dup
            iconst_1
         3: .line 322
            ldc "cache_storage"
            aastore
            dup
            iconst_2
         4: .line 323
            ldc "default_encoding"
            aastore
            dup
            iconst_3
         5: .line 324
            ldc "incompatible_improvements"
            aastore
            dup
            iconst_4
         6: .line 325
            ldc "interpolation_syntax"
            aastore
            dup
            iconst_5
         7: .line 326
            ldc "localized_lookup"
            aastore
            dup
            bipush 6
         8: .line 327
            ldc "naming_convention"
            aastore
            dup
            bipush 7
         9: .line 328
            ldc "output_format"
            aastore
            dup
            bipush 8
        10: .line 329
            ldc "recognize_standard_file_extensions"
            aastore
            dup
            bipush 9
        11: .line 330
            ldc "registered_custom_output_formats"
            aastore
            dup
            bipush 10
        12: .line 331
            ldc "strict_syntax"
            aastore
            dup
            bipush 11
        13: .line 332
            ldc "tab_size"
            aastore
            dup
            bipush 12
        14: .line 333
            ldc "tag_syntax"
            aastore
            dup
            bipush 13
        15: .line 334
            ldc "template_configurations"
            aastore
            dup
            bipush 14
        16: .line 335
            ldc "template_loader"
            aastore
            dup
            bipush 15
        17: .line 336
            ldc "template_lookup_strategy"
            aastore
            dup
            bipush 16
        18: .line 337
            ldc "template_name_format"
            aastore
            dup
            bipush 17
        19: .line 338
            ldc "template_update_delay"
            aastore
            dup
            bipush 18
        20: .line 339
            ldc "whitespace_stripping"
            aastore
        21: .line 319
            putstatic freemarker.template.Configuration.SETTING_NAMES_SNAKE_CASE:[Ljava/lang/String;
        22: .line 342
            bipush 19
            anewarray java.lang.String
            dup
            iconst_0
        23: .line 344
            ldc "autoEscapingPolicy"
            aastore
            dup
            iconst_1
        24: .line 345
            ldc "cacheStorage"
            aastore
            dup
            iconst_2
        25: .line 346
            ldc "defaultEncoding"
            aastore
            dup
            iconst_3
        26: .line 347
            ldc "incompatibleImprovements"
            aastore
            dup
            iconst_4
        27: .line 348
            ldc "interpolationSyntax"
            aastore
            dup
            iconst_5
        28: .line 349
            ldc "localizedLookup"
            aastore
            dup
            bipush 6
        29: .line 350
            ldc "namingConvention"
            aastore
            dup
            bipush 7
        30: .line 351
            ldc "outputFormat"
            aastore
            dup
            bipush 8
        31: .line 352
            ldc "recognizeStandardFileExtensions"
            aastore
            dup
            bipush 9
        32: .line 353
            ldc "registeredCustomOutputFormats"
            aastore
            dup
            bipush 10
        33: .line 354
            ldc "strictSyntax"
            aastore
            dup
            bipush 11
        34: .line 355
            ldc "tabSize"
            aastore
            dup
            bipush 12
        35: .line 356
            ldc "tagSyntax"
            aastore
            dup
            bipush 13
        36: .line 357
            ldc "templateConfigurations"
            aastore
            dup
            bipush 14
        37: .line 358
            ldc "templateLoader"
            aastore
            dup
            bipush 15
        38: .line 359
            ldc "templateLookupStrategy"
            aastore
            dup
            bipush 16
        39: .line 360
            ldc "templateNameFormat"
            aastore
            dup
            bipush 17
        40: .line 361
            ldc "templateUpdateDelay"
            aastore
            dup
            bipush 18
        41: .line 362
            ldc "whitespaceStripping"
            aastore
        42: .line 342
            putstatic freemarker.template.Configuration.SETTING_NAMES_CAMEL_CASE:[Ljava/lang/String;
        43: .line 367
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic freemarker.template.Configuration.STANDARD_OUTPUT_FORMATS:Ljava/util/Map;
        44: .line 368
            getstatic freemarker.template.Configuration.STANDARD_OUTPUT_FORMATS:Ljava/util/Map;
            getstatic freemarker.core.UndefinedOutputFormat.INSTANCE:Lfreemarker/core/UndefinedOutputFormat;
            invokevirtual freemarker.core.UndefinedOutputFormat.getName:()Ljava/lang/String;
            getstatic freemarker.core.UndefinedOutputFormat.INSTANCE:Lfreemarker/core/UndefinedOutputFormat;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        45: .line 369
            getstatic freemarker.template.Configuration.STANDARD_OUTPUT_FORMATS:Ljava/util/Map;
            getstatic freemarker.core.HTMLOutputFormat.INSTANCE:Lfreemarker/core/HTMLOutputFormat;
            invokevirtual freemarker.core.HTMLOutputFormat.getName:()Ljava/lang/String;
            getstatic freemarker.core.HTMLOutputFormat.INSTANCE:Lfreemarker/core/HTMLOutputFormat;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        46: .line 370
            getstatic freemarker.template.Configuration.STANDARD_OUTPUT_FORMATS:Ljava/util/Map;
            getstatic freemarker.core.XHTMLOutputFormat.INSTANCE:Lfreemarker/core/XHTMLOutputFormat;
            invokevirtual freemarker.core.XHTMLOutputFormat.getName:()Ljava/lang/String;
            getstatic freemarker.core.XHTMLOutputFormat.INSTANCE:Lfreemarker/core/XHTMLOutputFormat;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        47: .line 371
            getstatic freemarker.template.Configuration.STANDARD_OUTPUT_FORMATS:Ljava/util/Map;
            getstatic freemarker.core.XMLOutputFormat.INSTANCE:Lfreemarker/core/XMLOutputFormat;
            invokevirtual freemarker.core.XMLOutputFormat.getName:()Ljava/lang/String;
            getstatic freemarker.core.XMLOutputFormat.INSTANCE:Lfreemarker/core/XMLOutputFormat;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        48: .line 372
            getstatic freemarker.template.Configuration.STANDARD_OUTPUT_FORMATS:Ljava/util/Map;
            getstatic freemarker.core.RTFOutputFormat.INSTANCE:Lfreemarker/core/RTFOutputFormat;
            invokevirtual freemarker.core.RTFOutputFormat.getName:()Ljava/lang/String;
            getstatic freemarker.core.RTFOutputFormat.INSTANCE:Lfreemarker/core/RTFOutputFormat;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        49: .line 373
            getstatic freemarker.template.Configuration.STANDARD_OUTPUT_FORMATS:Ljava/util/Map;
            getstatic freemarker.core.PlainTextOutputFormat.INSTANCE:Lfreemarker/core/PlainTextOutputFormat;
            invokevirtual freemarker.core.PlainTextOutputFormat.getName:()Ljava/lang/String;
            getstatic freemarker.core.PlainTextOutputFormat.INSTANCE:Lfreemarker/core/PlainTextOutputFormat;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        50: .line 374
            getstatic freemarker.template.Configuration.STANDARD_OUTPUT_FORMATS:Ljava/util/Map;
            getstatic freemarker.core.CSSOutputFormat.INSTANCE:Lfreemarker/core/CSSOutputFormat;
            invokevirtual freemarker.core.CSSOutputFormat.getName:()Ljava/lang/String;
            getstatic freemarker.core.CSSOutputFormat.INSTANCE:Lfreemarker/core/CSSOutputFormat;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        51: .line 375
            getstatic freemarker.template.Configuration.STANDARD_OUTPUT_FORMATS:Ljava/util/Map;
            getstatic freemarker.core.JavaScriptOutputFormat.INSTANCE:Lfreemarker/core/JavaScriptOutputFormat;
            invokevirtual freemarker.core.JavaScriptOutputFormat.getName:()Ljava/lang/String;
            getstatic freemarker.core.JavaScriptOutputFormat.INSTANCE:Lfreemarker/core/JavaScriptOutputFormat;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        52: .line 376
            getstatic freemarker.template.Configuration.STANDARD_OUTPUT_FORMATS:Ljava/util/Map;
            getstatic freemarker.core.JSONOutputFormat.INSTANCE:Lfreemarker/core/JSONOutputFormat;
            invokevirtual freemarker.core.JSONOutputFormat.getName:()Ljava/lang/String;
            getstatic freemarker.core.JSONOutputFormat.INSTANCE:Lfreemarker/core/JSONOutputFormat;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        53: .line 428
            new freemarker.template.Version
            dup
            iconst_2
            iconst_3
            iconst_0
            invokespecial freemarker.template.Version.<init>:(III)V
            putstatic freemarker.template.Configuration.VERSION_2_3_0:Lfreemarker/template/Version;
        54: .line 431
            new freemarker.template.Version
            dup
            iconst_2
            iconst_3
            bipush 19
            invokespecial freemarker.template.Version.<init>:(III)V
            putstatic freemarker.template.Configuration.VERSION_2_3_19:Lfreemarker/template/Version;
        55: .line 434
            new freemarker.template.Version
            dup
            iconst_2
            iconst_3
            bipush 20
            invokespecial freemarker.template.Version.<init>:(III)V
            putstatic freemarker.template.Configuration.VERSION_2_3_20:Lfreemarker/template/Version;
        56: .line 437
            new freemarker.template.Version
            dup
            iconst_2
            iconst_3
            bipush 21
            invokespecial freemarker.template.Version.<init>:(III)V
            putstatic freemarker.template.Configuration.VERSION_2_3_21:Lfreemarker/template/Version;
        57: .line 440
            new freemarker.template.Version
            dup
            iconst_2
            iconst_3
            bipush 22
            invokespecial freemarker.template.Version.<init>:(III)V
            putstatic freemarker.template.Configuration.VERSION_2_3_22:Lfreemarker/template/Version;
        58: .line 443
            new freemarker.template.Version
            dup
            iconst_2
            iconst_3
            bipush 23
            invokespecial freemarker.template.Version.<init>:(III)V
            putstatic freemarker.template.Configuration.VERSION_2_3_23:Lfreemarker/template/Version;
        59: .line 446
            new freemarker.template.Version
            dup
            iconst_2
            iconst_3
            bipush 24
            invokespecial freemarker.template.Version.<init>:(III)V
            putstatic freemarker.template.Configuration.VERSION_2_3_24:Lfreemarker/template/Version;
        60: .line 449
            new freemarker.template.Version
            dup
            iconst_2
            iconst_3
            bipush 25
            invokespecial freemarker.template.Version.<init>:(III)V
            putstatic freemarker.template.Configuration.VERSION_2_3_25:Lfreemarker/template/Version;
        61: .line 452
            new freemarker.template.Version
            dup
            iconst_2
            iconst_3
            bipush 26
            invokespecial freemarker.template.Version.<init>:(III)V
            putstatic freemarker.template.Configuration.VERSION_2_3_26:Lfreemarker/template/Version;
        62: .line 455
            new freemarker.template.Version
            dup
            iconst_2
            iconst_3
            bipush 27
            invokespecial freemarker.template.Version.<init>:(III)V
            putstatic freemarker.template.Configuration.VERSION_2_3_27:Lfreemarker/template/Version;
        63: .line 458
            new freemarker.template.Version
            dup
            iconst_2
            iconst_3
            bipush 28
            invokespecial freemarker.template.Version.<init>:(III)V
            putstatic freemarker.template.Configuration.VERSION_2_3_28:Lfreemarker/template/Version;
        64: .line 461
            getstatic freemarker.template.Configuration.VERSION_2_3_0:Lfreemarker/template/Version;
            putstatic freemarker.template.Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS:Lfreemarker/template/Version;
        65: .line 464
            getstatic freemarker.template.Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS:Lfreemarker/template/Version;
            invokevirtual freemarker.template.Version.toString:()Ljava/lang/String;
            putstatic freemarker.template.Configuration.DEFAULT_INCOMPATIBLE_ENHANCEMENTS:Ljava/lang/String;
        66: .line 467
            getstatic freemarker.template.Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS:Lfreemarker/template/Version;
            invokevirtual freemarker.template.Version.intValue:()I
            putstatic freemarker.template.Configuration.PARSED_DEFAULT_INCOMPATIBLE_ENHANCEMENTS:I
        67: .line 476
            ldc Lfreemarker/template/Configuration;
            ldc "/freemarker/version.properties"
            invokestatic freemarker.template.utility.ClassUtil.loadProperties:(Ljava/lang/Class;Ljava/lang/String;)Ljava/util/Properties;
            astore 0 /* props */
        start local 0 // java.util.Properties props
        68: .line 478
            aload 0 /* props */
            ldc "version"
            invokestatic freemarker.template.Configuration.getRequiredVersionProperty:(Ljava/util/Properties;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* versionString */
        start local 1 // java.lang.String versionString
        69: .line 482
            aload 0 /* props */
            ldc "buildTimestamp"
            invokestatic freemarker.template.Configuration.getRequiredVersionProperty:(Ljava/util/Properties;Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* buildDateStr */
        start local 3 // java.lang.String buildDateStr
        70: .line 483
            aload 3 /* buildDateStr */
            ldc "Z"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 72
        71: .line 484
            new java.lang.StringBuilder
            dup
            aload 3 /* buildDateStr */
            iconst_0
            aload 3 /* buildDateStr */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "+0000"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* buildDateStr */
        72: .line 487
      StackMap locals: java.util.Properties java.lang.String top java.lang.String
      StackMap stack:
            new java.text.SimpleDateFormat
            dup
            ldc "yyyy-MM-dd'T'HH:mm:ssZ"
            getstatic java.util.Locale.US:Ljava/util/Locale;
            invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
            aload 3 /* buildDateStr */
            invokevirtual java.text.SimpleDateFormat.parse:(Ljava/lang/String;)Ljava/util/Date;
            astore 2 /* buildDate */
        start local 2 // java.util.Date buildDate
        73: .line 488
            goto 76
        end local 2 // java.util.Date buildDate
      StackMap locals:
      StackMap stack: java.text.ParseException
        74: pop
        75: .line 489
            aconst_null
            astore 2 /* buildDate */
        end local 3 // java.lang.String buildDateStr
        start local 2 // java.util.Date buildDate
        76: .line 493
      StackMap locals: java.util.Properties java.lang.String java.util.Date
      StackMap stack:
            aload 0 /* props */
            ldc "isGAECompliant"
            invokestatic freemarker.template.Configuration.getRequiredVersionProperty:(Ljava/util/Properties;Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Boolean.valueOf:(Ljava/lang/String;)Ljava/lang/Boolean;
            astore 3 /* gaeCompliant */
        start local 3 // java.lang.Boolean gaeCompliant
        77: .line 495
            new freemarker.template.Version
            dup
            aload 1 /* versionString */
            aload 3 /* gaeCompliant */
            aload 2 /* buildDate */
            invokespecial freemarker.template.Version.<init>:(Ljava/lang/String;Ljava/lang/Boolean;Ljava/util/Date;)V
            putstatic freemarker.template.Configuration.VERSION:Lfreemarker/template/Version;
        end local 3 // java.lang.Boolean gaeCompliant
        end local 2 // java.util.Date buildDate
        end local 1 // java.lang.String versionString
        end local 0 // java.util.Properties props
        78: .line 496
            goto 81
      StackMap locals:
      StackMap stack: java.io.IOException
        79: astore 0 /* e */
        start local 0 // java.io.IOException e
        80: .line 497
            new java.lang.RuntimeException
            dup
            ldc "Failed to load and parse /freemarker/version.properties"
            aload 0 /* e */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.io.IOException e
        81: .line 506
      StackMap locals:
      StackMap stack:
            ldc "freemarker.core._2_4_OrLaterMarker"
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            pop
        82: .line 507
            iconst_1
            istore 0 /* fm24detected */
        start local 0 // boolean fm24detected
        83: .line 508
            goto 92
        end local 0 // boolean fm24detected
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        84: pop
        85: .line 509
            iconst_0
            istore 0 /* fm24detected */
        start local 0 // boolean fm24detected
        86: goto 92
        end local 0 // boolean fm24detected
        87: .line 510
      StackMap locals:
      StackMap stack: java.lang.LinkageError
            pop
        88: .line 511
            iconst_1
            istore 0 /* fm24detected */
        start local 0 // boolean fm24detected
        89: goto 92
        end local 0 // boolean fm24detected
        90: .line 512
      StackMap locals:
      StackMap stack: java.lang.Throwable
            pop
        91: .line 514
            iconst_0
            istore 0 /* fm24detected */
        start local 0 // boolean fm24detected
        92: .line 516
      StackMap locals: int
      StackMap stack:
            iload 0 /* fm24detected */
            putstatic freemarker.template.Configuration.FM_24_DETECTED:Z
        end local 0 // boolean fm24detected
        93: .line 519
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putstatic freemarker.template.Configuration.defaultConfigLock:Ljava/lang/Object;
        94: .line 521
            return
      LocalVariableTable:
        Start  End  Slot           Name  Signature
           68   78     0          props  Ljava/util/Properties;
           69   78     1  versionString  Ljava/lang/String;
           73   74     2      buildDate  Ljava/util/Date;
           76   78     2      buildDate  Ljava/util/Date;
           70   76     3   buildDateStr  Ljava/lang/String;
           77   78     3   gaeCompliant  Ljava/lang/Boolean;
           80   81     0              e  Ljava/io/IOException;
           83   84     0   fm24detected  Z
           86   87     0   fm24detected  Z
           89   90     0   fm24detected  Z
           92   93     0   fm24detected  Z
      Exception table:
        from    to  target  type
          72    73      74  Class java.text.ParseException
          67    78      79  Class java.io.IOException
          81    83      84  Class java.lang.ClassNotFoundException
          81    83      87  Class java.lang.LinkageError
          81    83      90  Class java.lang.Throwable

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 576
            aload 0 /* this */
            getstatic freemarker.template.Configuration.DEFAULT_INCOMPATIBLE_IMPROVEMENTS:Lfreemarker/template/Version;
            invokespecial freemarker.template.Configuration.<init>:(Lfreemarker/template/Version;)V
         1: .line 577
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/Configuration;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void <init>(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.template.Version incompatibleImprovements
         0: .line 923
            aload 0 /* this */
            aload 1 /* incompatibleImprovements */
            invokespecial freemarker.core.Configurable.<init>:(Lfreemarker/template/Version;)V
         1: .line 523
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.strictSyntax:Z
         2: .line 524
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.localizedLookup:Z
         3: .line 525
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.whitespaceStripping:Z
         4: .line 526
            aload 0 /* this */
            bipush 21
            putfield freemarker.template.Configuration.autoEscapingPolicy:I
         5: .line 527
            aload 0 /* this */
            getstatic freemarker.core.UndefinedOutputFormat.INSTANCE:Lfreemarker/core/UndefinedOutputFormat;
            putfield freemarker.template.Configuration.outputFormat:Lfreemarker/core/OutputFormat;
         6: .line 530
            aload 0 /* this */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            putfield freemarker.template.Configuration.registeredCustomOutputFormats:Ljava/util/Map;
         7: .line 532
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.tagSyntax:I
         8: .line 533
            aload 0 /* this */
            bipush 20
            putfield freemarker.template.Configuration.interpolationSyntax:I
         9: .line 534
            aload 0 /* this */
            bipush 10
            putfield freemarker.template.Configuration.namingConvention:I
        10: .line 535
            aload 0 /* this */
            bipush 8
            putfield freemarker.template.Configuration.tabSize:I
        11: .line 555
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield freemarker.template.Configuration.sharedVariables:Ljava/util/HashMap;
        12: .line 562
            aload 0 /* this */
            aconst_null
            putfield freemarker.template.Configuration.rewrappableSharedVariables:Ljava/util/HashMap;
        13: .line 564
            aload 0 /* this */
            invokestatic freemarker.template.Configuration.getDefaultDefaultEncoding:()Ljava/lang/String;
            putfield freemarker.template.Configuration.defaultEncoding:Ljava/lang/String;
        14: .line 565
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
        15: .line 928
            invokestatic freemarker.template.Configuration.checkFreeMarkerVersionClash:()V
        16: .line 930
            ldc "incompatibleImprovements"
            aload 1 /* incompatibleImprovements */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
        17: .line 931
            aload 0 /* this */
            aload 1 /* incompatibleImprovements */
            putfield freemarker.template.Configuration.incompatibleImprovements:Lfreemarker/template/Version;
        18: .line 933
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.createTemplateCache:()V
        19: .line 934
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.loadBuiltInSharedVariables:()V
        20: .line 935
            return
        end local 1 // freemarker.template.Version incompatibleImprovements
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   21     0                      this  Lfreemarker/template/Configuration;
            0   21     1  incompatibleImprovements  Lfreemarker/template/Version;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  private static void checkFreeMarkerVersionClash();
    descriptor: ()V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=0, args_size=0
         0: .line 938
            getstatic freemarker.template.Configuration.FM_24_DETECTED:Z
            ifeq 5
         1: .line 939
            new java.lang.RuntimeException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Clashing FreeMarker versions ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic freemarker.template.Configuration.VERSION:Lfreemarker/template/Version;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " and some post-2.3.x) detected: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 940
            ldc "found post-2.3.x class "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "freemarker.core._2_4_OrLaterMarker"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ". You probably have two different "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 941
            ldc "freemarker.jar-s in the classpath."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 939
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 943
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void createTemplateCache();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 946
            aload 0 /* this */
            new freemarker.cache.TemplateCache
            dup
         1: .line 947
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getDefaultTemplateLoader:()Lfreemarker/cache/TemplateLoader;
         2: .line 948
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getDefaultCacheStorage:()Lfreemarker/cache/CacheStorage;
         3: .line 949
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getDefaultTemplateLookupStrategy:()Lfreemarker/cache/TemplateLookupStrategy;
         4: .line 950
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getDefaultTemplateNameFormat:()Lfreemarker/cache/TemplateNameFormat;
         5: .line 951
            aconst_null
         6: .line 952
            aload 0 /* this */
            invokespecial freemarker.cache.TemplateCache.<init>:(Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/cache/TemplateLookupStrategy;Lfreemarker/cache/TemplateNameFormat;Lfreemarker/cache/TemplateConfigurationFactory;Lfreemarker/template/Configuration;)V
         7: .line 946
            putfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
         8: .line 953
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.clear:()V
         9: .line 954
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            ldc 5000
            invokevirtual freemarker.cache.TemplateCache.setDelay:(J)V
        10: .line 955
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lfreemarker/template/Configuration;

  private void recreateTemplateCacheWith(freemarker.cache.TemplateLoader, freemarker.cache.CacheStorage, freemarker.cache.TemplateLookupStrategy, freemarker.cache.TemplateNameFormat, freemarker.cache.TemplateConfigurationFactory);
    descriptor: (Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/cache/TemplateLookupStrategy;Lfreemarker/cache/TemplateNameFormat;Lfreemarker/cache/TemplateConfigurationFactory;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=7, args_size=6
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.cache.TemplateLoader loader
        start local 2 // freemarker.cache.CacheStorage storage
        start local 3 // freemarker.cache.TemplateLookupStrategy templateLookupStrategy
        start local 4 // freemarker.cache.TemplateNameFormat templateNameFormat
        start local 5 // freemarker.cache.TemplateConfigurationFactory templateConfigurations
         0: .line 961
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            astore 6 /* oldCache */
        start local 6 // freemarker.cache.TemplateCache oldCache
         1: .line 962
            aload 0 /* this */
            new freemarker.cache.TemplateCache
            dup
         2: .line 963
            aload 1 /* loader */
            aload 2 /* storage */
            aload 3 /* templateLookupStrategy */
            aload 4 /* templateNameFormat */
            aload 5 /* templateConfigurations */
            aload 0 /* this */
            invokespecial freemarker.cache.TemplateCache.<init>:(Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/cache/TemplateLookupStrategy;Lfreemarker/cache/TemplateNameFormat;Lfreemarker/cache/TemplateConfigurationFactory;Lfreemarker/template/Configuration;)V
         3: .line 962
            putfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
         4: .line 964
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.clear:()V
         5: .line 965
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            aload 6 /* oldCache */
            invokevirtual freemarker.cache.TemplateCache.getDelay:()J
            invokevirtual freemarker.cache.TemplateCache.setDelay:(J)V
         6: .line 966
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            aload 0 /* this */
            getfield freemarker.template.Configuration.localizedLookup:Z
            invokevirtual freemarker.cache.TemplateCache.setLocalizedLookup:(Z)V
         7: .line 967
            return
        end local 6 // freemarker.cache.TemplateCache oldCache
        end local 5 // freemarker.cache.TemplateConfigurationFactory templateConfigurations
        end local 4 // freemarker.cache.TemplateNameFormat templateNameFormat
        end local 3 // freemarker.cache.TemplateLookupStrategy templateLookupStrategy
        end local 2 // freemarker.cache.CacheStorage storage
        end local 1 // freemarker.cache.TemplateLoader loader
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    8     0                    this  Lfreemarker/template/Configuration;
            0    8     1                  loader  Lfreemarker/cache/TemplateLoader;
            0    8     2                 storage  Lfreemarker/cache/CacheStorage;
            0    8     3  templateLookupStrategy  Lfreemarker/cache/TemplateLookupStrategy;
            0    8     4      templateNameFormat  Lfreemarker/cache/TemplateNameFormat;
            0    8     5  templateConfigurations  Lfreemarker/cache/TemplateConfigurationFactory;
            1    8     6                oldCache  Lfreemarker/cache/TemplateCache;
    MethodParameters:
                        Name  Flags
      loader                  
      storage                 
      templateLookupStrategy  
      templateNameFormat      
      templateConfigurations  

  private void recreateTemplateCache();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 970
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLoader:()Lfreemarker/cache/TemplateLoader;
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getCacheStorage:()Lfreemarker/cache/CacheStorage;
         1: .line 971
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLookupStrategy:()Lfreemarker/cache/TemplateLookupStrategy;
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateNameFormat:()Lfreemarker/cache/TemplateNameFormat;
         2: .line 972
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getTemplateConfigurations:()Lfreemarker/cache/TemplateConfigurationFactory;
         3: .line 970
            invokevirtual freemarker.template.Configuration.recreateTemplateCacheWith:(Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/cache/TemplateLookupStrategy;Lfreemarker/cache/TemplateNameFormat;Lfreemarker/cache/TemplateConfigurationFactory;)V
         4: .line 973
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lfreemarker/template/Configuration;

  private freemarker.cache.TemplateLoader getDefaultTemplateLoader();
    descriptor: ()Lfreemarker/cache/TemplateLoader;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 976
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getTemplateLoader:()Lfreemarker/cache/TemplateLoader;
            invokestatic freemarker.template.Configuration.createDefaultTemplateLoader:(Lfreemarker/template/Version;Lfreemarker/cache/TemplateLoader;)Lfreemarker/cache/TemplateLoader;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  static freemarker.cache.TemplateLoader createDefaultTemplateLoader(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)Lfreemarker/cache/TemplateLoader;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Version incompatibleImprovements
         0: .line 980
            aload 0 /* incompatibleImprovements */
            aconst_null
            invokestatic freemarker.template.Configuration.createDefaultTemplateLoader:(Lfreemarker/template/Version;Lfreemarker/cache/TemplateLoader;)Lfreemarker/cache/TemplateLoader;
            areturn
        end local 0 // freemarker.template.Version incompatibleImprovements
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    1     0  incompatibleImprovements  Lfreemarker/template/Version;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  private static freemarker.cache.TemplateLoader createDefaultTemplateLoader(freemarker.template.Version, freemarker.cache.TemplateLoader);
    descriptor: (Lfreemarker/template/Version;Lfreemarker/cache/TemplateLoader;)Lfreemarker/cache/TemplateLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // freemarker.template.Version incompatibleImprovements
        start local 1 // freemarker.cache.TemplateLoader existingTemplateLoader
         0: .line 985
            aload 0 /* incompatibleImprovements */
            invokevirtual freemarker.template.Version.intValue:()I
            getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_21:I
            if_icmpge 10
         1: .line 986
            aload 1 /* existingTemplateLoader */
            instanceof freemarker.template.Configuration$LegacyDefaultFileTemplateLoader
            ifeq 3
         2: .line 987
            aload 1 /* existingTemplateLoader */
            areturn
         3: .line 990
      StackMap locals:
      StackMap stack:
            new freemarker.template.Configuration$LegacyDefaultFileTemplateLoader
            dup
            invokespecial freemarker.template.Configuration$LegacyDefaultFileTemplateLoader.<init>:()V
         4: areturn
         5: .line 991
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         6: .line 992
            getstatic freemarker.template.Configuration.CACHE_LOG:Lfreemarker/log/Logger;
            ldc "Couldn't create legacy default TemplateLoader which accesses the current directory. (Use new Configuration(Configuration.VERSION_2_3_21) or higher to avoid this.)"
         7: .line 993
            aload 2 /* e */
         8: .line 992
            invokevirtual freemarker.log.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
         9: .line 994
            aconst_null
            areturn
        end local 2 // java.lang.Exception e
        10: .line 997
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // freemarker.cache.TemplateLoader existingTemplateLoader
        end local 0 // freemarker.template.Version incompatibleImprovements
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   11     0  incompatibleImprovements  Lfreemarker/template/Version;
            0   11     1    existingTemplateLoader  Lfreemarker/cache/TemplateLoader;
            6   10     2                         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Exception
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  
      existingTemplateLoader    

  private freemarker.cache.TemplateLookupStrategy getDefaultTemplateLookupStrategy();
    descriptor: ()Lfreemarker/cache/TemplateLookupStrategy;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1010
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
            invokestatic freemarker.template.Configuration.getDefaultTemplateLookupStrategy:(Lfreemarker/template/Version;)Lfreemarker/cache/TemplateLookupStrategy;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  static freemarker.cache.TemplateLookupStrategy getDefaultTemplateLookupStrategy(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)Lfreemarker/cache/TemplateLookupStrategy;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Version incompatibleImprovements
         0: .line 1014
            getstatic freemarker.cache.TemplateLookupStrategy.DEFAULT_2_3_0:Lfreemarker/cache/TemplateLookupStrategy;
            areturn
        end local 0 // freemarker.template.Version incompatibleImprovements
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    1     0  incompatibleImprovements  Lfreemarker/template/Version;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  private freemarker.cache.TemplateNameFormat getDefaultTemplateNameFormat();
    descriptor: ()Lfreemarker/cache/TemplateNameFormat;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1018
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
            invokestatic freemarker.template.Configuration.getDefaultTemplateNameFormat:(Lfreemarker/template/Version;)Lfreemarker/cache/TemplateNameFormat;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  static freemarker.cache.TemplateNameFormat getDefaultTemplateNameFormat(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)Lfreemarker/cache/TemplateNameFormat;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Version incompatibleImprovements
         0: .line 1022
            getstatic freemarker.cache.TemplateNameFormat.DEFAULT_2_3_0:Lfreemarker/cache/TemplateNameFormat;
            areturn
        end local 0 // freemarker.template.Version incompatibleImprovements
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    1     0  incompatibleImprovements  Lfreemarker/template/Version;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  private freemarker.cache.CacheStorage getDefaultCacheStorage();
    descriptor: ()Lfreemarker/cache/CacheStorage;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1026
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getCacheStorage:()Lfreemarker/cache/CacheStorage;
            invokestatic freemarker.template.Configuration.createDefaultCacheStorage:(Lfreemarker/template/Version;Lfreemarker/cache/CacheStorage;)Lfreemarker/cache/CacheStorage;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  static freemarker.cache.CacheStorage createDefaultCacheStorage(freemarker.template.Version, freemarker.cache.CacheStorage);
    descriptor: (Lfreemarker/template/Version;Lfreemarker/cache/CacheStorage;)Lfreemarker/cache/CacheStorage;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Version incompatibleImprovements
        start local 1 // freemarker.cache.CacheStorage existingCacheStorage
         0: .line 1030
            aload 1 /* existingCacheStorage */
            instanceof freemarker.template.Configuration$DefaultSoftCacheStorage
            ifeq 2
         1: .line 1031
            aload 1 /* existingCacheStorage */
            areturn
         2: .line 1033
      StackMap locals:
      StackMap stack:
            new freemarker.template.Configuration$DefaultSoftCacheStorage
            dup
            invokespecial freemarker.template.Configuration$DefaultSoftCacheStorage.<init>:()V
            areturn
        end local 1 // freemarker.cache.CacheStorage existingCacheStorage
        end local 0 // freemarker.template.Version incompatibleImprovements
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    3     0  incompatibleImprovements  Lfreemarker/template/Version;
            0    3     1      existingCacheStorage  Lfreemarker/cache/CacheStorage;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  
      existingCacheStorage      

  static freemarker.cache.CacheStorage createDefaultCacheStorage(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)Lfreemarker/cache/CacheStorage;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Version incompatibleImprovements
         0: .line 1037
            aload 0 /* incompatibleImprovements */
            aconst_null
            invokestatic freemarker.template.Configuration.createDefaultCacheStorage:(Lfreemarker/template/Version;Lfreemarker/cache/CacheStorage;)Lfreemarker/cache/CacheStorage;
            areturn
        end local 0 // freemarker.template.Version incompatibleImprovements
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    1     0  incompatibleImprovements  Lfreemarker/template/Version;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  private freemarker.template.TemplateExceptionHandler getDefaultTemplateExceptionHandler();
    descriptor: ()Lfreemarker/template/TemplateExceptionHandler;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1045
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
            invokestatic freemarker.template.Configuration.getDefaultTemplateExceptionHandler:(Lfreemarker/template/Version;)Lfreemarker/template/TemplateExceptionHandler;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  private freemarker.template.AttemptExceptionReporter getDefaultAttemptExceptionReporter();
    descriptor: ()Lfreemarker/template/AttemptExceptionReporter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1049
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
            invokestatic freemarker.template.Configuration.getDefaultAttemptExceptionReporter:(Lfreemarker/template/Version;)Lfreemarker/template/AttemptExceptionReporter;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  private boolean getDefaultLogTemplateExceptions();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1053
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
            invokestatic freemarker.template.Configuration.getDefaultLogTemplateExceptions:(Lfreemarker/template/Version;)Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  private boolean getDefaultWrapUncheckedExceptions();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1057
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
            invokestatic freemarker.template.Configuration.getDefaultWrapUncheckedExceptions:(Lfreemarker/template/Version;)Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  private freemarker.template.ObjectWrapper getDefaultObjectWrapper();
    descriptor: ()Lfreemarker/template/ObjectWrapper;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1061
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
            invokestatic freemarker.template.Configuration.getDefaultObjectWrapper:(Lfreemarker/template/Version;)Lfreemarker/template/ObjectWrapper;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  static freemarker.template.TemplateExceptionHandler getDefaultTemplateExceptionHandler(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)Lfreemarker/template/TemplateExceptionHandler;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Version incompatibleImprovements
         0: .line 1066
            getstatic freemarker.template.TemplateExceptionHandler.DEBUG_HANDLER:Lfreemarker/template/TemplateExceptionHandler;
            areturn
        end local 0 // freemarker.template.Version incompatibleImprovements
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    1     0  incompatibleImprovements  Lfreemarker/template/Version;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  static freemarker.template.AttemptExceptionReporter getDefaultAttemptExceptionReporter(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)Lfreemarker/template/AttemptExceptionReporter;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Version incompatibleImprovements
         0: .line 1071
            getstatic freemarker.template.AttemptExceptionReporter.LOG_ERROR_REPORTER:Lfreemarker/template/AttemptExceptionReporter;
            areturn
        end local 0 // freemarker.template.Version incompatibleImprovements
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    1     0  incompatibleImprovements  Lfreemarker/template/Version;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  static boolean getDefaultLogTemplateExceptions(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Version incompatibleImprovements
         0: .line 1076
            iconst_1
            ireturn
        end local 0 // freemarker.template.Version incompatibleImprovements
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    1     0  incompatibleImprovements  Lfreemarker/template/Version;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  static boolean getDefaultWrapUncheckedExceptions(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Version incompatibleImprovements
         0: .line 1081
            iconst_0
            ireturn
        end local 0 // freemarker.template.Version incompatibleImprovements
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    1     0  incompatibleImprovements  Lfreemarker/template/Version;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1087
            aload 0 /* this */
            invokespecial freemarker.core.Configurable.clone:()Ljava/lang/Object;
            checkcast freemarker.template.Configuration
            astore 1 /* copy */
        start local 1 // freemarker.template.Configuration copy
         1: .line 1088
            aload 1 /* copy */
            new java.util.HashMap
            dup
            aload 0 /* this */
            getfield freemarker.template.Configuration.sharedVariables:Ljava/util/HashMap;
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            putfield freemarker.template.Configuration.sharedVariables:Ljava/util/HashMap;
         2: .line 1089
            aload 1 /* copy */
            new java.util.concurrent.ConcurrentHashMap
            dup
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(Ljava/util/Map;)V
            putfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
         3: .line 1090
            aload 1 /* copy */
         4: .line 1091
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLoader:()Lfreemarker/cache/TemplateLoader;
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getCacheStorage:()Lfreemarker/cache/CacheStorage;
         5: .line 1092
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLookupStrategy:()Lfreemarker/cache/TemplateLookupStrategy;
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateNameFormat:()Lfreemarker/cache/TemplateNameFormat;
         6: .line 1093
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateConfigurations:()Lfreemarker/cache/TemplateConfigurationFactory;
         7: .line 1090
            invokevirtual freemarker.template.Configuration.recreateTemplateCacheWith:(Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/cache/TemplateLookupStrategy;Lfreemarker/cache/TemplateNameFormat;Lfreemarker/cache/TemplateConfigurationFactory;)V
         8: .line 1094
            aload 1 /* copy */
         9: areturn
        end local 1 // freemarker.template.Configuration copy
        10: .line 1095
      StackMap locals:
      StackMap stack: java.lang.CloneNotSupportedException
            astore 1 /* e */
        start local 1 // java.lang.CloneNotSupportedException e
        11: .line 1096
            new freemarker.core.BugException
            dup
            ldc "Cloning failed"
            aload 1 /* e */
            invokespecial freemarker.core.BugException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.CloneNotSupportedException e
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Lfreemarker/template/Configuration;
            1   10     1  copy  Lfreemarker/template/Configuration;
           11   12     1     e  Ljava/lang/CloneNotSupportedException;
      Exception table:
        from    to  target  type
           0     9      10  Class java.lang.CloneNotSupportedException

  private void loadBuiltInSharedVariables();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1101
            aload 0 /* this */
            getfield freemarker.template.Configuration.sharedVariables:Ljava/util/HashMap;
            ldc "capture_output"
            new freemarker.template.utility.CaptureOutput
            dup
            invokespecial freemarker.template.utility.CaptureOutput.<init>:()V
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 1102
            aload 0 /* this */
            getfield freemarker.template.Configuration.sharedVariables:Ljava/util/HashMap;
            ldc "compress"
            getstatic freemarker.template.utility.StandardCompress.INSTANCE:Lfreemarker/template/utility/StandardCompress;
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1103
            aload 0 /* this */
            getfield freemarker.template.Configuration.sharedVariables:Ljava/util/HashMap;
            ldc "html_escape"
            new freemarker.template.utility.HtmlEscape
            dup
            invokespecial freemarker.template.utility.HtmlEscape.<init>:()V
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1104
            aload 0 /* this */
            getfield freemarker.template.Configuration.sharedVariables:Ljava/util/HashMap;
            ldc "normalize_newlines"
            new freemarker.template.utility.NormalizeNewlines
            dup
            invokespecial freemarker.template.utility.NormalizeNewlines.<init>:()V
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 1105
            aload 0 /* this */
            getfield freemarker.template.Configuration.sharedVariables:Ljava/util/HashMap;
            ldc "xml_escape"
            new freemarker.template.utility.XmlEscape
            dup
            invokespecial freemarker.template.utility.XmlEscape.<init>:()V
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1106
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lfreemarker/template/Configuration;

  public void loadBuiltInEncodingMap();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1162
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
         1: .line 1163
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "ar"
            ldc "ISO-8859-6"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 1164
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "be"
            ldc "ISO-8859-5"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1165
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "bg"
            ldc "ISO-8859-5"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 1166
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "ca"
            ldc "ISO-8859-1"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1167
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "cs"
            ldc "ISO-8859-2"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 1168
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "da"
            ldc "ISO-8859-1"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 1169
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "de"
            ldc "ISO-8859-1"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 1170
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "el"
            ldc "ISO-8859-7"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 1171
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "en"
            ldc "ISO-8859-1"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        10: .line 1172
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "es"
            ldc "ISO-8859-1"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        11: .line 1173
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "et"
            ldc "ISO-8859-1"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        12: .line 1174
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "fi"
            ldc "ISO-8859-1"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 1175
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "fr"
            ldc "ISO-8859-1"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        14: .line 1176
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "hr"
            ldc "ISO-8859-2"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 1177
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "hu"
            ldc "ISO-8859-2"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 1178
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "is"
            ldc "ISO-8859-1"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 1179
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "it"
            ldc "ISO-8859-1"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        18: .line 1180
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "iw"
            ldc "ISO-8859-8"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        19: .line 1181
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "ja"
            ldc "Shift_JIS"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        20: .line 1182
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "ko"
            ldc "EUC-KR"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 1183
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "lt"
            ldc "ISO-8859-2"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        22: .line 1184
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "lv"
            ldc "ISO-8859-2"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 1185
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "mk"
            ldc "ISO-8859-5"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        24: .line 1186
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "nl"
            ldc "ISO-8859-1"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 1187
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "no"
            ldc "ISO-8859-1"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        26: .line 1188
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "pl"
            ldc "ISO-8859-2"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        27: .line 1189
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "pt"
            ldc "ISO-8859-1"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        28: .line 1190
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "ro"
            ldc "ISO-8859-2"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 1191
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "ru"
            ldc "ISO-8859-5"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        30: .line 1192
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "sh"
            ldc "ISO-8859-5"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        31: .line 1193
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "sk"
            ldc "ISO-8859-2"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        32: .line 1194
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "sl"
            ldc "ISO-8859-2"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        33: .line 1195
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "sq"
            ldc "ISO-8859-2"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        34: .line 1196
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "sr"
            ldc "ISO-8859-5"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        35: .line 1197
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "sv"
            ldc "ISO-8859-1"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        36: .line 1198
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "tr"
            ldc "ISO-8859-9"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        37: .line 1199
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "uk"
            ldc "ISO-8859-5"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        38: .line 1200
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "zh"
            ldc "GB2312"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        39: .line 1201
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            ldc "zh_TW"
            ldc "Big5"
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        40: .line 1202
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   41     0  this  Lfreemarker/template/Configuration;

  public void clearEncodingMap();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1210
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.clear:()V
         1: .line 1211
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/Configuration;

  public static freemarker.template.Configuration getDefaultConfiguration();
    descriptor: ()Lfreemarker/template/Configuration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=0
         0: .line 1230
            getstatic freemarker.template.Configuration.defaultConfig:Lfreemarker/template/Configuration;
            astore 0 /* defaultConfig */
        start local 0 // freemarker.template.Configuration defaultConfig
         1: .line 1231
            aload 0 /* defaultConfig */
            ifnonnull 11
         2: .line 1232
            getstatic freemarker.template.Configuration.defaultConfigLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         3: .line 1233
            getstatic freemarker.template.Configuration.defaultConfig:Lfreemarker/template/Configuration;
            astore 0 /* defaultConfig */
         4: .line 1234
            aload 0 /* defaultConfig */
            ifnonnull 7
         5: .line 1235
            new freemarker.template.Configuration
            dup
            invokespecial freemarker.template.Configuration.<init>:()V
            astore 0 /* defaultConfig */
         6: .line 1236
            aload 0 /* defaultConfig */
            putstatic freemarker.template.Configuration.defaultConfig:Lfreemarker/template/Configuration;
         7: .line 1232
      StackMap locals: freemarker.template.Configuration java.lang.Object
      StackMap stack:
            aload 1
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 1
            monitorexit
        10: athrow
        11: .line 1240
      StackMap locals:
      StackMap stack:
            aload 0 /* defaultConfig */
            areturn
        end local 0 // freemarker.template.Configuration defaultConfig
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            1   12     0  defaultConfig  Lfreemarker/template/Configuration;
      Exception table:
        from    to  target  type
           3     8       9  any
           9    10       9  any
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static void setDefaultConfiguration(freemarker.template.Configuration);
    descriptor: (Lfreemarker/template/Configuration;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.template.Configuration config
         0: .line 1253
            getstatic freemarker.template.Configuration.defaultConfigLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 1254
            aload 0 /* config */
            putstatic freemarker.template.Configuration.defaultConfig:Lfreemarker/template/Configuration;
         2: .line 1253
            aload 1
            monitorexit
         3: goto 6
      StackMap locals: freemarker.template.Configuration java.lang.Object
      StackMap stack: java.lang.Throwable
         4: aload 1
            monitorexit
         5: athrow
         6: .line 1256
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Configuration config
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0  config  Lfreemarker/template/Configuration;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      config  

  public void setTemplateLoader(freemarker.cache.TemplateLoader);
    descriptor: (Lfreemarker/cache/TemplateLoader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.cache.TemplateLoader templateLoader
         0: .line 1279
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 1280
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLoader:()Lfreemarker/cache/TemplateLoader;
            aload 1 /* templateLoader */
            if_acmpeq 6
         2: .line 1281
            aload 0 /* this */
            aload 1 /* templateLoader */
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getCacheStorage:()Lfreemarker/cache/CacheStorage;
         3: .line 1282
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLookupStrategy:()Lfreemarker/cache/TemplateLookupStrategy;
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateNameFormat:()Lfreemarker/cache/TemplateNameFormat;
         4: .line 1283
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateConfigurations:()Lfreemarker/cache/TemplateConfigurationFactory;
         5: .line 1281
            invokevirtual freemarker.template.Configuration.recreateTemplateCacheWith:(Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/cache/TemplateLookupStrategy;Lfreemarker/cache/TemplateNameFormat;Lfreemarker/cache/TemplateConfigurationFactory;)V
         6: .line 1285
      StackMap locals: freemarker.template.Configuration
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.templateLoaderExplicitlySet:Z
         7: .line 1279
            aload 2
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 1287
      StackMap locals:
      StackMap stack:
            return
        end local 1 // freemarker.cache.TemplateLoader templateLoader
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   12     0            this  Lfreemarker/template/Configuration;
            0   12     1  templateLoader  Lfreemarker/cache/TemplateLoader;
      Exception table:
        from    to  target  type
           1     8       9  any
           9    10       9  any
    MethodParameters:
                Name  Flags
      templateLoader  

  public void unsetTemplateLoader();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1297
            aload 0 /* this */
            getfield freemarker.template.Configuration.templateLoaderExplicitlySet:Z
            ifeq 3
         1: .line 1298
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getDefaultTemplateLoader:()Lfreemarker/cache/TemplateLoader;
            invokevirtual freemarker.template.Configuration.setTemplateLoader:(Lfreemarker/cache/TemplateLoader;)V
         2: .line 1299
            aload 0 /* this */
            iconst_0
            putfield freemarker.template.Configuration.templateLoaderExplicitlySet:Z
         3: .line 1301
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Configuration;

  public boolean isTemplateLoaderExplicitlySet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1309
            aload 0 /* this */
            getfield freemarker.template.Configuration.templateLoaderExplicitlySet:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public freemarker.cache.TemplateLoader getTemplateLoader();
    descriptor: ()Lfreemarker/cache/TemplateLoader;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1316
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            ifnonnull 2
         1: .line 1317
            aconst_null
            areturn
         2: .line 1319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLoader:()Lfreemarker/cache/TemplateLoader;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/template/Configuration;

  public void setTemplateLookupStrategy(freemarker.cache.TemplateLookupStrategy);
    descriptor: (Lfreemarker/cache/TemplateLookupStrategy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.cache.TemplateLookupStrategy templateLookupStrategy
         0: .line 1329
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLookupStrategy:()Lfreemarker/cache/TemplateLookupStrategy;
            aload 1 /* templateLookupStrategy */
            if_acmpeq 5
         1: .line 1330
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLoader:()Lfreemarker/cache/TemplateLoader;
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getCacheStorage:()Lfreemarker/cache/CacheStorage;
         2: .line 1331
            aload 1 /* templateLookupStrategy */
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateNameFormat:()Lfreemarker/cache/TemplateNameFormat;
         3: .line 1332
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateConfigurations:()Lfreemarker/cache/TemplateConfigurationFactory;
         4: .line 1330
            invokevirtual freemarker.template.Configuration.recreateTemplateCacheWith:(Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/cache/TemplateLookupStrategy;Lfreemarker/cache/TemplateNameFormat;Lfreemarker/cache/TemplateConfigurationFactory;)V
         5: .line 1334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.templateLookupStrategyExplicitlySet:Z
         6: .line 1335
            return
        end local 1 // freemarker.cache.TemplateLookupStrategy templateLookupStrategy
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    7     0                    this  Lfreemarker/template/Configuration;
            0    7     1  templateLookupStrategy  Lfreemarker/cache/TemplateLookupStrategy;
    MethodParameters:
                        Name  Flags
      templateLookupStrategy  

  public void unsetTemplateLookupStrategy();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1345
            aload 0 /* this */
            getfield freemarker.template.Configuration.templateLookupStrategyExplicitlySet:Z
            ifeq 3
         1: .line 1346
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getDefaultTemplateLookupStrategy:()Lfreemarker/cache/TemplateLookupStrategy;
            invokevirtual freemarker.template.Configuration.setTemplateLookupStrategy:(Lfreemarker/cache/TemplateLookupStrategy;)V
         2: .line 1347
            aload 0 /* this */
            iconst_0
            putfield freemarker.template.Configuration.templateLookupStrategyExplicitlySet:Z
         3: .line 1349
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Configuration;

  public boolean isTemplateLookupStrategyExplicitlySet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1358
            aload 0 /* this */
            getfield freemarker.template.Configuration.templateLookupStrategyExplicitlySet:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public freemarker.cache.TemplateLookupStrategy getTemplateLookupStrategy();
    descriptor: ()Lfreemarker/cache/TemplateLookupStrategy;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1365
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            ifnonnull 2
         1: .line 1366
            aconst_null
            areturn
         2: .line 1368
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLookupStrategy:()Lfreemarker/cache/TemplateLookupStrategy;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/template/Configuration;

  public void setTemplateNameFormat(freemarker.cache.TemplateNameFormat);
    descriptor: (Lfreemarker/cache/TemplateNameFormat;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.cache.TemplateNameFormat templateNameFormat
         0: .line 1378
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateNameFormat:()Lfreemarker/cache/TemplateNameFormat;
            aload 1 /* templateNameFormat */
            if_acmpeq 5
         1: .line 1379
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLoader:()Lfreemarker/cache/TemplateLoader;
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getCacheStorage:()Lfreemarker/cache/CacheStorage;
         2: .line 1380
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLookupStrategy:()Lfreemarker/cache/TemplateLookupStrategy;
            aload 1 /* templateNameFormat */
         3: .line 1381
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateConfigurations:()Lfreemarker/cache/TemplateConfigurationFactory;
         4: .line 1379
            invokevirtual freemarker.template.Configuration.recreateTemplateCacheWith:(Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/cache/TemplateLookupStrategy;Lfreemarker/cache/TemplateNameFormat;Lfreemarker/cache/TemplateConfigurationFactory;)V
         5: .line 1383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.templateNameFormatExplicitlySet:Z
         6: .line 1384
            return
        end local 1 // freemarker.cache.TemplateNameFormat templateNameFormat
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lfreemarker/template/Configuration;
            0    7     1  templateNameFormat  Lfreemarker/cache/TemplateNameFormat;
    MethodParameters:
                    Name  Flags
      templateNameFormat  

  public void unsetTemplateNameFormat();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1394
            aload 0 /* this */
            getfield freemarker.template.Configuration.templateNameFormatExplicitlySet:Z
            ifeq 3
         1: .line 1395
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getDefaultTemplateNameFormat:()Lfreemarker/cache/TemplateNameFormat;
            invokevirtual freemarker.template.Configuration.setTemplateNameFormat:(Lfreemarker/cache/TemplateNameFormat;)V
         2: .line 1396
            aload 0 /* this */
            iconst_0
            putfield freemarker.template.Configuration.templateNameFormatExplicitlySet:Z
         3: .line 1398
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Configuration;

  public boolean isTemplateNameFormatExplicitlySet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1406
            aload 0 /* this */
            getfield freemarker.template.Configuration.templateNameFormatExplicitlySet:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public freemarker.cache.TemplateNameFormat getTemplateNameFormat();
    descriptor: ()Lfreemarker/cache/TemplateNameFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1413
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            ifnonnull 2
         1: .line 1414
            aconst_null
            areturn
         2: .line 1416
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateNameFormat:()Lfreemarker/cache/TemplateNameFormat;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/template/Configuration;

  public void setTemplateConfigurations(freemarker.cache.TemplateConfigurationFactory);
    descriptor: (Lfreemarker/cache/TemplateConfigurationFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.cache.TemplateConfigurationFactory templateConfigurations
         0: .line 1434
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateConfigurations:()Lfreemarker/cache/TemplateConfigurationFactory;
            aload 1 /* templateConfigurations */
            if_acmpeq 7
         1: .line 1435
            aload 1 /* templateConfigurations */
            ifnull 3
         2: .line 1436
            aload 1 /* templateConfigurations */
            aload 0 /* this */
            invokevirtual freemarker.cache.TemplateConfigurationFactory.setConfiguration:(Lfreemarker/template/Configuration;)V
         3: .line 1438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLoader:()Lfreemarker/cache/TemplateLoader;
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getCacheStorage:()Lfreemarker/cache/CacheStorage;
         4: .line 1439
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLookupStrategy:()Lfreemarker/cache/TemplateLookupStrategy;
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateNameFormat:()Lfreemarker/cache/TemplateNameFormat;
         5: .line 1440
            aload 1 /* templateConfigurations */
         6: .line 1438
            invokevirtual freemarker.template.Configuration.recreateTemplateCacheWith:(Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/cache/TemplateLookupStrategy;Lfreemarker/cache/TemplateNameFormat;Lfreemarker/cache/TemplateConfigurationFactory;)V
         7: .line 1442
      StackMap locals:
      StackMap stack:
            return
        end local 1 // freemarker.cache.TemplateConfigurationFactory templateConfigurations
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    8     0                    this  Lfreemarker/template/Configuration;
            0    8     1  templateConfigurations  Lfreemarker/cache/TemplateConfigurationFactory;
    MethodParameters:
                        Name  Flags
      templateConfigurations  

  public freemarker.cache.TemplateConfigurationFactory getTemplateConfigurations();
    descriptor: ()Lfreemarker/cache/TemplateConfigurationFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1448
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            ifnonnull 2
         1: .line 1449
            aconst_null
            areturn
         2: .line 1451
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateConfigurations:()Lfreemarker/cache/TemplateConfigurationFactory;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/template/Configuration;

  public void setCacheStorage(freemarker.cache.CacheStorage);
    descriptor: (Lfreemarker/cache/CacheStorage;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.cache.CacheStorage cacheStorage
         0: .line 1468
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 1469
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getCacheStorage:()Lfreemarker/cache/CacheStorage;
            aload 1 /* cacheStorage */
            if_acmpeq 6
         2: .line 1470
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLoader:()Lfreemarker/cache/TemplateLoader;
            aload 1 /* cacheStorage */
         3: .line 1471
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateLookupStrategy:()Lfreemarker/cache/TemplateLookupStrategy;
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateNameFormat:()Lfreemarker/cache/TemplateNameFormat;
         4: .line 1472
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getTemplateConfigurations:()Lfreemarker/cache/TemplateConfigurationFactory;
         5: .line 1470
            invokevirtual freemarker.template.Configuration.recreateTemplateCacheWith:(Lfreemarker/cache/TemplateLoader;Lfreemarker/cache/CacheStorage;Lfreemarker/cache/TemplateLookupStrategy;Lfreemarker/cache/TemplateNameFormat;Lfreemarker/cache/TemplateConfigurationFactory;)V
         6: .line 1474
      StackMap locals: freemarker.template.Configuration
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.cacheStorageExplicitlySet:Z
         7: .line 1468
            aload 2
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 2
            monitorexit
        10: athrow
        11: .line 1476
      StackMap locals:
      StackMap stack:
            return
        end local 1 // freemarker.cache.CacheStorage cacheStorage
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   12     0          this  Lfreemarker/template/Configuration;
            0   12     1  cacheStorage  Lfreemarker/cache/CacheStorage;
      Exception table:
        from    to  target  type
           1     8       9  any
           9    10       9  any
    MethodParameters:
              Name  Flags
      cacheStorage  

  public void unsetCacheStorage();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1486
            aload 0 /* this */
            getfield freemarker.template.Configuration.cacheStorageExplicitlySet:Z
            ifeq 3
         1: .line 1487
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getDefaultCacheStorage:()Lfreemarker/cache/CacheStorage;
            invokevirtual freemarker.template.Configuration.setCacheStorage:(Lfreemarker/cache/CacheStorage;)V
         2: .line 1488
            aload 0 /* this */
            iconst_0
            putfield freemarker.template.Configuration.cacheStorageExplicitlySet:Z
         3: .line 1490
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Configuration;

  public boolean isCacheStorageExplicitlySet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1498
            aload 0 /* this */
            getfield freemarker.template.Configuration.cacheStorageExplicitlySet:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public freemarker.cache.CacheStorage getCacheStorage();
    descriptor: ()Lfreemarker/cache/CacheStorage;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1508
            aload 0 /* this */
            dup
            astore 1
            monitorenter
         1: .line 1509
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            ifnonnull 4
         2: .line 1510
            aload 1
            monitorexit
         3: aconst_null
            areturn
         4: .line 1512
      StackMap locals: freemarker.template.Configuration
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getCacheStorage:()Lfreemarker/cache/CacheStorage;
            aload 1
            monitorexit
         5: areturn
         6: .line 1508
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
         7: athrow
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lfreemarker/template/Configuration;
      Exception table:
        from    to  target  type
           1     3       6  any
           4     5       6  any
           6     7       6  any

  public void setDirectoryForTemplateLoading(java.io.File);
    descriptor: (Ljava/io/File;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.io.File dir
         0: .line 1533
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getTemplateLoader:()Lfreemarker/cache/TemplateLoader;
            astore 2 /* tl */
        start local 2 // freemarker.cache.TemplateLoader tl
         1: .line 1534
            aload 2 /* tl */
            instanceof freemarker.cache.FileTemplateLoader
            ifeq 5
         2: .line 1535
            aload 2 /* tl */
            checkcast freemarker.cache.FileTemplateLoader
            getfield freemarker.cache.FileTemplateLoader.baseDir:Ljava/io/File;
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 3 /* path */
        start local 3 // java.lang.String path
         3: .line 1536
            aload 3 /* path */
            aload 1 /* dir */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 1537
            return
        end local 3 // java.lang.String path
         5: .line 1539
      StackMap locals: freemarker.cache.TemplateLoader
      StackMap stack:
            aload 0 /* this */
            new freemarker.cache.FileTemplateLoader
            dup
            aload 1 /* dir */
            invokespecial freemarker.cache.FileTemplateLoader.<init>:(Ljava/io/File;)V
            invokevirtual freemarker.template.Configuration.setTemplateLoader:(Lfreemarker/cache/TemplateLoader;)V
         6: .line 1540
            return
        end local 2 // freemarker.cache.TemplateLoader tl
        end local 1 // java.io.File dir
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lfreemarker/template/Configuration;
            0    7     1   dir  Ljava/io/File;
            1    7     2    tl  Lfreemarker/cache/TemplateLoader;
            3    5     3  path  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      dir   

  public void setServletContextForTemplateLoading(java.lang.Object, java.lang.String);
    descriptor: (Ljava/lang/Object;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.Object servletContext
        start local 2 // java.lang.String path
         0: .line 1558
            ldc "freemarker.cache.WebappTemplateLoader"
            invokestatic freemarker.template.utility.ClassUtil.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* webappTemplateLoaderClass */
        start local 3 // java.lang.Class webappTemplateLoaderClass
         1: .line 1561
            ldc "javax.servlet.ServletContext"
            invokestatic freemarker.template.utility.ClassUtil.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* servletContextClass */
        start local 4 // java.lang.Class servletContextClass
         2: .line 1565
            aload 2 /* path */
            ifnonnull 6
         3: .line 1566
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            aload 4 /* servletContextClass */
            aastore
            astore 5 /* constructorParamTypes */
        start local 5 // java.lang.Class[] constructorParamTypes
         4: .line 1567
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* servletContext */
            aastore
            astore 6 /* constructorParams */
        start local 6 // java.lang.Object[] constructorParams
         5: .line 1568
            goto 8
        end local 6 // java.lang.Object[] constructorParams
        end local 5 // java.lang.Class[] constructorParamTypes
         6: .line 1569
      StackMap locals: java.lang.Class java.lang.Class
      StackMap stack:
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            aload 4 /* servletContextClass */
            aastore
            dup
            iconst_1
            ldc Ljava/lang/String;
            aastore
            astore 5 /* constructorParamTypes */
        start local 5 // java.lang.Class[] constructorParamTypes
         7: .line 1570
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* servletContext */
            aastore
            dup
            iconst_1
            aload 2 /* path */
            aastore
            astore 6 /* constructorParams */
        start local 6 // java.lang.Object[] constructorParams
         8: .line 1573
      StackMap locals: java.lang.Class[] java.lang.Object[]
      StackMap stack:
            aload 0 /* this */
         9: .line 1574
            aload 3 /* webappTemplateLoaderClass */
        10: .line 1575
            aload 5 /* constructorParamTypes */
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
        11: .line 1576
            aload 6 /* constructorParams */
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast freemarker.cache.TemplateLoader
        12: .line 1573
            invokevirtual freemarker.template.Configuration.setTemplateLoader:(Lfreemarker/cache/TemplateLoader;)V
        end local 6 // java.lang.Object[] constructorParams
        end local 5 // java.lang.Class[] constructorParamTypes
        end local 4 // java.lang.Class servletContextClass
        end local 3 // java.lang.Class webappTemplateLoaderClass
        13: .line 1577
            goto 16
      StackMap locals: freemarker.template.Configuration java.lang.Object java.lang.String
      StackMap stack: java.lang.Exception
        14: astore 3 /* e */
        start local 3 // java.lang.Exception e
        15: .line 1578
            new freemarker.core.BugException
            dup
            aload 3 /* e */
            invokespecial freemarker.core.BugException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception e
        16: .line 1580
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String path
        end local 1 // java.lang.Object servletContext
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   17     0                       this  Lfreemarker/template/Configuration;
            0   17     1             servletContext  Ljava/lang/Object;
            0   17     2                       path  Ljava/lang/String;
            1   13     3  webappTemplateLoaderClass  Ljava/lang/Class;
            2   13     4        servletContextClass  Ljava/lang/Class;
            4    6     5      constructorParamTypes  [Ljava/lang/Class;
            7   13     5      constructorParamTypes  [Ljava/lang/Class;
            5    6     6          constructorParams  [Ljava/lang/Object;
            8   13     6          constructorParams  [Ljava/lang/Object;
           15   16     3                          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0    13      14  Class java.lang.Exception
    MethodParameters:
                Name  Flags
      servletContext  
      path            

  public void setClassForTemplateLoading(java.lang.Class, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.Class resourceLoaderClass
        start local 2 // java.lang.String basePackagePath
         0: .line 1594
            aload 0 /* this */
            new freemarker.cache.ClassTemplateLoader
            dup
            aload 1 /* resourceLoaderClass */
            aload 2 /* basePackagePath */
            invokespecial freemarker.cache.ClassTemplateLoader.<init>:(Ljava/lang/Class;Ljava/lang/String;)V
            invokevirtual freemarker.template.Configuration.setTemplateLoader:(Lfreemarker/cache/TemplateLoader;)V
         1: .line 1595
            return
        end local 2 // java.lang.String basePackagePath
        end local 1 // java.lang.Class resourceLoaderClass
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lfreemarker/template/Configuration;
            0    2     1  resourceLoaderClass  Ljava/lang/Class;
            0    2     2      basePackagePath  Ljava/lang/String;
    MethodParameters:
                     Name  Flags
      resourceLoaderClass  
      basePackagePath      

  public void setClassLoaderForTemplateLoading(java.lang.ClassLoader, java.lang.String);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.ClassLoader classLoader
        start local 2 // java.lang.String basePackagePath
         0: .line 1612
            aload 0 /* this */
            new freemarker.cache.ClassTemplateLoader
            dup
            aload 1 /* classLoader */
            aload 2 /* basePackagePath */
            invokespecial freemarker.cache.ClassTemplateLoader.<init>:(Ljava/lang/ClassLoader;Ljava/lang/String;)V
            invokevirtual freemarker.template.Configuration.setTemplateLoader:(Lfreemarker/cache/TemplateLoader;)V
         1: .line 1613
            return
        end local 2 // java.lang.String basePackagePath
        end local 1 // java.lang.ClassLoader classLoader
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lfreemarker/template/Configuration;
            0    2     1      classLoader  Ljava/lang/ClassLoader;
            0    2     2  basePackagePath  Ljava/lang/String;
    MethodParameters:
                 Name  Flags
      classLoader      
      basePackagePath  

  public void setTemplateUpdateDelay(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // int seconds
         0: .line 1629
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            ldc 1000
            iload 1 /* seconds */
            i2l
            lmul
            invokevirtual freemarker.cache.TemplateCache.setDelay:(J)V
         1: .line 1630
            return
        end local 1 // int seconds
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lfreemarker/template/Configuration;
            0    2     1  seconds  I
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      seconds  

  public void setTemplateUpdateDelayMilliseconds(long);
    descriptor: (J)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // long millis
         0: .line 1647
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            lload 1 /* millis */
            invokevirtual freemarker.cache.TemplateCache.setDelay:(J)V
         1: .line 1648
            return
        end local 1 // long millis
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lfreemarker/template/Configuration;
            0    2     1  millis  J
    MethodParameters:
        Name  Flags
      millis  

  public long getTemplateUpdateDelayMilliseconds();
    descriptor: ()J
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1656
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getDelay:()J
            lreturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void setStrictSyntaxMode(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // boolean b
         0: .line 1673
            aload 0 /* this */
            iload 1 /* b */
            putfield freemarker.template.Configuration.strictSyntax:Z
         1: .line 1674
            return
        end local 1 // boolean b
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/Configuration;
            0    2     1     b  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      b     

  public void setObjectWrapper(freemarker.template.ObjectWrapper);
    descriptor: (Lfreemarker/template/ObjectWrapper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.template.ObjectWrapper objectWrapper
         0: .line 1678
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
            astore 2 /* prevObjectWrapper */
        start local 2 // freemarker.template.ObjectWrapper prevObjectWrapper
         1: .line 1679
            aload 0 /* this */
            aload 1 /* objectWrapper */
            invokespecial freemarker.core.Configurable.setObjectWrapper:(Lfreemarker/template/ObjectWrapper;)V
         2: .line 1680
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.objectWrapperExplicitlySet:Z
         3: .line 1681
            aload 1 /* objectWrapper */
            aload 2 /* prevObjectWrapper */
            if_acmpeq 11
         4: .line 1683
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.setSharedVariablesFromRewrappableSharedVariables:()V
         5: .line 1684
            goto 11
      StackMap locals: freemarker.template.Configuration freemarker.template.ObjectWrapper freemarker.template.ObjectWrapper
      StackMap stack: freemarker.template.TemplateModelException
         6: astore 3 /* e */
        start local 3 // freemarker.template.TemplateModelException e
         7: .line 1685
            new java.lang.RuntimeException
            dup
         8: .line 1686
            ldc "Failed to re-wrap earliearly set shared variables with the newly set object wrapper"
         9: .line 1687
            aload 3 /* e */
        10: .line 1685
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // freemarker.template.TemplateModelException e
        11: .line 1690
      StackMap locals:
      StackMap stack:
            return
        end local 2 // freemarker.template.ObjectWrapper prevObjectWrapper
        end local 1 // freemarker.template.ObjectWrapper objectWrapper
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   12     0               this  Lfreemarker/template/Configuration;
            0   12     1      objectWrapper  Lfreemarker/template/ObjectWrapper;
            1   12     2  prevObjectWrapper  Lfreemarker/template/ObjectWrapper;
            7   11     3                  e  Lfreemarker/template/TemplateModelException;
      Exception table:
        from    to  target  type
           4     5       6  Class freemarker.template.TemplateModelException
    MethodParameters:
               Name  Flags
      objectWrapper  

  public void unsetObjectWrapper();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1700
            aload 0 /* this */
            getfield freemarker.template.Configuration.objectWrapperExplicitlySet:Z
            ifeq 3
         1: .line 1701
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getDefaultObjectWrapper:()Lfreemarker/template/ObjectWrapper;
            invokevirtual freemarker.template.Configuration.setObjectWrapper:(Lfreemarker/template/ObjectWrapper;)V
         2: .line 1702
            aload 0 /* this */
            iconst_0
            putfield freemarker.template.Configuration.objectWrapperExplicitlySet:Z
         3: .line 1704
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Configuration;

  public boolean isObjectWrapperExplicitlySet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1712
            aload 0 /* this */
            getfield freemarker.template.Configuration.objectWrapperExplicitlySet:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void setLocale(java.util.Locale);
    descriptor: (Ljava/util/Locale;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.util.Locale locale
         0: .line 1717
            aload 0 /* this */
            aload 1 /* locale */
            invokespecial freemarker.core.Configurable.setLocale:(Ljava/util/Locale;)V
         1: .line 1718
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.localeExplicitlySet:Z
         2: .line 1719
            return
        end local 1 // java.util.Locale locale
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Lfreemarker/template/Configuration;
            0    3     1  locale  Ljava/util/Locale;
    MethodParameters:
        Name  Flags
      locale  

  public void unsetLocale();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1727
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeExplicitlySet:Z
            ifeq 3
         1: .line 1728
            aload 0 /* this */
            invokestatic freemarker.template.Configuration.getDefaultLocale:()Ljava/util/Locale;
            invokevirtual freemarker.template.Configuration.setLocale:(Ljava/util/Locale;)V
         2: .line 1729
            aload 0 /* this */
            iconst_0
            putfield freemarker.template.Configuration.localeExplicitlySet:Z
         3: .line 1731
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Configuration;

  public boolean isLocaleExplicitlySet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1740
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeExplicitlySet:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  static java.util.Locale getDefaultLocale();
    descriptor: ()Ljava/util/Locale;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1744
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void setTimeZone(java.util.TimeZone);
    descriptor: (Ljava/util/TimeZone;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.util.TimeZone timeZone
         0: .line 1749
            aload 0 /* this */
            aload 1 /* timeZone */
            invokespecial freemarker.core.Configurable.setTimeZone:(Ljava/util/TimeZone;)V
         1: .line 1750
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.timeZoneExplicitlySet:Z
         2: .line 1751
            return
        end local 1 // java.util.TimeZone timeZone
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lfreemarker/template/Configuration;
            0    3     1  timeZone  Ljava/util/TimeZone;
    MethodParameters:
          Name  Flags
      timeZone  

  public void unsetTimeZone();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1759
            aload 0 /* this */
            getfield freemarker.template.Configuration.timeZoneExplicitlySet:Z
            ifeq 3
         1: .line 1760
            aload 0 /* this */
            invokestatic freemarker.template.Configuration.getDefaultTimeZone:()Ljava/util/TimeZone;
            invokevirtual freemarker.template.Configuration.setTimeZone:(Ljava/util/TimeZone;)V
         2: .line 1761
            aload 0 /* this */
            iconst_0
            putfield freemarker.template.Configuration.timeZoneExplicitlySet:Z
         3: .line 1763
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Configuration;

  public boolean isTimeZoneExplicitlySet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1772
            aload 0 /* this */
            getfield freemarker.template.Configuration.timeZoneExplicitlySet:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  static java.util.TimeZone getDefaultTimeZone();
    descriptor: ()Ljava/util/TimeZone;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1776
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void setTemplateExceptionHandler(freemarker.template.TemplateExceptionHandler);
    descriptor: (Lfreemarker/template/TemplateExceptionHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.template.TemplateExceptionHandler templateExceptionHandler
         0: .line 1781
            aload 0 /* this */
            aload 1 /* templateExceptionHandler */
            invokespecial freemarker.core.Configurable.setTemplateExceptionHandler:(Lfreemarker/template/TemplateExceptionHandler;)V
         1: .line 1782
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.templateExceptionHandlerExplicitlySet:Z
         2: .line 1783
            return
        end local 1 // freemarker.template.TemplateExceptionHandler templateExceptionHandler
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    3     0                      this  Lfreemarker/template/Configuration;
            0    3     1  templateExceptionHandler  Lfreemarker/template/TemplateExceptionHandler;
    MethodParameters:
                          Name  Flags
      templateExceptionHandler  

  public void unsetTemplateExceptionHandler();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1793
            aload 0 /* this */
            getfield freemarker.template.Configuration.templateExceptionHandlerExplicitlySet:Z
            ifeq 3
         1: .line 1794
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getDefaultTemplateExceptionHandler:()Lfreemarker/template/TemplateExceptionHandler;
            invokevirtual freemarker.template.Configuration.setTemplateExceptionHandler:(Lfreemarker/template/TemplateExceptionHandler;)V
         2: .line 1795
            aload 0 /* this */
            iconst_0
            putfield freemarker.template.Configuration.templateExceptionHandlerExplicitlySet:Z
         3: .line 1797
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Configuration;

  public boolean isTemplateExceptionHandlerExplicitlySet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1806
            aload 0 /* this */
            getfield freemarker.template.Configuration.templateExceptionHandlerExplicitlySet:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void setAttemptExceptionReporter(freemarker.template.AttemptExceptionReporter);
    descriptor: (Lfreemarker/template/AttemptExceptionReporter;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.template.AttemptExceptionReporter attemptExceptionReporter
         0: .line 1811
            aload 0 /* this */
            aload 1 /* attemptExceptionReporter */
            invokespecial freemarker.core.Configurable.setAttemptExceptionReporter:(Lfreemarker/template/AttemptExceptionReporter;)V
         1: .line 1812
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.attemptExceptionReporterExplicitlySet:Z
         2: .line 1813
            return
        end local 1 // freemarker.template.AttemptExceptionReporter attemptExceptionReporter
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    3     0                      this  Lfreemarker/template/Configuration;
            0    3     1  attemptExceptionReporter  Lfreemarker/template/AttemptExceptionReporter;
    MethodParameters:
                          Name  Flags
      attemptExceptionReporter  

  public void unsetAttemptExceptionReporter();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1823
            aload 0 /* this */
            getfield freemarker.template.Configuration.attemptExceptionReporterExplicitlySet:Z
            ifeq 3
         1: .line 1824
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getDefaultAttemptExceptionReporter:()Lfreemarker/template/AttemptExceptionReporter;
            invokevirtual freemarker.template.Configuration.setAttemptExceptionReporter:(Lfreemarker/template/AttemptExceptionReporter;)V
         2: .line 1825
            aload 0 /* this */
            iconst_0
            putfield freemarker.template.Configuration.attemptExceptionReporterExplicitlySet:Z
         3: .line 1827
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Configuration;

  public boolean isAttemptExceptionReporterExplicitlySet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1836
            aload 0 /* this */
            getfield freemarker.template.Configuration.attemptExceptionReporterExplicitlySet:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void setLogTemplateExceptions(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // boolean value
         0: .line 1846
            aload 0 /* this */
            iload 1 /* value */
            invokespecial freemarker.core.Configurable.setLogTemplateExceptions:(Z)V
         1: .line 1847
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.logTemplateExceptionsExplicitlySet:Z
         2: .line 1848
            return
        end local 1 // boolean value
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lfreemarker/template/Configuration;
            0    3     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  public void unsetLogTemplateExceptions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1858
            aload 0 /* this */
            getfield freemarker.template.Configuration.logTemplateExceptionsExplicitlySet:Z
            ifeq 3
         1: .line 1859
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getDefaultLogTemplateExceptions:()Z
            invokevirtual freemarker.template.Configuration.setLogTemplateExceptions:(Z)V
         2: .line 1860
            aload 0 /* this */
            iconst_0
            putfield freemarker.template.Configuration.logTemplateExceptionsExplicitlySet:Z
         3: .line 1862
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Configuration;

  public boolean isLogTemplateExceptionsExplicitlySet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1870
            aload 0 /* this */
            getfield freemarker.template.Configuration.logTemplateExceptionsExplicitlySet:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void setWrapUncheckedExceptions(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // boolean value
         0: .line 1880
            aload 0 /* this */
            iload 1 /* value */
            invokespecial freemarker.core.Configurable.setWrapUncheckedExceptions:(Z)V
         1: .line 1881
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.wrapUncheckedExceptionsExplicitlySet:Z
         2: .line 1882
            return
        end local 1 // boolean value
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lfreemarker/template/Configuration;
            0    3     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  public void unsetWrapUncheckedExceptions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1888
            aload 0 /* this */
            getfield freemarker.template.Configuration.wrapUncheckedExceptionsExplicitlySet:Z
            ifeq 3
         1: .line 1889
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getDefaultWrapUncheckedExceptions:()Z
            invokevirtual freemarker.template.Configuration.setWrapUncheckedExceptions:(Z)V
         2: .line 1890
            aload 0 /* this */
            iconst_0
            putfield freemarker.template.Configuration.wrapUncheckedExceptionsExplicitlySet:Z
         3: .line 1892
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Configuration;

  public boolean isWrapUncheckedExceptionsExplicitlySet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1900
            aload 0 /* this */
            getfield freemarker.template.Configuration.wrapUncheckedExceptionsExplicitlySet:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public boolean getStrictSyntaxMode();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1907
            aload 0 /* this */
            getfield freemarker.template.Configuration.strictSyntax:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void setIncompatibleImprovements(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.template.Version incompatibleImprovements
         0: .line 1930
            aload 1 /* incompatibleImprovements */
            invokestatic freemarker.template._TemplateAPI.checkVersionNotNullAndSupported:(Lfreemarker/template/Version;)V
         1: .line 1932
            aload 0 /* this */
            getfield freemarker.template.Configuration.incompatibleImprovements:Lfreemarker/template/Version;
            aload 1 /* incompatibleImprovements */
            invokevirtual freemarker.template.Version.equals:(Ljava/lang/Object;)Z
            ifne 31
         2: .line 1933
            aload 0 /* this */
            aload 1 /* incompatibleImprovements */
            putfield freemarker.template.Configuration.incompatibleImprovements:Lfreemarker/template/Version;
         3: .line 1935
            aload 0 /* this */
            getfield freemarker.template.Configuration.templateLoaderExplicitlySet:Z
            ifne 6
         4: .line 1936
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.templateLoaderExplicitlySet:Z
         5: .line 1937
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetTemplateLoader:()V
         6: .line 1940
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.templateLookupStrategyExplicitlySet:Z
            ifne 9
         7: .line 1941
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.templateLookupStrategyExplicitlySet:Z
         8: .line 1942
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetTemplateLookupStrategy:()V
         9: .line 1945
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.templateNameFormatExplicitlySet:Z
            ifne 12
        10: .line 1946
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.templateNameFormatExplicitlySet:Z
        11: .line 1947
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetTemplateNameFormat:()V
        12: .line 1950
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.cacheStorageExplicitlySet:Z
            ifne 15
        13: .line 1951
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.cacheStorageExplicitlySet:Z
        14: .line 1952
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetCacheStorage:()V
        15: .line 1955
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.templateExceptionHandlerExplicitlySet:Z
            ifne 18
        16: .line 1956
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.templateExceptionHandlerExplicitlySet:Z
        17: .line 1957
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetTemplateExceptionHandler:()V
        18: .line 1960
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.attemptExceptionReporterExplicitlySet:Z
            ifne 21
        19: .line 1961
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.attemptExceptionReporterExplicitlySet:Z
        20: .line 1962
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetAttemptExceptionReporter:()V
        21: .line 1965
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.logTemplateExceptionsExplicitlySet:Z
            ifne 24
        22: .line 1966
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.logTemplateExceptionsExplicitlySet:Z
        23: .line 1967
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetLogTemplateExceptions:()V
        24: .line 1970
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.wrapUncheckedExceptionsExplicitlySet:Z
            ifne 27
        25: .line 1971
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.wrapUncheckedExceptionsExplicitlySet:Z
        26: .line 1972
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetWrapUncheckedExceptions:()V
        27: .line 1975
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.objectWrapperExplicitlySet:Z
            ifne 30
        28: .line 1976
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.objectWrapperExplicitlySet:Z
        29: .line 1977
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetObjectWrapper:()V
        30: .line 1980
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.recreateTemplateCache:()V
        31: .line 1982
      StackMap locals:
      StackMap stack:
            return
        end local 1 // freemarker.template.Version incompatibleImprovements
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   32     0                      this  Lfreemarker/template/Configuration;
            0   32     1  incompatibleImprovements  Lfreemarker/template/Version;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  public freemarker.template.Version getIncompatibleImprovements();
    descriptor: ()Lfreemarker/template/Version;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 1990
            aload 0 /* this */
            getfield freemarker.template.Configuration.incompatibleImprovements:Lfreemarker/template/Version;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void setIncompatibleEnhancements(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String version
         0: .line 1999
            aload 0 /* this */
            new freemarker.template.Version
            dup
            aload 1 /* version */
            invokespecial freemarker.template.Version.<init>:(Ljava/lang/String;)V
            invokevirtual freemarker.template.Configuration.setIncompatibleImprovements:(Lfreemarker/template/Version;)V
         1: .line 2000
            return
        end local 1 // java.lang.String version
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lfreemarker/template/Configuration;
            0    2     1  version  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
         Name  Flags
      version  

  public java.lang.String getIncompatibleEnhancements();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2007
            aload 0 /* this */
            getfield freemarker.template.Configuration.incompatibleImprovements:Lfreemarker/template/Version;
            invokevirtual freemarker.template.Version.toString:()Ljava/lang/String;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public int getParsedIncompatibleEnhancements();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2015
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
            invokevirtual freemarker.template.Version.intValue:()I
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public void setWhitespaceStripping(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // boolean b
         0: .line 2023
            aload 0 /* this */
            iload 1 /* b */
            putfield freemarker.template.Configuration.whitespaceStripping:Z
         1: .line 2024
            return
        end local 1 // boolean b
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/Configuration;
            0    2     1     b  Z
    MethodParameters:
      Name  Flags
      b     

  public boolean getWhitespaceStripping();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2033
            aload 0 /* this */
            getfield freemarker.template.Configuration.whitespaceStripping:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void setAutoEscapingPolicy(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // int autoEscapingPolicy
         0: .line 2082
            iload 1 /* autoEscapingPolicy */
            invokestatic freemarker.template._TemplateAPI.validateAutoEscapingPolicyValue:(I)V
         1: .line 2084
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getAutoEscapingPolicy:()I
            istore 2 /* prevAutoEscaping */
        start local 2 // int prevAutoEscaping
         2: .line 2085
            aload 0 /* this */
            iload 1 /* autoEscapingPolicy */
            putfield freemarker.template.Configuration.autoEscapingPolicy:I
         3: .line 2086
            iload 2 /* prevAutoEscaping */
            iload 1 /* autoEscapingPolicy */
            if_icmpeq 5
         4: .line 2087
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.clearTemplateCache:()V
         5: .line 2089
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // int prevAutoEscaping
        end local 1 // int autoEscapingPolicy
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Lfreemarker/template/Configuration;
            0    6     1  autoEscapingPolicy  I
            2    6     2    prevAutoEscaping  I
    MethodParameters:
                    Name  Flags
      autoEscapingPolicy  

  public int getAutoEscapingPolicy();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2097
            aload 0 /* this */
            getfield freemarker.template.Configuration.autoEscapingPolicy:I
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void setOutputFormat(freemarker.core.OutputFormat);
    descriptor: (Lfreemarker/core/OutputFormat;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.core.OutputFormat outputFormat
         0: .line 2123
            aload 1 /* outputFormat */
            ifnonnull 5
         1: .line 2124
            new freemarker.template.utility.NullArgumentException
            dup
         2: .line 2125
            ldc "outputFormat"
         3: .line 2126
            new java.lang.StringBuilder
            dup
            ldc "You may meant: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc Lfreemarker/core/UndefinedOutputFormat;
            invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".INSTANCE"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 2124
            invokespecial freemarker.template.utility.NullArgumentException.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            athrow
         5: .line 2128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getOutputFormat:()Lfreemarker/core/OutputFormat;
            astore 2 /* prevOutputFormat */
        start local 2 // freemarker.core.OutputFormat prevOutputFormat
         6: .line 2129
            aload 0 /* this */
            aload 1 /* outputFormat */
            putfield freemarker.template.Configuration.outputFormat:Lfreemarker/core/OutputFormat;
         7: .line 2130
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.outputFormatExplicitlySet:Z
         8: .line 2131
            aload 2 /* prevOutputFormat */
            aload 1 /* outputFormat */
            if_acmpeq 10
         9: .line 2132
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.clearTemplateCache:()V
        10: .line 2134
      StackMap locals: freemarker.core.OutputFormat
      StackMap stack:
            return
        end local 2 // freemarker.core.OutputFormat prevOutputFormat
        end local 1 // freemarker.core.OutputFormat outputFormat
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lfreemarker/template/Configuration;
            0   11     1      outputFormat  Lfreemarker/core/OutputFormat;
            6   11     2  prevOutputFormat  Lfreemarker/core/OutputFormat;
    MethodParameters:
              Name  Flags
      outputFormat  

  public freemarker.core.OutputFormat getOutputFormat();
    descriptor: ()Lfreemarker/core/OutputFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2142
            aload 0 /* this */
            getfield freemarker.template.Configuration.outputFormat:Lfreemarker/core/OutputFormat;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public boolean isOutputFormatExplicitlySet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2151
            aload 0 /* this */
            getfield freemarker.template.Configuration.outputFormatExplicitlySet:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void unsetOutputFormat();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2162
            aload 0 /* this */
            getstatic freemarker.core.UndefinedOutputFormat.INSTANCE:Lfreemarker/core/UndefinedOutputFormat;
            putfield freemarker.template.Configuration.outputFormat:Lfreemarker/core/OutputFormat;
         1: .line 2163
            aload 0 /* this */
            iconst_0
            putfield freemarker.template.Configuration.outputFormatExplicitlySet:Z
         2: .line 2164
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/template/Configuration;

  public freemarker.core.OutputFormat getOutputFormat(java.lang.String);
    descriptor: (Ljava/lang/String;)Lfreemarker/core/OutputFormat;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
         0: .line 2188
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 2189
            new java.lang.IllegalArgumentException
            dup
            ldc "0-length format name"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 2191
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            bipush 125
            if_icmpne 11
         3: .line 2193
            aload 1 /* name */
            bipush 123
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* openBrcIdx */
        start local 2 // int openBrcIdx
         4: .line 2194
            iload 2 /* openBrcIdx */
            iconst_m1
            if_icmpne 6
         5: .line 2195
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Missing opening '{' in: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            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
         6: .line 2198
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            iconst_0
            iload 2 /* openBrcIdx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual freemarker.template.Configuration.getMarkupOutputFormatForCombined:(Ljava/lang/String;)Lfreemarker/core/MarkupOutputFormat;
            astore 3 /* outerOF */
        start local 3 // freemarker.core.MarkupOutputFormat outerOF
         7: .line 2199
            aload 0 /* this */
         8: .line 2200
            aload 1 /* name */
            iload 2 /* openBrcIdx */
            iconst_1
            iadd
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
         9: .line 2199
            invokevirtual freemarker.template.Configuration.getMarkupOutputFormatForCombined:(Ljava/lang/String;)Lfreemarker/core/MarkupOutputFormat;
            astore 4 /* innerOF */
        start local 4 // freemarker.core.MarkupOutputFormat innerOF
        10: .line 2202
            new freemarker.core.CombinedMarkupOutputFormat
            dup
            aload 1 /* name */
            aload 3 /* outerOF */
            aload 4 /* innerOF */
            invokespecial freemarker.core.CombinedMarkupOutputFormat.<init>:(Ljava/lang/String;Lfreemarker/core/MarkupOutputFormat;Lfreemarker/core/MarkupOutputFormat;)V
            areturn
        end local 4 // freemarker.core.MarkupOutputFormat innerOF
        end local 3 // freemarker.core.MarkupOutputFormat outerOF
        end local 2 // int openBrcIdx
        11: .line 2204
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.registeredCustomOutputFormats:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast freemarker.core.OutputFormat
            astore 2 /* custOF */
        start local 2 // freemarker.core.OutputFormat custOF
        12: .line 2205
            aload 2 /* custOF */
            ifnull 14
        13: .line 2206
            aload 2 /* custOF */
            areturn
        14: .line 2209
      StackMap locals: freemarker.core.OutputFormat
      StackMap stack:
            getstatic freemarker.template.Configuration.STANDARD_OUTPUT_FORMATS:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast freemarker.core.OutputFormat
            astore 3 /* stdOF */
        start local 3 // freemarker.core.OutputFormat stdOF
        15: .line 2210
            aload 3 /* stdOF */
            ifnonnull 33
        16: .line 2211
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuilder sb
        17: .line 2212
            aload 4 /* sb */
            ldc "Unregistered output format name, "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        18: .line 2213
            aload 4 /* sb */
            aload 1 /* name */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 2214
            aload 4 /* sb */
            ldc ". The output formats registered in the Configuration are: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        20: .line 2216
            new java.util.TreeSet
            dup
            invokespecial java.util.TreeSet.<init>:()V
            astore 5 /* registeredNames */
        start local 5 // java.util.Set registeredNames
        21: .line 2217
            aload 5 /* registeredNames */
            getstatic freemarker.template.Configuration.STANDARD_OUTPUT_FORMATS:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        22: .line 2218
            aload 5 /* registeredNames */
            aload 0 /* this */
            getfield freemarker.template.Configuration.registeredCustomOutputFormats:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
        23: .line 2220
            iconst_1
            istore 6 /* first */
        start local 6 // boolean first
        24: .line 2221
            aload 5 /* registeredNames */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 8
            goto 31
      StackMap locals: freemarker.template.Configuration java.lang.String freemarker.core.OutputFormat freemarker.core.OutputFormat java.lang.StringBuilder java.util.Set int top java.util.Iterator
      StackMap stack:
        25: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* registeredName */
        start local 7 // java.lang.String registeredName
        26: .line 2222
            iload 6 /* first */
            ifeq 29
        27: .line 2223
            iconst_0
            istore 6 /* first */
        28: .line 2224
            goto 30
        29: .line 2225
      StackMap locals: freemarker.template.Configuration java.lang.String freemarker.core.OutputFormat freemarker.core.OutputFormat java.lang.StringBuilder java.util.Set int java.lang.String java.util.Iterator
      StackMap stack:
            aload 4 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        30: .line 2227
      StackMap locals:
      StackMap stack:
            aload 4 /* sb */
            aload 7 /* registeredName */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 7 // java.lang.String registeredName
        31: .line 2221
      StackMap locals: freemarker.template.Configuration java.lang.String freemarker.core.OutputFormat freemarker.core.OutputFormat java.lang.StringBuilder java.util.Set int top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 25
        32: .line 2230
            new freemarker.core.UnregisteredOutputFormatException
            dup
            aload 4 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial freemarker.core.UnregisteredOutputFormatException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // boolean first
        end local 5 // java.util.Set registeredNames
        end local 4 // java.lang.StringBuilder sb
        33: .line 2232
      StackMap locals: freemarker.template.Configuration java.lang.String freemarker.core.OutputFormat freemarker.core.OutputFormat
      StackMap stack:
            aload 3 /* stdOF */
            areturn
        end local 3 // freemarker.core.OutputFormat stdOF
        end local 2 // freemarker.core.OutputFormat custOF
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   34     0             this  Lfreemarker/template/Configuration;
            0   34     1             name  Ljava/lang/String;
            4   11     2       openBrcIdx  I
            7   11     3          outerOF  Lfreemarker/core/MarkupOutputFormat;
           10   11     4          innerOF  Lfreemarker/core/MarkupOutputFormat;
           12   34     2           custOF  Lfreemarker/core/OutputFormat;
           15   34     3            stdOF  Lfreemarker/core/OutputFormat;
           17   33     4               sb  Ljava/lang/StringBuilder;
           21   33     5  registeredNames  Ljava/util/Set<Ljava/lang/String;>;
           24   33     6            first  Z
           26   31     7   registeredName  Ljava/lang/String;
    Exceptions:
      throws freemarker.core.UnregisteredOutputFormatException
    MethodParameters:
      Name  Flags
      name  

  private freemarker.core.MarkupOutputFormat getMarkupOutputFormatForCombined(java.lang.String);
    descriptor: (Ljava/lang/String;)Lfreemarker/core/MarkupOutputFormat;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String outerName
         0: .line 2238
            aload 0 /* this */
            aload 1 /* outerName */
            invokevirtual freemarker.template.Configuration.getOutputFormat:(Ljava/lang/String;)Lfreemarker/core/OutputFormat;
            astore 2 /* of */
        start local 2 // freemarker.core.OutputFormat of
         1: .line 2239
            aload 2 /* of */
            instanceof freemarker.core.MarkupOutputFormat
            ifne 5
         2: .line 2240
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* outerName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\" output format can't be used in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 2241
            ldc "...{...} expression, because it's not a markup format."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 2240
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 2243
      StackMap locals: freemarker.core.OutputFormat
      StackMap stack:
            aload 2 /* of */
            checkcast freemarker.core.MarkupOutputFormat
            astore 3 /* outerOF */
        start local 3 // freemarker.core.MarkupOutputFormat outerOF
         6: .line 2244
            aload 3 /* outerOF */
            areturn
        end local 3 // freemarker.core.MarkupOutputFormat outerOF
        end local 2 // freemarker.core.OutputFormat of
        end local 1 // java.lang.String outerName
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Lfreemarker/template/Configuration;
            0    7     1  outerName  Ljava/lang/String;
            1    7     2         of  Lfreemarker/core/OutputFormat;
            6    7     3    outerOF  Lfreemarker/core/MarkupOutputFormat;
    Exceptions:
      throws freemarker.core.UnregisteredOutputFormatException
    MethodParameters:
           Name  Flags
      outerName  

  public void setRegisteredCustomOutputFormats(java.util.Collection<? extends freemarker.core.OutputFormat>);
    descriptor: (Ljava/util/Collection;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.util.Collection registeredCustomOutputFormats
         0: .line 2275
            aload 1 /* registeredCustomOutputFormats */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/Object;)V
         1: .line 2276
            new java.util.LinkedHashMap
            dup
         2: .line 2277
            aload 1 /* registeredCustomOutputFormats */
            invokeinterface java.util.Collection.size:()I
            iconst_4
            imul
            iconst_3
            idiv
            fconst_1
         3: .line 2276
            invokespecial java.util.LinkedHashMap.<init>:(IF)V
            astore 2 /* m */
        start local 2 // java.util.Map m
         4: .line 2278
            aload 1 /* registeredCustomOutputFormats */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 4
            goto 42
      StackMap locals: freemarker.template.Configuration java.util.Collection java.util.Map top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast freemarker.core.OutputFormat
            astore 3 /* outputFormat */
        start local 3 // freemarker.core.OutputFormat outputFormat
         6: .line 2279
            aload 3 /* outputFormat */
            invokevirtual freemarker.core.OutputFormat.getName:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         7: .line 2280
            aload 5 /* name */
            getstatic freemarker.core.UndefinedOutputFormat.INSTANCE:Lfreemarker/core/UndefinedOutputFormat;
            invokevirtual freemarker.core.UndefinedOutputFormat.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         8: .line 2281
            new java.lang.IllegalArgumentException
            dup
         9: .line 2282
            new java.lang.StringBuilder
            dup
            ldc "The \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\" output format can't be redefined"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 2281
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 2284
      StackMap locals: freemarker.template.Configuration java.util.Collection java.util.Map freemarker.core.OutputFormat java.util.Iterator java.lang.String
      StackMap stack:
            aload 5 /* name */
            getstatic freemarker.core.PlainTextOutputFormat.INSTANCE:Lfreemarker/core/PlainTextOutputFormat;
            invokevirtual freemarker.core.PlainTextOutputFormat.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        12: .line 2285
            new java.lang.IllegalArgumentException
            dup
        13: .line 2286
            new java.lang.StringBuilder
            dup
            ldc "The \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\" output format can't be redefined"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        14: .line 2285
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        15: .line 2288
      StackMap locals:
      StackMap stack:
            aload 5 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 17
        16: .line 2289
            new java.lang.IllegalArgumentException
            dup
            ldc "The output format name can't be 0 long"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        17: .line 2291
      StackMap locals:
      StackMap stack:
            aload 5 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifne 21
        18: .line 2292
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The output format name must start with letter or digit: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        19: .line 2293
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        20: .line 2292
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        21: .line 2295
      StackMap locals:
      StackMap stack:
            aload 5 /* name */
            bipush 43
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 25
        22: .line 2296
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The output format name can't contain \"+\" character: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        23: .line 2297
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        24: .line 2296
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        25: .line 2299
      StackMap locals:
      StackMap stack:
            aload 5 /* name */
            bipush 123
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 29
        26: .line 2300
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The output format name can't contain \"{\" character: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        27: .line 2301
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 2300
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        29: .line 2303
      StackMap locals:
      StackMap stack:
            aload 5 /* name */
            bipush 125
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 33
        30: .line 2304
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The output format name can't contain \"}\" character: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        31: .line 2305
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        32: .line 2304
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        33: .line 2308
      StackMap locals:
      StackMap stack:
            aload 2 /* m */
            aload 3 /* outputFormat */
            invokevirtual freemarker.core.OutputFormat.getName:()Ljava/lang/String;
            aload 3 /* outputFormat */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast freemarker.core.OutputFormat
            astore 6 /* replaced */
        start local 6 // freemarker.core.OutputFormat replaced
        34: .line 2309
            aload 6 /* replaced */
            ifnull 42
        35: .line 2310
            aload 6 /* replaced */
            aload 3 /* outputFormat */
            if_acmpne 39
        36: .line 2311
            new java.lang.IllegalArgumentException
            dup
        37: .line 2312
            new java.lang.StringBuilder
            dup
            ldc "Duplicate output format in the collection: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* outputFormat */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        38: .line 2311
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 2314
      StackMap locals: freemarker.core.OutputFormat
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
        40: .line 2315
            new java.lang.StringBuilder
            dup
            ldc "Clashing output format names between "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* replaced */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " and "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* outputFormat */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 2314
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // freemarker.core.OutputFormat replaced
        end local 5 // java.lang.String name
        end local 3 // freemarker.core.OutputFormat outputFormat
        42: .line 2278
      StackMap locals: freemarker.template.Configuration java.util.Collection java.util.Map top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        43: .line 2318
            aload 0 /* this */
            aload 2 /* m */
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            putfield freemarker.template.Configuration.registeredCustomOutputFormats:Ljava/util/Map;
        44: .line 2320
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.clearTemplateCache:()V
        45: .line 2321
            return
        end local 2 // java.util.Map m
        end local 1 // java.util.Collection registeredCustomOutputFormats
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   46     0                           this  Lfreemarker/template/Configuration;
            0   46     1  registeredCustomOutputFormats  Ljava/util/Collection<+Lfreemarker/core/OutputFormat;>;
            4   46     2                              m  Ljava/util/Map<Ljava/lang/String;Lfreemarker/core/OutputFormat;>;
            6   42     3                   outputFormat  Lfreemarker/core/OutputFormat;
            7   42     5                           name  Ljava/lang/String;
           34   42     6                       replaced  Lfreemarker/core/OutputFormat;
    Signature: (Ljava/util/Collection<+Lfreemarker/core/OutputFormat;>;)V
    MethodParameters:
                               Name  Flags
      registeredCustomOutputFormats  

  public java.util.Collection<? extends freemarker.core.OutputFormat> getRegisteredCustomOutputFormats();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2329
            aload 0 /* this */
            getfield freemarker.template.Configuration.registeredCustomOutputFormats:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;
    Signature: ()Ljava/util/Collection<+Lfreemarker/core/OutputFormat;>;

  public void setRecognizeStandardFileExtensions(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // boolean recognizeStandardFileExtensions
         0: .line 2358
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getRecognizeStandardFileExtensions:()Z
            istore 2 /* prevEffectiveValue */
        start local 2 // boolean prevEffectiveValue
         1: .line 2359
            aload 0 /* this */
            iload 1 /* recognizeStandardFileExtensions */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield freemarker.template.Configuration.recognizeStandardFileExtensions:Ljava/lang/Boolean;
         2: .line 2360
            iload 2 /* prevEffectiveValue */
            iload 1 /* recognizeStandardFileExtensions */
            if_icmpeq 4
         3: .line 2361
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.clearTemplateCache:()V
         4: .line 2363
      StackMap locals: int
      StackMap stack:
            return
        end local 2 // boolean prevEffectiveValue
        end local 1 // boolean recognizeStandardFileExtensions
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                             Name  Signature
            0    5     0                             this  Lfreemarker/template/Configuration;
            0    5     1  recognizeStandardFileExtensions  Z
            1    5     2               prevEffectiveValue  Z
    MethodParameters:
                                 Name  Flags
      recognizeStandardFileExtensions  

  public void unsetRecognizeStandardFileExtensions();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2373
            aload 0 /* this */
            getfield freemarker.template.Configuration.recognizeStandardFileExtensions:Ljava/lang/Boolean;
            ifnull 2
         1: .line 2374
            aload 0 /* this */
            aconst_null
            putfield freemarker.template.Configuration.recognizeStandardFileExtensions:Ljava/lang/Boolean;
         2: .line 2376
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/template/Configuration;

  public boolean isRecognizeStandardFileExtensionsExplicitlySet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2385
            aload 0 /* this */
            getfield freemarker.template.Configuration.recognizeStandardFileExtensions:Ljava/lang/Boolean;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/Configuration;

  public boolean getRecognizeStandardFileExtensions();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2394
            aload 0 /* this */
            getfield freemarker.template.Configuration.recognizeStandardFileExtensions:Ljava/lang/Boolean;
            ifnonnull 3
         1: .line 2395
            aload 0 /* this */
            getfield freemarker.template.Configuration.incompatibleImprovements:Lfreemarker/template/Version;
            invokevirtual freemarker.template.Version.intValue:()I
            getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_24:I
            if_icmplt 2
            iconst_1
            goto 4
      StackMap locals:
      StackMap stack:
         2: iconst_0
            goto 4
         3: .line 2396
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.recognizeStandardFileExtensions:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
         4: .line 2394
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lfreemarker/template/Configuration;

  public void setTagSyntax(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // int tagSyntax
         0: .line 2429
            iload 1 /* tagSyntax */
            invokestatic freemarker.template._TemplateAPI.valideTagSyntaxValue:(I)V
         1: .line 2430
            aload 0 /* this */
            iload 1 /* tagSyntax */
            putfield freemarker.template.Configuration.tagSyntax:I
         2: .line 2431
            return
        end local 1 // int tagSyntax
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lfreemarker/template/Configuration;
            0    3     1  tagSyntax  I
    MethodParameters:
           Name  Flags
      tagSyntax  

  public int getTagSyntax();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2437
            aload 0 /* this */
            getfield freemarker.template.Configuration.tagSyntax:I
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void setInterpolationSyntax(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // int interpolationSyntax
         0: .line 2455
            iload 1 /* interpolationSyntax */
            invokestatic freemarker.template._TemplateAPI.valideInterpolationSyntaxValue:(I)V
         1: .line 2456
            aload 0 /* this */
            iload 1 /* interpolationSyntax */
            putfield freemarker.template.Configuration.interpolationSyntax:I
         2: .line 2457
            return
        end local 1 // int interpolationSyntax
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lfreemarker/template/Configuration;
            0    3     1  interpolationSyntax  I
    MethodParameters:
                     Name  Flags
      interpolationSyntax  

  public int getInterpolationSyntax();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2465
            aload 0 /* this */
            getfield freemarker.template.Configuration.interpolationSyntax:I
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void setNamingConvention(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // int namingConvention
         0: .line 2520
            iload 1 /* namingConvention */
            invokestatic freemarker.template._TemplateAPI.validateNamingConventionValue:(I)V
         1: .line 2521
            aload 0 /* this */
            iload 1 /* namingConvention */
            putfield freemarker.template.Configuration.namingConvention:I
         2: .line 2522
            return
        end local 1 // int namingConvention
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lfreemarker/template/Configuration;
            0    3     1  namingConvention  I
    MethodParameters:
                  Name  Flags
      namingConvention  

  public int getNamingConvention();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2530
            aload 0 /* this */
            getfield freemarker.template.Configuration.namingConvention:I
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void setTabSize(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // int tabSize
         0: .line 2548
            iload 1 /* tabSize */
            iconst_1
            if_icmpge 2
         1: .line 2549
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "\"tabSize\" must be at least 1, but was "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* tabSize */
            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
         2: .line 2552
      StackMap locals:
      StackMap stack:
            iload 1 /* tabSize */
            sipush 256
            if_icmple 4
         3: .line 2553
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "\"tabSize\" can't be more than 256, but was "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* tabSize */
            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
         4: .line 2555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* tabSize */
            putfield freemarker.template.Configuration.tabSize:I
         5: .line 2556
            return
        end local 1 // int tabSize
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lfreemarker/template/Configuration;
            0    6     1  tabSize  I
    MethodParameters:
         Name  Flags
      tabSize  

  public int getTabSize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2564
            aload 0 /* this */
            getfield freemarker.template.Configuration.tabSize:I
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  boolean getPreventStrippings();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2573
            aload 0 /* this */
            getfield freemarker.template.Configuration.preventStrippings:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  void setPreventStrippings(boolean);
    descriptor: (Z)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // boolean preventStrippings
         0: .line 2583
            aload 0 /* this */
            iload 1 /* preventStrippings */
            putfield freemarker.template.Configuration.preventStrippings:Z
         1: .line 2584
            return
        end local 1 // boolean preventStrippings
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lfreemarker/template/Configuration;
            0    2     1  preventStrippings  Z
    MethodParameters:
                   Name  Flags
      preventStrippings  

  public freemarker.template.Template getTemplate(java.lang.String);
    descriptor: (Ljava/lang/String;)Lfreemarker/template/Template;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
         0: .line 2599
            aload 0 /* this */
            aload 1 /* name */
            aconst_null
            aconst_null
            aconst_null
            iconst_1
            iconst_0
            invokevirtual freemarker.template.Configuration.getTemplate:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;ZZ)Lfreemarker/template/Template;
            areturn
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws freemarker.template.TemplateNotFoundException, freemarker.template.MalformedTemplateNameException, freemarker.core.ParseException, java.io.IOException
    MethodParameters:
      Name  Flags
      name  

  public freemarker.template.Template getTemplate(java.lang.String, java.util.Locale);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;)Lfreemarker/template/Template;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
        start local 2 // java.util.Locale locale
         0: .line 2608
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* locale */
            aconst_null
            aconst_null
            iconst_1
            iconst_0
            invokevirtual freemarker.template.Configuration.getTemplate:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;ZZ)Lfreemarker/template/Template;
            areturn
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lfreemarker/template/Configuration;
            0    1     1    name  Ljava/lang/String;
            0    1     2  locale  Ljava/util/Locale;
    Exceptions:
      throws freemarker.template.TemplateNotFoundException, freemarker.template.MalformedTemplateNameException, freemarker.core.ParseException, java.io.IOException
    MethodParameters:
        Name  Flags
      name    
      locale  

  public freemarker.template.Template getTemplate(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/Template;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String encoding
         0: .line 2617
            aload 0 /* this */
            aload 1 /* name */
            aconst_null
            aconst_null
            aload 2 /* encoding */
            iconst_1
            iconst_0
            invokevirtual freemarker.template.Configuration.getTemplate:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;ZZ)Lfreemarker/template/Template;
            areturn
        end local 2 // java.lang.String encoding
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lfreemarker/template/Configuration;
            0    1     1      name  Ljava/lang/String;
            0    1     2  encoding  Ljava/lang/String;
    Exceptions:
      throws freemarker.template.TemplateNotFoundException, freemarker.template.MalformedTemplateNameException, freemarker.core.ParseException, java.io.IOException
    MethodParameters:
          Name  Flags
      name      
      encoding  

  public freemarker.template.Template getTemplate(java.lang.String, java.util.Locale, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;)Lfreemarker/template/Template;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=4
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
        start local 2 // java.util.Locale locale
        start local 3 // java.lang.String encoding
         0: .line 2626
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* locale */
            aconst_null
            aload 3 /* encoding */
            iconst_1
            iconst_0
            invokevirtual freemarker.template.Configuration.getTemplate:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;ZZ)Lfreemarker/template/Template;
            areturn
        end local 3 // java.lang.String encoding
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lfreemarker/template/Configuration;
            0    1     1      name  Ljava/lang/String;
            0    1     2    locale  Ljava/util/Locale;
            0    1     3  encoding  Ljava/lang/String;
    Exceptions:
      throws freemarker.template.TemplateNotFoundException, freemarker.template.MalformedTemplateNameException, freemarker.core.ParseException, java.io.IOException
    MethodParameters:
          Name  Flags
      name      
      locale    
      encoding  

  public freemarker.template.Template getTemplate(java.lang.String, java.util.Locale, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;Z)Lfreemarker/template/Template;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
        start local 2 // java.util.Locale locale
        start local 3 // java.lang.String encoding
        start local 4 // boolean parseAsFTL
         0: .line 2635
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* locale */
            aconst_null
            aload 3 /* encoding */
            iload 4 /* parseAsFTL */
            iconst_0
            invokevirtual freemarker.template.Configuration.getTemplate:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;ZZ)Lfreemarker/template/Template;
            areturn
        end local 4 // boolean parseAsFTL
        end local 3 // java.lang.String encoding
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lfreemarker/template/Configuration;
            0    1     1        name  Ljava/lang/String;
            0    1     2      locale  Ljava/util/Locale;
            0    1     3    encoding  Ljava/lang/String;
            0    1     4  parseAsFTL  Z
    Exceptions:
      throws freemarker.template.TemplateNotFoundException, freemarker.template.MalformedTemplateNameException, freemarker.core.ParseException, java.io.IOException
    MethodParameters:
            Name  Flags
      name        
      locale      
      encoding    
      parseAsFTL  

  public freemarker.template.Template getTemplate(java.lang.String, java.util.Locale, java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;ZZ)Lfreemarker/template/Template;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
        start local 2 // java.util.Locale locale
        start local 3 // java.lang.String encoding
        start local 4 // boolean parseAsFTL
        start local 5 // boolean ignoreMissing
         0: .line 2646
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* locale */
            aconst_null
            aload 3 /* encoding */
            iload 4 /* parseAsFTL */
            iload 5 /* ignoreMissing */
            invokevirtual freemarker.template.Configuration.getTemplate:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;ZZ)Lfreemarker/template/Template;
            areturn
        end local 5 // boolean ignoreMissing
        end local 4 // boolean parseAsFTL
        end local 3 // java.lang.String encoding
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    1     0           this  Lfreemarker/template/Configuration;
            0    1     1           name  Ljava/lang/String;
            0    1     2         locale  Ljava/util/Locale;
            0    1     3       encoding  Ljava/lang/String;
            0    1     4     parseAsFTL  Z
            0    1     5  ignoreMissing  Z
    Exceptions:
      throws freemarker.template.TemplateNotFoundException, freemarker.template.MalformedTemplateNameException, freemarker.core.ParseException, java.io.IOException
    MethodParameters:
               Name  Flags
      name           
      locale         
      encoding       
      parseAsFTL     
      ignoreMissing  

  public freemarker.template.Template getTemplate(java.lang.String, java.util.Locale, java.lang.Object, java.lang.String, boolean, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;ZZ)Lfreemarker/template/Template;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=14, args_size=7
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
        start local 2 // java.util.Locale locale
        start local 3 // java.lang.Object customLookupCondition
        start local 4 // java.lang.String encoding
        start local 5 // boolean parseAsFTL
        start local 6 // boolean ignoreMissing
         0: .line 2743
            aload 2 /* locale */
            ifnonnull 2
         1: .line 2744
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getLocale:()Ljava/util/Locale;
            astore 2 /* locale */
         2: .line 2746
      StackMap locals:
      StackMap stack:
            aload 4 /* encoding */
            ifnonnull 4
         3: .line 2747
            aload 0 /* this */
            aload 2 /* locale */
            invokevirtual freemarker.template.Configuration.getEncoding:(Ljava/util/Locale;)Ljava/lang/String;
            astore 4 /* encoding */
         4: .line 2750
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            aload 1 /* name */
            aload 2 /* locale */
            aload 3 /* customLookupCondition */
            aload 4 /* encoding */
            iload 5 /* parseAsFTL */
            invokevirtual freemarker.cache.TemplateCache.getTemplate:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)Lfreemarker/cache/TemplateCache$MaybeMissingTemplate;
            astore 7 /* maybeTemp */
        start local 7 // freemarker.cache.TemplateCache$MaybeMissingTemplate maybeTemp
         5: .line 2751
            aload 7 /* maybeTemp */
            invokevirtual freemarker.cache.TemplateCache$MaybeMissingTemplate.getTemplate:()Lfreemarker/template/Template;
            astore 8 /* temp */
        start local 8 // freemarker.template.Template temp
         6: .line 2752
            aload 8 /* temp */
            ifnonnull 61
         7: .line 2753
            iload 6 /* ignoreMissing */
            ifeq 9
         8: .line 2754
            aconst_null
            areturn
         9: .line 2757
      StackMap locals: freemarker.cache.TemplateCache$MaybeMissingTemplate freemarker.template.Template
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getTemplateLoader:()Lfreemarker/cache/TemplateLoader;
            astore 9 /* tl */
        start local 9 // freemarker.cache.TemplateLoader tl
        10: .line 2759
            aload 9 /* tl */
            ifnonnull 16
        11: .line 2760
            new java.lang.StringBuilder
            dup
            ldc "Don't know where to load template "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 2761
            ldc " from because the \"template_loader\" FreeMarker "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 2762
            ldc "setting wasn't set (Configuration.setTemplateLoader), so it's null."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 2760
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* msg */
        start local 10 // java.lang.String msg
        15: .line 2763
            goto 54
        end local 10 // java.lang.String msg
        16: .line 2764
      StackMap locals: freemarker.cache.TemplateLoader
      StackMap stack:
            aload 7 /* maybeTemp */
            invokevirtual freemarker.cache.TemplateCache$MaybeMissingTemplate.getMissingTemplateNormalizedName:()Ljava/lang/String;
            astore 11 /* missingTempNormName */
        start local 11 // java.lang.String missingTempNormName
        17: .line 2765
            aload 7 /* maybeTemp */
            invokevirtual freemarker.cache.TemplateCache$MaybeMissingTemplate.getMissingTemplateReason:()Ljava/lang/String;
            astore 12 /* missingTempReason */
        start local 12 // java.lang.String missingTempReason
        18: .line 2766
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getTemplateLookupStrategy:()Lfreemarker/cache/TemplateLookupStrategy;
            astore 13 /* templateLookupStrategy */
        start local 13 // freemarker.cache.TemplateLookupStrategy templateLookupStrategy
        19: .line 2767
            new java.lang.StringBuilder
            dup
            ldc "Template not found for name "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        20: .line 2768
            aload 11 /* missingTempNormName */
            ifnull 23
            aload 1 /* name */
            ifnull 23
        21: .line 2769
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual freemarker.template.Configuration.removeInitialSlash:(Ljava/lang/String;)Ljava/lang/String;
            aload 11 /* missingTempNormName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
        22: .line 2770
            new java.lang.StringBuilder
            dup
            ldc " (normalized: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 11 /* missingTempNormName */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)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;
            goto 24
        23: .line 2771
      StackMap locals: freemarker.template.Configuration java.lang.String java.util.Locale java.lang.Object java.lang.String int int freemarker.cache.TemplateCache$MaybeMissingTemplate freemarker.template.Template freemarker.cache.TemplateLoader top java.lang.String java.lang.String freemarker.cache.TemplateLookupStrategy
      StackMap stack: java.lang.StringBuilder
            ldc ""
        24: .line 2768
      StackMap locals: freemarker.template.Configuration java.lang.String java.util.Locale java.lang.Object java.lang.String int int freemarker.cache.TemplateCache$MaybeMissingTemplate freemarker.template.Template freemarker.cache.TemplateLoader top java.lang.String java.lang.String freemarker.cache.TemplateLookupStrategy
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 2772
            aload 3 /* customLookupCondition */
            ifnull 27
            new java.lang.StringBuilder
            dup
            ldc " and custom lookup condition "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        26: .line 2773
            aload 3 /* customLookupCondition */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 28
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
        27: ldc ""
        28: .line 2772
      StackMap locals: freemarker.template.Configuration java.lang.String java.util.Locale java.lang.Object java.lang.String int int freemarker.cache.TemplateCache$MaybeMissingTemplate freemarker.template.Template freemarker.cache.TemplateLoader top java.lang.String java.lang.String freemarker.cache.TemplateLookupStrategy
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        29: .line 2774
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        30: .line 2775
            aload 12 /* missingTempReason */
            ifnull 32
        31: .line 2776
            new java.lang.StringBuilder
            dup
            ldc "\nReason given: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 12 /* missingTempReason */
            invokevirtual freemarker.template.Configuration.ensureSentenceIsClosed:(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;
            goto 33
        32: .line 2777
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            ldc ""
        33: .line 2775
      StackMap locals: freemarker.template.Configuration java.lang.String java.util.Locale java.lang.Object java.lang.String int int freemarker.cache.TemplateCache$MaybeMissingTemplate freemarker.template.Template freemarker.cache.TemplateLoader top java.lang.String java.lang.String freemarker.cache.TemplateLookupStrategy
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        34: .line 2778
            ldc "\nThe name was interpreted by this TemplateLoader: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        35: .line 2779
            aload 9 /* tl */
            invokestatic freemarker.template.utility.StringUtil.tryToString:(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;
        36: .line 2780
            aload 0 /* this */
            aload 13 /* templateLookupStrategy */
            invokevirtual freemarker.template.Configuration.isKnownNonConfusingLookupStrategy:(Lfreemarker/cache/TemplateLookupStrategy;)Z
            ifne 41
        37: .line 2781
            new java.lang.StringBuilder
            dup
            ldc "\n(Before that, the name was possibly changed by this lookup strategy: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        38: .line 2782
            aload 13 /* templateLookupStrategy */
            invokestatic freemarker.template.utility.StringUtil.tryToString:(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;
        39: .line 2781
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 2782
            goto 42
        41: .line 2783
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            ldc ""
        42: .line 2780
      StackMap locals: freemarker.template.Configuration java.lang.String java.util.Locale java.lang.Object java.lang.String int int freemarker.cache.TemplateCache$MaybeMissingTemplate freemarker.template.Template freemarker.cache.TemplateLoader top java.lang.String java.lang.String freemarker.cache.TemplateLookupStrategy
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        43: .line 2785
            aload 0 /* this */
            getfield freemarker.template.Configuration.templateLoaderExplicitlySet:Z
            ifne 46
        44: .line 2786
            ldc "\nWarning: The \"template_loader\" FreeMarker setting wasn't set (Configuration.setTemplateLoader), and using the default value is most certainly not intended and dangerous, and can be the cause of this error."
        45: .line 2788
            goto 47
        46: .line 2789
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            ldc ""
        47: .line 2785
      StackMap locals: freemarker.template.Configuration java.lang.String java.util.Locale java.lang.Object java.lang.String int int freemarker.cache.TemplateCache$MaybeMissingTemplate freemarker.template.Template freemarker.cache.TemplateLoader top java.lang.String java.lang.String freemarker.cache.TemplateLookupStrategy
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        48: .line 2790
            aload 12 /* missingTempReason */
            ifnonnull 51
            aload 1 /* name */
            bipush 92
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 51
        49: .line 2791
            ldc "\nWarning: The name contains backslash (\"\\\") instead of slash (\"/\"); template names should use slash only."
        50: .line 2792
            goto 52
        51: .line 2793
      StackMap locals:
      StackMap stack: java.lang.StringBuilder
            ldc ""
        52: .line 2790
      StackMap locals: freemarker.template.Configuration java.lang.String java.util.Locale java.lang.Object java.lang.String int int freemarker.cache.TemplateCache$MaybeMissingTemplate freemarker.template.Template freemarker.cache.TemplateLoader top java.lang.String java.lang.String freemarker.cache.TemplateLookupStrategy
      StackMap stack: java.lang.StringBuilder java.lang.String
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        53: .line 2767
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 10 /* msg */
        end local 13 // freemarker.cache.TemplateLookupStrategy templateLookupStrategy
        end local 12 // java.lang.String missingTempReason
        end local 11 // java.lang.String missingTempNormName
        start local 10 // java.lang.String msg
        54: .line 2796
      StackMap locals: freemarker.template.Configuration java.lang.String java.util.Locale java.lang.Object java.lang.String int int freemarker.cache.TemplateCache$MaybeMissingTemplate freemarker.template.Template freemarker.cache.TemplateLoader java.lang.String
      StackMap stack:
            aload 7 /* maybeTemp */
            invokevirtual freemarker.cache.TemplateCache$MaybeMissingTemplate.getMissingTemplateNormalizedName:()Ljava/lang/String;
            astore 11 /* normName */
        start local 11 // java.lang.String normName
        55: .line 2797
            new freemarker.template.TemplateNotFoundException
            dup
        56: .line 2798
            aload 11 /* normName */
            ifnull 57
            aload 11 /* normName */
            goto 58
      StackMap locals: freemarker.template.Configuration java.lang.String java.util.Locale java.lang.Object java.lang.String int int freemarker.cache.TemplateCache$MaybeMissingTemplate freemarker.template.Template freemarker.cache.TemplateLoader java.lang.String java.lang.String
      StackMap stack: new 55 new 55
        57: aload 1 /* name */
        58: .line 2799
      StackMap locals: freemarker.template.Configuration java.lang.String java.util.Locale java.lang.Object java.lang.String int int freemarker.cache.TemplateCache$MaybeMissingTemplate freemarker.template.Template freemarker.cache.TemplateLoader java.lang.String java.lang.String
      StackMap stack: new 55 new 55 java.lang.String
            aload 3 /* customLookupCondition */
        59: .line 2800
            aload 10 /* msg */
        60: .line 2797
            invokespecial freemarker.template.TemplateNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.String normName
        end local 10 // java.lang.String msg
        end local 9 // freemarker.cache.TemplateLoader tl
        61: .line 2802
      StackMap locals:
      StackMap stack:
            aload 8 /* temp */
            areturn
        end local 8 // freemarker.template.Template temp
        end local 7 // freemarker.cache.TemplateCache$MaybeMissingTemplate maybeTemp
        end local 6 // boolean ignoreMissing
        end local 5 // boolean parseAsFTL
        end local 4 // java.lang.String encoding
        end local 3 // java.lang.Object customLookupCondition
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   62     0                    this  Lfreemarker/template/Configuration;
            0   62     1                    name  Ljava/lang/String;
            0   62     2                  locale  Ljava/util/Locale;
            0   62     3   customLookupCondition  Ljava/lang/Object;
            0   62     4                encoding  Ljava/lang/String;
            0   62     5              parseAsFTL  Z
            0   62     6           ignoreMissing  Z
            5   62     7               maybeTemp  Lfreemarker/cache/TemplateCache$MaybeMissingTemplate;
            6   62     8                    temp  Lfreemarker/template/Template;
           10   61     9                      tl  Lfreemarker/cache/TemplateLoader;
           15   16    10                     msg  Ljava/lang/String;
           54   61    10                     msg  Ljava/lang/String;
           17   54    11     missingTempNormName  Ljava/lang/String;
           18   54    12       missingTempReason  Ljava/lang/String;
           19   54    13  templateLookupStrategy  Lfreemarker/cache/TemplateLookupStrategy;
           55   61    11                normName  Ljava/lang/String;
    Exceptions:
      throws freemarker.template.TemplateNotFoundException, freemarker.template.MalformedTemplateNameException, freemarker.core.ParseException, java.io.IOException
    MethodParameters:
                       Name  Flags
      name                   
      locale                 
      customLookupCondition  
      encoding               
      parseAsFTL             
      ignoreMissing          

  private boolean isKnownNonConfusingLookupStrategy(freemarker.cache.TemplateLookupStrategy);
    descriptor: (Lfreemarker/cache/TemplateLookupStrategy;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.cache.TemplateLookupStrategy templateLookupStrategy
         0: .line 2806
            aload 1 /* templateLookupStrategy */
            getstatic freemarker.cache.TemplateLookupStrategy.DEFAULT_2_3_0:Lfreemarker/cache/TemplateLookupStrategy;
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // freemarker.cache.TemplateLookupStrategy templateLookupStrategy
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0    2     0                    this  Lfreemarker/template/Configuration;
            0    2     1  templateLookupStrategy  Lfreemarker/cache/TemplateLookupStrategy;
    MethodParameters:
                        Name  Flags
      templateLookupStrategy  

  private java.lang.String removeInitialSlash(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
         0: .line 2810
            aload 1 /* name */
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            aload 1 /* name */
            iconst_1
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* name */
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/template/Configuration;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private java.lang.String ensureSentenceIsClosed(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String s
         0: .line 2814
            aload 1 /* s */
            ifnull 1
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 2815
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            areturn
         2: .line 2818
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            istore 2 /* lastChar */
        start local 2 // char lastChar
         3: .line 2819
            iload 2 /* lastChar */
            bipush 46
            if_icmpeq 4
            iload 2 /* lastChar */
            bipush 33
            if_icmpeq 4
            iload 2 /* lastChar */
            bipush 63
            if_icmpne 5
      StackMap locals: int
      StackMap stack:
         4: aload 1 /* s */
            goto 6
      StackMap locals:
      StackMap stack:
         5: new java.lang.StringBuilder
            dup
            aload 1 /* s */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         6: areturn
        end local 2 // char lastChar
        end local 1 // java.lang.String s
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Lfreemarker/template/Configuration;
            0    7     1         s  Ljava/lang/String;
            3    7     2  lastChar  C
    MethodParameters:
      Name  Flags
      s     

  public void setDefaultEncoding(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String encoding
         0: .line 2838
            aload 0 /* this */
            aload 1 /* encoding */
            putfield freemarker.template.Configuration.defaultEncoding:Ljava/lang/String;
         1: .line 2839
            aload 0 /* this */
            iconst_1
            putfield freemarker.template.Configuration.defaultEncodingExplicitlySet:Z
         2: .line 2840
            return
        end local 1 // java.lang.String encoding
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lfreemarker/template/Configuration;
            0    3     1  encoding  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      encoding  

  public java.lang.String getDefaultEncoding();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2848
            aload 0 /* this */
            getfield freemarker.template.Configuration.defaultEncoding:Ljava/lang/String;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void unsetDefaultEncoding();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2857
            aload 0 /* this */
            getfield freemarker.template.Configuration.defaultEncodingExplicitlySet:Z
            ifeq 3
         1: .line 2858
            aload 0 /* this */
            invokestatic freemarker.template.Configuration.getDefaultDefaultEncoding:()Ljava/lang/String;
            invokevirtual freemarker.template.Configuration.setDefaultEncoding:(Ljava/lang/String;)V
         2: .line 2859
            aload 0 /* this */
            iconst_0
            putfield freemarker.template.Configuration.defaultEncodingExplicitlySet:Z
         3: .line 2861
      StackMap locals:
      StackMap stack:
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Configuration;

  public boolean isDefaultEncodingExplicitlySet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2870
            aload 0 /* this */
            getfield freemarker.template.Configuration.defaultEncodingExplicitlySet:Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  private static java.lang.String getDefaultDefaultEncoding();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2874
            invokestatic freemarker.template.Configuration.getJVMDefaultEncoding:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static java.lang.String getJVMDefaultEncoding();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 2878
            ldc "file.encoding"
            ldc "utf-8"
            invokestatic freemarker.template.utility.SecurityUtilities.getSystemProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.String getEncoding(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.util.Locale locale
         0: .line 2891
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            invokeinterface java.util.concurrent.ConcurrentMap.isEmpty:()Z
            ifeq 2
         1: .line 2892
            aload 0 /* this */
            getfield freemarker.template.Configuration.defaultEncoding:Ljava/lang/String;
            areturn
         2: .line 2895
      StackMap locals:
      StackMap stack:
            ldc "locale"
            aload 1 /* locale */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         3: .line 2896
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* locale */
            invokevirtual java.util.Locale.toString:()Ljava/lang/String;
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* charset */
        start local 2 // java.lang.String charset
         4: .line 2897
            aload 2 /* charset */
            ifnonnull 13
         5: .line 2898
            aload 1 /* locale */
            invokevirtual java.util.Locale.getVariant:()Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 10
         6: .line 2899
            new java.util.Locale
            dup
            aload 1 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            aload 1 /* locale */
            invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
            invokespecial java.util.Locale.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* l */
        start local 3 // java.util.Locale l
         7: .line 2900
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            aload 3 /* l */
            invokevirtual java.util.Locale.toString:()Ljava/lang/String;
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* charset */
         8: .line 2901
            aload 2 /* charset */
            ifnull 10
         9: .line 2902
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* locale */
            invokevirtual java.util.Locale.toString:()Ljava/lang/String;
            aload 2 /* charset */
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.util.Locale l
        10: .line 2905
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* locale */
            invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* charset */
        11: .line 2906
            aload 2 /* charset */
            ifnull 13
        12: .line 2907
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* locale */
            invokevirtual java.util.Locale.toString:()Ljava/lang/String;
            aload 2 /* charset */
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        13: .line 2910
      StackMap locals:
      StackMap stack:
            aload 2 /* charset */
            ifnull 14
            aload 2 /* charset */
            goto 15
      StackMap locals:
      StackMap stack:
        14: aload 0 /* this */
            getfield freemarker.template.Configuration.defaultEncoding:Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
        15: areturn
        end local 2 // java.lang.String charset
        end local 1 // java.util.Locale locale
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   16     0     this  Lfreemarker/template/Configuration;
            0   16     1   locale  Ljava/util/Locale;
            4   16     2  charset  Ljava/lang/String;
            7   10     3        l  Ljava/util/Locale;
    MethodParameters:
        Name  Flags
      locale  

  public void setEncoding(java.util.Locale, java.lang.String);
    descriptor: (Ljava/util/Locale;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.util.Locale locale
        start local 2 // java.lang.String encoding
         0: .line 2924
            aload 0 /* this */
            getfield freemarker.template.Configuration.localeToCharsetMap:Ljava/util/concurrent/ConcurrentMap;
            aload 1 /* locale */
            invokevirtual java.util.Locale.toString:()Ljava/lang/String;
            aload 2 /* encoding */
            invokeinterface java.util.concurrent.ConcurrentMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         1: .line 2925
            return
        end local 2 // java.lang.String encoding
        end local 1 // java.util.Locale locale
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lfreemarker/template/Configuration;
            0    2     1    locale  Ljava/util/Locale;
            0    2     2  encoding  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      locale    
      encoding  

  public void setSharedVariable(java.lang.String, freemarker.template.TemplateModel);
    descriptor: (Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
        start local 2 // freemarker.template.TemplateModel tm
         0: .line 2947
            aload 0 /* this */
            getfield freemarker.template.Configuration.sharedVariables:Ljava/util/HashMap;
            aload 1 /* name */
            aload 2 /* tm */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* replaced */
        start local 3 // java.lang.Object replaced
         1: .line 2948
            aload 3 /* replaced */
            ifnull 3
            aload 0 /* this */
            getfield freemarker.template.Configuration.rewrappableSharedVariables:Ljava/util/HashMap;
            ifnull 3
         2: .line 2949
            aload 0 /* this */
            getfield freemarker.template.Configuration.rewrappableSharedVariables:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 2951
      StackMap locals: java.lang.Object
      StackMap stack:
            return
        end local 3 // java.lang.Object replaced
        end local 2 // freemarker.template.TemplateModel tm
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lfreemarker/template/Configuration;
            0    4     1      name  Ljava/lang/String;
            0    4     2        tm  Lfreemarker/template/TemplateModel;
            1    4     3  replaced  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      name  
      tm    

  public java.util.Set getSharedVariableNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 2960
            new java.util.HashSet
            dup
            aload 0 /* this */
            getfield freemarker.template.Configuration.sharedVariables:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void setSharedVariable(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object value
         0: .line 2979
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
            aload 2 /* value */
            invokeinterface freemarker.template.ObjectWrapper.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
            invokevirtual freemarker.template.Configuration.setSharedVariable:(Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
         1: .line 2980
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lfreemarker/template/Configuration;
            0    2     1   name  Ljava/lang/String;
            0    2     2  value  Ljava/lang/Object;
    Exceptions:
      throws freemarker.template.TemplateModelException
    MethodParameters:
       Name  Flags
      name   
      value  

  public void setSharedVaribles(java.util.Map);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.util.Map map
         0: .line 3005
            aload 0 /* this */
            new java.util.HashMap
            dup
            aload 1 /* map */
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            putfield freemarker.template.Configuration.rewrappableSharedVariables:Ljava/util/HashMap;
         1: .line 3006
            aload 0 /* this */
            getfield freemarker.template.Configuration.sharedVariables:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
         2: .line 3007
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.setSharedVariablesFromRewrappableSharedVariables:()V
         3: .line 3008
            return
        end local 1 // java.util.Map map
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Configuration;
            0    4     1   map  Ljava/util/Map;
    Exceptions:
      throws freemarker.template.TemplateModelException
    MethodParameters:
      Name  Flags
      map   

  private void setSharedVariablesFromRewrappableSharedVariables();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 3011
            aload 0 /* this */
            getfield freemarker.template.Configuration.rewrappableSharedVariables:Ljava/util/HashMap;
            ifnonnull 1
            return
         1: .line 3012
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.rewrappableSharedVariables:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 1 /* it */
        start local 1 // java.util.Iterator it
         2: goto 11
         3: .line 3013
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 1 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 2 /* ent */
        start local 2 // java.util.Map$Entry ent
         4: .line 3014
            aload 2 /* ent */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* name */
        start local 3 // java.lang.String name
         5: .line 3015
            aload 2 /* ent */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 4 /* value */
        start local 4 // java.lang.Object value
         6: .line 3018
            aload 4 /* value */
            instanceof freemarker.template.TemplateModel
            ifeq 9
         7: .line 3019
            aload 4 /* value */
            checkcast freemarker.template.TemplateModel
            astore 5 /* valueAsTM */
        start local 5 // freemarker.template.TemplateModel valueAsTM
         8: .line 3020
            goto 10
        end local 5 // freemarker.template.TemplateModel valueAsTM
         9: .line 3021
      StackMap locals: java.util.Map$Entry java.lang.String java.lang.Object
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
            aload 4 /* value */
            invokeinterface freemarker.template.ObjectWrapper.wrap:(Ljava/lang/Object;)Lfreemarker/template/TemplateModel;
            astore 5 /* valueAsTM */
        start local 5 // freemarker.template.TemplateModel valueAsTM
        10: .line 3023
      StackMap locals: freemarker.template.TemplateModel
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.template.Configuration.sharedVariables:Ljava/util/HashMap;
            aload 3 /* name */
            aload 5 /* valueAsTM */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // freemarker.template.TemplateModel valueAsTM
        end local 4 // java.lang.Object value
        end local 3 // java.lang.String name
        end local 2 // java.util.Map$Entry ent
        11: .line 3012
      StackMap locals: freemarker.template.Configuration java.util.Iterator
      StackMap stack:
            aload 1 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 1 // java.util.Iterator it
        12: .line 3025
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   13     0       this  Lfreemarker/template/Configuration;
            2   12     1         it  Ljava/util/Iterator;
            4   11     2        ent  Ljava/util/Map$Entry;
            5   11     3       name  Ljava/lang/String;
            6   11     4      value  Ljava/lang/Object;
            8    9     5  valueAsTM  Lfreemarker/template/TemplateModel;
           10   11     5  valueAsTM  Lfreemarker/template/TemplateModel;
    Exceptions:
      throws freemarker.template.TemplateModelException

  public void setAllSharedVariables(freemarker.template.TemplateHashModelEx);
    descriptor: (Lfreemarker/template/TemplateHashModelEx;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.template.TemplateHashModelEx hash
         0: .line 3047
            aload 1 /* hash */
            invokeinterface freemarker.template.TemplateHashModelEx.keys:()Lfreemarker/template/TemplateCollectionModel;
            invokeinterface freemarker.template.TemplateCollectionModel.iterator:()Lfreemarker/template/TemplateModelIterator;
            astore 2 /* keys */
        start local 2 // freemarker.template.TemplateModelIterator keys
         1: .line 3048
            aload 1 /* hash */
            invokeinterface freemarker.template.TemplateHashModelEx.values:()Lfreemarker/template/TemplateCollectionModel;
            invokeinterface freemarker.template.TemplateCollectionModel.iterator:()Lfreemarker/template/TemplateModelIterator;
            astore 3 /* values */
        start local 3 // freemarker.template.TemplateModelIterator values
         2: .line 3049
            goto 4
         3: .line 3050
      StackMap locals: freemarker.template.TemplateModelIterator freemarker.template.TemplateModelIterator
      StackMap stack:
            aload 0 /* this */
            aload 2 /* keys */
            invokeinterface freemarker.template.TemplateModelIterator.next:()Lfreemarker/template/TemplateModel;
            checkcast freemarker.template.TemplateScalarModel
            invokeinterface freemarker.template.TemplateScalarModel.getAsString:()Ljava/lang/String;
            aload 3 /* values */
            invokeinterface freemarker.template.TemplateModelIterator.next:()Lfreemarker/template/TemplateModel;
            invokevirtual freemarker.template.Configuration.setSharedVariable:(Ljava/lang/String;Lfreemarker/template/TemplateModel;)V
         4: .line 3049
      StackMap locals:
      StackMap stack:
            aload 2 /* keys */
            invokeinterface freemarker.template.TemplateModelIterator.hasNext:()Z
            ifne 3
         5: .line 3052
            return
        end local 3 // freemarker.template.TemplateModelIterator values
        end local 2 // freemarker.template.TemplateModelIterator keys
        end local 1 // freemarker.template.TemplateHashModelEx hash
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lfreemarker/template/Configuration;
            0    6     1    hash  Lfreemarker/template/TemplateHashModelEx;
            1    6     2    keys  Lfreemarker/template/TemplateModelIterator;
            2    6     3  values  Lfreemarker/template/TemplateModelIterator;
    Exceptions:
      throws freemarker.template.TemplateModelException
    MethodParameters:
      Name  Flags
      hash  

  public freemarker.template.TemplateModel getSharedVariable(java.lang.String);
    descriptor: (Ljava/lang/String;)Lfreemarker/template/TemplateModel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
         0: .line 3067
            aload 0 /* this */
            getfield freemarker.template.Configuration.sharedVariables:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast freemarker.template.TemplateModel
            areturn
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  public void clearSharedVariables();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 3074
            aload 0 /* this */
            getfield freemarker.template.Configuration.sharedVariables:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clear:()V
         1: .line 3075
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.loadBuiltInSharedVariables:()V
         2: .line 3076
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/template/Configuration;

  public void clearTemplateCache();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 3085
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.clear:()V
         1: .line 3086
            return
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/template/Configuration;

  public void removeTemplateFromCache(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
         0: .line 3095
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getLocale:()Ljava/util/Locale;
            astore 2 /* loc */
        start local 2 // java.util.Locale loc
         1: .line 3096
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* loc */
            aconst_null
            aload 0 /* this */
            aload 2 /* loc */
            invokevirtual freemarker.template.Configuration.getEncoding:(Ljava/util/Locale;)Ljava/lang/String;
            iconst_1
            invokevirtual freemarker.template.Configuration.removeTemplateFromCache:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)V
         2: .line 3097
            return
        end local 2 // java.util.Locale loc
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/template/Configuration;
            0    3     1  name  Ljava/lang/String;
            1    3     2   loc  Ljava/util/Locale;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      name  

  public void removeTemplateFromCache(java.lang.String, java.util.Locale);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
        start local 2 // java.util.Locale locale
         0: .line 3106
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* locale */
            aconst_null
            aload 0 /* this */
            aload 2 /* locale */
            invokevirtual freemarker.template.Configuration.getEncoding:(Ljava/util/Locale;)Ljava/lang/String;
            iconst_1
            invokevirtual freemarker.template.Configuration.removeTemplateFromCache:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)V
         1: .line 3107
            return
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lfreemarker/template/Configuration;
            0    2     1    name  Ljava/lang/String;
            0    2     2  locale  Ljava/util/Locale;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      name    
      locale  

  public void removeTemplateFromCache(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String encoding
         0: .line 3116
            aload 0 /* this */
            aload 1 /* name */
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getLocale:()Ljava/util/Locale;
            aconst_null
            aload 2 /* encoding */
            iconst_1
            invokevirtual freemarker.template.Configuration.removeTemplateFromCache:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)V
         1: .line 3117
            return
        end local 2 // java.lang.String encoding
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lfreemarker/template/Configuration;
            0    2     1      name  Ljava/lang/String;
            0    2     2  encoding  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      name      
      encoding  

  public void removeTemplateFromCache(java.lang.String, java.util.Locale, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
        start local 2 // java.util.Locale locale
        start local 3 // java.lang.String encoding
         0: .line 3126
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* locale */
            aconst_null
            aload 3 /* encoding */
            iconst_1
            invokevirtual freemarker.template.Configuration.removeTemplateFromCache:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)V
         1: .line 3127
            return
        end local 3 // java.lang.String encoding
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lfreemarker/template/Configuration;
            0    2     1      name  Ljava/lang/String;
            0    2     2    locale  Ljava/util/Locale;
            0    2     3  encoding  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      name      
      locale    
      encoding  

  public void removeTemplateFromCache(java.lang.String, java.util.Locale, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
        start local 2 // java.util.Locale locale
        start local 3 // java.lang.String encoding
        start local 4 // boolean parse
         0: .line 3138
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* locale */
            aconst_null
            aload 3 /* encoding */
            iload 4 /* parse */
            invokevirtual freemarker.template.Configuration.removeTemplateFromCache:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)V
         1: .line 3139
            return
        end local 4 // boolean parse
        end local 3 // java.lang.String encoding
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lfreemarker/template/Configuration;
            0    2     1      name  Ljava/lang/String;
            0    2     2    locale  Ljava/util/Locale;
            0    2     3  encoding  Ljava/lang/String;
            0    2     4     parse  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      name      
      locale    
      encoding  
      parse     

  public void removeTemplateFromCache(java.lang.String, java.util.Locale, java.lang.Object, java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
        start local 2 // java.util.Locale locale
        start local 3 // java.lang.Object customLookupCondition
        start local 4 // java.lang.String encoding
        start local 5 // boolean parse
         0: .line 3157
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            aload 1 /* name */
            aload 2 /* locale */
            aload 3 /* customLookupCondition */
            aload 4 /* encoding */
            iload 5 /* parse */
            invokevirtual freemarker.cache.TemplateCache.removeTemplate:(Ljava/lang/String;Ljava/util/Locale;Ljava/lang/Object;Ljava/lang/String;Z)V
         1: .line 3158
            return
        end local 5 // boolean parse
        end local 4 // java.lang.String encoding
        end local 3 // java.lang.Object customLookupCondition
        end local 2 // java.util.Locale locale
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    2     0                   this  Lfreemarker/template/Configuration;
            0    2     1                   name  Ljava/lang/String;
            0    2     2                 locale  Ljava/util/Locale;
            0    2     3  customLookupCondition  Ljava/lang/Object;
            0    2     4               encoding  Ljava/lang/String;
            0    2     5                  parse  Z
    Exceptions:
      throws java.io.IOException
    MethodParameters:
                       Name  Flags
      name                   
      locale                 
      customLookupCondition  
      encoding               
      parse                  

  public boolean getLocalizedLookup();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 3166
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            invokevirtual freemarker.cache.TemplateCache.getLocalizedLookup:()Z
            ireturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public void setLocalizedLookup(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // boolean localizedLookup
         0: .line 3190
            aload 0 /* this */
            iload 1 /* localizedLookup */
            putfield freemarker.template.Configuration.localizedLookup:Z
         1: .line 3191
            aload 0 /* this */
            getfield freemarker.template.Configuration.cache:Lfreemarker/cache/TemplateCache;
            iload 1 /* localizedLookup */
            invokevirtual freemarker.cache.TemplateCache.setLocalizedLookup:(Z)V
         2: .line 3192
            return
        end local 1 // boolean localizedLookup
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lfreemarker/template/Configuration;
            0    3     1  localizedLookup  Z
    MethodParameters:
                 Name  Flags
      localizedLookup  

  public void setSetting(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=11, args_size=3
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
         0: .line 3196
            iconst_0
            istore 3 /* unknown */
        start local 3 // boolean unknown
         1: .line 3198
            ldc "TemplateUpdateInterval"
            aload 1 /* name */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 4
         2: .line 3199
            ldc "template_update_delay"
            astore 1 /* name */
         3: .line 3200
            goto 6
      StackMap locals: int
      StackMap stack:
         4: ldc "DefaultEncoding"
            aload 1 /* name */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 3201
            ldc "default_encoding"
            astore 1 /* name */
         6: .line 3204
      StackMap locals:
      StackMap stack:
            ldc "default_encoding"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
            ldc "defaultEncoding"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
         7: .line 3205
      StackMap locals:
      StackMap stack:
            ldc "JVM default"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 10
         8: .line 3206
            aload 0 /* this */
            invokestatic freemarker.template.Configuration.getJVMDefaultEncoding:()Ljava/lang/String;
            invokevirtual freemarker.template.Configuration.setDefaultEncoding:(Ljava/lang/String;)V
         9: .line 3207
            goto 205
        10: .line 3208
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual freemarker.template.Configuration.setDefaultEncoding:(Ljava/lang/String;)V
        11: .line 3210
            goto 205
      StackMap locals:
      StackMap stack:
        12: ldc "localized_lookup"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 13
            ldc "localizedLookup"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 15
        13: .line 3211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokestatic freemarker.template.utility.StringUtil.getYesNo:(Ljava/lang/String;)Z
            invokevirtual freemarker.template.Configuration.setLocalizedLookup:(Z)V
        14: .line 3212
            goto 205
      StackMap locals:
      StackMap stack:
        15: ldc "strict_syntax"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 16
            ldc "strictSyntax"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        16: .line 3213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokestatic freemarker.template.utility.StringUtil.getYesNo:(Ljava/lang/String;)Z
            invokevirtual freemarker.template.Configuration.setStrictSyntaxMode:(Z)V
        17: .line 3214
            goto 205
      StackMap locals:
      StackMap stack:
        18: ldc "whitespace_stripping"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 20
        19: .line 3215
            ldc "whitespaceStripping"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        20: .line 3216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokestatic freemarker.template.utility.StringUtil.getYesNo:(Ljava/lang/String;)Z
            invokevirtual freemarker.template.Configuration.setWhitespaceStripping:(Z)V
        21: .line 3217
            goto 205
      StackMap locals:
      StackMap stack:
        22: ldc "auto_escaping_policy"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            ldc "autoEscapingPolicy"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
        23: .line 3218
      StackMap locals:
      StackMap stack:
            ldc "enable_if_default"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 24
            ldc "enableIfDefault"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 26
        24: .line 3219
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 21
            invokevirtual freemarker.template.Configuration.setAutoEscapingPolicy:(I)V
        25: .line 3220
            goto 205
      StackMap locals:
      StackMap stack:
        26: ldc "enable_if_supported"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 27
            ldc "enableIfSupported"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        27: .line 3221
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 22
            invokevirtual freemarker.template.Configuration.setAutoEscapingPolicy:(I)V
        28: .line 3222
            goto 205
      StackMap locals:
      StackMap stack:
        29: ldc "disable"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 32
        30: .line 3223
            aload 0 /* this */
            bipush 20
            invokevirtual freemarker.template.Configuration.setAutoEscapingPolicy:(I)V
        31: .line 3224
            goto 205
        32: .line 3225
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual freemarker.template.Configuration.invalidSettingValueException:(Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateException;
            athrow
        33: .line 3227
      StackMap locals:
      StackMap stack:
            ldc "output_format"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 34
            ldc "outputFormat"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 44
        34: .line 3228
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc "default"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 37
        35: .line 3229
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetOutputFormat:()V
        36: .line 3230
            goto 205
        37: .line 3231
      StackMap locals:
      StackMap stack:
            getstatic freemarker.template.Configuration.STANDARD_OUTPUT_FORMATS:Ljava/util/Map;
            aload 2 /* value */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast freemarker.core.OutputFormat
            astore 4 /* stdOF */
        start local 4 // freemarker.core.OutputFormat stdOF
        38: .line 3232
            aload 0 /* this */
        39: .line 3233
            aload 4 /* stdOF */
            ifnull 40
            aload 4 /* stdOF */
            goto 42
        40: .line 3235
      StackMap locals: freemarker.template.Configuration java.lang.String java.lang.String int freemarker.core.OutputFormat
      StackMap stack: freemarker.template.Configuration
            aload 2 /* value */
            ldc Lfreemarker/core/OutputFormat;
            iconst_1
            invokestatic freemarker.core._SettingEvaluationEnvironment.getCurrent:()Lfreemarker/core/_SettingEvaluationEnvironment;
        41: .line 3234
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.eval:(Ljava/lang/String;Ljava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)Ljava/lang/Object;
            checkcast freemarker.core.OutputFormat
        42: .line 3232
      StackMap locals: freemarker.template.Configuration java.lang.String java.lang.String int freemarker.core.OutputFormat
      StackMap stack: freemarker.template.Configuration freemarker.core.OutputFormat
            invokevirtual freemarker.template.Configuration.setOutputFormat:(Lfreemarker/core/OutputFormat;)V
        end local 4 // freemarker.core.OutputFormat stdOF
        43: .line 3237
            goto 205
      StackMap locals:
      StackMap stack:
        44: ldc "registered_custom_output_formats"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 46
        45: .line 3238
            ldc "registeredCustomOutputFormats"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 58
        46: .line 3240
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc Ljava/util/List;
            iconst_1
            invokestatic freemarker.core._SettingEvaluationEnvironment.getCurrent:()Lfreemarker/core/_SettingEvaluationEnvironment;
        47: .line 3239
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.eval:(Ljava/lang/String;Ljava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)Ljava/lang/Object;
            checkcast java.util.List
            astore 4 /* list */
        start local 4 // java.util.List list
        48: .line 3241
            aload 4 /* list */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 55
      StackMap locals: freemarker.template.Configuration java.lang.String java.lang.String int java.util.List top java.util.Iterator
      StackMap stack:
        49: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 5 /* item */
        start local 5 // java.lang.Object item
        50: .line 3242
            aload 5 /* item */
            instanceof freemarker.core.OutputFormat
            ifne 55
        51: .line 3243
            new freemarker.core._MiscTemplateException
            dup
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getEnvironment:()Lfreemarker/core/Environment;
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
        52: .line 3244
            ldc "Invalid value for setting "
            aastore
            dup
            iconst_1
            new freemarker.core._DelayedJQuote
            dup
            aload 1 /* name */
            invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
            aastore
            dup
            iconst_2
            new java.lang.StringBuilder
            dup
            ldc ": List items must be "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        53: .line 3245
            ldc Lfreemarker/core/OutputFormat;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " instances, in: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_3
            aload 2 /* value */
        54: .line 3243
            aastore
            invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Environment;[Ljava/lang/Object;)V
            athrow
        end local 5 // java.lang.Object item
        55: .line 3241
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 49
        56: .line 3248
            aload 0 /* this */
            aload 4 /* list */
            invokevirtual freemarker.template.Configuration.setRegisteredCustomOutputFormats:(Ljava/util/Collection;)V
        end local 4 // java.util.List list
        57: .line 3249
            goto 205
      StackMap locals: freemarker.template.Configuration java.lang.String java.lang.String int
      StackMap stack:
        58: ldc "recognize_standard_file_extensions"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 60
        59: .line 3250
            ldc "recognizeStandardFileExtensions"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 65
        60: .line 3251
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc "default"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 63
        61: .line 3252
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetRecognizeStandardFileExtensions:()V
        62: .line 3253
            goto 205
        63: .line 3254
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokestatic freemarker.template.utility.StringUtil.getYesNo:(Ljava/lang/String;)Z
            invokevirtual freemarker.template.Configuration.setRecognizeStandardFileExtensions:(Z)V
        64: .line 3256
            goto 205
      StackMap locals:
      StackMap stack:
        65: ldc "cache_storage"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 66
            ldc "cacheStorage"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 97
        66: .line 3257
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc "default"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 68
        67: .line 3258
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetCacheStorage:()V
        68: .line 3259
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 93
        69: .line 3260
            iconst_0
            istore 4 /* strongSize */
        start local 4 // int strongSize
        70: .line 3261
            iconst_0
            istore 5 /* softSize */
        start local 5 // int softSize
        71: .line 3263
            aload 2 /* value */
            ldc 2147483647
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
        72: .line 3262
            invokestatic freemarker.template.utility.StringUtil.parseNameValuePairList:(Ljava/lang/String;Ljava/lang/String;)Ljava/util/Map;
            astore 6 /* map */
        start local 6 // java.util.Map map
        73: .line 3264
            aload 6 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7 /* it */
        start local 7 // java.util.Iterator it
        74: .line 3265
            goto 88
        75: .line 3266
      StackMap locals: freemarker.template.Configuration java.lang.String java.lang.String int int int java.util.Map java.util.Iterator
      StackMap stack:
            aload 7 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 8 /* ent */
        start local 8 // java.util.Map$Entry ent
        76: .line 3267
            aload 8 /* ent */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* pname */
        start local 9 // java.lang.String pname
        77: .line 3270
            aload 8 /* ent */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 10 /* pvalue */
        start local 10 // int pvalue
        78: .line 3271
            goto 81
        end local 10 // int pvalue
      StackMap locals: freemarker.template.Configuration java.lang.String java.lang.String int int int java.util.Map java.util.Iterator java.util.Map$Entry java.lang.String
      StackMap stack: java.lang.NumberFormatException
        79: pop
        80: .line 3272
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual freemarker.template.Configuration.invalidSettingValueException:(Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateException;
            athrow
        start local 10 // int pvalue
        81: .line 3274
      StackMap locals: int
      StackMap stack:
            ldc "soft"
            aload 9 /* pname */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 84
        82: .line 3275
            iload 10 /* pvalue */
            istore 5 /* softSize */
        83: .line 3276
            goto 88
      StackMap locals:
      StackMap stack:
        84: ldc "strong"
            aload 9 /* pname */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 87
        85: .line 3277
            iload 10 /* pvalue */
            istore 4 /* strongSize */
        86: .line 3278
            goto 88
        87: .line 3279
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual freemarker.template.Configuration.invalidSettingValueException:(Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateException;
            athrow
        end local 10 // int pvalue
        end local 9 // java.lang.String pname
        end local 8 // java.util.Map$Entry ent
        88: .line 3265
      StackMap locals:
      StackMap stack:
            aload 7 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 75
        89: .line 3282
            iload 5 /* softSize */
            ifne 91
            iload 4 /* strongSize */
            ifne 91
        90: .line 3283
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual freemarker.template.Configuration.invalidSettingValueException:(Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateException;
            athrow
        91: .line 3285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new freemarker.cache.MruCacheStorage
            dup
            iload 4 /* strongSize */
            iload 5 /* softSize */
            invokespecial freemarker.cache.MruCacheStorage.<init>:(II)V
            invokevirtual freemarker.template.Configuration.setCacheStorage:(Lfreemarker/cache/CacheStorage;)V
        end local 7 // java.util.Iterator it
        end local 6 // java.util.Map map
        end local 5 // int softSize
        end local 4 // int strongSize
        92: .line 3286
            goto 205
        93: .line 3287
      StackMap locals: freemarker.template.Configuration java.lang.String java.lang.String int
      StackMap stack:
            aload 0 /* this */
        94: .line 3288
            aload 2 /* value */
            ldc Lfreemarker/cache/CacheStorage;
            iconst_0
            invokestatic freemarker.core._SettingEvaluationEnvironment.getCurrent:()Lfreemarker/core/_SettingEvaluationEnvironment;
        95: .line 3287
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.eval:(Ljava/lang/String;Ljava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)Ljava/lang/Object;
            checkcast freemarker.cache.CacheStorage
            invokevirtual freemarker.template.Configuration.setCacheStorage:(Lfreemarker/cache/CacheStorage;)V
        96: .line 3290
            goto 205
      StackMap locals:
      StackMap stack:
        97: ldc "template_update_delay"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 99
        98: .line 3291
            ldc "templateUpdateDelay"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 119
        99: .line 3294
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc "ms"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 103
       100: .line 3295
            lconst_1
            lstore 4 /* multipier */
        start local 4 // long multipier
       101: .line 3296
            aload 0 /* this */
            aload 2 /* value */
            iconst_0
            aload 2 /* value */
            invokevirtual java.lang.String.length:()I
            iconst_2
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual freemarker.template.Configuration.rightTrim:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* valueWithoutUnit */
        start local 6 // java.lang.String valueWithoutUnit
       102: .line 3297
            goto 117
        end local 6 // java.lang.String valueWithoutUnit
        end local 4 // long multipier
      StackMap locals:
      StackMap stack:
       103: aload 2 /* value */
            ldc "s"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 107
       104: .line 3298
            ldc 1000
            lstore 4 /* multipier */
        start local 4 // long multipier
       105: .line 3299
            aload 0 /* this */
            aload 2 /* value */
            iconst_0
            aload 2 /* value */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual freemarker.template.Configuration.rightTrim:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* valueWithoutUnit */
        start local 6 // java.lang.String valueWithoutUnit
       106: .line 3300
            goto 117
        end local 6 // java.lang.String valueWithoutUnit
        end local 4 // long multipier
      StackMap locals:
      StackMap stack:
       107: aload 2 /* value */
            ldc "m"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 111
       108: .line 3301
            ldc 60000
            lstore 4 /* multipier */
        start local 4 // long multipier
       109: .line 3302
            aload 0 /* this */
            aload 2 /* value */
            iconst_0
            aload 2 /* value */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual freemarker.template.Configuration.rightTrim:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* valueWithoutUnit */
        start local 6 // java.lang.String valueWithoutUnit
       110: .line 3303
            goto 117
        end local 6 // java.lang.String valueWithoutUnit
        end local 4 // long multipier
      StackMap locals:
      StackMap stack:
       111: aload 2 /* value */
            ldc "h"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 115
       112: .line 3304
            ldc 3600000
            lstore 4 /* multipier */
        start local 4 // long multipier
       113: .line 3305
            aload 0 /* this */
            aload 2 /* value */
            iconst_0
            aload 2 /* value */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual freemarker.template.Configuration.rightTrim:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* valueWithoutUnit */
        start local 6 // java.lang.String valueWithoutUnit
       114: .line 3306
            goto 117
        end local 6 // java.lang.String valueWithoutUnit
        end local 4 // long multipier
       115: .line 3307
      StackMap locals:
      StackMap stack:
            ldc 1000
            lstore 4 /* multipier */
        start local 4 // long multipier
       116: .line 3308
            aload 2 /* value */
            astore 6 /* valueWithoutUnit */
        start local 6 // java.lang.String valueWithoutUnit
       117: .line 3310
      StackMap locals: long java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 6 /* valueWithoutUnit */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            i2l
            lload 4 /* multipier */
            lmul
            invokevirtual freemarker.template.Configuration.setTemplateUpdateDelayMilliseconds:(J)V
        end local 6 // java.lang.String valueWithoutUnit
        end local 4 // long multipier
       118: .line 3311
            goto 205
      StackMap locals:
      StackMap stack:
       119: ldc "tag_syntax"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 120
            ldc "tagSyntax"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 130
       120: .line 3312
      StackMap locals:
      StackMap stack:
            ldc "auto_detect"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 121
            ldc "autoDetect"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 123
       121: .line 3313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            invokevirtual freemarker.template.Configuration.setTagSyntax:(I)V
       122: .line 3314
            goto 205
      StackMap locals:
      StackMap stack:
       123: ldc "angle_bracket"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 124
            ldc "angleBracket"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 126
       124: .line 3315
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            invokevirtual freemarker.template.Configuration.setTagSyntax:(I)V
       125: .line 3316
            goto 205
      StackMap locals:
      StackMap stack:
       126: ldc "square_bracket"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 127
            ldc "squareBracket"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 129
       127: .line 3317
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            invokevirtual freemarker.template.Configuration.setTagSyntax:(I)V
       128: .line 3318
            goto 205
       129: .line 3319
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual freemarker.template.Configuration.invalidSettingValueException:(Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateException;
            athrow
       130: .line 3321
      StackMap locals:
      StackMap stack:
            ldc "interpolation_syntax"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 132
       131: .line 3322
            ldc "interpolationSyntax"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 142
       132: .line 3323
      StackMap locals:
      StackMap stack:
            ldc "legacy"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 135
       133: .line 3324
            aload 0 /* this */
            bipush 20
            invokevirtual freemarker.template.Configuration.setInterpolationSyntax:(I)V
       134: .line 3325
            goto 205
      StackMap locals:
      StackMap stack:
       135: ldc "dollar"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 138
       136: .line 3326
            aload 0 /* this */
            bipush 21
            invokevirtual freemarker.template.Configuration.setInterpolationSyntax:(I)V
       137: .line 3327
            goto 205
      StackMap locals:
      StackMap stack:
       138: ldc "square_bracket"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 139
            ldc "squareBracket"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 141
       139: .line 3328
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 22
            invokevirtual freemarker.template.Configuration.setInterpolationSyntax:(I)V
       140: .line 3329
            goto 205
       141: .line 3330
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual freemarker.template.Configuration.invalidSettingValueException:(Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateException;
            athrow
       142: .line 3332
      StackMap locals:
      StackMap stack:
            ldc "naming_convention"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 143
            ldc "namingConvention"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 153
       143: .line 3333
      StackMap locals:
      StackMap stack:
            ldc "auto_detect"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 144
            ldc "autoDetect"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 146
       144: .line 3334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 10
            invokevirtual freemarker.template.Configuration.setNamingConvention:(I)V
       145: .line 3335
            goto 205
      StackMap locals:
      StackMap stack:
       146: ldc "legacy"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 149
       147: .line 3336
            aload 0 /* this */
            bipush 11
            invokevirtual freemarker.template.Configuration.setNamingConvention:(I)V
       148: .line 3337
            goto 205
      StackMap locals:
      StackMap stack:
       149: ldc "camel_case"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 150
            ldc "camelCase"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 152
       150: .line 3338
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 12
            invokevirtual freemarker.template.Configuration.setNamingConvention:(I)V
       151: .line 3339
            goto 205
       152: .line 3340
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual freemarker.template.Configuration.invalidSettingValueException:(Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateException;
            athrow
       153: .line 3342
      StackMap locals:
      StackMap stack:
            ldc "tab_size"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 154
            ldc "tabSize"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 156
       154: .line 3343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokevirtual freemarker.template.Configuration.setTabSize:(I)V
       155: .line 3344
            goto 205
      StackMap locals:
      StackMap stack:
       156: ldc "incompatible_improvements"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 158
       157: .line 3345
            ldc "incompatibleImprovements"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 160
       158: .line 3346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new freemarker.template.Version
            dup
            aload 2 /* value */
            invokespecial freemarker.template.Version.<init>:(Ljava/lang/String;)V
            invokevirtual freemarker.template.Configuration.setIncompatibleImprovements:(Lfreemarker/template/Version;)V
       159: .line 3347
            goto 205
      StackMap locals:
      StackMap stack:
       160: ldc "incompatible_enhancements"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 163
       161: .line 3348
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual freemarker.template.Configuration.setIncompatibleEnhancements:(Ljava/lang/String;)V
       162: .line 3349
            goto 205
      StackMap locals:
      StackMap stack:
       163: ldc "template_loader"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 164
            ldc "templateLoader"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 171
       164: .line 3350
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc "default"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 167
       165: .line 3351
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetTemplateLoader:()V
       166: .line 3352
            goto 205
       167: .line 3353
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       168: .line 3354
            aload 2 /* value */
            ldc Lfreemarker/cache/TemplateLoader;
            iconst_1
            invokestatic freemarker.core._SettingEvaluationEnvironment.getCurrent:()Lfreemarker/core/_SettingEvaluationEnvironment;
       169: .line 3353
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.eval:(Ljava/lang/String;Ljava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)Ljava/lang/Object;
            checkcast freemarker.cache.TemplateLoader
            invokevirtual freemarker.template.Configuration.setTemplateLoader:(Lfreemarker/cache/TemplateLoader;)V
       170: .line 3356
            goto 205
      StackMap locals:
      StackMap stack:
       171: ldc "template_lookup_strategy"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 173
       172: .line 3357
            ldc "templateLookupStrategy"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 180
       173: .line 3358
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc "default"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 176
       174: .line 3359
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetTemplateLookupStrategy:()V
       175: .line 3360
            goto 205
       176: .line 3361
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       177: .line 3362
            aload 2 /* value */
            ldc Lfreemarker/cache/TemplateLookupStrategy;
            iconst_0
            invokestatic freemarker.core._SettingEvaluationEnvironment.getCurrent:()Lfreemarker/core/_SettingEvaluationEnvironment;
       178: .line 3361
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.eval:(Ljava/lang/String;Ljava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)Ljava/lang/Object;
            checkcast freemarker.cache.TemplateLookupStrategy
            invokevirtual freemarker.template.Configuration.setTemplateLookupStrategy:(Lfreemarker/cache/TemplateLookupStrategy;)V
       179: .line 3364
            goto 205
      StackMap locals:
      StackMap stack:
       180: ldc "template_name_format"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 182
       181: .line 3365
            ldc "templateNameFormat"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 192
       182: .line 3366
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc "default"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 185
       183: .line 3367
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.unsetTemplateNameFormat:()V
       184: .line 3368
            goto 205
      StackMap locals:
      StackMap stack:
       185: aload 2 /* value */
            ldc "default_2_3_0"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 188
       186: .line 3369
            aload 0 /* this */
            getstatic freemarker.cache.TemplateNameFormat.DEFAULT_2_3_0:Lfreemarker/cache/TemplateNameFormat;
            invokevirtual freemarker.template.Configuration.setTemplateNameFormat:(Lfreemarker/cache/TemplateNameFormat;)V
       187: .line 3370
            goto 205
      StackMap locals:
      StackMap stack:
       188: aload 2 /* value */
            ldc "default_2_4_0"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 191
       189: .line 3371
            aload 0 /* this */
            getstatic freemarker.cache.TemplateNameFormat.DEFAULT_2_4_0:Lfreemarker/cache/TemplateNameFormat;
            invokevirtual freemarker.template.Configuration.setTemplateNameFormat:(Lfreemarker/cache/TemplateNameFormat;)V
       190: .line 3372
            goto 205
       191: .line 3373
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual freemarker.template.Configuration.invalidSettingValueException:(Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateException;
            athrow
       192: .line 3375
      StackMap locals:
      StackMap stack:
            ldc "template_configurations"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 194
       193: .line 3376
            ldc "templateConfigurations"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 201
       194: .line 3377
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc "null"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 197
       195: .line 3378
            aload 0 /* this */
            aconst_null
            invokevirtual freemarker.template.Configuration.setTemplateConfigurations:(Lfreemarker/cache/TemplateConfigurationFactory;)V
       196: .line 3379
            goto 205
       197: .line 3380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       198: .line 3381
            aload 2 /* value */
            ldc Lfreemarker/cache/TemplateConfigurationFactory;
            iconst_0
            invokestatic freemarker.core._SettingEvaluationEnvironment.getCurrent:()Lfreemarker/core/_SettingEvaluationEnvironment;
       199: .line 3380
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.eval:(Ljava/lang/String;Ljava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)Ljava/lang/Object;
            checkcast freemarker.cache.TemplateConfigurationFactory
            invokevirtual freemarker.template.Configuration.setTemplateConfigurations:(Lfreemarker/cache/TemplateConfigurationFactory;)V
       200: .line 3383
            goto 205
       201: .line 3384
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* unknown */
       202: .line 3386
            goto 205
      StackMap locals:
      StackMap stack: java.lang.Exception
       203: astore 4 /* e */
        start local 4 // java.lang.Exception e
       204: .line 3387
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            aload 4 /* e */
            invokevirtual freemarker.template.Configuration.settingValueAssignmentException:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)Lfreemarker/template/TemplateException;
            athrow
        end local 4 // java.lang.Exception e
       205: .line 3389
      StackMap locals:
      StackMap stack:
            iload 3 /* unknown */
            ifeq 207
       206: .line 3390
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokespecial freemarker.core.Configurable.setSetting:(Ljava/lang/String;Ljava/lang/String;)V
       207: .line 3392
      StackMap locals:
      StackMap stack:
            return
        end local 3 // boolean unknown
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  208     0              this  Lfreemarker/template/Configuration;
            0  208     1              name  Ljava/lang/String;
            0  208     2             value  Ljava/lang/String;
            1  208     3           unknown  Z
           38   43     4             stdOF  Lfreemarker/core/OutputFormat;
           48   57     4              list  Ljava/util/List;
           50   55     5              item  Ljava/lang/Object;
           70   92     4        strongSize  I
           71   92     5          softSize  I
           73   92     6               map  Ljava/util/Map;
           74   92     7                it  Ljava/util/Iterator;
           76   88     8               ent  Ljava/util/Map$Entry;
           77   88     9             pname  Ljava/lang/String;
           78   79    10            pvalue  I
           81   88    10            pvalue  I
          101  103     4         multipier  J
          105  107     4         multipier  J
          109  111     4         multipier  J
          113  115     4         multipier  J
          116  118     4         multipier  J
          102  103     6  valueWithoutUnit  Ljava/lang/String;
          106  107     6  valueWithoutUnit  Ljava/lang/String;
          110  111     6  valueWithoutUnit  Ljava/lang/String;
          114  115     6  valueWithoutUnit  Ljava/lang/String;
          117  118     6  valueWithoutUnit  Ljava/lang/String;
          204  205     4                 e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          77    78      79  Class java.lang.NumberFormatException
           1   202     203  Class java.lang.Exception
    Exceptions:
      throws freemarker.template.TemplateException
    MethodParameters:
       Name  Flags
      name   
      value  

  private java.lang.String rightTrim(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String s
         0: .line 3395
            aload 1 /* s */
            invokevirtual java.lang.String.length:()I
            istore 2 /* ln */
        start local 2 // int ln
         1: .line 3396
            goto 3
         2: .line 3397
      StackMap locals: int
      StackMap stack:
            iinc 2 /* ln */ -1
         3: .line 3396
      StackMap locals:
      StackMap stack:
            iload 2 /* ln */
            ifle 4
            aload 1 /* s */
            iload 2 /* ln */
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 2
         4: .line 3399
      StackMap locals:
      StackMap stack:
            aload 1 /* s */
            iconst_0
            iload 2 /* ln */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 2 // int ln
        end local 1 // java.lang.String s
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lfreemarker/template/Configuration;
            0    5     1     s  Ljava/lang/String;
            1    5     2    ln  I
    MethodParameters:
      Name  Flags
      s     

  public java.util.Set<java.lang.String> getSettingNames(boolean);
    descriptor: (Z)Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // boolean camelCase
         0: .line 3416
            new freemarker.core._UnmodifiableCompositeSet
            dup
         1: .line 3417
            aload 0 /* this */
            iload 1 /* camelCase */
            invokespecial freemarker.core.Configurable.getSettingNames:(Z)Ljava/util/Set;
         2: .line 3418
            new freemarker.core._SortedArraySet
            dup
            iload 1 /* camelCase */
            ifeq 3
            getstatic freemarker.template.Configuration.SETTING_NAMES_CAMEL_CASE:[Ljava/lang/String;
            goto 4
      StackMap locals: freemarker.template.Configuration int
      StackMap stack: new 0 new 0 java.util.Set new 2 new 2
         3: getstatic freemarker.template.Configuration.SETTING_NAMES_SNAKE_CASE:[Ljava/lang/String;
      StackMap locals: freemarker.template.Configuration int
      StackMap stack: new 0 new 0 java.util.Set new 2 new 2 java.lang.String[]
         4: invokespecial freemarker.core._SortedArraySet.<init>:([Ljava/lang/Object;)V
         5: .line 3416
            invokespecial freemarker.core._UnmodifiableCompositeSet.<init>:(Ljava/util/Set;Ljava/util/Set;)V
            areturn
        end local 1 // boolean camelCase
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lfreemarker/template/Configuration;
            0    6     1  camelCase  Z
    Signature: (Z)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
           Name  Flags
      camelCase  

  protected java.lang.String getCorrectedNameForUnknownSetting(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // java.lang.String name
         0: .line 3423
            ldc "encoding"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            ldc "charset"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 1
            ldc "default_charset"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 3425
      StackMap locals:
      StackMap stack:
            ldc "default_encoding"
            areturn
         2: .line 3427
      StackMap locals:
      StackMap stack:
            ldc "defaultCharset"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 3428
            ldc "defaultEncoding"
            areturn
         4: .line 3430
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokespecial freemarker.core.Configurable.getCorrectedNameForUnknownSetting:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String name
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lfreemarker/template/Configuration;
            0    5     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected void doAutoImportsAndIncludes(freemarker.core.Environment);
    descriptor: (Lfreemarker/core/Environment;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.core.Environment env
         0: .line 3435
            aload 1 /* env */
            invokevirtual freemarker.core.Environment.getMainTemplate:()Lfreemarker/template/Template;
            astore 2 /* t */
        start local 2 // freemarker.template.Template t
         1: .line 3436
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* t */
            invokevirtual freemarker.template.Configuration.doAutoImports:(Lfreemarker/core/Environment;Lfreemarker/template/Template;)V
         2: .line 3437
            aload 0 /* this */
            aload 1 /* env */
            aload 2 /* t */
            invokevirtual freemarker.template.Configuration.doAutoIncludes:(Lfreemarker/core/Environment;Lfreemarker/template/Template;)V
         3: .line 3438
            return
        end local 2 // freemarker.template.Template t
        end local 1 // freemarker.core.Environment env
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/template/Configuration;
            0    4     1   env  Lfreemarker/core/Environment;
            1    4     2     t  Lfreemarker/template/Template;
    Exceptions:
      throws freemarker.template.TemplateException, java.io.IOException
    MethodParameters:
      Name  Flags
      env   

  private void doAutoImports(freemarker.core.Environment, freemarker.template.Template);
    descriptor: (Lfreemarker/core/Environment;Lfreemarker/template/Template;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.core.Environment env
        start local 2 // freemarker.template.Template t
         0: .line 3441
            aload 1 /* env */
            invokevirtual freemarker.core.Environment.getAutoImportsWithoutFallback:()Ljava/util/Map;
            astore 3 /* envAutoImports */
        start local 3 // java.util.Map envAutoImports
         1: .line 3442
            aload 2 /* t */
            invokevirtual freemarker.template.Template.getAutoImportsWithoutFallback:()Ljava/util/Map;
            astore 4 /* tAutoImports */
        start local 4 // java.util.Map tAutoImports
         2: .line 3444
            aload 1 /* env */
            invokevirtual freemarker.core.Environment.getLazyAutoImports:()Ljava/lang/Boolean;
            ifnull 3
            aload 1 /* env */
            invokevirtual freemarker.core.Environment.getLazyAutoImports:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            goto 4
         3: .line 3445
      StackMap locals: java.util.Map java.util.Map
      StackMap stack:
            aload 1 /* env */
            invokevirtual freemarker.core.Environment.getLazyImports:()Z
         4: .line 3444
      StackMap locals:
      StackMap stack: int
            istore 5 /* lazyAutoImports */
        start local 5 // boolean lazyAutoImports
         5: .line 3447
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getAutoImportsWithoutFallback:()Ljava/util/Map;
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 11
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.Map java.util.Map int top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* autoImport */
        start local 6 // java.util.Map$Entry autoImport
         7: .line 3448
            aload 6 /* autoImport */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* nsVarName */
        start local 8 // java.lang.String nsVarName
         8: .line 3449
            aload 4 /* tAutoImports */
            ifnull 9
            aload 4 /* tAutoImports */
            aload 8 /* nsVarName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 11
         9: .line 3450
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.Map java.util.Map int java.util.Map$Entry java.util.Iterator java.lang.String
      StackMap stack:
            aload 3 /* envAutoImports */
            ifnull 10
            aload 3 /* envAutoImports */
            aload 8 /* nsVarName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 11
        10: .line 3451
      StackMap locals:
      StackMap stack:
            aload 1 /* env */
            aload 6 /* autoImport */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 8 /* nsVarName */
            iload 5 /* lazyAutoImports */
            invokevirtual freemarker.core.Environment.importLib:(Ljava/lang/String;Ljava/lang/String;Z)Lfreemarker/core/Environment$Namespace;
            pop
        end local 8 // java.lang.String nsVarName
        end local 6 // java.util.Map$Entry autoImport
        11: .line 3447
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.Map java.util.Map int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        12: .line 3454
            aload 4 /* tAutoImports */
            ifnull 19
        13: .line 3455
            aload 4 /* tAutoImports */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 18
      StackMap locals:
      StackMap stack:
        14: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* autoImport */
        start local 6 // java.util.Map$Entry autoImport
        15: .line 3456
            aload 6 /* autoImport */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* nsVarName */
        start local 8 // java.lang.String nsVarName
        16: .line 3457
            aload 3 /* envAutoImports */
            ifnull 17
            aload 3 /* envAutoImports */
            aload 8 /* nsVarName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 18
        17: .line 3458
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.Map java.util.Map int java.util.Map$Entry java.util.Iterator java.lang.String
      StackMap stack:
            aload 1 /* env */
            aload 6 /* autoImport */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 8 /* nsVarName */
            iload 5 /* lazyAutoImports */
            invokevirtual freemarker.core.Environment.importLib:(Ljava/lang/String;Ljava/lang/String;Z)Lfreemarker/core/Environment$Namespace;
            pop
        end local 8 // java.lang.String nsVarName
        end local 6 // java.util.Map$Entry autoImport
        18: .line 3455
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.Map java.util.Map int top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        19: .line 3462
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.Map java.util.Map int
      StackMap stack:
            aload 3 /* envAutoImports */
            ifnull 25
        20: .line 3463
            aload 3 /* envAutoImports */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 7
            goto 24
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.Map java.util.Map int top java.util.Iterator
      StackMap stack:
        21: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 6 /* autoImport */
        start local 6 // java.util.Map$Entry autoImport
        22: .line 3464
            aload 6 /* autoImport */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 8 /* nsVarName */
        start local 8 // java.lang.String nsVarName
        23: .line 3465
            aload 1 /* env */
            aload 6 /* autoImport */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 8 /* nsVarName */
            iload 5 /* lazyAutoImports */
            invokevirtual freemarker.core.Environment.importLib:(Ljava/lang/String;Ljava/lang/String;Z)Lfreemarker/core/Environment$Namespace;
            pop
        end local 8 // java.lang.String nsVarName
        end local 6 // java.util.Map$Entry autoImport
        24: .line 3463
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 21
        25: .line 3468
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.Map java.util.Map int
      StackMap stack:
            return
        end local 5 // boolean lazyAutoImports
        end local 4 // java.util.Map tAutoImports
        end local 3 // java.util.Map envAutoImports
        end local 2 // freemarker.template.Template t
        end local 1 // freemarker.core.Environment env
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   26     0             this  Lfreemarker/template/Configuration;
            0   26     1              env  Lfreemarker/core/Environment;
            0   26     2                t  Lfreemarker/template/Template;
            1   26     3   envAutoImports  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            2   26     4     tAutoImports  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            5   26     5  lazyAutoImports  Z
            7   11     6       autoImport  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
            8   11     8        nsVarName  Ljava/lang/String;
           15   18     6       autoImport  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           16   18     8        nsVarName  Ljava/lang/String;
           22   24     6       autoImport  Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
           23   24     8        nsVarName  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException, freemarker.template.TemplateException
    MethodParameters:
      Name  Flags
      env   
      t     

  private void doAutoIncludes(freemarker.core.Environment, freemarker.template.Template);
    descriptor: (Lfreemarker/core/Environment;Lfreemarker/template/Template;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // freemarker.template.Configuration this
        start local 1 // freemarker.core.Environment env
        start local 2 // freemarker.template.Template t
         0: .line 3476
            aload 2 /* t */
            invokevirtual freemarker.template.Template.getAutoIncludesWithoutFallback:()Ljava/util/List;
            astore 3 /* tAutoIncludes */
        start local 3 // java.util.List tAutoIncludes
         1: .line 3477
            aload 1 /* env */
            invokevirtual freemarker.core.Environment.getAutoIncludesWithoutFallback:()Ljava/util/List;
            astore 4 /* envAutoIncludes */
        start local 4 // java.util.List envAutoIncludes
         2: .line 3479
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getAutoIncludesWithoutFallback:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 7
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.List java.util.List top java.util.Iterator
      StackMap stack:
         3: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* templateName */
        start local 5 // java.lang.String templateName
         4: .line 3480
            aload 3 /* tAutoIncludes */
            ifnull 5
            aload 3 /* tAutoIncludes */
            aload 5 /* templateName */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 7
         5: .line 3481
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.List java.util.List java.lang.String java.util.Iterator
      StackMap stack:
            aload 4 /* envAutoIncludes */
            ifnull 6
            aload 4 /* envAutoIncludes */
            aload 5 /* templateName */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 3482
      StackMap locals:
      StackMap stack:
            aload 1 /* env */
            aload 0 /* this */
            aload 5 /* templateName */
            aload 1 /* env */
            invokevirtual freemarker.core.Environment.getLocale:()Ljava/util/Locale;
            invokevirtual freemarker.template.Configuration.getTemplate:(Ljava/lang/String;Ljava/util/Locale;)Lfreemarker/template/Template;
            invokevirtual freemarker.core.Environment.include:(Lfreemarker/template/Template;)V
        end local 5 // java.lang.String templateName
         7: .line 3479
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 3486
            aload 3 /* tAutoIncludes */
            ifnull 14
         9: .line 3487
            aload 3 /* tAutoIncludes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 13
      StackMap locals:
      StackMap stack:
        10: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* templateName */
        start local 5 // java.lang.String templateName
        11: .line 3488
            aload 4 /* envAutoIncludes */
            ifnull 12
            aload 4 /* envAutoIncludes */
            aload 5 /* templateName */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifne 13
        12: .line 3489
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.List java.util.List java.lang.String java.util.Iterator
      StackMap stack:
            aload 1 /* env */
            aload 0 /* this */
            aload 5 /* templateName */
            aload 1 /* env */
            invokevirtual freemarker.core.Environment.getLocale:()Ljava/util/Locale;
            invokevirtual freemarker.template.Configuration.getTemplate:(Ljava/lang/String;Ljava/util/Locale;)Lfreemarker/template/Template;
            invokevirtual freemarker.core.Environment.include:(Lfreemarker/template/Template;)V
        end local 5 // java.lang.String templateName
        13: .line 3487
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.List java.util.List top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        14: .line 3494
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.List java.util.List
      StackMap stack:
            aload 4 /* envAutoIncludes */
            ifnull 19
        15: .line 3495
            aload 4 /* envAutoIncludes */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 18
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.List java.util.List top java.util.Iterator
      StackMap stack:
        16: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 5 /* templateName */
        start local 5 // java.lang.String templateName
        17: .line 3496
            aload 1 /* env */
            aload 0 /* this */
            aload 5 /* templateName */
            aload 1 /* env */
            invokevirtual freemarker.core.Environment.getLocale:()Ljava/util/Locale;
            invokevirtual freemarker.template.Configuration.getTemplate:(Ljava/lang/String;Ljava/util/Locale;)Lfreemarker/template/Template;
            invokevirtual freemarker.core.Environment.include:(Lfreemarker/template/Template;)V
        end local 5 // java.lang.String templateName
        18: .line 3495
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        19: .line 3499
      StackMap locals: freemarker.template.Configuration freemarker.core.Environment freemarker.template.Template java.util.List java.util.List
      StackMap stack:
            return
        end local 4 // java.util.List envAutoIncludes
        end local 3 // java.util.List tAutoIncludes
        end local 2 // freemarker.template.Template t
        end local 1 // freemarker.core.Environment env
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Lfreemarker/template/Configuration;
            0   20     1              env  Lfreemarker/core/Environment;
            0   20     2                t  Lfreemarker/template/Template;
            1   20     3    tAutoIncludes  Ljava/util/List<Ljava/lang/String;>;
            2   20     4  envAutoIncludes  Ljava/util/List<Ljava/lang/String;>;
            4    7     5     templateName  Ljava/lang/String;
           11   13     5     templateName  Ljava/lang/String;
           17   18     5     templateName  Ljava/lang/String;
    Exceptions:
      throws freemarker.template.TemplateException, java.io.IOException, freemarker.template.TemplateNotFoundException, freemarker.template.MalformedTemplateNameException, freemarker.core.ParseException
    MethodParameters:
      Name  Flags
      env   
      t     

  public static java.lang.String getVersionNumber();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 3508
            getstatic freemarker.template.Configuration.VERSION:Lfreemarker/template/Version;
            invokevirtual freemarker.template.Version.toString:()Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  public static freemarker.template.Version getVersion();
    descriptor: ()Lfreemarker/template/Version;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 3544
            getstatic freemarker.template.Configuration.VERSION:Lfreemarker/template/Version;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static freemarker.template.ObjectWrapper getDefaultObjectWrapper(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)Lfreemarker/template/ObjectWrapper;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // freemarker.template.Version incompatibleImprovements
         0: .line 3555
            aload 0 /* incompatibleImprovements */
            invokevirtual freemarker.template.Version.intValue:()I
            getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_21:I
            if_icmpge 2
         1: .line 3556
            getstatic freemarker.template.ObjectWrapper.DEFAULT_WRAPPER:Lfreemarker/template/ObjectWrapper;
            areturn
         2: .line 3558
      StackMap locals:
      StackMap stack:
            new freemarker.template.DefaultObjectWrapperBuilder
            dup
            aload 0 /* incompatibleImprovements */
            invokespecial freemarker.template.DefaultObjectWrapperBuilder.<init>:(Lfreemarker/template/Version;)V
            invokevirtual freemarker.template.DefaultObjectWrapperBuilder.build:()Lfreemarker/template/DefaultObjectWrapper;
            areturn
        end local 0 // freemarker.template.Version incompatibleImprovements
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    3     0  incompatibleImprovements  Lfreemarker/template/Version;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  public java.util.Set getSupportedBuiltInNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 3568
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getNamingConvention:()I
            invokevirtual freemarker.template.Configuration.getSupportedBuiltInNames:(I)Ljava/util/Set;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public java.util.Set<java.lang.String> getSupportedBuiltInNames(int);
    descriptor: (I)Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // int namingConvention
         0: .line 3584
            iload 1 /* namingConvention */
            invokestatic freemarker.core._CoreAPI.getSupportedBuiltInNames:(I)Ljava/util/Set;
            areturn
        end local 1 // int namingConvention
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lfreemarker/template/Configuration;
            0    1     1  namingConvention  I
    Signature: (I)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
                  Name  Flags
      namingConvention  

  public java.util.Set getSupportedBuiltInDirectiveNames();
    descriptor: ()Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // freemarker.template.Configuration this
         0: .line 3593
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual freemarker.template.Configuration.getNamingConvention:()I
            invokevirtual freemarker.template.Configuration.getSupportedBuiltInDirectiveNames:(I)Ljava/util/Set;
            areturn
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/template/Configuration;

  public java.util.Set<java.lang.String> getSupportedBuiltInDirectiveNames(int);
    descriptor: (I)Ljava/util/Set;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // freemarker.template.Configuration this
        start local 1 // int namingConvention
         0: .line 3608
            iload 1 /* namingConvention */
            bipush 10
            if_icmpne 2
         1: .line 3609
            getstatic freemarker.core._CoreAPI.ALL_BUILT_IN_DIRECTIVE_NAMES:Ljava/util/Set;
            areturn
         2: .line 3610
      StackMap locals:
      StackMap stack:
            iload 1 /* namingConvention */
            bipush 11
            if_icmpne 4
         3: .line 3611
            getstatic freemarker.core._CoreAPI.LEGACY_BUILT_IN_DIRECTIVE_NAMES:Ljava/util/Set;
            areturn
         4: .line 3612
      StackMap locals:
      StackMap stack:
            iload 1 /* namingConvention */
            bipush 12
            if_icmpne 6
         5: .line 3613
            getstatic freemarker.core._CoreAPI.CAMEL_CASE_BUILT_IN_DIRECTIVE_NAMES:Ljava/util/Set;
            areturn
         6: .line 3615
      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 1 /* 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
        end local 1 // int namingConvention
        end local 0 // freemarker.template.Configuration this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lfreemarker/template/Configuration;
            0    7     1  namingConvention  I
    Signature: (I)Ljava/util/Set<Ljava/lang/String;>;
    MethodParameters:
                  Name  Flags
      namingConvention  

  private static java.lang.String getRequiredVersionProperty(java.util.Properties, java.lang.String);
    descriptor: (Ljava/util/Properties;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.util.Properties vp
        start local 1 // java.lang.String properyName
         0: .line 3620
            aload 0 /* vp */
            aload 1 /* properyName */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         1: .line 3621
            aload 2 /* s */
            ifnonnull 5
         2: .line 3622
            new java.lang.RuntimeException
            dup
         3: .line 3623
            new java.lang.StringBuilder
            dup
            ldc "Version file is corrupt: \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* properyName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\" property is missing."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 3622
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 3625
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* s */
            areturn
        end local 2 // java.lang.String s
        end local 1 // java.lang.String properyName
        end local 0 // java.util.Properties vp
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0           vp  Ljava/util/Properties;
            0    6     1  properyName  Ljava/lang/String;
            1    6     2            s  Ljava/lang/String;
    MethodParameters:
             Name  Flags
      vp           
      properyName  
}
SourceFile: "Configuration.java"
NestMembers:
  freemarker.template.Configuration$DefaultSoftCacheStorage  freemarker.template.Configuration$LegacyDefaultFileTemplateLoader
InnerClasses:
  public final MaybeMissingTemplate = freemarker.cache.TemplateCache$MaybeMissingTemplate of freemarker.cache.TemplateCache
  public Namespace = freemarker.core.Environment$Namespace of freemarker.core.Environment
  private DefaultSoftCacheStorage = freemarker.template.Configuration$DefaultSoftCacheStorage of freemarker.template.Configuration
  private LegacyDefaultFileTemplateLoader = freemarker.template.Configuration$LegacyDefaultFileTemplateLoader of freemarker.template.Configuration
  public abstract Entry = java.util.Map$Entry of java.util.Map