public class freemarker.core.Configurable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: freemarker.core.Configurable
  super_class: java.lang.Object
{
  static final java.lang.String C_TRUE_FALSE;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "true,false"

  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 DEFAULT_2_3_0;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "default_2_3_0"

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  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 STRICT_BEAN_MODELS;
    descriptor: Ljava/lang/String;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    ConstantValue: "strict_bean_models"
    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 freemarker.core.Configurable parent;
    descriptor: Lfreemarker/core/Configurable;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Properties properties;
    descriptor: Ljava/util/Properties;
    flags: (0x0002) ACC_PRIVATE

  private java.util.HashMap<java.lang.Object, java.lang.Object> customAttributes;
    descriptor: Ljava/util/HashMap;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/HashMap<Ljava/lang/Object;Ljava/lang/Object;>;

  private java.util.Locale locale;
    descriptor: Ljava/util/Locale;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private java.util.TimeZone timeZone;
    descriptor: Ljava/util/TimeZone;
    flags: (0x0002) ACC_PRIVATE

  private java.util.TimeZone sqlDataAndTimeTimeZone;
    descriptor: Ljava/util/TimeZone;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

  private java.lang.Integer classicCompatible;
    descriptor: Ljava/lang/Integer;
    flags: (0x0002) ACC_PRIVATE

  private freemarker.template.TemplateExceptionHandler templateExceptionHandler;
    descriptor: Lfreemarker/template/TemplateExceptionHandler;
    flags: (0x0002) ACC_PRIVATE

  private freemarker.template.AttemptExceptionReporter attemptExceptionReporter;
    descriptor: Lfreemarker/template/AttemptExceptionReporter;
    flags: (0x0002) ACC_PRIVATE

  private freemarker.core.ArithmeticEngine arithmeticEngine;
    descriptor: Lfreemarker/core/ArithmeticEngine;
    flags: (0x0002) ACC_PRIVATE

  private freemarker.template.ObjectWrapper objectWrapper;
    descriptor: Lfreemarker/template/ObjectWrapper;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

  private freemarker.core.TemplateClassResolver newBuiltinClassResolver;
    descriptor: Lfreemarker/core/TemplateClassResolver;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

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

  private java.util.ArrayList<java.lang.String> autoIncludes;
    descriptor: Ljava/util/ArrayList;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/ArrayList<Ljava/lang/String;>;

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

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

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 290
            bipush 28
            anewarray java.lang.String
            dup
            iconst_0
         1: .line 292
            ldc "api_builtin_enabled"
            aastore
            dup
            iconst_1
         2: .line 293
            ldc "arithmetic_engine"
            aastore
            dup
            iconst_2
         3: .line 294
            ldc "attempt_exception_reporter"
            aastore
            dup
            iconst_3
         4: .line 295
            ldc "auto_flush"
            aastore
            dup
            iconst_4
         5: .line 296
            ldc "auto_import"
            aastore
            dup
            iconst_5
         6: .line 297
            ldc "auto_include"
            aastore
            dup
            bipush 6
         7: .line 298
            ldc "boolean_format"
            aastore
            dup
            bipush 7
         8: .line 299
            ldc "classic_compatible"
            aastore
            dup
            bipush 8
         9: .line 300
            ldc "custom_date_formats"
            aastore
            dup
            bipush 9
        10: .line 301
            ldc "custom_number_formats"
            aastore
            dup
            bipush 10
        11: .line 302
            ldc "date_format"
            aastore
            dup
            bipush 11
        12: .line 303
            ldc "datetime_format"
            aastore
            dup
            bipush 12
        13: .line 304
            ldc "lazy_auto_imports"
            aastore
            dup
            bipush 13
        14: .line 305
            ldc "lazy_imports"
            aastore
            dup
            bipush 14
        15: .line 306
            ldc "locale"
            aastore
            dup
            bipush 15
        16: .line 307
            ldc "log_template_exceptions"
            aastore
            dup
            bipush 16
        17: .line 308
            ldc "new_builtin_class_resolver"
            aastore
            dup
            bipush 17
        18: .line 309
            ldc "number_format"
            aastore
            dup
            bipush 18
        19: .line 310
            ldc "object_wrapper"
            aastore
            dup
            bipush 19
        20: .line 311
            ldc "output_encoding"
            aastore
            dup
            bipush 20
        21: .line 312
            ldc "show_error_tips"
            aastore
            dup
            bipush 21
        22: .line 313
            ldc "sql_date_and_time_time_zone"
            aastore
            dup
            bipush 22
        23: .line 314
            ldc "strict_bean_models"
            aastore
            dup
            bipush 23
        24: .line 315
            ldc "template_exception_handler"
            aastore
            dup
            bipush 24
        25: .line 316
            ldc "time_format"
            aastore
            dup
            bipush 25
        26: .line 317
            ldc "time_zone"
            aastore
            dup
            bipush 26
        27: .line 318
            ldc "url_escaping_charset"
            aastore
            dup
            bipush 27
        28: .line 319
            ldc "wrap_unchecked_exceptions"
            aastore
        29: .line 290
            putstatic freemarker.core.Configurable.SETTING_NAMES_SNAKE_CASE:[Ljava/lang/String;
        30: .line 322
            bipush 28
            anewarray java.lang.String
            dup
            iconst_0
        31: .line 324
            ldc "apiBuiltinEnabled"
            aastore
            dup
            iconst_1
        32: .line 325
            ldc "arithmeticEngine"
            aastore
            dup
            iconst_2
        33: .line 326
            ldc "attemptExceptionReporter"
            aastore
            dup
            iconst_3
        34: .line 327
            ldc "autoFlush"
            aastore
            dup
            iconst_4
        35: .line 328
            ldc "autoImport"
            aastore
            dup
            iconst_5
        36: .line 329
            ldc "autoInclude"
            aastore
            dup
            bipush 6
        37: .line 330
            ldc "booleanFormat"
            aastore
            dup
            bipush 7
        38: .line 331
            ldc "classicCompatible"
            aastore
            dup
            bipush 8
        39: .line 332
            ldc "customDateFormats"
            aastore
            dup
            bipush 9
        40: .line 333
            ldc "customNumberFormats"
            aastore
            dup
            bipush 10
        41: .line 334
            ldc "dateFormat"
            aastore
            dup
            bipush 11
        42: .line 335
            ldc "datetimeFormat"
            aastore
            dup
            bipush 12
        43: .line 336
            ldc "lazyAutoImports"
            aastore
            dup
            bipush 13
        44: .line 337
            ldc "lazyImports"
            aastore
            dup
            bipush 14
        45: .line 338
            ldc "locale"
            aastore
            dup
            bipush 15
        46: .line 339
            ldc "logTemplateExceptions"
            aastore
            dup
            bipush 16
        47: .line 340
            ldc "newBuiltinClassResolver"
            aastore
            dup
            bipush 17
        48: .line 341
            ldc "numberFormat"
            aastore
            dup
            bipush 18
        49: .line 342
            ldc "objectWrapper"
            aastore
            dup
            bipush 19
        50: .line 343
            ldc "outputEncoding"
            aastore
            dup
            bipush 20
        51: .line 344
            ldc "showErrorTips"
            aastore
            dup
            bipush 21
        52: .line 345
            ldc "sqlDateAndTimeTimeZone"
            aastore
            dup
            bipush 22
        53: .line 346
            ldc "strictBeanModels"
            aastore
            dup
            bipush 23
        54: .line 347
            ldc "templateExceptionHandler"
            aastore
            dup
            bipush 24
        55: .line 348
            ldc "timeFormat"
            aastore
            dup
            bipush 25
        56: .line 349
            ldc "timeZone"
            aastore
            dup
            bipush 26
        57: .line 350
            ldc "urlEscapingCharset"
            aastore
            dup
            bipush 27
        58: .line 351
            ldc "wrapUncheckedExceptions"
            aastore
        59: .line 322
            putstatic freemarker.core.Configurable.SETTING_NAMES_CAMEL_CASE:[Ljava/lang/String;
        60: .line 2090
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

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

  protected void <init>(freemarker.template.Version);
    descriptor: (Lfreemarker/template/Version;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // freemarker.template.Version incompatibleImprovements
         0: .line 407
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 408
            aload 1 /* incompatibleImprovements */
            invokestatic freemarker.template._TemplateAPI.checkVersionNotNullAndSupported:(Lfreemarker/template/Version;)V
         2: .line 410
            aload 0 /* this */
            aconst_null
            putfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
         3: .line 411
            aload 0 /* this */
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            putfield freemarker.core.Configurable.properties:Ljava/util/Properties;
         4: .line 413
            aload 0 /* this */
            invokestatic freemarker.template._TemplateAPI.getDefaultLocale:()Ljava/util/Locale;
            putfield freemarker.core.Configurable.locale:Ljava/util/Locale;
         5: .line 414
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "locale"
            aload 0 /* this */
            getfield freemarker.core.Configurable.locale:Ljava/util/Locale;
            invokevirtual java.util.Locale.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         6: .line 416
            aload 0 /* this */
            invokestatic freemarker.template._TemplateAPI.getDefaultTimeZone:()Ljava/util/TimeZone;
            putfield freemarker.core.Configurable.timeZone:Ljava/util/TimeZone;
         7: .line 417
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "time_zone"
            aload 0 /* this */
            getfield freemarker.core.Configurable.timeZone:Ljava/util/TimeZone;
            invokevirtual java.util.TimeZone.getID:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         8: .line 419
            aload 0 /* this */
            aconst_null
            putfield freemarker.core.Configurable.sqlDataAndTimeTimeZone:Ljava/util/TimeZone;
         9: .line 420
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "sql_date_and_time_time_zone"
            aload 0 /* this */
            getfield freemarker.core.Configurable.sqlDataAndTimeTimeZone:Ljava/util/TimeZone;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        10: .line 422
            aload 0 /* this */
            ldc "number"
            putfield freemarker.core.Configurable.numberFormat:Ljava/lang/String;
        11: .line 423
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "number_format"
            aload 0 /* this */
            getfield freemarker.core.Configurable.numberFormat:Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        12: .line 425
            aload 0 /* this */
            ldc ""
            putfield freemarker.core.Configurable.timeFormat:Ljava/lang/String;
        13: .line 426
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "time_format"
            aload 0 /* this */
            getfield freemarker.core.Configurable.timeFormat:Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        14: .line 428
            aload 0 /* this */
            ldc ""
            putfield freemarker.core.Configurable.dateFormat:Ljava/lang/String;
        15: .line 429
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "date_format"
            aload 0 /* this */
            getfield freemarker.core.Configurable.dateFormat:Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        16: .line 431
            aload 0 /* this */
            ldc ""
            putfield freemarker.core.Configurable.dateTimeFormat:Ljava/lang/String;
        17: .line 432
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "datetime_format"
            aload 0 /* this */
            getfield freemarker.core.Configurable.dateTimeFormat:Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        18: .line 434
            aload 0 /* this */
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield freemarker.core.Configurable.classicCompatible:Ljava/lang/Integer;
        19: .line 435
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "classic_compatible"
            aload 0 /* this */
            getfield freemarker.core.Configurable.classicCompatible:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        20: .line 437
            aload 0 /* this */
            aload 1 /* incompatibleImprovements */
            invokestatic freemarker.template._TemplateAPI.getDefaultTemplateExceptionHandler:(Lfreemarker/template/Version;)Lfreemarker/template/TemplateExceptionHandler;
            putfield freemarker.core.Configurable.templateExceptionHandler:Lfreemarker/template/TemplateExceptionHandler;
        21: .line 438
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "template_exception_handler"
            aload 0 /* this */
            getfield freemarker.core.Configurable.templateExceptionHandler:Lfreemarker/template/TemplateExceptionHandler;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        22: .line 440
            aload 0 /* this */
            aload 1 /* incompatibleImprovements */
            invokestatic freemarker.template._TemplateAPI.getDefaultWrapUncheckedExceptions:(Lfreemarker/template/Version;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield freemarker.core.Configurable.wrapUncheckedExceptions:Ljava/lang/Boolean;
        23: .line 442
            aload 0 /* this */
            aload 1 /* incompatibleImprovements */
            invokestatic freemarker.template._TemplateAPI.getDefaultAttemptExceptionReporter:(Lfreemarker/template/Version;)Lfreemarker/template/AttemptExceptionReporter;
            putfield freemarker.core.Configurable.attemptExceptionReporter:Lfreemarker/template/AttemptExceptionReporter;
        24: .line 444
            aload 0 /* this */
            getstatic freemarker.core.ArithmeticEngine.BIGDECIMAL_ENGINE:Lfreemarker/core/ArithmeticEngine$BigDecimalEngine;
            putfield freemarker.core.Configurable.arithmeticEngine:Lfreemarker/core/ArithmeticEngine;
        25: .line 445
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "arithmetic_engine"
            aload 0 /* this */
            getfield freemarker.core.Configurable.arithmeticEngine:Lfreemarker/core/ArithmeticEngine;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        26: .line 447
            aload 0 /* this */
            aload 1 /* incompatibleImprovements */
            invokestatic freemarker.template.Configuration.getDefaultObjectWrapper:(Lfreemarker/template/Version;)Lfreemarker/template/ObjectWrapper;
            putfield freemarker.core.Configurable.objectWrapper:Lfreemarker/template/ObjectWrapper;
        27: .line 450
            aload 0 /* this */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            putfield freemarker.core.Configurable.autoFlush:Ljava/lang/Boolean;
        28: .line 451
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "auto_flush"
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoFlush:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        29: .line 453
            aload 0 /* this */
            getstatic freemarker.core.TemplateClassResolver.UNRESTRICTED_RESOLVER:Lfreemarker/core/TemplateClassResolver;
            putfield freemarker.core.Configurable.newBuiltinClassResolver:Lfreemarker/core/TemplateClassResolver;
        30: .line 454
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "new_builtin_class_resolver"
            aload 0 /* this */
            getfield freemarker.core.Configurable.newBuiltinClassResolver:Lfreemarker/core/TemplateClassResolver;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        31: .line 456
            aload 0 /* this */
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            putfield freemarker.core.Configurable.showErrorTips:Ljava/lang/Boolean;
        32: .line 457
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "show_error_tips"
            aload 0 /* this */
            getfield freemarker.core.Configurable.showErrorTips:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        33: .line 459
            aload 0 /* this */
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            putfield freemarker.core.Configurable.apiBuiltinEnabled:Ljava/lang/Boolean;
        34: .line 460
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "api_builtin_enabled"
            aload 0 /* this */
            getfield freemarker.core.Configurable.apiBuiltinEnabled:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        35: .line 462
            aload 0 /* this */
        36: .line 463
            aload 1 /* incompatibleImprovements */
            invokestatic freemarker.template._TemplateAPI.getDefaultLogTemplateExceptions:(Lfreemarker/template/Version;)Z
        37: .line 462
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield freemarker.core.Configurable.logTemplateExceptions:Ljava/lang/Boolean;
        38: .line 464
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "log_template_exceptions"
            aload 0 /* this */
            getfield freemarker.core.Configurable.logTemplateExceptions:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
        39: .line 469
            aload 0 /* this */
            ldc "true,false"
            invokevirtual freemarker.core.Configurable.setBooleanFormat:(Ljava/lang/String;)V
        40: .line 471
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
        41: .line 473
            aload 0 /* this */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            putfield freemarker.core.Configurable.customDateFormats:Ljava/util/Map;
        42: .line 474
            aload 0 /* this */
            invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
            putfield freemarker.core.Configurable.customNumberFormats:Ljava/util/Map;
        43: .line 476
            aload 0 /* this */
            iconst_0
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield freemarker.core.Configurable.lazyImports:Ljava/lang/Boolean;
        44: .line 477
            aload 0 /* this */
            iconst_1
            putfield freemarker.core.Configurable.lazyAutoImportsSet:Z
        45: .line 479
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.initAutoImportsMap:()V
        46: .line 480
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.initAutoIncludesList:()V
        47: .line 481
            return
        end local 1 // freemarker.template.Version incompatibleImprovements
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   48     0                      this  Lfreemarker/core/Configurable;
            0   48     1  incompatibleImprovements  Lfreemarker/template/Version;
    MethodParameters:
                          Name  Flags
      incompatibleImprovements  

  public void <init>(freemarker.core.Configurable);
    descriptor: (Lfreemarker/core/Configurable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // freemarker.core.Configurable parent
         0: .line 487
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 488
            aload 0 /* this */
            aload 1 /* parent */
            putfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
         2: .line 489
            aload 0 /* this */
            new java.util.Properties
            dup
            aload 1 /* parent */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            invokespecial java.util.Properties.<init>:(Ljava/util/Properties;)V
            putfield freemarker.core.Configurable.properties:Ljava/util/Properties;
         3: .line 490
            aload 0 /* this */
            new java.util.HashMap
            dup
            iconst_0
            invokespecial java.util.HashMap.<init>:(I)V
            putfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
         4: .line 491
            return
        end local 1 // freemarker.core.Configurable parent
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Lfreemarker/core/Configurable;
            0    5     1  parent  Lfreemarker/core/Configurable;
    MethodParameters:
        Name  Flags
      parent  

  protected java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 495
            aload 0 /* this */
            invokespecial java.lang.Object.clone:()Ljava/lang/Object;
            checkcast freemarker.core.Configurable
            astore 1 /* copy */
        start local 1 // freemarker.core.Configurable copy
         1: .line 496
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ifnull 3
         2: .line 497
            aload 1 /* copy */
            new java.util.Properties
            dup
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            invokespecial java.util.Properties.<init>:(Ljava/util/Properties;)V
            putfield freemarker.core.Configurable.properties:Ljava/util/Properties;
         3: .line 499
      StackMap locals: freemarker.core.Configurable
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            ifnull 5
         4: .line 500
            aload 1 /* copy */
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.clone:()Ljava/lang/Object;
            checkcast java.util.HashMap
            putfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
         5: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
            ifnull 7
         6: .line 503
            aload 1 /* copy */
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.clone:()Ljava/lang/Object;
            checkcast java.util.LinkedHashMap
            putfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
         7: .line 505
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
            ifnull 9
         8: .line 506
            aload 1 /* copy */
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clone:()Ljava/lang/Object;
            checkcast java.util.ArrayList
            putfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
         9: .line 508
      StackMap locals:
      StackMap stack:
            aload 1 /* copy */
            areturn
        end local 1 // freemarker.core.Configurable copy
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lfreemarker/core/Configurable;
            1   10     1  copy  Lfreemarker/core/Configurable;
    Exceptions:
      throws java.lang.CloneNotSupportedException

  public final freemarker.core.Configurable getParent();
    descriptor: ()Lfreemarker/core/Configurable;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 530
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;

  void setParent(freemarker.core.Configurable);
    descriptor: (Lfreemarker/core/Configurable;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // freemarker.core.Configurable parent
         0: .line 539
            aload 0 /* this */
            aload 1 /* parent */
            putfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
         1: .line 540
            return
        end local 1 // freemarker.core.Configurable parent
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lfreemarker/core/Configurable;
            0    2     1  parent  Lfreemarker/core/Configurable;
    MethodParameters:
        Name  Flags
      parent  

  public void setClassicCompatible(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // boolean classicCompatibility
         0: .line 547
            aload 0 /* this */
            iload 1 /* classicCompatibility */
            ifeq 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack: freemarker.core.Configurable
         1: iconst_0
      StackMap locals: freemarker.core.Configurable int
      StackMap stack: freemarker.core.Configurable int
         2: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield freemarker.core.Configurable.classicCompatible:Ljava/lang/Integer;
         3: .line 548
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "classic_compatible"
            aload 0 /* this */
            aload 0 /* this */
            getfield freemarker.core.Configurable.classicCompatible:Ljava/lang/Integer;
            invokevirtual freemarker.core.Configurable.classicCompatibilityIntToString:(Ljava/lang/Integer;)Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         4: .line 549
            return
        end local 1 // boolean classicCompatibility
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    5     0                  this  Lfreemarker/core/Configurable;
            0    5     1  classicCompatibility  Z
    MethodParameters:
                      Name  Flags
      classicCompatibility  

  public void setClassicCompatibleAsInt(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // int classicCompatibility
         0: .line 562
            iload 1 /* classicCompatibility */
            iflt 1
            iload 1 /* classicCompatibility */
            iconst_2
            if_icmple 2
         1: .line 563
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unsupported \"classicCompatibility\": "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 1 /* classicCompatibility */
            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 565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* classicCompatibility */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putfield freemarker.core.Configurable.classicCompatible:Ljava/lang/Integer;
         3: .line 566
            return
        end local 1 // int classicCompatibility
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    4     0                  this  Lfreemarker/core/Configurable;
            0    4     1  classicCompatibility  I
    MethodParameters:
                      Name  Flags
      classicCompatibility  

  private java.lang.String classicCompatibilityIntToString(java.lang.Integer);
    descriptor: (Ljava/lang/Integer;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.Integer i
         0: .line 569
            aload 1 /* i */
            ifnonnull 1
            aconst_null
            areturn
         1: .line 570
      StackMap locals:
      StackMap stack:
            aload 1 /* i */
            invokevirtual java.lang.Integer.intValue:()I
            ifne 2
            ldc "false"
            areturn
         2: .line 571
      StackMap locals:
      StackMap stack:
            aload 1 /* i */
            invokevirtual java.lang.Integer.intValue:()I
            iconst_1
            if_icmpne 3
            ldc "true"
            areturn
         3: .line 572
      StackMap locals:
      StackMap stack:
            aload 1 /* i */
            invokevirtual java.lang.Integer.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.Integer i
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/core/Configurable;
            0    4     1     i  Ljava/lang/Integer;
    MethodParameters:
      Name  Flags
      i     

  public boolean isClassicCompatible();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 626
            aload 0 /* this */
            getfield freemarker.core.Configurable.classicCompatible:Ljava/lang/Integer;
            ifnull 2
            aload 0 /* this */
            getfield freemarker.core.Configurable.classicCompatible:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            ifeq 1
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         1: iconst_0
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.isClassicCompatible:()Z
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/core/Configurable;

  public int getClassicCompatibleAsInt();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 630
            aload 0 /* this */
            getfield freemarker.core.Configurable.classicCompatible:Ljava/lang/Integer;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.classicCompatible:Ljava/lang/Integer;
            invokevirtual java.lang.Integer.intValue:()I
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getClassicCompatibleAsInt:()I
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;

  public boolean isClassicCompatibleSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 639
            aload 0 /* this */
            getfield freemarker.core.Configurable.classicCompatible:Ljava/lang/Integer;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public void setLocale(java.util.Locale);
    descriptor: (Ljava/util/Locale;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.util.Locale locale
         0: .line 651
            ldc "locale"
            aload 1 /* locale */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 652
            aload 0 /* this */
            aload 1 /* locale */
            putfield freemarker.core.Configurable.locale:Ljava/util/Locale;
         2: .line 653
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "locale"
            aload 1 /* locale */
            invokevirtual java.util.Locale.toString:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 654
            return
        end local 1 // java.util.Locale locale
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lfreemarker/core/Configurable;
            0    4     1  locale  Ljava/util/Locale;
    MethodParameters:
        Name  Flags
      locale  

  public java.util.Locale getLocale();
    descriptor: ()Ljava/util/Locale;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 660
            aload 0 /* this */
            getfield freemarker.core.Configurable.locale:Ljava/util/Locale;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.locale:Ljava/util/Locale;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getLocale:()Ljava/util/Locale;
      StackMap locals:
      StackMap stack: java.util.Locale
         2: areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;

  public boolean isLocaleSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 669
            aload 0 /* this */
            getfield freemarker.core.Configurable.locale:Ljava/util/Locale;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public void setTimeZone(java.util.TimeZone);
    descriptor: (Ljava/util/TimeZone;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.util.TimeZone timeZone
         0: .line 684
            ldc "timeZone"
            aload 1 /* timeZone */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 685
            aload 0 /* this */
            aload 1 /* timeZone */
            putfield freemarker.core.Configurable.timeZone:Ljava/util/TimeZone;
         2: .line 686
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "time_zone"
            aload 1 /* timeZone */
            invokevirtual java.util.TimeZone.getID:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 687
            return
        end local 1 // java.util.TimeZone timeZone
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lfreemarker/core/Configurable;
            0    4     1  timeZone  Ljava/util/TimeZone;
    MethodParameters:
          Name  Flags
      timeZone  

  public java.util.TimeZone getTimeZone();
    descriptor: ()Ljava/util/TimeZone;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 693
            aload 0 /* this */
            getfield freemarker.core.Configurable.timeZone:Ljava/util/TimeZone;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.timeZone:Ljava/util/TimeZone;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getTimeZone:()Ljava/util/TimeZone;
      StackMap locals:
      StackMap stack: java.util.TimeZone
         2: areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;

  public boolean isTimeZoneSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 702
            aload 0 /* this */
            getfield freemarker.core.Configurable.timeZone:Ljava/util/TimeZone;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public void setSQLDateAndTimeTimeZone(java.util.TimeZone);
    descriptor: (Ljava/util/TimeZone;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.util.TimeZone tz
         0: .line 768
            aload 0 /* this */
            aload 1 /* tz */
            putfield freemarker.core.Configurable.sqlDataAndTimeTimeZone:Ljava/util/TimeZone;
         1: .line 769
            aload 0 /* this */
            iconst_1
            putfield freemarker.core.Configurable.sqlDataAndTimeTimeZoneSet:Z
         2: .line 770
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "sql_date_and_time_time_zone"
            aload 1 /* tz */
            ifnull 3
            aload 1 /* tz */
            invokevirtual java.util.TimeZone.getID:()Ljava/lang/String;
            goto 4
      StackMap locals: freemarker.core.Configurable java.util.TimeZone
      StackMap stack: java.util.Properties java.lang.String
         3: ldc "null"
      StackMap locals: freemarker.core.Configurable java.util.TimeZone
      StackMap stack: java.util.Properties java.lang.String java.lang.String
         4: invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         5: .line 771
            return
        end local 1 // java.util.TimeZone tz
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lfreemarker/core/Configurable;
            0    6     1    tz  Ljava/util/TimeZone;
    MethodParameters:
      Name  Flags
      tz    

  public java.util.TimeZone getSQLDateAndTimeTimeZone();
    descriptor: ()Ljava/util/TimeZone;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 783
            aload 0 /* this */
            getfield freemarker.core.Configurable.sqlDataAndTimeTimeZoneSet:Z
            ifeq 2
         1: .line 784
            aload 0 /* this */
            getfield freemarker.core.Configurable.sqlDataAndTimeTimeZone:Ljava/util/TimeZone;
            goto 4
         2: .line 785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            ifnull 3
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getSQLDateAndTimeTimeZone:()Ljava/util/TimeZone;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aconst_null
         4: .line 783
      StackMap locals:
      StackMap stack: java.util.TimeZone
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lfreemarker/core/Configurable;

  public boolean isSQLDateAndTimeTimeZoneSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 794
            aload 0 /* this */
            getfield freemarker.core.Configurable.sqlDataAndTimeTimeZoneSet:Z
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;

  public void setNumberFormat(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String numberFormat
         0: .line 823
            ldc "numberFormat"
            aload 1 /* numberFormat */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 824
            aload 0 /* this */
            aload 1 /* numberFormat */
            putfield freemarker.core.Configurable.numberFormat:Ljava/lang/String;
         2: .line 825
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "number_format"
            aload 1 /* numberFormat */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 826
            return
        end local 1 // java.lang.String numberFormat
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lfreemarker/core/Configurable;
            0    4     1  numberFormat  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      numberFormat  

  public java.lang.String getNumberFormat();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 832
            aload 0 /* this */
            getfield freemarker.core.Configurable.numberFormat:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.numberFormat:Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getNumberFormat:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;

  public boolean isNumberFormatSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 841
            aload 0 /* this */
            getfield freemarker.core.Configurable.numberFormat:Ljava/lang/String;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public java.util.Map<java.lang.String, ? extends freemarker.core.TemplateNumberFormatFactory> getCustomNumberFormats();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 862
            aload 0 /* this */
            getfield freemarker.core.Configurable.customNumberFormats:Ljava/util/Map;
            ifnonnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getCustomNumberFormats:()Ljava/util/Map;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.customNumberFormats:Ljava/util/Map;
      StackMap locals:
      StackMap stack: java.util.Map
         2: areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;
    Signature: ()Ljava/util/Map<Ljava/lang/String;+Lfreemarker/core/TemplateNumberFormatFactory;>;

  public java.util.Map<java.lang.String, ? extends freemarker.core.TemplateNumberFormatFactory> getCustomNumberFormatsWithoutFallback();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 871
            aload 0 /* this */
            getfield freemarker.core.Configurable.customNumberFormats:Ljava/util/Map;
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;
    Signature: ()Ljava/util/Map<Ljava/lang/String;+Lfreemarker/core/TemplateNumberFormatFactory;>;

  public void setCustomNumberFormats(java.util.Map<java.lang.String, ? extends freemarker.core.TemplateNumberFormatFactory>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.util.Map customNumberFormats
         0: .line 889
            ldc "customNumberFormats"
            aload 1 /* customNumberFormats */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 890
            aload 0 /* this */
            aload 1 /* customNumberFormats */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokevirtual freemarker.core.Configurable.validateFormatNames:(Ljava/util/Set;)V
         2: .line 891
            aload 0 /* this */
            aload 1 /* customNumberFormats */
            putfield freemarker.core.Configurable.customNumberFormats:Ljava/util/Map;
         3: .line 892
            return
        end local 1 // java.util.Map customNumberFormats
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lfreemarker/core/Configurable;
            0    4     1  customNumberFormats  Ljava/util/Map<Ljava/lang/String;+Lfreemarker/core/TemplateNumberFormatFactory;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;+Lfreemarker/core/TemplateNumberFormatFactory;>;)V
    MethodParameters:
                     Name  Flags
      customNumberFormats  

  private void validateFormatNames(java.util.Set<java.lang.String>);
    descriptor: (Ljava/util/Set;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.util.Set keySet
         0: .line 895
            aload 1 /* keySet */
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3
            goto 19
      StackMap locals: freemarker.core.Configurable java.util.Set top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 2 /* name */
        start local 2 // java.lang.String name
         2: .line 896
            aload 2 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 4
         3: .line 897
            new java.lang.IllegalArgumentException
            dup
            ldc "Format names can't be 0 length"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 899
      StackMap locals: freemarker.core.Configurable java.util.Set java.lang.String java.util.Iterator
      StackMap stack:
            aload 2 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* firstChar */
        start local 4 // char firstChar
         5: .line 900
            iload 4 /* firstChar */
            bipush 64
            if_icmpne 11
         6: .line 901
            new java.lang.IllegalArgumentException
            dup
         7: .line 902
            new java.lang.StringBuilder
            dup
            ldc "Format names can't start with '@'. '@' is only used when referring to them from format strings. In: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         8: .line 903
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 902
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 901
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 905
      StackMap locals: int
      StackMap stack:
            iload 4 /* firstChar */
            invokestatic java.lang.Character.isLetter:(C)Z
            ifne 13
        12: .line 906
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Format name must start with letter: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* 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
        13: .line 908
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 5 /* i */
        start local 5 // int i
        14: goto 18
        15: .line 910
      StackMap locals: int
      StackMap stack:
            aload 2 /* name */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isLetterOrDigit:(C)Z
            ifne 17
        16: .line 911
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Format name can only contain letters and digits: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* 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
        17: .line 908
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 5 /* i */
            aload 2 /* name */
            invokevirtual java.lang.String.length:()I
            if_icmplt 15
        end local 5 // int i
        end local 4 // char firstChar
        end local 2 // java.lang.String name
        19: .line 895
      StackMap locals: freemarker.core.Configurable java.util.Set top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
        20: .line 915
            return
        end local 1 // java.util.Set keySet
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   21     0       this  Lfreemarker/core/Configurable;
            0   21     1     keySet  Ljava/util/Set<Ljava/lang/String;>;
            2   19     2       name  Ljava/lang/String;
            5   19     4  firstChar  C
           14   19     5          i  I
    Signature: (Ljava/util/Set<Ljava/lang/String;>;)V
    MethodParameters:
        Name  Flags
      keySet  

  public boolean isCustomNumberFormatsSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 923
            aload 0 /* this */
            getfield freemarker.core.Configurable.customNumberFormats:Ljava/util/Map;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public freemarker.core.TemplateNumberFormatFactory getCustomNumberFormat(java.lang.String);
    descriptor: (Ljava/lang/String;)Lfreemarker/core/TemplateNumberFormatFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String name
         0: .line 933
            aload 0 /* this */
            getfield freemarker.core.Configurable.customNumberFormats:Ljava/util/Map;
            ifnull 4
         1: .line 934
            aload 0 /* this */
            getfield freemarker.core.Configurable.customNumberFormats:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast freemarker.core.TemplateNumberFormatFactory
            astore 2 /* r */
        start local 2 // freemarker.core.TemplateNumberFormatFactory r
         2: .line 935
            aload 2 /* r */
            ifnull 4
         3: .line 936
            aload 2 /* r */
            areturn
        end local 2 // freemarker.core.TemplateNumberFormatFactory r
         4: .line 939
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            ifnull 5
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            aload 1 /* name */
            invokevirtual freemarker.core.Configurable.getCustomNumberFormat:(Ljava/lang/String;)Lfreemarker/core/TemplateNumberFormatFactory;
            goto 6
      StackMap locals:
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: freemarker.core.TemplateNumberFormatFactory
         6: areturn
        end local 1 // java.lang.String name
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lfreemarker/core/Configurable;
            0    7     1  name  Ljava/lang/String;
            2    4     2     r  Lfreemarker/core/TemplateNumberFormatFactory;
    MethodParameters:
      Name  Flags
      name  

  public boolean hasCustomFormats();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 948
            aload 0 /* this */
            getfield freemarker.core.Configurable.customNumberFormats:Ljava/util/Map;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.customNumberFormats:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 4
         1: .line 949
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.customDateFormats:Ljava/util/Map;
            ifnull 2
            aload 0 /* this */
            getfield freemarker.core.Configurable.customDateFormats:Ljava/util/Map;
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 4
         2: .line 950
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.getParent:()Lfreemarker/core/Configurable;
            ifnull 3
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.getParent:()Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.hasCustomFormats:()Z
            ifne 4
         3: .line 948
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_1
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lfreemarker/core/Configurable;

  public void setBooleanFormat(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String booleanFormat
         0: .line 966
            ldc "booleanFormat"
            aload 1 /* booleanFormat */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 968
            aload 1 /* booleanFormat */
            bipush 44
            invokevirtual java.lang.String.indexOf:(I)I
            istore 2 /* commaIdx */
        start local 2 // int commaIdx
         2: .line 969
            iload 2 /* commaIdx */
            iconst_m1
            if_icmpne 6
         3: .line 970
            new java.lang.IllegalArgumentException
            dup
         4: .line 971
            ldc "Setting value must be a string that contains two comma-separated values for true and false, respectively."
         5: .line 970
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 975
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* booleanFormat */
            putfield freemarker.core.Configurable.booleanFormat:Ljava/lang/String;
         7: .line 976
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "boolean_format"
            aload 1 /* booleanFormat */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         8: .line 978
            aload 1 /* booleanFormat */
            ldc "true,false"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
         9: .line 981
            aload 0 /* this */
            aconst_null
            putfield freemarker.core.Configurable.trueStringValue:Ljava/lang/String;
        10: .line 982
            aload 0 /* this */
            aconst_null
            putfield freemarker.core.Configurable.falseStringValue:Ljava/lang/String;
        11: .line 983
            goto 14
        12: .line 984
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* booleanFormat */
            iconst_0
            iload 2 /* commaIdx */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            putfield freemarker.core.Configurable.trueStringValue:Ljava/lang/String;
        13: .line 985
            aload 0 /* this */
            aload 1 /* booleanFormat */
            iload 2 /* commaIdx */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            putfield freemarker.core.Configurable.falseStringValue:Ljava/lang/String;
        14: .line 987
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int commaIdx
        end local 1 // java.lang.String booleanFormat
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   15     0           this  Lfreemarker/core/Configurable;
            0   15     1  booleanFormat  Ljava/lang/String;
            2   15     2       commaIdx  I
    MethodParameters:
               Name  Flags
      booleanFormat  

  public java.lang.String getBooleanFormat();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 993
            aload 0 /* this */
            getfield freemarker.core.Configurable.booleanFormat:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.booleanFormat:Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getBooleanFormat:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;

  public boolean isBooleanFormatSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1002
            aload 0 /* this */
            getfield freemarker.core.Configurable.booleanFormat:Ljava/lang/String;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  java.lang.String formatBoolean(boolean, boolean);
    descriptor: (ZZ)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // freemarker.core.Configurable this
        start local 1 // boolean value
        start local 2 // boolean fallbackToTrueFalse
         0: .line 1006
            iload 1 /* value */
            ifeq 7
         1: .line 1007
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.getTrueStringValue:()Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
         2: .line 1008
            aload 3 /* s */
            ifnonnull 6
         3: .line 1009
            iload 2 /* fallbackToTrueFalse */
            ifeq 5
         4: .line 1010
            ldc "true"
            areturn
         5: .line 1012
      StackMap locals: java.lang.String
      StackMap stack:
            new freemarker.core._MiscTemplateException
            dup
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.getNullBooleanFormatErrorDescription:()Lfreemarker/core/_ErrorDescriptionBuilder;
            invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/_ErrorDescriptionBuilder;)V
            athrow
         6: .line 1015
      StackMap locals:
      StackMap stack:
            aload 3 /* s */
            areturn
        end local 3 // java.lang.String s
         7: .line 1018
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.getFalseStringValue:()Ljava/lang/String;
            astore 3 /* s */
        start local 3 // java.lang.String s
         8: .line 1019
            aload 3 /* s */
            ifnonnull 12
         9: .line 1020
            iload 2 /* fallbackToTrueFalse */
            ifeq 11
        10: .line 1021
            ldc "false"
            areturn
        11: .line 1023
      StackMap locals: java.lang.String
      StackMap stack:
            new freemarker.core._MiscTemplateException
            dup
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.getNullBooleanFormatErrorDescription:()Lfreemarker/core/_ErrorDescriptionBuilder;
            invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/_ErrorDescriptionBuilder;)V
            athrow
        12: .line 1026
      StackMap locals:
      StackMap stack:
            aload 3 /* s */
            areturn
        end local 3 // java.lang.String s
        end local 2 // boolean fallbackToTrueFalse
        end local 1 // boolean value
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   13     0                 this  Lfreemarker/core/Configurable;
            0   13     1                value  Z
            0   13     2  fallbackToTrueFalse  Z
            2    7     3                    s  Ljava/lang/String;
            8   13     3                    s  Ljava/lang/String;
    Exceptions:
      throws freemarker.template.TemplateException
    MethodParameters:
                     Name  Flags
      value                
      fallbackToTrueFalse  

  private freemarker.core._ErrorDescriptionBuilder getNullBooleanFormatErrorDescription();
    descriptor: ()Lfreemarker/core/_ErrorDescriptionBuilder;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1032
            new freemarker.core._ErrorDescriptionBuilder
            dup
            iconst_5
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 1033
            ldc "Can't convert boolean to string automatically, because the \""
            aastore
            dup
            iconst_1
            ldc "boolean_format"
            aastore
            dup
            iconst_2
            ldc "\" setting was "
            aastore
            dup
            iconst_3
         2: .line 1034
            new freemarker.core._DelayedJQuote
            dup
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.getBooleanFormat:()Ljava/lang/String;
            invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
            aastore
            dup
            iconst_4
         3: .line 1035
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.getBooleanFormat:()Ljava/lang/String;
            ldc "true,false"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 1036
            ldc ", which is the legacy default computer-language format, and hence isn't accepted."
            goto 6
         5: .line 1037
      StackMap locals: freemarker.core.Configurable
      StackMap stack: new 0 new 0 java.lang.Object[] java.lang.Object[] int
            ldc "."
         6: .line 1032
      StackMap locals: freemarker.core.Configurable
      StackMap stack: new 0 new 0 java.lang.Object[] java.lang.Object[] int java.lang.String
            aastore
            invokespecial freemarker.core._ErrorDescriptionBuilder.<init>:([Ljava/lang/Object;)V
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         7: .line 1039
            ldc "If you just want \"true\"/\"false\" result as you are generting computer-language output, use \"?c\", like ${myBool?c}."
            aastore
            dup
            iconst_1
         8: .line 1041
            ldc "You can write myBool?string('yes', 'no') and like to specify boolean formatting in place."
            aastore
            dup
            iconst_2
         9: .line 1042
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
        10: .line 1043
            ldc "If you need the same two values on most places, the programmers should set the \""
            aastore
            dup
            iconst_1
        11: .line 1044
            ldc "boolean_format"
            aastore
            dup
            iconst_2
            ldc "\" setting to something like \"yes,no\"."
            aastore
            aastore
        12: .line 1038
            invokevirtual freemarker.core._ErrorDescriptionBuilder.tips:([Ljava/lang/Object;)Lfreemarker/core/_ErrorDescriptionBuilder;
        13: .line 1032
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0  this  Lfreemarker/core/Configurable;

  java.lang.String getTrueStringValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1062
            aload 0 /* this */
            getfield freemarker.core.Configurable.booleanFormat:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.trueStringValue:Ljava/lang/String;
            goto 3
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            ifnull 2
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getTrueStringValue:()Ljava/lang/String;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/core/Configurable;

  java.lang.String getFalseStringValue();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1071
            aload 0 /* this */
            getfield freemarker.core.Configurable.booleanFormat:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.falseStringValue:Ljava/lang/String;
            goto 3
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            ifnull 2
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getFalseStringValue:()Ljava/lang/String;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.String
         3: areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/core/Configurable;

  public void setTimeFormat(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String timeFormat
         0: .line 1083
            ldc "timeFormat"
            aload 1 /* timeFormat */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1084
            aload 0 /* this */
            aload 1 /* timeFormat */
            putfield freemarker.core.Configurable.timeFormat:Ljava/lang/String;
         2: .line 1085
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "time_format"
            aload 1 /* timeFormat */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 1086
            return
        end local 1 // java.lang.String timeFormat
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lfreemarker/core/Configurable;
            0    4     1  timeFormat  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      timeFormat  

  public java.lang.String getTimeFormat();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1092
            aload 0 /* this */
            getfield freemarker.core.Configurable.timeFormat:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.timeFormat:Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getTimeFormat:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;

  public boolean isTimeFormatSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1101
            aload 0 /* this */
            getfield freemarker.core.Configurable.timeFormat:Ljava/lang/String;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public void setDateFormat(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String dateFormat
         0: .line 1113
            ldc "dateFormat"
            aload 1 /* dateFormat */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1114
            aload 0 /* this */
            aload 1 /* dateFormat */
            putfield freemarker.core.Configurable.dateFormat:Ljava/lang/String;
         2: .line 1115
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "date_format"
            aload 1 /* dateFormat */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 1116
            return
        end local 1 // java.lang.String dateFormat
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lfreemarker/core/Configurable;
            0    4     1  dateFormat  Ljava/lang/String;
    MethodParameters:
            Name  Flags
      dateFormat  

  public java.lang.String getDateFormat();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1122
            aload 0 /* this */
            getfield freemarker.core.Configurable.dateFormat:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.dateFormat:Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getDateFormat:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;

  public boolean isDateFormatSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1131
            aload 0 /* this */
            getfield freemarker.core.Configurable.dateFormat:Ljava/lang/String;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public void setDateTimeFormat(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String dateTimeFormat
         0: .line 1221
            ldc "dateTimeFormat"
            aload 1 /* dateTimeFormat */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1222
            aload 0 /* this */
            aload 1 /* dateTimeFormat */
            putfield freemarker.core.Configurable.dateTimeFormat:Ljava/lang/String;
         2: .line 1223
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "datetime_format"
            aload 1 /* dateTimeFormat */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 1224
            return
        end local 1 // java.lang.String dateTimeFormat
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    4     0            this  Lfreemarker/core/Configurable;
            0    4     1  dateTimeFormat  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      dateTimeFormat  

  public java.lang.String getDateTimeFormat();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1230
            aload 0 /* this */
            getfield freemarker.core.Configurable.dateTimeFormat:Ljava/lang/String;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.dateTimeFormat:Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getDateTimeFormat:()Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;

  public boolean isDateTimeFormatSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1239
            aload 0 /* this */
            getfield freemarker.core.Configurable.dateTimeFormat:Ljava/lang/String;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public java.util.Map<java.lang.String, ? extends freemarker.core.TemplateDateFormatFactory> getCustomDateFormats();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1260
            aload 0 /* this */
            getfield freemarker.core.Configurable.customDateFormats:Ljava/util/Map;
            ifnonnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getCustomDateFormats:()Ljava/util/Map;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.customDateFormats:Ljava/util/Map;
      StackMap locals:
      StackMap stack: java.util.Map
         2: areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;
    Signature: ()Ljava/util/Map<Ljava/lang/String;+Lfreemarker/core/TemplateDateFormatFactory;>;

  public java.util.Map<java.lang.String, ? extends freemarker.core.TemplateDateFormatFactory> getCustomDateFormatsWithoutFallback();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1270
            aload 0 /* this */
            getfield freemarker.core.Configurable.customDateFormats:Ljava/util/Map;
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;
    Signature: ()Ljava/util/Map<Ljava/lang/String;+Lfreemarker/core/TemplateDateFormatFactory;>;

  public void setCustomDateFormats(java.util.Map<java.lang.String, ? extends freemarker.core.TemplateDateFormatFactory>);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.util.Map customDateFormats
         0: .line 1289
            ldc "customDateFormats"
            aload 1 /* customDateFormats */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1290
            aload 0 /* this */
            aload 1 /* customDateFormats */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokevirtual freemarker.core.Configurable.validateFormatNames:(Ljava/util/Set;)V
         2: .line 1291
            aload 0 /* this */
            aload 1 /* customDateFormats */
            putfield freemarker.core.Configurable.customDateFormats:Ljava/util/Map;
         3: .line 1292
            return
        end local 1 // java.util.Map customDateFormats
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    4     0               this  Lfreemarker/core/Configurable;
            0    4     1  customDateFormats  Ljava/util/Map<Ljava/lang/String;+Lfreemarker/core/TemplateDateFormatFactory;>;
    Signature: (Ljava/util/Map<Ljava/lang/String;+Lfreemarker/core/TemplateDateFormatFactory;>;)V
    MethodParameters:
                   Name  Flags
      customDateFormats  

  public boolean isCustomDateFormatsSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1300
            aload 0 /* this */
            getfield freemarker.core.Configurable.customDateFormats:Ljava/util/Map;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public freemarker.core.TemplateDateFormatFactory getCustomDateFormat(java.lang.String);
    descriptor: (Ljava/lang/String;)Lfreemarker/core/TemplateDateFormatFactory;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String name
         0: .line 1310
            aload 0 /* this */
            getfield freemarker.core.Configurable.customDateFormats:Ljava/util/Map;
            ifnull 4
         1: .line 1311
            aload 0 /* this */
            getfield freemarker.core.Configurable.customDateFormats:Ljava/util/Map;
            aload 1 /* name */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast freemarker.core.TemplateDateFormatFactory
            astore 2 /* r */
        start local 2 // freemarker.core.TemplateDateFormatFactory r
         2: .line 1312
            aload 2 /* r */
            ifnull 4
         3: .line 1313
            aload 2 /* r */
            areturn
        end local 2 // freemarker.core.TemplateDateFormatFactory r
         4: .line 1316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            ifnull 5
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            aload 1 /* name */
            invokevirtual freemarker.core.Configurable.getCustomDateFormat:(Ljava/lang/String;)Lfreemarker/core/TemplateDateFormatFactory;
            goto 6
      StackMap locals:
      StackMap stack:
         5: aconst_null
      StackMap locals:
      StackMap stack: freemarker.core.TemplateDateFormatFactory
         6: areturn
        end local 1 // java.lang.String name
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lfreemarker/core/Configurable;
            0    7     1  name  Ljava/lang/String;
            2    4     2     r  Lfreemarker/core/TemplateDateFormatFactory;
    MethodParameters:
      Name  Flags
      name  

  public void setTemplateExceptionHandler(freemarker.template.TemplateExceptionHandler);
    descriptor: (Lfreemarker/template/TemplateExceptionHandler;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // freemarker.template.TemplateExceptionHandler templateExceptionHandler
         0: .line 1345
            ldc "templateExceptionHandler"
            aload 1 /* templateExceptionHandler */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1346
            aload 0 /* this */
            aload 1 /* templateExceptionHandler */
            putfield freemarker.core.Configurable.templateExceptionHandler:Lfreemarker/template/TemplateExceptionHandler;
         2: .line 1347
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "template_exception_handler"
            aload 1 /* templateExceptionHandler */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 1348
            return
        end local 1 // freemarker.template.TemplateExceptionHandler templateExceptionHandler
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    4     0                      this  Lfreemarker/core/Configurable;
            0    4     1  templateExceptionHandler  Lfreemarker/template/TemplateExceptionHandler;
    MethodParameters:
                          Name  Flags
      templateExceptionHandler  

  public freemarker.template.TemplateExceptionHandler getTemplateExceptionHandler();
    descriptor: ()Lfreemarker/template/TemplateExceptionHandler;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1354
            aload 0 /* this */
            getfield freemarker.core.Configurable.templateExceptionHandler:Lfreemarker/template/TemplateExceptionHandler;
            ifnull 2
         1: .line 1355
            aload 0 /* this */
            getfield freemarker.core.Configurable.templateExceptionHandler:Lfreemarker/template/TemplateExceptionHandler;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getTemplateExceptionHandler:()Lfreemarker/template/TemplateExceptionHandler;
         3: .line 1354
      StackMap locals:
      StackMap stack: freemarker.template.TemplateExceptionHandler
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/core/Configurable;

  public boolean isTemplateExceptionHandlerSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1364
            aload 0 /* this */
            getfield freemarker.core.Configurable.templateExceptionHandler:Lfreemarker/template/TemplateExceptionHandler;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  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.core.Configurable this
        start local 1 // freemarker.template.AttemptExceptionReporter attemptExceptionReporter
         0: .line 1384
            ldc "attemptExceptionReporter"
            aload 1 /* attemptExceptionReporter */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1385
            aload 0 /* this */
            aload 1 /* attemptExceptionReporter */
            putfield freemarker.core.Configurable.attemptExceptionReporter:Lfreemarker/template/AttemptExceptionReporter;
         2: .line 1386
            return
        end local 1 // freemarker.template.AttemptExceptionReporter attemptExceptionReporter
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0    3     0                      this  Lfreemarker/core/Configurable;
            0    3     1  attemptExceptionReporter  Lfreemarker/template/AttemptExceptionReporter;
    MethodParameters:
                          Name  Flags
      attemptExceptionReporter  

  public freemarker.template.AttemptExceptionReporter getAttemptExceptionReporter();
    descriptor: ()Lfreemarker/template/AttemptExceptionReporter;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1394
            aload 0 /* this */
            getfield freemarker.core.Configurable.attemptExceptionReporter:Lfreemarker/template/AttemptExceptionReporter;
            ifnull 2
         1: .line 1395
            aload 0 /* this */
            getfield freemarker.core.Configurable.attemptExceptionReporter:Lfreemarker/template/AttemptExceptionReporter;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getAttemptExceptionReporter:()Lfreemarker/template/AttemptExceptionReporter;
         3: .line 1394
      StackMap locals:
      StackMap stack: freemarker.template.AttemptExceptionReporter
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/core/Configurable;

  public boolean isAttemptExceptionReporterSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1404
            aload 0 /* this */
            getfield freemarker.core.Configurable.attemptExceptionReporter:Lfreemarker/template/AttemptExceptionReporter;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public void setArithmeticEngine(freemarker.core.ArithmeticEngine);
    descriptor: (Lfreemarker/core/ArithmeticEngine;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // freemarker.core.ArithmeticEngine arithmeticEngine
         0: .line 1412
            ldc "arithmeticEngine"
            aload 1 /* arithmeticEngine */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1413
            aload 0 /* this */
            aload 1 /* arithmeticEngine */
            putfield freemarker.core.Configurable.arithmeticEngine:Lfreemarker/core/ArithmeticEngine;
         2: .line 1414
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "arithmetic_engine"
            aload 1 /* arithmeticEngine */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 1415
            return
        end local 1 // freemarker.core.ArithmeticEngine arithmeticEngine
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lfreemarker/core/Configurable;
            0    4     1  arithmeticEngine  Lfreemarker/core/ArithmeticEngine;
    MethodParameters:
                  Name  Flags
      arithmeticEngine  

  public freemarker.core.ArithmeticEngine getArithmeticEngine();
    descriptor: ()Lfreemarker/core/ArithmeticEngine;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1421
            aload 0 /* this */
            getfield freemarker.core.Configurable.arithmeticEngine:Lfreemarker/core/ArithmeticEngine;
            ifnull 2
         1: .line 1422
            aload 0 /* this */
            getfield freemarker.core.Configurable.arithmeticEngine:Lfreemarker/core/ArithmeticEngine;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getArithmeticEngine:()Lfreemarker/core/ArithmeticEngine;
         3: .line 1421
      StackMap locals:
      StackMap stack: freemarker.core.ArithmeticEngine
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/core/Configurable;

  public boolean isArithmeticEngineSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1431
            aload 0 /* this */
            getfield freemarker.core.Configurable.arithmeticEngine:Lfreemarker/core/ArithmeticEngine;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public void setObjectWrapper(freemarker.template.ObjectWrapper);
    descriptor: (Lfreemarker/template/ObjectWrapper;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // freemarker.template.ObjectWrapper objectWrapper
         0: .line 1439
            ldc "objectWrapper"
            aload 1 /* objectWrapper */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1440
            aload 0 /* this */
            aload 1 /* objectWrapper */
            putfield freemarker.core.Configurable.objectWrapper:Lfreemarker/template/ObjectWrapper;
         2: .line 1441
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "object_wrapper"
            aload 1 /* objectWrapper */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 1442
            return
        end local 1 // freemarker.template.ObjectWrapper objectWrapper
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    4     0           this  Lfreemarker/core/Configurable;
            0    4     1  objectWrapper  Lfreemarker/template/ObjectWrapper;
    MethodParameters:
               Name  Flags
      objectWrapper  

  public freemarker.template.ObjectWrapper getObjectWrapper();
    descriptor: ()Lfreemarker/template/ObjectWrapper;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1448
            aload 0 /* this */
            getfield freemarker.core.Configurable.objectWrapper:Lfreemarker/template/ObjectWrapper;
            ifnull 2
         1: .line 1449
            aload 0 /* this */
            getfield freemarker.core.Configurable.objectWrapper:Lfreemarker/template/ObjectWrapper;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getObjectWrapper:()Lfreemarker/template/ObjectWrapper;
         3: .line 1448
      StackMap locals:
      StackMap stack: freemarker.template.ObjectWrapper
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/core/Configurable;

  public boolean isObjectWrapperSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1458
            aload 0 /* this */
            getfield freemarker.core.Configurable.objectWrapper:Lfreemarker/template/ObjectWrapper;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public void setOutputEncoding(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String outputEncoding
         0: .line 1470
            aload 0 /* this */
            aload 1 /* outputEncoding */
            putfield freemarker.core.Configurable.outputEncoding:Ljava/lang/String;
         1: .line 1472
            aload 1 /* outputEncoding */
            ifnull 4
         2: .line 1473
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "output_encoding"
            aload 1 /* outputEncoding */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 1474
            goto 5
         4: .line 1475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "output_encoding"
            invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1477
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield freemarker.core.Configurable.outputEncodingSet:Z
         6: .line 1478
            return
        end local 1 // java.lang.String outputEncoding
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0            this  Lfreemarker/core/Configurable;
            0    7     1  outputEncoding  Ljava/lang/String;
    MethodParameters:
                Name  Flags
      outputEncoding  

  public java.lang.String getOutputEncoding();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1481
            aload 0 /* this */
            getfield freemarker.core.Configurable.outputEncodingSet:Z
            ifeq 2
         1: .line 1482
            aload 0 /* this */
            getfield freemarker.core.Configurable.outputEncoding:Ljava/lang/String;
            goto 4
         2: .line 1483
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            ifnull 3
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getOutputEncoding:()Ljava/lang/String;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aconst_null
         4: .line 1481
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lfreemarker/core/Configurable;

  public boolean isOutputEncodingSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1492
            aload 0 /* this */
            getfield freemarker.core.Configurable.outputEncodingSet:Z
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;

  public void setURLEscapingCharset(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String urlEscapingCharset
         0: .line 1502
            aload 0 /* this */
            aload 1 /* urlEscapingCharset */
            putfield freemarker.core.Configurable.urlEscapingCharset:Ljava/lang/String;
         1: .line 1504
            aload 1 /* urlEscapingCharset */
            ifnull 4
         2: .line 1505
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "url_escaping_charset"
            aload 1 /* urlEscapingCharset */
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         3: .line 1506
            goto 5
         4: .line 1507
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "url_escaping_charset"
            invokevirtual java.util.Properties.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1509
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield freemarker.core.Configurable.urlEscapingCharsetSet:Z
         6: .line 1510
            return
        end local 1 // java.lang.String urlEscapingCharset
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    7     0                this  Lfreemarker/core/Configurable;
            0    7     1  urlEscapingCharset  Ljava/lang/String;
    MethodParameters:
                    Name  Flags
      urlEscapingCharset  

  public java.lang.String getURLEscapingCharset();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1513
            aload 0 /* this */
            getfield freemarker.core.Configurable.urlEscapingCharsetSet:Z
            ifeq 2
         1: .line 1514
            aload 0 /* this */
            getfield freemarker.core.Configurable.urlEscapingCharset:Ljava/lang/String;
            goto 4
         2: .line 1515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            ifnull 3
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getURLEscapingCharset:()Ljava/lang/String;
            goto 4
      StackMap locals:
      StackMap stack:
         3: aconst_null
         4: .line 1513
      StackMap locals:
      StackMap stack: java.lang.String
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lfreemarker/core/Configurable;

  public boolean isURLEscapingCharsetSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1524
            aload 0 /* this */
            getfield freemarker.core.Configurable.urlEscapingCharsetSet:Z
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;

  public void setNewBuiltinClassResolver(freemarker.core.TemplateClassResolver);
    descriptor: (Lfreemarker/core/TemplateClassResolver;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // freemarker.core.TemplateClassResolver newBuiltinClassResolver
         0: .line 1541
            ldc "newBuiltinClassResolver"
            aload 1 /* newBuiltinClassResolver */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1542
            aload 0 /* this */
            aload 1 /* newBuiltinClassResolver */
            putfield freemarker.core.Configurable.newBuiltinClassResolver:Lfreemarker/core/TemplateClassResolver;
         2: .line 1543
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "new_builtin_class_resolver"
         3: .line 1544
            aload 1 /* newBuiltinClassResolver */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         4: .line 1543
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         5: .line 1545
            return
        end local 1 // freemarker.core.TemplateClassResolver newBuiltinClassResolver
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    6     0                     this  Lfreemarker/core/Configurable;
            0    6     1  newBuiltinClassResolver  Lfreemarker/core/TemplateClassResolver;
    MethodParameters:
                         Name  Flags
      newBuiltinClassResolver  

  public freemarker.core.TemplateClassResolver getNewBuiltinClassResolver();
    descriptor: ()Lfreemarker/core/TemplateClassResolver;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1554
            aload 0 /* this */
            getfield freemarker.core.Configurable.newBuiltinClassResolver:Lfreemarker/core/TemplateClassResolver;
            ifnull 2
         1: .line 1555
            aload 0 /* this */
            getfield freemarker.core.Configurable.newBuiltinClassResolver:Lfreemarker/core/TemplateClassResolver;
            goto 3
      StackMap locals:
      StackMap stack:
         2: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getNewBuiltinClassResolver:()Lfreemarker/core/TemplateClassResolver;
         3: .line 1554
      StackMap locals:
      StackMap stack: freemarker.core.TemplateClassResolver
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/core/Configurable;

  public boolean isNewBuiltinClassResolverSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1564
            aload 0 /* this */
            getfield freemarker.core.Configurable.newBuiltinClassResolver:Lfreemarker/core/TemplateClassResolver;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public void setAutoFlush(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // boolean autoFlush
         0: .line 1584
            aload 0 /* this */
            iload 1 /* autoFlush */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield freemarker.core.Configurable.autoFlush:Ljava/lang/Boolean;
         1: .line 1585
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "auto_flush"
            iload 1 /* autoFlush */
            invokestatic java.lang.String.valueOf:(Z)Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 1586
            return
        end local 1 // boolean autoFlush
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lfreemarker/core/Configurable;
            0    3     1  autoFlush  Z
    MethodParameters:
           Name  Flags
      autoFlush  

  public boolean getAutoFlush();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1594
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoFlush:Ljava/lang/Boolean;
            ifnull 2
         1: .line 1595
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoFlush:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            goto 4
         2: .line 1596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            ifnull 3
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getAutoFlush:()Z
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
         4: .line 1594
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lfreemarker/core/Configurable;

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

  public void setShowErrorTips(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // boolean showTips
         0: .line 1615
            aload 0 /* this */
            iload 1 /* showTips */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield freemarker.core.Configurable.showErrorTips:Ljava/lang/Boolean;
         1: .line 1616
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "show_error_tips"
            iload 1 /* showTips */
            invokestatic java.lang.String.valueOf:(Z)Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 1617
            return
        end local 1 // boolean showTips
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lfreemarker/core/Configurable;
            0    3     1  showTips  Z
    MethodParameters:
          Name  Flags
      showTips  

  public boolean getShowErrorTips();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1625
            aload 0 /* this */
            getfield freemarker.core.Configurable.showErrorTips:Ljava/lang/Boolean;
            ifnull 2
         1: .line 1626
            aload 0 /* this */
            getfield freemarker.core.Configurable.showErrorTips:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            goto 4
         2: .line 1627
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            ifnull 3
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getShowErrorTips:()Z
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
         4: .line 1625
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lfreemarker/core/Configurable;

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

  public void setAPIBuiltinEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // boolean value
         0: .line 1646
            aload 0 /* this */
            iload 1 /* value */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield freemarker.core.Configurable.apiBuiltinEnabled:Ljava/lang/Boolean;
         1: .line 1647
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "api_builtin_enabled"
            iload 1 /* value */
            invokestatic java.lang.String.valueOf:(Z)Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 1648
            return
        end local 1 // boolean value
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lfreemarker/core/Configurable;
            0    3     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  public boolean isAPIBuiltinEnabled();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1656
            aload 0 /* this */
            getfield freemarker.core.Configurable.apiBuiltinEnabled:Ljava/lang/Boolean;
            ifnull 2
         1: .line 1657
            aload 0 /* this */
            getfield freemarker.core.Configurable.apiBuiltinEnabled:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            goto 4
         2: .line 1658
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            ifnull 3
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.isAPIBuiltinEnabled:()Z
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_0
         4: .line 1656
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lfreemarker/core/Configurable;

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

  public void setLogTemplateExceptions(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // boolean value
         0: .line 1683
            aload 0 /* this */
            iload 1 /* value */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield freemarker.core.Configurable.logTemplateExceptions:Ljava/lang/Boolean;
         1: .line 1684
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            ldc "log_template_exceptions"
            iload 1 /* value */
            invokestatic java.lang.String.valueOf:(Z)Ljava/lang/String;
            invokevirtual java.util.Properties.setProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/Object;
            pop
         2: .line 1685
            return
        end local 1 // boolean value
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lfreemarker/core/Configurable;
            0    3     1  value  Z
    MethodParameters:
       Name  Flags
      value  

  public boolean getLogTemplateExceptions();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1693
            aload 0 /* this */
            getfield freemarker.core.Configurable.logTemplateExceptions:Ljava/lang/Boolean;
            ifnull 2
         1: .line 1694
            aload 0 /* this */
            getfield freemarker.core.Configurable.logTemplateExceptions:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            goto 4
         2: .line 1695
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            ifnull 3
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getLogTemplateExceptions:()Z
            goto 4
      StackMap locals:
      StackMap stack:
         3: iconst_1
         4: .line 1693
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lfreemarker/core/Configurable;

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

  public void setWrapUncheckedExceptions(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // boolean wrapUncheckedExceptions
         0: .line 1725
            aload 0 /* this */
            iload 1 /* wrapUncheckedExceptions */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield freemarker.core.Configurable.wrapUncheckedExceptions:Ljava/lang/Boolean;
         1: .line 1726
            return
        end local 1 // boolean wrapUncheckedExceptions
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    2     0                     this  Lfreemarker/core/Configurable;
            0    2     1  wrapUncheckedExceptions  Z
    MethodParameters:
                         Name  Flags
      wrapUncheckedExceptions  

  public boolean getWrapUncheckedExceptions();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1734
            aload 0 /* this */
            getfield freemarker.core.Configurable.wrapUncheckedExceptions:Ljava/lang/Boolean;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.wrapUncheckedExceptions:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            goto 3
         1: .line 1735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            ifnull 2
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getWrapUncheckedExceptions:()Z
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
         3: .line 1734
      StackMap locals:
      StackMap stack: int
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/core/Configurable;

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

  public boolean getLazyImports();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1751
            aload 0 /* this */
            getfield freemarker.core.Configurable.lazyImports:Ljava/lang/Boolean;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.lazyImports:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getLazyImports:()Z
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;

  public void setLazyImports(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // boolean lazyImports
         0: .line 1781
            aload 0 /* this */
            iload 1 /* lazyImports */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            putfield freemarker.core.Configurable.lazyImports:Ljava/lang/Boolean;
         1: .line 1782
            return
        end local 1 // boolean lazyImports
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    2     0         this  Lfreemarker/core/Configurable;
            0    2     1  lazyImports  Z
    MethodParameters:
             Name  Flags
      lazyImports  

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

  public java.lang.Boolean getLazyAutoImports();
    descriptor: ()Ljava/lang/Boolean;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1799
            aload 0 /* this */
            getfield freemarker.core.Configurable.lazyAutoImportsSet:Z
            ifeq 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.lazyAutoImports:Ljava/lang/Boolean;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getLazyAutoImports:()Ljava/lang/Boolean;
      StackMap locals:
      StackMap stack: java.lang.Boolean
         2: areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;

  public void setLazyAutoImports(java.lang.Boolean);
    descriptor: (Ljava/lang/Boolean;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.Boolean lazyAutoImports
         0: .line 1811
            aload 0 /* this */
            aload 1 /* lazyAutoImports */
            putfield freemarker.core.Configurable.lazyAutoImports:Ljava/lang/Boolean;
         1: .line 1812
            aload 0 /* this */
            iconst_1
            putfield freemarker.core.Configurable.lazyAutoImportsSet:Z
         2: .line 1813
            return
        end local 1 // java.lang.Boolean lazyAutoImports
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lfreemarker/core/Configurable;
            0    3     1  lazyAutoImports  Ljava/lang/Boolean;
    MethodParameters:
                 Name  Flags
      lazyAutoImports  

  public boolean isLazyAutoImportsSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1821
            aload 0 /* this */
            getfield freemarker.core.Configurable.lazyAutoImportsSet:Z
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;

  public void addAutoImport(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String namespaceVarName
        start local 2 // java.lang.String templateName
         0: .line 1855
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 1856
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
            ifnonnull 4
         2: .line 1857
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.initAutoImportsMap:()V
         3: .line 1858
            goto 5
         4: .line 1860
      StackMap locals: freemarker.core.Configurable
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
            aload 1 /* namespaceVarName */
            invokevirtual java.util.LinkedHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 1862
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
            aload 1 /* namespaceVarName */
            aload 2 /* templateName */
            invokevirtual java.util.LinkedHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 1855
            aload 3
            monitorexit
         7: goto 10
      StackMap locals:
      StackMap stack: java.lang.Throwable
         8: aload 3
            monitorexit
         9: athrow
        10: .line 1864
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String templateName
        end local 1 // java.lang.String namespaceVarName
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   11     0              this  Lfreemarker/core/Configurable;
            0   11     1  namespaceVarName  Ljava/lang/String;
            0   11     2      templateName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     7       8  any
           8     9       8  any
    MethodParameters:
                  Name  Flags
      namespaceVarName  
      templateName      

  private void initAutoImportsMap();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1867
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            iconst_4
            invokespecial java.util.LinkedHashMap.<init>:(I)V
            putfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
         1: .line 1868
            return
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public void removeAutoImport(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String namespaceVarName
         0: .line 1876
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 1877
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
            ifnull 3
         2: .line 1878
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
            aload 1 /* namespaceVarName */
            invokevirtual java.util.LinkedHashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1876
      StackMap locals: freemarker.core.Configurable
      StackMap stack:
            aload 2
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
         7: .line 1881
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String namespaceVarName
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    8     0              this  Lfreemarker/core/Configurable;
            0    8     1  namespaceVarName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
                  Name  Flags
      namespaceVarName  

  public void setAutoImports(java.util.Map);
    descriptor: (Ljava/util/Map;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.util.Map map
         0: .line 1892
            ldc "map"
            aload 1 /* map */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 1895
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 1896
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
            ifnull 4
         3: .line 1897
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
            invokevirtual java.util.LinkedHashMap.clear:()V
         4: .line 1899
      StackMap locals: freemarker.core.Configurable
      StackMap stack:
            aload 1 /* map */
            invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 4
            goto 17
      StackMap locals: freemarker.core.Configurable java.util.Map freemarker.core.Configurable top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 3 /* entry */
        start local 3 // java.util.Map$Entry entry
         6: .line 1900
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 5 /* key */
        start local 5 // java.lang.Object key
         7: .line 1901
            aload 5 /* key */
            instanceof java.lang.String
            ifne 11
         8: .line 1902
            new java.lang.IllegalArgumentException
            dup
         9: .line 1903
            new java.lang.StringBuilder
            dup
            ldc "Key in Map wasn't a String, but a(n) "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* key */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()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;
        10: .line 1902
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1906
      StackMap locals: freemarker.core.Configurable java.util.Map freemarker.core.Configurable java.util.Map$Entry java.util.Iterator java.lang.Object
      StackMap stack:
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            astore 6 /* value */
        start local 6 // java.lang.Object value
        12: .line 1907
            aload 6 /* value */
            instanceof java.lang.String
            ifne 16
        13: .line 1908
            new java.lang.IllegalArgumentException
            dup
        14: .line 1909
            new java.lang.StringBuilder
            dup
            ldc "Value in Map wasn't a String, but a(n) "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()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;
        15: .line 1908
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 1912
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            aload 5 /* key */
            checkcast java.lang.String
            aload 6 /* value */
            checkcast java.lang.String
            invokevirtual freemarker.core.Configurable.addAutoImport:(Ljava/lang/String;Ljava/lang/String;)V
        end local 6 // java.lang.Object value
        end local 5 // java.lang.Object key
        end local 3 // java.util.Map$Entry entry
        17: .line 1899
      StackMap locals: freemarker.core.Configurable java.util.Map freemarker.core.Configurable top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        18: .line 1895
            aload 2
            monitorexit
        19: goto 22
      StackMap locals: freemarker.core.Configurable java.util.Map freemarker.core.Configurable
      StackMap stack: java.lang.Throwable
        20: aload 2
            monitorexit
        21: athrow
        22: .line 1915
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Map map
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   23     0   this  Lfreemarker/core/Configurable;
            0   23     1    map  Ljava/util/Map;
            6   17     3  entry  Ljava/util/Map$Entry<**>;
            7   17     5    key  Ljava/lang/Object;
           12   17     6  value  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           2    19      20  any
          20    21      20  any
    MethodParameters:
      Name  Flags
      map   

  public java.util.Map<java.lang.String, java.lang.String> getAutoImports();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1936
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getAutoImports:()Ljava/util/Map;
      StackMap locals:
      StackMap stack: java.util.Map
         2: areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public boolean isAutoImportsSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1945
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public java.util.Map<java.lang.String, java.lang.String> getAutoImportsWithoutFallback();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 1955
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoImports:Ljava/util/LinkedHashMap;
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;
    Signature: ()Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;

  public void addAutoInclude(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String templateName
         0: .line 1984
            aload 0 /* this */
            aload 1 /* templateName */
            iconst_0
            invokevirtual freemarker.core.Configurable.addAutoInclude:(Ljava/lang/String;Z)V
         1: .line 1985
            return
        end local 1 // java.lang.String templateName
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lfreemarker/core/Configurable;
            0    2     1  templateName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      templateName  

  private void addAutoInclude(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String templateName
        start local 2 // boolean keepDuplicate
         0: .line 1994
            aload 0 /* this */
            dup
            astore 3
            monitorenter
         1: .line 1995
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
            ifnonnull 4
         2: .line 1996
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.initAutoIncludesList:()V
         3: .line 1997
            goto 6
         4: .line 1998
      StackMap locals: freemarker.core.Configurable
      StackMap stack:
            iload 2 /* keepDuplicate */
            ifne 6
         5: .line 1999
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
            aload 1 /* templateName */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         6: .line 2002
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
            aload 1 /* templateName */
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         7: .line 1994
            aload 3
            monitorexit
         8: goto 11
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: aload 3
            monitorexit
        10: athrow
        11: .line 2004
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean keepDuplicate
        end local 1 // java.lang.String templateName
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   12     0           this  Lfreemarker/core/Configurable;
            0   12     1   templateName  Ljava/lang/String;
            0   12     2  keepDuplicate  Z
      Exception table:
        from    to  target  type
           1     8       9  any
           9    10       9  any
    MethodParameters:
               Name  Flags
      templateName   
      keepDuplicate  

  private void initAutoIncludesList();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 2007
            aload 0 /* this */
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            putfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
         1: .line 2008
            return
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public void setAutoIncludes(java.util.List);
    descriptor: (Ljava/util/List;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.util.List templateNames
         0: .line 2017
            ldc "templateNames"
            aload 1 /* templateNames */
            invokestatic freemarker.template.utility.NullArgumentException.check:(Ljava/lang/String;Ljava/lang/Object;)V
         1: .line 2019
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 2020
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
            ifnull 4
         3: .line 2021
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
            invokevirtual java.util.ArrayList.clear:()V
         4: .line 2023
      StackMap locals: freemarker.core.Configurable
      StackMap stack:
            aload 1 /* templateNames */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 12
      StackMap locals: freemarker.core.Configurable java.util.List freemarker.core.Configurable top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* templateName */
        start local 3 // java.lang.Object templateName
         6: .line 2024
            aload 3 /* templateName */
            instanceof java.lang.String
            ifne 8
         7: .line 2025
            new java.lang.IllegalArgumentException
            dup
            ldc "List items must be String-s."
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 2027
      StackMap locals: freemarker.core.Configurable java.util.List freemarker.core.Configurable java.lang.Object java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 3 /* templateName */
            checkcast java.lang.String
            aload 0 /* this */
            instanceof freemarker.template.Configuration
            ifeq 10
            aload 0 /* this */
            checkcast freemarker.template.Configuration
         9: .line 2028
            invokevirtual freemarker.template.Configuration.getIncompatibleImprovements:()Lfreemarker/template/Version;
            invokevirtual freemarker.template.Version.intValue:()I
            getstatic freemarker.template._TemplateAPI.VERSION_INT_2_3_25:I
            if_icmpge 10
            iconst_1
            goto 11
      StackMap locals: freemarker.core.Configurable java.util.List freemarker.core.Configurable java.lang.Object java.util.Iterator
      StackMap stack: freemarker.core.Configurable java.lang.String
        10: iconst_0
        11: .line 2027
      StackMap locals: freemarker.core.Configurable java.util.List freemarker.core.Configurable java.lang.Object java.util.Iterator
      StackMap stack: freemarker.core.Configurable java.lang.String int
            invokevirtual freemarker.core.Configurable.addAutoInclude:(Ljava/lang/String;Z)V
        end local 3 // java.lang.Object templateName
        12: .line 2023
      StackMap locals: freemarker.core.Configurable java.util.List freemarker.core.Configurable top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
        13: .line 2019
            aload 2
            monitorexit
        14: goto 17
      StackMap locals: freemarker.core.Configurable java.util.List freemarker.core.Configurable
      StackMap stack: java.lang.Throwable
        15: aload 2
            monitorexit
        16: athrow
        17: .line 2031
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.List templateNames
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   18     0           this  Lfreemarker/core/Configurable;
            0   18     1  templateNames  Ljava/util/List;
            6   12     3   templateName  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           2    14      15  any
          15    16      15  any
    MethodParameters:
               Name  Flags
      templateNames  

  public java.util.List<java.lang.String> getAutoIncludes();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 2052
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            invokevirtual freemarker.core.Configurable.getAutoIncludes:()Ljava/util/List;
      StackMap locals:
      StackMap stack: java.util.List
         2: areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public boolean isAutoIncludesSet();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 2061
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;

  public java.util.List<java.lang.String> getAutoIncludesWithoutFallback();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 2071
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;
    Signature: ()Ljava/util/List<Ljava/lang/String;>;

  public void removeAutoInclude(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String templateName
         0: .line 2080
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         1: .line 2081
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
            ifnull 3
         2: .line 2082
            aload 0 /* this */
            getfield freemarker.core.Configurable.autoIncludes:Ljava/util/ArrayList;
            aload 1 /* templateName */
            invokevirtual java.util.ArrayList.remove:(Ljava/lang/Object;)Z
            pop
         3: .line 2080
      StackMap locals: freemarker.core.Configurable
      StackMap stack:
            aload 2
            monitorexit
         4: goto 7
      StackMap locals:
      StackMap stack: java.lang.Throwable
         5: aload 2
            monitorexit
         6: athrow
         7: .line 2085
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String templateName
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Lfreemarker/core/Configurable;
            0    8     1  templateName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     4       5  any
           5     6       5  any
    MethodParameters:
              Name  Flags
      templateName  

  public void setSetting(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
         0: .line 2519
            iconst_0
            istore 3 /* unknown */
        start local 3 // boolean unknown
         1: .line 2521
            ldc "locale"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 7
         2: .line 2522
            ldc "JVM default"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 5
         3: .line 2523
            aload 0 /* this */
            invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
            invokevirtual freemarker.core.Configurable.setLocale:(Ljava/util/Locale;)V
         4: .line 2524
            goto 259
         5: .line 2525
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokestatic freemarker.template.utility.StringUtil.deduceLocale:(Ljava/lang/String;)Ljava/util/Locale;
            invokevirtual freemarker.core.Configurable.setLocale:(Ljava/util/Locale;)V
         6: .line 2527
            goto 259
      StackMap locals:
      StackMap stack:
         7: ldc "number_format"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 8
            ldc "numberFormat"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 10
         8: .line 2528
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.setNumberFormat:(Ljava/lang/String;)V
         9: .line 2529
            goto 259
      StackMap locals:
      StackMap stack:
        10: ldc "custom_number_formats"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 12
        11: .line 2530
            ldc "customNumberFormats"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 18
        12: .line 2532
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc Ljava/util/Map;
            iconst_0
            invokestatic freemarker.core._SettingEvaluationEnvironment.getCurrent:()Lfreemarker/core/_SettingEvaluationEnvironment;
        13: .line 2531
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.eval:(Ljava/lang/String;Ljava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 4 /* map */
        start local 4 // java.util.Map map
        14: .line 2533
            ldc "Map keys"
            ldc Ljava/lang/String;
            aload 4 /* map */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokestatic freemarker.core._CoreAPI.checkSettingValueItemsType:(Ljava/lang/String;Ljava/lang/Class;Ljava/util/Collection;)V
        15: .line 2534
            ldc "Map values"
            ldc Lfreemarker/core/TemplateNumberFormatFactory;
            aload 4 /* map */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokestatic freemarker.core._CoreAPI.checkSettingValueItemsType:(Ljava/lang/String;Ljava/lang/Class;Ljava/util/Collection;)V
        16: .line 2535
            aload 0 /* this */
            aload 4 /* map */
            invokevirtual freemarker.core.Configurable.setCustomNumberFormats:(Ljava/util/Map;)V
        end local 4 // java.util.Map map
        17: .line 2536
            goto 259
      StackMap locals:
      StackMap stack:
        18: ldc "time_format"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 19
            ldc "timeFormat"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 21
        19: .line 2537
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.setTimeFormat:(Ljava/lang/String;)V
        20: .line 2538
            goto 259
      StackMap locals:
      StackMap stack:
        21: ldc "date_format"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
            ldc "dateFormat"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        22: .line 2539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.setDateFormat:(Ljava/lang/String;)V
        23: .line 2540
            goto 259
      StackMap locals:
      StackMap stack:
        24: ldc "datetime_format"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 25
            ldc "datetimeFormat"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 27
        25: .line 2541
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.setDateTimeFormat:(Ljava/lang/String;)V
        26: .line 2542
            goto 259
      StackMap locals:
      StackMap stack:
        27: ldc "custom_date_formats"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 29
        28: .line 2543
            ldc "customDateFormats"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 35
        29: .line 2545
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ldc Ljava/util/Map;
            iconst_0
            invokestatic freemarker.core._SettingEvaluationEnvironment.getCurrent:()Lfreemarker/core/_SettingEvaluationEnvironment;
        30: .line 2544
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.eval:(Ljava/lang/String;Ljava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)Ljava/lang/Object;
            checkcast java.util.Map
            astore 4 /* map */
        start local 4 // java.util.Map map
        31: .line 2546
            ldc "Map keys"
            ldc Ljava/lang/String;
            aload 4 /* map */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokestatic freemarker.core._CoreAPI.checkSettingValueItemsType:(Ljava/lang/String;Ljava/lang/Class;Ljava/util/Collection;)V
        32: .line 2547
            ldc "Map values"
            ldc Lfreemarker/core/TemplateDateFormatFactory;
            aload 4 /* map */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            invokestatic freemarker.core._CoreAPI.checkSettingValueItemsType:(Ljava/lang/String;Ljava/lang/Class;Ljava/util/Collection;)V
        33: .line 2548
            aload 0 /* this */
            aload 4 /* map */
            invokevirtual freemarker.core.Configurable.setCustomDateFormats:(Ljava/util/Map;)V
        end local 4 // java.util.Map map
        34: .line 2549
            goto 259
      StackMap locals:
      StackMap stack:
        35: ldc "time_zone"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 36
            ldc "timeZone"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 38
        36: .line 2550
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.parseTimeZoneSettingValue:(Ljava/lang/String;)Ljava/util/TimeZone;
            invokevirtual freemarker.core.Configurable.setTimeZone:(Ljava/util/TimeZone;)V
        37: .line 2551
            goto 259
      StackMap locals:
      StackMap stack:
        38: ldc "sql_date_and_time_time_zone"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 40
        39: .line 2552
            ldc "sqlDateAndTimeTimeZone"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 44
        40: .line 2553
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            ldc "null"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 41
            aconst_null
            goto 42
      StackMap locals:
      StackMap stack: freemarker.core.Configurable
        41: aload 0 /* this */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.parseTimeZoneSettingValue:(Ljava/lang/String;)Ljava/util/TimeZone;
      StackMap locals: freemarker.core.Configurable java.lang.String java.lang.String int
      StackMap stack: freemarker.core.Configurable java.util.TimeZone
        42: invokevirtual freemarker.core.Configurable.setSQLDateAndTimeTimeZone:(Ljava/util/TimeZone;)V
        43: .line 2554
            goto 259
      StackMap locals:
      StackMap stack:
        44: ldc "classic_compatible"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 46
        45: .line 2555
            ldc "classicCompatible"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 57
        46: .line 2557
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            ifnull 49
            aload 2 /* value */
            invokevirtual java.lang.String.length:()I
            ifle 49
        47: .line 2558
            aload 2 /* value */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* firstChar */
        start local 4 // char firstChar
        48: .line 2559
            goto 50
        end local 4 // char firstChar
        49: .line 2560
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* firstChar */
        start local 4 // char firstChar
        50: .line 2562
      StackMap locals: int
      StackMap stack:
            iload 4 /* firstChar */
            invokestatic java.lang.Character.isDigit:(C)Z
            ifne 51
            iload 4 /* firstChar */
            bipush 43
            if_icmpeq 51
            iload 4 /* firstChar */
            bipush 45
            if_icmpne 53
        51: .line 2563
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokevirtual freemarker.core.Configurable.setClassicCompatibleAsInt:(I)V
        52: .line 2564
            goto 259
        53: .line 2565
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            ifnull 54
            aload 2 /* value */
            invokestatic freemarker.template.utility.StringUtil.getYesNo:(Ljava/lang/String;)Z
            goto 55
      StackMap locals:
      StackMap stack: freemarker.core.Configurable
        54: iconst_0
      StackMap locals: freemarker.core.Configurable java.lang.String java.lang.String int int
      StackMap stack: freemarker.core.Configurable int
        55: invokevirtual freemarker.core.Configurable.setClassicCompatible:(Z)V
        end local 4 // char firstChar
        56: .line 2567
            goto 259
      StackMap locals:
      StackMap stack:
        57: ldc "template_exception_handler"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 59
        58: .line 2568
            ldc "templateExceptionHandler"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 88
        59: .line 2569
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 84
        60: .line 2570
            ldc "debug"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 65
        61: .line 2571
            aload 0 /* this */
        62: .line 2572
            getstatic freemarker.template.TemplateExceptionHandler.DEBUG_HANDLER:Lfreemarker/template/TemplateExceptionHandler;
        63: .line 2571
            invokevirtual freemarker.core.Configurable.setTemplateExceptionHandler:(Lfreemarker/template/TemplateExceptionHandler;)V
        64: .line 2573
            goto 259
      StackMap locals:
      StackMap stack:
        65: ldc "html_debug"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 66
            ldc "htmlDebug"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 70
        66: .line 2574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        67: .line 2575
            getstatic freemarker.template.TemplateExceptionHandler.HTML_DEBUG_HANDLER:Lfreemarker/template/TemplateExceptionHandler;
        68: .line 2574
            invokevirtual freemarker.core.Configurable.setTemplateExceptionHandler:(Lfreemarker/template/TemplateExceptionHandler;)V
        69: .line 2576
            goto 259
      StackMap locals:
      StackMap stack:
        70: ldc "ignore"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 75
        71: .line 2577
            aload 0 /* this */
        72: .line 2578
            getstatic freemarker.template.TemplateExceptionHandler.IGNORE_HANDLER:Lfreemarker/template/TemplateExceptionHandler;
        73: .line 2577
            invokevirtual freemarker.core.Configurable.setTemplateExceptionHandler:(Lfreemarker/template/TemplateExceptionHandler;)V
        74: .line 2579
            goto 259
      StackMap locals:
      StackMap stack:
        75: ldc "rethrow"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 80
        76: .line 2580
            aload 0 /* this */
        77: .line 2581
            getstatic freemarker.template.TemplateExceptionHandler.RETHROW_HANDLER:Lfreemarker/template/TemplateExceptionHandler;
        78: .line 2580
            invokevirtual freemarker.core.Configurable.setTemplateExceptionHandler:(Lfreemarker/template/TemplateExceptionHandler;)V
        79: .line 2582
            goto 259
      StackMap locals:
      StackMap stack:
        80: ldc "default"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 83
            aload 0 /* this */
            instanceof freemarker.template.Configuration
            ifeq 83
        81: .line 2583
            aload 0 /* this */
            checkcast freemarker.template.Configuration
            invokevirtual freemarker.template.Configuration.unsetTemplateExceptionHandler:()V
        82: .line 2584
            goto 259
        83: .line 2585
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.invalidSettingValueException:(Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateException;
            athrow
        84: .line 2588
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        85: .line 2589
            aload 2 /* value */
            ldc Lfreemarker/template/TemplateExceptionHandler;
            iconst_0
            invokestatic freemarker.core._SettingEvaluationEnvironment.getCurrent:()Lfreemarker/core/_SettingEvaluationEnvironment;
        86: .line 2588
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.eval:(Ljava/lang/String;Ljava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)Ljava/lang/Object;
            checkcast freemarker.template.TemplateExceptionHandler
            invokevirtual freemarker.core.Configurable.setTemplateExceptionHandler:(Lfreemarker/template/TemplateExceptionHandler;)V
        87: .line 2591
            goto 259
      StackMap locals:
      StackMap stack:
        88: ldc "attempt_exception_reporter"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 90
        89: .line 2592
            ldc "attemptExceptionReporter"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 109
        90: .line 2593
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 105
        91: .line 2594
            ldc "log_error"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 92
            ldc "logError"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 96
        92: .line 2595
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        93: .line 2596
            getstatic freemarker.template.AttemptExceptionReporter.LOG_ERROR_REPORTER:Lfreemarker/template/AttemptExceptionReporter;
        94: .line 2595
            invokevirtual freemarker.core.Configurable.setAttemptExceptionReporter:(Lfreemarker/template/AttemptExceptionReporter;)V
        95: .line 2597
            goto 259
      StackMap locals:
      StackMap stack:
        96: ldc "log_warn"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 97
            ldc "logWarn"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 101
        97: .line 2598
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
        98: .line 2599
            getstatic freemarker.template.AttemptExceptionReporter.LOG_WARN_REPORTER:Lfreemarker/template/AttemptExceptionReporter;
        99: .line 2598
            invokevirtual freemarker.core.Configurable.setAttemptExceptionReporter:(Lfreemarker/template/AttemptExceptionReporter;)V
       100: .line 2600
            goto 259
      StackMap locals:
      StackMap stack:
       101: ldc "default"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 104
            aload 0 /* this */
            instanceof freemarker.template.Configuration
            ifeq 104
       102: .line 2601
            aload 0 /* this */
            checkcast freemarker.template.Configuration
            invokevirtual freemarker.template.Configuration.unsetAttemptExceptionReporter:()V
       103: .line 2602
            goto 259
       104: .line 2603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.invalidSettingValueException:(Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateException;
            athrow
       105: .line 2606
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       106: .line 2607
            aload 2 /* value */
            ldc Lfreemarker/template/AttemptExceptionReporter;
            iconst_0
            invokestatic freemarker.core._SettingEvaluationEnvironment.getCurrent:()Lfreemarker/core/_SettingEvaluationEnvironment;
       107: .line 2606
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.eval:(Ljava/lang/String;Ljava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)Ljava/lang/Object;
            checkcast freemarker.template.AttemptExceptionReporter
            invokevirtual freemarker.core.Configurable.setAttemptExceptionReporter:(Lfreemarker/template/AttemptExceptionReporter;)V
       108: .line 2609
            goto 259
      StackMap locals:
      StackMap stack:
       109: ldc "arithmetic_engine"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 110
            ldc "arithmeticEngine"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 122
       110: .line 2610
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 118
       111: .line 2611
            ldc "bigdecimal"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 114
       112: .line 2612
            aload 0 /* this */
            getstatic freemarker.core.ArithmeticEngine.BIGDECIMAL_ENGINE:Lfreemarker/core/ArithmeticEngine$BigDecimalEngine;
            invokevirtual freemarker.core.Configurable.setArithmeticEngine:(Lfreemarker/core/ArithmeticEngine;)V
       113: .line 2613
            goto 259
      StackMap locals:
      StackMap stack:
       114: ldc "conservative"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 117
       115: .line 2614
            aload 0 /* this */
            getstatic freemarker.core.ArithmeticEngine.CONSERVATIVE_ENGINE:Lfreemarker/core/ArithmeticEngine$ConservativeEngine;
            invokevirtual freemarker.core.Configurable.setArithmeticEngine:(Lfreemarker/core/ArithmeticEngine;)V
       116: .line 2615
            goto 259
       117: .line 2616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.invalidSettingValueException:(Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateException;
            athrow
       118: .line 2619
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       119: .line 2620
            aload 2 /* value */
            ldc Lfreemarker/core/ArithmeticEngine;
            iconst_0
            invokestatic freemarker.core._SettingEvaluationEnvironment.getCurrent:()Lfreemarker/core/_SettingEvaluationEnvironment;
       120: .line 2619
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.eval:(Ljava/lang/String;Ljava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)Ljava/lang/Object;
            checkcast freemarker.core.ArithmeticEngine
            invokevirtual freemarker.core.Configurable.setArithmeticEngine:(Lfreemarker/core/ArithmeticEngine;)V
       121: .line 2622
            goto 259
      StackMap locals:
      StackMap stack:
       122: ldc "object_wrapper"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 123
            ldc "objectWrapper"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 149
       123: .line 2623
      StackMap locals:
      StackMap stack:
            ldc "default"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 129
       124: .line 2624
            aload 0 /* this */
            instanceof freemarker.template.Configuration
            ifeq 127
       125: .line 2625
            aload 0 /* this */
            checkcast freemarker.template.Configuration
            invokevirtual freemarker.template.Configuration.unsetObjectWrapper:()V
       126: .line 2626
            goto 259
       127: .line 2627
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic freemarker.template.Configuration.VERSION_2_3_0:Lfreemarker/template/Version;
            invokestatic freemarker.template.Configuration.getDefaultObjectWrapper:(Lfreemarker/template/Version;)Lfreemarker/template/ObjectWrapper;
            invokevirtual freemarker.core.Configurable.setObjectWrapper:(Lfreemarker/template/ObjectWrapper;)V
       128: .line 2629
            goto 259
      StackMap locals:
      StackMap stack:
       129: ldc "default_2_3_0"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 132
       130: .line 2630
            aload 0 /* this */
            getstatic freemarker.template.Configuration.VERSION_2_3_0:Lfreemarker/template/Version;
            invokestatic freemarker.template.Configuration.getDefaultObjectWrapper:(Lfreemarker/template/Version;)Lfreemarker/template/ObjectWrapper;
            invokevirtual freemarker.core.Configurable.setObjectWrapper:(Lfreemarker/template/ObjectWrapper;)V
       131: .line 2631
            goto 259
      StackMap locals:
      StackMap stack:
       132: ldc "simple"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 135
       133: .line 2632
            aload 0 /* this */
            getstatic freemarker.template.ObjectWrapper.SIMPLE_WRAPPER:Lfreemarker/template/ObjectWrapper;
            invokevirtual freemarker.core.Configurable.setObjectWrapper:(Lfreemarker/template/ObjectWrapper;)V
       134: .line 2633
            goto 259
      StackMap locals:
      StackMap stack:
       135: ldc "beans"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 138
       136: .line 2634
            aload 0 /* this */
            getstatic freemarker.template.ObjectWrapper.BEANS_WRAPPER:Lfreemarker/template/ObjectWrapper;
            invokevirtual freemarker.core.Configurable.setObjectWrapper:(Lfreemarker/template/ObjectWrapper;)V
       137: .line 2635
            goto 259
      StackMap locals:
      StackMap stack:
       138: ldc "jython"
            aload 2 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 145
       139: .line 2637
            ldc "freemarker.ext.jython.JythonWrapper"
       140: .line 2636
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* clazz */
        start local 4 // java.lang.Class clazz
       141: .line 2638
            aload 0 /* this */
       142: .line 2639
            aload 4 /* clazz */
            ldc "INSTANCE"
            invokevirtual java.lang.Class.getField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            aconst_null
            invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast freemarker.template.ObjectWrapper
       143: .line 2638
            invokevirtual freemarker.core.Configurable.setObjectWrapper:(Lfreemarker/template/ObjectWrapper;)V
        end local 4 // java.lang.Class clazz
       144: .line 2640
            goto 259
       145: .line 2641
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
       146: .line 2642
            aload 2 /* value */
            ldc Lfreemarker/template/ObjectWrapper;
            iconst_0
            invokestatic freemarker.core._SettingEvaluationEnvironment.getCurrent:()Lfreemarker/core/_SettingEvaluationEnvironment;
       147: .line 2641
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.eval:(Ljava/lang/String;Ljava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)Ljava/lang/Object;
            checkcast freemarker.template.ObjectWrapper
            invokevirtual freemarker.core.Configurable.setObjectWrapper:(Lfreemarker/template/ObjectWrapper;)V
       148: .line 2644
            goto 259
      StackMap locals:
      StackMap stack:
       149: ldc "boolean_format"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 150
            ldc "booleanFormat"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 152
       150: .line 2645
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.setBooleanFormat:(Ljava/lang/String;)V
       151: .line 2646
            goto 259
      StackMap locals:
      StackMap stack:
       152: ldc "output_encoding"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 153
            ldc "outputEncoding"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 155
       153: .line 2647
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.setOutputEncoding:(Ljava/lang/String;)V
       154: .line 2648
            goto 259
      StackMap locals:
      StackMap stack:
       155: ldc "url_escaping_charset"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 157
       156: .line 2649
            ldc "urlEscapingCharset"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 159
       157: .line 2650
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.setURLEscapingCharset:(Ljava/lang/String;)V
       158: .line 2651
            goto 259
      StackMap locals:
      StackMap stack:
       159: ldc "strict_bean_models"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 161
       160: .line 2652
            ldc "strictBeanModels"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 163
       161: .line 2653
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokestatic freemarker.template.utility.StringUtil.getYesNo:(Ljava/lang/String;)Z
            invokevirtual freemarker.core.Configurable.setStrictBeanModels:(Z)V
       162: .line 2654
            goto 259
      StackMap locals:
      StackMap stack:
       163: ldc "auto_flush"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 164
            ldc "autoFlush"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 166
       164: .line 2655
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokestatic freemarker.template.utility.StringUtil.getYesNo:(Ljava/lang/String;)Z
            invokevirtual freemarker.core.Configurable.setAutoFlush:(Z)V
       165: .line 2656
            goto 259
      StackMap locals:
      StackMap stack:
       166: ldc "show_error_tips"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 167
            ldc "showErrorTips"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 169
       167: .line 2657
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokestatic freemarker.template.utility.StringUtil.getYesNo:(Ljava/lang/String;)Z
            invokevirtual freemarker.core.Configurable.setShowErrorTips:(Z)V
       168: .line 2658
            goto 259
      StackMap locals:
      StackMap stack:
       169: ldc "api_builtin_enabled"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 171
       170: .line 2659
            ldc "apiBuiltinEnabled"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 173
       171: .line 2660
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokestatic freemarker.template.utility.StringUtil.getYesNo:(Ljava/lang/String;)Z
            invokevirtual freemarker.core.Configurable.setAPIBuiltinEnabled:(Z)V
       172: .line 2661
            goto 259
      StackMap locals:
      StackMap stack:
       173: ldc "new_builtin_class_resolver"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 175
       174: .line 2662
            ldc "newBuiltinClassResolver"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 232
       175: .line 2663
      StackMap locals:
      StackMap stack:
            ldc "unrestricted"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 178
       176: .line 2664
            aload 0 /* this */
            getstatic freemarker.core.TemplateClassResolver.UNRESTRICTED_RESOLVER:Lfreemarker/core/TemplateClassResolver;
            invokevirtual freemarker.core.Configurable.setNewBuiltinClassResolver:(Lfreemarker/core/TemplateClassResolver;)V
       177: .line 2665
            goto 259
      StackMap locals:
      StackMap stack:
       178: ldc "safer"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 181
       179: .line 2666
            aload 0 /* this */
            getstatic freemarker.core.TemplateClassResolver.SAFER_RESOLVER:Lfreemarker/core/TemplateClassResolver;
            invokevirtual freemarker.core.Configurable.setNewBuiltinClassResolver:(Lfreemarker/core/TemplateClassResolver;)V
       180: .line 2667
            goto 259
      StackMap locals:
      StackMap stack:
       181: ldc "allows_nothing"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 182
            ldc "allowsNothing"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 184
       182: .line 2668
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getstatic freemarker.core.TemplateClassResolver.ALLOWS_NOTHING_RESOLVER:Lfreemarker/core/TemplateClassResolver;
            invokevirtual freemarker.core.Configurable.setNewBuiltinClassResolver:(Lfreemarker/core/TemplateClassResolver;)V
       183: .line 2669
            goto 259
      StackMap locals:
      StackMap stack:
       184: aload 2 /* value */
            ldc ":"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 217
       185: .line 2670
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.parseAsSegmentedList:(Ljava/lang/String;)Ljava/util/ArrayList;
            astore 4 /* segments */
        start local 4 // java.util.List segments
       186: .line 2671
            aconst_null
            astore 5 /* allowedClasses */
        start local 5 // java.util.Set allowedClasses
       187: .line 2672
            aconst_null
            astore 6 /* trustedTemplates */
        start local 6 // java.util.List trustedTemplates
       188: .line 2673
            iconst_0
            istore 7 /* i */
        start local 7 // int i
       189: goto 212
       190: .line 2674
      StackMap locals: freemarker.core.Configurable java.lang.String java.lang.String int java.util.List java.util.Set java.util.List int
      StackMap stack:
            aload 4 /* segments */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast freemarker.core.Configurable$KeyValuePair
            astore 8 /* kv */
        start local 8 // freemarker.core.Configurable$KeyValuePair kv
       191: .line 2675
            aload 8 /* kv */
            invokevirtual freemarker.core.Configurable$KeyValuePair.getKey:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* segmentKey */
        start local 9 // java.lang.String segmentKey
       192: .line 2676
            aload 8 /* kv */
            invokevirtual freemarker.core.Configurable$KeyValuePair.getValue:()Ljava/lang/Object;
            checkcast java.util.List
            astore 10 /* segmentValue */
        start local 10 // java.util.List segmentValue
       193: .line 2677
            aload 9 /* segmentKey */
            ldc "allowed_classes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 195
       194: .line 2678
            aload 9 /* segmentKey */
            ldc "allowedClasses"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 197
       195: .line 2679
      StackMap locals: freemarker.core.Configurable$KeyValuePair java.lang.String java.util.List
      StackMap stack:
            new java.util.HashSet
            dup
            aload 10 /* segmentValue */
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 5 /* allowedClasses */
       196: .line 2680
            goto 211
      StackMap locals:
      StackMap stack:
       197: aload 9 /* segmentKey */
            ldc "trusted_templates"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 199
       198: .line 2681
            aload 9 /* segmentKey */
            ldc "trustedTemplates"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 201
       199: .line 2682
      StackMap locals:
      StackMap stack:
            aload 10 /* segmentValue */
            astore 6 /* trustedTemplates */
       200: .line 2683
            goto 211
       201: .line 2684
      StackMap locals:
      StackMap stack:
            new freemarker.core.ParseException
            dup
       202: .line 2685
            new java.lang.StringBuilder
            dup
            ldc "Unrecognized list segment key: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* segmentKey */
            invokestatic freemarker.template.utility.StringUtil.jQuote:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       203: .line 2686
            ldc ". Supported keys are: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       204: .line 2687
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "allowed_classes"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       205: .line 2688
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "allowedClasses"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       206: .line 2689
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "trusted_templates"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       207: .line 2690
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "trustedTemplates"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\". "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
       208: .line 2685
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       209: .line 2691
            iconst_0
            iconst_0
       210: .line 2684
            invokespecial freemarker.core.ParseException.<init>:(Ljava/lang/String;II)V
            athrow
        end local 10 // java.util.List segmentValue
        end local 9 // java.lang.String segmentKey
        end local 8 // freemarker.core.Configurable$KeyValuePair kv
       211: .line 2673
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
       212: iload 7 /* i */
            aload 4 /* segments */
            invokeinterface java.util.List.size:()I
            if_icmplt 190
        end local 7 // int i
       213: .line 2694
            aload 0 /* this */
       214: .line 2695
            new freemarker.core.OptInTemplateClassResolver
            dup
            aload 5 /* allowedClasses */
            aload 6 /* trustedTemplates */
            invokespecial freemarker.core.OptInTemplateClassResolver.<init>:(Ljava/util/Set;Ljava/util/List;)V
       215: .line 2694
            invokevirtual freemarker.core.Configurable.setNewBuiltinClassResolver:(Lfreemarker/core/TemplateClassResolver;)V
        end local 6 // java.util.List trustedTemplates
        end local 5 // java.util.Set allowedClasses
        end local 4 // java.util.List segments
       216: .line 2696
            goto 259
      StackMap locals: freemarker.core.Configurable java.lang.String java.lang.String int
      StackMap stack:
       217: ldc "allow_nothing"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 221
       218: .line 2697
            new java.lang.IllegalArgumentException
            dup
       219: .line 2698
            ldc "The correct value would be: allows_nothing"
       220: .line 2697
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
       221: .line 2699
      StackMap locals:
      StackMap stack:
            ldc "allowNothing"
            aload 2 /* value */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 225
       222: .line 2700
            new java.lang.IllegalArgumentException
            dup
       223: .line 2701
            ldc "The correct value would be: allowsNothing"
       224: .line 2700
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
       225: .line 2702
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            bipush 46
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 231
       226: .line 2703
            aload 0 /* this */
       227: .line 2704
            aload 2 /* value */
            ldc Lfreemarker/core/TemplateClassResolver;
            iconst_0
       228: .line 2705
            invokestatic freemarker.core._SettingEvaluationEnvironment.getCurrent:()Lfreemarker/core/_SettingEvaluationEnvironment;
       229: .line 2703
            invokestatic freemarker.core._ObjectBuilderSettingEvaluator.eval:(Ljava/lang/String;Ljava/lang/Class;ZLfreemarker/core/_SettingEvaluationEnvironment;)Ljava/lang/Object;
            checkcast freemarker.core.TemplateClassResolver
            invokevirtual freemarker.core.Configurable.setNewBuiltinClassResolver:(Lfreemarker/core/TemplateClassResolver;)V
       230: .line 2706
            goto 259
       231: .line 2707
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.invalidSettingValueException:(Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateException;
            athrow
       232: .line 2709
      StackMap locals:
      StackMap stack:
            ldc "log_template_exceptions"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 234
       233: .line 2710
            ldc "logTemplateExceptions"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 236
       234: .line 2711
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokestatic freemarker.template.utility.StringUtil.getYesNo:(Ljava/lang/String;)Z
            invokevirtual freemarker.core.Configurable.setLogTemplateExceptions:(Z)V
       235: .line 2712
            goto 259
      StackMap locals:
      StackMap stack:
       236: ldc "wrap_unchecked_exceptions"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 238
       237: .line 2713
            ldc "wrapUncheckedExceptions"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 240
       238: .line 2714
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokestatic freemarker.template.utility.StringUtil.getYesNo:(Ljava/lang/String;)Z
            invokevirtual freemarker.core.Configurable.setWrapUncheckedExceptions:(Z)V
       239: .line 2715
            goto 259
      StackMap locals:
      StackMap stack:
       240: ldc "lazy_auto_imports"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 241
            ldc "lazyAutoImports"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 245
       241: .line 2716
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            ldc "null"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 242
            aconst_null
            goto 243
      StackMap locals:
      StackMap stack: freemarker.core.Configurable
       242: aload 2 /* value */
            invokestatic freemarker.template.utility.StringUtil.getYesNo:(Ljava/lang/String;)Z
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
      StackMap locals: freemarker.core.Configurable java.lang.String java.lang.String int
      StackMap stack: freemarker.core.Configurable java.lang.Boolean
       243: invokevirtual freemarker.core.Configurable.setLazyAutoImports:(Ljava/lang/Boolean;)V
       244: .line 2717
            goto 259
      StackMap locals:
      StackMap stack:
       245: ldc "lazy_imports"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 246
            ldc "lazyImports"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 248
       246: .line 2718
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* value */
            invokestatic freemarker.template.utility.StringUtil.getYesNo:(Ljava/lang/String;)Z
            invokevirtual freemarker.core.Configurable.setLazyImports:(Z)V
       247: .line 2719
            goto 259
      StackMap locals:
      StackMap stack:
       248: ldc "auto_include"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 250
       249: .line 2720
            ldc "autoInclude"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 252
       250: .line 2721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.parseAsList:(Ljava/lang/String;)Ljava/util/ArrayList;
            invokevirtual freemarker.core.Configurable.setAutoIncludes:(Ljava/util/List;)V
       251: .line 2722
            goto 259
      StackMap locals:
      StackMap stack:
       252: ldc "auto_import"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 253
            ldc "autoImport"
            aload 1 /* name */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 255
       253: .line 2723
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* value */
            invokevirtual freemarker.core.Configurable.parseAsImportList:(Ljava/lang/String;)Ljava/util/HashMap;
            invokevirtual freemarker.core.Configurable.setAutoImports:(Ljava/util/Map;)V
       254: .line 2724
            goto 259
       255: .line 2725
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* unknown */
       256: .line 2727
            goto 259
      StackMap locals:
      StackMap stack: java.lang.Exception
       257: astore 4 /* e */
        start local 4 // java.lang.Exception e
       258: .line 2728
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* value */
            aload 4 /* e */
            invokevirtual freemarker.core.Configurable.settingValueAssignmentException:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)Lfreemarker/template/TemplateException;
            athrow
        end local 4 // java.lang.Exception e
       259: .line 2730
      StackMap locals:
      StackMap stack:
            iload 3 /* unknown */
            ifeq 261
       260: .line 2731
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual freemarker.core.Configurable.unknownSettingException:(Ljava/lang/String;)Lfreemarker/template/TemplateException;
            athrow
       261: .line 2733
      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.core.Configurable this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0  262     0              this  Lfreemarker/core/Configurable;
            0  262     1              name  Ljava/lang/String;
            0  262     2             value  Ljava/lang/String;
            1  262     3           unknown  Z
           14   17     4               map  Ljava/util/Map;
           31   34     4               map  Ljava/util/Map;
           48   49     4         firstChar  C
           50   56     4         firstChar  C
          141  144     4             clazz  Ljava/lang/Class;
          186  216     4          segments  Ljava/util/List;
          187  216     5    allowedClasses  Ljava/util/Set;
          188  216     6  trustedTemplates  Ljava/util/List;
          189  213     7                 i  I
          191  211     8                kv  Lfreemarker/core/Configurable$KeyValuePair;
          192  211     9        segmentKey  Ljava/lang/String;
          193  211    10      segmentValue  Ljava/util/List;
          258  259     4                 e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1   256     257  Class java.lang.Exception
    Exceptions:
      throws freemarker.template.TemplateException
    MethodParameters:
       Name  Flags
      name   
      value  

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

  private java.util.TimeZone parseTimeZoneSettingValue(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/TimeZone;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String value
         0: .line 2752
            ldc "JVM default"
            aload 1 /* value */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 2753
            invokestatic java.util.TimeZone.getDefault:()Ljava/util/TimeZone;
            astore 2 /* tz */
        start local 2 // java.util.TimeZone tz
         2: .line 2754
            goto 4
        end local 2 // java.util.TimeZone tz
         3: .line 2755
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
            astore 2 /* tz */
        start local 2 // java.util.TimeZone tz
         4: .line 2757
      StackMap locals: java.util.TimeZone
      StackMap stack:
            aload 2 /* tz */
            areturn
        end local 2 // java.util.TimeZone tz
        end local 1 // java.lang.String value
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Lfreemarker/core/Configurable;
            0    5     1  value  Ljava/lang/String;
            2    3     2     tz  Ljava/util/TimeZone;
            4    5     2     tz  Ljava/util/TimeZone;
    MethodParameters:
       Name  Flags
      value  

  public void setStrictBeanModels(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // boolean strict
         0: .line 2765
            aload 0 /* this */
            getfield freemarker.core.Configurable.objectWrapper:Lfreemarker/template/ObjectWrapper;
            instanceof freemarker.ext.beans.BeansWrapper
            ifne 4
         1: .line 2766
            new java.lang.IllegalStateException
            dup
            new java.lang.StringBuilder
            dup
            ldc "The value of the object_wrapper setting isn't a "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 2767
            ldc Lfreemarker/ext/beans/BeansWrapper;
            invokevirtual java.lang.Class.getName:()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;
         3: .line 2766
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 2769
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield freemarker.core.Configurable.objectWrapper:Lfreemarker/template/ObjectWrapper;
            checkcast freemarker.ext.beans.BeansWrapper
            iload 1 /* strict */
            invokevirtual freemarker.ext.beans.BeansWrapper.setStrict:(Z)V
         5: .line 2770
            return
        end local 1 // boolean strict
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lfreemarker/core/Configurable;
            0    6     1  strict  Z
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
        Name  Flags
      strict  

  public java.lang.String getSetting(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String key
         0: .line 2783
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            aload 1 /* key */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String key
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;
            0    1     1   key  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      key   

  public java.util.Map getSettings();
    descriptor: ()Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 2799
            aload 0 /* this */
            getfield freemarker.core.Configurable.properties:Ljava/util/Properties;
            invokestatic java.util.Collections.unmodifiableMap:(Ljava/util/Map;)Ljava/util/Map;
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()

  protected freemarker.core.Environment getEnvironment();
    descriptor: ()Lfreemarker/core/Environment;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 2803
            aload 0 /* this */
            instanceof freemarker.core.Environment
            ifeq 2
         1: .line 2804
            aload 0 /* this */
            checkcast freemarker.core.Environment
            goto 3
         2: .line 2805
      StackMap locals:
      StackMap stack:
            invokestatic freemarker.core.Environment.getCurrentEnvironment:()Lfreemarker/core/Environment;
         3: .line 2803
      StackMap locals:
      StackMap stack: freemarker.core.Environment
            areturn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lfreemarker/core/Configurable;

  protected freemarker.template.TemplateException unknownSettingException(java.lang.String);
    descriptor: (Ljava/lang/String;)Lfreemarker/template/TemplateException;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String name
         0: .line 2812
            new freemarker.core.Configurable$UnknownSettingException
            dup
         1: .line 2813
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.getEnvironment:()Lfreemarker/core/Environment;
            aload 1 /* name */
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual freemarker.core.Configurable.getCorrectedNameForUnknownSetting:(Ljava/lang/String;)Ljava/lang/String;
         2: .line 2812
            invokespecial freemarker.core.Configurable$UnknownSettingException.<init>:(Lfreemarker/core/Environment;Ljava/lang/String;Ljava/lang/String;)V
            areturn
        end local 1 // java.lang.String name
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lfreemarker/core/Configurable;
            0    3     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected java.lang.String getCorrectedNameForUnknownSetting(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String name
         0: .line 2822
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected freemarker.template.TemplateException settingValueAssignmentException(java.lang.String, java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)Lfreemarker/template/TemplateException;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
        start local 3 // java.lang.Throwable cause
         0: .line 2829
            new freemarker.core.Configurable$SettingValueAssignmentException
            dup
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.getEnvironment:()Lfreemarker/core/Environment;
            aload 1 /* name */
            aload 2 /* value */
            aload 3 /* cause */
            invokespecial freemarker.core.Configurable$SettingValueAssignmentException.<init>:(Lfreemarker/core/Environment;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Throwable;)V
            areturn
        end local 3 // java.lang.Throwable cause
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lfreemarker/core/Configurable;
            0    1     1   name  Ljava/lang/String;
            0    1     2  value  Ljava/lang/String;
            0    1     3  cause  Ljava/lang/Throwable;
    MethodParameters:
       Name  Flags
      name   
      value  
      cause  

  protected freemarker.template.TemplateException invalidSettingValueException(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Lfreemarker/template/TemplateException;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=9, locals=3, args_size=3
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String value
         0: .line 2833
            new freemarker.core._MiscTemplateException
            dup
            aload 0 /* this */
            invokevirtual freemarker.core.Configurable.getEnvironment:()Lfreemarker/core/Environment;
            iconst_4
            anewarray java.lang.Object
            dup
            iconst_0
         1: .line 2834
            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
            ldc ": "
            aastore
            dup
            iconst_3
            new freemarker.core._DelayedJQuote
            dup
            aload 2 /* value */
            invokespecial freemarker.core._DelayedJQuote.<init>:(Ljava/lang/Object;)V
         2: .line 2833
            aastore
            invokespecial freemarker.core._MiscTemplateException.<init>:(Lfreemarker/core/Environment;[Ljava/lang/Object;)V
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String name
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lfreemarker/core/Configurable;
            0    3     1   name  Ljava/lang/String;
            0    3     2  value  Ljava/lang/String;
    MethodParameters:
       Name  Flags
      name   
      value  

  public void setSettings(java.util.Properties);
    descriptor: (Ljava/util/Properties;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.util.Properties props
         0: .line 2875
            invokestatic freemarker.core._SettingEvaluationEnvironment.startScope:()Lfreemarker/core/_SettingEvaluationEnvironment;
            astore 2 /* prevEnv */
        start local 2 // freemarker.core._SettingEvaluationEnvironment prevEnv
         1: .line 2877
            aload 1 /* props */
            invokevirtual java.util.Properties.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 3 /* it */
        start local 3 // java.util.Iterator it
         2: goto 5
         3: .line 2878
      StackMap locals: freemarker.core._SettingEvaluationEnvironment java.util.Iterator
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* key */
        start local 4 // java.lang.String key
         4: .line 2879
            aload 0 /* this */
            aload 4 /* key */
            aload 1 /* props */
            aload 4 /* key */
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual freemarker.core.Configurable.setSetting:(Ljava/lang/String;Ljava/lang/String;)V
        end local 4 // java.lang.String key
         5: .line 2877
      StackMap locals:
      StackMap stack:
            aload 3 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        end local 3 // java.util.Iterator it
         6: .line 2881
            goto 10
      StackMap locals: freemarker.core.Configurable java.util.Properties freemarker.core._SettingEvaluationEnvironment
      StackMap stack: java.lang.Throwable
         7: astore 5
         8: .line 2882
            aload 2 /* prevEnv */
            invokestatic freemarker.core._SettingEvaluationEnvironment.endScope:(Lfreemarker/core/_SettingEvaluationEnvironment;)V
         9: .line 2883
            aload 5
            athrow
        10: .line 2882
      StackMap locals:
      StackMap stack:
            aload 2 /* prevEnv */
            invokestatic freemarker.core._SettingEvaluationEnvironment.endScope:(Lfreemarker/core/_SettingEvaluationEnvironment;)V
        11: .line 2884
            return
        end local 2 // freemarker.core._SettingEvaluationEnvironment prevEnv
        end local 1 // java.util.Properties props
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   12     0     this  Lfreemarker/core/Configurable;
            0   12     1    props  Ljava/util/Properties;
            1   12     2  prevEnv  Lfreemarker/core/_SettingEvaluationEnvironment;
            2    6     3       it  Ljava/util/Iterator;
            4    5     4      key  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     7       7  any
    Exceptions:
      throws freemarker.template.TemplateException
    MethodParameters:
       Name  Flags
      props  

  public void setSettings(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.io.InputStream propsIn
         0: .line 2896
            new java.util.Properties
            dup
            invokespecial java.util.Properties.<init>:()V
            astore 2 /* p */
        start local 2 // java.util.Properties p
         1: .line 2897
            aload 2 /* p */
            aload 1 /* propsIn */
            invokevirtual java.util.Properties.load:(Ljava/io/InputStream;)V
         2: .line 2898
            aload 0 /* this */
            aload 2 /* p */
            invokevirtual freemarker.core.Configurable.setSettings:(Ljava/util/Properties;)V
         3: .line 2899
            return
        end local 2 // java.util.Properties p
        end local 1 // java.io.InputStream propsIn
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lfreemarker/core/Configurable;
            0    4     1  propsIn  Ljava/io/InputStream;
            1    4     2        p  Ljava/util/Properties;
    Exceptions:
      throws freemarker.template.TemplateException, java.io.IOException
    MethodParameters:
         Name  Flags
      propsIn  

  void setCustomAttribute(java.lang.Object, java.lang.Object);
    descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.Object key
        start local 2 // java.lang.Object value
         0: .line 2907
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
         1: .line 2908
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 2907
            aload 3
            monitorexit
         3: goto 6
      StackMap locals: freemarker.core.Configurable java.lang.Object java.lang.Object java.util.HashMap
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
         6: .line 2910
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.Object key
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lfreemarker/core/Configurable;
            0    7     1    key  Ljava/lang/Object;
            0    7     2  value  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
       Name  Flags
      key    
      value  

  java.lang.Object getCustomAttribute(java.lang.Object, freemarker.core.CustomAttribute);
    descriptor: (Ljava/lang/Object;Lfreemarker/core/CustomAttribute;)Ljava/lang/Object;
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.Object key
        start local 2 // freemarker.core.CustomAttribute attr
         0: .line 2918
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
         1: .line 2919
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            aload 1 /* key */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 4 /* o */
        start local 4 // java.lang.Object o
         2: .line 2920
            aload 4 /* o */
            ifnonnull 5
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            aload 1 /* key */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifne 5
         3: .line 2921
            aload 2 /* attr */
            invokevirtual freemarker.core.CustomAttribute.create:()Ljava/lang/Object;
            astore 4 /* o */
         4: .line 2922
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            aload 1 /* key */
            aload 4 /* o */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 2924
      StackMap locals: java.util.HashMap java.lang.Object
      StackMap stack:
            aload 4 /* o */
            aload 3
            monitorexit
         6: areturn
        end local 4 // java.lang.Object o
         7: .line 2918
      StackMap locals: freemarker.core.Configurable java.lang.Object freemarker.core.CustomAttribute java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
         8: athrow
        end local 2 // freemarker.core.CustomAttribute attr
        end local 1 // java.lang.Object key
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lfreemarker/core/Configurable;
            0    9     1   key  Ljava/lang/Object;
            0    9     2  attr  Lfreemarker/core/CustomAttribute;
            2    7     4     o  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    MethodParameters:
      Name  Flags
      key   
      attr  

  boolean isCustomAttributeSet(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.Object key
         0: .line 2929
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            aload 1 /* key */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.lang.Object key
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;
            0    1     1   key  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  void copyDirectCustomAttributes(freemarker.core.Configurable, boolean);
    descriptor: (Lfreemarker/core/Configurable;Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // freemarker.core.Configurable this
        start local 1 // freemarker.core.Configurable target
        start local 2 // boolean overwriteExisting
         0: .line 2941
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
         1: .line 2942
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.entrySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: freemarker.core.Configurable freemarker.core.Configurable int java.util.HashMap top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Map$Entry
            astore 4 /* custAttrEnt */
        start local 4 // java.util.Map$Entry custAttrEnt
         3: .line 2943
            aload 4 /* custAttrEnt */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            astore 6 /* custAttrKey */
        start local 6 // java.lang.Object custAttrKey
         4: .line 2944
            iload 2 /* overwriteExisting */
            ifne 5
            aload 1 /* target */
            aload 6 /* custAttrKey */
            invokevirtual freemarker.core.Configurable.isCustomAttributeSet:(Ljava/lang/Object;)Z
            ifne 9
         5: .line 2945
      StackMap locals: freemarker.core.Configurable freemarker.core.Configurable int java.util.HashMap java.util.Map$Entry java.util.Iterator java.lang.Object
      StackMap stack:
            aload 6 /* custAttrKey */
            instanceof java.lang.String
            ifeq 8
         6: .line 2946
            aload 1 /* target */
            aload 6 /* custAttrKey */
            checkcast java.lang.String
            aload 4 /* custAttrEnt */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual freemarker.core.Configurable.setCustomAttribute:(Ljava/lang/String;Ljava/lang/Object;)V
         7: .line 2947
            goto 9
         8: .line 2948
      StackMap locals:
      StackMap stack:
            aload 1 /* target */
            aload 6 /* custAttrKey */
            aload 4 /* custAttrEnt */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            invokevirtual freemarker.core.Configurable.setCustomAttribute:(Ljava/lang/Object;Ljava/lang/Object;)V
        end local 6 // java.lang.Object custAttrKey
        end local 4 // java.util.Map$Entry custAttrEnt
         9: .line 2942
      StackMap locals: freemarker.core.Configurable freemarker.core.Configurable int java.util.HashMap top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 2941
            aload 3
            monitorexit
        11: goto 14
      StackMap locals: freemarker.core.Configurable freemarker.core.Configurable int java.util.HashMap
      StackMap stack: java.lang.Throwable
        12: aload 3
            monitorexit
        13: athrow
        14: .line 2953
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean overwriteExisting
        end local 1 // freemarker.core.Configurable target
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   15     0               this  Lfreemarker/core/Configurable;
            0   15     1             target  Lfreemarker/core/Configurable;
            0   15     2  overwriteExisting  Z
            3    9     4        custAttrEnt  Ljava/util/Map$Entry<**>;
            4    9     6        custAttrKey  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1    11      12  any
          12    13      12  any
    MethodParameters:
                   Name  Flags
      target             
      overwriteExisting  

  public void setCustomAttribute(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String name
        start local 2 // java.lang.Object value
         0: .line 2965
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
         1: .line 2966
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            aload 1 /* name */
            aload 2 /* value */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 2965
            aload 3
            monitorexit
         3: goto 6
      StackMap locals: freemarker.core.Configurable java.lang.String java.lang.Object java.util.HashMap
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
         6: .line 2968
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String name
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lfreemarker/core/Configurable;
            0    7     1   name  Ljava/lang/String;
            0    7     2  value  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
       Name  Flags
      name   
      value  

  public java.lang.String[] getCustomAttributeNames();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // freemarker.core.Configurable this
         0: .line 2979
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            dup
            astore 1
            monitorenter
         1: .line 2980
            new java.util.LinkedList
            dup
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            invokevirtual java.util.HashMap.keySet:()Ljava/util/Set;
            invokespecial java.util.LinkedList.<init>:(Ljava/util/Collection;)V
            astore 2 /* names */
        start local 2 // java.util.Collection names
         2: .line 2981
            aload 2 /* names */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 3 /* iter */
        start local 3 // java.util.Iterator iter
         3: goto 6
         4: .line 2982
      StackMap locals: java.util.HashMap java.util.Collection java.util.Iterator
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            instanceof java.lang.String
            ifne 6
         5: .line 2983
            aload 3 /* iter */
            invokeinterface java.util.Iterator.remove:()V
         6: .line 2981
      StackMap locals:
      StackMap stack:
            aload 3 /* iter */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        end local 3 // java.util.Iterator iter
         7: .line 2986
            aload 2 /* names */
            aload 2 /* names */
            invokeinterface java.util.Collection.size:()I
            anewarray java.lang.String
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            aload 1
            monitorexit
         8: areturn
        end local 2 // java.util.Collection names
         9: .line 2979
      StackMap locals: freemarker.core.Configurable java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        10: athrow
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lfreemarker/core/Configurable;
            2    9     2  names  Ljava/util/Collection;
            3    7     3   iter  Ljava/util/Iterator;
      Exception table:
        from    to  target  type
           1     8       9  any
           9    10       9  any

  public void removeCustomAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String name
         0: .line 3001
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         1: .line 3002
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         2: .line 3001
            aload 2
            monitorexit
         3: goto 6
      StackMap locals: freemarker.core.Configurable java.lang.String java.util.HashMap
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
         6: .line 3004
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String name
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lfreemarker/core/Configurable;
            0    7     1  name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    MethodParameters:
      Name  Flags
      name  

  public java.lang.Object getCustomAttribute(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String name
         0: .line 3020
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
         1: .line 3021
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* retval */
        start local 2 // java.lang.Object retval
         2: .line 3022
            aload 2 /* retval */
            ifnonnull 5
            aload 0 /* this */
            getfield freemarker.core.Configurable.customAttributes:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 5
         3: .line 3023
            aload 3
            monitorexit
         4: aconst_null
            areturn
         5: .line 3020
      StackMap locals: java.lang.Object java.util.HashMap
      StackMap stack:
            aload 3
            monitorexit
         6: goto 9
        end local 2 // java.lang.Object retval
      StackMap locals: freemarker.core.Configurable java.lang.String top java.util.HashMap
      StackMap stack: java.lang.Throwable
         7: aload 3
            monitorexit
         8: athrow
        start local 2 // java.lang.Object retval
         9: .line 3026
      StackMap locals: freemarker.core.Configurable java.lang.String java.lang.Object
      StackMap stack:
            aload 2 /* retval */
            ifnonnull 11
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            ifnull 11
        10: .line 3027
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            aload 1 /* name */
            invokevirtual freemarker.core.Configurable.getCustomAttribute:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        11: .line 3029
      StackMap locals:
      StackMap stack:
            aload 2 /* retval */
            areturn
        end local 2 // java.lang.Object retval
        end local 1 // java.lang.String name
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   12     0    this  Lfreemarker/core/Configurable;
            0   12     1    name  Ljava/lang/String;
            2    7     2  retval  Ljava/lang/Object;
            9   12     2  retval  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     4       7  any
           5     6       7  any
           7     8       7  any
    MethodParameters:
      Name  Flags
      name  

  protected void doAutoImportsAndIncludes(freemarker.core.Environment);
    descriptor: (Lfreemarker/core/Environment;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // freemarker.core.Environment env
         0: .line 3038
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            ifnull 1
            aload 0 /* this */
            getfield freemarker.core.Configurable.parent:Lfreemarker/core/Configurable;
            aload 1 /* env */
            invokevirtual freemarker.core.Configurable.doAutoImportsAndIncludes:(Lfreemarker/core/Environment;)V
         1: .line 3039
      StackMap locals:
      StackMap stack:
            return
        end local 1 // freemarker.core.Environment env
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lfreemarker/core/Configurable;
            0    2     1   env  Lfreemarker/core/Environment;
    Exceptions:
      throws freemarker.template.TemplateException, java.io.IOException
    MethodParameters:
      Name  Flags
      env   

  protected java.util.ArrayList parseAsList(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/ArrayList;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String text
         0: .line 3042
            new freemarker.core.Configurable$SettingStringParser
            dup
            aload 1 /* text */
            invokespecial freemarker.core.Configurable$SettingStringParser.<init>:(Ljava/lang/String;)V
            invokevirtual freemarker.core.Configurable$SettingStringParser.parseAsList:()Ljava/util/ArrayList;
            areturn
        end local 1 // java.lang.String text
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;
            0    1     1  text  Ljava/lang/String;
    Exceptions:
      throws freemarker.core.ParseException
    MethodParameters:
      Name  Flags
      text  

  protected java.util.ArrayList parseAsSegmentedList(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/ArrayList;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String text
         0: .line 3047
            new freemarker.core.Configurable$SettingStringParser
            dup
            aload 1 /* text */
            invokespecial freemarker.core.Configurable$SettingStringParser.<init>:(Ljava/lang/String;)V
            invokevirtual freemarker.core.Configurable$SettingStringParser.parseAsSegmentedList:()Ljava/util/ArrayList;
            areturn
        end local 1 // java.lang.String text
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;
            0    1     1  text  Ljava/lang/String;
    Exceptions:
      throws freemarker.core.ParseException
    MethodParameters:
      Name  Flags
      text  

  protected java.util.HashMap parseAsImportList(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/HashMap;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // freemarker.core.Configurable this
        start local 1 // java.lang.String text
         0: .line 3051
            new freemarker.core.Configurable$SettingStringParser
            dup
            aload 1 /* text */
            invokespecial freemarker.core.Configurable$SettingStringParser.<init>:(Ljava/lang/String;)V
            invokevirtual freemarker.core.Configurable$SettingStringParser.parseAsImportList:()Ljava/util/HashMap;
            areturn
        end local 1 // java.lang.String text
        end local 0 // freemarker.core.Configurable this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lfreemarker/core/Configurable;
            0    1     1  text  Ljava/lang/String;
    Exceptions:
      throws freemarker.core.ParseException
    MethodParameters:
      Name  Flags
      text  
}
SourceFile: "Configurable.java"
NestMembers:
  freemarker.core.Configurable$KeyValuePair  freemarker.core.Configurable$SettingStringParser  freemarker.core.Configurable$SettingValueAssignmentException  freemarker.core.Configurable$UnknownSettingException
InnerClasses:
  private KeyValuePair = freemarker.core.Configurable$KeyValuePair of freemarker.core.Configurable
  private SettingStringParser = freemarker.core.Configurable$SettingStringParser of freemarker.core.Configurable
  public SettingValueAssignmentException = freemarker.core.Configurable$SettingValueAssignmentException of freemarker.core.Configurable
  public UnknownSettingException = freemarker.core.Configurable$UnknownSettingException of freemarker.core.Configurable
  public abstract Entry = java.util.Map$Entry of java.util.Map