public final class java.util.Currency implements java.io.Serializable
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: java.util.Currency
  super_class: java.lang.Object
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -158308464356906721

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

  private final transient int defaultFractionDigits;
    descriptor: I
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private final transient int numericCode;
    descriptor: I
    flags: (0x0092) ACC_PRIVATE, ACC_FINAL, ACC_TRANSIENT

  private static java.util.concurrent.ConcurrentMap<java.lang.String, java.util.Currency> instances;
    descriptor: Ljava/util/concurrent/ConcurrentMap;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/concurrent/ConcurrentMap<Ljava/lang/String;Ljava/util/Currency;>;

  private static java.util.HashSet<java.util.Currency> available;
    descriptor: Ljava/util/HashSet;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/HashSet<Ljava/util/Currency;>;

  static int formatVersion;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  static int dataVersion;
    descriptor: I
    flags: (0x0008) ACC_STATIC

  static int[] mainTable;
    descriptor: [I
    flags: (0x0008) ACC_STATIC

  static java.util.List<java.util.Currency$SpecialCaseEntry> specialCasesList;
    descriptor: Ljava/util/List;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/List<Ljava/util/Currency$SpecialCaseEntry;>;

  static java.util.List<java.util.Currency$OtherCurrencyEntry> otherCurrenciesList;
    descriptor: Ljava/util/List;
    flags: (0x0008) ACC_STATIC
    Signature: Ljava/util/List<Ljava/util/Currency$OtherCurrencyEntry;>;

  private static final int MAGIC_NUMBER;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1131770436

  private static final int A_TO_Z;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 26

  private static final int INVALID_COUNTRY_ENTRY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 127

  private static final int COUNTRY_WITHOUT_CURRENCY_ENTRY;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  private static final int SIMPLE_CASE_COUNTRY_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int SIMPLE_CASE_COUNTRY_FINAL_CHAR_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 31

  private static final int SIMPLE_CASE_COUNTRY_DEFAULT_DIGITS_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 480

  private static final int SIMPLE_CASE_COUNTRY_DEFAULT_DIGITS_SHIFT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  private static final int SIMPLE_CASE_COUNTRY_MAX_DEFAULT_DIGITS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 9

  private static final int SPECIAL_CASE_COUNTRY_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  private static final int SPECIAL_CASE_COUNTRY_INDEX_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 31

  private static final int SPECIAL_CASE_COUNTRY_INDEX_DELTA;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int COUNTRY_TYPE_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 512

  private static final int NUMERIC_CODE_MASK;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1047552

  private static final int NUMERIC_CODE_SHIFT;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 10

  private static final int VALID_FORMAT_VERSION;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  private static final int SYMBOL;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int DISPLAYNAME;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 129
            new java.util.concurrent.ConcurrentHashMap
            dup
            bipush 7
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:(I)V
            putstatic java.util.Currency.instances:Ljava/util/concurrent/ConcurrentMap;
         1: .line 200
            new java.util.Currency$1
            dup
            invokespecial java.util.Currency$1.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         2: .line 263
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=4, args_size=4
        start local 0 // java.util.Currency this
        start local 1 // java.lang.String currencyCode
        start local 2 // int defaultFractionDigits
        start local 3 // int numericCode
         0: .line 271
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 272
            aload 0 /* this */
            aload 1 /* currencyCode */
            putfield java.util.Currency.currencyCode:Ljava/lang/String;
         2: .line 273
            aload 0 /* this */
            iload 2 /* defaultFractionDigits */
            putfield java.util.Currency.defaultFractionDigits:I
         3: .line 274
            aload 0 /* this */
            iload 3 /* numericCode */
            putfield java.util.Currency.numericCode:I
         4: .line 275
            return
        end local 3 // int numericCode
        end local 2 // int defaultFractionDigits
        end local 1 // java.lang.String currencyCode
        end local 0 // java.util.Currency this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    5     0                   this  Ljava/util/Currency;
            0    5     1           currencyCode  Ljava/lang/String;
            0    5     2  defaultFractionDigits  I
            0    5     3            numericCode  I
    MethodParameters:
                       Name  Flags
      currencyCode           
      defaultFractionDigits  
      numericCode            

  public static java.util.Currency getInstance(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Currency;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String currencyCode
         0: .line 287
            aload 0 /* currencyCode */
            ldc -2147483648
            iconst_0
            invokestatic java.util.Currency.getInstance:(Ljava/lang/String;II)Ljava/util/Currency;
            areturn
        end local 0 // java.lang.String currencyCode
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0  currencyCode  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      currencyCode  

  private static java.util.Currency getInstance(java.lang.String, int, int);
    descriptor: (Ljava/lang/String;II)Ljava/util/Currency;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // java.lang.String currencyCode
        start local 1 // int defaultFractionDigits
        start local 2 // int numericCode
         0: .line 295
            getstatic java.util.Currency.instances:Ljava/util/concurrent/ConcurrentMap;
            aload 0 /* currencyCode */
            invokeinterface java.util.concurrent.ConcurrentMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Currency
            astore 3 /* instance */
        start local 3 // java.util.Currency instance
         1: .line 296
            aload 3 /* instance */
            ifnull 3
         2: .line 297
            aload 3 /* instance */
            areturn
         3: .line 300
      StackMap locals: java.util.Currency
      StackMap stack:
            iload 1 /* defaultFractionDigits */
            ldc -2147483648
            if_icmpne 28
         4: .line 304
            iconst_0
            istore 4 /* found */
        start local 4 // boolean found
         5: .line 305
            aload 0 /* currencyCode */
            invokevirtual java.lang.String.length:()I
            iconst_3
            if_icmpeq 7
         6: .line 306
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         7: .line 308
      StackMap locals: int
      StackMap stack:
            aload 0 /* currencyCode */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* char1 */
        start local 5 // char char1
         8: .line 309
            aload 0 /* currencyCode */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* char2 */
        start local 6 // char char2
         9: .line 310
            iload 5 /* char1 */
            iload 6 /* char2 */
            invokestatic java.util.Currency.getMainTableEntry:(CC)I
            istore 7 /* tableEntry */
        start local 7 // int tableEntry
        10: .line 311
            iload 7 /* tableEntry */
            sipush 512
            iand
            ifne 17
        11: .line 312
            iload 7 /* tableEntry */
            bipush 127
            if_icmpeq 17
        12: .line 313
            aload 0 /* currencyCode */
            iconst_2
            invokevirtual java.lang.String.charAt:(I)C
            bipush 65
            isub
            iload 7 /* tableEntry */
            bipush 31
            iand
            if_icmpne 17
        13: .line 314
            iload 7 /* tableEntry */
            sipush 480
            iand
            iconst_5
            ishr
            istore 1 /* defaultFractionDigits */
        14: .line 315
            iload 7 /* tableEntry */
            ldc 1047552
            iand
            bipush 10
            ishr
            istore 2 /* numericCode */
        15: .line 316
            iconst_1
            istore 4 /* found */
        16: .line 317
            goto 22
        17: .line 318
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* currencyCode */
            invokestatic java.util.Currency$SpecialCaseEntry.findEntry:(Ljava/lang/String;)[I
            astore 8 /* fractionAndNumericCode */
        start local 8 // int[] fractionAndNumericCode
        18: .line 319
            aload 8 /* fractionAndNumericCode */
            ifnull 22
        19: .line 320
            aload 8 /* fractionAndNumericCode */
            iconst_0
            iaload
            istore 1 /* defaultFractionDigits */
        20: .line 321
            aload 8 /* fractionAndNumericCode */
            iconst_1
            iaload
            istore 2 /* numericCode */
        21: .line 322
            iconst_1
            istore 4 /* found */
        end local 8 // int[] fractionAndNumericCode
        22: .line 326
      StackMap locals:
      StackMap stack:
            iload 4 /* found */
            ifne 28
        23: .line 327
            aload 0 /* currencyCode */
            invokestatic java.util.Currency$OtherCurrencyEntry.findEntry:(Ljava/lang/String;)Ljava/util/Currency$OtherCurrencyEntry;
            astore 8 /* ocEntry */
        start local 8 // java.util.Currency$OtherCurrencyEntry ocEntry
        24: .line 328
            aload 8 /* ocEntry */
            ifnonnull 26
        25: .line 329
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        26: .line 331
      StackMap locals: java.util.Currency$OtherCurrencyEntry
      StackMap stack:
            aload 8 /* ocEntry */
            getfield java.util.Currency$OtherCurrencyEntry.fraction:I
            istore 1 /* defaultFractionDigits */
        27: .line 332
            aload 8 /* ocEntry */
            getfield java.util.Currency$OtherCurrencyEntry.numericCode:I
            istore 2 /* numericCode */
        end local 8 // java.util.Currency$OtherCurrencyEntry ocEntry
        end local 7 // int tableEntry
        end local 6 // char char2
        end local 5 // char char1
        end local 4 // boolean found
        28: .line 337
      StackMap locals: java.lang.String int int java.util.Currency
      StackMap stack:
            new java.util.Currency
            dup
            aload 0 /* currencyCode */
            iload 1 /* defaultFractionDigits */
            iload 2 /* numericCode */
            invokespecial java.util.Currency.<init>:(Ljava/lang/String;II)V
        29: .line 336
            astore 4 /* currencyVal */
        start local 4 // java.util.Currency currencyVal
        30: .line 338
            getstatic java.util.Currency.instances:Ljava/util/concurrent/ConcurrentMap;
            aload 0 /* currencyCode */
            aload 4 /* currencyVal */
            invokeinterface java.util.concurrent.ConcurrentMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Currency
            astore 3 /* instance */
        31: .line 339
            aload 3 /* instance */
            ifnull 32
            aload 3 /* instance */
            goto 33
      StackMap locals: java.util.Currency
      StackMap stack:
        32: aload 4 /* currencyVal */
      StackMap locals:
      StackMap stack: java.util.Currency
        33: areturn
        end local 4 // java.util.Currency currencyVal
        end local 3 // java.util.Currency instance
        end local 2 // int numericCode
        end local 1 // int defaultFractionDigits
        end local 0 // java.lang.String currencyCode
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   34     0            currencyCode  Ljava/lang/String;
            0   34     1   defaultFractionDigits  I
            0   34     2             numericCode  I
            1   34     3                instance  Ljava/util/Currency;
            5   28     4                   found  Z
            8   28     5                   char1  C
            9   28     6                   char2  C
           10   28     7              tableEntry  I
           18   22     8  fractionAndNumericCode  [I
           24   28     8                 ocEntry  Ljava/util/Currency$OtherCurrencyEntry;
           30   34     4             currencyVal  Ljava/util/Currency;
    MethodParameters:
                       Name  Flags
      currencyCode           
      defaultFractionDigits  
      numericCode            

  public static java.util.Currency getInstance(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/util/Currency;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // java.util.Locale locale
         0: .line 372
            aload 0 /* locale */
            ldc "cu"
            invokevirtual java.util.Locale.getUnicodeLocaleType:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* override */
        start local 1 // java.lang.String override
         1: .line 373
            aload 1 /* override */
            ifnull 5
         2: .line 375
            aload 1 /* override */
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
            invokestatic java.util.Currency.getInstance:(Ljava/lang/String;)Ljava/util/Currency;
         3: areturn
         4: .line 376
      StackMap locals: java.util.Locale java.lang.String
      StackMap stack: java.lang.IllegalArgumentException
            pop
         5: .line 381
      StackMap locals:
      StackMap stack:
            aload 0 /* locale */
            invokestatic sun.util.locale.provider.CalendarDataUtility.findRegionOverride:(Ljava/util/Locale;)Ljava/util/Locale;
            invokevirtual java.util.Locale.getCountry:()Ljava/lang/String;
            astore 2 /* country */
        start local 2 // java.lang.String country
         6: .line 383
            aload 2 /* country */
            ifnull 7
            aload 2 /* country */
            ldc "^[a-zA-Z]{2}$"
            invokevirtual java.lang.String.matches:(Ljava/lang/String;)Z
            ifne 8
         7: .line 384
      StackMap locals: java.lang.String
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         8: .line 387
      StackMap locals:
      StackMap stack:
            aload 2 /* country */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 3 /* char1 */
        start local 3 // char char1
         9: .line 388
            aload 2 /* country */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            istore 4 /* char2 */
        start local 4 // char char2
        10: .line 389
            iload 3 /* char1 */
            iload 4 /* char2 */
            invokestatic java.util.Currency.getMainTableEntry:(CC)I
            istore 5 /* tableEntry */
        start local 5 // int tableEntry
        11: .line 390
            iload 5 /* tableEntry */
            sipush 512
            iand
            ifne 19
        12: .line 391
            iload 5 /* tableEntry */
            bipush 127
            if_icmpeq 19
        13: .line 392
            iload 5 /* tableEntry */
            bipush 31
            iand
            bipush 65
            iadd
            i2c
            istore 6 /* finalChar */
        start local 6 // char finalChar
        14: .line 393
            iload 5 /* tableEntry */
            sipush 480
            iand
            iconst_5
            ishr
            istore 7 /* defaultFractionDigits */
        start local 7 // int defaultFractionDigits
        15: .line 394
            iload 5 /* tableEntry */
            ldc 1047552
            iand
            bipush 10
            ishr
            istore 8 /* numericCode */
        start local 8 // int numericCode
        16: .line 395
            new java.lang.StringBuilder
            dup
            aload 2 /* country */
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 9 /* sb */
        start local 9 // java.lang.StringBuilder sb
        17: .line 396
            aload 9 /* sb */
            iload 6 /* finalChar */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        18: .line 397
            aload 9 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 7 /* defaultFractionDigits */
            iload 8 /* numericCode */
            invokestatic java.util.Currency.getInstance:(Ljava/lang/String;II)Ljava/util/Currency;
            areturn
        end local 9 // java.lang.StringBuilder sb
        end local 8 // int numericCode
        end local 7 // int defaultFractionDigits
        end local 6 // char finalChar
        19: .line 400
      StackMap locals: int int int
      StackMap stack:
            iload 5 /* tableEntry */
            bipush 127
            if_icmpne 21
        20: .line 401
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
        21: .line 403
      StackMap locals:
      StackMap stack:
            iload 5 /* tableEntry */
            sipush 512
            if_icmpne 23
        22: .line 404
            aconst_null
            areturn
        23: .line 406
      StackMap locals:
      StackMap stack:
            iload 5 /* tableEntry */
            invokestatic java.util.Currency$SpecialCaseEntry.toIndex:(I)I
            istore 6 /* index */
        start local 6 // int index
        24: .line 407
            getstatic java.util.Currency.specialCasesList:Ljava/util/List;
            iload 6 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Currency$SpecialCaseEntry
            astore 7 /* scEntry */
        start local 7 // java.util.Currency$SpecialCaseEntry scEntry
        25: .line 408
            aload 7 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
            ldc 9223372036854775807
            lcmp
            ifeq 27
        26: .line 409
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 7 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
            lcmp
            ifge 31
        27: .line 410
      StackMap locals: int java.util.Currency$SpecialCaseEntry
      StackMap stack:
            aload 7 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.oldCurrency:Ljava/lang/String;
        28: .line 411
            aload 7 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.oldCurrencyFraction:I
        29: .line 412
            aload 7 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.oldCurrencyNumericCode:I
        30: .line 410
            invokestatic java.util.Currency.getInstance:(Ljava/lang/String;II)Ljava/util/Currency;
            areturn
        31: .line 414
      StackMap locals:
      StackMap stack:
            aload 7 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.newCurrency:Ljava/lang/String;
        32: .line 415
            aload 7 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.newCurrencyFraction:I
        33: .line 416
            aload 7 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.newCurrencyNumericCode:I
        34: .line 414
            invokestatic java.util.Currency.getInstance:(Ljava/lang/String;II)Ljava/util/Currency;
            areturn
        end local 7 // java.util.Currency$SpecialCaseEntry scEntry
        end local 6 // int index
        end local 5 // int tableEntry
        end local 4 // char char2
        end local 3 // char char1
        end local 2 // java.lang.String country
        end local 1 // java.lang.String override
        end local 0 // java.util.Locale locale
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   35     0                 locale  Ljava/util/Locale;
            1   35     1               override  Ljava/lang/String;
            6   35     2                country  Ljava/lang/String;
            9   35     3                  char1  C
           10   35     4                  char2  C
           11   35     5             tableEntry  I
           14   19     6              finalChar  C
           15   19     7  defaultFractionDigits  I
           16   19     8            numericCode  I
           17   19     9                     sb  Ljava/lang/StringBuilder;
           24   35     6                  index  I
           25   35     7                scEntry  Ljava/util/Currency$SpecialCaseEntry;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.IllegalArgumentException
    MethodParameters:
        Name  Flags
      locale  

  public static java.util.Set<java.util.Currency> getAvailableCurrencies();
    descriptor: ()Ljava/util/Set;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=0
         0: .line 433
            ldc Ljava/util/Currency;
            dup
            astore 0
            monitorenter
         1: .line 434
            getstatic java.util.Currency.available:Ljava/util/HashSet;
            ifnonnull 43
         2: .line 435
            new java.util.HashSet
            dup
            sipush 256
            invokespecial java.util.HashSet.<init>:(I)V
            putstatic java.util.Currency.available:Ljava/util/HashSet;
         3: .line 438
            bipush 65
            istore 1 /* c1 */
        start local 1 // char c1
         4: goto 38
         5: .line 439
      StackMap locals: java.lang.Class int
      StackMap stack:
            bipush 65
            istore 2 /* c2 */
        start local 2 // char c2
         6: goto 36
         7: .line 440
      StackMap locals: int
      StackMap stack:
            iload 1 /* c1 */
            iload 2 /* c2 */
            invokestatic java.util.Currency.getMainTableEntry:(CC)I
            istore 3 /* tableEntry */
        start local 3 // int tableEntry
         8: .line 441
            iload 3 /* tableEntry */
            sipush 512
            iand
            ifne 19
         9: .line 442
            iload 3 /* tableEntry */
            bipush 127
            if_icmpeq 19
        10: .line 443
            iload 3 /* tableEntry */
            bipush 31
            iand
            bipush 65
            iadd
            i2c
            istore 4 /* finalChar */
        start local 4 // char finalChar
        11: .line 444
            iload 3 /* tableEntry */
            sipush 480
            iand
            iconst_5
            ishr
            istore 5 /* defaultFractionDigits */
        start local 5 // int defaultFractionDigits
        12: .line 445
            iload 3 /* tableEntry */
            ldc 1047552
            iand
            bipush 10
            ishr
            istore 6 /* numericCode */
        start local 6 // int numericCode
        13: .line 446
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 7 /* sb */
        start local 7 // java.lang.StringBuilder sb
        14: .line 447
            aload 7 /* sb */
            iload 1 /* c1 */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        15: .line 448
            aload 7 /* sb */
            iload 2 /* c2 */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        16: .line 449
            aload 7 /* sb */
            iload 4 /* finalChar */
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        17: .line 450
            getstatic java.util.Currency.available:Ljava/util/HashSet;
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            iload 5 /* defaultFractionDigits */
            iload 6 /* numericCode */
            invokestatic java.util.Currency.getInstance:(Ljava/lang/String;II)Ljava/util/Currency;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.lang.StringBuilder sb
        end local 6 // int numericCode
        end local 5 // int defaultFractionDigits
        end local 4 // char finalChar
        18: .line 451
            goto 35
      StackMap locals: int
      StackMap stack:
        19: iload 3 /* tableEntry */
            sipush 512
            iand
            sipush 512
            if_icmpne 35
        20: .line 452
            iload 3 /* tableEntry */
            bipush 127
            if_icmpeq 35
        21: .line 453
            iload 3 /* tableEntry */
            sipush 512
            if_icmpeq 35
        22: .line 454
            iload 3 /* tableEntry */
            invokestatic java.util.Currency$SpecialCaseEntry.toIndex:(I)I
            istore 4 /* index */
        start local 4 // int index
        23: .line 455
            getstatic java.util.Currency.specialCasesList:Ljava/util/List;
            iload 4 /* index */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.util.Currency$SpecialCaseEntry
            astore 5 /* scEntry */
        start local 5 // java.util.Currency$SpecialCaseEntry scEntry
        24: .line 457
            aload 5 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
            ldc 9223372036854775807
            lcmp
            ifeq 26
        25: .line 458
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 5 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.cutOverTime:J
            lcmp
            ifge 31
        26: .line 459
      StackMap locals: int java.util.Currency$SpecialCaseEntry
      StackMap stack:
            getstatic java.util.Currency.available:Ljava/util/HashSet;
            aload 5 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.oldCurrency:Ljava/lang/String;
        27: .line 460
            aload 5 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.oldCurrencyFraction:I
        28: .line 461
            aload 5 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.oldCurrencyNumericCode:I
        29: .line 459
            invokestatic java.util.Currency.getInstance:(Ljava/lang/String;II)Ljava/util/Currency;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        30: .line 462
            goto 35
        31: .line 463
      StackMap locals:
      StackMap stack:
            getstatic java.util.Currency.available:Ljava/util/HashSet;
            aload 5 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.newCurrency:Ljava/lang/String;
        32: .line 464
            aload 5 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.newCurrencyFraction:I
        33: .line 465
            aload 5 /* scEntry */
            getfield java.util.Currency$SpecialCaseEntry.newCurrencyNumericCode:I
        34: .line 463
            invokestatic java.util.Currency.getInstance:(Ljava/lang/String;II)Ljava/util/Currency;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // java.util.Currency$SpecialCaseEntry scEntry
        end local 4 // int index
        end local 3 // int tableEntry
        35: .line 439
      StackMap locals:
      StackMap stack:
            iload 2 /* c2 */
            iconst_1
            iadd
            i2c
            istore 2 /* c2 */
      StackMap locals:
      StackMap stack:
        36: iload 2 /* c2 */
            bipush 90
            if_icmple 7
        end local 2 // char c2
        37: .line 438
            iload 1 /* c1 */
            iconst_1
            iadd
            i2c
            istore 1 /* c1 */
      StackMap locals:
      StackMap stack:
        38: iload 1 /* c1 */
            bipush 90
            if_icmple 5
        end local 1 // char c1
        39: .line 472
            getstatic java.util.Currency.otherCurrenciesList:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 2
            goto 42
      StackMap locals: java.lang.Class top java.util.Iterator
      StackMap stack:
        40: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.Currency$OtherCurrencyEntry
            astore 1 /* entry */
        start local 1 // java.util.Currency$OtherCurrencyEntry entry
        41: .line 473
            getstatic java.util.Currency.available:Ljava/util/HashSet;
            aload 1 /* entry */
            getfield java.util.Currency$OtherCurrencyEntry.currencyCode:Ljava/lang/String;
            invokestatic java.util.Currency.getInstance:(Ljava/lang/String;)Ljava/util/Currency;
            invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
            pop
        end local 1 // java.util.Currency$OtherCurrencyEntry entry
        42: .line 472
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 40
        43: .line 433
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 0
            monitorexit
        44: goto 47
      StackMap locals:
      StackMap stack: java.lang.Throwable
        45: aload 0
            monitorexit
        46: athrow
        47: .line 479
      StackMap locals:
      StackMap stack:
            getstatic java.util.Currency.available:Ljava/util/HashSet;
            invokevirtual java.util.HashSet.clone:()Ljava/lang/Object;
            checkcast java.util.Set
            astore 0 /* result */
        start local 0 // java.util.Set result
        48: .line 480
            aload 0 /* result */
            areturn
        end local 0 // java.util.Set result
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            4   39     1                     c1  C
            6   37     2                     c2  C
            8   35     3             tableEntry  I
           11   18     4              finalChar  C
           12   18     5  defaultFractionDigits  I
           13   18     6            numericCode  I
           14   18     7                     sb  Ljava/lang/StringBuilder;
           23   35     4                  index  I
           24   35     5                scEntry  Ljava/util/Currency$SpecialCaseEntry;
           41   42     1                  entry  Ljava/util/Currency$OtherCurrencyEntry;
           48   49     0                 result  Ljava/util/Set<Ljava/util/Currency;>;
      Exception table:
        from    to  target  type
           1    44      45  any
          45    46      45  any
    Signature: ()Ljava/util/Set<Ljava/util/Currency;>;

  public java.lang.String getCurrencyCode();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Currency this
         0: .line 489
            aload 0 /* this */
            getfield java.util.Currency.currencyCode:Ljava/lang/String;
            areturn
        end local 0 // java.util.Currency this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/Currency;

  public java.lang.String getSymbol();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Currency this
         0: .line 513
            aload 0 /* this */
            getstatic java.util.Locale$Category.DISPLAY:Ljava/util/Locale$Category;
            invokestatic java.util.Locale.getDefault:(Ljava/util/Locale$Category;)Ljava/util/Locale;
            invokevirtual java.util.Currency.getSymbol:(Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 0 // java.util.Currency this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/Currency;

  public java.lang.String getSymbol(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=2
        start local 0 // java.util.Currency this
        start local 1 // java.util.Locale locale
         0: .line 534
            ldc Ljava/util/spi/CurrencyNameProvider;
            invokestatic sun.util.locale.provider.LocaleServiceProviderPool.getPool:(Ljava/lang/Class;)Lsun/util/locale/provider/LocaleServiceProviderPool;
         1: .line 533
            astore 2 /* pool */
        start local 2 // sun.util.locale.provider.LocaleServiceProviderPool pool
         2: .line 535
            aload 1 /* locale */
            invokestatic sun.util.locale.provider.CalendarDataUtility.findRegionOverride:(Ljava/util/Locale;)Ljava/util/Locale;
            astore 1 /* locale */
         3: .line 536
            aload 2 /* pool */
         4: .line 537
            getstatic java.util.Currency$CurrencyNameGetter.INSTANCE:Ljava/util/Currency$CurrencyNameGetter;
         5: .line 538
            aload 1 /* locale */
            aload 0 /* this */
            getfield java.util.Currency.currencyCode:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         6: .line 536
            invokevirtual sun.util.locale.provider.LocaleServiceProviderPool.getLocalizedObject:(Lsun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter;Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* symbol */
        start local 3 // java.lang.String symbol
         7: .line 539
            aload 3 /* symbol */
            ifnull 9
         8: .line 540
            aload 3 /* symbol */
            areturn
         9: .line 544
      StackMap locals: sun.util.locale.provider.LocaleServiceProviderPool java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield java.util.Currency.currencyCode:Ljava/lang/String;
            areturn
        end local 3 // java.lang.String symbol
        end local 2 // sun.util.locale.provider.LocaleServiceProviderPool pool
        end local 1 // java.util.Locale locale
        end local 0 // java.util.Currency this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Ljava/util/Currency;
            0   10     1  locale  Ljava/util/Locale;
            2   10     2    pool  Lsun/util/locale/provider/LocaleServiceProviderPool;
            7   10     3  symbol  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      locale  

  public int getDefaultFractionDigits();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Currency this
         0: .line 559
            aload 0 /* this */
            getfield java.util.Currency.defaultFractionDigits:I
            ireturn
        end local 0 // java.util.Currency this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/Currency;

  public int getNumericCode();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Currency this
         0: .line 569
            aload 0 /* this */
            getfield java.util.Currency.numericCode:I
            ireturn
        end local 0 // java.util.Currency this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/Currency;

  public java.lang.String getNumericCodeAsString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.util.Currency this
         0: .line 588
            aload 0 /* this */
            getfield java.util.Currency.numericCode:I
            bipush 100
            if_icmpge 6
         1: .line 589
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 1 /* sb */
        start local 1 // java.lang.StringBuilder sb
         2: .line 590
            aload 1 /* sb */
            bipush 48
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         3: .line 591
            aload 0 /* this */
            getfield java.util.Currency.numericCode:I
            bipush 10
            if_icmpge 5
         4: .line 592
            aload 1 /* sb */
            bipush 48
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         5: .line 594
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sb */
            aload 0 /* this */
            getfield java.util.Currency.numericCode:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 1 // java.lang.StringBuilder sb
         6: .line 596
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.Currency.numericCode:I
            invokestatic java.lang.String.valueOf:(I)Ljava/lang/String;
            areturn
        end local 0 // java.util.Currency this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/util/Currency;
            2    6     1    sb  Ljava/lang/StringBuilder;

  public java.lang.String getDisplayName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.Currency this
         0: .line 614
            aload 0 /* this */
            getstatic java.util.Locale$Category.DISPLAY:Ljava/util/Locale$Category;
            invokestatic java.util.Locale.getDefault:(Ljava/util/Locale$Category;)Ljava/util/Locale;
            invokevirtual java.util.Currency.getDisplayName:(Ljava/util/Locale;)Ljava/lang/String;
            areturn
        end local 0 // java.util.Currency this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/Currency;

  public java.lang.String getDisplayName(java.util.Locale);
    descriptor: (Ljava/util/Locale;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=4, args_size=2
        start local 0 // java.util.Currency this
        start local 1 // java.util.Locale locale
         0: .line 630
            ldc Ljava/util/spi/CurrencyNameProvider;
            invokestatic sun.util.locale.provider.LocaleServiceProviderPool.getPool:(Ljava/lang/Class;)Lsun/util/locale/provider/LocaleServiceProviderPool;
         1: .line 629
            astore 2 /* pool */
        start local 2 // sun.util.locale.provider.LocaleServiceProviderPool pool
         2: .line 631
            aload 2 /* pool */
         3: .line 632
            getstatic java.util.Currency$CurrencyNameGetter.INSTANCE:Ljava/util/Currency$CurrencyNameGetter;
         4: .line 633
            aload 1 /* locale */
            aload 0 /* this */
            getfield java.util.Currency.currencyCode:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iconst_1
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         5: .line 631
            invokevirtual sun.util.locale.provider.LocaleServiceProviderPool.getLocalizedObject:(Lsun/util/locale/provider/LocaleServiceProviderPool$LocalizedObjectGetter;Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            astore 3 /* result */
        start local 3 // java.lang.String result
         6: .line 634
            aload 3 /* result */
            ifnull 8
         7: .line 635
            aload 3 /* result */
            areturn
         8: .line 639
      StackMap locals: sun.util.locale.provider.LocaleServiceProviderPool java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield java.util.Currency.currencyCode:Ljava/lang/String;
            areturn
        end local 3 // java.lang.String result
        end local 2 // sun.util.locale.provider.LocaleServiceProviderPool pool
        end local 1 // java.util.Locale locale
        end local 0 // java.util.Currency this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljava/util/Currency;
            0    9     1  locale  Ljava/util/Locale;
            2    9     2    pool  Lsun/util/locale/provider/LocaleServiceProviderPool;
            6    9     3  result  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      locale  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Currency this
         0: .line 649
            aload 0 /* this */
            getfield java.util.Currency.currencyCode:Ljava/lang/String;
            areturn
        end local 0 // java.util.Currency this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/Currency;

  private java.lang.Object readResolve();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.util.Currency this
         0: .line 656
            aload 0 /* this */
            getfield java.util.Currency.currencyCode:Ljava/lang/String;
            invokestatic java.util.Currency.getInstance:(Ljava/lang/String;)Ljava/util/Currency;
            areturn
        end local 0 // java.util.Currency this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/util/Currency;

  private static int getMainTableEntry(char, char);
    descriptor: (CC)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // char char1
        start local 1 // char char2
         0: .line 664
            iload 0 /* char1 */
            bipush 65
            if_icmplt 1
            iload 0 /* char1 */
            bipush 90
            if_icmpgt 1
            iload 1 /* char2 */
            bipush 65
            if_icmplt 1
            iload 1 /* char2 */
            bipush 90
            if_icmple 2
         1: .line 665
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 667
      StackMap locals:
      StackMap stack:
            getstatic java.util.Currency.mainTable:[I
            iload 0 /* char1 */
            bipush 65
            isub
            bipush 26
            imul
            iload 1 /* char2 */
            bipush 65
            isub
            iadd
            iaload
            ireturn
        end local 1 // char char2
        end local 0 // char char1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  char1  C
            0    3     1  char2  C
    MethodParameters:
       Name  Flags
      char1  
      char2  

  private static void setMainTableEntry(char, char, int);
    descriptor: (CCI)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // char char1
        start local 1 // char char2
        start local 2 // int entry
         0: .line 675
            iload 0 /* char1 */
            bipush 65
            if_icmplt 1
            iload 0 /* char1 */
            bipush 90
            if_icmpgt 1
            iload 1 /* char2 */
            bipush 65
            if_icmplt 1
            iload 1 /* char2 */
            bipush 90
            if_icmple 2
         1: .line 676
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            invokespecial java.lang.IllegalArgumentException.<init>:()V
            athrow
         2: .line 678
      StackMap locals:
      StackMap stack:
            getstatic java.util.Currency.mainTable:[I
            iload 0 /* char1 */
            bipush 65
            isub
            bipush 26
            imul
            iload 1 /* char2 */
            bipush 65
            isub
            iadd
            iload 2 /* entry */
            iastore
         3: .line 679
            return
        end local 2 // int entry
        end local 1 // char char2
        end local 0 // char char1
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0  char1  C
            0    4     1  char2  C
            0    4     2  entry  I
    MethodParameters:
       Name  Flags
      char1  
      char2  
      entry  

  private static int[] readIntArray(java.io.DataInputStream, int);
    descriptor: (Ljava/io/DataInputStream;I)[I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.io.DataInputStream dis
        start local 1 // int count
         0: .line 712
            iload 1 /* count */
            newarray 10
            astore 2 /* ret */
        start local 2 // int[] ret
         1: .line 713
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 5
         3: .line 714
      StackMap locals: int[] int
      StackMap stack:
            aload 2 /* ret */
            iload 3 /* i */
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            iastore
         4: .line 713
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         5: iload 3 /* i */
            iload 1 /* count */
            if_icmplt 3
        end local 3 // int i
         6: .line 717
            aload 2 /* ret */
            areturn
        end local 2 // int[] ret
        end local 1 // int count
        end local 0 // java.io.DataInputStream dis
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0    dis  Ljava/io/DataInputStream;
            0    7     1  count  I
            1    7     2    ret  [I
            2    6     3      i  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      dis    
      count  

  private static java.util.List<java.util.Currency$SpecialCaseEntry> readSpecialCases(java.io.DataInputStream, int);
    descriptor: (Ljava/io/DataInputStream;I)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=10, locals=13, args_size=2
        start local 0 // java.io.DataInputStream dis
        start local 1 // int count
         0: .line 724
            new java.util.ArrayList
            dup
            iload 1 /* count */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* list */
        start local 2 // java.util.List list
         1: .line 733
            iconst_0
            istore 11 /* i */
        start local 11 // int i
         2: goto 17
         3: .line 734
      StackMap locals: java.io.DataInputStream int java.util.List top top top top top top top top int
      StackMap stack:
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readLong:()J
            lstore 3 /* cutOverTime */
        start local 3 // long cutOverTime
         4: .line 735
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            astore 5 /* oldCurrency */
        start local 5 // java.lang.String oldCurrency
         5: .line 736
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            astore 6 /* newCurrency */
        start local 6 // java.lang.String newCurrency
         6: .line 737
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 7 /* oldCurrencyFraction */
        start local 7 // int oldCurrencyFraction
         7: .line 738
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 8 /* newCurrencyFraction */
        start local 8 // int newCurrencyFraction
         8: .line 739
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 9 /* oldCurrencyNumericCode */
        start local 9 // int oldCurrencyNumericCode
         9: .line 740
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 10 /* newCurrencyNumericCode */
        start local 10 // int newCurrencyNumericCode
        10: .line 741
            new java.util.Currency$SpecialCaseEntry
            dup
            lload 3 /* cutOverTime */
        11: .line 742
            aload 5 /* oldCurrency */
            aload 6 /* newCurrency */
        12: .line 743
            iload 7 /* oldCurrencyFraction */
            iload 8 /* newCurrencyFraction */
        13: .line 744
            iload 9 /* oldCurrencyNumericCode */
            iload 10 /* newCurrencyNumericCode */
        14: .line 741
            invokespecial java.util.Currency$SpecialCaseEntry.<init>:(JLjava/lang/String;Ljava/lang/String;IIII)V
            astore 12 /* sc */
        start local 12 // java.util.Currency$SpecialCaseEntry sc
        15: .line 745
            aload 2 /* list */
            aload 12 /* sc */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 12 // java.util.Currency$SpecialCaseEntry sc
        16: .line 733
            iinc 11 /* i */ 1
        end local 10 // int newCurrencyNumericCode
        end local 9 // int oldCurrencyNumericCode
        end local 8 // int newCurrencyFraction
        end local 7 // int oldCurrencyFraction
        end local 6 // java.lang.String newCurrency
        end local 5 // java.lang.String oldCurrency
        end local 3 // long cutOverTime
      StackMap locals:
      StackMap stack:
        17: iload 11 /* i */
            iload 1 /* count */
            if_icmplt 3
        end local 11 // int i
        18: .line 747
            aload 2 /* list */
            areturn
        end local 2 // java.util.List list
        end local 1 // int count
        end local 0 // java.io.DataInputStream dis
      LocalVariableTable:
        Start  End  Slot                    Name  Signature
            0   19     0                     dis  Ljava/io/DataInputStream;
            0   19     1                   count  I
            1   19     2                    list  Ljava/util/List<Ljava/util/Currency$SpecialCaseEntry;>;
            4   17     3             cutOverTime  J
            5   17     5             oldCurrency  Ljava/lang/String;
            6   17     6             newCurrency  Ljava/lang/String;
            7   17     7     oldCurrencyFraction  I
            8   17     8     newCurrencyFraction  I
            9   17     9  oldCurrencyNumericCode  I
           10   17    10  newCurrencyNumericCode  I
            2   18    11                       i  I
           15   16    12                      sc  Ljava/util/Currency$SpecialCaseEntry;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/DataInputStream;I)Ljava/util/List<Ljava/util/Currency$SpecialCaseEntry;>;
    MethodParameters:
       Name  Flags
      dis    
      count  

  private static java.util.List<java.util.Currency$OtherCurrencyEntry> readOtherCurrencies(java.io.DataInputStream, int);
    descriptor: (Ljava/io/DataInputStream;I)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // java.io.DataInputStream dis
        start local 1 // int count
         0: .line 754
            new java.util.ArrayList
            dup
            iload 1 /* count */
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 2 /* list */
        start local 2 // java.util.List list
         1: .line 759
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         2: goto 12
         3: .line 760
      StackMap locals: java.io.DataInputStream int java.util.List top top top int
      StackMap stack:
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readUTF:()Ljava/lang/String;
            astore 3 /* currencyCode */
        start local 3 // java.lang.String currencyCode
         4: .line 761
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 4 /* fraction */
        start local 4 // int fraction
         5: .line 762
            aload 0 /* dis */
            invokevirtual java.io.DataInputStream.readInt:()I
            istore 5 /* numericCode */
        start local 5 // int numericCode
         6: .line 763
            new java.util.Currency$OtherCurrencyEntry
            dup
            aload 3 /* currencyCode */
         7: .line 764
            iload 4 /* fraction */
         8: .line 765
            iload 5 /* numericCode */
         9: .line 763
            invokespecial java.util.Currency$OtherCurrencyEntry.<init>:(Ljava/lang/String;II)V
            astore 7 /* oc */
        start local 7 // java.util.Currency$OtherCurrencyEntry oc
        10: .line 766
            aload 2 /* list */
            aload 7 /* oc */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 7 // java.util.Currency$OtherCurrencyEntry oc
        11: .line 759
            iinc 6 /* i */ 1
        end local 5 // int numericCode
        end local 4 // int fraction
        end local 3 // java.lang.String currencyCode
      StackMap locals:
      StackMap stack:
        12: iload 6 /* i */
            iload 1 /* count */
            if_icmplt 3
        end local 6 // int i
        13: .line 768
            aload 2 /* list */
            areturn
        end local 2 // java.util.List list
        end local 1 // int count
        end local 0 // java.io.DataInputStream dis
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   14     0           dis  Ljava/io/DataInputStream;
            0   14     1         count  I
            1   14     2          list  Ljava/util/List<Ljava/util/Currency$OtherCurrencyEntry;>;
            4   12     3  currencyCode  Ljava/lang/String;
            5   12     4      fraction  I
            6   12     5   numericCode  I
            2   13     6             i  I
           10   11     7            oc  Ljava/util/Currency$OtherCurrencyEntry;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/io/DataInputStream;I)Ljava/util/List<Ljava/util/Currency$OtherCurrencyEntry;>;
    MethodParameters:
       Name  Flags
      dis    
      count  

  private static void replaceCurrencyData(java.util.regex.Pattern, java.lang.String, java.lang.String);
    descriptor: (Ljava/util/regex/Pattern;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // java.util.regex.Pattern pattern
        start local 1 // java.lang.String ctry
        start local 2 // java.lang.String curdata
         0: .line 787
            aload 1 /* ctry */
            invokevirtual java.lang.String.length:()I
            iconst_2
            if_icmpeq 7
         1: .line 789
            new java.lang.StringBuilder
            dup
            ldc "currency.properties entry for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ctry */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 790
            ldc " is ignored because of the invalid country code."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 789
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 790
            aconst_null
         5: .line 789
            invokestatic java.util.Currency.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
         6: .line 791
            return
         7: .line 794
      StackMap locals:
      StackMap stack:
            aload 0 /* pattern */
            aload 2 /* curdata */
            invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
            astore 3 /* m */
        start local 3 // java.util.regex.Matcher m
         8: .line 795
            aload 3 /* m */
            invokevirtual java.util.regex.Matcher.find:()Z
            ifeq 9
            aload 3 /* m */
            iconst_4
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            ifnonnull 15
            aload 2 /* curdata */
            bipush 44
            invokestatic java.util.Currency.countOccurrences:(Ljava/lang/String;C)I
            iconst_3
            if_icmplt 15
         9: .line 798
      StackMap locals: java.util.regex.Matcher
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "currency.properties entry for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ctry */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 799
            ldc " ignored because the value format is not recognized."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 798
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        12: .line 799
            aconst_null
        13: .line 798
            invokestatic java.util.Currency.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
        14: .line 800
            return
        15: .line 804
      StackMap locals:
      StackMap stack:
            aload 3 /* m */
            iconst_4
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            ifnull 29
            aload 3 /* m */
            iconst_4
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokestatic java.util.Currency.isPastCutoverDate:(Ljava/lang/String;)Z
            ifne 29
        16: .line 805
            new java.lang.StringBuilder
            dup
            ldc "currency.properties entry for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ctry */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        17: .line 806
            ldc " ignored since cutover date has not passed :"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* curdata */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        18: .line 805
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        19: .line 806
            aconst_null
        20: .line 805
            invokestatic java.util.Currency.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
        21: .line 807
            return
        22: .line 809
      StackMap locals:
      StackMap stack: java.text.ParseException
            astore 4 /* ex */
        start local 4 // java.text.ParseException ex
        23: .line 810
            new java.lang.StringBuilder
            dup
            ldc "currency.properties entry for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ctry */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        24: .line 811
            ldc " ignored since exception encountered :"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* ex */
            invokevirtual java.text.ParseException.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        25: .line 810
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        26: .line 811
            aconst_null
        27: .line 810
            invokestatic java.util.Currency.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
        28: .line 812
            return
        end local 4 // java.text.ParseException ex
        29: .line 815
      StackMap locals:
      StackMap stack:
            aload 3 /* m */
            iconst_1
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            astore 4 /* code */
        start local 4 // java.lang.String code
        30: .line 816
            aload 3 /* m */
            iconst_2
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 5 /* numeric */
        start local 5 // int numeric
        31: .line 817
            iload 5 /* numeric */
            bipush 10
            ishl
            istore 6 /* entry */
        start local 6 // int entry
        32: .line 818
            aload 3 /* m */
            iconst_3
            invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 7 /* fraction */
        start local 7 // int fraction
        33: .line 819
            iload 7 /* fraction */
            bipush 9
            if_icmple 41
        34: .line 820
            new java.lang.StringBuilder
            dup
            ldc "currency.properties entry for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ctry */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        35: .line 821
            ldc " ignored since the fraction is more than "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        36: .line 822
            bipush 9
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ":"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* curdata */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        37: .line 820
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        38: .line 822
            aconst_null
        39: .line 820
            invokestatic java.util.Currency.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
        40: .line 823
            return
        41: .line 826
      StackMap locals: java.util.regex.Pattern java.lang.String java.lang.String java.util.regex.Matcher java.lang.String int int int
      StackMap stack:
            aload 4 /* code */
            iload 7 /* fraction */
            iload 5 /* numeric */
            invokestatic java.util.Currency$SpecialCaseEntry.indexOf:(Ljava/lang/String;II)I
            istore 8 /* index */
        start local 8 // int index
        42: .line 832
            iload 8 /* index */
            iconst_m1
            if_icmpne 46
            aload 1 /* ctry */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            aload 4 /* code */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpne 44
        43: .line 833
            aload 1 /* ctry */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            aload 4 /* code */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 46
        44: .line 835
      StackMap locals: int
      StackMap stack:
            getstatic java.util.Currency.specialCasesList:Ljava/util/List;
            new java.util.Currency$SpecialCaseEntry
            dup
            aload 4 /* code */
            iload 7 /* fraction */
            iload 5 /* numeric */
            invokespecial java.util.Currency$SpecialCaseEntry.<init>:(Ljava/lang/String;II)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        45: .line 836
            getstatic java.util.Currency.specialCasesList:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            istore 8 /* index */
        46: .line 839
      StackMap locals:
      StackMap stack:
            iload 8 /* index */
            iconst_m1
            if_icmpne 51
        47: .line 841
            iload 6 /* entry */
            iload 7 /* fraction */
            iconst_5
            ishl
        48: .line 842
            aload 4 /* code */
            iconst_2
            invokevirtual java.lang.String.charAt:(I)C
            bipush 65
            isub
        49: .line 841
            ior
            ior
            istore 6 /* entry */
        50: .line 843
            goto 54
        51: .line 845
      StackMap locals:
      StackMap stack:
            sipush 512
        52: .line 846
            iload 8 /* index */
            iconst_1
            iadd
        53: .line 845
            ior
            istore 6 /* entry */
        54: .line 848
      StackMap locals:
      StackMap stack:
            aload 1 /* ctry */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            aload 1 /* ctry */
            iconst_1
            invokevirtual java.lang.String.charAt:(I)C
            iload 6 /* entry */
            invokestatic java.util.Currency.setMainTableEntry:(CCI)V
        55: .line 849
            return
        end local 8 // int index
        end local 7 // int fraction
        end local 6 // int entry
        end local 5 // int numeric
        end local 4 // java.lang.String code
        end local 3 // java.util.regex.Matcher m
        end local 2 // java.lang.String curdata
        end local 1 // java.lang.String ctry
        end local 0 // java.util.regex.Pattern pattern
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   56     0   pattern  Ljava/util/regex/Pattern;
            0   56     1      ctry  Ljava/lang/String;
            0   56     2   curdata  Ljava/lang/String;
            8   56     3         m  Ljava/util/regex/Matcher;
           23   29     4        ex  Ljava/text/ParseException;
           30   56     4      code  Ljava/lang/String;
           31   56     5   numeric  I
           32   56     6     entry  I
           33   56     7  fraction  I
           42   56     8     index  I
      Exception table:
        from    to  target  type
          15    21      22  Class java.text.ParseException
    MethodParameters:
         Name  Flags
      pattern  
      ctry     
      curdata  

  private static boolean isPastCutoverDate(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=1
        start local 0 // java.lang.String s
         0: .line 852
            new java.text.SimpleDateFormat
            dup
            ldc "yyyy-MM-dd'T'HH:mm:ss"
            getstatic java.util.Locale.ROOT:Ljava/util/Locale;
            invokespecial java.text.SimpleDateFormat.<init>:(Ljava/lang/String;Ljava/util/Locale;)V
            astore 1 /* format */
        start local 1 // java.text.SimpleDateFormat format
         1: .line 853
            aload 1 /* format */
            ldc "UTC"
            invokestatic java.util.TimeZone.getTimeZone:(Ljava/lang/String;)Ljava/util/TimeZone;
            invokevirtual java.text.SimpleDateFormat.setTimeZone:(Ljava/util/TimeZone;)V
         2: .line 854
            aload 1 /* format */
            iconst_0
            invokevirtual java.text.SimpleDateFormat.setLenient:(Z)V
         3: .line 855
            aload 1 /* format */
            aload 0 /* s */
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.text.SimpleDateFormat.parse:(Ljava/lang/String;)Ljava/util/Date;
            invokevirtual java.util.Date.getTime:()J
            lstore 2 /* time */
        start local 2 // long time
         4: .line 856
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 2 /* time */
            lcmp
            ifle 5
            iconst_1
            ireturn
      StackMap locals: java.text.SimpleDateFormat long
      StackMap stack:
         5: iconst_0
            ireturn
        end local 2 // long time
        end local 1 // java.text.SimpleDateFormat format
        end local 0 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0       s  Ljava/lang/String;
            1    6     1  format  Ljava/text/SimpleDateFormat;
            4    6     2    time  J
    Exceptions:
      throws java.text.ParseException
    MethodParameters:
      Name  Flags
      s     

  private static int countOccurrences(java.lang.String, char);
    descriptor: (Ljava/lang/String;C)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=7, args_size=2
        start local 0 // java.lang.String value
        start local 1 // char match
         0: .line 861
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         1: .line 862
            aload 0 /* value */
            invokevirtual java.lang.String.toCharArray:()[C
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 6
      StackMap locals: java.lang.String int int top int int char[]
      StackMap stack:
         2: aload 6
            iload 4
            caload
            istore 3 /* c */
        start local 3 // char c
         3: .line 863
            iload 3 /* c */
            iload 1 /* match */
            if_icmpne 5
         4: .line 864
            iinc 2 /* count */ 1
        end local 3 // char c
         5: .line 862
      StackMap locals:
      StackMap stack:
            iinc 4 1
      StackMap locals:
      StackMap stack:
         6: iload 4
            iload 5
            if_icmplt 2
         7: .line 867
            iload 2 /* count */
            ireturn
        end local 2 // int count
        end local 1 // char match
        end local 0 // java.lang.String value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0  value  Ljava/lang/String;
            0    8     1  match  C
            1    8     2  count  I
            3    5     3      c  C
    MethodParameters:
       Name  Flags
      value  
      match  

  private static void info(java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.lang.String message
        start local 1 // java.lang.Throwable t
         0: .line 871
            ldc "java.util.Currency"
            invokestatic sun.util.logging.PlatformLogger.getLogger:(Ljava/lang/String;)Lsun/util/logging/PlatformLogger;
            astore 2 /* logger */
        start local 2 // sun.util.logging.PlatformLogger logger
         1: .line 872
            aload 2 /* logger */
            getstatic sun.util.logging.PlatformLogger$Level.INFO:Lsun/util/logging/PlatformLogger$Level;
            invokevirtual sun.util.logging.PlatformLogger.isLoggable:(Lsun/util/logging/PlatformLogger$Level;)Z
            ifeq 6
         2: .line 873
            aload 1 /* t */
            ifnull 5
         3: .line 874
            aload 2 /* logger */
            aload 0 /* message */
            aload 1 /* t */
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;Ljava/lang/Throwable;)V
         4: .line 875
            goto 6
         5: .line 876
      StackMap locals: sun.util.logging.PlatformLogger
      StackMap stack:
            aload 2 /* logger */
            aload 0 /* message */
            invokevirtual sun.util.logging.PlatformLogger.info:(Ljava/lang/String;)V
         6: .line 879
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.util.logging.PlatformLogger logger
        end local 1 // java.lang.Throwable t
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    7     0  message  Ljava/lang/String;
            0    7     1        t  Ljava/lang/Throwable;
            1    7     2   logger  Lsun/util/logging/PlatformLogger;
    MethodParameters:
         Name  Flags
      message  
      t        
}
SourceFile: "Currency.java"
NestMembers:
  java.util.Currency$1  java.util.Currency$CurrencyNameGetter  java.util.Currency$OtherCurrencyEntry  java.util.Currency$SpecialCaseEntry
InnerClasses:
  java.util.Currency$1
  private CurrencyNameGetter = java.util.Currency$CurrencyNameGetter of java.util.Currency
  private OtherCurrencyEntry = java.util.Currency$OtherCurrencyEntry of java.util.Currency
  private SpecialCaseEntry = java.util.Currency$SpecialCaseEntry of java.util.Currency
  public final Category = java.util.Locale$Category of java.util.Locale
  public abstract LocalizedObjectGetter = sun.util.locale.provider.LocaleServiceProviderPool$LocalizedObjectGetter of sun.util.locale.provider.LocaleServiceProviderPool
  public final Level = sun.util.logging.PlatformLogger$Level of sun.util.logging.PlatformLogger