public class sun.security.provider.PolicyFile extends java.security.Policy
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: sun.security.provider.PolicyFile
  super_class: java.security.Policy
{
  private static final sun.security.util.Debug debug;
    descriptor: Lsun/security/util/Debug;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

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

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

  private static final java.lang.String X500PRINCIPAL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "javax.security.auth.x500.X500Principal"

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

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

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

  private static final java.lang.String AUTH_POLICY;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "java.security.auth.policy"

  private static final java.lang.String AUTH_POLICY_URL;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "auth.policy.url."

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

  private static java.security.IdentityScope scope;
    descriptor: Ljava/security/IdentityScope;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private volatile sun.security.provider.PolicyFile$PolicyInfo policyInfo;
    descriptor: Lsun/security/provider/PolicyFile$PolicyInfo;
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

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

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

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

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

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

  private java.net.URL url;
    descriptor: Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=0, args_size=0
         0: .line 278
            ldc "policy"
            invokestatic sun.security.util.Debug.getInstance:(Ljava/lang/String;)Lsun/security/util/Debug;
            putstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
         1: .line 295
            aconst_null
            putstatic sun.security.provider.PolicyFile.scope:Ljava/security/IdentityScope;
         2: .line 310
            iconst_0
            anewarray java.lang.Class
            putstatic sun.security.provider.PolicyFile.PARAMS0:[Ljava/lang/Class;
         3: .line 311
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            putstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
         4: .line 312
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/String;
            aastore
            putstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.provider.PolicyFile this
         0: .line 318
            aload 0 /* this */
            invokespecial java.security.Policy.<init>:()V
         1: .line 300
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.constructed:Z
         2: .line 302
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.expandProperties:Z
         3: .line 303
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
         4: .line 304
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.allowSystemProperties:Z
         5: .line 305
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.notUtf8:Z
         6: .line 319
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
         7: .line 320
            return
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/security/provider/PolicyFile;

  public void <init>(java.net.URL);
    descriptor: (Ljava/net/URL;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.net.URL url
         0: .line 326
            aload 0 /* this */
            invokespecial java.security.Policy.<init>:()V
         1: .line 300
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.constructed:Z
         2: .line 302
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.expandProperties:Z
         3: .line 303
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
         4: .line 304
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.allowSystemProperties:Z
         5: .line 305
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.notUtf8:Z
         6: .line 327
            aload 0 /* this */
            aload 1 /* url */
            putfield sun.security.provider.PolicyFile.url:Ljava/net/URL;
         7: .line 328
            aload 0 /* this */
            aload 1 /* url */
            invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
         8: .line 329
            return
        end local 1 // java.net.URL url
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Lsun/security/provider/PolicyFile;
            0    9     1   url  Ljava/net/URL;
    MethodParameters:
      Name  Flags
      url   

  private void init(java.net.URL);
    descriptor: (Ljava/net/URL;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.net.URL url
         0: .line 436
            new sun.security.provider.PolicyFile$1
            dup
            aload 0 /* this */
            invokespecial sun.security.provider.PolicyFile$1.<init>:(Lsun/security/provider/PolicyFile;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
         1: .line 435
            astore 2 /* numCacheStr */
        start local 2 // java.lang.String numCacheStr
         2: .line 450
            aload 2 /* numCacheStr */
            ifnull 8
         3: .line 452
            aload 2 /* numCacheStr */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* numCaches */
        start local 3 // int numCaches
         4: .line 453
            goto 9
        end local 3 // int numCaches
      StackMap locals: sun.security.provider.PolicyFile java.net.URL java.lang.String
      StackMap stack: java.lang.NumberFormatException
         5: pop
         6: .line 454
            iconst_1
            istore 3 /* numCaches */
        start local 3 // int numCaches
         7: .line 456
            goto 9
        end local 3 // int numCaches
         8: .line 457
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* numCaches */
        start local 3 // int numCaches
         9: .line 460
      StackMap locals: int
      StackMap stack:
            new sun.security.provider.PolicyFile$PolicyInfo
            dup
            iload 3 /* numCaches */
            invokespecial sun.security.provider.PolicyFile$PolicyInfo.<init>:(I)V
            astore 4 /* newInfo */
        start local 4 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        10: .line 461
            aload 0 /* this */
            aload 4 /* newInfo */
            aload 1 /* url */
            invokevirtual sun.security.provider.PolicyFile.initPolicyFile:(Lsun/security/provider/PolicyFile$PolicyInfo;Ljava/net/URL;)V
        11: .line 462
            aload 0 /* this */
            aload 4 /* newInfo */
            putfield sun.security.provider.PolicyFile.policyInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
        12: .line 463
            return
        end local 4 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 3 // int numCaches
        end local 2 // java.lang.String numCacheStr
        end local 1 // java.net.URL url
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Lsun/security/provider/PolicyFile;
            0   13     1          url  Ljava/net/URL;
            2   13     2  numCacheStr  Ljava/lang/String;
            4    5     3    numCaches  I
            7    8     3    numCaches  I
            9   13     3    numCaches  I
           10   13     4      newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.NumberFormatException
    MethodParameters:
      Name  Flags
      url   

  private void initPolicyFile(sun.security.provider.PolicyFile$PolicyInfo, java.net.URL);
    descriptor: (Lsun/security/provider/PolicyFile$PolicyInfo;Ljava/net/URL;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        start local 2 // java.net.URL url
         0: .line 467
            aload 2 /* url */
            ifnull 5
         1: .line 474
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 3
         2: .line 475
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "reading "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         3: .line 477
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyFile$2
            dup
            aload 0 /* this */
            aload 2 /* url */
            aload 1 /* newInfo */
            invokespecial sun.security.provider.PolicyFile$2.<init>:(Lsun/security/provider/PolicyFile;Ljava/net/URL;Lsun/security/provider/PolicyFile$PolicyInfo;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         4: .line 487
            goto 9
         5: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "java.security.policy"
            ldc "policy.url."
            aload 1 /* newInfo */
            invokevirtual sun.security.provider.PolicyFile.initPolicyFile:(Ljava/lang/String;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
            istore 3 /* loaded_one */
        start local 3 // boolean loaded_one
         6: .line 505
            iload 3 /* loaded_one */
            ifne 8
         7: .line 507
            aload 0 /* this */
            aload 1 /* newInfo */
            invokevirtual sun.security.provider.PolicyFile.initStaticPolicy:(Lsun/security/provider/PolicyFile$PolicyInfo;)V
         8: .line 510
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            ldc "java.security.auth.policy"
            ldc "auth.policy.url."
            aload 1 /* newInfo */
            invokevirtual sun.security.provider.PolicyFile.initPolicyFile:(Ljava/lang/String;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
            pop
        end local 3 // boolean loaded_one
         9: .line 512
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.net.URL url
        end local 1 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Lsun/security/provider/PolicyFile;
            0   10     1     newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            0   10     2         url  Ljava/net/URL;
            6    9     3  loaded_one  Z
    MethodParameters:
         Name  Flags
      newInfo  final
      url      final

  private boolean initPolicyFile(java.lang.String, java.lang.String, sun.security.provider.PolicyFile$PolicyInfo);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.lang.String propname
        start local 2 // java.lang.String urlname
        start local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
         0: .line 517
            new sun.security.provider.PolicyFile$3
            dup
            aload 0 /* this */
            aload 1 /* propname */
            aload 3 /* newInfo */
            aload 2 /* urlname */
            invokespecial sun.security.provider.PolicyFile$3.<init>:(Lsun/security/provider/PolicyFile;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;Ljava/lang/String;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
         1: .line 516
            astore 4 /* loadedPolicy */
        start local 4 // java.lang.Boolean loadedPolicy
         2: .line 599
            aload 4 /* loadedPolicy */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ireturn
        end local 4 // java.lang.Boolean loadedPolicy
        end local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 2 // java.lang.String urlname
        end local 1 // java.lang.String propname
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lsun/security/provider/PolicyFile;
            0    3     1      propname  Ljava/lang/String;
            0    3     2       urlname  Ljava/lang/String;
            0    3     3       newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            2    3     4  loadedPolicy  Ljava/lang/Boolean;
    MethodParameters:
          Name  Flags
      propname  final
      urlname   final
      newInfo   final

  private boolean init(java.net.URL, sun.security.provider.PolicyFile$PolicyInfo);
    descriptor: (Ljava/net/URL;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=10, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.net.URL policy
        start local 2 // sun.security.provider.PolicyFile$PolicyInfo newInfo
         0: .line 609
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
         1: .line 610
            new sun.security.provider.PolicyParser
            dup
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.expandProperties:Z
            invokespecial sun.security.provider.PolicyParser.<init>:(Z)V
            astore 4 /* pp */
        start local 4 // sun.security.provider.PolicyParser pp
         2: .line 611
            aconst_null
            astore 5 /* isr */
        start local 5 // java.io.InputStreamReader isr
         3: .line 619
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.notUtf8:Z
            ifeq 8
         4: .line 620
            new java.io.InputStreamReader
            dup
         5: .line 621
            aload 1 /* policy */
            invokestatic sun.security.util.PolicyUtil.getInputStream:(Ljava/net/URL;)Ljava/io/InputStream;
         6: .line 620
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            astore 5 /* isr */
         7: .line 622
            goto 11
         8: .line 623
      StackMap locals: int sun.security.provider.PolicyParser java.io.InputStreamReader
      StackMap stack:
            new java.io.InputStreamReader
            dup
         9: .line 624
            aload 1 /* policy */
            invokestatic sun.security.util.PolicyUtil.getInputStream:(Ljava/net/URL;)Ljava/io/InputStream;
            ldc "UTF-8"
        10: .line 623
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            astore 5 /* isr */
        11: .line 627
      StackMap locals:
      StackMap stack:
            aload 4 /* pp */
            aload 5 /* isr */
            invokevirtual sun.security.provider.PolicyParser.read:(Ljava/io/Reader;)V
        12: .line 629
            aconst_null
            astore 6 /* keyStore */
        start local 6 // java.security.KeyStore keyStore
        13: .line 632
            aload 1 /* policy */
        14: .line 633
            aload 4 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreUrl:()Ljava/lang/String;
        15: .line 634
            aload 4 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreType:()Ljava/lang/String;
        16: .line 635
            aload 4 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreProvider:()Ljava/lang/String;
        17: .line 636
            aload 4 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getStorePassURL:()Ljava/lang/String;
        18: .line 637
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
        19: .line 631
            invokestatic sun.security.util.PolicyUtil.getKeyStore:(Ljava/net/URL;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lsun/security/util/Debug;)Ljava/security/KeyStore;
            astore 6 /* keyStore */
        20: .line 638
            goto 24
      StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int sun.security.provider.PolicyParser java.io.InputStreamReader java.security.KeyStore
      StackMap stack: java.lang.Exception
        21: astore 7 /* e */
        start local 7 // java.lang.Exception e
        22: .line 640
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 24
        23: .line 641
            aload 7 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 7 // java.lang.Exception e
        24: .line 645
      StackMap locals:
      StackMap stack:
            aload 4 /* pp */
            invokevirtual sun.security.provider.PolicyParser.grantElements:()Ljava/util/Enumeration;
            astore 7 /* enum_ */
        start local 7 // java.util.Enumeration enum_
        25: .line 646
            goto 28
        26: .line 647
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 7 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$GrantEntry
            astore 8 /* ge */
        start local 8 // sun.security.provider.PolicyParser$GrantEntry ge
        27: .line 648
            aload 0 /* this */
            aload 8 /* ge */
            aload 6 /* keyStore */
            aload 2 /* newInfo */
            invokevirtual sun.security.provider.PolicyFile.addGrantEntry:(Lsun/security/provider/PolicyParser$GrantEntry;Ljava/security/KeyStore;Lsun/security/provider/PolicyFile$PolicyInfo;)V
        end local 8 // sun.security.provider.PolicyParser$GrantEntry ge
        28: .line 646
      StackMap locals:
      StackMap stack:
            aload 7 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 26
        end local 7 // java.util.Enumeration enum_
        end local 6 // java.security.KeyStore keyStore
        29: .line 650
            goto 66
      StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int sun.security.provider.PolicyParser java.io.InputStreamReader
      StackMap stack: sun.security.provider.PolicyParser$ParsingException
        30: astore 6 /* pe */
        start local 6 // sun.security.provider.PolicyParser$ParsingException pe
        31: .line 651
            new java.text.MessageFormat
            dup
        32: .line 652
            ldc "java.security.policy.error.parsing.policy.message"
        33: .line 651
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 7 /* form */
        start local 7 // java.text.MessageFormat form
        34: .line 653
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* policy */
            aastore
            dup
            iconst_1
            aload 6 /* pe */
            invokevirtual sun.security.provider.PolicyParser$ParsingException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            astore 8 /* source */
        start local 8 // java.lang.Object[] source
        35: .line 654
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 7 /* form */
            aload 8 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        36: .line 655
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 38
        37: .line 656
            aload 6 /* pe */
            invokevirtual sun.security.provider.PolicyParser$ParsingException.printStackTrace:()V
        end local 8 // java.lang.Object[] source
        end local 7 // java.text.MessageFormat form
        end local 6 // sun.security.provider.PolicyParser$ParsingException pe
        38: .line 665
      StackMap locals:
      StackMap stack:
            aload 5 /* isr */
            ifnull 44
        39: .line 667
            aload 5 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        40: .line 668
            iconst_1
            istore 3 /* success */
        41: .line 669
            goto 73
      StackMap locals:
      StackMap stack: java.io.IOException
        42: pop
        43: .line 672
            goto 73
        44: .line 673
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* success */
            goto 73
        45: .line 658
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        46: .line 659
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 50
        47: .line 660
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "error parsing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* policy */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        48: .line 661
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            aload 6 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        49: .line 662
            aload 6 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 6 // java.lang.Exception e
        50: .line 665
      StackMap locals:
      StackMap stack:
            aload 5 /* isr */
            ifnull 56
        51: .line 667
            aload 5 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        52: .line 668
            iconst_1
            istore 3 /* success */
        53: .line 669
            goto 73
      StackMap locals:
      StackMap stack: java.io.IOException
        54: pop
        55: .line 672
            goto 73
        56: .line 673
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* success */
            goto 73
        57: .line 664
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        58: .line 665
            aload 5 /* isr */
            ifnull 64
        59: .line 667
            aload 5 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        60: .line 668
            iconst_1
            istore 3 /* success */
        61: .line 669
            goto 65
      StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int sun.security.provider.PolicyParser java.io.InputStreamReader top top top java.lang.Throwable
      StackMap stack: java.io.IOException
        62: pop
        63: .line 672
            goto 65
        64: .line 673
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* success */
        65: .line 675
      StackMap locals:
      StackMap stack:
            aload 9
            athrow
        66: .line 665
      StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int sun.security.provider.PolicyParser java.io.InputStreamReader
      StackMap stack:
            aload 5 /* isr */
            ifnull 72
        67: .line 667
            aload 5 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        68: .line 668
            iconst_1
            istore 3 /* success */
        69: .line 669
            goto 73
      StackMap locals:
      StackMap stack: java.io.IOException
        70: pop
        71: .line 672
            goto 73
        72: .line 673
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* success */
        73: .line 677
      StackMap locals:
      StackMap stack:
            iload 3 /* success */
            ireturn
        end local 5 // java.io.InputStreamReader isr
        end local 4 // sun.security.provider.PolicyParser pp
        end local 3 // boolean success
        end local 2 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 1 // java.net.URL policy
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   74     0      this  Lsun/security/provider/PolicyFile;
            0   74     1    policy  Ljava/net/URL;
            0   74     2   newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            1   74     3   success  Z
            2   74     4        pp  Lsun/security/provider/PolicyParser;
            3   74     5       isr  Ljava/io/InputStreamReader;
           13   29     6  keyStore  Ljava/security/KeyStore;
           22   24     7         e  Ljava/lang/Exception;
           25   29     7     enum_  Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$GrantEntry;>;
           27   28     8        ge  Lsun/security/provider/PolicyParser$GrantEntry;
           31   38     6        pe  Lsun/security/provider/PolicyParser$ParsingException;
           34   38     7      form  Ljava/text/MessageFormat;
           35   38     8    source  [Ljava/lang/Object;
           46   50     6         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          13    20      21  Class java.lang.Exception
           3    29      30  Class sun.security.provider.PolicyParser$ParsingException
          39    41      42  Class java.io.IOException
           3    29      45  Class java.lang.Exception
          51    53      54  Class java.io.IOException
           3    38      57  any
          45    50      57  any
          59    61      62  Class java.io.IOException
          67    69      70  Class java.io.IOException
    MethodParameters:
         Name  Flags
      policy   
      newInfo  

  private void initStaticPolicy(sun.security.provider.PolicyFile$PolicyInfo);
    descriptor: (Lsun/security/provider/PolicyFile$PolicyInfo;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // sun.security.provider.PolicyFile$PolicyInfo newInfo
         0: .line 681
            new sun.security.provider.PolicyFile$4
            dup
            aload 0 /* this */
            aload 1 /* newInfo */
            invokespecial sun.security.provider.PolicyFile$4.<init>:(Lsun/security/provider/PolicyFile;Lsun/security/provider/PolicyFile$PolicyInfo;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         1: .line 757
            return
        end local 1 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lsun/security/provider/PolicyFile;
            0    2     1  newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
    MethodParameters:
         Name  Flags
      newInfo  final

  private java.security.CodeSource getCodeSource(sun.security.provider.PolicyParser$GrantEntry, java.security.KeyStore, sun.security.provider.PolicyFile$PolicyInfo);
    descriptor: (Lsun/security/provider/PolicyParser$GrantEntry;Ljava/security/KeyStore;Lsun/security/provider/PolicyFile$PolicyInfo;)Ljava/security/CodeSource;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // sun.security.provider.PolicyParser$GrantEntry ge
        start local 2 // java.security.KeyStore keyStore
        start local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
         0: .line 767
            aconst_null
            astore 4 /* certs */
        start local 4 // java.security.cert.Certificate[] certs
         1: .line 768
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            ifnull 9
         2: .line 769
            aload 0 /* this */
            aload 2 /* keyStore */
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            aload 3 /* newInfo */
            invokevirtual sun.security.provider.PolicyFile.getCertificates:(Ljava/security/KeyStore;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)[Ljava/security/cert/Certificate;
            astore 4 /* certs */
         3: .line 770
            aload 4 /* certs */
            ifnonnull 9
         4: .line 773
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 8
         5: .line 774
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  -- No certs for alias '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 775
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' - ignoring entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 774
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         8: .line 777
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aconst_null
            areturn
         9: .line 783
      StackMap locals:
      StackMap stack:
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            ifnull 12
        10: .line 784
            new java.net.URL
            dup
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 5 /* location */
        start local 5 // java.net.URL location
        11: goto 13
        end local 5 // java.net.URL location
        12: .line 786
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* location */
        start local 5 // java.net.URL location
        13: .line 788
      StackMap locals: java.net.URL
      StackMap stack:
            aload 0 /* this */
            new java.security.CodeSource
            dup
            aload 5 /* location */
            aload 4 /* certs */
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            iconst_0
            invokevirtual sun.security.provider.PolicyFile.canonicalizeCodebase:(Ljava/security/CodeSource;Z)Ljava/security/CodeSource;
            areturn
        end local 5 // java.net.URL location
        end local 4 // java.security.cert.Certificate[] certs
        end local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 2 // java.security.KeyStore keyStore
        end local 1 // sun.security.provider.PolicyParser$GrantEntry ge
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   14     0      this  Lsun/security/provider/PolicyFile;
            0   14     1        ge  Lsun/security/provider/PolicyParser$GrantEntry;
            0   14     2  keyStore  Ljava/security/KeyStore;
            0   14     3   newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            1   14     4     certs  [Ljava/security/cert/Certificate;
           11   12     5  location  Ljava/net/URL;
           13   14     5  location  Ljava/net/URL;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
          Name  Flags
      ge        
      keyStore  
      newInfo   

  private void addGrantEntry(sun.security.provider.PolicyParser$GrantEntry, java.security.KeyStore, sun.security.provider.PolicyFile$PolicyInfo);
    descriptor: (Lsun/security/provider/PolicyParser$GrantEntry;Ljava/security/KeyStore;Lsun/security/provider/PolicyFile$PolicyInfo;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=11, args_size=4
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // sun.security.provider.PolicyParser$GrantEntry ge
        start local 2 // java.security.KeyStore keyStore
        start local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
         0: .line 797
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 11
         1: .line 798
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "Adding policy entry: "
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         2: .line 799
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  signedBy "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         3: .line 800
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  codeBase "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         4: .line 801
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            ifnull 11
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.size:()I
            ifle 11
         5: .line 803
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.listIterator:()Ljava/util/ListIterator;
         6: .line 802
            astore 4 /* li */
        start local 4 // java.util.ListIterator li
         7: .line 804
            goto 10
         8: .line 805
      StackMap locals: java.util.ListIterator
      StackMap stack:
            aload 4 /* li */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PrincipalEntry
            astore 5 /* pppe */
        start local 5 // sun.security.provider.PolicyParser$PrincipalEntry pppe
         9: .line 806
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* pppe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 5 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        10: .line 804
      StackMap locals:
      StackMap stack:
            aload 4 /* li */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 8
        end local 4 // java.util.ListIterator li
        11: .line 812
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ge */
            aload 2 /* keyStore */
            aload 3 /* newInfo */
            invokevirtual sun.security.provider.PolicyFile.getCodeSource:(Lsun/security/provider/PolicyParser$GrantEntry;Ljava/security/KeyStore;Lsun/security/provider/PolicyFile$PolicyInfo;)Ljava/security/CodeSource;
            astore 4 /* codesource */
        start local 4 // java.security.CodeSource codesource
        12: .line 814
            aload 4 /* codesource */
            ifnonnull 14
        13: return
        14: .line 820
      StackMap locals: java.security.CodeSource
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            aload 2 /* keyStore */
            invokevirtual sun.security.provider.PolicyFile.replacePrincipals:(Ljava/util/List;Ljava/security/KeyStore;)Z
            ifne 16
        15: .line 821
            return
        16: .line 822
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyFile$PolicyEntry
            dup
            aload 4 /* codesource */
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            invokespecial sun.security.provider.PolicyFile$PolicyEntry.<init>:(Ljava/security/CodeSource;Ljava/util/List;)V
            astore 5 /* entry */
        start local 5 // sun.security.provider.PolicyFile$PolicyEntry entry
        17: .line 824
            aload 1 /* ge */
            invokevirtual sun.security.provider.PolicyParser$GrantEntry.permissionElements:()Ljava/util/Enumeration;
        18: .line 823
            astore 6 /* enum_ */
        start local 6 // java.util.Enumeration enum_
        19: .line 825
            goto 90
        20: .line 826
      StackMap locals: sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PermissionEntry
            astore 7 /* pe */
        start local 7 // sun.security.provider.PolicyParser$PermissionEntry pe
        21: .line 830
            aload 0 /* this */
            aload 7 /* pe */
            aload 2 /* keyStore */
            invokevirtual sun.security.provider.PolicyFile.expandPermissionName:(Lsun/security/provider/PolicyParser$PermissionEntry;Ljava/security/KeyStore;)V
        22: .line 834
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
        23: .line 835
            ldc "javax.security.auth.PrivateCredentialPermission"
        24: .line 834
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        25: .line 835
            ifeq 30
        26: .line 836
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ldc " self"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 30
        27: .line 837
            aload 7 /* pe */
            new java.lang.StringBuilder
            dup
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            iconst_0
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ldc "self"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        28: .line 838
            ldc "${{self}}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        29: .line 837
            putfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        30: .line 841
      StackMap locals: sun.security.provider.PolicyParser$PermissionEntry
      StackMap stack:
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ifnull 44
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ldc "${{self}}"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 44
        31: .line 847
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
            ifnull 37
        32: .line 848
            aload 0 /* this */
            aload 2 /* keyStore */
        33: .line 849
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
        34: .line 850
            aload 3 /* newInfo */
        35: .line 848
            invokevirtual sun.security.provider.PolicyFile.getCertificates:(Ljava/security/KeyStore;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)[Ljava/security/cert/Certificate;
            astore 9 /* certs */
        start local 9 // java.security.cert.Certificate[] certs
        36: .line 851
            goto 38
        end local 9 // java.security.cert.Certificate[] certs
        37: .line 852
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* certs */
        start local 9 // java.security.cert.Certificate[] certs
        38: .line 854
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo java.security.CodeSource sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration sun.security.provider.PolicyParser$PermissionEntry top java.security.cert.Certificate[]
      StackMap stack:
            new sun.security.provider.PolicyFile$SelfPermission
            dup
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
        39: .line 855
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        40: .line 856
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
        41: .line 857
            aload 9 /* certs */
        42: .line 854
            invokespecial sun.security.provider.PolicyFile$SelfPermission.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/cert/Certificate;)V
            astore 8 /* perm */
        end local 9 // java.security.cert.Certificate[] certs
        start local 8 // java.security.Permission perm
        43: .line 858
            goto 48
        end local 8 // java.security.Permission perm
        44: .line 859
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo java.security.CodeSource sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration sun.security.provider.PolicyParser$PermissionEntry
      StackMap stack:
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
        45: .line 860
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        46: .line 861
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
        47: .line 859
            invokestatic sun.security.provider.PolicyFile.getInstance:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
            astore 8 /* perm */
        start local 8 // java.security.Permission perm
        48: .line 863
      StackMap locals: java.security.Permission
      StackMap stack:
            aload 5 /* entry */
            aload 8 /* perm */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.add:(Ljava/security/Permission;)V
        49: .line 864
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 90
        50: .line 865
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* perm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 8 // java.security.Permission perm
        51: .line 867
            goto 90
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo java.security.CodeSource sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration sun.security.provider.PolicyParser$PermissionEntry
      StackMap stack: java.lang.ClassNotFoundException
        52: pop
        53: .line 869
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
            ifnull 59
        54: .line 870
            aload 0 /* this */
            aload 2 /* keyStore */
        55: .line 871
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
        56: .line 872
            aload 3 /* newInfo */
        57: .line 870
            invokevirtual sun.security.provider.PolicyFile.getCertificates:(Ljava/security/KeyStore;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)[Ljava/security/cert/Certificate;
            astore 8 /* certs */
        start local 8 // java.security.cert.Certificate[] certs
        58: .line 873
            goto 60
        end local 8 // java.security.cert.Certificate[] certs
        59: .line 874
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* certs */
        start local 8 // java.security.cert.Certificate[] certs
        60: .line 879
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aload 8 /* certs */
            ifnonnull 61
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
            ifnonnull 90
        61: .line 880
      StackMap locals:
      StackMap stack:
            new java.security.UnresolvedPermission
            dup
        62: .line 881
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
        63: .line 882
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        64: .line 883
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
        65: .line 884
            aload 8 /* certs */
        66: .line 880
            invokespecial java.security.UnresolvedPermission.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/cert/Certificate;)V
            astore 9 /* perm */
        start local 9 // java.security.Permission perm
        67: .line 885
            aload 5 /* entry */
            aload 9 /* perm */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.add:(Ljava/security/Permission;)V
        68: .line 886
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 90
        69: .line 887
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* perm */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 9 // java.security.Permission perm
        end local 8 // java.security.cert.Certificate[] certs
        70: goto 90
        71: .line 890
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo java.security.CodeSource sun.security.provider.PolicyFile$PolicyEntry java.util.Enumeration sun.security.provider.PolicyParser$PermissionEntry
      StackMap stack: java.lang.reflect.InvocationTargetException
            astore 8 /* ite */
        start local 8 // java.lang.reflect.InvocationTargetException ite
        72: .line 891
            new java.text.MessageFormat
            dup
        73: .line 893
            ldc "java.security.policy.error.adding.Permission.perm.message"
        74: .line 892
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        75: .line 891
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        76: .line 895
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
            aastore
            dup
            iconst_1
        77: .line 896
            aload 8 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            aastore
        78: .line 895
            astore 10 /* source */
        start local 10 // java.lang.Object[] source
        79: .line 897
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 9 /* form */
            aload 10 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 10 // java.lang.Object[] source
        end local 9 // java.text.MessageFormat form
        end local 8 // java.lang.reflect.InvocationTargetException ite
        80: goto 90
        81: .line 898
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
        82: .line 899
            new java.text.MessageFormat
            dup
        83: .line 901
            ldc "java.security.policy.error.adding.Permission.perm.message"
        84: .line 900
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        85: .line 899
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        86: .line 903
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
            aastore
            dup
            iconst_1
        87: .line 904
            aload 8 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aastore
        88: .line 903
            astore 10 /* source */
        start local 10 // java.lang.Object[] source
        89: .line 905
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 9 /* form */
            aload 10 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 10 // java.lang.Object[] source
        end local 9 // java.text.MessageFormat form
        end local 8 // java.lang.Exception e
        end local 7 // sun.security.provider.PolicyParser$PermissionEntry pe
        90: .line 825
      StackMap locals:
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 20
        91: .line 910
            aload 3 /* newInfo */
            getfield sun.security.provider.PolicyFile$PolicyInfo.policyEntries:Ljava/util/List;
            aload 5 /* entry */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // java.util.Enumeration enum_
        end local 5 // sun.security.provider.PolicyFile$PolicyEntry entry
        end local 4 // java.security.CodeSource codesource
        92: .line 911
            goto 99
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo
      StackMap stack: java.lang.Exception
        93: astore 4 /* e */
        start local 4 // java.lang.Exception e
        94: .line 912
            new java.text.MessageFormat
            dup
        95: .line 913
            ldc "java.security.policy.error.adding.Entry.message"
        96: .line 912
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 5 /* form */
        start local 5 // java.text.MessageFormat form
        97: .line 915
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aastore
            astore 6 /* source */
        start local 6 // java.lang.Object[] source
        98: .line 916
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 5 /* form */
            aload 6 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 6 // java.lang.Object[] source
        end local 5 // java.text.MessageFormat form
        end local 4 // java.lang.Exception e
        99: .line 918
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 101
       100: .line 919
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            invokevirtual sun.security.util.Debug.println:()V
       101: .line 920
      StackMap locals:
      StackMap stack:
            return
        end local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 2 // java.security.KeyStore keyStore
        end local 1 // sun.security.provider.PolicyParser$GrantEntry ge
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0  102     0        this  Lsun/security/provider/PolicyFile;
            0  102     1          ge  Lsun/security/provider/PolicyParser$GrantEntry;
            0  102     2    keyStore  Ljava/security/KeyStore;
            0  102     3     newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            7   11     4          li  Ljava/util/ListIterator<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
            9   10     5        pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
           12   92     4  codesource  Ljava/security/CodeSource;
           17   92     5       entry  Lsun/security/provider/PolicyFile$PolicyEntry;
           19   92     6       enum_  Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$PermissionEntry;>;
           21   90     7          pe  Lsun/security/provider/PolicyParser$PermissionEntry;
           43   44     8        perm  Ljava/security/Permission;
           48   51     8        perm  Ljava/security/Permission;
           36   37     9       certs  [Ljava/security/cert/Certificate;
           38   43     9       certs  [Ljava/security/cert/Certificate;
           58   59     8       certs  [Ljava/security/cert/Certificate;
           60   70     8       certs  [Ljava/security/cert/Certificate;
           67   70     9        perm  Ljava/security/Permission;
           72   80     8         ite  Ljava/lang/reflect/InvocationTargetException;
           76   80     9        form  Ljava/text/MessageFormat;
           79   80    10      source  [Ljava/lang/Object;
           82   90     8           e  Ljava/lang/Exception;
           86   90     9        form  Ljava/text/MessageFormat;
           89   90    10      source  [Ljava/lang/Object;
           94   99     4           e  Ljava/lang/Exception;
           97   99     5        form  Ljava/text/MessageFormat;
           98   99     6      source  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
          21    51      52  Class java.lang.ClassNotFoundException
          21    51      71  Class java.lang.reflect.InvocationTargetException
          21    51      81  Class java.lang.Exception
          11    13      93  Class java.lang.Exception
          14    15      93  Class java.lang.Exception
          16    92      93  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      ge        
      keyStore  
      newInfo   

  private static final java.security.Permission getInstance(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.lang.String type
        start local 1 // java.lang.String name
        start local 2 // java.lang.String actions
         0: .line 962
            aload 0 /* type */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* pc */
        start local 3 // java.lang.Class pc
         1: .line 963
            aload 3 /* pc */
            aload 1 /* name */
            aload 2 /* actions */
            invokestatic sun.security.provider.PolicyFile.getKnownInstance:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
            astore 4 /* answer */
        start local 4 // java.security.Permission answer
         2: .line 964
            aload 4 /* answer */
            ifnull 4
         3: .line 965
            aload 4 /* answer */
            areturn
         4: .line 968
      StackMap locals: java.lang.Class java.security.Permission
      StackMap stack:
            aload 1 /* name */
            ifnonnull 19
            aload 2 /* actions */
            ifnonnull 19
         5: .line 970
            aload 3 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS0:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
        start local 5 // java.lang.reflect.Constructor c
         6: .line 971
            aload 5 /* c */
            iconst_0
            anewarray java.lang.Object
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
         7: areturn
        end local 5 // java.lang.reflect.Constructor c
         8: .line 972
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
         9: .line 974
            aload 3 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
        start local 5 // java.lang.reflect.Constructor c
        10: .line 975
            aload 5 /* c */
        11: .line 976
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
        12: .line 975
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
        13: areturn
        end local 5 // java.lang.reflect.Constructor c
        14: .line 977
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        15: .line 978
            aload 3 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
        start local 5 // java.lang.reflect.Constructor c
        16: .line 979
            aload 5 /* c */
        17: .line 980
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* actions */
            aastore
        18: .line 979
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
            areturn
        end local 5 // java.lang.reflect.Constructor c
        19: .line 984
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ifnull 28
            aload 2 /* actions */
            ifnonnull 28
        20: .line 986
            aload 3 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
        start local 5 // java.lang.reflect.Constructor c
        21: .line 987
            aload 5 /* c */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
        22: areturn
        end local 5 // java.lang.reflect.Constructor c
        23: .line 988
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        24: .line 989
            aload 3 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
        start local 5 // java.lang.reflect.Constructor c
        25: .line 990
            aload 5 /* c */
        26: .line 991
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* actions */
            aastore
        27: .line 990
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
            areturn
        end local 5 // java.lang.reflect.Constructor c
        28: .line 994
      StackMap locals:
      StackMap stack:
            aload 3 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 5 /* c */
        start local 5 // java.lang.reflect.Constructor c
        29: .line 995
            aload 5 /* c */
        30: .line 996
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* actions */
            aastore
        31: .line 995
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
            areturn
        end local 5 // java.lang.reflect.Constructor c
        end local 4 // java.security.Permission answer
        end local 3 // java.lang.Class pc
        end local 2 // java.lang.String actions
        end local 1 // java.lang.String name
        end local 0 // java.lang.String type
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   32     0     type  Ljava/lang/String;
            0   32     1     name  Ljava/lang/String;
            0   32     2  actions  Ljava/lang/String;
            1   32     3       pc  Ljava/lang/Class<*>;
            2   32     4   answer  Ljava/security/Permission;
            6    8     5        c  Ljava/lang/reflect/Constructor<*>;
           10   14     5        c  Ljava/lang/reflect/Constructor<*>;
           16   19     5        c  Ljava/lang/reflect/Constructor<*>;
           21   23     5        c  Ljava/lang/reflect/Constructor<*>;
           25   28     5        c  Ljava/lang/reflect/Constructor<*>;
           29   32     5        c  Ljava/lang/reflect/Constructor<*>;
      Exception table:
        from    to  target  type
           5     7       8  Class java.lang.NoSuchMethodException
           9    13      14  Class java.lang.NoSuchMethodException
          20    22      23  Class java.lang.NoSuchMethodException
    Exceptions:
      throws java.lang.ClassNotFoundException, java.lang.InstantiationException, java.lang.IllegalAccessException, java.lang.NoSuchMethodException, java.lang.reflect.InvocationTargetException
    MethodParameters:
         Name  Flags
      type     
      name     
      actions  

  private static final java.security.Permission getKnownInstance(java.lang.Class<?>, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // java.lang.Class claz
        start local 1 // java.lang.String name
        start local 2 // java.lang.String actions
         0: .line 1009
            aload 0 /* claz */
            ldc Ljava/io/FilePermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 1010
            new java.io.FilePermission
            dup
            aload 1 /* name */
            aload 2 /* actions */
            invokespecial java.io.FilePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
         2: .line 1011
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/net/SocketPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 1012
            new java.net.SocketPermission
            dup
            aload 1 /* name */
            aload 2 /* actions */
            invokespecial java.net.SocketPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
         4: .line 1013
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/lang/RuntimePermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 1014
            new java.lang.RuntimePermission
            dup
            aload 1 /* name */
            aload 2 /* actions */
            invokespecial java.lang.RuntimePermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
         6: .line 1015
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/util/PropertyPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 1016
            new java.util.PropertyPermission
            dup
            aload 1 /* name */
            aload 2 /* actions */
            invokespecial java.util.PropertyPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
         8: .line 1017
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/net/NetPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 1018
            new java.net.NetPermission
            dup
            aload 1 /* name */
            aload 2 /* actions */
            invokespecial java.net.NetPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        10: .line 1019
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/security/AllPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 1020
            getstatic sun.security.util.SecurityConstants.ALL_PERMISSION:Ljava/security/AllPermission;
            areturn
        12: .line 1021
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/awt/AWTPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 1022
            new java.awt.AWTPermission
            dup
            aload 1 /* name */
            aload 2 /* actions */
            invokespecial java.awt.AWTPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        14: .line 1048
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String actions
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class claz
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     claz  Ljava/lang/Class<*>;
            0   15     1     name  Ljava/lang/String;
            0   15     2  actions  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
    MethodParameters:
         Name  Flags
      claz     
      name     
      actions  

  private java.security.cert.Certificate[] getCertificates(java.security.KeyStore, java.lang.String, sun.security.provider.PolicyFile$PolicyInfo);
    descriptor: (Ljava/security/KeyStore;Ljava/lang/String;Lsun/security/provider/PolicyFile$PolicyInfo;)[Ljava/security/cert/Certificate;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=10, args_size=4
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.KeyStore keyStore
        start local 2 // java.lang.String aliases
        start local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
         0: .line 1058
            aconst_null
            astore 4 /* vcerts */
        start local 4 // java.util.List vcerts
         1: .line 1060
            new java.util.StringTokenizer
            dup
            aload 2 /* aliases */
            ldc ","
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* st */
        start local 5 // java.util.StringTokenizer st
         2: .line 1061
            iconst_0
            istore 6 /* n */
        start local 6 // int n
         3: .line 1063
            goto 24
         4: .line 1064
      StackMap locals: java.util.List java.util.StringTokenizer int
      StackMap stack:
            aload 5 /* st */
            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
         5: .line 1065
            iinc 6 /* n */ 1
         6: .line 1066
            aconst_null
            astore 8 /* cert */
        start local 8 // java.security.cert.Certificate cert
         7: .line 1068
            aload 3 /* newInfo */
            getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
            dup
            astore 9
            monitorenter
         8: .line 1069
            aload 3 /* newInfo */
            getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
            aload 7 /* alias */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.cert.Certificate
            astore 8 /* cert */
         9: .line 1071
            aload 8 /* cert */
            ifnonnull 16
            aload 1 /* keyStore */
            ifnull 16
        10: .line 1074
            aload 1 /* keyStore */
            aload 7 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 8 /* cert */
        11: .line 1075
            goto 13
      StackMap locals: sun.security.provider.PolicyFile java.security.KeyStore java.lang.String sun.security.provider.PolicyFile$PolicyInfo java.util.List java.util.StringTokenizer int java.lang.String java.security.cert.Certificate java.util.Map
      StackMap stack: java.security.KeyStoreException
        12: pop
        13: .line 1079
      StackMap locals:
      StackMap stack:
            aload 8 /* cert */
            ifnull 16
        14: .line 1080
            aload 3 /* newInfo */
            getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
            aload 7 /* alias */
            aload 8 /* cert */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 1081
            aload 3 /* newInfo */
            getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
            aload 8 /* cert */
            aload 7 /* alias */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 1068
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        17: goto 20
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: aload 9
            monitorexit
        19: athrow
        20: .line 1086
      StackMap locals:
      StackMap stack:
            aload 8 /* cert */
            ifnull 24
        21: .line 1087
            aload 4 /* vcerts */
            ifnonnull 23
        22: .line 1088
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* vcerts */
        23: .line 1089
      StackMap locals:
      StackMap stack:
            aload 4 /* vcerts */
            aload 8 /* cert */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 8 // java.security.cert.Certificate cert
        end local 7 // java.lang.String alias
        24: .line 1063
      StackMap locals:
      StackMap stack:
            aload 5 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 4
        25: .line 1094
            aload 4 /* vcerts */
            ifnull 29
            iload 6 /* n */
            aload 4 /* vcerts */
            invokeinterface java.util.List.size:()I
            if_icmpne 29
        26: .line 1095
            aload 4 /* vcerts */
            invokeinterface java.util.List.size:()I
            anewarray java.security.cert.Certificate
            astore 7 /* certs */
        start local 7 // java.security.cert.Certificate[] certs
        27: .line 1096
            aload 4 /* vcerts */
            aload 7 /* certs */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        28: .line 1097
            aload 7 /* certs */
            areturn
        end local 7 // java.security.cert.Certificate[] certs
        29: .line 1099
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 6 // int n
        end local 5 // java.util.StringTokenizer st
        end local 4 // java.util.List vcerts
        end local 3 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        end local 2 // java.lang.String aliases
        end local 1 // java.security.KeyStore keyStore
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   30     0      this  Lsun/security/provider/PolicyFile;
            0   30     1  keyStore  Ljava/security/KeyStore;
            0   30     2   aliases  Ljava/lang/String;
            0   30     3   newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            1   30     4    vcerts  Ljava/util/List<Ljava/security/cert/Certificate;>;
            2   30     5        st  Ljava/util/StringTokenizer;
            3   30     6         n  I
            5   24     7     alias  Ljava/lang/String;
            7   24     8      cert  Ljava/security/cert/Certificate;
           27   29     7     certs  [Ljava/security/cert/Certificate;
      Exception table:
        from    to  target  type
          10    11      12  Class java.security.KeyStoreException
           8    17      18  any
          18    19      18  any
    MethodParameters:
          Name  Flags
      keyStore  
      aliases   
      newInfo   

  public void refresh();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // sun.security.provider.PolicyFile this
         0: .line 1107
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.url:Ljava/net/URL;
            invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
         1: .line 1108
            return
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/security/provider/PolicyFile;

  public boolean implies(java.security.ProtectionDomain, java.security.Permission);
    descriptor: (Ljava/security/ProtectionDomain;Ljava/security/Permission;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.ProtectionDomain pd
        start local 2 // java.security.Permission p
         0: .line 1125
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.policyInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
            invokevirtual sun.security.provider.PolicyFile$PolicyInfo.getPdMapping:()Lsun/misc/JavaSecurityProtectionDomainAccess$ProtectionDomainCache;
            astore 3 /* pdMap */
        start local 3 // sun.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache pdMap
         1: .line 1126
            aload 3 /* pdMap */
            aload 1 /* pd */
            invokeinterface sun.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache.get:(Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
            astore 4 /* pc */
        start local 4 // java.security.PermissionCollection pc
         2: .line 1128
            aload 4 /* pc */
            ifnull 4
         3: .line 1129
            aload 4 /* pc */
            aload 2 /* p */
            invokevirtual java.security.PermissionCollection.implies:(Ljava/security/Permission;)Z
            ireturn
         4: .line 1132
      StackMap locals: sun.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache java.security.PermissionCollection
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pd */
            invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
            astore 4 /* pc */
         5: .line 1133
            aload 4 /* pc */
            ifnonnull 7
         6: .line 1134
            iconst_0
            ireturn
         7: .line 1138
      StackMap locals:
      StackMap stack:
            aload 3 /* pdMap */
            aload 1 /* pd */
            aload 4 /* pc */
            invokeinterface sun.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache.put:(Ljava/security/ProtectionDomain;Ljava/security/PermissionCollection;)V
         8: .line 1139
            aload 4 /* pc */
            aload 2 /* p */
            invokevirtual java.security.PermissionCollection.implies:(Ljava/security/Permission;)Z
            ireturn
        end local 4 // java.security.PermissionCollection pc
        end local 3 // sun.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache pdMap
        end local 2 // java.security.Permission p
        end local 1 // java.security.ProtectionDomain pd
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lsun/security/provider/PolicyFile;
            0    9     1     pd  Ljava/security/ProtectionDomain;
            0    9     2      p  Ljava/security/Permission;
            1    9     3  pdMap  Lsun/misc/JavaSecurityProtectionDomainAccess$ProtectionDomainCache;
            2    9     4     pc  Ljava/security/PermissionCollection;
    MethodParameters:
      Name  Flags
      pd    
      p     

  public java.security.PermissionCollection getPermissions(java.security.ProtectionDomain);
    descriptor: (Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.ProtectionDomain domain
         0: .line 1172
            new java.security.Permissions
            dup
            invokespecial java.security.Permissions.<init>:()V
            astore 2 /* perms */
        start local 2 // java.security.Permissions perms
         1: .line 1174
            aload 1 /* domain */
            ifnonnull 3
         2: .line 1175
            aload 2 /* perms */
            areturn
         3: .line 1178
      StackMap locals: java.security.Permissions
      StackMap stack:
            aload 0 /* this */
            aload 2 /* perms */
            aload 1 /* domain */
            invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/Permissions;Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
            pop
         4: .line 1183
            aload 1 /* domain */
            invokevirtual java.security.ProtectionDomain.getPermissions:()Ljava/security/PermissionCollection;
            astore 3 /* pc */
        start local 3 // java.security.PermissionCollection pc
         5: .line 1184
            aload 3 /* pc */
            ifnull 15
         6: .line 1185
            aload 3 /* pc */
            dup
            astore 4
            monitorenter
         7: .line 1186
            aload 3 /* pc */
            invokevirtual java.security.PermissionCollection.elements:()Ljava/util/Enumeration;
            astore 5 /* e */
        start local 5 // java.util.Enumeration e
         8: .line 1187
            goto 10
         9: .line 1188
      StackMap locals: java.security.PermissionCollection java.security.PermissionCollection java.util.Enumeration
      StackMap stack:
            aload 2 /* perms */
            aload 5 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.Permission
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        10: .line 1187
      StackMap locals:
      StackMap stack:
            aload 5 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 9
        end local 5 // java.util.Enumeration e
        11: .line 1185
            aload 4
            monitorexit
        12: goto 15
      StackMap locals: sun.security.provider.PolicyFile java.security.ProtectionDomain java.security.Permissions java.security.PermissionCollection java.security.PermissionCollection
      StackMap stack: java.lang.Throwable
        13: aload 4
            monitorexit
        14: athrow
        15: .line 1193
      StackMap locals:
      StackMap stack:
            aload 2 /* perms */
            areturn
        end local 3 // java.security.PermissionCollection pc
        end local 2 // java.security.Permissions perms
        end local 1 // java.security.ProtectionDomain domain
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lsun/security/provider/PolicyFile;
            0   16     1  domain  Ljava/security/ProtectionDomain;
            1   16     2   perms  Ljava/security/Permissions;
            5   16     3      pc  Ljava/security/PermissionCollection;
            8   11     5       e  Ljava/util/Enumeration<Ljava/security/Permission;>;
      Exception table:
        from    to  target  type
           7    12      13  any
          13    14      13  any
    MethodParameters:
        Name  Flags
      domain  

  public java.security.PermissionCollection getPermissions(java.security.CodeSource);
    descriptor: (Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.CodeSource codesource
         0: .line 1208
            aload 0 /* this */
            new java.security.Permissions
            dup
            invokespecial java.security.Permissions.<init>:()V
            aload 1 /* codesource */
            invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
            areturn
        end local 1 // java.security.CodeSource codesource
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lsun/security/provider/PolicyFile;
            0    1     1  codesource  Ljava/security/CodeSource;
    MethodParameters:
            Name  Flags
      codesource  

  private java.security.PermissionCollection getPermissions(java.security.Permissions, java.security.ProtectionDomain);
    descriptor: (Ljava/security/Permissions;Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.Permissions perms
        start local 2 // java.security.ProtectionDomain pd
         0: .line 1223
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 2
         1: .line 1224
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "getPermissions:\n\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            aload 2 /* pd */
            invokevirtual sun.security.provider.PolicyFile.printPD:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         2: .line 1227
      StackMap locals:
      StackMap stack:
            aload 2 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            astore 3 /* cs */
        start local 3 // java.security.CodeSource cs
         3: .line 1228
            aload 3 /* cs */
            ifnonnull 5
         4: .line 1229
            aload 1 /* perms */
            areturn
         5: .line 1232
      StackMap locals: java.security.CodeSource
      StackMap stack:
            new sun.security.provider.PolicyFile$5
            dup
            aload 0 /* this */
            aload 3 /* cs */
            invokespecial sun.security.provider.PolicyFile$5.<init>:(Lsun/security/provider/PolicyFile;Ljava/security/CodeSource;)V
         6: .line 1231
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.security.CodeSource
            astore 4 /* canonCodeSource */
        start local 4 // java.security.CodeSource canonCodeSource
         7: .line 1237
            aload 0 /* this */
            aload 1 /* perms */
            aload 4 /* canonCodeSource */
            aload 2 /* pd */
            invokevirtual java.security.ProtectionDomain.getPrincipals:()[Ljava/security/Principal;
            invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;)Ljava/security/Permissions;
            areturn
        end local 4 // java.security.CodeSource canonCodeSource
        end local 3 // java.security.CodeSource cs
        end local 2 // java.security.ProtectionDomain pd
        end local 1 // java.security.Permissions perms
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    8     0             this  Lsun/security/provider/PolicyFile;
            0    8     1            perms  Ljava/security/Permissions;
            0    8     2               pd  Ljava/security/ProtectionDomain;
            3    8     3               cs  Ljava/security/CodeSource;
            7    8     4  canonCodeSource  Ljava/security/CodeSource;
    MethodParameters:
       Name  Flags
      perms  
      pd     

  private java.security.PermissionCollection getPermissions(java.security.Permissions, java.security.CodeSource);
    descriptor: (Ljava/security/Permissions;Ljava/security/CodeSource;)Ljava/security/PermissionCollection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.Permissions perms
        start local 2 // java.security.CodeSource cs
         0: .line 1256
            new sun.security.provider.PolicyFile$6
            dup
            aload 0 /* this */
            aload 2 /* cs */
            invokespecial sun.security.provider.PolicyFile$6.<init>:(Lsun/security/provider/PolicyFile;Ljava/security/CodeSource;)V
         1: .line 1255
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.security.CodeSource
            astore 3 /* canonCodeSource */
        start local 3 // java.security.CodeSource canonCodeSource
         2: .line 1262
            aload 0 /* this */
            aload 1 /* perms */
            aload 3 /* canonCodeSource */
            aconst_null
            invokevirtual sun.security.provider.PolicyFile.getPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;)Ljava/security/Permissions;
            areturn
        end local 3 // java.security.CodeSource canonCodeSource
        end local 2 // java.security.CodeSource cs
        end local 1 // java.security.Permissions perms
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0             this  Lsun/security/provider/PolicyFile;
            0    3     1            perms  Ljava/security/Permissions;
            0    3     2               cs  Ljava/security/CodeSource;
            2    3     3  canonCodeSource  Ljava/security/CodeSource;
    MethodParameters:
       Name  Flags
      perms  
      cs     final

  private java.security.Permissions getPermissions(java.security.Permissions, java.security.CodeSource, java.security.Principal[]);
    descriptor: (Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;)Ljava/security/Permissions;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=4
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.Permissions perms
        start local 2 // java.security.CodeSource cs
        start local 3 // java.security.Principal[] principals
         0: .line 1268
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.policyInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
            astore 4 /* pi */
        start local 4 // sun.security.provider.PolicyFile$PolicyInfo pi
         1: .line 1270
            aload 4 /* pi */
            getfield sun.security.provider.PolicyFile$PolicyInfo.policyEntries:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 4
      StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyInfo top java.util.Iterator
      StackMap stack:
         2: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyFile$PolicyEntry
            astore 5 /* entry */
        start local 5 // sun.security.provider.PolicyFile$PolicyEntry entry
         3: .line 1271
            aload 0 /* this */
            aload 1 /* perms */
            aload 2 /* cs */
            aload 3 /* principals */
            aload 5 /* entry */
            invokevirtual sun.security.provider.PolicyFile.addPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
        end local 5 // sun.security.provider.PolicyFile$PolicyEntry entry
         4: .line 1270
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 1276
            aload 4 /* pi */
            getfield sun.security.provider.PolicyFile$PolicyInfo.identityPolicyEntries:Ljava/util/List;
            dup
            astore 5
            monitorenter
         6: .line 1277
            aload 4 /* pi */
            getfield sun.security.provider.PolicyFile$PolicyInfo.identityPolicyEntries:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 9
      StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyInfo java.util.List top java.util.Iterator
      StackMap stack:
         7: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyFile$PolicyEntry
            astore 6 /* entry */
        start local 6 // sun.security.provider.PolicyFile$PolicyEntry entry
         8: .line 1278
            aload 0 /* this */
            aload 1 /* perms */
            aload 2 /* cs */
            aload 3 /* principals */
            aload 6 /* entry */
            invokevirtual sun.security.provider.PolicyFile.addPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
        end local 6 // sun.security.provider.PolicyFile$PolicyEntry entry
         9: .line 1277
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 1276
            aload 5
            monitorexit
        11: goto 14
      StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyInfo java.util.List
      StackMap stack: java.lang.Throwable
        12: aload 5
            monitorexit
        13: athrow
        14: .line 1283
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
            ifne 25
        15: .line 1284
            aload 2 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            astore 5 /* certs */
        start local 5 // java.security.cert.Certificate[] certs
        16: .line 1285
            aload 5 /* certs */
            ifnull 25
        17: .line 1286
            iconst_0
            istore 6 /* k */
        start local 6 // int k
        18: goto 24
        19: .line 1287
      StackMap locals: java.security.cert.Certificate[] int
      StackMap stack:
            aload 4 /* pi */
            getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
            aload 5 /* certs */
            iload 6 /* k */
            aaload
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* idMap */
        start local 7 // java.lang.Object idMap
        20: .line 1288
            aload 7 /* idMap */
            ifnonnull 23
        21: .line 1289
            aload 0 /* this */
            aload 5 /* certs */
            iload 6 /* k */
            aaload
            aload 4 /* pi */
            invokevirtual sun.security.provider.PolicyFile.checkForTrustedIdentity:(Ljava/security/cert/Certificate;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
            ifeq 23
        22: .line 1294
            aload 1 /* perms */
            getstatic sun.security.util.SecurityConstants.ALL_PERMISSION:Ljava/security/AllPermission;
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        end local 7 // java.lang.Object idMap
        23: .line 1286
      StackMap locals:
      StackMap stack:
            iinc 6 /* k */ 1
      StackMap locals:
      StackMap stack:
        24: iload 6 /* k */
            aload 5 /* certs */
            arraylength
            if_icmplt 19
        end local 6 // int k
        end local 5 // java.security.cert.Certificate[] certs
        25: .line 1299
      StackMap locals:
      StackMap stack:
            aload 1 /* perms */
            areturn
        end local 4 // sun.security.provider.PolicyFile$PolicyInfo pi
        end local 3 // java.security.Principal[] principals
        end local 2 // java.security.CodeSource cs
        end local 1 // java.security.Permissions perms
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   26     0        this  Lsun/security/provider/PolicyFile;
            0   26     1       perms  Ljava/security/Permissions;
            0   26     2          cs  Ljava/security/CodeSource;
            0   26     3  principals  [Ljava/security/Principal;
            1   26     4          pi  Lsun/security/provider/PolicyFile$PolicyInfo;
            3    4     5       entry  Lsun/security/provider/PolicyFile$PolicyEntry;
            8    9     6       entry  Lsun/security/provider/PolicyFile$PolicyEntry;
           16   25     5       certs  [Ljava/security/cert/Certificate;
           18   25     6           k  I
           20   23     7       idMap  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           6    11      12  any
          12    13      12  any
    MethodParameters:
            Name  Flags
      perms       
      cs          final
      principals  

  private void addPermissions(java.security.Permissions, java.security.CodeSource, java.security.Principal[], sun.security.provider.PolicyFile$PolicyEntry);
    descriptor: (Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=14, args_size=5
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.Permissions perms
        start local 2 // java.security.CodeSource cs
        start local 3 // java.security.Principal[] principals
        start local 4 // sun.security.provider.PolicyFile$PolicyEntry entry
         0: .line 1307
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 5
         1: .line 1308
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "evaluate codesources:\n\tPolicy CodeSource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         2: .line 1309
            aload 4 /* entry */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         3: .line 1310
            ldc "\tActive CodeSource: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* cs */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 1308
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         5: .line 1315
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyFile$7
            dup
            aload 0 /* this */
            aload 4 /* entry */
            aload 2 /* cs */
            invokespecial sun.security.provider.PolicyFile$7.<init>:(Lsun/security/provider/PolicyFile;Lsun/security/provider/PolicyFile$PolicyEntry;Ljava/security/CodeSource;)V
         6: .line 1314
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 5 /* imp */
        start local 5 // java.lang.Boolean imp
         7: .line 1320
            aload 5 /* imp */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 11
         8: .line 1321
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 10
         9: .line 1322
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (codesource) failed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 1326
      StackMap locals: java.lang.Boolean
      StackMap stack:
            return
        11: .line 1331
      StackMap locals:
      StackMap stack:
            aload 4 /* entry */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.getPrincipals:()Ljava/util/List;
            astore 6 /* entryPs */
        start local 6 // java.util.List entryPs
        12: .line 1332
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 28
        13: .line 1334
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
        14: .line 1333
            astore 7 /* accPs */
        start local 7 // java.util.ArrayList accPs
        15: .line 1335
            aload 3 /* principals */
            ifnull 24
        16: .line 1336
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        17: goto 23
        18: .line 1337
      StackMap locals: java.util.List java.util.ArrayList int
      StackMap stack:
            aload 7 /* accPs */
            new sun.security.provider.PolicyParser$PrincipalEntry
            dup
        19: .line 1338
            aload 3 /* principals */
            iload 8 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        20: .line 1339
            aload 3 /* principals */
            iload 8 /* i */
            aaload
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            invokespecial sun.security.provider.PolicyParser$PrincipalEntry.<init>:(Ljava/lang/String;Ljava/lang/String;)V
        21: .line 1337
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        22: .line 1336
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        23: iload 8 /* i */
            aload 3 /* principals */
            arraylength
            if_icmplt 18
        end local 8 // int i
        24: .line 1342
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "evaluate principals:\n\tPolicy Principals: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        25: .line 1343
            aload 6 /* entryPs */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 1344
            ldc "\tActive Principals: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* accPs */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 1342
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 7 // java.util.ArrayList accPs
        28: .line 1347
      StackMap locals:
      StackMap stack:
            aload 6 /* entryPs */
            ifnull 29
            aload 6 /* entryPs */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 33
        29: .line 1352
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* perms */
            aload 3 /* principals */
            aload 4 /* entry */
            invokevirtual sun.security.provider.PolicyFile.addPerms:(Ljava/security/Permissions;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
        30: .line 1353
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 32
        31: .line 1354
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (codesource/principals) passed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        32: .line 1356
      StackMap locals:
      StackMap stack:
            return
        33: .line 1358
      StackMap locals:
      StackMap stack:
            aload 3 /* principals */
            ifnull 34
            aload 3 /* principals */
            arraylength
            ifne 37
        34: .line 1363
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 36
        35: .line 1364
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (principals) failed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        36: .line 1366
      StackMap locals:
      StackMap stack:
            return
        37: .line 1373
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        38: goto 83
        39: .line 1374
      StackMap locals: int
      StackMap stack:
            aload 6 /* entryPs */
            iload 7 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PrincipalEntry
            astore 8 /* pppe */
        start local 8 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        40: .line 1380
            aload 8 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
        41: .line 1381
            iconst_1
        42: .line 1382
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
        43: .line 1379
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 9 /* pClass */
        start local 9 // java.lang.Class pClass
        44: .line 1384
            ldc Lcom/sun/security/auth/PrincipalComparator;
            aload 9 /* pClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 49
        45: .line 1389
            aload 0 /* this */
            aload 3 /* principals */
            aload 8 /* pppe */
            invokevirtual sun.security.provider.PolicyFile.checkEntryPs:([Ljava/security/Principal;Lsun/security/provider/PolicyParser$PrincipalEntry;)Z
            ifne 82
        46: .line 1390
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 48
        47: .line 1391
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (principals) failed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        48: .line 1396
      StackMap locals: sun.security.provider.PolicyParser$PrincipalEntry java.lang.Class
      StackMap stack:
            return
        49: .line 1403
      StackMap locals:
      StackMap stack:
            aload 9 /* pClass */
            getstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 10 /* c */
        start local 10 // java.lang.reflect.Constructor c
        50: .line 1404
            aload 10 /* c */
        51: .line 1405
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 8 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
            aastore
        52: .line 1404
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.security.auth.PrincipalComparator
            astore 11 /* pc */
        start local 11 // com.sun.security.auth.PrincipalComparator pc
        53: .line 1407
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 57
        54: .line 1408
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "found PrincipalComparator "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        55: .line 1409
            aload 11 /* pc */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        56: .line 1408
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        57: .line 1416
      StackMap locals: java.lang.reflect.Constructor com.sun.security.auth.PrincipalComparator
      StackMap stack:
            new java.util.HashSet
            dup
            aload 3 /* principals */
            arraylength
            invokespecial java.util.HashSet.<init>:(I)V
        58: .line 1415
            astore 12 /* pSet */
        start local 12 // java.util.Set pSet
        59: .line 1417
            iconst_0
            istore 13 /* j */
        start local 13 // int j
        60: goto 63
        61: .line 1418
      StackMap locals: java.util.Set int
      StackMap stack:
            aload 12 /* pSet */
            aload 3 /* principals */
            iload 13 /* j */
            aaload
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        62: .line 1417
            iinc 13 /* j */ 1
      StackMap locals:
      StackMap stack:
        63: iload 13 /* j */
            aload 3 /* principals */
            arraylength
            if_icmplt 61
        end local 13 // int j
        64: .line 1420
            new javax.security.auth.Subject
            dup
            iconst_1
        65: .line 1421
            aload 12 /* pSet */
        66: .line 1422
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
        67: .line 1423
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
        68: .line 1420
            invokespecial javax.security.auth.Subject.<init>:(ZLjava/util/Set;Ljava/util/Set;Ljava/util/Set;)V
            astore 13 /* subject */
        start local 13 // javax.security.auth.Subject subject
        69: .line 1425
            aload 11 /* pc */
            aload 13 /* subject */
            invokeinterface com.sun.security.auth.PrincipalComparator.implies:(Ljavax/security/auth/Subject;)Z
            ifne 82
        70: .line 1426
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 74
        71: .line 1427
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
        72: .line 1428
            ldc "evaluation (principal comparator) failed"
        73: .line 1427
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        74: .line 1433
      StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyEntry java.lang.Boolean java.util.List int sun.security.provider.PolicyParser$PrincipalEntry java.lang.Class java.lang.reflect.Constructor com.sun.security.auth.PrincipalComparator java.util.Set javax.security.auth.Subject
      StackMap stack:
            return
        end local 13 // javax.security.auth.Subject subject
        end local 12 // java.util.Set pSet
        end local 11 // com.sun.security.auth.PrincipalComparator pc
        end local 10 // java.lang.reflect.Constructor c
        end local 9 // java.lang.Class pClass
        75: .line 1436
      StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] sun.security.provider.PolicyFile$PolicyEntry java.lang.Boolean java.util.List int sun.security.provider.PolicyParser$PrincipalEntry
      StackMap stack: java.lang.Exception
            astore 9 /* e */
        start local 9 // java.lang.Exception e
        76: .line 1440
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 78
        77: .line 1441
            aload 9 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        78: .line 1444
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            aload 3 /* principals */
            aload 8 /* pppe */
            invokevirtual sun.security.provider.PolicyFile.checkEntryPs:([Ljava/security/Principal;Lsun/security/provider/PolicyParser$PrincipalEntry;)Z
            ifne 82
        79: .line 1445
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 81
        80: .line 1446
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (principals) failed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        81: .line 1451
      StackMap locals:
      StackMap stack:
            return
        end local 9 // java.lang.Exception e
        end local 8 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        82: .line 1373
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        83: iload 7 /* i */
            aload 6 /* entryPs */
            invokeinterface java.util.List.size:()I
            if_icmplt 39
        end local 7 // int i
        84: .line 1463
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 86
        85: .line 1464
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (codesource/principals) passed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        86: .line 1466
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* perms */
            aload 3 /* principals */
            aload 4 /* entry */
            invokevirtual sun.security.provider.PolicyFile.addPerms:(Ljava/security/Permissions;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
        87: .line 1467
            return
        end local 6 // java.util.List entryPs
        end local 5 // java.lang.Boolean imp
        end local 4 // sun.security.provider.PolicyFile$PolicyEntry entry
        end local 3 // java.security.Principal[] principals
        end local 2 // java.security.CodeSource cs
        end local 1 // java.security.Permissions perms
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   88     0        this  Lsun/security/provider/PolicyFile;
            0   88     1       perms  Ljava/security/Permissions;
            0   88     2          cs  Ljava/security/CodeSource;
            0   88     3  principals  [Ljava/security/Principal;
            0   88     4       entry  Lsun/security/provider/PolicyFile$PolicyEntry;
            7   88     5         imp  Ljava/lang/Boolean;
           12   88     6     entryPs  Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
           15   28     7       accPs  Ljava/util/ArrayList<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
           17   24     8           i  I
           38   84     7           i  I
           40   82     8        pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
           44   75     9      pClass  Ljava/lang/Class<*>;
           50   75    10           c  Ljava/lang/reflect/Constructor<*>;
           53   75    11          pc  Lcom/sun/security/auth/PrincipalComparator;
           59   75    12        pSet  Ljava/util/Set<Ljava/security/Principal;>;
           60   64    13           j  I
           69   75    13     subject  Ljavax/security/auth/Subject;
           76   82     9           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          40    48      75  Class java.lang.Exception
          49    74      75  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      perms       
      cs          final
      principals  
      entry       final

  private void addPerms(java.security.Permissions, java.security.Principal[], sun.security.provider.PolicyFile$PolicyEntry);
    descriptor: (Ljava/security/Permissions;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=4
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.Permissions perms
        start local 2 // java.security.Principal[] accPs
        start local 3 // sun.security.provider.PolicyFile$PolicyEntry entry
         0: .line 1472
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 14
         2: .line 1473
      StackMap locals: int
      StackMap stack:
            aload 3 /* entry */
            getfield sun.security.provider.PolicyFile$PolicyEntry.permissions:Ljava/util/List;
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast java.security.Permission
            astore 5 /* p */
        start local 5 // java.security.Permission p
         3: .line 1474
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 5
         4: .line 1475
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  granting "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* p */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         5: .line 1478
      StackMap locals: java.security.Permission
      StackMap stack:
            aload 5 /* p */
            instanceof sun.security.provider.PolicyFile$SelfPermission
            ifeq 12
         6: .line 1480
            aload 0 /* this */
            aload 5 /* p */
            checkcast sun.security.provider.PolicyFile$SelfPermission
         7: .line 1481
            aload 3 /* entry */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.getPrincipals:()Ljava/util/List;
         8: .line 1482
            aload 2 /* accPs */
         9: .line 1483
            aload 1 /* perms */
        10: .line 1480
            invokevirtual sun.security.provider.PolicyFile.expandSelf:(Lsun/security/provider/PolicyFile$SelfPermission;Ljava/util/List;[Ljava/security/Principal;Ljava/security/Permissions;)V
        11: .line 1484
            goto 13
        12: .line 1485
      StackMap locals:
      StackMap stack:
            aload 1 /* perms */
            aload 5 /* p */
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        end local 5 // java.security.Permission p
        13: .line 1472
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 4 /* i */
            aload 3 /* entry */
            getfield sun.security.provider.PolicyFile$PolicyEntry.permissions:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            if_icmplt 2
        end local 4 // int i
        15: .line 1488
            return
        end local 3 // sun.security.provider.PolicyFile$PolicyEntry entry
        end local 2 // java.security.Principal[] accPs
        end local 1 // java.security.Permissions perms
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   16     0   this  Lsun/security/provider/PolicyFile;
            0   16     1  perms  Ljava/security/Permissions;
            0   16     2  accPs  [Ljava/security/Principal;
            0   16     3  entry  Lsun/security/provider/PolicyFile$PolicyEntry;
            1   15     4      i  I
            3   13     5      p  Ljava/security/Permission;
    MethodParameters:
       Name  Flags
      perms  
      accPs  
      entry  

  private boolean checkEntryPs(java.security.Principal[], sun.security.provider.PolicyParser$PrincipalEntry);
    descriptor: ([Ljava/security/Principal;Lsun/security/provider/PolicyParser$PrincipalEntry;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.Principal[] pList
        start local 2 // sun.security.provider.PolicyParser$PrincipalEntry pppe
         0: .line 1512
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         1: goto 20
         2: .line 1514
      StackMap locals: int
      StackMap stack:
            aload 2 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
         3: .line 1515
            ldc "WILDCARD_PRINCIPAL_CLASS"
         4: .line 1514
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         5: .line 1515
            ifne 10
         6: .line 1516
            aload 2 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
         7: .line 1517
            aload 1 /* pList */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
         8: .line 1516
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         9: .line 1517
            ifeq 19
        10: .line 1519
      StackMap locals:
      StackMap stack:
            aload 2 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
        11: .line 1520
            ldc "WILDCARD_PRINCIPAL_NAME"
        12: .line 1519
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        13: .line 1520
            ifne 18
        14: .line 1521
            aload 2 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
        15: .line 1522
            aload 1 /* pList */
            iload 3 /* i */
            aaload
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
        16: .line 1521
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        17: .line 1522
            ifeq 19
        18: .line 1524
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        19: .line 1512
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 3 /* i */
            aload 1 /* pList */
            arraylength
            if_icmplt 2
        end local 3 // int i
        21: .line 1528
            iconst_0
            ireturn
        end local 2 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        end local 1 // java.security.Principal[] pList
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   22     0   this  Lsun/security/provider/PolicyFile;
            0   22     1  pList  [Ljava/security/Principal;
            0   22     2   pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
            1   21     3      i  I
    MethodParameters:
       Name  Flags
      pList  
      pppe   

  private void expandSelf(sun.security.provider.PolicyFile$SelfPermission, java.util.List<sun.security.provider.PolicyParser$PrincipalEntry>, java.security.Principal[], java.security.Permissions);
    descriptor: (Lsun/security/provider/PolicyFile$SelfPermission;Ljava/util/List;[Ljava/security/Principal;Ljava/security/Permissions;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=12, args_size=5
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // sun.security.provider.PolicyFile$SelfPermission sp
        start local 2 // java.util.List entryPs
        start local 3 // java.security.Principal[] pdp
        start local 4 // java.security.Permissions perms
         0: .line 1549
            aload 2 /* entryPs */
            ifnull 1
            aload 2 /* entryPs */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 13
         1: .line 1551
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 12
         2: .line 1552
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "Ignoring permission "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         3: .line 1553
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         4: .line 1554
            ldc " with target name ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1555
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()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;
         6: .line 1556
            ldc "No Principal(s) specified "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1557
            ldc "in the grant clause.  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 1558
            ldc "SELF-based target names are "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 1559
            ldc "only valid in the context "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 1560
            ldc "of a Principal-based grant entry."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        11: .line 1552
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 1563
      StackMap locals:
      StackMap stack:
            return
        13: .line 1565
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* startIndex */
        start local 5 // int startIndex
        14: .line 1567
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 7 /* sb */
        start local 7 // java.lang.StringBuilder sb
        15: .line 1568
            goto 35
        start local 6 // int v
        16: .line 1571
      StackMap locals: int int java.lang.StringBuilder
      StackMap stack:
            aload 7 /* sb */
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()Ljava/lang/String;
            iload 5 /* startIndex */
            iload 6 /* v */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        17: .line 1575
            aload 2 /* entryPs */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
        18: .line 1574
            astore 8 /* pli */
        start local 8 // java.util.ListIterator pli
        19: .line 1576
            goto 33
        20: .line 1577
      StackMap locals: java.util.ListIterator
      StackMap stack:
            aload 8 /* pli */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PrincipalEntry
            astore 9 /* pppe */
        start local 9 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        21: .line 1578
            aload 0 /* this */
            aload 9 /* pppe */
            aload 3 /* pdp */
            invokevirtual sun.security.provider.PolicyFile.getPrincipalInfo:(Lsun/security/provider/PolicyParser$PrincipalEntry;[Ljava/security/Principal;)[[Ljava/lang/String;
            astore 10 /* principalInfo */
        start local 10 // java.lang.String[][] principalInfo
        22: .line 1579
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        23: goto 30
        24: .line 1580
      StackMap locals: sun.security.provider.PolicyParser$PrincipalEntry java.lang.String[][] int
      StackMap stack:
            iload 11 /* i */
            ifeq 26
        25: .line 1581
            aload 7 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        26: .line 1583
      StackMap locals:
      StackMap stack:
            aload 7 /* sb */
            new java.lang.StringBuilder
            dup
            aload 10 /* principalInfo */
            iload 11 /* i */
            aaload
            iconst_0
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        27: .line 1584
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 10 /* principalInfo */
            iload 11 /* i */
            aaload
            iconst_1
            aaload
            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;
        28: .line 1583
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        29: .line 1579
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 11 /* i */
            aload 10 /* principalInfo */
            arraylength
            if_icmplt 24
        end local 11 // int i
        31: .line 1586
            aload 8 /* pli */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifeq 33
        32: .line 1587
            aload 7 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        end local 10 // java.lang.String[][] principalInfo
        end local 9 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        33: .line 1576
      StackMap locals:
      StackMap stack:
            aload 8 /* pli */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 20
        34: .line 1590
            iload 6 /* v */
            ldc "${{self}}"
            invokevirtual java.lang.String.length:()I
            iadd
            istore 5 /* startIndex */
        end local 8 // java.util.ListIterator pli
        end local 6 // int v
        35: .line 1568
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyFile$SelfPermission java.util.List java.security.Principal[] java.security.Permissions int top java.lang.StringBuilder
      StackMap stack:
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()Ljava/lang/String;
            ldc "${{self}}"
            iload 5 /* startIndex */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            dup
            istore 6 /* v */
        start local 6 // int v
        36: iconst_m1
            if_icmpne 16
        37: .line 1593
            aload 7 /* sb */
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()Ljava/lang/String;
            iload 5 /* startIndex */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        38: .line 1595
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 42
        39: .line 1596
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  expanded:\n\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 1597
            ldc "\n  into:\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 1596
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        42: .line 1601
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyFile$SelfPermission java.util.List java.security.Principal[] java.security.Permissions int int java.lang.StringBuilder
      StackMap stack:
            aload 4 /* perms */
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
        43: .line 1602
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        44: .line 1603
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
        45: .line 1601
            invokestatic sun.security.provider.PolicyFile.getInstance:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        46: .line 1604
            goto 96
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        47: pop
        48: .line 1610
            aconst_null
            astore 8 /* pc */
        start local 8 // java.lang.Class pc
        49: .line 1611
            aload 4 /* perms */
            dup
            astore 9
            monitorenter
        50: .line 1612
            aload 4 /* perms */
            invokevirtual java.security.Permissions.elements:()Ljava/util/Enumeration;
            astore 10 /* e */
        start local 10 // java.util.Enumeration e
        51: .line 1613
            goto 56
        52: .line 1614
      StackMap locals: java.lang.Class java.security.Permissions java.util.Enumeration
      StackMap stack:
            aload 10 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.security.Permission
            astore 11 /* pElement */
        start local 11 // java.security.Permission pElement
        53: .line 1615
            aload 11 /* pElement */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 56
        54: .line 1616
            aload 11 /* pElement */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 8 /* pc */
        55: .line 1617
            goto 57
        end local 11 // java.security.Permission pElement
        56: .line 1613
      StackMap locals:
      StackMap stack:
            aload 10 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 52
        end local 10 // java.util.Enumeration e
        57: .line 1611
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        58: goto 61
      StackMap locals:
      StackMap stack: java.lang.Throwable
        59: aload 9
            monitorexit
        60: athrow
        61: .line 1621
      StackMap locals:
      StackMap stack:
            aload 8 /* pc */
            ifnonnull 68
        62: .line 1623
            aload 4 /* perms */
            new java.security.UnresolvedPermission
            dup
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
        63: .line 1624
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        64: .line 1625
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
        65: .line 1626
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getCerts:()[Ljava/security/cert/Certificate;
            invokespecial java.security.UnresolvedPermission.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;[Ljava/security/cert/Certificate;)V
        66: .line 1623
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        67: .line 1627
            goto 96
        68: .line 1633
      StackMap locals:
      StackMap stack:
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
            ifnonnull 81
        69: .line 1635
            aload 8 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 9 /* c */
        start local 9 // java.lang.reflect.Constructor c
        70: .line 1636
            aload 4 /* perms */
            aload 9 /* c */
        71: .line 1637
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        72: .line 1636
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        73: .line 1638
            goto 96
        end local 9 // java.lang.reflect.Constructor c
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
        74: pop
        75: .line 1639
            aload 8 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 9 /* c */
        start local 9 // java.lang.reflect.Constructor c
        76: .line 1640
            aload 4 /* perms */
            aload 9 /* c */
        77: .line 1641
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        78: .line 1642
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
            aastore
        79: .line 1640
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        80: .line 1644
            goto 96
        end local 9 // java.lang.reflect.Constructor c
        81: .line 1645
      StackMap locals:
      StackMap stack:
            aload 8 /* pc */
            getstatic sun.security.provider.PolicyFile.PARAMS2:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 9 /* c */
        start local 9 // java.lang.reflect.Constructor c
        82: .line 1646
            aload 4 /* perms */
            aload 9 /* c */
        83: .line 1647
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        84: .line 1648
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
            aastore
        85: .line 1646
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        end local 9 // java.lang.reflect.Constructor c
        86: .line 1650
            goto 96
      StackMap locals:
      StackMap stack: java.lang.Exception
        87: astore 9 /* nme */
        start local 9 // java.lang.Exception nme
        88: .line 1651
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 96
        89: .line 1652
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "self entry expansion  instantiation failed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        90: .line 1654
            aload 9 /* nme */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        91: .line 1652
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 9 // java.lang.Exception nme
        end local 8 // java.lang.Class pc
        92: goto 96
        93: .line 1658
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyFile$SelfPermission java.util.List java.security.Principal[] java.security.Permissions int int java.lang.StringBuilder
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
        94: .line 1659
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 96
        95: .line 1660
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            aload 8 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 8 // java.lang.Exception e
        96: .line 1663
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.lang.StringBuilder sb
        end local 6 // int v
        end local 5 // int startIndex
        end local 4 // java.security.Permissions perms
        end local 3 // java.security.Principal[] pdp
        end local 2 // java.util.List entryPs
        end local 1 // sun.security.provider.PolicyFile$SelfPermission sp
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   97     0           this  Lsun/security/provider/PolicyFile;
            0   97     1             sp  Lsun/security/provider/PolicyFile$SelfPermission;
            0   97     2        entryPs  Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
            0   97     3            pdp  [Ljava/security/Principal;
            0   97     4          perms  Ljava/security/Permissions;
           14   97     5     startIndex  I
           16   35     6              v  I
           36   97     6              v  I
           15   97     7             sb  Ljava/lang/StringBuilder;
           19   35     8            pli  Ljava/util/ListIterator<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
           21   33     9           pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
           22   33    10  principalInfo  [[Ljava/lang/String;
           23   31    11              i  I
           49   92     8             pc  Ljava/lang/Class<*>;
           51   57    10              e  Ljava/util/Enumeration<Ljava/security/Permission;>;
           53   56    11       pElement  Ljava/security/Permission;
           70   74     9              c  Ljava/lang/reflect/Constructor<*>;
           76   81     9              c  Ljava/lang/reflect/Constructor<*>;
           82   86     9              c  Ljava/lang/reflect/Constructor<*>;
           88   92     9            nme  Ljava/lang/Exception;
           94   96     8              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          42    46      47  Class java.lang.ClassNotFoundException
          50    58      59  any
          59    60      59  any
          69    73      74  Class java.lang.NoSuchMethodException
          68    86      87  Class java.lang.Exception
          42    46      93  Class java.lang.Exception
    Signature: (Lsun/security/provider/PolicyFile$SelfPermission;Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;[Ljava/security/Principal;Ljava/security/Permissions;)V
    MethodParameters:
         Name  Flags
      sp       
      entryPs  
      pdp      
      perms    

  private java.lang.String[][] getPrincipalInfo(sun.security.provider.PolicyParser$PrincipalEntry, java.security.Principal[]);
    descriptor: (Lsun/security/provider/PolicyParser$PrincipalEntry;[Ljava/security/Principal;)[[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // sun.security.provider.PolicyParser$PrincipalEntry pe
        start local 2 // java.security.Principal[] pdp
         0: .line 1679
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
         1: .line 1680
            ldc "WILDCARD_PRINCIPAL_CLASS"
         2: .line 1679
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         3: .line 1680
            ifne 12
         4: .line 1681
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
         5: .line 1682
            ldc "WILDCARD_PRINCIPAL_NAME"
         6: .line 1681
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
         7: .line 1682
            ifne 12
         8: .line 1686
            iconst_1
            iconst_2
            multianewarray [[Ljava/lang/String; 2
            astore 3 /* info */
        start local 3 // java.lang.String[][] info
         9: .line 1687
            aload 3 /* info */
            iconst_0
            aaload
            iconst_0
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
            aastore
        10: .line 1688
            aload 3 /* info */
            iconst_0
            aaload
            iconst_1
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
            aastore
        11: .line 1689
            aload 3 /* info */
            areturn
        end local 3 // java.lang.String[][] info
        12: .line 1691
      StackMap locals:
      StackMap stack:
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
        13: .line 1692
            ldc "WILDCARD_PRINCIPAL_CLASS"
        14: .line 1691
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        15: .line 1692
            ifne 37
        16: .line 1693
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
        17: .line 1694
            ldc "WILDCARD_PRINCIPAL_NAME"
        18: .line 1693
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        19: .line 1694
            ifeq 37
        20: .line 1699
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* plist */
        start local 3 // java.util.List plist
        21: .line 1700
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        22: goto 26
        23: .line 1701
      StackMap locals: java.util.List int
      StackMap stack:
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
            aload 2 /* pdp */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 25
        24: .line 1702
            aload 3 /* plist */
            aload 2 /* pdp */
            iload 4 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        25: .line 1700
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        26: iload 4 /* i */
            aload 2 /* pdp */
            arraylength
            if_icmplt 23
        end local 4 // int i
        27: .line 1704
            aload 3 /* plist */
            invokeinterface java.util.List.size:()I
            iconst_2
            multianewarray [[Ljava/lang/String; 2
            astore 4 /* info */
        start local 4 // java.lang.String[][] info
        28: .line 1705
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        29: .line 1706
            aload 3 /* plist */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6 /* pIterator */
        start local 6 // java.util.Iterator pIterator
        30: .line 1707
            goto 35
        31: .line 1708
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PrincipalEntry java.security.Principal[] java.util.List java.lang.String[][] int java.util.Iterator
      StackMap stack:
            aload 6 /* pIterator */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.Principal
            astore 7 /* p */
        start local 7 // java.security.Principal p
        32: .line 1709
            aload 4 /* info */
            iload 5 /* i */
            aaload
            iconst_0
            aload 7 /* p */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        33: .line 1710
            aload 4 /* info */
            iload 5 /* i */
            aaload
            iconst_1
            aload 7 /* p */
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            aastore
        34: .line 1711
            iinc 5 /* i */ 1
        end local 7 // java.security.Principal p
        35: .line 1707
      StackMap locals:
      StackMap stack:
            aload 6 /* pIterator */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 31
        36: .line 1713
            aload 4 /* info */
            areturn
        end local 6 // java.util.Iterator pIterator
        end local 5 // int i
        end local 4 // java.lang.String[][] info
        end local 3 // java.util.List plist
        37: .line 1720
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PrincipalEntry java.security.Principal[]
      StackMap stack:
            aload 2 /* pdp */
            arraylength
            iconst_2
            multianewarray [[Ljava/lang/String; 2
            astore 3 /* info */
        start local 3 // java.lang.String[][] info
        38: .line 1722
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        39: goto 43
        40: .line 1723
      StackMap locals: java.lang.String[][] int
      StackMap stack:
            aload 3 /* info */
            iload 4 /* i */
            aaload
            iconst_0
            aload 2 /* pdp */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        41: .line 1724
            aload 3 /* info */
            iload 4 /* i */
            aaload
            iconst_1
            aload 2 /* pdp */
            iload 4 /* i */
            aaload
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            aastore
        42: .line 1722
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 4 /* i */
            aload 2 /* pdp */
            arraylength
            if_icmplt 40
        end local 4 // int i
        44: .line 1726
            aload 3 /* info */
            areturn
        end local 3 // java.lang.String[][] info
        end local 2 // java.security.Principal[] pdp
        end local 1 // sun.security.provider.PolicyParser$PrincipalEntry pe
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   45     0       this  Lsun/security/provider/PolicyFile;
            0   45     1         pe  Lsun/security/provider/PolicyParser$PrincipalEntry;
            0   45     2        pdp  [Ljava/security/Principal;
            9   12     3       info  [[Ljava/lang/String;
           21   37     3      plist  Ljava/util/List<Ljava/security/Principal;>;
           22   27     4          i  I
           28   37     4       info  [[Ljava/lang/String;
           29   37     5          i  I
           30   37     6  pIterator  Ljava/util/Iterator<Ljava/security/Principal;>;
           32   35     7          p  Ljava/security/Principal;
           38   45     3       info  [[Ljava/lang/String;
           39   44     4          i  I
    MethodParameters:
      Name  Flags
      pe    
      pdp   

  protected java.security.cert.Certificate[] getSignerCertificates(java.security.CodeSource);
    descriptor: (Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.CodeSource cs
         0: .line 1745
            aconst_null
            astore 2 /* certs */
        start local 2 // java.security.cert.Certificate[] certs
         1: .line 1746
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            dup
            astore 2 /* certs */
            ifnonnull 3
         2: .line 1747
            aconst_null
            areturn
         3: .line 1748
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 1749
      StackMap locals: int
      StackMap stack:
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            instanceof java.security.cert.X509Certificate
            ifne 7
         6: .line 1750
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            areturn
         7: .line 1748
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 3 /* i */
            aload 2 /* certs */
            arraylength
            if_icmplt 5
        end local 3 // int i
         9: .line 1754
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: .line 1755
            iconst_0
            istore 4 /* count */
        start local 4 // int count
        11: .line 1756
            goto 21
        12: .line 1757
      StackMap locals: int
      StackMap stack:
            iinc 4 /* count */ 1
        13: .line 1758
            goto 15
        14: .line 1761
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        15: .line 1758
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iconst_1
            iadd
            aload 2 /* certs */
            arraylength
            if_icmpge 20
        16: .line 1759
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
        17: .line 1760
            aload 2 /* certs */
            iload 3 /* i */
            iconst_1
            iadd
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
        18: .line 1759
            invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
        19: .line 1760
            ifne 14
        20: .line 1763
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        21: .line 1756
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            aload 2 /* certs */
            arraylength
            if_icmplt 12
        22: .line 1765
            iload 4 /* count */
            aload 2 /* certs */
            arraylength
            if_icmpne 24
        23: .line 1767
            aload 2 /* certs */
            areturn
        24: .line 1769
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* userCertList */
        start local 5 // java.util.ArrayList userCertList
        25: .line 1770
            iconst_0
            istore 3 /* i */
        26: .line 1771
            goto 36
        27: .line 1772
      StackMap locals: java.util.ArrayList
      StackMap stack:
            aload 5 /* userCertList */
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        28: .line 1773
            goto 30
        29: .line 1776
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        30: .line 1773
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iconst_1
            iadd
            aload 2 /* certs */
            arraylength
            if_icmpge 35
        31: .line 1774
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
        32: .line 1775
            aload 2 /* certs */
            iload 3 /* i */
            iconst_1
            iadd
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getSubjectDN:()Ljava/security/Principal;
        33: .line 1774
            invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
        34: .line 1775
            ifne 29
        35: .line 1778
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        36: .line 1771
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            aload 2 /* certs */
            arraylength
            if_icmplt 27
        37: .line 1780
            aload 5 /* userCertList */
            invokevirtual java.util.ArrayList.size:()I
            anewarray java.security.cert.Certificate
            astore 6 /* userCerts */
        start local 6 // java.security.cert.Certificate[] userCerts
        38: .line 1781
            aload 5 /* userCertList */
            aload 6 /* userCerts */
            invokevirtual java.util.ArrayList.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        39: .line 1782
            aload 6 /* userCerts */
            areturn
        end local 6 // java.security.cert.Certificate[] userCerts
        end local 5 // java.util.ArrayList userCertList
        end local 4 // int count
        end local 3 // int i
        end local 2 // java.security.cert.Certificate[] certs
        end local 1 // java.security.CodeSource cs
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   40     0          this  Lsun/security/provider/PolicyFile;
            0   40     1            cs  Ljava/security/CodeSource;
            1   40     2         certs  [Ljava/security/cert/Certificate;
            4    9     3             i  I
           10   40     3             i  I
           11   40     4         count  I
           25   40     5  userCertList  Ljava/util/ArrayList<Ljava/security/cert/Certificate;>;
           38   40     6     userCerts  [Ljava/security/cert/Certificate;
    MethodParameters:
      Name  Flags
      cs    

  private java.security.CodeSource canonicalizeCodebase(java.security.CodeSource, boolean);
    descriptor: (Ljava/security/CodeSource;Z)Ljava/security/CodeSource;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.CodeSource cs
        start local 2 // boolean extractSignerCerts
         0: .line 1788
            aconst_null
            astore 3 /* path */
        start local 3 // java.lang.String path
         1: .line 1790
            aload 1 /* cs */
            astore 4 /* canonCs */
        start local 4 // java.security.CodeSource canonCs
         2: .line 1791
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            astore 5 /* u */
        start local 5 // java.net.URL u
         3: .line 1792
            aload 5 /* u */
            ifnull 14
            aload 5 /* u */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            ldc "file"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 14
         4: .line 1793
            iconst_0
            istore 6 /* isLocalFile */
        start local 6 // boolean isLocalFile
         5: .line 1794
            aload 5 /* u */
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            astore 7 /* host */
        start local 7 // java.lang.String host
         6: .line 1795
            aload 7 /* host */
            ifnull 9
            aload 7 /* host */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
         7: .line 1796
            aload 7 /* host */
            ldc "~"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            aload 7 /* host */
            ldc "localhost"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 9
         8: .line 1795
            iconst_0
            goto 10
      StackMap locals: sun.security.provider.PolicyFile java.security.CodeSource int java.lang.String java.security.CodeSource java.net.URL int java.lang.String
      StackMap stack:
         9: iconst_1
      StackMap locals:
      StackMap stack: int
        10: istore 6 /* isLocalFile */
        11: .line 1798
            iload 6 /* isLocalFile */
            ifeq 14
        12: .line 1799
            aload 5 /* u */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            bipush 47
            getstatic java.io.File.separatorChar:C
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 3 /* path */
        13: .line 1800
            aload 3 /* path */
            invokestatic sun.net.www.ParseUtil.decode:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        end local 7 // java.lang.String host
        end local 6 // boolean isLocalFile
        14: .line 1804
      StackMap locals:
      StackMap stack:
            aload 3 /* path */
            ifnull 33
        15: .line 1806
            aconst_null
            astore 6 /* csUrl */
        start local 6 // java.net.URL csUrl
        16: .line 1807
            aload 3 /* path */
            invokestatic sun.security.provider.PolicyFile.canonPath:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        17: .line 1808
            new java.io.File
            dup
            aload 3 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokestatic sun.net.www.ParseUtil.fileToEncodedURL:(Ljava/io/File;)Ljava/net/URL;
            astore 6 /* csUrl */
        18: .line 1810
            iload 2 /* extractSignerCerts */
            ifeq 23
        19: .line 1811
            new java.security.CodeSource
            dup
            aload 6 /* csUrl */
        20: .line 1812
            aload 0 /* this */
            aload 1 /* cs */
            invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
        21: .line 1811
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        22: .line 1813
            goto 37
        23: .line 1814
      StackMap locals: java.net.URL
      StackMap stack:
            new java.security.CodeSource
            dup
            aload 6 /* csUrl */
        24: .line 1815
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
        25: .line 1814
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        end local 6 // java.net.URL csUrl
        26: .line 1817
            goto 37
      StackMap locals: sun.security.provider.PolicyFile java.security.CodeSource int java.lang.String java.security.CodeSource java.net.URL
      StackMap stack: java.io.IOException
        27: pop
        28: .line 1820
            iload 2 /* extractSignerCerts */
            ifeq 37
        29: .line 1821
            new java.security.CodeSource
            dup
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
        30: .line 1822
            aload 0 /* this */
            aload 1 /* cs */
            invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
        31: .line 1821
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        32: .line 1825
            goto 37
        33: .line 1826
      StackMap locals:
      StackMap stack:
            iload 2 /* extractSignerCerts */
            ifeq 37
        34: .line 1827
            new java.security.CodeSource
            dup
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
        35: .line 1828
            aload 0 /* this */
            aload 1 /* cs */
            invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
        36: .line 1827
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        37: .line 1831
      StackMap locals:
      StackMap stack:
            aload 4 /* canonCs */
            areturn
        end local 5 // java.net.URL u
        end local 4 // java.security.CodeSource canonCs
        end local 3 // java.lang.String path
        end local 2 // boolean extractSignerCerts
        end local 1 // java.security.CodeSource cs
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   38     0                this  Lsun/security/provider/PolicyFile;
            0   38     1                  cs  Ljava/security/CodeSource;
            0   38     2  extractSignerCerts  Z
            1   38     3                path  Ljava/lang/String;
            2   38     4             canonCs  Ljava/security/CodeSource;
            3   38     5                   u  Ljava/net/URL;
            5   14     6         isLocalFile  Z
            6   14     7                host  Ljava/lang/String;
           16   26     6               csUrl  Ljava/net/URL;
      Exception table:
        from    to  target  type
          15    26      27  Class java.io.IOException
    MethodParameters:
                    Name  Flags
      cs                  
      extractSignerCerts  

  public static java.lang.String canonPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.lang.String path
         0: .line 1836
            aload 0 /* path */
            ldc "*"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 4
         1: .line 1837
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            iconst_0
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "-"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 0 /* path */
         2: .line 1838
            new java.io.File
            dup
            aload 0 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 0 /* path */
         3: .line 1839
            new java.lang.StringBuilder
            dup
            aload 0 /* path */
            iconst_0
            aload 0 /* path */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
         4: .line 1841
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* path */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            areturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  path  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      path  

  private java.lang.String printPD(java.security.ProtectionDomain);
    descriptor: (Ljava/security/ProtectionDomain;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.ProtectionDomain pd
         0: .line 1846
            aload 1 /* pd */
            invokevirtual java.security.ProtectionDomain.getPrincipals:()[Ljava/security/Principal;
            astore 2 /* principals */
        start local 2 // java.security.Principal[] principals
         1: .line 1847
            ldc "<no principals>"
            astore 3 /* pals */
        start local 3 // java.lang.String pals
         2: .line 1848
            aload 2 /* principals */
            ifnull 16
            aload 2 /* principals */
            arraylength
            ifle 16
         3: .line 1849
            new java.lang.StringBuilder
            dup
            ldc "(principals "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            astore 4 /* palBuf */
        start local 4 // java.lang.StringBuilder palBuf
         4: .line 1850
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 14
         6: .line 1851
      StackMap locals: sun.security.provider.PolicyFile java.security.ProtectionDomain java.security.Principal[] java.lang.String java.lang.StringBuilder int
      StackMap stack:
            aload 4 /* palBuf */
            new java.lang.StringBuilder
            dup
            aload 2 /* principals */
            iload 5 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         7: .line 1852
            ldc " \""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* principals */
            iload 5 /* i */
            aaload
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 1853
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 1851
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 1854
            iload 5 /* i */
            aload 2 /* principals */
            arraylength
            iconst_1
            isub
            if_icmpge 12
        11: .line 1855
            aload 4 /* palBuf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 13
        12: .line 1857
      StackMap locals:
      StackMap stack:
            aload 4 /* palBuf */
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 1850
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* i */
            aload 2 /* principals */
            arraylength
            if_icmplt 6
        end local 5 // int i
        15: .line 1859
            aload 4 /* palBuf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* pals */
        end local 4 // java.lang.StringBuilder palBuf
        16: .line 1861
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "PD CodeSource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 1862
            aload 1 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        18: .line 1863
            ldc "\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "PD ClassLoader: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        19: .line 1864
            aload 1 /* pd */
            invokevirtual java.security.ProtectionDomain.getClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        20: .line 1865
            ldc "\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "PD Principals: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        21: .line 1866
            aload 3 /* pals */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 1861
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 3 // java.lang.String pals
        end local 2 // java.security.Principal[] principals
        end local 1 // java.security.ProtectionDomain pd
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Lsun/security/provider/PolicyFile;
            0   23     1          pd  Ljava/security/ProtectionDomain;
            1   23     2  principals  [Ljava/security/Principal;
            2   23     3        pals  Ljava/lang/String;
            4   16     4      palBuf  Ljava/lang/StringBuilder;
            5   15     5           i  I
    MethodParameters:
      Name  Flags
      pd    

  private boolean replacePrincipals(java.util.List<sun.security.provider.PolicyParser$PrincipalEntry>, java.security.KeyStore);
    descriptor: (Ljava/util/List;Ljava/security/KeyStore;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.util.List principals
        start local 2 // java.security.KeyStore keystore
         0: .line 1876
            aload 1 /* principals */
            ifnull 1
            aload 1 /* principals */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 1
            aload 2 /* keystore */
            ifnonnull 2
         1: .line 1877
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 1879
      StackMap locals:
      StackMap stack:
            aload 1 /* principals */
            invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
            astore 3 /* i */
        start local 3 // java.util.ListIterator i
         3: .line 1880
            goto 19
         4: .line 1881
      StackMap locals: java.util.ListIterator
      StackMap stack:
            aload 3 /* i */
            invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PrincipalEntry
            astore 4 /* pppe */
        start local 4 // sun.security.provider.PolicyParser$PrincipalEntry pppe
         5: .line 1882
            aload 4 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
            ldc "PolicyParser.REPLACE_NAME"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
         6: .line 1887
            aload 0 /* this */
            aload 4 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
            aload 2 /* keystore */
            invokevirtual sun.security.provider.PolicyFile.getDN:(Ljava/lang/String;Ljava/security/KeyStore;)Ljava/lang/String;
            dup
            astore 5 /* name */
        start local 5 // java.lang.String name
         7: ifnonnull 9
         8: .line 1888
            iconst_0
            ireturn
         9: .line 1891
      StackMap locals: sun.security.provider.PolicyParser$PrincipalEntry java.lang.String
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 17
        10: .line 1892
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  Replacing \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        11: .line 1893
            aload 4 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 1894
            ldc "\" with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 1895
            ldc "javax.security.auth.x500.X500Principal"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "/\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 1896
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 1897
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 1892
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        17: .line 1900
      StackMap locals:
      StackMap stack:
            aload 4 /* pppe */
            ldc "javax.security.auth.x500.X500Principal"
            putfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
        18: .line 1901
            aload 4 /* pppe */
            aload 5 /* name */
            putfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
        end local 5 // java.lang.String name
        end local 4 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        19: .line 1880
      StackMap locals:
      StackMap stack:
            aload 3 /* i */
            invokeinterface java.util.ListIterator.hasNext:()Z
            ifne 4
        20: .line 1906
            iconst_1
            ireturn
        end local 3 // java.util.ListIterator i
        end local 2 // java.security.KeyStore keystore
        end local 1 // java.util.List principals
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   21     0        this  Lsun/security/provider/PolicyFile;
            0   21     1  principals  Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
            0   21     2    keystore  Ljava/security/KeyStore;
            3   21     3           i  Ljava/util/ListIterator<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
            5   19     4        pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
            7   19     5        name  Ljava/lang/String;
    Signature: (Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;Ljava/security/KeyStore;)Z
    MethodParameters:
            Name  Flags
      principals  
      keystore    

  private void expandPermissionName(sun.security.provider.PolicyParser$PermissionEntry, java.security.KeyStore);
    descriptor: (Lsun/security/provider/PolicyParser$PermissionEntry;Ljava/security/KeyStore;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // sun.security.provider.PolicyParser$PermissionEntry pe
        start local 2 // java.security.KeyStore keystore
         0: .line 1912
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ifnull 1
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ldc "${{"
            iconst_0
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            iconst_m1
            if_icmpne 2
         1: .line 1913
      StackMap locals:
      StackMap stack:
            return
         2: .line 1916
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* startIndex */
        start local 3 // int startIndex
         3: .line 1918
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* sb */
        start local 6 // java.lang.StringBuilder sb
         4: .line 1919
            goto 43
        start local 4 // int b
         5: .line 1920
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PermissionEntry java.security.KeyStore int int top java.lang.StringBuilder
      StackMap stack:
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ldc "}}"
            iload 4 /* b */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 5 /* e */
        start local 5 // int e
         6: .line 1921
            iload 5 /* e */
            iconst_1
            if_icmpge 8
         7: .line 1922
            goto 45
         8: .line 1924
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PermissionEntry java.security.KeyStore int int int java.lang.StringBuilder
      StackMap stack:
            aload 6 /* sb */
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            iload 3 /* startIndex */
            iload 4 /* b */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 1927
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            iload 4 /* b */
            iconst_3
            iadd
            iload 5 /* e */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 7 /* value */
        start local 7 // java.lang.String value
        10: .line 1931
            aload 7 /* value */
            astore 9 /* prefix */
        start local 9 // java.lang.String prefix
        11: .line 1933
            aload 7 /* value */
            ldc ":"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            dup
            istore 8 /* colonIndex */
        start local 8 // int colonIndex
        12: iconst_m1
            if_icmpeq 14
        13: .line 1934
            aload 7 /* value */
            iconst_0
            iload 8 /* colonIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* prefix */
        14: .line 1938
      StackMap locals: java.lang.String int java.lang.String
      StackMap stack:
            aload 9 /* prefix */
            ldc "self"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 18
        15: .line 1940
            aload 6 /* sb */
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            iload 4 /* b */
            iload 5 /* e */
            iconst_2
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        16: .line 1941
            iload 5 /* e */
            iconst_2
            iadd
            istore 3 /* startIndex */
        17: .line 1942
            goto 43
        18: .line 1943
      StackMap locals:
      StackMap stack:
            aload 9 /* prefix */
            ldc "alias"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 37
        19: .line 1945
            iload 8 /* colonIndex */
            iconst_m1
            if_icmpne 26
        20: .line 1946
            new java.text.MessageFormat
            dup
        21: .line 1948
            ldc "alias.name.not.provided.pe.name."
        22: .line 1947
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        23: .line 1946
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        24: .line 1949
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            aastore
            astore 12 /* source */
        start local 12 // java.lang.Object[] source
        25: .line 1950
            new java.lang.Exception
            dup
            aload 11 /* form */
            aload 12 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // java.lang.Object[] source
        end local 11 // java.text.MessageFormat form
        26: .line 1952
      StackMap locals:
      StackMap stack:
            aload 7 /* value */
            iload 8 /* colonIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 10 /* suffix */
        start local 10 // java.lang.String suffix
        27: .line 1953
            aload 0 /* this */
            aload 10 /* suffix */
            aload 2 /* keystore */
            invokevirtual sun.security.provider.PolicyFile.getDN:(Ljava/lang/String;Ljava/security/KeyStore;)Ljava/lang/String;
            dup
            astore 10 /* suffix */
            ifnonnull 34
        28: .line 1954
            new java.text.MessageFormat
            dup
        29: .line 1956
            ldc "unable.to.perform.substitution.on.alias.suffix"
        30: .line 1955
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        31: .line 1954
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        32: .line 1957
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* value */
            iload 8 /* colonIndex */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            aastore
            astore 12 /* source */
        start local 12 // java.lang.Object[] source
        33: .line 1958
            new java.lang.Exception
            dup
            aload 11 /* form */
            aload 12 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // java.lang.Object[] source
        end local 11 // java.text.MessageFormat form
        34: .line 1961
      StackMap locals: java.lang.String
      StackMap stack:
            aload 6 /* sb */
            new java.lang.StringBuilder
            dup
            ldc "javax.security.auth.x500.X500Principal \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* suffix */
            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.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        35: .line 1962
            iload 5 /* e */
            iconst_2
            iadd
            istore 3 /* startIndex */
        36: .line 1963
            goto 43
        end local 10 // java.lang.String suffix
        37: .line 1964
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        38: .line 1966
            ldc "substitution.value.prefix.unsupported"
        39: .line 1965
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        40: .line 1964
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        41: .line 1967
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* prefix */
            aastore
            astore 12 /* source */
        start local 12 // java.lang.Object[] source
        42: .line 1968
            new java.lang.Exception
            dup
            aload 11 /* form */
            aload 12 /* source */
            invokevirtual java.text.MessageFormat.format:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 12 // java.lang.Object[] source
        end local 11 // java.text.MessageFormat form
        end local 9 // java.lang.String prefix
        end local 8 // int colonIndex
        end local 7 // java.lang.String value
        end local 5 // int e
        end local 4 // int b
        43: .line 1919
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PermissionEntry java.security.KeyStore int top top java.lang.StringBuilder
      StackMap stack:
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ldc "${{"
            iload 3 /* startIndex */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            dup
            istore 4 /* b */
        start local 4 // int b
        44: iconst_m1
            if_icmpne 5
        45: .line 1973
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PermissionEntry java.security.KeyStore int int top java.lang.StringBuilder
      StackMap stack:
            aload 6 /* sb */
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            iload 3 /* startIndex */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        46: .line 1976
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 50
        47: .line 1977
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  Permission name expanded from:\n\t"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        48: .line 1978
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\nto\n\t"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        49: .line 1977
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        50: .line 1980
      StackMap locals:
      StackMap stack:
            aload 1 /* pe */
            aload 6 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            putfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        51: .line 1981
            return
        end local 6 // java.lang.StringBuilder sb
        end local 4 // int b
        end local 3 // int startIndex
        end local 2 // java.security.KeyStore keystore
        end local 1 // sun.security.provider.PolicyParser$PermissionEntry pe
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   52     0        this  Lsun/security/provider/PolicyFile;
            0   52     1          pe  Lsun/security/provider/PolicyParser$PermissionEntry;
            0   52     2    keystore  Ljava/security/KeyStore;
            3   52     3  startIndex  I
            5   43     4           b  I
           44   52     4           b  I
            6   43     5           e  I
            4   52     6          sb  Ljava/lang/StringBuilder;
           10   43     7       value  Ljava/lang/String;
           12   43     8  colonIndex  I
           11   43     9      prefix  Ljava/lang/String;
           27   37    10      suffix  Ljava/lang/String;
           24   26    11        form  Ljava/text/MessageFormat;
           25   26    12      source  [Ljava/lang/Object;
           32   34    11        form  Ljava/text/MessageFormat;
           33   34    12      source  [Ljava/lang/Object;
           41   43    11        form  Ljava/text/MessageFormat;
           42   43    12      source  [Ljava/lang/Object;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
          Name  Flags
      pe        
      keystore  

  private java.lang.String getDN(java.lang.String, java.security.KeyStore);
    descriptor: (Ljava/lang/String;Ljava/security/KeyStore;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.lang.String alias
        start local 2 // java.security.KeyStore keystore
         0: .line 1984
            aconst_null
            astore 3 /* cert */
        start local 3 // java.security.cert.Certificate cert
         1: .line 1986
            aload 2 /* keystore */
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 3 /* cert */
         2: .line 1987
            goto 11
      StackMap locals: sun.security.provider.PolicyFile java.lang.String java.security.KeyStore java.security.cert.Certificate
      StackMap stack: java.lang.Exception
         3: astore 4 /* e */
        start local 4 // java.lang.Exception e
         4: .line 1988
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 10
         5: .line 1989
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  Error retrieving certificate for '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         6: .line 1990
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1991
            ldc "': "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 1992
            aload 4 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 1989
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 1994
      StackMap locals: java.lang.Exception
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.lang.Exception e
        11: .line 1997
      StackMap locals:
      StackMap stack:
            aload 3 /* cert */
            ifnull 12
            aload 3 /* cert */
            instanceof java.security.cert.X509Certificate
            ifne 18
        12: .line 1998
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 17
        13: .line 1999
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "  -- No certificate for '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        14: .line 2000
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 2001
            ldc "' - ignoring entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 1999
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        17: .line 2003
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        18: .line 2005
      StackMap locals:
      StackMap stack:
            aload 3 /* cert */
            checkcast java.security.cert.X509Certificate
            astore 4 /* x509Cert */
        start local 4 // java.security.cert.X509Certificate x509Cert
        19: .line 2011
            new javax.security.auth.x500.X500Principal
            dup
        20: .line 2012
            aload 4 /* x509Cert */
            invokevirtual java.security.cert.X509Certificate.getSubjectX500Principal:()Ljavax/security/auth/x500/X500Principal;
            invokevirtual javax.security.auth.x500.X500Principal.toString:()Ljava/lang/String;
        21: .line 2011
            invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
            astore 5 /* p */
        start local 5 // javax.security.auth.x500.X500Principal p
        22: .line 2013
            aload 5 /* p */
            invokevirtual javax.security.auth.x500.X500Principal.getName:()Ljava/lang/String;
            areturn
        end local 5 // javax.security.auth.x500.X500Principal p
        end local 4 // java.security.cert.X509Certificate x509Cert
        end local 3 // java.security.cert.Certificate cert
        end local 2 // java.security.KeyStore keystore
        end local 1 // java.lang.String alias
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0      this  Lsun/security/provider/PolicyFile;
            0   23     1     alias  Ljava/lang/String;
            0   23     2  keystore  Ljava/security/KeyStore;
            1   23     3      cert  Ljava/security/cert/Certificate;
            4   11     4         e  Ljava/lang/Exception;
           19   23     4  x509Cert  Ljava/security/cert/X509Certificate;
           22   23     5         p  Ljavax/security/auth/x500/X500Principal;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception
    MethodParameters:
          Name  Flags
      alias     
      keystore  

  private boolean checkForTrustedIdentity(java.security.cert.Certificate, sun.security.provider.PolicyFile$PolicyInfo);
    descriptor: (Ljava/security/cert/Certificate;Lsun/security/provider/PolicyFile$PolicyInfo;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.security.cert.Certificate cert
        start local 2 // sun.security.provider.PolicyFile$PolicyInfo myInfo
         0: .line 2025
            aload 1 /* cert */
            ifnonnull 2
         1: .line 2026
            iconst_0
            ireturn
         2: .line 2029
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
            ifeq 4
         3: .line 2030
            iconst_0
            ireturn
         4: .line 2033
      StackMap locals:
      StackMap stack:
            ldc Lsun/security/provider/PolicyFile;
            dup
            astore 3
            monitorenter
         5: .line 2034
            getstatic sun.security.provider.PolicyFile.scope:Ljava/security/IdentityScope;
            ifnonnull 9
         6: .line 2035
            invokestatic java.security.IdentityScope.getSystemScope:()Ljava/security/IdentityScope;
            astore 4 /* is */
        start local 4 // java.security.IdentityScope is
         7: .line 2037
            aload 4 /* is */
            instanceof sun.security.provider.IdentityDatabase
            ifeq 9
         8: .line 2038
            aload 4 /* is */
            putstatic sun.security.provider.PolicyFile.scope:Ljava/security/IdentityScope;
        end local 4 // java.security.IdentityScope is
         9: .line 2033
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 3
            monitorexit
        10: goto 13
      StackMap locals:
      StackMap stack: java.lang.Throwable
        11: aload 3
            monitorexit
        12: athrow
        13: .line 2045
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.scope:Ljava/security/IdentityScope;
            ifnonnull 16
        14: .line 2046
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
        15: .line 2047
            iconst_0
            ireturn
        16: .line 2053
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyFile$8
            dup
            aload 0 /* this */
            aload 1 /* cert */
            invokespecial sun.security.provider.PolicyFile$8.<init>:(Lsun/security/provider/PolicyFile;Ljava/security/cert/Certificate;)V
        17: .line 2052
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.security.Identity
            astore 3 /* id */
        start local 3 // java.security.Identity id
        18: .line 2059
            aload 3 /* id */
            invokestatic sun.security.provider.PolicyFile.isTrusted:(Ljava/security/Identity;)Z
            ifeq 30
        19: .line 2060
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 24
        20: .line 2061
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "Adding policy entry for trusted Identity: "
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        21: .line 2064
            new sun.security.provider.PolicyFile$9
            dup
            aload 0 /* this */
            aload 3 /* id */
            invokespecial sun.security.provider.PolicyFile$9.<init>:(Lsun/security/provider/PolicyFile;Ljava/security/Identity;)V
        22: .line 2063
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
        23: .line 2070
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc ""
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        24: .line 2074
      StackMap locals: java.security.Identity
      StackMap stack:
            iconst_1
            anewarray java.security.cert.Certificate
            dup
            iconst_0
            aload 1 /* cert */
            aastore
            astore 4 /* certs */
        start local 4 // java.security.cert.Certificate[] certs
        25: .line 2075
            new sun.security.provider.PolicyFile$PolicyEntry
            dup
            new java.security.CodeSource
            dup
            aconst_null
            aload 4 /* certs */
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            invokespecial sun.security.provider.PolicyFile$PolicyEntry.<init>:(Ljava/security/CodeSource;)V
            astore 5 /* pe */
        start local 5 // sun.security.provider.PolicyFile$PolicyEntry pe
        26: .line 2076
            aload 5 /* pe */
            getstatic sun.security.util.SecurityConstants.ALL_PERMISSION:Ljava/security/AllPermission;
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.add:(Ljava/security/Permission;)V
        27: .line 2078
            aload 2 /* myInfo */
            getfield sun.security.provider.PolicyFile$PolicyInfo.identityPolicyEntries:Ljava/util/List;
            aload 5 /* pe */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        28: .line 2082
            aload 2 /* myInfo */
            getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
            aload 1 /* cert */
            aload 3 /* id */
            invokevirtual java.security.Identity.getName:()Ljava/lang/String;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        29: .line 2084
            iconst_1
            ireturn
        end local 5 // sun.security.provider.PolicyFile$PolicyEntry pe
        end local 4 // java.security.cert.Certificate[] certs
        30: .line 2086
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // java.security.Identity id
        end local 2 // sun.security.provider.PolicyFile$PolicyInfo myInfo
        end local 1 // java.security.cert.Certificate cert
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   31     0    this  Lsun/security/provider/PolicyFile;
            0   31     1    cert  Ljava/security/cert/Certificate;
            0   31     2  myInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            7    9     4      is  Ljava/security/IdentityScope;
           18   31     3      id  Ljava/security/Identity;
           25   30     4   certs  [Ljava/security/cert/Certificate;
           26   30     5      pe  Lsun/security/provider/PolicyFile$PolicyEntry;
      Exception table:
        from    to  target  type
           5    10      11  any
          11    12      11  any
    MethodParameters:
        Name  Flags
      cert    final
      myInfo  

  private static boolean isTrusted(java.security.Identity);
    descriptor: (Ljava/security/Identity;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.security.Identity id
         0: .line 2090
            aload 0 /* id */
            instanceof sun.security.provider.SystemIdentity
            ifeq 4
         1: .line 2091
            aload 0 /* id */
            checkcast sun.security.provider.SystemIdentity
            astore 1 /* sysid */
        start local 1 // sun.security.provider.SystemIdentity sysid
         2: .line 2092
            aload 1 /* sysid */
            invokevirtual sun.security.provider.SystemIdentity.isTrusted:()Z
            ifeq 8
         3: .line 2093
            iconst_1
            ireturn
        end local 1 // sun.security.provider.SystemIdentity sysid
         4: .line 2095
      StackMap locals:
      StackMap stack:
            aload 0 /* id */
            instanceof sun.security.provider.SystemSigner
            ifeq 8
         5: .line 2096
            aload 0 /* id */
            checkcast sun.security.provider.SystemSigner
            astore 1 /* sysid */
        start local 1 // sun.security.provider.SystemSigner sysid
         6: .line 2097
            aload 1 /* sysid */
            invokevirtual sun.security.provider.SystemSigner.isTrusted:()Z
            ifeq 8
         7: .line 2098
            iconst_1
            ireturn
        end local 1 // sun.security.provider.SystemSigner sysid
         8: .line 2101
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 0 // java.security.Identity id
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0     id  Ljava/security/Identity;
            2    4     1  sysid  Lsun/security/provider/SystemIdentity;
            6    8     1  sysid  Lsun/security/provider/SystemSigner;
    MethodParameters:
      Name  Flags
      id    
}
SourceFile: "PolicyFile.java"
NestMembers:
  sun.security.provider.PolicyFile$1  sun.security.provider.PolicyFile$2  sun.security.provider.PolicyFile$3  sun.security.provider.PolicyFile$4  sun.security.provider.PolicyFile$5  sun.security.provider.PolicyFile$6  sun.security.provider.PolicyFile$7  sun.security.provider.PolicyFile$8  sun.security.provider.PolicyFile$9  sun.security.provider.PolicyFile$PolicyEntry  sun.security.provider.PolicyFile$PolicyInfo  sun.security.provider.PolicyFile$SelfPermission
InnerClasses:
  public abstract ProtectionDomainCache = sun.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache of sun.misc.JavaSecurityProtectionDomainAccess
  sun.security.provider.PolicyFile$1
  sun.security.provider.PolicyFile$2
  sun.security.provider.PolicyFile$3
  sun.security.provider.PolicyFile$4
  sun.security.provider.PolicyFile$5
  sun.security.provider.PolicyFile$6
  sun.security.provider.PolicyFile$7
  sun.security.provider.PolicyFile$8
  sun.security.provider.PolicyFile$9
  private PolicyEntry = sun.security.provider.PolicyFile$PolicyEntry of sun.security.provider.PolicyFile
  private PolicyInfo = sun.security.provider.PolicyFile$PolicyInfo of sun.security.provider.PolicyFile
  private SelfPermission = sun.security.provider.PolicyFile$SelfPermission of sun.security.provider.PolicyFile
  public GrantEntry = sun.security.provider.PolicyParser$GrantEntry 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