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 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 259
            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 288
            iconst_0
            anewarray java.lang.Class
            putstatic sun.security.provider.PolicyFile.PARAMS0:[Ljava/lang/Class;
         2: .line 289
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            putstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
         3: .line 290
            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 296
            aload 0 /* this */
            invokespecial java.security.Policy.<init>:()V
         1: .line 278
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.constructed:Z
         2: .line 280
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.expandProperties:Z
         3: .line 281
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
         4: .line 282
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.allowSystemProperties:Z
         5: .line 283
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.notUtf8:Z
         6: .line 297
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
         7: .line 298
            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 304
            aload 0 /* this */
            invokespecial java.security.Policy.<init>:()V
         1: .line 278
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.constructed:Z
         2: .line 280
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.expandProperties:Z
         3: .line 281
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
         4: .line 282
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.allowSystemProperties:Z
         5: .line 283
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.notUtf8:Z
         6: .line 305
            aload 0 /* this */
            aload 1 /* url */
            putfield sun.security.provider.PolicyFile.url:Ljava/net/URL;
         7: .line 306
            aload 0 /* this */
            aload 1 /* url */
            invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
         8: .line 307
            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 414
            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 413
            astore 2 /* numCacheStr */
        start local 2 // java.lang.String numCacheStr
         2: .line 428
            aload 2 /* numCacheStr */
            ifnull 8
         3: .line 430
            aload 2 /* numCacheStr */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* numCaches */
        start local 3 // int numCaches
         4: .line 431
            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 432
            iconst_1
            istore 3 /* numCaches */
        start local 3 // int numCaches
         7: .line 434
            goto 9
        end local 3 // int numCaches
         8: .line 435
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* numCaches */
        start local 3 // int numCaches
         9: .line 438
      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 439
            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 440
            aload 0 /* this */
            aload 4 /* newInfo */
            putfield sun.security.provider.PolicyFile.policyInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
        12: .line 441
            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 445
            aload 2 /* url */
            ifnull 5
         1: .line 452
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 3
         2: .line 453
            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 455
      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 465
            goto 9
         5: .line 480
      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 483
            iload 3 /* loaded_one */
            ifne 8
         7: .line 485
            aload 0 /* this */
            aload 1 /* newInfo */
            invokevirtual sun.security.provider.PolicyFile.initStaticPolicy:(Lsun/security/provider/PolicyFile$PolicyInfo;)V
         8: .line 488
      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 490
      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 495
            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 494
            astore 4 /* loadedPolicy */
        start local 4 // java.lang.Boolean loadedPolicy
         2: .line 578
            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 588
            iconst_0
            istore 3 /* success */
        start local 3 // boolean success
         1: .line 589
            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 590
            aconst_null
            astore 5 /* isr */
        start local 5 // java.io.InputStreamReader isr
         3: .line 598
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.notUtf8:Z
            ifeq 8
         4: .line 599
            new java.io.InputStreamReader
            dup
         5: .line 600
            aload 1 /* policy */
            invokestatic sun.security.util.PolicyUtil.getInputStream:(Ljava/net/URL;)Ljava/io/InputStream;
         6: .line 599
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            astore 5 /* isr */
         7: .line 601
            goto 11
         8: .line 602
      StackMap locals: int sun.security.provider.PolicyParser java.io.InputStreamReader
      StackMap stack:
            new java.io.InputStreamReader
            dup
         9: .line 603
            aload 1 /* policy */
            invokestatic sun.security.util.PolicyUtil.getInputStream:(Ljava/net/URL;)Ljava/io/InputStream;
            ldc "UTF-8"
        10: .line 602
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
            astore 5 /* isr */
        11: .line 606
      StackMap locals:
      StackMap stack:
            aload 4 /* pp */
            aload 5 /* isr */
            invokevirtual sun.security.provider.PolicyParser.read:(Ljava/io/Reader;)V
        12: .line 608
            aconst_null
            astore 6 /* keyStore */
        start local 6 // java.security.KeyStore keyStore
        13: .line 611
            aload 1 /* policy */
        14: .line 612
            aload 4 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreUrl:()Ljava/lang/String;
        15: .line 613
            aload 4 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreType:()Ljava/lang/String;
        16: .line 614
            aload 4 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreProvider:()Ljava/lang/String;
        17: .line 615
            aload 4 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getStorePassURL:()Ljava/lang/String;
        18: .line 616
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
        19: .line 610
            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 617
            goto 25
      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 619
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 25
        23: .line 620
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "Debug info only. Ignoring exception."
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        24: .line 621
            aload 7 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 7 // java.lang.Exception e
        25: .line 625
      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_
        26: .line 626
            goto 29
        27: .line 627
      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
        28: .line 628
            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
        29: .line 626
      StackMap locals:
      StackMap stack:
            aload 7 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 27
        end local 7 // java.util.Enumeration enum_
        end local 6 // java.security.KeyStore keyStore
        30: .line 630
            goto 67
      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
        31: astore 6 /* pe */
        start local 6 // sun.security.provider.PolicyParser$ParsingException pe
        32: .line 631
            new java.text.MessageFormat
            dup
        33: .line 632
            ldc "java.security.policy.error.parsing.policy.message"
        34: .line 631
            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
        35: .line 633
            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
        36: .line 634
            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
        37: .line 635
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 39
        38: .line 636
            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
        39: .line 645
      StackMap locals:
      StackMap stack:
            aload 5 /* isr */
            ifnull 45
        40: .line 647
            aload 5 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        41: .line 648
            iconst_1
            istore 3 /* success */
        42: .line 649
            goto 74
      StackMap locals:
      StackMap stack: java.io.IOException
        43: pop
        44: .line 652
            goto 74
        45: .line 653
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* success */
            goto 74
        46: .line 638
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        47: .line 639
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 51
        48: .line 640
            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
        49: .line 641
            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
        50: .line 642
            aload 6 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 6 // java.lang.Exception e
        51: .line 645
      StackMap locals:
      StackMap stack:
            aload 5 /* isr */
            ifnull 57
        52: .line 647
            aload 5 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        53: .line 648
            iconst_1
            istore 3 /* success */
        54: .line 649
            goto 74
      StackMap locals:
      StackMap stack: java.io.IOException
        55: pop
        56: .line 652
            goto 74
        57: .line 653
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* success */
            goto 74
        58: .line 644
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 9
        59: .line 645
            aload 5 /* isr */
            ifnull 65
        60: .line 647
            aload 5 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        61: .line 648
            iconst_1
            istore 3 /* success */
        62: .line 649
            goto 66
      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
        63: pop
        64: .line 652
            goto 66
        65: .line 653
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* success */
        66: .line 655
      StackMap locals:
      StackMap stack:
            aload 9
            athrow
        67: .line 645
      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 73
        68: .line 647
            aload 5 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        69: .line 648
            iconst_1
            istore 3 /* success */
        70: .line 649
            goto 74
      StackMap locals:
      StackMap stack: java.io.IOException
        71: pop
        72: .line 652
            goto 74
        73: .line 653
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* success */
        74: .line 657
      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   75     0      this  Lsun/security/provider/PolicyFile;
            0   75     1    policy  Ljava/net/URL;
            0   75     2   newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            1   75     3   success  Z
            2   75     4        pp  Lsun/security/provider/PolicyParser;
            3   75     5       isr  Ljava/io/InputStreamReader;
           13   30     6  keyStore  Ljava/security/KeyStore;
           22   25     7         e  Ljava/lang/Exception;
           26   30     7     enum_  Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$GrantEntry;>;
           28   29     8        ge  Lsun/security/provider/PolicyParser$GrantEntry;
           32   39     6        pe  Lsun/security/provider/PolicyParser$ParsingException;
           35   39     7      form  Ljava/text/MessageFormat;
           36   39     8    source  [Ljava/lang/Object;
           47   51     6         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          13    20      21  Class java.lang.Exception
           3    30      31  Class sun.security.provider.PolicyParser$ParsingException
          40    42      43  Class java.io.IOException
           3    30      46  Class java.lang.Exception
          52    54      55  Class java.io.IOException
           3    39      58  any
          46    51      58  any
          60    62      63  Class java.io.IOException
          68    70      71  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 661
            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 737
            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 747
            aconst_null
            astore 4 /* certs */
        start local 4 // java.security.cert.Certificate[] certs
         1: .line 748
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            ifnull 9
         2: .line 749
            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 750
            aload 4 /* certs */
            ifnonnull 9
         4: .line 753
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 8
         5: .line 754
            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 755
            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 754
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         8: .line 757
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aconst_null
            areturn
         9: .line 763
      StackMap locals:
      StackMap stack:
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            ifnull 12
        10: .line 764
            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 766
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* location */
        start local 5 // java.net.URL location
        13: .line 768
      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 777
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 9
         1: .line 778
            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 779
            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 780
            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 781
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            ifnull 9
         5: .line 782
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            invokevirtual java.util.LinkedList.iterator:()Ljava/util/Iterator;
            astore 5
            goto 8
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PrincipalEntry
            astore 4 /* pppe */
        start local 4 // sun.security.provider.PolicyParser$PrincipalEntry pppe
         7: .line 783
            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 4 /* 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 4 // sun.security.provider.PolicyParser$PrincipalEntry pppe
         8: .line 782
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 789
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo
      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
        10: .line 791
            aload 4 /* codesource */
            ifnonnull 12
        11: return
        12: .line 797
      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 14
        13: .line 798
            return
        14: .line 799
      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
        15: .line 801
            aload 1 /* ge */
            invokevirtual sun.security.provider.PolicyParser$GrantEntry.permissionElements:()Ljava/util/Enumeration;
        16: .line 800
            astore 6 /* enum_ */
        start local 6 // java.util.Enumeration enum_
        17: .line 802
            goto 88
        18: .line 803
      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
        19: .line 807
            aload 0 /* this */
            aload 7 /* pe */
            aload 2 /* keyStore */
            invokevirtual sun.security.provider.PolicyFile.expandPermissionName:(Lsun/security/provider/PolicyParser$PermissionEntry;Ljava/security/KeyStore;)V
        20: .line 811
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
        21: .line 812
            ldc "javax.security.auth.PrivateCredentialPermission"
        22: .line 811
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        23: .line 812
            ifeq 28
        24: .line 813
            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 28
        25: .line 814
            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
        26: .line 815
            ldc "${{self}}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 814
            putfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        28: .line 818
      StackMap locals: sun.security.provider.PolicyParser$PermissionEntry
      StackMap stack:
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            ifnull 42
            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 42
        29: .line 824
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
            ifnull 35
        30: .line 825
            aload 0 /* this */
            aload 2 /* keyStore */
        31: .line 826
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
        32: .line 827
            aload 3 /* newInfo */
        33: .line 825
            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
        34: .line 828
            goto 36
        end local 9 // java.security.cert.Certificate[] certs
        35: .line 829
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* certs */
        start local 9 // java.security.cert.Certificate[] certs
        36: .line 831
      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;
        37: .line 832
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        38: .line 833
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
        39: .line 834
            aload 9 /* certs */
        40: .line 831
            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
        41: .line 835
            goto 46
        end local 8 // java.security.Permission perm
        42: .line 836
      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;
        43: .line 837
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        44: .line 838
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
        45: .line 836
            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
        46: .line 840
      StackMap locals: java.security.Permission
      StackMap stack:
            aload 5 /* entry */
            aload 8 /* perm */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.add:(Ljava/security/Permission;)V
        47: .line 841
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 88
        48: .line 842
            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
        49: .line 844
            goto 88
      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
        50: pop
        51: .line 846
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
            ifnull 57
        52: .line 847
            aload 0 /* this */
            aload 2 /* keyStore */
        53: .line 848
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
        54: .line 849
            aload 3 /* newInfo */
        55: .line 847
            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
        56: .line 850
            goto 58
        end local 8 // java.security.cert.Certificate[] certs
        57: .line 851
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* certs */
        start local 8 // java.security.cert.Certificate[] certs
        58: .line 856
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aload 8 /* certs */
            ifnonnull 59
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
            ifnonnull 88
        59: .line 857
      StackMap locals:
      StackMap stack:
            new java.security.UnresolvedPermission
            dup
        60: .line 858
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
        61: .line 859
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        62: .line 860
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
        63: .line 861
            aload 8 /* certs */
        64: .line 857
            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
        65: .line 862
            aload 5 /* entry */
            aload 9 /* perm */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.add:(Ljava/security/Permission;)V
        66: .line 863
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 88
        67: .line 864
            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
        68: goto 88
        69: .line 867
      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
        70: .line 868
            new java.text.MessageFormat
            dup
        71: .line 870
            ldc "java.security.policy.error.adding.Permission.perm.message"
        72: .line 869
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        73: .line 868
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        74: .line 872
            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
        75: .line 873
            aload 8 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            aastore
        76: .line 872
            astore 10 /* source */
        start local 10 // java.lang.Object[] source
        77: .line 874
            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
        78: goto 88
        79: .line 875
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
        80: .line 876
            new java.text.MessageFormat
            dup
        81: .line 878
            ldc "java.security.policy.error.adding.Permission.perm.message"
        82: .line 877
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        83: .line 876
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 9 /* form */
        start local 9 // java.text.MessageFormat form
        84: .line 880
            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
        85: .line 881
            aload 8 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aastore
        86: .line 880
            astore 10 /* source */
        start local 10 // java.lang.Object[] source
        87: .line 882
            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
        88: .line 802
      StackMap locals:
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 18
        89: .line 887
            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
        90: .line 888
            goto 97
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$GrantEntry java.security.KeyStore sun.security.provider.PolicyFile$PolicyInfo
      StackMap stack: java.lang.Exception
        91: astore 4 /* e */
        start local 4 // java.lang.Exception e
        92: .line 889
            new java.text.MessageFormat
            dup
        93: .line 890
            ldc "java.security.policy.error.adding.Entry.message"
        94: .line 889
            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
        95: .line 892
            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
        96: .line 893
            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
        97: .line 895
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 99
        98: .line 896
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            invokevirtual sun.security.util.Debug.println:()V
        99: .line 897
      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  100     0        this  Lsun/security/provider/PolicyFile;
            0  100     1          ge  Lsun/security/provider/PolicyParser$GrantEntry;
            0  100     2    keyStore  Ljava/security/KeyStore;
            0  100     3     newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            7    8     4        pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
           10   90     4  codesource  Ljava/security/CodeSource;
           15   90     5       entry  Lsun/security/provider/PolicyFile$PolicyEntry;
           17   90     6       enum_  Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$PermissionEntry;>;
           19   88     7          pe  Lsun/security/provider/PolicyParser$PermissionEntry;
           41   42     8        perm  Ljava/security/Permission;
           46   49     8        perm  Ljava/security/Permission;
           34   35     9       certs  [Ljava/security/cert/Certificate;
           36   41     9       certs  [Ljava/security/cert/Certificate;
           56   57     8       certs  [Ljava/security/cert/Certificate;
           58   68     8       certs  [Ljava/security/cert/Certificate;
           65   68     9        perm  Ljava/security/Permission;
           70   78     8         ite  Ljava/lang/reflect/InvocationTargetException;
           74   78     9        form  Ljava/text/MessageFormat;
           77   78    10      source  [Ljava/lang/Object;
           80   88     8           e  Ljava/lang/Exception;
           84   88     9        form  Ljava/text/MessageFormat;
           87   88    10      source  [Ljava/lang/Object;
           92   97     4           e  Ljava/lang/Exception;
           95   97     5        form  Ljava/text/MessageFormat;
           96   97     6      source  [Ljava/lang/Object;
      Exception table:
        from    to  target  type
          19    49      50  Class java.lang.ClassNotFoundException
          19    49      69  Class java.lang.reflect.InvocationTargetException
          19    49      79  Class java.lang.Exception
           9    11      91  Class java.lang.Exception
          12    13      91  Class java.lang.Exception
          14    90      91  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 939
            aload 0 /* type */
            iconst_0
            aconst_null
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 3 /* pc */
        start local 3 // java.lang.Class pc
         1: .line 940
            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 941
            aload 4 /* answer */
            ifnull 4
         3: .line 942
            aload 4 /* answer */
            areturn
         4: .line 944
      StackMap locals: java.lang.Class java.security.Permission
      StackMap stack:
            ldc Ljava/security/Permission;
            aload 3 /* pc */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 6
         5: .line 946
            new java.lang.ClassCastException
            dup
            new java.lang.StringBuilder
            dup
            aload 0 /* type */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not a Permission"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 949
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ifnonnull 21
            aload 2 /* actions */
            ifnonnull 21
         7: .line 951
            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
         8: .line 952
            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
         9: areturn
        end local 5 // java.lang.reflect.Constructor c
        10: .line 953
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        11: .line 955
            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
        12: .line 956
            aload 5 /* c */
        13: .line 957
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
        14: .line 956
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Permission
        15: areturn
        end local 5 // java.lang.reflect.Constructor c
        16: .line 958
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        17: .line 959
            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
        18: .line 960
            aload 5 /* c */
        19: .line 961
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* actions */
            aastore
        20: .line 960
            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
        21: .line 965
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ifnull 30
            aload 2 /* actions */
            ifnonnull 30
        22: .line 967
            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
        23: .line 968
            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
        24: areturn
        end local 5 // java.lang.reflect.Constructor c
        25: .line 969
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        26: .line 970
            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
        27: .line 971
            aload 5 /* c */
        28: .line 972
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* actions */
            aastore
        29: .line 971
            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
        30: .line 975
      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
        31: .line 976
            aload 5 /* c */
        32: .line 977
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* actions */
            aastore
        33: .line 976
            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   34     0     type  Ljava/lang/String;
            0   34     1     name  Ljava/lang/String;
            0   34     2  actions  Ljava/lang/String;
            1   34     3       pc  Ljava/lang/Class<*>;
            2   34     4   answer  Ljava/security/Permission;
            8   10     5        c  Ljava/lang/reflect/Constructor<*>;
           12   16     5        c  Ljava/lang/reflect/Constructor<*>;
           18   21     5        c  Ljava/lang/reflect/Constructor<*>;
           23   25     5        c  Ljava/lang/reflect/Constructor<*>;
           27   30     5        c  Ljava/lang/reflect/Constructor<*>;
           31   34     5        c  Ljava/lang/reflect/Constructor<*>;
      Exception table:
        from    to  target  type
           7     9      10  Class java.lang.NoSuchMethodException
          11    15      16  Class java.lang.NoSuchMethodException
          22    24      25  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 989
            aload 0 /* claz */
            ldc Ljava/io/FilePermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 990
            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 991
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/net/SocketPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 992
            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 993
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/lang/RuntimePermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 994
            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 995
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/util/PropertyPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 996
            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 997
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/net/NetPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 998
            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 999
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/security/AllPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 1000
            getstatic sun.security.util.SecurityConstants.ALL_PERMISSION:Ljava/security/AllPermission;
            areturn
        12: .line 1002
      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   13     0     claz  Ljava/lang/Class<*>;
            0   13     1     name  Ljava/lang/String;
            0   13     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 1012
            aconst_null
            astore 4 /* vcerts */
        start local 4 // java.util.List vcerts
         1: .line 1014
            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 1015
            iconst_0
            istore 6 /* n */
        start local 6 // int n
         3: .line 1017
            goto 24
         4: .line 1018
      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 1019
            iinc 6 /* n */ 1
         6: .line 1020
            aconst_null
            astore 8 /* cert */
        start local 8 // java.security.cert.Certificate cert
         7: .line 1022
            aload 3 /* newInfo */
            getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
            dup
            astore 9
            monitorenter
         8: .line 1023
            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 1025
            aload 8 /* cert */
            ifnonnull 16
            aload 1 /* keyStore */
            ifnull 16
        10: .line 1028
            aload 1 /* keyStore */
            aload 7 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 8 /* cert */
        11: .line 1029
            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 1033
      StackMap locals:
      StackMap stack:
            aload 8 /* cert */
            ifnull 16
        14: .line 1034
            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 1035
            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 1022
      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 1040
      StackMap locals:
      StackMap stack:
            aload 8 /* cert */
            ifnull 24
        21: .line 1041
            aload 4 /* vcerts */
            ifnonnull 23
        22: .line 1042
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* vcerts */
        23: .line 1043
      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 1017
      StackMap locals:
      StackMap stack:
            aload 5 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 4
        25: .line 1048
            aload 4 /* vcerts */
            ifnull 29
            iload 6 /* n */
            aload 4 /* vcerts */
            invokeinterface java.util.List.size:()I
            if_icmpne 29
        26: .line 1049
            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 1050
            aload 4 /* vcerts */
            aload 7 /* certs */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        28: .line 1051
            aload 7 /* certs */
            areturn
        end local 7 // java.security.cert.Certificate[] certs
        29: .line 1053
      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 1061
            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 1062
            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 1079
            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 1080
            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 1082
            aload 4 /* pc */
            ifnull 4
         3: .line 1083
            aload 4 /* pc */
            aload 2 /* p */
            invokevirtual java.security.PermissionCollection.implies:(Ljava/security/Permission;)Z
            ireturn
         4: .line 1086
      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 1087
            aload 4 /* pc */
            ifnonnull 7
         6: .line 1088
            iconst_0
            ireturn
         7: .line 1092
      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 1093
            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 1126
            new java.security.Permissions
            dup
            invokespecial java.security.Permissions.<init>:()V
            astore 2 /* perms */
        start local 2 // java.security.Permissions perms
         1: .line 1128
            aload 1 /* domain */
            ifnonnull 3
         2: .line 1129
            aload 2 /* perms */
            areturn
         3: .line 1132
      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 1137
            aload 1 /* domain */
            invokevirtual java.security.ProtectionDomain.getPermissions:()Ljava/security/PermissionCollection;
            astore 3 /* pc */
        start local 3 // java.security.PermissionCollection pc
         5: .line 1138
            aload 3 /* pc */
            ifnull 15
         6: .line 1139
            aload 3 /* pc */
            dup
            astore 4
            monitorenter
         7: .line 1140
            aload 3 /* pc */
            invokevirtual java.security.PermissionCollection.elements:()Ljava/util/Enumeration;
            astore 5 /* e */
        start local 5 // java.util.Enumeration e
         8: .line 1141
            goto 10
         9: .line 1142
      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 1141
      StackMap locals:
      StackMap stack:
            aload 5 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 9
        end local 5 // java.util.Enumeration e
        11: .line 1139
            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 1147
      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 1162
            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 1177
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 2
         1: .line 1178
            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 1181
      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 1182
            aload 3 /* cs */
            ifnonnull 5
         4: .line 1183
            aload 1 /* perms */
            areturn
         5: .line 1186
      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 1185
            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 1191
            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 1209
            aload 2 /* cs */
            ifnonnull 2
         1: .line 1210
            aload 1 /* perms */
            areturn
         2: .line 1213
      StackMap locals:
      StackMap stack:
            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
         3: .line 1212
            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
         4: .line 1219
            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    5     0             this  Lsun/security/provider/PolicyFile;
            0    5     1            perms  Ljava/security/Permissions;
            0    5     2               cs  Ljava/security/CodeSource;
            4    5     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 1225
            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 1227
            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 1228
            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 1227
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 1233
            aload 4 /* pi */
            getfield sun.security.provider.PolicyFile$PolicyInfo.identityPolicyEntries:Ljava/util/List;
            dup
            astore 5
            monitorenter
         6: .line 1234
            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 1235
            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 1234
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 1233
            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 1240
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.ignoreIdentityScope:Z
            ifne 25
        15: .line 1241
            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 1242
            aload 5 /* certs */
            ifnull 25
        17: .line 1243
            iconst_0
            istore 6 /* k */
        start local 6 // int k
        18: goto 24
        19: .line 1244
      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 1245
            aload 7 /* idMap */
            ifnonnull 23
        21: .line 1246
            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 1251
            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 1243
      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 1256
      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=15, 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 1264
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 5
         1: .line 1265
            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 1266
            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 1267
            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 1265
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         5: .line 1272
      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 1271
            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 1277
            aload 5 /* imp */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 11
         8: .line 1278
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 10
         9: .line 1279
            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 1283
      StackMap locals: java.lang.Boolean
      StackMap stack:
            return
        11: .line 1288
      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 1289
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 27
        13: .line 1290
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* accPs */
        start local 7 // java.util.List accPs
        14: .line 1291
            aload 3 /* principals */
            ifnull 23
        15: .line 1292
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        16: goto 22
        17: .line 1293
      StackMap locals: java.util.List java.util.List int
      StackMap stack:
            aload 7 /* accPs */
            new sun.security.provider.PolicyParser$PrincipalEntry
            dup
        18: .line 1294
            aload 3 /* principals */
            iload 8 /* i */
            aaload
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
        19: .line 1295
            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
        20: .line 1293
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        21: .line 1292
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        22: iload 8 /* i */
            aload 3 /* principals */
            arraylength
            if_icmplt 17
        end local 8 // int i
        23: .line 1298
      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
        24: .line 1299
            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;
        25: .line 1300
            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;
        26: .line 1298
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 7 // java.util.List accPs
        27: .line 1303
      StackMap locals:
      StackMap stack:
            aload 6 /* entryPs */
            ifnull 28
            aload 6 /* entryPs */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 32
        28: .line 1308
      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
        29: .line 1309
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 31
        30: .line 1310
            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
        31: .line 1312
      StackMap locals:
      StackMap stack:
            return
        32: .line 1314
      StackMap locals:
      StackMap stack:
            aload 3 /* principals */
            ifnull 33
            aload 3 /* principals */
            arraylength
            ifne 36
        33: .line 1319
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 35
        34: .line 1320
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (principals) failed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        35: .line 1322
      StackMap locals:
      StackMap stack:
            return
        36: .line 1329
      StackMap locals:
      StackMap stack:
            aload 6 /* entryPs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 77
      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 top java.util.Iterator
      StackMap stack:
        37: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PrincipalEntry
            astore 7 /* pppe */
        start local 7 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        38: .line 1332
            aload 7 /* pppe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isWildcardClass:()Z
            ifeq 40
        39: .line 1334
            goto 77
        40: .line 1337
      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 sun.security.provider.PolicyParser$PrincipalEntry java.util.Iterator
      StackMap stack:
            aload 7 /* pppe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isWildcardName:()Z
            ifeq 49
        41: .line 1339
            aload 7 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
        42: .line 1340
            aload 3 /* principals */
        43: .line 1339
            invokestatic sun.security.provider.PolicyFile.wildcardPrincipalNameImplies:(Ljava/lang/String;[Ljava/security/Principal;)Z
        44: .line 1340
            ifeq 46
        45: .line 1341
            goto 77
        46: .line 1343
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 48
        47: .line 1344
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (principal name wildcard) failed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        48: .line 1348
      StackMap locals:
      StackMap stack:
            return
        49: .line 1351
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            aload 3 /* principals */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
            astore 9 /* pSet */
        start local 9 // java.util.Set pSet
        50: .line 1352
            new javax.security.auth.Subject
            dup
            iconst_1
            aload 9 /* pSet */
        51: .line 1353
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
        52: .line 1354
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
        53: .line 1352
            invokespecial javax.security.auth.Subject.<init>:(ZLjava/util/Set;Ljava/util/Set;Ljava/util/Set;)V
            astore 10 /* subject */
        start local 10 // javax.security.auth.Subject subject
        54: .line 1356
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual java.lang.Thread.getContextClassLoader:()Ljava/lang/ClassLoader;
            astore 11 /* cl */
        start local 11 // java.lang.ClassLoader cl
        55: .line 1357
            aload 7 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
            iconst_0
            aload 11 /* cl */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
            astore 12 /* pClass */
        start local 12 // java.lang.Class pClass
        56: .line 1358
            ldc Ljava/security/Principal;
            aload 12 /* pClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 60
        57: .line 1360
            new java.lang.ClassCastException
            dup
            new java.lang.StringBuilder
            dup
            aload 7 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        58: .line 1361
            ldc " is not a Principal"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        59: .line 1360
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        60: .line 1364
      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 sun.security.provider.PolicyParser$PrincipalEntry java.util.Iterator java.util.Set javax.security.auth.Subject java.lang.ClassLoader java.lang.Class
      StackMap stack:
            aload 12 /* pClass */
            getstatic sun.security.provider.PolicyFile.PARAMS1:[Ljava/lang/Class;
            invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
            astore 13 /* c */
        start local 13 // java.lang.reflect.Constructor c
        61: .line 1365
            aload 13 /* c */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        62: .line 1366
            aload 7 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
            aastore
        63: .line 1365
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Principal
            astore 14 /* p */
        start local 14 // java.security.Principal p
        64: .line 1368
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 66
        65: .line 1369
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "found Principal "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 14 /* p */
            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;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        66: .line 1374
      StackMap locals: java.lang.reflect.Constructor java.security.Principal
      StackMap stack:
            aload 14 /* p */
            aload 10 /* subject */
            invokeinterface java.security.Principal.implies:(Ljavax/security/auth/Subject;)Z
            ifne 77
        67: .line 1375
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 69
        68: .line 1376
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (principal implies) failed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        69: .line 1381
      StackMap locals:
      StackMap stack:
            return
        end local 14 // java.security.Principal p
        end local 13 // java.lang.reflect.Constructor c
        end local 12 // java.lang.Class pClass
        end local 11 // java.lang.ClassLoader cl
        70: .line 1383
      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 sun.security.provider.PolicyParser$PrincipalEntry java.util.Iterator java.util.Set javax.security.auth.Subject
      StackMap stack: java.lang.Exception
            astore 11 /* e */
        start local 11 // java.lang.Exception e
        71: .line 1387
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 73
        72: .line 1388
            aload 11 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        73: .line 1391
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 7 /* pppe */
            aload 10 /* subject */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.implies:(Ljavax/security/auth/Subject;)Z
            ifne 77
        74: .line 1392
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 76
        75: .line 1393
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "evaluation (default principal implies) failed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        76: .line 1398
      StackMap locals:
      StackMap stack:
            return
        end local 11 // java.lang.Exception e
        end local 10 // javax.security.auth.Subject subject
        end local 9 // java.util.Set pSet
        end local 7 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        77: .line 1329
      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 top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 37
        78: .line 1410
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 80
        79: .line 1411
            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
        80: .line 1413
      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
      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
        81: .line 1414
            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   82     0        this  Lsun/security/provider/PolicyFile;
            0   82     1       perms  Ljava/security/Permissions;
            0   82     2          cs  Ljava/security/CodeSource;
            0   82     3  principals  [Ljava/security/Principal;
            0   82     4       entry  Lsun/security/provider/PolicyFile$PolicyEntry;
            7   82     5         imp  Ljava/lang/Boolean;
           12   82     6     entryPs  Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
           14   27     7       accPs  Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
           16   23     8           i  I
           38   77     7        pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
           50   77     9        pSet  Ljava/util/Set<Ljava/security/Principal;>;
           54   77    10     subject  Ljavax/security/auth/Subject;
           55   70    11          cl  Ljava/lang/ClassLoader;
           56   70    12      pClass  Ljava/lang/Class<*>;
           61   70    13           c  Ljava/lang/reflect/Constructor<*>;
           64   70    14           p  Ljava/security/Principal;
           71   77    11           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          54    69      70  Class java.lang.Exception
    MethodParameters:
            Name  Flags
      perms       
      cs          final
      principals  
      entry       final

  private static boolean wildcardPrincipalNameImplies(java.lang.String, java.security.Principal[]);
    descriptor: (Ljava/lang/String;[Ljava/security/Principal;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // java.lang.String principalClass
        start local 1 // java.security.Principal[] principals
         0: .line 1423
            aload 1 /* principals */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: java.lang.String java.security.Principal[] top int int java.security.Principal[]
      StackMap stack:
         1: aload 5
            iload 3
            aaload
            astore 2 /* p */
        start local 2 // java.security.Principal p
         2: .line 1424
            aload 0 /* principalClass */
            aload 2 /* p */
            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 4
         3: .line 1425
            iconst_1
            ireturn
        end local 2 // java.security.Principal p
         4: .line 1423
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 1428
            iconst_0
            ireturn
        end local 1 // java.security.Principal[] principals
        end local 0 // java.lang.String principalClass
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    7     0  principalClass  Ljava/lang/String;
            0    7     1      principals  [Ljava/security/Principal;
            2    4     2               p  Ljava/security/Principal;
    MethodParameters:
                Name  Flags
      principalClass  
      principals      

  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 1434
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 14
         2: .line 1435
      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 1436
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 5
         4: .line 1437
            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 1440
      StackMap locals: java.security.Permission
      StackMap stack:
            aload 5 /* p */
            instanceof sun.security.provider.PolicyFile$SelfPermission
            ifeq 12
         6: .line 1442
            aload 0 /* this */
            aload 5 /* p */
            checkcast sun.security.provider.PolicyFile$SelfPermission
         7: .line 1443
            aload 3 /* entry */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.getPrincipals:()Ljava/util/List;
         8: .line 1444
            aload 2 /* accPs */
         9: .line 1445
            aload 1 /* perms */
        10: .line 1442
            invokevirtual sun.security.provider.PolicyFile.expandSelf:(Lsun/security/provider/PolicyFile$SelfPermission;Ljava/util/List;[Ljava/security/Principal;Ljava/security/Permissions;)V
        11: .line 1446
            goto 13
        12: .line 1447
      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 1434
      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 1450
            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 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 1470
            aload 2 /* entryPs */
            ifnull 1
            aload 2 /* entryPs */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 13
         1: .line 1472
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 12
         2: .line 1473
            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 1474
            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 1475
            ldc " with target name ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1476
            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 1477
            ldc "No Principal(s) specified "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1478
            ldc "in the grant clause.  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 1479
            ldc "SELF-based target names are "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 1480
            ldc "only valid in the context "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 1481
            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 1473
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 1484
      StackMap locals:
      StackMap stack:
            return
        13: .line 1486
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* startIndex */
        start local 5 // int startIndex
        14: .line 1488
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 7 /* sb */
        start local 7 // java.lang.StringBuilder sb
        15: .line 1489
            goto 34
        start local 6 // int v
        16: .line 1492
      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 1495
            aload 2 /* entryPs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8 /* pli */
        start local 8 // java.util.Iterator pli
        18: .line 1496
            goto 32
        19: .line 1497
      StackMap locals: java.util.Iterator
      StackMap stack:
            aload 8 /* pli */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PrincipalEntry
            astore 9 /* pppe */
        start local 9 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        20: .line 1498
            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
        21: .line 1499
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        22: goto 29
        23: .line 1500
      StackMap locals: sun.security.provider.PolicyParser$PrincipalEntry java.lang.String[][] int
      StackMap stack:
            iload 11 /* i */
            ifeq 25
        24: .line 1501
            aload 7 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 1503
      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;
        26: .line 1504
            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;
        27: .line 1503
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 1499
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 11 /* i */
            aload 10 /* principalInfo */
            arraylength
            if_icmplt 23
        end local 11 // int i
        30: .line 1506
            aload 8 /* pli */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 32
        31: .line 1507
            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
        32: .line 1496
      StackMap locals:
      StackMap stack:
            aload 8 /* pli */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        33: .line 1510
            iload 6 /* v */
            ldc "${{self}}"
            invokevirtual java.lang.String.length:()I
            iadd
            istore 5 /* startIndex */
        end local 8 // java.util.Iterator pli
        end local 6 // int v
        34: .line 1489
      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
        35: iconst_m1
            if_icmpne 16
        36: .line 1513
            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
        37: .line 1515
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 41
        38: .line 1516
            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;
        39: .line 1517
            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;
        40: .line 1516
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        41: .line 1521
      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;
        42: .line 1522
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 1523
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
        44: .line 1521
            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
        45: .line 1524
            goto 95
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        46: pop
        47: .line 1530
            aconst_null
            astore 8 /* pc */
        start local 8 // java.lang.Class pc
        48: .line 1531
            aload 4 /* perms */
            dup
            astore 9
            monitorenter
        49: .line 1532
            aload 4 /* perms */
            invokevirtual java.security.Permissions.elements:()Ljava/util/Enumeration;
            astore 10 /* e */
        start local 10 // java.util.Enumeration e
        50: .line 1533
            goto 55
        51: .line 1534
      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
        52: .line 1535
            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 55
        53: .line 1536
            aload 11 /* pElement */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 8 /* pc */
        54: .line 1537
            goto 56
        end local 11 // java.security.Permission pElement
        55: .line 1533
      StackMap locals:
      StackMap stack:
            aload 10 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 51
        end local 10 // java.util.Enumeration e
        56: .line 1531
      StackMap locals:
      StackMap stack:
            aload 9
            monitorexit
        57: goto 60
      StackMap locals:
      StackMap stack: java.lang.Throwable
        58: aload 9
            monitorexit
        59: athrow
        60: .line 1541
      StackMap locals:
      StackMap stack:
            aload 8 /* pc */
            ifnonnull 67
        61: .line 1543
            aload 4 /* perms */
            new java.security.UnresolvedPermission
            dup
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
        62: .line 1544
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        63: .line 1545
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
        64: .line 1546
            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
        65: .line 1543
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        66: .line 1547
            goto 95
        67: .line 1553
      StackMap locals:
      StackMap stack:
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
            ifnonnull 80
        68: .line 1555
            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
        69: .line 1556
            aload 4 /* perms */
            aload 9 /* c */
        70: .line 1557
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        71: .line 1556
            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
        72: .line 1558
            goto 95
        end local 9 // java.lang.reflect.Constructor c
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
        73: pop
        74: .line 1559
            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
        75: .line 1560
            aload 4 /* perms */
            aload 9 /* c */
        76: .line 1561
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        77: .line 1562
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
            aastore
        78: .line 1560
            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
        79: .line 1564
            goto 95
        end local 9 // java.lang.reflect.Constructor c
        80: .line 1565
      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
        81: .line 1566
            aload 4 /* perms */
            aload 9 /* c */
        82: .line 1567
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        83: .line 1568
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
            aastore
        84: .line 1566
            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
        85: .line 1570
            goto 95
      StackMap locals:
      StackMap stack: java.lang.Exception
        86: astore 9 /* nme */
        start local 9 // java.lang.Exception nme
        87: .line 1571
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 95
        88: .line 1572
            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
        89: .line 1574
            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;
        90: .line 1572
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 9 // java.lang.Exception nme
        end local 8 // java.lang.Class pc
        91: goto 95
        92: .line 1578
      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
        93: .line 1579
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 95
        94: .line 1580
            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
        95: .line 1583
      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   96     0           this  Lsun/security/provider/PolicyFile;
            0   96     1             sp  Lsun/security/provider/PolicyFile$SelfPermission;
            0   96     2        entryPs  Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
            0   96     3            pdp  [Ljava/security/Principal;
            0   96     4          perms  Ljava/security/Permissions;
           14   96     5     startIndex  I
           16   34     6              v  I
           35   96     6              v  I
           15   96     7             sb  Ljava/lang/StringBuilder;
           18   34     8            pli  Ljava/util/Iterator<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
           20   32     9           pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
           21   32    10  principalInfo  [[Ljava/lang/String;
           22   30    11              i  I
           48   91     8             pc  Ljava/lang/Class<*>;
           50   56    10              e  Ljava/util/Enumeration<Ljava/security/Permission;>;
           52   55    11       pElement  Ljava/security/Permission;
           69   73     9              c  Ljava/lang/reflect/Constructor<*>;
           75   80     9              c  Ljava/lang/reflect/Constructor<*>;
           81   85     9              c  Ljava/lang/reflect/Constructor<*>;
           87   91     9            nme  Ljava/lang/Exception;
           93   95     8              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          41    45      46  Class java.lang.ClassNotFoundException
          49    57      58  any
          58    59      58  any
          68    72      73  Class java.lang.NoSuchMethodException
          67    85      86  Class java.lang.Exception
          41    45      92  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 1599
            aload 1 /* pe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isWildcardClass:()Z
            ifne 5
            aload 1 /* pe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isWildcardName:()Z
            ifne 5
         1: .line 1603
            iconst_1
            iconst_2
            multianewarray [[Ljava/lang/String; 2
            astore 3 /* info */
        start local 3 // java.lang.String[][] info
         2: .line 1604
            aload 3 /* info */
            iconst_0
            aaload
            iconst_0
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
            aastore
         3: .line 1605
            aload 3 /* info */
            iconst_0
            aaload
            iconst_1
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
            aastore
         4: .line 1606
            aload 3 /* info */
            areturn
        end local 3 // java.lang.String[][] info
         5: .line 1608
      StackMap locals:
      StackMap stack:
            aload 1 /* pe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isWildcardClass:()Z
            ifne 22
            aload 1 /* pe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isWildcardName:()Z
            ifeq 22
         6: .line 1613
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* plist */
        start local 3 // java.util.List plist
         7: .line 1614
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 12
         9: .line 1615
      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 11
        10: .line 1616
            aload 3 /* plist */
            aload 2 /* pdp */
            iload 4 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 1614
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        12: iload 4 /* i */
            aload 2 /* pdp */
            arraylength
            if_icmplt 9
        end local 4 // int i
        13: .line 1618
            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
        14: .line 1619
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        15: .line 1620
            aload 3 /* plist */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 20
      StackMap locals: sun.security.provider.PolicyFile sun.security.provider.PolicyParser$PrincipalEntry java.security.Principal[] java.util.List java.lang.String[][] int top java.util.Iterator
      StackMap stack:
        16: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.Principal
            astore 6 /* p */
        start local 6 // java.security.Principal p
        17: .line 1621
            aload 4 /* info */
            iload 5 /* i */
            aaload
            iconst_0
            aload 6 /* p */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aastore
        18: .line 1622
            aload 4 /* info */
            iload 5 /* i */
            aaload
            iconst_1
            aload 6 /* p */
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            aastore
        19: .line 1623
            iinc 5 /* i */ 1
        end local 6 // java.security.Principal p
        20: .line 1620
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        21: .line 1625
            aload 4 /* info */
            areturn
        end local 5 // int i
        end local 4 // java.lang.String[][] info
        end local 3 // java.util.List plist
        22: .line 1632
      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
        23: .line 1634
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        24: goto 28
        25: .line 1635
      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
        26: .line 1636
            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
        27: .line 1634
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        28: iload 4 /* i */
            aload 2 /* pdp */
            arraylength
            if_icmplt 25
        end local 4 // int i
        29: .line 1638
            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   30     0   this  Lsun/security/provider/PolicyFile;
            0   30     1     pe  Lsun/security/provider/PolicyParser$PrincipalEntry;
            0   30     2    pdp  [Ljava/security/Principal;
            2    5     3   info  [[Ljava/lang/String;
            7   22     3  plist  Ljava/util/List<Ljava/security/Principal;>;
            8   13     4      i  I
           14   22     4   info  [[Ljava/lang/String;
           15   22     5      i  I
           17   20     6      p  Ljava/security/Principal;
           23   30     3   info  [[Ljava/lang/String;
           24   29     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 1657
            aconst_null
            astore 2 /* certs */
        start local 2 // java.security.cert.Certificate[] certs
         1: .line 1658
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            dup
            astore 2 /* certs */
            ifnonnull 3
         2: .line 1659
            aconst_null
            areturn
         3: .line 1660
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 1661
      StackMap locals: int
      StackMap stack:
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            instanceof java.security.cert.X509Certificate
            ifne 7
         6: .line 1662
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            areturn
         7: .line 1660
      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 1666
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: .line 1667
            iconst_0
            istore 4 /* count */
        start local 4 // int count
        11: .line 1668
            goto 21
        12: .line 1669
      StackMap locals: int
      StackMap stack:
            iinc 4 /* count */ 1
        13: .line 1670
            goto 15
        14: .line 1673
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        15: .line 1670
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iconst_1
            iadd
            aload 2 /* certs */
            arraylength
            if_icmpge 20
        16: .line 1671
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
        17: .line 1672
            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 1671
            invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
        19: .line 1672
            ifne 14
        20: .line 1675
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        21: .line 1668
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            aload 2 /* certs */
            arraylength
            if_icmplt 12
        22: .line 1677
            iload 4 /* count */
            aload 2 /* certs */
            arraylength
            if_icmpne 24
        23: .line 1679
            aload 2 /* certs */
            areturn
        24: .line 1681
      StackMap locals:
      StackMap stack:
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 5 /* userCertList */
        start local 5 // java.util.List userCertList
        25: .line 1682
            iconst_0
            istore 3 /* i */
        26: .line 1683
            goto 36
        27: .line 1684
      StackMap locals: java.util.List
      StackMap stack:
            aload 5 /* userCertList */
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        28: .line 1685
            goto 30
        29: .line 1688
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        30: .line 1685
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iconst_1
            iadd
            aload 2 /* certs */
            arraylength
            if_icmpge 35
        31: .line 1686
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
        32: .line 1687
            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 1686
            invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
        34: .line 1687
            ifne 29
        35: .line 1690
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        36: .line 1683
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            aload 2 /* certs */
            arraylength
            if_icmplt 27
        37: .line 1692
            aload 5 /* userCertList */
            invokeinterface java.util.List.size:()I
            anewarray java.security.cert.Certificate
            astore 6 /* userCerts */
        start local 6 // java.security.cert.Certificate[] userCerts
        38: .line 1693
            aload 5 /* userCertList */
            aload 6 /* userCerts */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        39: .line 1694
            aload 6 /* userCerts */
            areturn
        end local 6 // java.security.cert.Certificate[] userCerts
        end local 5 // java.util.List 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/List<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 1700
            aconst_null
            astore 3 /* path */
        start local 3 // java.lang.String path
         1: .line 1702
            aload 1 /* cs */
            astore 4 /* canonCs */
        start local 4 // java.security.CodeSource canonCs
         2: .line 1703
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            astore 5 /* u */
        start local 5 // java.net.URL u
         3: .line 1704
            aload 5 /* u */
            ifnull 22
         4: .line 1705
            aload 5 /* u */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            ldc "jar"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 11
         5: .line 1707
            aload 5 /* u */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            astore 6 /* spec */
        start local 6 // java.lang.String spec
         6: .line 1708
            aload 6 /* spec */
            ldc "!/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 7 /* separator */
        start local 7 // int separator
         7: .line 1709
            iload 7 /* separator */
            iconst_m1
            if_icmpeq 11
         8: .line 1711
            new java.net.URL
            dup
            aload 6 /* spec */
            iconst_0
            iload 7 /* separator */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 5 /* u */
         9: .line 1712
            goto 11
      StackMap locals: sun.security.provider.PolicyFile java.security.CodeSource int java.lang.String java.security.CodeSource java.net.URL java.lang.String int
      StackMap stack: java.net.MalformedURLException
        10: pop
        end local 7 // int separator
        end local 6 // java.lang.String spec
        11: .line 1718
      StackMap locals:
      StackMap stack:
            aload 5 /* u */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            ldc "file"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 22
        12: .line 1719
            iconst_0
            istore 6 /* isLocalFile */
        start local 6 // boolean isLocalFile
        13: .line 1720
            aload 5 /* u */
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            astore 7 /* host */
        start local 7 // java.lang.String host
        14: .line 1721
            aload 7 /* host */
            ifnull 17
            aload 7 /* host */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        15: .line 1722
            aload 7 /* host */
            ldc "~"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
            aload 7 /* host */
            ldc "localhost"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 17
        16: .line 1721
            iconst_0
            goto 18
      StackMap locals: int java.lang.String
      StackMap stack:
        17: iconst_1
      StackMap locals:
      StackMap stack: int
        18: istore 6 /* isLocalFile */
        19: .line 1724
            iload 6 /* isLocalFile */
            ifeq 22
        20: .line 1725
            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 */
        21: .line 1726
            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
        22: .line 1731
      StackMap locals:
      StackMap stack:
            aload 3 /* path */
            ifnull 41
        23: .line 1733
            aconst_null
            astore 6 /* csUrl */
        start local 6 // java.net.URL csUrl
        24: .line 1734
            aload 3 /* path */
            invokestatic sun.security.provider.PolicyFile.canonPath:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        25: .line 1735
            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 */
        26: .line 1737
            iload 2 /* extractSignerCerts */
            ifeq 31
        27: .line 1738
            new java.security.CodeSource
            dup
            aload 6 /* csUrl */
        28: .line 1739
            aload 0 /* this */
            aload 1 /* cs */
            invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
        29: .line 1738
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        30: .line 1740
            goto 45
        31: .line 1741
      StackMap locals: java.net.URL
      StackMap stack:
            new java.security.CodeSource
            dup
            aload 6 /* csUrl */
        32: .line 1742
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
        33: .line 1741
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        end local 6 // java.net.URL csUrl
        34: .line 1744
            goto 45
      StackMap locals: sun.security.provider.PolicyFile java.security.CodeSource int java.lang.String java.security.CodeSource java.net.URL
      StackMap stack: java.io.IOException
        35: pop
        36: .line 1747
            iload 2 /* extractSignerCerts */
            ifeq 45
        37: .line 1748
            new java.security.CodeSource
            dup
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
        38: .line 1749
            aload 0 /* this */
            aload 1 /* cs */
            invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
        39: .line 1748
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        40: .line 1752
            goto 45
        41: .line 1753
      StackMap locals:
      StackMap stack:
            iload 2 /* extractSignerCerts */
            ifeq 45
        42: .line 1754
            new java.security.CodeSource
            dup
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
        43: .line 1755
            aload 0 /* this */
            aload 1 /* cs */
            invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
        44: .line 1754
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        45: .line 1758
      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   46     0                this  Lsun/security/provider/PolicyFile;
            0   46     1                  cs  Ljava/security/CodeSource;
            0   46     2  extractSignerCerts  Z
            1   46     3                path  Ljava/lang/String;
            2   46     4             canonCs  Ljava/security/CodeSource;
            3   46     5                   u  Ljava/net/URL;
            6   11     6                spec  Ljava/lang/String;
            7   11     7           separator  I
           13   22     6         isLocalFile  Z
           14   22     7                host  Ljava/lang/String;
           24   34     6               csUrl  Ljava/net/URL;
      Exception table:
        from    to  target  type
           8     9      10  Class java.net.MalformedURLException
          23    34      35  Class java.io.IOException
    MethodParameters:
                    Name  Flags
      cs                  
      extractSignerCerts  

  private static java.lang.String canonPath(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // java.lang.String path
         0: .line 1764
            aload 0 /* path */
            ldc "*"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 4
         1: .line 1765
            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 1766
            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 1767
            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 1769
      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 1774
            aload 1 /* pd */
            invokevirtual java.security.ProtectionDomain.getPrincipals:()[Ljava/security/Principal;
            astore 2 /* principals */
        start local 2 // java.security.Principal[] principals
         1: .line 1775
            ldc "<no principals>"
            astore 3 /* pals */
        start local 3 // java.lang.String pals
         2: .line 1776
            aload 2 /* principals */
            ifnull 16
            aload 2 /* principals */
            arraylength
            ifle 16
         3: .line 1777
            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 1778
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 14
         6: .line 1779
      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 1780
            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 1781
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 1779
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 1782
            iload 5 /* i */
            aload 2 /* principals */
            arraylength
            iconst_1
            isub
            if_icmpge 12
        11: .line 1783
            aload 4 /* palBuf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 13
        12: .line 1785
      StackMap locals:
      StackMap stack:
            aload 4 /* palBuf */
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 1778
      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 1787
            aload 4 /* palBuf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* pals */
        end local 4 // java.lang.StringBuilder palBuf
        16: .line 1789
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "PD CodeSource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 1790
            aload 1 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        18: .line 1791
            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 1792
            aload 1 /* pd */
            invokevirtual java.security.ProtectionDomain.getClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        20: .line 1793
            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 1794
            aload 3 /* pals */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 1789
            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 1804
            aload 1 /* principals */
            ifnull 1
            aload 1 /* principals */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 1
            aload 2 /* keystore */
            ifnonnull 2
         1: .line 1805
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 1807
      StackMap locals:
      StackMap stack:
            aload 1 /* principals */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 18
      StackMap locals: sun.security.provider.PolicyFile java.util.List java.security.KeyStore top java.util.Iterator
      StackMap stack:
         3: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$PrincipalEntry
            astore 3 /* pppe */
        start local 3 // sun.security.provider.PolicyParser$PrincipalEntry pppe
         4: .line 1808
            aload 3 /* pppe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isReplaceName:()Z
            ifeq 18
         5: .line 1813
            aload 0 /* this */
            aload 3 /* 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
         6: ifnonnull 8
         7: .line 1814
            iconst_0
            ireturn
         8: .line 1817
      StackMap locals: sun.security.provider.PolicyFile java.util.List java.security.KeyStore sun.security.provider.PolicyParser$PrincipalEntry java.util.Iterator java.lang.String
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 16
         9: .line 1818
            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
        10: .line 1819
            aload 3 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 1820
            ldc "\" with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 1821
            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;
        13: .line 1822
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 1823
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 1818
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        16: .line 1826
      StackMap locals:
      StackMap stack:
            aload 3 /* pppe */
            ldc "javax.security.auth.x500.X500Principal"
            putfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
        17: .line 1827
            aload 3 /* pppe */
            aload 5 /* name */
            putfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
        end local 5 // java.lang.String name
        end local 3 // sun.security.provider.PolicyParser$PrincipalEntry pppe
        18: .line 1807
      StackMap locals: sun.security.provider.PolicyFile java.util.List java.security.KeyStore top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
        19: .line 1832
            iconst_1
            ireturn
        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   20     0        this  Lsun/security/provider/PolicyFile;
            0   20     1  principals  Ljava/util/List<Lsun/security/provider/PolicyParser$PrincipalEntry;>;
            0   20     2    keystore  Ljava/security/KeyStore;
            4   18     3        pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
            6   18     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 1838
            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 1839
      StackMap locals:
      StackMap stack:
            return
         2: .line 1842
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* startIndex */
        start local 3 // int startIndex
         3: .line 1844
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* sb */
        start local 6 // java.lang.StringBuilder sb
         4: .line 1845
            goto 43
        start local 4 // int b
         5: .line 1846
      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 1847
            iload 5 /* e */
            iconst_1
            if_icmpge 8
         7: .line 1848
            goto 45
         8: .line 1850
      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 1853
            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 1857
            aload 7 /* value */
            astore 9 /* prefix */
        start local 9 // java.lang.String prefix
        11: .line 1859
            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 1860
            aload 7 /* value */
            iconst_0
            iload 8 /* colonIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* prefix */
        14: .line 1864
      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 1866
            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 1867
            iload 5 /* e */
            iconst_2
            iadd
            istore 3 /* startIndex */
        17: .line 1868
            goto 43
        18: .line 1869
      StackMap locals:
      StackMap stack:
            aload 9 /* prefix */
            ldc "alias"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 37
        19: .line 1871
            iload 8 /* colonIndex */
            iconst_m1
            if_icmpne 26
        20: .line 1872
            new java.text.MessageFormat
            dup
        21: .line 1874
            ldc "alias.name.not.provided.pe.name."
        22: .line 1873
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        23: .line 1872
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        24: .line 1875
            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 1876
            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 1878
      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 1879
            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 1880
            new java.text.MessageFormat
            dup
        29: .line 1882
            ldc "unable.to.perform.substitution.on.alias.suffix"
        30: .line 1881
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        31: .line 1880
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        32: .line 1883
            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 1884
            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 1887
      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 1888
            iload 5 /* e */
            iconst_2
            iadd
            istore 3 /* startIndex */
        36: .line 1889
            goto 43
        end local 10 // java.lang.String suffix
        37: .line 1890
      StackMap locals:
      StackMap stack:
            new java.text.MessageFormat
            dup
        38: .line 1892
            ldc "substitution.value.prefix.unsupported"
        39: .line 1891
            invokestatic sun.security.util.ResourcesMgr.getString:(Ljava/lang/String;)Ljava/lang/String;
        40: .line 1890
            invokespecial java.text.MessageFormat.<init>:(Ljava/lang/String;)V
            astore 11 /* form */
        start local 11 // java.text.MessageFormat form
        41: .line 1893
            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 1894
            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 1845
      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 1899
      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 1902
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 50
        47: .line 1903
            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 1904
            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 1903
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        50: .line 1906
      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 1907
            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 1910
            aconst_null
            astore 3 /* cert */
        start local 3 // java.security.cert.Certificate cert
         1: .line 1912
            aload 2 /* keystore */
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 3 /* cert */
         2: .line 1913
            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 1914
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 10
         5: .line 1915
            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 1916
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1917
            ldc "': "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 1918
            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 1915
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 1920
      StackMap locals: java.lang.Exception
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.lang.Exception e
        11: .line 1923
      StackMap locals:
      StackMap stack:
            aload 3 /* cert */
            ifnull 12
            aload 3 /* cert */
            instanceof java.security.cert.X509Certificate
            ifne 18
        12: .line 1924
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 17
        13: .line 1925
            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 1926
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 1927
            ldc "' - ignoring entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 1925
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        17: .line 1929
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        18: .line 1931
      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 1937
            new javax.security.auth.x500.X500Principal
            dup
        20: .line 1938
            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 1937
            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 1939
            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=1, locals=3, 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 1951
            iconst_0
            ireturn
        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    1     0    this  Lsun/security/provider/PolicyFile;
            0    1     1    cert  Ljava/security/cert/Certificate;
            0    1     2  myInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
    MethodParameters:
        Name  Flags
      cert    final
      myInfo  
}
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$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
  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