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 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 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 expandProperties;
    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
    Signature: [Ljava/lang/Class<*>;

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

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

  private static java.util.Set<java.net.URL> badPolicyURLs;
    descriptor: Ljava/util/Set;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Set<Ljava/net/URL;>;

  private static final java.net.URL DEFAULT_POLICY_URL;
    descriptor: Ljava/net/URL;
    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 265
            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 287
            iconst_0
            anewarray java.lang.Class
            putstatic sun.security.provider.PolicyFile.PARAMS0:[Ljava/lang/Class;
         2: .line 288
            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 289
            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;
         4: .line 300
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
         5: .line 299
            putstatic sun.security.provider.PolicyFile.badPolicyURLs:Ljava/util/Set;
         6: .line 304
            new sun.security.provider.PolicyFile$1
            dup
            invokespecial sun.security.provider.PolicyFile$1.<init>:()V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.net.URL
         7: .line 303
            putstatic sun.security.provider.PolicyFile.DEFAULT_POLICY_URL:Ljava/net/URL;
         8: .line 317
            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 323
            aload 0 /* this */
            invokespecial java.security.Policy.<init>:()V
         1: .line 281
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.expandProperties:Z
         2: .line 282
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.allowSystemProperties:Z
         3: .line 283
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.notUtf8:Z
         4: .line 324
            aload 0 /* this */
            aconst_null
            invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
         5: .line 325
            return
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     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 331
            aload 0 /* this */
            invokespecial java.security.Policy.<init>:()V
         1: .line 281
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.expandProperties:Z
         2: .line 282
            aload 0 /* this */
            iconst_1
            putfield sun.security.provider.PolicyFile.allowSystemProperties:Z
         3: .line 283
            aload 0 /* this */
            iconst_0
            putfield sun.security.provider.PolicyFile.notUtf8:Z
         4: .line 332
            aload 0 /* this */
            aload 1 /* url */
            putfield sun.security.provider.PolicyFile.url:Ljava/net/URL;
         5: .line 333
            aload 0 /* this */
            aload 1 /* url */
            invokevirtual sun.security.provider.PolicyFile.init:(Ljava/net/URL;)V
         6: .line 334
            return
        end local 1 // java.net.URL url
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lsun/security/provider/PolicyFile;
            0    7     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 347
            new sun.security.provider.PolicyFile$2
            dup
            aload 0 /* this */
            invokespecial sun.security.provider.PolicyFile$2.<init>:(Lsun/security/provider/PolicyFile;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.String
         1: .line 346
            astore 2 /* numCacheStr */
        start local 2 // java.lang.String numCacheStr
         2: .line 360
            aload 2 /* numCacheStr */
            ifnull 8
         3: .line 362
            aload 2 /* numCacheStr */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 3 /* numCaches */
        start local 3 // int numCaches
         4: .line 363
            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 364
            iconst_1
            istore 3 /* numCaches */
        start local 3 // int numCaches
         7: .line 366
            goto 9
        end local 3 // int numCaches
         8: .line 367
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* numCaches */
        start local 3 // int numCaches
         9: .line 370
      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 371
            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 372
            aload 0 /* this */
            aload 4 /* newInfo */
            putfield sun.security.provider.PolicyFile.policyInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
        12: .line 373
            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 378
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 2
         1: .line 379
            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
            getstatic sun.security.provider.PolicyFile.DEFAULT_POLICY_URL:Ljava/net/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
         2: .line 381
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyFile$3
            dup
            aload 0 /* this */
            aload 1 /* newInfo */
            invokespecial sun.security.provider.PolicyFile$3.<init>:(Lsun/security/provider/PolicyFile;Lsun/security/provider/PolicyFile$PolicyInfo;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         3: .line 389
            aload 2 /* url */
            ifnull 8
         4: .line 396
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 6
         5: .line 397
            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
         6: .line 399
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyFile$4
            dup
            aload 0 /* this */
            aload 2 /* url */
            aload 1 /* newInfo */
            invokespecial sun.security.provider.PolicyFile$4.<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
         7: .line 410
            goto 12
         8: .line 425
      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
         9: .line 428
            iload 3 /* loaded_one */
            ifne 11
        10: .line 430
            aload 0 /* this */
            aload 1 /* newInfo */
            invokevirtual sun.security.provider.PolicyFile.initStaticPolicy:(Lsun/security/provider/PolicyFile$PolicyInfo;)V
        11: .line 433
      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
        12: .line 435
      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   13     0        this  Lsun/security/provider/PolicyFile;
            0   13     1     newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            0   13     2         url  Ljava/net/URL;
            9   12     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 440
            new sun.security.provider.PolicyFile$5
            dup
            aload 0 /* this */
            aload 1 /* propname */
            aload 3 /* newInfo */
            aload 2 /* urlname */
            invokespecial sun.security.provider.PolicyFile$5.<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
            invokevirtual java.lang.Boolean.booleanValue:()Z
         1: .line 439
            istore 4 /* loadedPolicy */
        start local 4 // boolean loadedPolicy
         2: .line 528
            iload 4 /* loadedPolicy */
            ireturn
        end local 4 // 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  Z
    MethodParameters:
          Name  Flags
      propname  final
      urlname   final
      newInfo   final

  private boolean init(java.net.URL, sun.security.provider.PolicyFile$PolicyInfo, boolean);
    descriptor: (Ljava/net/URL;Lsun/security/provider/PolicyFile$PolicyInfo;Z)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=11, args_size=4
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.net.URL policy
        start local 2 // sun.security.provider.PolicyFile$PolicyInfo newInfo
        start local 3 // boolean defPolicy
         0: .line 539
            getstatic sun.security.provider.PolicyFile.badPolicyURLs:Ljava/util/Set;
            aload 1 /* policy */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 4
         1: .line 540
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 3
         2: .line 541
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            new java.lang.StringBuilder
            dup
            ldc "skipping bad policy file: "
            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
         3: .line 543
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         4: .line 546
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 4
            aconst_null
            astore 5
         5: .line 547
            aload 0 /* this */
            aload 1 /* policy */
            invokestatic sun.security.util.PolicyUtil.getInputStream:(Ljava/net/URL;)Ljava/io/InputStream;
            invokevirtual sun.security.provider.PolicyFile.getInputStreamReader:(Ljava/io/InputStream;)Ljava/io/InputStreamReader;
         6: .line 546
            astore 6 /* isr */
        start local 6 // java.io.InputStreamReader isr
         7: .line 549
            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 7 /* pp */
        start local 7 // sun.security.provider.PolicyParser pp
         8: .line 550
            aload 7 /* pp */
            aload 6 /* isr */
            invokevirtual sun.security.provider.PolicyParser.read:(Ljava/io/Reader;)V
         9: .line 552
            aconst_null
            astore 8 /* keyStore */
        start local 8 // java.security.KeyStore keyStore
        10: .line 555
            aload 1 /* policy */
        11: .line 556
            aload 7 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreUrl:()Ljava/lang/String;
        12: .line 557
            aload 7 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreType:()Ljava/lang/String;
        13: .line 558
            aload 7 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getKeyStoreProvider:()Ljava/lang/String;
        14: .line 559
            aload 7 /* pp */
            invokevirtual sun.security.provider.PolicyParser.getStorePassURL:()Ljava/lang/String;
        15: .line 560
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
        16: .line 554
            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 8 /* keyStore */
        17: .line 561
            goto 22
      StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int java.lang.Throwable java.lang.Throwable java.io.InputStreamReader sun.security.provider.PolicyParser java.security.KeyStore
      StackMap stack: java.lang.Exception
        18: astore 9 /* e */
        start local 9 // java.lang.Exception e
        19: .line 563
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 22
        20: .line 564
            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
        21: .line 565
            aload 9 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 9 // java.lang.Exception e
        22: .line 569
      StackMap locals:
      StackMap stack:
            aload 7 /* pp */
            invokevirtual sun.security.provider.PolicyParser.grantElements:()Ljava/util/Enumeration;
            astore 9 /* enum_ */
        start local 9 // java.util.Enumeration enum_
        23: .line 570
            goto 26
        24: .line 571
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 9 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyParser$GrantEntry
            astore 10 /* ge */
        start local 10 // sun.security.provider.PolicyParser$GrantEntry ge
        25: .line 572
            aload 0 /* this */
            aload 10 /* ge */
            aload 8 /* 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 10 // sun.security.provider.PolicyParser$GrantEntry ge
        26: .line 570
      StackMap locals:
      StackMap stack:
            aload 9 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 24
        27: .line 575
            aload 6 /* isr */
            ifnull 28
            aload 6 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        28: .line 574
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 9 // java.util.Enumeration enum_
        end local 8 // java.security.KeyStore keyStore
        end local 7 // sun.security.provider.PolicyParser pp
      StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int java.lang.Throwable java.lang.Throwable java.io.InputStreamReader
      StackMap stack: java.lang.Throwable
        29: astore 4
        30: .line 575
            aload 6 /* isr */
            ifnull 31
            aload 6 /* isr */
            invokevirtual java.io.InputStreamReader.close:()V
        end local 6 // java.io.InputStreamReader isr
      StackMap locals:
      StackMap stack:
        31: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        32: astore 5
            aload 4
            ifnonnull 33
            aload 5
            astore 4
            goto 34
      StackMap locals:
      StackMap stack:
        33: aload 4
            aload 5
            if_acmpeq 34
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        34: aload 4
            athrow
      StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int
      StackMap stack: sun.security.provider.PolicyParser$ParsingException
        35: astore 4 /* pe */
        start local 4 // sun.security.provider.PolicyParser$ParsingException pe
        36: .line 576
            iload 3 /* defPolicy */
            ifeq 38
        37: .line 577
            new java.lang.InternalError
            dup
            ldc "Failed to load default.policy"
            aload 4 /* pe */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        38: .line 580
      StackMap locals: sun.security.provider.PolicyParser$ParsingException
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.badPolicyURLs:Ljava/util/Set;
            aload 1 /* policy */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        39: .line 581
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* policy */
            aastore
            dup
            iconst_1
            aload 4 /* pe */
            invokevirtual sun.security.provider.PolicyParser$ParsingException.getLocalizedMessage:()Ljava/lang/String;
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        40: .line 582
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        41: .line 583
            ldc "java.security.policy.error.parsing.policy.message"
            aload 5 /* source */
        42: .line 582
            invokestatic sun.security.util.LocalizedMessage.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        43: .line 584
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 53
        44: .line 585
            aload 4 /* pe */
            invokevirtual sun.security.provider.PolicyParser$ParsingException.printStackTrace:()V
        end local 5 // java.lang.Object[] source
        end local 4 // sun.security.provider.PolicyParser$ParsingException pe
        45: goto 53
        46: .line 587
      StackMap locals: sun.security.provider.PolicyFile java.net.URL sun.security.provider.PolicyFile$PolicyInfo int
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        47: .line 588
            iload 3 /* defPolicy */
            ifeq 49
        48: .line 589
            new java.lang.InternalError
            dup
            ldc "Failed to load default.policy"
            aload 4 /* e */
            invokespecial java.lang.InternalError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        49: .line 591
      StackMap locals: java.lang.Exception
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 53
        50: .line 592
            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
        51: .line 593
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            aload 4 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        52: .line 594
            aload 4 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 4 // java.lang.Exception e
        53: .line 598
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 3 // boolean defPolicy
        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   54     0       this  Lsun/security/provider/PolicyFile;
            0   54     1     policy  Ljava/net/URL;
            0   54     2    newInfo  Lsun/security/provider/PolicyFile$PolicyInfo;
            0   54     3  defPolicy  Z
            7   31     6        isr  Ljava/io/InputStreamReader;
            8   29     7         pp  Lsun/security/provider/PolicyParser;
           10   29     8   keyStore  Ljava/security/KeyStore;
           19   22     9          e  Ljava/lang/Exception;
           23   29     9      enum_  Ljava/util/Enumeration<Lsun/security/provider/PolicyParser$GrantEntry;>;
           25   26    10         ge  Lsun/security/provider/PolicyParser$GrantEntry;
           36   45     4         pe  Lsun/security/provider/PolicyParser$ParsingException;
           40   45     5     source  [Ljava/lang/Object;
           47   53     4          e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          10    17      18  Class java.lang.Exception
           7    27      29  any
           5    28      32  any
          29    32      32  any
           4    28      35  Class sun.security.provider.PolicyParser$ParsingException
          29    35      35  Class sun.security.provider.PolicyParser$ParsingException
           4    28      46  Class java.lang.Exception
          29    35      46  Class java.lang.Exception
    MethodParameters:
           Name  Flags
      policy     
      newInfo    
      defPolicy  

  private java.io.InputStreamReader getInputStreamReader(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/io/InputStreamReader;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // sun.security.provider.PolicyFile this
        start local 1 // java.io.InputStream is
         0: .line 609
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.notUtf8:Z
            ifeq 2
         1: .line 610
            new java.io.InputStreamReader
            dup
            aload 1 /* is */
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;)V
            goto 3
         2: .line 611
      StackMap locals:
      StackMap stack:
            new java.io.InputStreamReader
            dup
            aload 1 /* is */
            ldc "UTF-8"
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/lang/String;)V
         3: .line 609
      StackMap locals:
      StackMap stack: java.io.InputStreamReader
            areturn
        end local 1 // java.io.InputStream is
        end local 0 // sun.security.provider.PolicyFile this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lsun/security/provider/PolicyFile;
            0    4     1    is  Ljava/io/InputStream;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      is    

  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 615
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 2
         1: .line 616
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ldc "Initializing with static permissions"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         2: .line 618
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyFile$6
            dup
            aload 0 /* this */
            aload 1 /* newInfo */
            invokespecial sun.security.provider.PolicyFile$6.<init>:(Lsun/security/provider/PolicyFile;Lsun/security/provider/PolicyFile$PolicyInfo;)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            pop
         3: .line 675
            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    4     0     this  Lsun/security/provider/PolicyFile;
            0    4     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 685
            aconst_null
            astore 4 /* certs */
        start local 4 // java.security.cert.Certificate[] certs
         1: .line 686
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.signedBy:Ljava/lang/String;
            ifnull 9
         2: .line 687
            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 688
            aload 4 /* certs */
            ifnonnull 9
         4: .line 691
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 8
         5: .line 692
            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 693
            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 692
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         8: .line 695
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            aconst_null
            areturn
         9: .line 701
      StackMap locals:
      StackMap stack:
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.codeBase:Ljava/lang/String;
            ifnull 12
        10: .line 702
            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 704
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 5 /* location */
        start local 5 // java.net.URL location
        13: .line 706
      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=10, 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 715
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 9
         1: .line 716
            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 717
            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 718
            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 719
            aload 1 /* ge */
            getfield sun.security.provider.PolicyParser$GrantEntry.principals:Ljava/util/LinkedList;
            ifnull 9
         5: .line 720
            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 721
            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 720
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 727
      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 729
            aload 4 /* codesource */
            ifnonnull 12
        11: return
        12: .line 735
      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 736
            return
        14: .line 737
      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 739
            aload 1 /* ge */
            invokevirtual sun.security.provider.PolicyParser$GrantEntry.permissionElements:()Ljava/util/Enumeration;
        16: .line 738
            astore 6 /* enum_ */
        start local 6 // java.util.Enumeration enum_
        17: .line 740
            goto 88
        18: .line 741
      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 745
            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 749
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
        21: .line 750
            ldc "javax.security.auth.PrivateCredentialPermission"
        22: .line 749
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
        23: .line 750
            ifeq 28
        24: .line 751
            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 752
            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 753
            ldc "${{self}}"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 752
            putfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        28: .line 756
      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 762
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
            ifnull 35
        30: .line 763
            aload 0 /* this */
            aload 2 /* keyStore */
        31: .line 764
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
        32: .line 765
            aload 3 /* newInfo */
        33: .line 763
            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 766
            goto 36
        end local 9 // java.security.cert.Certificate[] certs
        35: .line 767
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* certs */
        start local 9 // java.security.cert.Certificate[] certs
        36: .line 769
      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 770
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        38: .line 771
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
        39: .line 772
            aload 9 /* certs */
        40: .line 769
            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 773
            goto 46
        end local 8 // java.security.Permission perm
        42: .line 774
      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 775
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        44: .line 776
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
        45: .line 774
            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 778
      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 779
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 88
        48: .line 780
            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 782
            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 784
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
            ifnull 57
        52: .line 785
            aload 0 /* this */
            aload 2 /* keyStore */
        53: .line 786
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.signedBy:Ljava/lang/String;
        54: .line 787
            aload 3 /* newInfo */
        55: .line 785
            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 788
            goto 58
        end local 8 // java.security.cert.Certificate[] certs
        57: .line 789
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 8 /* certs */
        start local 8 // java.security.cert.Certificate[] certs
        58: .line 794
      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 795
      StackMap locals:
      StackMap stack:
            new java.security.UnresolvedPermission
            dup
        60: .line 796
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.permission:Ljava/lang/String;
        61: .line 797
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
        62: .line 798
            aload 7 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.action:Ljava/lang/String;
        63: .line 799
            aload 8 /* certs */
        64: .line 795
            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 800
            aload 5 /* entry */
            aload 9 /* perm */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.add:(Ljava/security/Permission;)V
        66: .line 801
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 88
        67: .line 802
            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 805
      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 806
            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
        71: .line 807
            aload 8 /* ite */
            invokevirtual java.lang.reflect.InvocationTargetException.getTargetException:()Ljava/lang/Throwable;
            invokevirtual java.lang.Throwable.toString:()Ljava/lang/String;
            aastore
        72: .line 806
            astore 9 /* source */
        start local 9 // java.lang.Object[] source
        73: .line 808
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        74: .line 810
            ldc "java.security.policy.error.adding.Permission.perm.message"
        75: .line 811
            aload 9 /* source */
        76: .line 809
            invokestatic sun.security.util.LocalizedMessage.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        77: .line 808
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 9 // java.lang.Object[] source
        end local 8 // java.lang.reflect.InvocationTargetException ite
        78: goto 88
        79: .line 812
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
        80: .line 813
            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
        81: .line 814
            aload 8 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aastore
        82: .line 813
            astore 9 /* source */
        start local 9 // java.lang.Object[] source
        83: .line 815
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        84: .line 817
            ldc "java.security.policy.error.adding.Permission.perm.message"
        85: .line 818
            aload 9 /* source */
        86: .line 816
            invokestatic sun.security.util.LocalizedMessage.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        87: .line 815
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 9 // java.lang.Object[] source
        end local 8 // java.lang.Exception e
        end local 7 // sun.security.provider.PolicyParser$PermissionEntry pe
        88: .line 740
      StackMap locals:
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 18
        89: .line 823
            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 824
            goto 98
      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 825
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 4 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aastore
            astore 5 /* source */
        start local 5 // java.lang.Object[] source
        93: .line 826
            getstatic java.lang.System.err:Ljava/io/PrintStream;
        94: .line 828
            ldc "java.security.policy.error.adding.Entry.message"
        95: .line 829
            aload 5 /* source */
        96: .line 827
            invokestatic sun.security.util.LocalizedMessage.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        97: .line 826
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        end local 5 // java.lang.Object[] source
        end local 4 // java.lang.Exception e
        98: .line 831
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 100
        99: .line 832
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            invokevirtual sun.security.util.Debug.println:()V
       100: .line 833
      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  101     0        this  Lsun/security/provider/PolicyFile;
            0  101     1          ge  Lsun/security/provider/PolicyParser$GrantEntry;
            0  101     2    keyStore  Ljava/security/KeyStore;
            0  101     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;
           73   78     9      source  [Ljava/lang/Object;
           80   88     8           e  Ljava/lang/Exception;
           83   88     9      source  [Ljava/lang/Object;
           92   98     4           e  Ljava/lang/Exception;
           93   98     5      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 874
            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 875
            aload 3 /* pc */
            aload 1 /* name */
            aload 2 /* actions */
            invokestatic sun.security.provider.PolicyFile.getKnownPermission:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
            astore 4 /* answer */
        start local 4 // java.security.Permission answer
         2: .line 876
            aload 4 /* answer */
            ifnull 4
         3: .line 877
            aload 4 /* answer */
            areturn
         4: .line 879
      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 881
            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 884
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ifnonnull 21
            aload 2 /* actions */
            ifnonnull 21
         7: .line 886
            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 887
            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 888
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        11: .line 890
            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 891
            aload 5 /* c */
        13: .line 892
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
        14: .line 891
            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 893
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        17: .line 894
            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 895
            aload 5 /* c */
        19: .line 896
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* actions */
            aastore
        20: .line 895
            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 900
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ifnull 30
            aload 2 /* actions */
            ifnonnull 30
        22: .line 902
            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 903
            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 904
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
            pop
        26: .line 905
            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 906
            aload 5 /* c */
        28: .line 907
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* actions */
            aastore
        29: .line 906
            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 910
      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 911
            aload 5 /* c */
        32: .line 912
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* name */
            aastore
            dup
            iconst_1
            aload 2 /* actions */
            aastore
        33: .line 911
            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 java.security.Permission getKnownPermission(java.lang.Class<?>, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    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 924
            aload 0 /* claz */
            ldc Ljava/io/FilePermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 925
            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 926
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/net/SocketPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 4
         3: .line 927
            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 928
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/lang/RuntimePermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 6
         5: .line 929
            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 930
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/util/PropertyPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 8
         7: .line 931
            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 932
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/net/NetPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 933
            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 934
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/security/AllPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 935
            getstatic sun.security.util.SecurityConstants.ALL_PERMISSION:Ljava/security/AllPermission;
            areturn
        12: .line 936
      StackMap locals:
      StackMap stack:
            aload 0 /* claz */
            ldc Ljava/security/SecurityPermission;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 14
        13: .line 937
            new java.security.SecurityPermission
            dup
            aload 1 /* name */
            aload 2 /* actions */
            invokespecial java.security.SecurityPermission.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        14: .line 939
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String actions
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class claz
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   15     0     claz  Ljava/lang/Class<*>;
            0   15     1     name  Ljava/lang/String;
            0   15     2  actions  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
    MethodParameters:
         Name  Flags
      claz     
      name     
      actions  

  private static java.security.Principal getKnownPrincipal(java.lang.Class<?>, java.lang.String);
    descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/security/Principal;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.Class claz
        start local 1 // java.lang.String name
         0: .line 949
            aload 0 /* claz */
            ldc Ljavax/security/auth/x500/X500Principal;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 950
            new javax.security.auth.x500.X500Principal
            dup
            aload 1 /* name */
            invokespecial javax.security.auth.x500.X500Principal.<init>:(Ljava/lang/String;)V
            areturn
         2: .line 952
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class claz
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  claz  Ljava/lang/Class<*>;
            0    3     1  name  Ljava/lang/String;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/security/Principal;
    MethodParameters:
      Name  Flags
      claz  
      name  

  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 962
            aconst_null
            astore 4 /* vcerts */
        start local 4 // java.util.List vcerts
         1: .line 964
            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 965
            iconst_0
            istore 6 /* n */
        start local 6 // int n
         3: .line 967
            goto 24
         4: .line 968
      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 969
            iinc 6 /* n */ 1
         6: .line 970
            aconst_null
            astore 8 /* cert */
        start local 8 // java.security.cert.Certificate cert
         7: .line 972
            aload 3 /* newInfo */
            getfield sun.security.provider.PolicyFile$PolicyInfo.aliasMapping:Ljava/util/Map;
            dup
            astore 9
            monitorenter
         8: .line 973
            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 975
            aload 8 /* cert */
            ifnonnull 16
            aload 1 /* keyStore */
            ifnull 16
        10: .line 978
            aload 1 /* keyStore */
            aload 7 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 8 /* cert */
        11: .line 979
            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 983
      StackMap locals:
      StackMap stack:
            aload 8 /* cert */
            ifnull 16
        14: .line 984
            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 985
            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 972
      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 990
      StackMap locals:
      StackMap stack:
            aload 8 /* cert */
            ifnull 24
        21: .line 991
            aload 4 /* vcerts */
            ifnonnull 23
        22: .line 992
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* vcerts */
        23: .line 993
      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 967
      StackMap locals:
      StackMap stack:
            aload 5 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 4
        25: .line 998
            aload 4 /* vcerts */
            ifnull 29
            iload 6 /* n */
            aload 4 /* vcerts */
            invokeinterface java.util.List.size:()I
            if_icmpne 29
        26: .line 999
            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 1000
            aload 4 /* vcerts */
            aload 7 /* certs */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        28: .line 1001
            aload 7 /* certs */
            areturn
        end local 7 // java.security.cert.Certificate[] certs
        29: .line 1003
      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 1011
            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 1012
            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 1029
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.policyInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
            invokevirtual sun.security.provider.PolicyFile$PolicyInfo.getPdMapping:()Ljdk/internal/misc/JavaSecurityProtectionDomainAccess$ProtectionDomainCache;
            astore 3 /* pdMap */
        start local 3 // jdk.internal.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache pdMap
         1: .line 1030
            aload 3 /* pdMap */
            aload 1 /* pd */
            invokeinterface jdk.internal.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache.get:(Ljava/security/ProtectionDomain;)Ljava/security/PermissionCollection;
            astore 4 /* pc */
        start local 4 // java.security.PermissionCollection pc
         2: .line 1032
            aload 4 /* pc */
            ifnull 4
         3: .line 1033
            aload 4 /* pc */
            aload 2 /* p */
            invokevirtual java.security.PermissionCollection.implies:(Ljava/security/Permission;)Z
            ireturn
         4: .line 1036
      StackMap locals: jdk.internal.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 1037
            aload 4 /* pc */
            ifnonnull 7
         6: .line 1038
            iconst_0
            ireturn
         7: .line 1042
      StackMap locals:
      StackMap stack:
            aload 3 /* pdMap */
            aload 1 /* pd */
            aload 4 /* pc */
            invokeinterface jdk.internal.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache.put:(Ljava/security/ProtectionDomain;Ljava/security/PermissionCollection;)V
         8: .line 1043
            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 // jdk.internal.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  Ljdk/internal/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 1074
            new java.security.Permissions
            dup
            invokespecial java.security.Permissions.<init>:()V
            astore 2 /* perms */
        start local 2 // java.security.Permissions perms
         1: .line 1076
            aload 1 /* domain */
            ifnonnull 3
         2: .line 1077
            aload 2 /* perms */
            areturn
         3: .line 1080
      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 1085
            aload 1 /* domain */
            invokevirtual java.security.ProtectionDomain.getPermissions:()Ljava/security/PermissionCollection;
            astore 3 /* pc */
        start local 3 // java.security.PermissionCollection pc
         5: .line 1086
            aload 3 /* pc */
            ifnull 15
         6: .line 1087
            aload 3 /* pc */
            dup
            astore 4
            monitorenter
         7: .line 1088
            aload 3 /* pc */
            invokevirtual java.security.PermissionCollection.elements:()Ljava/util/Enumeration;
            astore 5 /* e */
        start local 5 // java.util.Enumeration e
         8: .line 1089
            goto 10
         9: .line 1090
      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
            invokestatic sun.security.util.FilePermCompat.newPermPlusAltPath:(Ljava/security/Permission;)Ljava/security/Permission;
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        10: .line 1089
      StackMap locals:
      StackMap stack:
            aload 5 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 9
        end local 5 // java.util.Enumeration e
        11: .line 1087
            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 1095
      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 1110
            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 1125
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 2
         1: .line 1126
            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 1129
      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 1130
            aload 3 /* cs */
            ifnonnull 5
         4: .line 1131
            aload 1 /* perms */
            areturn
         5: .line 1134
      StackMap locals: java.security.CodeSource
      StackMap stack:
            new sun.security.provider.PolicyFile$7
            dup
            aload 0 /* this */
            aload 3 /* cs */
            invokespecial sun.security.provider.PolicyFile$7.<init>:(Lsun/security/provider/PolicyFile;Ljava/security/CodeSource;)V
         6: .line 1133
            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 1140
            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 1158
            aload 2 /* cs */
            ifnonnull 2
         1: .line 1159
            aload 1 /* perms */
            areturn
         2: .line 1162
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyFile$8
            dup
            aload 0 /* this */
            aload 2 /* cs */
            invokespecial sun.security.provider.PolicyFile$8.<init>:(Lsun/security/provider/PolicyFile;Ljava/security/CodeSource;)V
         3: .line 1161
            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 1169
            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=6, 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 1175
            aload 0 /* this */
            getfield sun.security.provider.PolicyFile.policyInfo:Lsun/security/provider/PolicyFile$PolicyInfo;
            getfield sun.security.provider.PolicyFile$PolicyInfo.policyEntries:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 3
      StackMap locals: sun.security.provider.PolicyFile java.security.Permissions java.security.CodeSource java.security.Principal[] top java.util.Iterator
      StackMap stack:
         1: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast sun.security.provider.PolicyFile$PolicyEntry
            astore 4 /* entry */
        start local 4 // sun.security.provider.PolicyFile$PolicyEntry entry
         2: .line 1176
            aload 0 /* this */
            aload 1 /* perms */
            aload 2 /* cs */
            aload 3 /* principals */
            aload 4 /* entry */
            invokevirtual sun.security.provider.PolicyFile.addPermissions:(Ljava/security/Permissions;Ljava/security/CodeSource;[Ljava/security/Principal;Lsun/security/provider/PolicyFile$PolicyEntry;)V
        end local 4 // sun.security.provider.PolicyFile$PolicyEntry entry
         3: .line 1175
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 1179
            aload 1 /* perms */
            areturn
        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    5     0        this  Lsun/security/provider/PolicyFile;
            0    5     1       perms  Ljava/security/Permissions;
            0    5     2          cs  Ljava/security/CodeSource;
            0    5     3  principals  [Ljava/security/Principal;
            2    3     4       entry  Lsun/security/provider/PolicyFile$PolicyEntry;
    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 1187
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 5
         1: .line 1188
            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 1189
            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 1190
            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 1188
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
         5: .line 1195
      StackMap locals:
      StackMap stack:
            new sun.security.provider.PolicyFile$9
            dup
            aload 0 /* this */
            aload 4 /* entry */
            aload 2 /* cs */
            invokespecial sun.security.provider.PolicyFile$9.<init>:(Lsun/security/provider/PolicyFile;Lsun/security/provider/PolicyFile$PolicyEntry;Ljava/security/CodeSource;)V
         6: .line 1194
            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 1201
            aload 5 /* imp */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            ifne 11
         8: .line 1202
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 10
         9: .line 1203
            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 1207
      StackMap locals: java.lang.Boolean
      StackMap stack:
            return
        11: .line 1212
      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 1213
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 27
        13: .line 1214
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 7 /* accPs */
        start local 7 // java.util.List accPs
        14: .line 1215
            aload 3 /* principals */
            ifnull 23
        15: .line 1216
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        16: goto 22
        17: .line 1217
      StackMap locals: java.util.List java.util.List int
      StackMap stack:
            aload 7 /* accPs */
            new sun.security.provider.PolicyParser$PrincipalEntry
            dup
        18: .line 1218
            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 1219
            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 1217
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        21: .line 1216
            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 1222
      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 1223
            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 1224
            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 1222
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        end local 7 // java.util.List accPs
        27: .line 1227
      StackMap locals:
      StackMap stack:
            aload 6 /* entryPs */
            ifnull 28
            aload 6 /* entryPs */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 32
        28: .line 1232
      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 1233
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 31
        30: .line 1234
            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 1236
      StackMap locals:
      StackMap stack:
            return
        32: .line 1238
      StackMap locals:
      StackMap stack:
            aload 3 /* principals */
            ifnull 33
            aload 3 /* principals */
            arraylength
            ifne 36
        33: .line 1243
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 35
        34: .line 1244
            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 1246
      StackMap locals:
      StackMap stack:
            return
        36: .line 1253
      StackMap locals:
      StackMap stack:
            aload 6 /* entryPs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 79
      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 1256
            aload 7 /* pppe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isWildcardClass:()Z
            ifeq 40
        39: .line 1258
            goto 79
        40: .line 1261
      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 1263
            aload 7 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
        42: .line 1264
            aload 3 /* principals */
        43: .line 1263
            invokestatic sun.security.provider.PolicyFile.wildcardPrincipalNameImplies:(Ljava/lang/String;[Ljava/security/Principal;)Z
        44: .line 1264
            ifeq 46
        45: .line 1265
            goto 79
        46: .line 1267
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 48
        47: .line 1268
            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 1272
      StackMap locals:
      StackMap stack:
            return
        49: .line 1275
      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 1276
            new javax.security.auth.Subject
            dup
            iconst_1
            aload 9 /* pSet */
        51: .line 1277
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
        52: .line 1278
            getstatic java.util.Collections.EMPTY_SET:Ljava/util/Set;
        53: .line 1276
            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 1280
            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 1281
            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 1282
            aload 12 /* pClass */
            aload 7 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
            invokestatic sun.security.provider.PolicyFile.getKnownPrincipal:(Ljava/lang/Class;Ljava/lang/String;)Ljava/security/Principal;
            astore 13 /* p */
        start local 13 // java.security.Principal p
        57: .line 1283
            aload 13 /* p */
            ifnonnull 66
        58: .line 1284
            ldc Ljava/security/Principal;
            aload 12 /* pClass */
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 62
        59: .line 1286
            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
        60: .line 1287
            ldc " is not a Principal"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        61: .line 1286
            invokespecial java.lang.ClassCastException.<init>:(Ljava/lang/String;)V
            athrow
        62: .line 1290
      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 java.security.Principal
      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 14 /* c */
        start local 14 // java.lang.reflect.Constructor c
        63: .line 1291
            aload 14 /* c */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        64: .line 1292
            aload 7 /* pppe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
            aastore
        65: .line 1291
            invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.Principal
            astore 13 /* p */
        end local 14 // java.lang.reflect.Constructor c
        66: .line 1296
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 68
        67: .line 1297
            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 13 /* 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
        68: .line 1302
      StackMap locals:
      StackMap stack:
            aload 13 /* p */
            aload 10 /* subject */
            invokeinterface java.security.Principal.implies:(Ljavax/security/auth/Subject;)Z
            ifne 79
        69: .line 1303
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 71
        70: .line 1304
            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
        71: .line 1309
      StackMap locals:
      StackMap stack:
            return
        end local 13 // java.security.Principal p
        end local 12 // java.lang.Class pClass
        end local 11 // java.lang.ClassLoader cl
        72: .line 1311
      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
        73: .line 1315
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 75
        74: .line 1316
            aload 11 /* e */
            invokevirtual java.lang.Exception.printStackTrace:()V
        75: .line 1319
      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 79
        76: .line 1320
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 78
        77: .line 1321
            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
        78: .line 1326
      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
        79: .line 1253
      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
        80: .line 1338
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 82
        81: .line 1339
            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
        82: .line 1341
      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
        83: .line 1342
            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   84     0        this  Lsun/security/provider/PolicyFile;
            0   84     1       perms  Ljava/security/Permissions;
            0   84     2          cs  Ljava/security/CodeSource;
            0   84     3  principals  [Ljava/security/Principal;
            0   84     4       entry  Lsun/security/provider/PolicyFile$PolicyEntry;
            7   84     5         imp  Ljava/lang/Boolean;
           12   84     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   79     7        pppe  Lsun/security/provider/PolicyParser$PrincipalEntry;
           50   79     9        pSet  Ljava/util/Set<Ljava/security/Principal;>;
           54   79    10     subject  Ljavax/security/auth/Subject;
           55   72    11          cl  Ljava/lang/ClassLoader;
           56   72    12      pClass  Ljava/lang/Class<*>;
           57   72    13           p  Ljava/security/Principal;
           63   66    14           c  Ljava/lang/reflect/Constructor<*>;
           73   79    11           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          54    71      72  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 1351
            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 1352
            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 1353
            iconst_1
            ireturn
        end local 2 // java.security.Principal p
         4: .line 1351
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 1356
            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 1362
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         1: goto 14
         2: .line 1363
      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 1364
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 5
         4: .line 1365
            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 1368
      StackMap locals: java.security.Permission
      StackMap stack:
            aload 5 /* p */
            instanceof sun.security.provider.PolicyFile$SelfPermission
            ifeq 12
         6: .line 1370
            aload 0 /* this */
            aload 5 /* p */
            checkcast sun.security.provider.PolicyFile$SelfPermission
         7: .line 1371
            aload 3 /* entry */
            invokevirtual sun.security.provider.PolicyFile$PolicyEntry.getPrincipals:()Ljava/util/List;
         8: .line 1372
            aload 2 /* accPs */
         9: .line 1373
            aload 1 /* perms */
        10: .line 1370
            invokevirtual sun.security.provider.PolicyFile.expandSelf:(Lsun/security/provider/PolicyFile$SelfPermission;Ljava/util/List;[Ljava/security/Principal;Ljava/security/Permissions;)V
        11: .line 1374
            goto 13
        12: .line 1375
      StackMap locals:
      StackMap stack:
            aload 1 /* perms */
            aload 5 /* p */
            invokestatic sun.security.util.FilePermCompat.newPermPlusAltPath:(Ljava/security/Permission;)Ljava/security/Permission;
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        end local 5 // java.security.Permission p
        13: .line 1362
      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 1378
            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 1396
            aload 2 /* entryPs */
            ifnull 1
            aload 2 /* entryPs */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 13
         1: .line 1398
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 12
         2: .line 1399
            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 1400
            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 1401
            ldc " with target name ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         5: .line 1402
            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 1403
            ldc "No Principal(s) specified "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1404
            ldc "in the grant clause.  "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 1405
            ldc "SELF-based target names are "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         9: .line 1406
            ldc "only valid in the context "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        10: .line 1407
            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 1399
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 1410
      StackMap locals:
      StackMap stack:
            return
        13: .line 1412
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* startIndex */
        start local 5 // int startIndex
        14: .line 1414
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 7 /* sb */
        start local 7 // java.lang.StringBuilder sb
        15: .line 1415
            goto 34
        start local 6 // int v
        16: .line 1418
      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 1421
            aload 2 /* entryPs */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8 /* pli */
        start local 8 // java.util.Iterator pli
        18: .line 1422
            goto 32
        19: .line 1423
      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 1424
            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 1425
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        22: goto 29
        23: .line 1426
      StackMap locals: sun.security.provider.PolicyParser$PrincipalEntry java.lang.String[][] int
      StackMap stack:
            iload 11 /* i */
            ifeq 25
        24: .line 1427
            aload 7 /* sb */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        25: .line 1429
      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 1430
            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 1429
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        28: .line 1425
            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 1432
            aload 8 /* pli */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifeq 32
        31: .line 1433
            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 1422
      StackMap locals:
      StackMap stack:
            aload 8 /* pli */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        33: .line 1436
            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 1415
      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 1439
            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 1441
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 41
        38: .line 1442
            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 1443
            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 1442
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        41: .line 1447
      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 1448
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        43: .line 1449
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
        44: .line 1447
            invokestatic sun.security.provider.PolicyFile.getInstance:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/security/Permission;
            invokestatic sun.security.util.FilePermCompat.newPermPlusAltPath:(Ljava/security/Permission;)Ljava/security/Permission;
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        45: .line 1450
            goto 95
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
        46: pop
        47: .line 1456
            aconst_null
            astore 8 /* pc */
        start local 8 // java.lang.Class pc
        48: .line 1457
            aload 4 /* perms */
            dup
            astore 9
            monitorenter
        49: .line 1458
            aload 4 /* perms */
            invokevirtual java.security.Permissions.elements:()Ljava/util/Enumeration;
            astore 10 /* e */
        start local 10 // java.util.Enumeration e
        50: .line 1459
            goto 55
        51: .line 1460
      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 1461
            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 1462
            aload 11 /* pElement */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 8 /* pc */
        54: .line 1463
            goto 56
        end local 11 // java.security.Permission pElement
        55: .line 1459
      StackMap locals:
      StackMap stack:
            aload 10 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 51
        end local 10 // java.util.Enumeration e
        56: .line 1457
      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 1467
      StackMap locals:
      StackMap stack:
            aload 8 /* pc */
            ifnonnull 67
        61: .line 1469
            aload 4 /* perms */
            new java.security.UnresolvedPermission
            dup
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfType:()Ljava/lang/String;
        62: .line 1470
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        63: .line 1471
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
        64: .line 1472
            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 1469
            invokevirtual java.security.Permissions.add:(Ljava/security/Permission;)V
        66: .line 1473
            goto 95
        67: .line 1479
      StackMap locals:
      StackMap stack:
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
            ifnonnull 80
        68: .line 1481
            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 1482
            aload 4 /* perms */
            aload 9 /* c */
        70: .line 1483
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 7 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aastore
        71: .line 1482
            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 1484
            goto 95
        end local 9 // java.lang.reflect.Constructor c
      StackMap locals:
      StackMap stack: java.lang.NoSuchMethodException
        73: pop
        74: .line 1485
            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 1486
            aload 4 /* perms */
            aload 9 /* c */
        76: .line 1487
            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 1488
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
            aastore
        78: .line 1486
            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 1490
            goto 95
        end local 9 // java.lang.reflect.Constructor c
        80: .line 1491
      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 1492
            aload 4 /* perms */
            aload 9 /* c */
        82: .line 1493
            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 1494
            aload 1 /* sp */
            invokevirtual sun.security.provider.PolicyFile$SelfPermission.getSelfActions:()Ljava/lang/String;
            aastore
        84: .line 1492
            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 1496
            goto 95
      StackMap locals:
      StackMap stack: java.lang.Exception
        86: astore 9 /* nme */
        start local 9 // java.lang.Exception nme
        87: .line 1497
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 95
        88: .line 1498
            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 1500
            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 1498
            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 1504
      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 1505
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 95
        94: .line 1506
            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 1509
      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 1525
            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 1529
            iconst_1
            iconst_2
            multianewarray [[Ljava/lang/String; 2
            astore 3 /* info */
        start local 3 // java.lang.String[][] info
         2: .line 1530
            aload 3 /* info */
            iconst_0
            aaload
            iconst_0
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalClass:Ljava/lang/String;
            aastore
         3: .line 1531
            aload 3 /* info */
            iconst_0
            aaload
            iconst_1
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PrincipalEntry.principalName:Ljava/lang/String;
            aastore
         4: .line 1532
            aload 3 /* info */
            areturn
        end local 3 // java.lang.String[][] info
         5: .line 1534
      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 1539
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* plist */
        start local 3 // java.util.List plist
         7: .line 1540
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         8: goto 12
         9: .line 1541
      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 1542
            aload 3 /* plist */
            aload 2 /* pdp */
            iload 4 /* i */
            aaload
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        11: .line 1540
      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 1544
            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 1545
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        15: .line 1546
            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 1547
            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 1548
            aload 4 /* info */
            iload 5 /* i */
            aaload
            iconst_1
            aload 6 /* p */
            invokeinterface java.security.Principal.getName:()Ljava/lang/String;
            aastore
        19: .line 1549
            iinc 5 /* i */ 1
        end local 6 // java.security.Principal p
        20: .line 1546
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 16
        21: .line 1551
            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 1558
      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 1560
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        24: goto 28
        25: .line 1561
      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 1562
            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 1560
            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 1564
            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 1583
            aconst_null
            astore 2 /* certs */
        start local 2 // java.security.cert.Certificate[] certs
         1: .line 1584
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            dup
            astore 2 /* certs */
            ifnonnull 3
         2: .line 1585
            aconst_null
            areturn
         3: .line 1586
      StackMap locals: java.security.cert.Certificate[]
      StackMap stack:
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         4: goto 8
         5: .line 1587
      StackMap locals: int
      StackMap stack:
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            instanceof java.security.cert.X509Certificate
            ifne 7
         6: .line 1588
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            areturn
         7: .line 1586
      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 1592
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        10: .line 1593
            iconst_0
            istore 4 /* count */
        start local 4 // int count
        11: .line 1594
            goto 21
        12: .line 1595
      StackMap locals: int
      StackMap stack:
            iinc 4 /* count */ 1
        13: .line 1596
            goto 15
        14: .line 1599
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        15: .line 1596
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iconst_1
            iadd
            aload 2 /* certs */
            arraylength
            if_icmpge 20
        16: .line 1597
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
        17: .line 1598
            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 1597
            invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
        19: .line 1598
            ifne 14
        20: .line 1601
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        21: .line 1594
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            aload 2 /* certs */
            arraylength
            if_icmplt 12
        22: .line 1603
            iload 4 /* count */
            aload 2 /* certs */
            arraylength
            if_icmpne 24
        23: .line 1605
            aload 2 /* certs */
            areturn
        24: .line 1607
      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 1608
            iconst_0
            istore 3 /* i */
        26: .line 1609
            goto 36
        27: .line 1610
      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 1611
            goto 30
        29: .line 1614
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        30: .line 1611
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            iconst_1
            iadd
            aload 2 /* certs */
            arraylength
            if_icmpge 35
        31: .line 1612
            aload 2 /* certs */
            iload 3 /* i */
            aaload
            checkcast java.security.cert.X509Certificate
            invokevirtual java.security.cert.X509Certificate.getIssuerDN:()Ljava/security/Principal;
        32: .line 1613
            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 1612
            invokeinterface java.security.Principal.equals:(Ljava/lang/Object;)Z
        34: .line 1613
            ifne 29
        35: .line 1616
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
        36: .line 1609
      StackMap locals:
      StackMap stack:
            iload 3 /* i */
            aload 2 /* certs */
            arraylength
            if_icmplt 27
        37: .line 1618
            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 1619
            aload 5 /* userCertList */
            aload 6 /* userCerts */
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            pop
        39: .line 1620
            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 1626
            aconst_null
            astore 3 /* path */
        start local 3 // java.lang.String path
         1: .line 1628
            aload 1 /* cs */
            astore 4 /* canonCs */
        start local 4 // java.security.CodeSource canonCs
         2: .line 1629
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            astore 5 /* u */
        start local 5 // java.net.URL u
         3: .line 1630
            aload 5 /* u */
            ifnull 22
         4: .line 1631
            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 1633
            aload 5 /* u */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            astore 6 /* spec */
        start local 6 // java.lang.String spec
         6: .line 1634
            aload 6 /* spec */
            ldc "!/"
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 7 /* separator */
        start local 7 // int separator
         7: .line 1635
            iload 7 /* separator */
            iconst_m1
            if_icmpeq 11
         8: .line 1637
            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 1638
            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 1644
      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 1645
            iconst_0
            istore 6 /* isLocalFile */
        start local 6 // boolean isLocalFile
        13: .line 1646
            aload 5 /* u */
            invokevirtual java.net.URL.getHost:()Ljava/lang/String;
            astore 7 /* host */
        start local 7 // java.lang.String host
        14: .line 1647
            aload 7 /* host */
            ifnull 17
            aload 7 /* host */
            ldc ""
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 17
        15: .line 1648
            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 1647
            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 1650
            iload 6 /* isLocalFile */
            ifeq 22
        20: .line 1651
            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 1652
            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 1657
      StackMap locals:
      StackMap stack:
            aload 3 /* path */
            ifnull 41
        23: .line 1659
            aconst_null
            astore 6 /* csUrl */
        start local 6 // java.net.URL csUrl
        24: .line 1660
            aload 3 /* path */
            invokestatic sun.security.provider.PolicyFile.canonPath:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* path */
        25: .line 1661
            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 1663
            iload 2 /* extractSignerCerts */
            ifeq 31
        27: .line 1664
            new java.security.CodeSource
            dup
            aload 6 /* csUrl */
        28: .line 1665
            aload 0 /* this */
            aload 1 /* cs */
            invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
        29: .line 1664
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        30: .line 1666
            goto 45
        31: .line 1667
      StackMap locals: java.net.URL
      StackMap stack:
            new java.security.CodeSource
            dup
            aload 6 /* csUrl */
        32: .line 1668
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
        33: .line 1667
            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 1670
            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 1673
            iload 2 /* extractSignerCerts */
            ifeq 45
        37: .line 1674
            new java.security.CodeSource
            dup
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
        38: .line 1675
            aload 0 /* this */
            aload 1 /* cs */
            invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
        39: .line 1674
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        40: .line 1678
            goto 45
        41: .line 1679
      StackMap locals:
      StackMap stack:
            iload 2 /* extractSignerCerts */
            ifeq 45
        42: .line 1680
            new java.security.CodeSource
            dup
            aload 1 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
        43: .line 1681
            aload 0 /* this */
            aload 1 /* cs */
            invokevirtual sun.security.provider.PolicyFile.getSignerCertificates:(Ljava/security/CodeSource;)[Ljava/security/cert/Certificate;
        44: .line 1680
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
            astore 4 /* canonCs */
        45: .line 1684
      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 1690
            aload 0 /* path */
            ldc "*"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 4
         1: .line 1691
            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 1692
            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 1693
            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 1695
      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 1700
            aload 1 /* pd */
            invokevirtual java.security.ProtectionDomain.getPrincipals:()[Ljava/security/Principal;
            astore 2 /* principals */
        start local 2 // java.security.Principal[] principals
         1: .line 1701
            ldc "<no principals>"
            astore 3 /* pals */
        start local 3 // java.lang.String pals
         2: .line 1702
            aload 2 /* principals */
            ifnull 16
            aload 2 /* principals */
            arraylength
            ifle 16
         3: .line 1703
            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 1704
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         5: goto 14
         6: .line 1705
      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 1706
            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 1707
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         9: .line 1705
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        10: .line 1708
            iload 5 /* i */
            aload 2 /* principals */
            arraylength
            iconst_1
            isub
            if_icmpge 12
        11: .line 1709
            aload 4 /* palBuf */
            ldc ", "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
            goto 13
        12: .line 1711
      StackMap locals:
      StackMap stack:
            aload 4 /* palBuf */
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 1704
      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 1713
            aload 4 /* palBuf */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* pals */
        end local 4 // java.lang.StringBuilder palBuf
        16: .line 1715
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "PD CodeSource: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        17: .line 1716
            aload 1 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        18: .line 1717
            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 1718
            aload 1 /* pd */
            invokevirtual java.security.ProtectionDomain.getClassLoader:()Ljava/lang/ClassLoader;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
        20: .line 1719
            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 1720
            aload 3 /* pals */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        22: .line 1715
            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 1730
            aload 1 /* principals */
            ifnull 1
            aload 1 /* principals */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 1
            aload 2 /* keystore */
            ifnonnull 2
         1: .line 1731
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 1733
      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 1734
            aload 3 /* pppe */
            invokevirtual sun.security.provider.PolicyParser$PrincipalEntry.isReplaceName:()Z
            ifeq 18
         5: .line 1739
            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 1740
            iconst_0
            ireturn
         8: .line 1743
      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 1744
            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 1745
            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 1746
            ldc "\" with "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        12: .line 1747
            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 1748
            aload 5 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 1749
            ldc "\""
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        15: .line 1744
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        16: .line 1752
      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 1753
            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 1733
      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 1758
            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=12, 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 1764
            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 1765
      StackMap locals:
      StackMap stack:
            return
         2: .line 1768
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* startIndex */
        start local 3 // int startIndex
         3: .line 1770
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 6 /* sb */
        start local 6 // java.lang.StringBuilder sb
         4: .line 1771
            goto 43
        start local 4 // int b
         5: .line 1772
      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 1773
            iload 5 /* e */
            iconst_1
            if_icmpge 8
         7: .line 1774
            goto 45
         8: .line 1776
      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 1779
            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 1783
            aload 7 /* value */
            astore 9 /* prefix */
        start local 9 // java.lang.String prefix
        11: .line 1785
            aload 7 /* value */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            dup
            istore 8 /* colonIndex */
        start local 8 // int colonIndex
        12: iconst_m1
            if_icmpeq 14
        13: .line 1786
            aload 7 /* value */
            iconst_0
            iload 8 /* colonIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 9 /* prefix */
        14: .line 1790
      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 1792
            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 1793
            iload 5 /* e */
            iconst_2
            iadd
            istore 3 /* startIndex */
        17: .line 1794
            goto 43
        18: .line 1795
      StackMap locals:
      StackMap stack:
            aload 9 /* prefix */
            ldc "alias"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 37
        19: .line 1797
            iload 8 /* colonIndex */
            iconst_m1
            if_icmpne 26
        20: .line 1798
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* pe */
            getfield sun.security.provider.PolicyParser$PermissionEntry.name:Ljava/lang/String;
            aastore
            astore 11 /* source */
        start local 11 // java.lang.Object[] source
        21: .line 1799
            new java.lang.Exception
            dup
        22: .line 1801
            ldc "alias.name.not.provided.pe.name."
        23: .line 1802
            aload 11 /* source */
        24: .line 1800
            invokestatic sun.security.util.LocalizedMessage.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        25: .line 1799
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.Object[] source
        26: .line 1804
      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 1805
            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 1806
            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 11 /* source */
        start local 11 // java.lang.Object[] source
        29: .line 1807
            new java.lang.Exception
            dup
        30: .line 1809
            ldc "unable.to.perform.substitution.on.alias.suffix"
        31: .line 1810
            aload 11 /* source */
        32: .line 1808
            invokestatic sun.security.util.LocalizedMessage.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        33: .line 1807
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.Object[] source
        34: .line 1813
      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 1814
            iload 5 /* e */
            iconst_2
            iadd
            istore 3 /* startIndex */
        36: .line 1815
            goto 43
        end local 10 // java.lang.String suffix
        37: .line 1816
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 9 /* prefix */
            aastore
            astore 11 /* source */
        start local 11 // java.lang.Object[] source
        38: .line 1817
            new java.lang.Exception
            dup
        39: .line 1819
            ldc "substitution.value.prefix.unsupported"
        40: .line 1820
            aload 11 /* source */
        41: .line 1818
            invokestatic sun.security.util.LocalizedMessage.getMessage:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        42: .line 1817
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.Object[] source
        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 1771
      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 1825
      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 1828
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 50
        47: .line 1829
            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 1830
            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 1829
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        50: .line 1832
      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 1833
            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;
           21   26    11      source  [Ljava/lang/Object;
           29   34    11      source  [Ljava/lang/Object;
           38   43    11      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 1836
            aconst_null
            astore 3 /* cert */
        start local 3 // java.security.cert.Certificate cert
         1: .line 1838
            aload 2 /* keystore */
            aload 1 /* alias */
            invokevirtual java.security.KeyStore.getCertificate:(Ljava/lang/String;)Ljava/security/cert/Certificate;
            astore 3 /* cert */
         2: .line 1839
            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 1840
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 10
         5: .line 1841
            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 1842
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         7: .line 1843
            ldc "': "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         8: .line 1844
            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 1841
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 1846
      StackMap locals: java.lang.Exception
      StackMap stack:
            aconst_null
            areturn
        end local 4 // java.lang.Exception e
        11: .line 1849
      StackMap locals:
      StackMap stack:
            aload 3 /* cert */
            ifnull 12
            aload 3 /* cert */
            instanceof java.security.cert.X509Certificate
            ifne 18
        12: .line 1850
      StackMap locals:
      StackMap stack:
            getstatic sun.security.provider.PolicyFile.debug:Lsun/security/util/Debug;
            ifnull 17
        13: .line 1851
            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 1852
            aload 1 /* alias */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        15: .line 1853
            ldc "' - ignoring entry"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        16: .line 1851
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        17: .line 1855
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        18: .line 1857
      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 1863
            new javax.security.auth.x500.X500Principal
            dup
        20: .line 1864
            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 1863
            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 1865
            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  
}
SourceFile: "PolicyFile.java"
NestMembers:
  sun.security.provider.PolicyFile$1  sun.security.provider.PolicyFile$2  sun.security.provider.PolicyFile$3  sun.security.provider.PolicyFile$4  sun.security.provider.PolicyFile$5  sun.security.provider.PolicyFile$6  sun.security.provider.PolicyFile$7  sun.security.provider.PolicyFile$8  sun.security.provider.PolicyFile$9  sun.security.provider.PolicyFile$PolicyEntry  sun.security.provider.PolicyFile$PolicyInfo  sun.security.provider.PolicyFile$SelfPermission
InnerClasses:
  public abstract ProtectionDomainCache = jdk.internal.misc.JavaSecurityProtectionDomainAccess$ProtectionDomainCache of jdk.internal.misc.JavaSecurityProtectionDomainAccess
  sun.security.provider.PolicyFile$1
  sun.security.provider.PolicyFile$2
  sun.security.provider.PolicyFile$3
  sun.security.provider.PolicyFile$4
  sun.security.provider.PolicyFile$5
  sun.security.provider.PolicyFile$6
  sun.security.provider.PolicyFile$7
  sun.security.provider.PolicyFile$8
  sun.security.provider.PolicyFile$9
  private PolicyEntry = sun.security.provider.PolicyFile$PolicyEntry of sun.security.provider.PolicyFile
  private PolicyInfo = sun.security.provider.PolicyFile$PolicyInfo of sun.security.provider.PolicyFile
  private SelfPermission = sun.security.provider.PolicyFile$SelfPermission of sun.security.provider.PolicyFile
  public GrantEntry = sun.security.provider.PolicyParser$GrantEntry of sun.security.provider.PolicyParser
  public ParsingException = sun.security.provider.PolicyParser$ParsingException of sun.security.provider.PolicyParser
  public PermissionEntry = sun.security.provider.PolicyParser$PermissionEntry of sun.security.provider.PolicyParser
  public PrincipalEntry = sun.security.provider.PolicyParser$PrincipalEntry of sun.security.provider.PolicyParser