public class sun.security.provider.PolicyParser
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.provider.PolicyParser
  super_class: java.lang.Object
{
  private static final java.lang.String EXTDIRS_PROPERTY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.ext.dirs"

  private static final java.lang.String OLD_EXTDIRS_EXPANSION;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "${java.ext.dirs}"

  static final java.lang.String EXTDIRS_EXPANSION;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "${{java.ext.dirs}}"

  private java.util.Vector<sun.security.provider.PolicyParser$GrantEntry> grantEntries;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Vector<Lsun/security/provider/PolicyParser$GrantEntry;>;

  private java.util.Map<java.lang.String, sun.security.provider.PolicyParser$DomainEntry> domainEntries;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Lsun/security/provider/PolicyParser$DomainEntry;>;

  private static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private java.io.StreamTokenizer st;
    descriptor: Ljava/io/StreamTokenizer;
    flags: (0x0002) ACC_PRIVATE

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

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 98
            ldc "parser"
         1: .line 99
            ldc "\t[Policy Parser]"
         2: .line 98
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
         3: .line 99
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private java.lang.String expand(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // java.lang.String value
         0: .line 111
            aload 0 /* this */
            aload 1 /* value */
            iconst_0
            invokevirtual sun.security.provider.PolicyParser.expand:(Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String value
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lsun/security/provider/PolicyParser;
            0    1     1  value  Ljava/lang/String;
    Exceptions:
      throws sun.security.util.PropertyExpander$ExpandException
    MethodParameters:
       Name  Flags
      value  

  private java.lang.String expand(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // java.lang.String value
        start local 2 // boolean encodeURL
         0: .line 117
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.expandProp:Z
            ifne 2
         1: .line 118
            aload 1 /* value */
            areturn
         2: .line 120
      StackMap locals:
      StackMap stack:
            aload 1 /* value */
            iload 2 /* encodeURL */
            invokestatic sun.security.util.PropertyExpander.expand:(Ljava/lang/String;Z)Ljava/lang/String;
            areturn
        end local 2 // boolean encodeURL
        end local 1 // java.lang.String value
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Lsun/security/provider/PolicyParser;
            0    3     1      value  Ljava/lang/String;
            0    3     2  encodeURL  Z
    Exceptions:
      throws sun.security.util.PropertyExpander$ExpandException
    MethodParameters:
           Name  Flags
      value      
      encodeURL  

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.provider.PolicyParser this
         0: .line 128
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 102
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyParser.expandProp:Z
         2: .line 103
            aload 0 /* this */
            aconst_null
            putfield sun.security.provider.PolicyParser.keyStoreUrlString:Ljava/lang/String;
         3: .line 104
            aload 0 /* this */
            aconst_null
            putfield sun.security.provider.PolicyParser.keyStoreType:Ljava/lang/String;
         4: .line 105
            aload 0 /* this */
            aconst_null
            putfield sun.security.provider.PolicyParser.keyStoreProvider:Ljava/lang/String;
         5: .line 106
            aload 0 /* this */
            aconst_null
            putfield sun.security.provider.PolicyParser.storePassURL:Ljava/lang/String;
         6: .line 129
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield sun.security.provider.PolicyParser.grantEntries:Ljava/util/Vector;
         7: .line 130
            return
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/security/provider/PolicyParser;

  public void <init>(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // boolean expandProp
         0: .line 134
            aload 0 /* this */
            invokespecial sun.security.provider.PolicyParser.<init>:()V
         1: .line 135
            aload 0 /* this */
            iload 1 /* expandProp */
            putfield sun.security.provider.PolicyParser.expandProp:Z
         2: .line 136
            return
        end local 1 // boolean expandProp
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lsun/security/provider/PolicyParser;
            0    3     1  expandProp  Z
    MethodParameters:
            Name  Flags
      expandProp  

  public void read(java.io.Reader);
    descriptor: (Ljava/io/Reader;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // java.io.Reader policy
         0: .line 154
            aload 1 /* policy */
            instanceof java.io.BufferedReader
            ifne 2
         1: .line 155
            new java.io.BufferedReader
            dup
            aload 1 /* policy */
            invokespecial java.io.BufferedReader.<init>:(Ljava/io/Reader;)V
            astore 1 /* policy */
         2: .line 165
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.io.StreamTokenizer
            dup
            aload 1 /* policy */
            invokespecial java.io.StreamTokenizer.<init>:(Ljava/io/Reader;)V
            putfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
         3: .line 167
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.resetSyntax:()V
         4: .line 168
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            bipush 97
            bipush 122
            invokevirtual java.io.StreamTokenizer.wordChars:(II)V
         5: .line 169
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            bipush 65
            bipush 90
            invokevirtual java.io.StreamTokenizer.wordChars:(II)V
         6: .line 170
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            bipush 46
            bipush 46
            invokevirtual java.io.StreamTokenizer.wordChars:(II)V
         7: .line 171
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            bipush 48
            bipush 57
            invokevirtual java.io.StreamTokenizer.wordChars:(II)V
         8: .line 172
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            bipush 95
            bipush 95
            invokevirtual java.io.StreamTokenizer.wordChars:(II)V
         9: .line 173
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            bipush 36
            bipush 36
            invokevirtual java.io.StreamTokenizer.wordChars:(II)V
        10: .line 174
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            sipush 160
            sipush 255
            invokevirtual java.io.StreamTokenizer.wordChars:(II)V
        11: .line 175
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            iconst_0
            bipush 32
            invokevirtual java.io.StreamTokenizer.whitespaceChars:(II)V
        12: .line 176
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            bipush 47
            invokevirtual java.io.StreamTokenizer.commentChar:(I)V
        13: .line 177
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            bipush 39
            invokevirtual java.io.StreamTokenizer.quoteChar:(I)V
        14: .line 178
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            bipush 34
            invokevirtual java.io.StreamTokenizer.quoteChar:(I)V
        15: .line 179
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            iconst_0
            invokevirtual java.io.StreamTokenizer.lowerCaseMode:(Z)V
        16: .line 180
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            bipush 47
            invokevirtual java.io.StreamTokenizer.ordinaryChar:(I)V
        17: .line 181
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            iconst_1
            invokevirtual java.io.StreamTokenizer.slashSlashComments:(Z)V
        18: .line 182
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            iconst_1
            invokevirtual java.io.StreamTokenizer.slashStarComments:(Z)V
        19: .line 193
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
        20: .line 194
            aconst_null
            astore 2 /* ge */
        start local 2 // sun.security.provider.PolicyParser$GrantEntry ge
        21: .line 195
            goto 50
        22: .line 196
      StackMap locals: sun.security.provider.PolicyParser$GrantEntry
      StackMap stack:
            aload 0 /* this */
            ldc "grant"
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 27
        23: .line 197
            aload 0 /* this */
            invokevirtual sun.security.provider.PolicyParser.parseGrantEntry:()Lsun/security/provider/PolicyParser$GrantEntry;
            astore 2 /* ge */
        24: .line 199
            aload 2 /* ge */
            ifnull 49
        25: .line 200
            aload 0 /* this */
            aload 2 /* ge */
            invokevirtual sun.security.provider.PolicyParser.add:(Lsun/security/provider/PolicyParser$GrantEntry;)V
        26: .line 201
            goto 49
      StackMap locals:
      StackMap stack:
        27: aload 0 /* this */
            ldc "keystore"
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 30
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreUrlString:Ljava/lang/String;
            ifnonnull 30
        28: .line 204
            aload 0 /* this */
            invokevirtual sun.security.provider.PolicyParser.parseKeyStoreEntry:()V
        29: .line 205
            goto 49
      StackMap locals:
      StackMap stack:
        30: aload 0 /* this */
            ldc "keystorePasswordURL"
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 33
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.storePassURL:Ljava/lang/String;
            ifnonnull 33
        31: .line 208
            aload 0 /* this */
            invokevirtual sun.security.provider.PolicyParser.parseStorePassURL:()V
        32: .line 209
            goto 49
      StackMap locals:
      StackMap stack:
        33: aload 2 /* ge */
            ifnonnull 49
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreUrlString:Ljava/lang/String;
            ifnonnull 49
        34: .line 210
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.storePassURL:Ljava/lang/String;
            ifnonnull 49
            aload 0 /* this */
            ldc "domain"
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 49
        35: .line 211
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.domainEntries:Ljava/util/Map;
            ifnonnull 37
        36: .line 212
            aload 0 /* this */
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            putfield sun.security.provider.PolicyParser.domainEntries:Ljava/util/Map;
        37: .line 214
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.provider.PolicyParser.parseDomainEntry:()Lsun/security/provider/PolicyParser$DomainEntry;
            astore 3 /* de */
        start local 3 // sun.security.provider.PolicyParser$DomainEntry de
        38: .line 215
            aload 3 /* de */
            ifnull 49
        39: .line 216
            aload 3 /* de */
            invokevirtual sun.security.provider.PolicyParser$DomainEntry.getName:()Ljava/lang/String;
            astore 4 /* domainName */
        start local 4 // java.lang.String domainName
        40: .line 217
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.domainEntries:Ljava/util/Map;
            aload 4 /* domainName */
            invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
            ifne 43
        41: .line 218
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.domainEntries:Ljava/util/Map;
            aload 4 /* domainName */
            aload 3 /* de */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        42: .line 219
            goto 49
        43: .line 221
      StackMap locals: sun.security.provider.PolicyParser$DomainEntry java.lang.String
      StackMap stack:
            new java.text.MessageFormat
            dup
        44: .line 222
            ldc "duplicate.keystore.domain.name"
        45: .line 221
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
        46: .line 220
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        47: .line 223
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* domainName */
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        48: .line 224
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
        end local 4 // java.lang.String domainName
        end local 3 // sun.security.provider.PolicyParser$DomainEntry de
        49: .line 230
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ";"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
        50: .line 195
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.lookahead:I
            iconst_m1
            if_icmpne 22
        51: .line 233
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreUrlString:Ljava/lang/String;
            ifnonnull 55
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.storePassURL:Ljava/lang/String;
            ifnull 55
        52: .line 234
            new sun.security.provider.PolicyParser$ParsingException
            dup
        53: .line 235
            ldc "keystorePasswordURL.can.not.be.specified.without.also.specifying.keystore"
        54: .line 234
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(Ljava/lang/String;)V
            athrow
        55: .line 237
      StackMap locals:
      StackMap stack:
            return
        end local 2 // sun.security.provider.PolicyParser$GrantEntry ge
        end local 1 // java.io.Reader policy
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   56     0        this  Lsun/security/provider/PolicyParser;
            0   56     1      policy  Ljava/io/Reader;
           21   56     2          ge  Lsun/security/provider/PolicyParser$GrantEntry;
           38   49     3          de  Lsun/security/provider/PolicyParser$DomainEntry;
           40   49     4  domainName  Ljava/lang/String;
           47   49     5        form  Ljava/text/MessageFormat;
           48   49     6      source  [Ljava/lang/Object;
    Exceptions:
      throws sun.security.provider.PolicyParser$ParsingException, java.io.IOException
    MethodParameters:
        Name  Flags
      policy  

  public void add(sun.security.provider.PolicyParser$GrantEntry);
    descriptor: (Lsun/security/provider/PolicyParser$GrantEntry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // sun.security.provider.PolicyParser$GrantEntry ge
         0: .line 241
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.grantEntries:Ljava/util/Vector;
            aload 1 /* ge */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         1: .line 242
            return
        end local 1 // sun.security.provider.PolicyParser$GrantEntry ge
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/provider/PolicyParser;
            0    2     1    ge  Lsun/security/provider/PolicyParser$GrantEntry;
    MethodParameters:
      Name  Flags
      ge    

  public void replace(sun.security.provider.PolicyParser$GrantEntry, sun.security.provider.PolicyParser$GrantEntry);
    descriptor: (Lsun/security/provider/PolicyParser$GrantEntry;Lsun/security/provider/PolicyParser$GrantEntry;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // sun.security.provider.PolicyParser$GrantEntry origGe
        start local 2 // sun.security.provider.PolicyParser$GrantEntry newGe
         0: .line 246
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.grantEntries:Ljava/util/Vector;
            aload 2 /* newGe */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.grantEntries:Ljava/util/Vector;
            aload 1 /* origGe */
            invokevirtual java.util.Vector.indexOf:(Ljava/lang/Object;)I
            invokevirtual java.util.Vector.setElementAt:(Ljava/lang/Object;I)V
         1: .line 247
            return
        end local 2 // sun.security.provider.PolicyParser$GrantEntry newGe
        end local 1 // sun.security.provider.PolicyParser$GrantEntry origGe
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lsun/security/provider/PolicyParser;
            0    2     1  origGe  Lsun/security/provider/PolicyParser$GrantEntry;
            0    2     2   newGe  Lsun/security/provider/PolicyParser$GrantEntry;
    MethodParameters:
        Name  Flags
      origGe  
      newGe   

  public boolean remove(sun.security.provider.PolicyParser$GrantEntry);
    descriptor: (Lsun/security/provider/PolicyParser$GrantEntry;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // sun.security.provider.PolicyParser$GrantEntry ge
         0: .line 251
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.grantEntries:Ljava/util/Vector;
            aload 1 /* ge */
            invokevirtual java.util.Vector.removeElement:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // sun.security.provider.PolicyParser$GrantEntry ge
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/PolicyParser;
            0    1     1    ge  Lsun/security/provider/PolicyParser$GrantEntry;
    MethodParameters:
      Name  Flags
      ge    

  public java.lang.String getKeyStoreUrl();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.security.provider.PolicyParser this
         0: .line 260
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreUrlString:Ljava/lang/String;
            ifnull 9
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreUrlString:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifeq 9
         1: .line 261
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreUrlString:Ljava/lang/String;
            iconst_1
            invokevirtual sun.security.provider.PolicyParser.expand:(Ljava/lang/String;Z)Ljava/lang/String;
         2: .line 262
            getstatic java.io.File.separatorChar:C
            bipush 47
         3: .line 261
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
         4: areturn
         5: .line 264
      StackMap locals:
      StackMap stack: sun.security.util.PropertyExpander$ExpandException
            astore 1 /* peee */
        start local 1 // sun.security.util.PropertyExpander$ExpandException peee
         6: .line 265
            getstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
            ifnull 8
         7: .line 266
            getstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
            aload 1 /* peee */
            invokevirtual sun.security.util.PropertyExpander$ExpandException.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         8: .line 268
      StackMap locals: sun.security.util.PropertyExpander$ExpandException
      StackMap stack:
            aconst_null
            areturn
        end local 1 // sun.security.util.PropertyExpander$ExpandException peee
         9: .line 270
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/security/provider/PolicyParser;
            6    9     1  peee  Lsun/security/util/PropertyExpander$ExpandException;
      Exception table:
        from    to  target  type
           0     4       5  Class sun.security.util.PropertyExpander$ExpandException

  public void setKeyStoreUrl(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // java.lang.String url
         0: .line 274
            aload 0 /* this */
            aload 1 /* url */
            putfield sun.security.provider.PolicyParser.keyStoreUrlString:Ljava/lang/String;
         1: .line 275
            return
        end local 1 // java.lang.String url
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/provider/PolicyParser;
            0    2     1   url  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      url   

  public java.lang.String getKeyStoreType();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.provider.PolicyParser this
         0: .line 278
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreType:Ljava/lang/String;
            areturn
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/PolicyParser;

  public void setKeyStoreType(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // java.lang.String type
         0: .line 282
            aload 0 /* this */
            aload 1 /* type */
            putfield sun.security.provider.PolicyParser.keyStoreType:Ljava/lang/String;
         1: .line 283
            return
        end local 1 // java.lang.String type
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/provider/PolicyParser;
            0    2     1  type  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      type  

  public java.lang.String getKeyStoreProvider();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.provider.PolicyParser this
         0: .line 286
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreProvider:Ljava/lang/String;
            areturn
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/PolicyParser;

  public void setKeyStoreProvider(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // java.lang.String provider
         0: .line 290
            aload 0 /* this */
            aload 1 /* provider */
            putfield sun.security.provider.PolicyParser.keyStoreProvider:Ljava/lang/String;
         1: .line 291
            return
        end local 1 // java.lang.String provider
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lsun/security/provider/PolicyParser;
            0    2     1  provider  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      provider  

  public java.lang.String getStorePassURL();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.security.provider.PolicyParser this
         0: .line 295
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.storePassURL:Ljava/lang/String;
            ifnull 9
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.storePassURL:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifeq 9
         1: .line 296
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.storePassURL:Ljava/lang/String;
            iconst_1
            invokevirtual sun.security.provider.PolicyParser.expand:(Ljava/lang/String;Z)Ljava/lang/String;
         2: .line 297
            getstatic java.io.File.separatorChar:C
            bipush 47
         3: .line 296
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
         4: areturn
         5: .line 299
      StackMap locals:
      StackMap stack: sun.security.util.PropertyExpander$ExpandException
            astore 1 /* peee */
        start local 1 // sun.security.util.PropertyExpander$ExpandException peee
         6: .line 300
            getstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
            ifnull 8
         7: .line 301
            getstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
            aload 1 /* peee */
            invokevirtual sun.security.util.PropertyExpander$ExpandException.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         8: .line 303
      StackMap locals: sun.security.util.PropertyExpander$ExpandException
      StackMap stack:
            aconst_null
            areturn
        end local 1 // sun.security.util.PropertyExpander$ExpandException peee
         9: .line 305
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/security/provider/PolicyParser;
            6    9     1  peee  Lsun/security/util/PropertyExpander$ExpandException;
      Exception table:
        from    to  target  type
           0     4       5  Class sun.security.util.PropertyExpander$ExpandException

  public void setStorePassURL(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // java.lang.String storePassURL
         0: .line 309
            aload 0 /* this */
            aload 1 /* storePassURL */
            putfield sun.security.provider.PolicyParser.storePassURL:Ljava/lang/String;
         1: .line 310
            return
        end local 1 // java.lang.String storePassURL
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lsun/security/provider/PolicyParser;
            0    2     1  storePassURL  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      storePassURL  

  public java.util.Enumeration<sun.security.provider.PolicyParser$GrantEntry> grantElements();
    descriptor: ()Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.provider.PolicyParser this
         0: .line 319
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.grantEntries:Ljava/util/Vector;
            invokevirtual java.util.Vector.elements:()Ljava/util/Enumeration;
            areturn
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/PolicyParser;
    Signature: ()Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$GrantEntry;>;

  public java.util.Collection<sun.security.provider.PolicyParser$DomainEntry> getDomainEntries();
    descriptor: ()Ljava/util/Collection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.security.provider.PolicyParser this
         0: .line 323
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.domainEntries:Ljava/util/Map;
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            areturn
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/security/provider/PolicyParser;
    Signature: ()Ljava/util/Collection<Lsun/security/provider/PolicyParser$DomainEntry;>;

  public void write(java.io.Writer);
    descriptor: (Ljava/io/Writer;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // java.io.Writer policy
         0: .line 332
            new java.io.PrintWriter
            dup
            new java.io.BufferedWriter
            dup
            aload 1 /* policy */
            invokespecial java.io.BufferedWriter.<init>:(Ljava/io/Writer;)V
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
            astore 2 /* out */
        start local 2 // java.io.PrintWriter out
         1: .line 334
            aload 0 /* this */
            invokevirtual sun.security.provider.PolicyParser.grantElements:()Ljava/util/Enumeration;
            astore 3 /* enum_ */
        start local 3 // java.util.Enumeration enum_
         2: .line 336
            aload 2 /* out */
            new java.lang.StringBuilder
            dup
            ldc "/* AUTOMATICALLY GENERATED ON "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 337
            new java.util.Date
            dup
            invokespecial java.util.Date.<init>:()V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "*/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 336
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         5: .line 338
            aload 2 /* out */
            ldc "/* DO NOT EDIT */"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         6: .line 339
            aload 2 /* out */
            invokevirtual java.io.PrintWriter.println:()V
         7: .line 343
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreUrlString:Ljava/lang/String;
            ifnull 9
         8: .line 344
            aload 0 /* this */
            aload 2 /* out */
            invokevirtual sun.security.provider.PolicyParser.writeKeyStoreEntry:(Ljava/io/PrintWriter;)V
         9: .line 346
      StackMap locals: java.io.PrintWriter java.util.Enumeration
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.storePassURL:Ljava/lang/String;
            ifnull 15
        10: .line 347
            aload 0 /* this */
            aload 2 /* out */
            invokevirtual sun.security.provider.PolicyParser.writeStorePassURL:(Ljava/io/PrintWriter;)V
        11: .line 351
            goto 15
        12: .line 352
      StackMap locals:
      StackMap stack:
            aload 3 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$GrantEntry
            astore 4 /* ge */
        start local 4 // sun.security.provider.PolicyParser$GrantEntry ge
        13: .line 353
            aload 4 /* ge */
            aload 2 /* out */
            invokevirtual sun.security.provider.PolicyParser$GrantEntry.write:(Ljava/io/PrintWriter;)V
        14: .line 354
            aload 2 /* out */
            invokevirtual java.io.PrintWriter.println:()V
        end local 4 // sun.security.provider.PolicyParser$GrantEntry ge
        15: .line 351
      StackMap locals:
      StackMap stack:
            aload 3 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 12
        16: .line 356
            aload 2 /* out */
            invokevirtual java.io.PrintWriter.flush:()V
        17: .line 357
            return
        end local 3 // java.util.Enumeration enum_
        end local 2 // java.io.PrintWriter out
        end local 1 // java.io.Writer policy
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0    this  Lsun/security/provider/PolicyParser;
            0   18     1  policy  Ljava/io/Writer;
            1   18     2     out  Ljava/io/PrintWriter;
            2   18     3   enum_  Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$GrantEntry;>;
           13   15     4      ge  Lsun/security/provider/PolicyParser$GrantEntry;
    MethodParameters:
        Name  Flags
      policy  

  private void parseKeyStoreEntry();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // sun.security.provider.PolicyParser this
         0: .line 363
            aload 0 /* this */
            ldc "keystore"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
         1: .line 364
            aload 0 /* this */
            aload 0 /* this */
            ldc "quoted string"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.provider.PolicyParser.keyStoreUrlString:Ljava/lang/String;
         2: .line 367
            aload 0 /* this */
            ldc ","
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifne 4
         3: .line 368
            return
         4: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ","
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
         5: .line 372
            aload 0 /* this */
            ldc "\""
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 8
         6: .line 373
            aload 0 /* this */
            aload 0 /* this */
            ldc "quoted string"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.provider.PolicyParser.keyStoreType:Ljava/lang/String;
         7: .line 374
            goto 11
         8: .line 375
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
         9: .line 376
            ldc "expected.keystore.type"
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        10: .line 375
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;)V
            athrow
        11: .line 380
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ","
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifne 13
        12: .line 381
            return
        13: .line 383
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ","
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
        14: .line 385
            aload 0 /* this */
            ldc "\""
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 17
        15: .line 386
            aload 0 /* this */
            aload 0 /* this */
            ldc "quoted string"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.provider.PolicyParser.keyStoreProvider:Ljava/lang/String;
        16: .line 387
            goto 20
        17: .line 388
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
        18: .line 389
            ldc "expected.keystore.provider"
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        19: .line 388
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;)V
            athrow
        20: .line 391
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   21     0  this  Lsun/security/provider/PolicyParser;
    Exceptions:
      throws sun.security.provider.PolicyParser$ParsingException, java.io.IOException

  private void parseStorePassURL();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // sun.security.provider.PolicyParser this
         0: .line 394
            aload 0 /* this */
            ldc "keyStorePasswordURL"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
         1: .line 395
            aload 0 /* this */
            aload 0 /* this */
            ldc "quoted string"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.provider.PolicyParser.storePassURL:Ljava/lang/String;
         2: .line 396
            return
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lsun/security/provider/PolicyParser;
    Exceptions:
      throws sun.security.provider.PolicyParser$ParsingException, java.io.IOException

  private void writeKeyStoreEntry(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // java.io.PrintWriter out
         0: .line 402
            aload 1 /* out */
            ldc "keystore \""
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         1: .line 403
            aload 1 /* out */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreUrlString:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         2: .line 404
            aload 1 /* out */
            bipush 34
            invokevirtual java.io.PrintWriter.print:(C)V
         3: .line 405
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreType:Ljava/lang/String;
            ifnull 5
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreType:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 5
         4: .line 406
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            ldc ", \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreType: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;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         5: .line 407
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreProvider:Ljava/lang/String;
            ifnull 7
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreProvider:Ljava/lang/String;
            invokevirtual java.lang.String.length:()I
            ifle 7
         6: .line 408
            aload 1 /* out */
            new java.lang.StringBuilder
            dup
            ldc ", \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.keyStoreProvider: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;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         7: .line 409
      StackMap locals:
      StackMap stack:
            aload 1 /* out */
            ldc ";"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         8: .line 410
            aload 1 /* out */
            invokevirtual java.io.PrintWriter.println:()V
         9: .line 411
            return
        end local 1 // java.io.PrintWriter out
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lsun/security/provider/PolicyParser;
            0   10     1   out  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      out   

  private void writeStorePassURL(java.io.PrintWriter);
    descriptor: (Ljava/io/PrintWriter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // java.io.PrintWriter out
         0: .line 414
            aload 1 /* out */
            ldc "keystorePasswordURL \""
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         1: .line 415
            aload 1 /* out */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.storePassURL:Ljava/lang/String;
            invokevirtual java.io.PrintWriter.print:(Ljava/lang/String;)V
         2: .line 416
            aload 1 /* out */
            bipush 34
            invokevirtual java.io.PrintWriter.print:(C)V
         3: .line 417
            aload 1 /* out */
            ldc ";"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         4: .line 418
            aload 1 /* out */
            invokevirtual java.io.PrintWriter.println:()V
         5: .line 419
            return
        end local 1 // java.io.PrintWriter out
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lsun/security/provider/PolicyParser;
            0    6     1   out  Ljava/io/PrintWriter;
    MethodParameters:
      Name  Flags
      out   

  private sun.security.provider.PolicyParser$GrantEntry parseGrantEntry();
    descriptor: ()Lsun/security/provider/PolicyParser$GrantEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // sun.security.provider.PolicyParser this
         0: .line 427
            new sun.security.provider.PolicyParser$GrantEntry
            dup
            invokespecial sun.security.provider.PolicyParser$GrantEntry.<init>:()V
            astore 1 /* e */
        start local 1 // sun.security.provider.PolicyParser$GrantEntry e
         1: .line 428
            aconst_null
            astore 2 /* principals */
        start local 2 // java.util.LinkedList principals
         2: .line 429
            iconst_0
            istore 3 /* ignoreEntry */
        start local 3 // boolean ignoreEntry
         3: .line 431
            aload 0 /* this */
            ldc "grant"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
         4: .line 433
            goto 95
         5: .line 435
      StackMap locals: sun.security.provider.PolicyParser$GrantEntry java.util.LinkedList int
      StackMap stack:
            aload 0 /* this */
            ldc "Codebase"
            invokevirtual sun.security.provider.PolicyParser.peekAndMatch:(Ljava/lang/String;)Z
            ifeq 15
         6: .line 436
            aload 1 /* e */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            ifnull 12
         7: .line 437
            new sun.security.provider.PolicyParser$ParsingException
            dup
         8: .line 438
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
         9: .line 440
            ldc "multiple.Codebase.expressions"
        10: .line 439
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        11: .line 437
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;)V
            athrow
        12: .line 441
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            aload 0 /* this */
            ldc "quoted string"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
        13: .line 442
            aload 0 /* this */
            ldc ","
            invokevirtual sun.security.provider.PolicyParser.peekAndMatch:(Ljava/lang/String;)Z
            pop
        14: .line 443
            goto 95
      StackMap locals:
      StackMap stack:
        15: aload 0 /* this */
            ldc "SignedBy"
            invokevirtual sun.security.provider.PolicyParser.peekAndMatch:(Ljava/lang/String;)Z
            ifeq 43
        16: .line 444
            aload 1 /* e */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            ifnull 22
        17: .line 445
            new sun.security.provider.PolicyParser$ParsingException
            dup
        18: .line 446
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
        19: .line 448
            ldc "multiple.SignedBy.expressions"
        20: .line 447
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        21: .line 445
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;)V
            athrow
        22: .line 449
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            aload 0 /* this */
            ldc "quoted string"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
        23: .line 452
            new java.util.StringTokenizer
            dup
            aload 1 /* e */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
        24: .line 453
            ldc ","
            iconst_1
        25: .line 452
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;Z)V
            astore 4 /* aliases */
        start local 4 // java.util.StringTokenizer aliases
        26: .line 454
            iconst_0
            istore 5 /* actr */
        start local 5 // int actr
        27: .line 455
            iconst_0
            istore 6 /* cctr */
        start local 6 // int cctr
        28: .line 456
            goto 34
        29: .line 457
      StackMap locals: java.util.StringTokenizer int int
      StackMap stack:
            aload 4 /* aliases */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            astore 7 /* alias */
        start local 7 // java.lang.String alias
        30: .line 458
            aload 7 /* alias */
            ldc ","
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 32
        31: .line 459
            iinc 6 /* cctr */ 1
            goto 34
        32: .line 460
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* alias */
            invokevirtual java.lang.String.length:()I
            ifle 34
        33: .line 461
            iinc 5 /* actr */ 1
        end local 7 // java.lang.String alias
        34: .line 456
      StackMap locals:
      StackMap stack:
            aload 4 /* aliases */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 29
        35: .line 463
            iload 5 /* actr */
            iload 6 /* cctr */
            if_icmpgt 41
        36: .line 464
            new sun.security.provider.PolicyParser$ParsingException
            dup
        37: .line 465
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
        38: .line 467
            ldc "SignedBy.has.empty.alias"
        39: .line 466
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        40: .line 464
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;)V
            athrow
        41: .line 469
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ","
            invokevirtual sun.security.provider.PolicyParser.peekAndMatch:(Ljava/lang/String;)Z
            pop
        end local 6 // int cctr
        end local 5 // int actr
        end local 4 // java.util.StringTokenizer aliases
        42: .line 470
            goto 95
      StackMap locals:
      StackMap stack:
        43: aload 0 /* this */
            ldc "Principal"
            invokevirtual sun.security.provider.PolicyParser.peekAndMatch:(Ljava/lang/String;)Z
            ifeq 91
        44: .line 471
            aload 2 /* principals */
            ifnonnull 46
        45: .line 472
            new java.util.LinkedList
            dup
            invokespecial java.util.LinkedList.<init>:()V
            astore 2 /* principals */
        46: .line 478
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "\""
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 50
        47: .line 481
            ldc "PolicyParser.REPLACE_NAME"
            astore 4 /* principalClass */
        start local 4 // java.lang.String principalClass
        48: .line 482
            aload 0 /* this */
            ldc "principal type"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* principalName */
        start local 5 // java.lang.String principalName
        49: .line 483
            goto 69
        end local 5 // java.lang.String principalName
        end local 4 // java.lang.String principalClass
        50: .line 485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "*"
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 54
        51: .line 486
            aload 0 /* this */
            ldc "*"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
        52: .line 487
            ldc "WILDCARD_PRINCIPAL_CLASS"
            astore 4 /* principalClass */
        start local 4 // java.lang.String principalClass
        53: .line 488
            goto 55
        end local 4 // java.lang.String principalClass
        54: .line 489
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "principal type"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* principalClass */
        start local 4 // java.lang.String principalClass
        55: .line 493
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            ldc "*"
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 59
        56: .line 494
            aload 0 /* this */
            ldc "*"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
        57: .line 495
            ldc "WILDCARD_PRINCIPAL_NAME"
            astore 5 /* principalName */
        start local 5 // java.lang.String principalName
        58: .line 496
            goto 60
        end local 5 // java.lang.String principalName
        59: .line 497
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "quoted string"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* principalName */
        start local 5 // java.lang.String principalName
        60: .line 501
      StackMap locals: java.lang.String
      StackMap stack:
            aload 4 /* principalClass */
            ldc "WILDCARD_PRINCIPAL_CLASS"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 69
        61: .line 502
            aload 5 /* principalName */
            ldc "WILDCARD_PRINCIPAL_NAME"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 69
        62: .line 503
            getstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
            ifnull 64
        63: .line 504
            getstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
            ldc "disallowing principal that has WILDCARD class but no WILDCARD name"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        64: .line 507
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
        65: .line 508
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
        66: .line 510
            ldc "can.not.specify.Principal.with.a.wildcard.class.without.a.wildcard.name"
        67: .line 509
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        68: .line 507
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;)V
            athrow
        69: .line 515
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 5 /* principalName */
            invokevirtual sun.security.provider.PolicyParser.expand:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* principalName */
        70: .line 517
            aload 4 /* principalClass */
        71: .line 518
            ldc "javax.security.auth.x500.X500Principal"
        72: .line 517
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        73: .line 518
            ifeq 79
        74: .line 519
            aload 5 /* principalName */
            ldc "WILDCARD_PRINCIPAL_NAME"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 79
        75: .line 525
            new javax.security.auth.x500.X500Principal
            dup
        76: .line 526
            new javax.security.auth.x500.X500Principal
            dup
            aload 5 /* principalName */
            invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
            invokevirtual javax.security.auth.x500.X500Principal.toString:()Ljava/lang/String;
        77: .line 525
            invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
            astore 6 /* p */
        start local 6 // javax.security.auth.x500.X500Principal p
        78: .line 527
            aload 6 /* p */
            invokevirtual javax.security.auth.x500.X500Principal.getName:()Ljava/lang/String;
            astore 5 /* principalName */
        end local 6 // javax.security.auth.x500.X500Principal p
        79: .line 530
      StackMap locals:
      StackMap stack:
            aload 2 /* principals */
        80: .line 531
            new sun.security.provider.PolicyParser$PrincipalEntry
            dup
            aload 4 /* principalClass */
            aload 5 /* principalName */
            invokespecial sun.security.provider.PolicyParser$PrincipalEntry.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        81: .line 530
            invokevirtual java.util.LinkedList.add:(Ljava/lang/Object;)Z
            pop
        82: .line 532
            goto 89
      StackMap locals:
      StackMap stack: sun.security.util.PropertyExpander$ExpandException
        83: pop
        84: .line 536
            getstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
            ifnull 88
        85: .line 537
            getstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "principal name expansion failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        86: .line 538
            aload 5 /* principalName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        87: .line 537
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        88: .line 540
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* ignoreEntry */
        89: .line 542
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ","
            invokevirtual sun.security.provider.PolicyParser.peekAndMatch:(Ljava/lang/String;)Z
            pop
        end local 5 // java.lang.String principalName
        end local 4 // java.lang.String principalClass
        90: .line 544
            goto 95
        91: .line 545
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
        92: .line 547
            ldc "expected.codeBase.or.SignedBy.or.Principal"
        93: .line 546
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        94: .line 545
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;)V
            athrow
        95: .line 433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "{"
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 5
        96: .line 551
            aload 2 /* principals */
            ifnull 97
            aload 1 /* e */
            aload 2 /* principals */
            putfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
        97: .line 552
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "{"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
        98: .line 554
            goto 113
        99: .line 555
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "Permission"
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 109
       100: .line 557
            aload 0 /* this */
            invokevirtual sun.security.provider.PolicyParser.parsePermissionEntry:()Lsun/security/provider/PolicyParser$PermissionEntry;
            astore 4 /* pe */
        start local 4 // sun.security.provider.PolicyParser$PermissionEntry pe
       101: .line 558
            aload 1 /* e */
            aload 4 /* pe */
            invokevirtual sun.security.provider.PolicyParser$GrantEntry.add:(Lsun/security/provider/PolicyParser$PermissionEntry;)V
        end local 4 // sun.security.provider.PolicyParser$PermissionEntry pe
       102: .line 559
            goto 107
      StackMap locals:
      StackMap stack: sun.security.util.PropertyExpander$ExpandException
       103: astore 4 /* peee */
        start local 4 // sun.security.util.PropertyExpander$ExpandException peee
       104: .line 561
            getstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
            ifnull 106
       105: .line 562
            getstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
            aload 4 /* peee */
            invokevirtual sun.security.util.PropertyExpander$ExpandException.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       106: .line 564
      StackMap locals: sun.security.util.PropertyExpander$ExpandException
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.security.provider.PolicyParser.skipEntry:()V
        end local 4 // sun.security.util.PropertyExpander$ExpandException peee
       107: .line 566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ";"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
       108: .line 567
            goto 113
       109: .line 569
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
       110: .line 571
            ldc "expected.permission.entry"
       111: .line 570
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
       112: .line 568
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;)V
            athrow
       113: .line 554
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "}"
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 99
       114: .line 574
            aload 0 /* this */
            ldc "}"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
       115: .line 577
            aload 1 /* e */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            ifnull 116
            aload 1 /* e */
            aload 0 /* this */
            aload 1 /* e */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            invokevirtual sun.security.provider.PolicyParser.expand:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
       116: .line 578
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            ifnull 144
       117: .line 581
            aload 1 /* e */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            ldc "${java.ext.dirs}"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 119
       118: .line 582
            aload 1 /* e */
            ldc "${{java.ext.dirs}}"
            putfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
       119: .line 585
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            ldc "${{java.ext.dirs}}"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            dup
            istore 4 /* es */
        start local 4 // int es
       120: ifge 125
       121: .line 586
            aload 1 /* e */
            aload 0 /* this */
            aload 1 /* e */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            iconst_1
            invokevirtual sun.security.provider.PolicyParser.expand:(Ljava/lang/String;Z)Ljava/lang/String;
       122: .line 587
            getstatic java.io.File.separatorChar:C
            bipush 47
       123: .line 586
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            putfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
       124: .line 588
            goto 144
       125: .line 592
      StackMap locals: int
      StackMap stack:
            aload 1 /* e */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            iload 4 /* es */
            invokestatic sun.security.provider.PolicyParser.parseExtDirs:(Ljava/lang/String;I)[Ljava/lang/String;
            astore 5 /* extDirs */
        start local 5 // java.lang.String[] extDirs
       126: .line 593
            aload 5 /* extDirs */
            ifnull 138
            aload 5 /* extDirs */
            arraylength
            ifle 138
       127: .line 594
            iconst_0
            istore 6 /* i */
        start local 6 // int i
       128: goto 137
       129: .line 595
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 1 /* e */
            invokevirtual sun.security.provider.PolicyParser$GrantEntry.clone:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$GrantEntry
            astore 7 /* newGe */
        start local 7 // sun.security.provider.PolicyParser$GrantEntry newGe
       130: .line 596
            aload 7 /* newGe */
            aload 5 /* extDirs */
            iload 6 /* i */
            aaload
            putfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
       131: .line 597
            aload 0 /* this */
            aload 7 /* newGe */
            invokevirtual sun.security.provider.PolicyParser.add:(Lsun/security/provider/PolicyParser$GrantEntry;)V
       132: .line 599
            getstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
            ifnull 136
       133: .line 600
            getstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "creating policy entry for expanded java.ext.dirs path:\n\t\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
       134: .line 602
            aload 5 /* extDirs */
            iload 6 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       135: .line 600
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 7 // sun.security.provider.PolicyParser$GrantEntry newGe
       136: .line 594
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
       137: iload 6 /* i */
            aload 5 /* extDirs */
            arraylength
            if_icmplt 129
        end local 6 // int i
       138: .line 606
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* ignoreEntry */
        end local 5 // java.lang.String[] extDirs
        end local 4 // int es
       139: .line 609
            goto 144
      StackMap locals: sun.security.provider.PolicyParser sun.security.provider.PolicyParser$GrantEntry java.util.LinkedList int
      StackMap stack: sun.security.util.PropertyExpander$ExpandException
       140: astore 4 /* peee */
        start local 4 // sun.security.util.PropertyExpander$ExpandException peee
       141: .line 610
            getstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
            ifnull 143
       142: .line 611
            getstatic sun.security.provider.PolicyParser.debug:Lsun/security/util/Debug;
            aload 4 /* peee */
            invokevirtual sun.security.util.PropertyExpander$ExpandException.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
       143: .line 613
      StackMap locals: sun.security.util.PropertyExpander$ExpandException
      StackMap stack:
            aconst_null
            areturn
        end local 4 // sun.security.util.PropertyExpander$ExpandException peee
       144: .line 616
      StackMap locals:
      StackMap stack:
            iload 3 /* ignoreEntry */
            ifeq 145
            aconst_null
            goto 146
      StackMap locals:
      StackMap stack:
       145: aload 1 /* e */
      StackMap locals:
      StackMap stack: sun.security.provider.PolicyParser$GrantEntry
       146: areturn
        end local 3 // boolean ignoreEntry
        end local 2 // java.util.LinkedList principals
        end local 1 // sun.security.provider.PolicyParser$GrantEntry e
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  147     0            this  Lsun/security/provider/PolicyParser;
            1  147     1               e  Lsun/security/provider/PolicyParser$GrantEntry;
            2  147     2      principals  Ljava/util/LinkedList<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
            3  147     3     ignoreEntry  Z
           26   42     4         aliases  Ljava/util/StringTokenizer;
           27   42     5            actr  I
           28   42     6            cctr  I
           30   34     7           alias  Ljava/lang/String;
           48   50     4  principalClass  Ljava/lang/String;
           53   54     4  principalClass  Ljava/lang/String;
           55   90     4  principalClass  Ljava/lang/String;
           49   50     5   principalName  Ljava/lang/String;
           58   59     5   principalName  Ljava/lang/String;
           60   90     5   principalName  Ljava/lang/String;
           78   79     6               p  Ljavax/security/auth/x500/X500Principal;
          101  102     4              pe  Lsun/security/provider/PolicyParser$PermissionEntry;
          104  107     4            peee  Lsun/security/util/PropertyExpander$ExpandException;
          120  139     4              es  I
          126  139     5         extDirs  [Ljava/lang/String;
          128  138     6               i  I
          130  136     7           newGe  Lsun/security/provider/PolicyParser$GrantEntry;
          141  144     4            peee  Lsun/security/util/PropertyExpander$ExpandException;
      Exception table:
        from    to  target  type
          69    82      83  Class sun.security.util.PropertyExpander$ExpandException
         100   102     103  Class sun.security.util.PropertyExpander$ExpandException
         115   139     140  Class sun.security.util.PropertyExpander$ExpandException
    Exceptions:
      throws sun.security.provider.PolicyParser$ParsingException, java.io.IOException

  private sun.security.provider.PolicyParser$PermissionEntry parsePermissionEntry();
    descriptor: ()Lsun/security/provider/PolicyParser$PermissionEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // sun.security.provider.PolicyParser this
         0: .line 625
            new sun.security.provider.PolicyParser$PermissionEntry
            dup
            invokespecial sun.security.provider.PolicyParser$PermissionEntry.<init>:()V
            astore 1 /* e */
        start local 1 // sun.security.provider.PolicyParser$PermissionEntry e
         1: .line 628
            aload 0 /* this */
            ldc "Permission"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
         2: .line 629
            aload 1 /* e */
            aload 0 /* this */
            ldc "permission type"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
         3: .line 631
            aload 0 /* this */
            ldc "\""
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 5
         4: .line 633
            aload 1 /* e */
            aload 0 /* this */
            aload 0 /* this */
            ldc "quoted string"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.security.provider.PolicyParser.expand:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
         5: .line 636
      StackMap locals: sun.security.provider.PolicyParser$PermissionEntry
      StackMap stack:
            aload 0 /* this */
            ldc ","
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifne 7
         6: .line 637
            aload 1 /* e */
            areturn
         7: .line 639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ","
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
         8: .line 641
            aload 0 /* this */
            ldc "\""
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 13
         9: .line 642
            aload 1 /* e */
            aload 0 /* this */
            aload 0 /* this */
            ldc "quoted string"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.security.provider.PolicyParser.expand:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
        10: .line 643
            aload 0 /* this */
            ldc ","
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifne 12
        11: .line 644
            aload 1 /* e */
            areturn
        12: .line 646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ","
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
        13: .line 649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "SignedBy"
            invokevirtual sun.security.provider.PolicyParser.peekAndMatch:(Ljava/lang/String;)Z
            ifeq 15
        14: .line 650
            aload 1 /* e */
            aload 0 /* this */
            aload 0 /* this */
            ldc "quoted string"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.security.provider.PolicyParser.expand:(Ljava/lang/String;)Ljava/lang/String;
            putfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
        15: .line 652
      StackMap locals:
      StackMap stack:
            aload 1 /* e */
            areturn
        end local 1 // sun.security.provider.PolicyParser$PermissionEntry e
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Lsun/security/provider/PolicyParser;
            1   16     1     e  Lsun/security/provider/PolicyParser$PermissionEntry;
    Exceptions:
      throws sun.security.provider.PolicyParser$ParsingException, java.io.IOException, sun.security.util.PropertyExpander$ExpandException

  private sun.security.provider.PolicyParser$DomainEntry parseDomainEntry();
    descriptor: ()Lsun/security/provider/PolicyParser$DomainEntry;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // sun.security.provider.PolicyParser this
         0: .line 661
            iconst_0
            istore 1 /* ignoreEntry */
        start local 1 // boolean ignoreEntry
         1: .line 663
            aconst_null
            astore 3 /* name */
        start local 3 // java.lang.String name
         2: .line 664
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* properties */
        start local 4 // java.util.Map properties
         3: .line 666
            aload 0 /* this */
            ldc "domain"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
         4: .line 667
            aload 0 /* this */
            ldc "domain name"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* name */
         5: .line 669
            goto 7
         6: .line 671
      StackMap locals: sun.security.provider.PolicyParser int top java.lang.String java.util.Map
      StackMap stack:
            aload 0 /* this */
            ldc "{"
            invokevirtual sun.security.provider.PolicyParser.parseProperties:(Ljava/lang/String;)Ljava/util/Map;
            astore 4 /* properties */
         7: .line 669
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "{"
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 6
         8: .line 673
            aload 0 /* this */
            ldc "{"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
         9: .line 674
            new sun.security.provider.PolicyParser$DomainEntry
            dup
            aload 3 /* name */
            aload 4 /* properties */
            invokespecial sun.security.provider.PolicyParser$DomainEntry.<init>:(Ljava/lang/String;Ljava/util/Map;)V
            astore 2 /* domainEntry */
        start local 2 // sun.security.provider.PolicyParser$DomainEntry domainEntry
        10: .line 676
            goto 17
        11: .line 678
      StackMap locals: sun.security.provider.PolicyParser int sun.security.provider.PolicyParser$DomainEntry java.lang.String java.util.Map
      StackMap stack:
            aload 0 /* this */
            ldc "keystore"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
        12: .line 679
            aload 0 /* this */
            ldc "keystore name"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* name */
        13: .line 681
            aload 0 /* this */
            ldc "}"
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifne 15
        14: .line 682
            aload 0 /* this */
            ldc ";"
            invokevirtual sun.security.provider.PolicyParser.parseProperties:(Ljava/lang/String;)Ljava/util/Map;
            astore 4 /* properties */
        15: .line 684
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc ";"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
        16: .line 685
            aload 2 /* domainEntry */
            new sun.security.provider.PolicyParser$KeyStoreEntry
            dup
            aload 3 /* name */
            aload 4 /* properties */
            invokespecial sun.security.provider.PolicyParser$KeyStoreEntry.<init>:(Ljava/lang/String;Ljava/util/Map;)V
            invokevirtual sun.security.provider.PolicyParser$DomainEntry.add:(Lsun/security/provider/PolicyParser$KeyStoreEntry;)V
        17: .line 676
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "}"
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 11
        18: .line 687
            aload 0 /* this */
            ldc "}"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
        19: .line 689
            iload 1 /* ignoreEntry */
            ifeq 20
            aconst_null
            goto 21
      StackMap locals:
      StackMap stack:
        20: aload 2 /* domainEntry */
      StackMap locals:
      StackMap stack: sun.security.provider.PolicyParser$DomainEntry
        21: areturn
        end local 4 // java.util.Map properties
        end local 3 // java.lang.String name
        end local 2 // sun.security.provider.PolicyParser$DomainEntry domainEntry
        end local 1 // boolean ignoreEntry
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   22     0         this  Lsun/security/provider/PolicyParser;
            1   22     1  ignoreEntry  Z
           10   22     2  domainEntry  Lsun/security/provider/PolicyParser$DomainEntry;
            2   22     3         name  Ljava/lang/String;
            3   22     4   properties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    Exceptions:
      throws sun.security.provider.PolicyParser$ParsingException, java.io.IOException

  private java.util.Map<java.lang.String, java.lang.String> parseProperties(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // java.lang.String terminator
         0: .line 698
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 2 /* properties */
        start local 2 // java.util.Map properties
         1: .line 701
            goto 9
         2: .line 702
      StackMap locals: java.util.Map
      StackMap stack:
            aload 0 /* this */
            ldc "property name"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* key */
        start local 3 // java.lang.String key
         3: .line 703
            aload 0 /* this */
            ldc "="
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
         4: .line 706
            aload 0 /* this */
            aload 0 /* this */
            ldc "quoted string"
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual sun.security.provider.PolicyParser.expand:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* value */
        start local 4 // java.lang.String value
         5: .line 707
            goto 8
        end local 4 // java.lang.String value
      StackMap locals: sun.security.provider.PolicyParser java.lang.String java.util.Map java.lang.String
      StackMap stack: sun.security.util.PropertyExpander$ExpandException
         6: astore 5 /* peee */
        start local 5 // sun.security.util.PropertyExpander$ExpandException peee
         7: .line 708
            new java.io.IOException
            dup
            aload 5 /* peee */
            invokevirtual sun.security.util.PropertyExpander$ExpandException.getLocalizedMessage:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // sun.security.util.PropertyExpander$ExpandException peee
        start local 4 // java.lang.String value
         8: .line 710
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* properties */
            aload 3 /* key */
            getstatic java.util.Locale.ENGLISH:Ljava/util/Locale;
            invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
            aload 4 /* value */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String value
        end local 3 // java.lang.String key
         9: .line 701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* terminator */
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 2
        10: .line 713
            aload 2 /* properties */
            areturn
        end local 2 // java.util.Map properties
        end local 1 // java.lang.String terminator
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Lsun/security/provider/PolicyParser;
            0   11     1  terminator  Ljava/lang/String;
            1   11     2  properties  Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
            3    9     3         key  Ljava/lang/String;
            5    6     4       value  Ljava/lang/String;
            8    9     4       value  Ljava/lang/String;
            7    8     5        peee  Lsun/security/util/PropertyExpander$ExpandException;
      Exception table:
        from    to  target  type
           4     5       6  Class sun.security.util.PropertyExpander$ExpandException
    Exceptions:
      throws sun.security.provider.PolicyParser$ParsingException, java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/Map<Ljava/lang/String;Ljava/lang/String;>;
    MethodParameters:
            Name  Flags
      terminator  

  static java.lang.String[] parseExtDirs(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)[Ljava/lang/String;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // java.lang.String codebase
        start local 1 // int start
         0: .line 719
            ldc "java.ext.dirs"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* s */
        start local 2 // java.lang.String s
         1: .line 720
            iload 1 /* start */
            ifle 2
            aload 0 /* codebase */
            iconst_0
            iload 1 /* start */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: ldc "file:"
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 3 /* globalPrefix */
        start local 3 // java.lang.String globalPrefix
         4: .line 721
            iload 1 /* start */
            ldc "${{java.ext.dirs}}"
            invokevirtual java.lang.String.length:()I
            iadd
            istore 4 /* end */
        start local 4 // int end
         5: .line 722
            iload 4 /* end */
            aload 0 /* codebase */
            invokevirtual java.lang.String.length:()I
            if_icmpge 6
            aload 0 /* codebase */
            iload 4 /* end */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            goto 7
         6: .line 723
      StackMap locals: java.lang.String int
      StackMap stack:
            aconst_null
         7: .line 722
      StackMap locals:
      StackMap stack: java.lang.String
            astore 5 /* globalSuffix */
        start local 5 // java.lang.String globalSuffix
         8: .line 725
            aconst_null
            astore 6 /* dirs */
        start local 6 // java.lang.String[] dirs
         9: .line 727
            aload 2 /* s */
            ifnull 30
        10: .line 729
            new java.util.StringTokenizer
            dup
            aload 2 /* s */
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        11: .line 728
            astore 8 /* st */
        start local 8 // java.util.StringTokenizer st
        12: .line 730
            aload 8 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            istore 9 /* count */
        start local 9 // int count
        13: .line 731
            iload 9 /* count */
            anewarray java.lang.String
            astore 6 /* dirs */
        14: .line 732
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        15: goto 29
        16: .line 733
      StackMap locals: java.lang.String int java.lang.String java.lang.String int java.lang.String java.lang.String[] top java.util.StringTokenizer int int
      StackMap stack:
            new java.io.File
            dup
            aload 8 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 11 /* file */
        start local 11 // java.io.File file
        17: .line 734
            aload 6 /* dirs */
            iload 10 /* i */
        18: .line 735
            aload 11 /* file */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
        19: .line 734
            invokestatic sun.net.www.ParseUtil.encodePath:(Ljava/lang/String;)Ljava/lang/String;
            aastore
        20: .line 737
            aload 6 /* dirs */
            iload 10 /* i */
            aaload
            ldc "/"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 22
        21: .line 738
            aload 6 /* dirs */
            iload 10 /* i */
            new java.lang.StringBuilder
            dup
            ldc "/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* dirs */
            iload 10 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        22: .line 741
      StackMap locals: java.io.File
      StackMap stack:
            aload 5 /* globalSuffix */
            ifnonnull 25
        23: .line 742
            aload 6 /* dirs */
            iload 10 /* i */
            aaload
            ldc "/"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 24
            ldc "*"
            goto 26
      StackMap locals:
      StackMap stack:
        24: ldc "/*"
            goto 26
        25: .line 743
      StackMap locals:
      StackMap stack:
            aload 5 /* globalSuffix */
        26: .line 741
      StackMap locals:
      StackMap stack: java.lang.String
            astore 7 /* localSuffix */
        start local 7 // java.lang.String localSuffix
        27: .line 745
            aload 6 /* dirs */
            iload 10 /* i */
            new java.lang.StringBuilder
            dup
            aload 3 /* globalPrefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* dirs */
            iload 10 /* i */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* localSuffix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        end local 11 // java.io.File file
        28: .line 732
            iinc 10 /* i */ 1
        end local 7 // java.lang.String localSuffix
      StackMap locals:
      StackMap stack:
        29: iload 10 /* i */
            iload 9 /* count */
            if_icmplt 16
        end local 10 // int i
        end local 9 // int count
        end local 8 // java.util.StringTokenizer st
        30: .line 748
      StackMap locals: java.lang.String int java.lang.String java.lang.String int java.lang.String java.lang.String[]
      StackMap stack:
            aload 6 /* dirs */
            areturn
        end local 6 // java.lang.String[] dirs
        end local 5 // java.lang.String globalSuffix
        end local 4 // int end
        end local 3 // java.lang.String globalPrefix
        end local 2 // java.lang.String s
        end local 1 // int start
        end local 0 // java.lang.String codebase
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   31     0      codebase  Ljava/lang/String;
            0   31     1         start  I
            1   31     2             s  Ljava/lang/String;
            4   31     3  globalPrefix  Ljava/lang/String;
            5   31     4           end  I
            8   31     5  globalSuffix  Ljava/lang/String;
            9   31     6          dirs  [Ljava/lang/String;
           27   29     7   localSuffix  Ljava/lang/String;
           12   30     8            st  Ljava/util/StringTokenizer;
           13   30     9         count  I
           15   30    10             i  I
           17   28    11          file  Ljava/io/File;
    MethodParameters:
          Name  Flags
      codebase  
      start     

  private boolean peekAndMatch(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // java.lang.String expect
         0: .line 754
            aload 0 /* this */
            aload 1 /* expect */
            invokevirtual sun.security.provider.PolicyParser.peek:(Ljava/lang/String;)Z
            ifeq 3
         1: .line 755
            aload 0 /* this */
            aload 1 /* expect */
            invokevirtual sun.security.provider.PolicyParser.match:(Ljava/lang/String;)Ljava/lang/String;
            pop
         2: .line 756
            iconst_1
            ireturn
         3: .line 758
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // java.lang.String expect
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lsun/security/provider/PolicyParser;
            0    4     1  expect  Ljava/lang/String;
    Exceptions:
      throws sun.security.provider.PolicyParser$ParsingException, java.io.IOException
    MethodParameters:
        Name  Flags
      expect  

  private boolean peek(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // java.lang.String expect
         0: .line 763
            iconst_0
            istore 2 /* found */
        start local 2 // boolean found
         1: .line 765
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.lookahead:I
            lookupswitch { // 7
                   -3: 2
                   34: 14
                   42: 17
                   44: 5
                   59: 20
                  123: 8
                  125: 11
              default: 22
          }
         2: .line 768
      StackMap locals: int
      StackMap stack:
            aload 1 /* expect */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 22
         3: .line 769
            iconst_1
            istore 2 /* found */
         4: .line 770
            goto 22
         5: .line 772
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc ","
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 22
         6: .line 773
            iconst_1
            istore 2 /* found */
         7: .line 774
            goto 22
         8: .line 776
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "{"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 22
         9: .line 777
            iconst_1
            istore 2 /* found */
        10: .line 778
            goto 22
        11: .line 780
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "}"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 22
        12: .line 781
            iconst_1
            istore 2 /* found */
        13: .line 782
            goto 22
        14: .line 784
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "\""
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 22
        15: .line 785
            iconst_1
            istore 2 /* found */
        16: .line 786
            goto 22
        17: .line 788
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "*"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 22
        18: .line 789
            iconst_1
            istore 2 /* found */
        19: .line 790
            goto 22
        20: .line 792
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc ";"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 22
        21: .line 793
            iconst_1
            istore 2 /* found */
        22: .line 798
      StackMap locals:
      StackMap stack:
            iload 2 /* found */
            ireturn
        end local 2 // boolean found
        end local 1 // java.lang.String expect
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   23     0    this  Lsun/security/provider/PolicyParser;
            0   23     1  expect  Ljava/lang/String;
            1   23     2   found  Z
    MethodParameters:
        Name  Flags
      expect  

  private java.lang.String match(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=5, args_size=2
        start local 0 // sun.security.provider.PolicyParser this
        start local 1 // java.lang.String expect
         0: .line 804
            aconst_null
            astore 2 /* value */
        start local 2 // java.lang.String value
         1: .line 806
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.lookahead:I
            lookupswitch { // 10
                   -3: 13
                   -2: 2
                   -1: 7
                   34: 33
                   42: 58
                   44: 46
                   59: 55
                   61: 61
                  123: 49
                  125: 52
              default: 64
          }
         2: .line 808
      StackMap locals: java.lang.String
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
            aload 1 /* expect */
         3: .line 809
            new java.lang.StringBuilder
            dup
            ldc "number."
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 810
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.nval:D
            invokestatic java.lang.String.valueOf:(D)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 809
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 808
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            athrow
         7: .line 812
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
         8: .line 814
            ldc "expected.expect.read.end.of.file."
         9: .line 813
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        10: .line 812
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 3 /* form */
        start local 3 // java.text.MessageFormat form
        11: .line 815
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* expect */
            aastore
            astore 4 /* source */
        start local 4 // java.lang.Object[] source
        12: .line 816
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 3 /* form */
            aload 4 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.Object[] source
        end local 3 // java.text.MessageFormat form
        13: .line 818
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 16
        14: .line 819
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
        15: .line 820
            goto 67
      StackMap locals:
      StackMap stack:
        16: aload 1 /* expect */
            ldc "permission type"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 20
        17: .line 821
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            astore 2 /* value */
        18: .line 822
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
        19: .line 823
            goto 67
      StackMap locals:
      StackMap stack:
        20: aload 1 /* expect */
            ldc "principal type"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 24
        21: .line 824
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            astore 2 /* value */
        22: .line 825
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
        23: .line 826
            goto 67
      StackMap locals:
      StackMap stack:
        24: aload 1 /* expect */
            ldc "domain name"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 27
        25: .line 827
            aload 1 /* expect */
            ldc "keystore name"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 27
        26: .line 828
            aload 1 /* expect */
            ldc "property name"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 30
        27: .line 829
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            astore 2 /* value */
        28: .line 830
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
        29: .line 831
            goto 67
        30: .line 832
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
            aload 1 /* expect */
        31: .line 833
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
        32: .line 832
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            athrow
        33: .line 837
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "quoted string"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 37
        34: .line 838
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            astore 2 /* value */
        35: .line 839
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
        36: .line 840
            goto 67
      StackMap locals:
      StackMap stack:
        37: aload 1 /* expect */
            ldc "permission type"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 41
        38: .line 841
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            astore 2 /* value */
        39: .line 842
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
        40: .line 843
            goto 67
      StackMap locals:
      StackMap stack:
        41: aload 1 /* expect */
            ldc "principal type"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 45
        42: .line 844
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            astore 2 /* value */
        43: .line 845
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
        44: .line 846
            goto 67
        45: .line 847
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
            aload 1 /* expect */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.sval:Ljava/lang/String;
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            athrow
        46: .line 851
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc ","
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 48
        47: .line 852
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
            goto 67
        48: .line 854
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
            aload 1 /* expect */
            ldc ","
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            athrow
        49: .line 857
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "{"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 51
        50: .line 858
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
            goto 67
        51: .line 860
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
            aload 1 /* expect */
            ldc "{"
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            athrow
        52: .line 863
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "}"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 54
        53: .line 864
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
            goto 67
        54: .line 866
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
            aload 1 /* expect */
            ldc "}"
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            athrow
        55: .line 869
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc ";"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 57
        56: .line 870
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
            goto 67
        57: .line 872
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
            aload 1 /* expect */
            ldc ";"
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            athrow
        58: .line 875
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "*"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 60
        59: .line 876
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
            goto 67
        60: .line 878
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
            aload 1 /* expect */
            ldc "*"
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            athrow
        61: .line 881
      StackMap locals:
      StackMap stack:
            aload 1 /* expect */
            ldc "="
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 63
        62: .line 882
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
            goto 67
        63: .line 884
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
            aload 1 /* expect */
            ldc "="
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            athrow
        64: .line 887
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
            aload 1 /* expect */
        65: .line 888
            new java.lang.String
            dup
            iconst_1
            newarray 5
            dup
            iconst_0
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.lookahead:I
            i2c
            castore
            invokespecial java.lang.String.<init>:([C)V
        66: .line 887
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            athrow
        67: .line 890
      StackMap locals:
      StackMap stack:
            aload 2 /* value */
            areturn
        end local 2 // java.lang.String value
        end local 1 // java.lang.String expect
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   68     0    this  Lsun/security/provider/PolicyParser;
            0   68     1  expect  Ljava/lang/String;
            1   68     2   value  Ljava/lang/String;
           11   13     3    form  Ljava/text/MessageFormat;
           12   13     4  source  [Ljava/lang/Object;
    Exceptions:
      throws sun.security.provider.PolicyParser$ParsingException, java.io.IOException
    MethodParameters:
        Name  Flags
      expect  

  private void skipEntry();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=1, args_size=1
        start local 0 // sun.security.provider.PolicyParser this
         0: .line 898
            goto 11
         1: .line 899
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.lookahead:I
            tableswitch { // -2 - -1
                   -2: 2
                   -1: 7
              default: 10
          }
         2: .line 901
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.lineno:()I
            ldc ";"
         3: .line 902
            new java.lang.StringBuilder
            dup
            ldc "number."
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         4: .line 903
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            getfield java.io.StreamTokenizer.nval:D
            invokestatic java.lang.String.valueOf:(D)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 902
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         6: .line 901
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(ILjava/lang/String;Ljava/lang/String;)V
            athrow
         7: .line 905
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyParser$ParsingException
            dup
         8: .line 906
            ldc "expected.read.end.of.file."
         9: .line 905
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial sun.security.provider.PolicyParser$ParsingException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 908
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.st:Ljava/io/StreamTokenizer;
            invokevirtual java.io.StreamTokenizer.nextToken:()I
            putfield sun.security.provider.PolicyParser.lookahead:I
        11: .line 898
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.PolicyParser.lookahead:I
            bipush 59
            if_icmpne 1
        12: .line 911
            return
        end local 0 // sun.security.provider.PolicyParser this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Lsun/security/provider/PolicyParser;
    Exceptions:
      throws sun.security.provider.PolicyParser$ParsingException, java.io.IOException

  public static void main(java.lang.String[]);
    descriptor: ([Ljava/lang/String;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // java.lang.String[] arg
         0: .line 1428
            aconst_null
            astore 1
            aconst_null
            astore 2
         1: new java.io.FileReader
            dup
            aload 0 /* arg */
            iconst_0
            aaload
            invokespecial java.io.FileReader.<init>:(Ljava/lang/String;)V
            astore 3 /* fr */
        start local 3 // java.io.FileReader fr
         2: .line 1429
            new java.io.FileWriter
            dup
            aload 0 /* arg */
            iconst_1
            aaload
            invokespecial java.io.FileWriter.<init>:(Ljava/lang/String;)V
            astore 4 /* fw */
        start local 4 // java.io.FileWriter fw
         3: .line 1430
            new sun.security.provider.PolicyParser
            dup
            iconst_1
            invokespecial sun.security.provider.PolicyParser.<init>:(Z)V
            astore 5 /* pp */
        start local 5 // sun.security.provider.PolicyParser pp
         4: .line 1431
            aload 5 /* pp */
            aload 3 /* fr */
            invokevirtual sun.security.provider.PolicyParser.read:(Ljava/io/Reader;)V
         5: .line 1432
            aload 5 /* pp */
            aload 4 /* fw */
            invokevirtual sun.security.provider.PolicyParser.write:(Ljava/io/Writer;)V
        end local 5 // sun.security.provider.PolicyParser pp
         6: .line 1433
            aload 4 /* fw */
            ifnull 9
            aload 4 /* fw */
            invokevirtual java.io.FileWriter.close:()V
            goto 9
      StackMap locals: java.lang.String[] java.lang.Throwable java.lang.Throwable java.io.FileReader java.io.FileWriter
      StackMap stack: java.lang.Throwable
         7: astore 1
            aload 4 /* fw */
            ifnull 8
            aload 4 /* fw */
            invokevirtual java.io.FileWriter.close:()V
        end local 4 // java.io.FileWriter fw
      StackMap locals:
      StackMap stack:
         8: aload 1
            athrow
      StackMap locals:
      StackMap stack:
         9: aload 3 /* fr */
            ifnull 17
            aload 3 /* fr */
            invokevirtual java.io.FileReader.close:()V
            goto 17
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 2
            aload 1
            ifnonnull 11
            aload 2
            astore 1
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 1
            aload 2
            if_acmpeq 12
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 3 /* fr */
            ifnull 13
            aload 3 /* fr */
            invokevirtual java.io.FileReader.close:()V
        end local 3 // java.io.FileReader fr
      StackMap locals:
      StackMap stack:
        13: aload 1
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        14: astore 2
            aload 1
            ifnonnull 15
            aload 2
            astore 1
            goto 16
      StackMap locals:
      StackMap stack:
        15: aload 1
            aload 2
            if_acmpeq 16
            aload 1
            aload 2
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        16: aload 1
            athrow
        17: .line 1434
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.String[] arg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   18     0   arg  [Ljava/lang/String;
            2   13     3    fr  Ljava/io/FileReader;
            3    8     4    fw  Ljava/io/FileWriter;
            4    6     5    pp  Lsun/security/provider/PolicyParser;
      Exception table:
        from    to  target  type
           3     6       7  any
           2     9      10  any
           1    14      14  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      arg   
}
SourceFile: "PolicyParser.java"
NestMembers:
  sun.security.provider.PolicyParser$DomainEntry  sun.security.provider.PolicyParser$GrantEntry  sun.security.provider.PolicyParser$KeyStoreEntry  sun.security.provider.PolicyParser$ParsingException  sun.security.provider.PolicyParser$PermissionEntry  sun.security.provider.PolicyParser$PrincipalEntry
InnerClasses:
  DomainEntry = sun.security.provider.PolicyParser$DomainEntry of sun.security.provider.PolicyParser
  public GrantEntry = sun.security.provider.PolicyParser$GrantEntry of sun.security.provider.PolicyParser
  KeyStoreEntry = sun.security.provider.PolicyParser$KeyStoreEntry of sun.security.provider.PolicyParser
  public ParsingException = sun.security.provider.PolicyParser$ParsingException of sun.security.provider.PolicyParser
  public PermissionEntry = sun.security.provider.PolicyParser$PermissionEntry of sun.security.provider.PolicyParser
  public PrincipalEntry = sun.security.provider.PolicyParser$PrincipalEntry of sun.security.provider.PolicyParser
  public ExpandException = sun.security.util.PropertyExpander$ExpandException of sun.security.util.PropertyExpander