public abstract class java.lang.ClassLoader
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: java.lang.ClassLoader
  super_class: java.lang.Object
{
  private final java.lang.ClassLoader parent;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.concurrent.ConcurrentHashMap<java.lang.String, java.lang.Object> parallelLockMap;
    descriptor: Ljava/util/concurrent/ConcurrentHashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/concurrent/ConcurrentHashMap<Ljava/lang/String;Ljava/lang/Object;>;

  private final java.util.Map<java.lang.String, java.security.cert.Certificate[]> package2certs;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;[Ljava/security/cert/Certificate;>;

  private static final java.security.cert.Certificate[] nocerts;
    descriptor: [Ljava/security/cert/Certificate;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.Vector<java.lang.Class<?>> classes;
    descriptor: Ljava/util/Vector;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Vector<Ljava/lang/Class<*>;>;

  private final java.security.ProtectionDomain defaultDomain;
    descriptor: Ljava/security/ProtectionDomain;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.HashMap<java.lang.String, java.lang.Package> packages;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/lang/String;Ljava/lang/Package;>;

  private static java.lang.ClassLoader scl;
    descriptor: Ljava/lang/ClassLoader;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static boolean sclSet;
    descriptor: Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.util.Vector<java.lang.String> loadedLibraryNames;
    descriptor: Ljava/util/Vector;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Vector<Ljava/lang/String;>;

  private static java.util.Vector<java.lang.ClassLoader$NativeLibrary> systemNativeLibraries;
    descriptor: Ljava/util/Vector;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Vector<Ljava/lang/ClassLoader$NativeLibrary;>;

  private java.util.Vector<java.lang.ClassLoader$NativeLibrary> nativeLibraries;
    descriptor: Ljava/util/Vector;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Vector<Ljava/lang/ClassLoader$NativeLibrary;>;

  private static java.util.Stack<java.lang.ClassLoader$NativeLibrary> nativeLibraryContext;
    descriptor: Ljava/util/Stack;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Signature: Ljava/util/Stack<Ljava/lang/ClassLoader$NativeLibrary;>;

  private static java.lang.String[] usr_paths;
    descriptor: [Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.String[] sys_paths;
    descriptor: [Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  final java.lang.Object assertionLock;
    descriptor: Ljava/lang/Object;
    flags: (0x0010) ACC_FINAL

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

  private java.util.Map<java.lang.String, java.lang.Boolean> packageAssertionStatus;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Boolean;>;

  java.util.Map<java.lang.String, java.lang.Boolean> classAssertionStatus;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/Boolean;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 182
            invokestatic java.lang.ClassLoader.registerNatives:()V
         1: .line 246
            iconst_0
            anewarray java.security.cert.Certificate
            putstatic java.lang.ClassLoader.nocerts:[Ljava/security/cert/Certificate;
         2: .line 1759
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
         3: .line 1763
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
         4: .line 1762
            putstatic java.lang.ClassLoader.systemNativeLibraries:Ljava/util/Vector;
         5: .line 1769
            new java.util.Stack
            dup
            invokespecial java.util.Stack.<init>:()V
            putstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
         6: .line 1773
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static native void registerNatives();
    descriptor: ()V
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE

  void addClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.Class c
         0: .line 260
            aload 0 /* this */
            getfield java.lang.ClassLoader.classes:Ljava/util/Vector;
            aload 1 /* c */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         1: .line 261
            return
        end local 1 // java.lang.Class c
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/ClassLoader;
            0    2     1     c  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
      Name  Flags
      c     

  private static java.lang.Void checkCreateClassLoader();
    descriptor: ()Ljava/lang/Void;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 269
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* security */
        start local 0 // java.lang.SecurityManager security
         1: .line 270
            aload 0 /* security */
            ifnull 3
         2: .line 271
            aload 0 /* security */
            invokevirtual java.lang.SecurityManager.checkCreateClassLoader:()V
         3: .line 273
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.SecurityManager security
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            1    4     0  security  Ljava/lang/SecurityManager;

  private void <init>(java.lang.Void, java.lang.ClassLoader);
    descriptor: (Ljava/lang/Void;Ljava/lang/ClassLoader;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.Void unused
        start local 2 // java.lang.ClassLoader parent
         0: .line 276
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 250
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield java.lang.ClassLoader.classes:Ljava/util/Vector;
         2: .line 254
            aload 0 /* this */
         3: .line 255
            new java.security.ProtectionDomain
            dup
            new java.security.CodeSource
            dup
            aconst_null
            aconst_null
            invokespecial java.security.CodeSource.<init>:(Ljava/net/URL;[Ljava/security/cert/Certificate;)V
         4: .line 256
            aconst_null
            aload 0 /* this */
            aconst_null
         5: .line 255
            invokespecial java.security.ProtectionDomain.<init>:(Ljava/security/CodeSource;Ljava/security/PermissionCollection;Ljava/lang/ClassLoader;[Ljava/security/Principal;)V
            putfield java.lang.ClassLoader.defaultDomain:Ljava/security/ProtectionDomain;
         6: .line 266
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
         7: .line 1766
            aload 0 /* this */
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            putfield java.lang.ClassLoader.nativeLibraries:Ljava/util/Vector;
         8: .line 1971
            aload 0 /* this */
            iconst_0
            putfield java.lang.ClassLoader.defaultAssertionStatus:Z
         9: .line 1979
            aload 0 /* this */
            aconst_null
            putfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
        10: .line 1986
            aload 0 /* this */
            aconst_null
            putfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
        11: .line 277
            aload 0 /* this */
            aload 2 /* parent */
            putfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
        12: .line 278
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader$ParallelLoaders.isRegistered:(Ljava/lang/Class;)Z
            ifeq 17
        13: .line 279
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
        14: .line 280
            aload 0 /* this */
            new java.util.concurrent.ConcurrentHashMap
            dup
            invokespecial java.util.concurrent.ConcurrentHashMap.<init>:()V
            putfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
        15: .line 281
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
        16: .line 282
            goto 20
        17: .line 284
      StackMap locals: java.lang.ClassLoader java.lang.Void java.lang.ClassLoader
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
        18: .line 285
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
        19: .line 286
            aload 0 /* this */
            aload 0 /* this */
            putfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
        20: .line 288
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.ClassLoader parent
        end local 1 // java.lang.Void unused
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   21     0    this  Ljava/lang/ClassLoader;
            0   21     1  unused  Ljava/lang/Void;
            0   21     2  parent  Ljava/lang/ClassLoader;
    MethodParameters:
        Name  Flags
      unused  
      parent  

  protected void <init>(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.ClassLoader parent
         0: .line 310
            aload 0 /* this */
            invokestatic java.lang.ClassLoader.checkCreateClassLoader:()Ljava/lang/Void;
            aload 1 /* parent */
            invokespecial java.lang.ClassLoader.<init>:(Ljava/lang/Void;Ljava/lang/ClassLoader;)V
         1: .line 311
            return
        end local 1 // java.lang.ClassLoader parent
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/lang/ClassLoader;
            0    2     1  parent  Ljava/lang/ClassLoader;
    MethodParameters:
        Name  Flags
      parent  

  protected void <init>();
    descriptor: ()V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.ClassLoader this
         0: .line 329
            aload 0 /* this */
            invokestatic java.lang.ClassLoader.checkCreateClassLoader:()Ljava/lang/Void;
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            invokespecial java.lang.ClassLoader.<init>:(Ljava/lang/Void;Ljava/lang/ClassLoader;)V
         1: .line 330
            return
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/ClassLoader;

  public java.lang.Class<?> loadClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 351
            aload 0 /* this */
            aload 1 /* name */
            iconst_0
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;Z)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ClassLoader;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  protected java.lang.Class<?> loadClass(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean resolve
         0: .line 398
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getClassLoadingLock:(Ljava/lang/String;)Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 400
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findLoadedClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* c */
        start local 4 // java.lang.Class c
         2: .line 401
            aload 4 /* c */
            ifnonnull 16
         3: .line 402
            invokestatic java.lang.System.nanoTime:()J
            lstore 5 /* t0 */
        start local 5 // long t0
         4: .line 404
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnull 7
         5: .line 405
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            aload 1 /* name */
            iconst_0
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;Z)Ljava/lang/Class;
            astore 4 /* c */
         6: .line 406
            goto 10
         7: .line 407
      StackMap locals: java.lang.Object java.lang.Class long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findBootstrapClassOrNull:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* c */
         8: .line 409
            goto 10
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
         9: pop
        10: .line 414
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            ifnonnull 16
        11: .line 417
            invokestatic java.lang.System.nanoTime:()J
            lstore 7 /* t1 */
        start local 7 // long t1
        12: .line 418
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* c */
        13: .line 421
            invokestatic sun.misc.PerfCounter.getParentDelegationTime:()Lsun/misc/PerfCounter;
            lload 7 /* t1 */
            lload 5 /* t0 */
            lsub
            invokevirtual sun.misc.PerfCounter.addTime:(J)V
        14: .line 422
            invokestatic sun.misc.PerfCounter.getFindClassTime:()Lsun/misc/PerfCounter;
            lload 7 /* t1 */
            invokevirtual sun.misc.PerfCounter.addElapsedTimeFrom:(J)V
        15: .line 423
            invokestatic sun.misc.PerfCounter.getFindClasses:()Lsun/misc/PerfCounter;
            invokevirtual sun.misc.PerfCounter.increment:()V
        end local 7 // long t1
        end local 5 // long t0
        16: .line 426
      StackMap locals:
      StackMap stack:
            iload 2 /* resolve */
            ifeq 18
        17: .line 427
            aload 0 /* this */
            aload 4 /* c */
            invokevirtual java.lang.ClassLoader.resolveClass:(Ljava/lang/Class;)V
        18: .line 429
      StackMap locals:
      StackMap stack:
            aload 4 /* c */
            aload 3
            monitorexit
        19: areturn
        end local 4 // java.lang.Class c
        20: .line 398
      StackMap locals: java.lang.ClassLoader java.lang.String int java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 3
            monitorexit
        21: athrow
        end local 2 // boolean resolve
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   22     0     this  Ljava/lang/ClassLoader;
            0   22     1     name  Ljava/lang/String;
            0   22     2  resolve  Z
            2   20     4        c  Ljava/lang/Class<*>;
            4   16     5       t0  J
           12   16     7       t1  J
      Exception table:
        from    to  target  type
           4     8       9  Class java.lang.ClassNotFoundException
           1    19      20  any
          20    21      20  any
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;Z)Ljava/lang/Class<*>;
    MethodParameters:
         Name  Flags
      name     
      resolve  

  protected java.lang.Object getClassLoadingLock(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String className
         0: .line 454
            aload 0 /* this */
            astore 2 /* lock */
        start local 2 // java.lang.Object lock
         1: .line 455
            aload 0 /* this */
            getfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
            ifnull 6
         2: .line 456
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            astore 3 /* newLock */
        start local 3 // java.lang.Object newLock
         3: .line 457
            aload 0 /* this */
            getfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
            aload 1 /* className */
            aload 3 /* newLock */
            invokevirtual java.util.concurrent.ConcurrentHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* lock */
         4: .line 458
            aload 2 /* lock */
            ifnonnull 6
         5: .line 459
            aload 3 /* newLock */
            astore 2 /* lock */
        end local 3 // java.lang.Object newLock
         6: .line 462
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2 /* lock */
            areturn
        end local 2 // java.lang.Object lock
        end local 1 // java.lang.String className
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    7     0       this  Ljava/lang/ClassLoader;
            0    7     1  className  Ljava/lang/String;
            1    7     2       lock  Ljava/lang/Object;
            3    6     3    newLock  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      className  

  private java.lang.Class<?> loadClassInternal(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 471
            aload 0 /* this */
            getfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
            ifnonnull 6
         1: .line 472
            aload 0 /* this */
            dup
            astore 2
            monitorenter
         2: .line 473
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            aload 2
            monitorexit
         3: areturn
         4: .line 472
      StackMap locals: java.lang.ClassLoader java.lang.String java.lang.ClassLoader
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
         5: athrow
         6: .line 476
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/lang/ClassLoader;
            0    7     1  name  Ljava/lang/String;
      Exception table:
        from    to  target  type
           2     3       4  any
           4     5       4  any
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  private void checkPackageAccess(java.lang.Class<?>, java.security.ProtectionDomain);
    descriptor: (Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.Class cls
        start local 2 // java.security.ProtectionDomain pd
         0: .line 482
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 3 /* sm */
        start local 3 // java.lang.SecurityManager sm
         1: .line 483
            aload 3 /* sm */
            ifnull 15
         2: .line 484
            aload 1 /* cls */
            invokestatic sun.reflect.misc.ReflectUtil.isNonPublicProxyClass:(Ljava/lang/Class;)Z
            ifeq 9
         3: .line 485
            aload 1 /* cls */
            invokevirtual java.lang.Class.getInterfaces:()[Ljava/lang/Class;
            dup
            astore 7
            arraylength
            istore 6
            iconst_0
            istore 5
            goto 7
      StackMap locals: java.lang.ClassLoader java.lang.Class java.security.ProtectionDomain java.lang.SecurityManager top int int java.lang.Class[]
      StackMap stack:
         4: aload 7
            iload 5
            aaload
            astore 4 /* intf */
        start local 4 // java.lang.Class intf
         5: .line 486
            aload 0 /* this */
            aload 4 /* intf */
            aload 2 /* pd */
            invokevirtual java.lang.ClassLoader.checkPackageAccess:(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
        end local 4 // java.lang.Class intf
         6: .line 485
            iinc 5 1
      StackMap locals:
      StackMap stack:
         7: iload 5
            iload 6
            if_icmplt 4
         8: .line 488
            return
         9: .line 491
      StackMap locals: java.lang.ClassLoader java.lang.Class java.security.ProtectionDomain java.lang.SecurityManager
      StackMap stack:
            aload 1 /* cls */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
        10: .line 492
            aload 4 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 5 /* i */
        start local 5 // int i
        11: .line 493
            iload 5 /* i */
            iconst_m1
            if_icmpeq 15
        12: .line 494
            new java.lang.ClassLoader$1
            dup
            aload 0 /* this */
            aload 3 /* sm */
            aload 4 /* name */
            iload 5 /* i */
            invokespecial java.lang.ClassLoader$1.<init>:(Ljava/lang/ClassLoader;Ljava/lang/SecurityManager;Ljava/lang/String;I)V
        13: .line 499
            new java.security.AccessControlContext
            dup
            iconst_1
            anewarray java.security.ProtectionDomain
            dup
            iconst_0
            aload 2 /* pd */
            aastore
            invokespecial java.security.AccessControlContext.<init>:([Ljava/security/ProtectionDomain;)V
        14: .line 494
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
        end local 5 // int i
        end local 4 // java.lang.String name
        15: .line 502
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.SecurityManager sm
        end local 2 // java.security.ProtectionDomain pd
        end local 1 // java.lang.Class cls
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   16     0  this  Ljava/lang/ClassLoader;
            0   16     1   cls  Ljava/lang/Class<*>;
            0   16     2    pd  Ljava/security/ProtectionDomain;
            1   16     3    sm  Ljava/lang/SecurityManager;
            5    6     4  intf  Ljava/lang/Class<*>;
           10   15     4  name  Ljava/lang/String;
           11   15     5     i  I
    Signature: (Ljava/lang/Class<*>;Ljava/security/ProtectionDomain;)V
    MethodParameters:
      Name  Flags
      cls   
      pd    

  protected java.lang.Class<?> findClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 523
            new java.lang.ClassNotFoundException
            dup
            aload 1 /* name */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ClassLoader;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  protected final java.lang.Class<?> defineClass(byte[], int, int);
    descriptor: ([BII)Ljava/lang/Class;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // java.lang.ClassLoader this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 571
            aload 0 /* this */
            aconst_null
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            aconst_null
            invokevirtual java.lang.ClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
            areturn
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ClassLoader;
            0    1     1     b  [B
            0    1     2   off  I
            0    1     3   len  I
    Exceptions:
      throws java.lang.ClassFormatError
    Signature: ([BII)Ljava/lang/Class<*>;
    RuntimeVisibleAnnotations: 
      java.lang.Deprecated()
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  protected final java.lang.Class<?> defineClass(java.lang.String, byte[], int, int);
    descriptor: (Ljava/lang/String;[BII)Ljava/lang/Class;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // byte[] b
        start local 3 // int off
        start local 4 // int len
         0: .line 635
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* b */
            iload 3 /* off */
            iload 4 /* len */
            aconst_null
            invokevirtual java.lang.ClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
            areturn
        end local 4 // int len
        end local 3 // int off
        end local 2 // byte[] b
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ClassLoader;
            0    1     1  name  Ljava/lang/String;
            0    1     2     b  [B
            0    1     3   off  I
            0    1     4   len  I
    Exceptions:
      throws java.lang.ClassFormatError
    Signature: (Ljava/lang/String;[BII)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  
      b     
      off   
      len   

  private java.security.ProtectionDomain preDefineClass(java.lang.String, java.security.ProtectionDomain);
    descriptor: (Ljava/lang/String;Ljava/security/ProtectionDomain;)Ljava/security/ProtectionDomain;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // java.security.ProtectionDomain pd
         0: .line 646
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
            ifne 2
         1: .line 647
            new java.lang.NoClassDefFoundError
            dup
            new java.lang.StringBuilder
            dup
            ldc "IllegalName: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.NoClassDefFoundError.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 652
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ifnull 8
            aload 1 /* name */
            ldc "java."
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 8
         3: .line 653
            new java.lang.SecurityException
            dup
         4: .line 654
            new java.lang.StringBuilder
            dup
            ldc "Prohibited package name: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
         5: .line 655
            aload 1 /* name */
            iconst_0
            aload 1 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         6: .line 654
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         7: .line 653
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
         8: .line 657
      StackMap locals:
      StackMap stack:
            aload 2 /* pd */
            ifnonnull 10
         9: .line 658
            aload 0 /* this */
            getfield java.lang.ClassLoader.defaultDomain:Ljava/security/ProtectionDomain;
            astore 2 /* pd */
        10: .line 661
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            ifnull 11
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual java.lang.ClassLoader.checkCerts:(Ljava/lang/String;Ljava/security/CodeSource;)V
        11: .line 663
      StackMap locals:
      StackMap stack:
            aload 2 /* pd */
            areturn
        end local 2 // java.security.ProtectionDomain pd
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0  this  Ljava/lang/ClassLoader;
            0   12     1  name  Ljava/lang/String;
            0   12     2    pd  Ljava/security/ProtectionDomain;
    MethodParameters:
      Name  Flags
      name  
      pd    

  private java.lang.String defineClassSourceLocation(java.security.ProtectionDomain);
    descriptor: (Ljava/security/ProtectionDomain;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=4, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.security.ProtectionDomain pd
         0: .line 668
            aload 1 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            astore 2 /* cs */
        start local 2 // java.security.CodeSource cs
         1: .line 669
            aconst_null
            astore 3 /* source */
        start local 3 // java.lang.String source
         2: .line 670
            aload 2 /* cs */
            ifnull 4
            aload 2 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            ifnull 4
         3: .line 671
            aload 2 /* cs */
            invokevirtual java.security.CodeSource.getLocation:()Ljava/net/URL;
            invokevirtual java.net.URL.toString:()Ljava/lang/String;
            astore 3 /* source */
         4: .line 673
      StackMap locals: java.security.CodeSource java.lang.String
      StackMap stack:
            aload 3 /* source */
            areturn
        end local 3 // java.lang.String source
        end local 2 // java.security.CodeSource cs
        end local 1 // java.security.ProtectionDomain pd
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    5     0    this  Ljava/lang/ClassLoader;
            0    5     1      pd  Ljava/security/ProtectionDomain;
            1    5     2      cs  Ljava/security/CodeSource;
            2    5     3  source  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      pd    

  private void postDefineClass(java.lang.Class<?>, java.security.ProtectionDomain);
    descriptor: (Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.Class c
        start local 2 // java.security.ProtectionDomain pd
         0: .line 678
            aload 2 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            ifnull 4
         1: .line 679
            aload 2 /* pd */
            invokevirtual java.security.ProtectionDomain.getCodeSource:()Ljava/security/CodeSource;
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            astore 3 /* certs */
        start local 3 // java.security.cert.Certificate[] certs
         2: .line 680
            aload 3 /* certs */
            ifnull 4
         3: .line 681
            aload 0 /* this */
            aload 1 /* c */
            aload 3 /* certs */
            invokevirtual java.lang.ClassLoader.setSigners:(Ljava/lang/Class;[Ljava/lang/Object;)V
        end local 3 // java.security.cert.Certificate[] certs
         4: .line 683
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.security.ProtectionDomain pd
        end local 1 // java.lang.Class c
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    5     0   this  Ljava/lang/ClassLoader;
            0    5     1      c  Ljava/lang/Class<*>;
            0    5     2     pd  Ljava/security/ProtectionDomain;
            2    4     3  certs  [Ljava/security/cert/Certificate;
    Signature: (Ljava/lang/Class<*>;Ljava/security/ProtectionDomain;)V
    MethodParameters:
      Name  Flags
      c     
      pd    

  protected final java.lang.Class<?> defineClass(java.lang.String, byte[], int, int, java.security.ProtectionDomain);
    descriptor: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // byte[] b
        start local 3 // int off
        start local 4 // int len
        start local 5 // java.security.ProtectionDomain protectionDomain
         0: .line 754
            aload 0 /* this */
            aload 1 /* name */
            aload 5 /* protectionDomain */
            invokevirtual java.lang.ClassLoader.preDefineClass:(Ljava/lang/String;Ljava/security/ProtectionDomain;)Ljava/security/ProtectionDomain;
            astore 5 /* protectionDomain */
         1: .line 755
            aload 0 /* this */
            aload 5 /* protectionDomain */
            invokevirtual java.lang.ClassLoader.defineClassSourceLocation:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
            astore 6 /* source */
        start local 6 // java.lang.String source
         2: .line 756
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* b */
            iload 3 /* off */
            iload 4 /* len */
            aload 5 /* protectionDomain */
            aload 6 /* source */
            invokevirtual java.lang.ClassLoader.defineClass1:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
            astore 7 /* c */
        start local 7 // java.lang.Class c
         3: .line 757
            aload 0 /* this */
            aload 7 /* c */
            aload 5 /* protectionDomain */
            invokevirtual java.lang.ClassLoader.postDefineClass:(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
         4: .line 758
            aload 7 /* c */
            areturn
        end local 7 // java.lang.Class c
        end local 6 // java.lang.String source
        end local 5 // java.security.ProtectionDomain protectionDomain
        end local 4 // int len
        end local 3 // int off
        end local 2 // byte[] b
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    5     0              this  Ljava/lang/ClassLoader;
            0    5     1              name  Ljava/lang/String;
            0    5     2                 b  [B
            0    5     3               off  I
            0    5     4               len  I
            0    5     5  protectionDomain  Ljava/security/ProtectionDomain;
            2    5     6            source  Ljava/lang/String;
            3    5     7                 c  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.ClassFormatError
    Signature: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class<*>;
    MethodParameters:
                  Name  Flags
      name              
      b                 
      off               
      len               
      protectionDomain  

  protected final java.lang.Class<?> defineClass(java.lang.String, java.nio.ByteBuffer, java.security.ProtectionDomain);
    descriptor: (Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=7, locals=7, args_size=4
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // java.nio.ByteBuffer b
        start local 3 // java.security.ProtectionDomain protectionDomain
         0: .line 827
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.remaining:()I
            istore 4 /* len */
        start local 4 // int len
         1: .line 830
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.isDirect:()Z
            ifne 10
         2: .line 831
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.hasArray:()Z
            ifeq 7
         3: .line 832
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.array:()[B
         4: .line 833
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.position:()I
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.arrayOffset:()I
            iadd
            iload 4 /* len */
         5: .line 834
            aload 3 /* protectionDomain */
         6: .line 832
            invokevirtual java.lang.ClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
            areturn
         7: .line 837
      StackMap locals: int
      StackMap stack:
            iload 4 /* len */
            newarray 8
            astore 5 /* tb */
        start local 5 // byte[] tb
         8: .line 838
            aload 2 /* b */
            aload 5 /* tb */
            invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
            pop
         9: .line 839
            aload 0 /* this */
            aload 1 /* name */
            aload 5 /* tb */
            iconst_0
            iload 4 /* len */
            aload 3 /* protectionDomain */
            invokevirtual java.lang.ClassLoader.defineClass:(Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
            areturn
        end local 5 // byte[] tb
        10: .line 843
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            aload 3 /* protectionDomain */
            invokevirtual java.lang.ClassLoader.preDefineClass:(Ljava/lang/String;Ljava/security/ProtectionDomain;)Ljava/security/ProtectionDomain;
            astore 3 /* protectionDomain */
        11: .line 844
            aload 0 /* this */
            aload 3 /* protectionDomain */
            invokevirtual java.lang.ClassLoader.defineClassSourceLocation:(Ljava/security/ProtectionDomain;)Ljava/lang/String;
            astore 5 /* source */
        start local 5 // java.lang.String source
        12: .line 845
            aload 0 /* this */
            aload 1 /* name */
            aload 2 /* b */
            aload 2 /* b */
            invokevirtual java.nio.ByteBuffer.position:()I
            iload 4 /* len */
            aload 3 /* protectionDomain */
            aload 5 /* source */
            invokevirtual java.lang.ClassLoader.defineClass2:(Ljava/lang/String;Ljava/nio/ByteBuffer;IILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* c */
        start local 6 // java.lang.Class c
        13: .line 846
            aload 0 /* this */
            aload 6 /* c */
            aload 3 /* protectionDomain */
            invokevirtual java.lang.ClassLoader.postDefineClass:(Ljava/lang/Class;Ljava/security/ProtectionDomain;)V
        14: .line 847
            aload 6 /* c */
            areturn
        end local 6 // java.lang.Class c
        end local 5 // java.lang.String source
        end local 4 // int len
        end local 3 // java.security.ProtectionDomain protectionDomain
        end local 2 // java.nio.ByteBuffer b
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   15     0              this  Ljava/lang/ClassLoader;
            0   15     1              name  Ljava/lang/String;
            0   15     2                 b  Ljava/nio/ByteBuffer;
            0   15     3  protectionDomain  Ljava/security/ProtectionDomain;
            1   15     4               len  I
            8   10     5                tb  [B
           12   15     5            source  Ljava/lang/String;
           13   15     6                 c  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.ClassFormatError
    Signature: (Ljava/lang/String;Ljava/nio/ByteBuffer;Ljava/security/ProtectionDomain;)Ljava/lang/Class<*>;
    MethodParameters:
                  Name  Flags
      name              
      b                 
      protectionDomain  

  private native java.lang.Class<?> defineClass0(java.lang.String, byte[], int, int, java.security.ProtectionDomain);
    descriptor: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Signature: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  
      b     
      off   
      len   
      pd    

  private native java.lang.Class<?> defineClass1(java.lang.String, byte[], int, int, java.security.ProtectionDomain, java.lang.String);
    descriptor: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Signature: (Ljava/lang/String;[BIILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
        Name  Flags
      name    
      b       
      off     
      len     
      pd      
      source  

  private native java.lang.Class<?> defineClass2(java.lang.String, java.nio.ByteBuffer, int, int, java.security.ProtectionDomain, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/nio/ByteBuffer;IILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Signature: (Ljava/lang/String;Ljava/nio/ByteBuffer;IILjava/security/ProtectionDomain;Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
        Name  Flags
      name    
      b       
      off     
      len     
      pd      
      source  

  private boolean checkName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 862
            aload 1 /* name */
            ifnull 1
            aload 1 /* name */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 863
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         2: .line 864
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            bipush 47
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpne 4
         3: .line 865
            invokestatic sun.misc.VM.allowArraySyntax:()Z
            ifne 5
            aload 1 /* name */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 91
            if_icmpne 5
         4: .line 866
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
         5: .line 867
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/ClassLoader;
            0    6     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  private void checkCerts(java.lang.String, java.security.CodeSource);
    descriptor: (Ljava/lang/String;Ljava/security/CodeSource;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=8, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // java.security.CodeSource cs
         0: .line 871
            aload 1 /* name */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 3 /* i */
        start local 3 // int i
         1: .line 872
            iload 3 /* i */
            iconst_m1
            if_icmpne 2
            ldc ""
            goto 3
      StackMap locals: int
      StackMap stack:
         2: aload 1 /* name */
            iconst_0
            iload 3 /* i */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
      StackMap locals:
      StackMap stack: java.lang.String
         3: astore 4 /* pname */
        start local 4 // java.lang.String pname
         4: .line 874
            aconst_null
            astore 5 /* certs */
        start local 5 // java.security.cert.Certificate[] certs
         5: .line 875
            aload 2 /* cs */
            ifnull 7
         6: .line 876
            aload 2 /* cs */
            invokevirtual java.security.CodeSource.getCertificates:()[Ljava/security/cert/Certificate;
            astore 5 /* certs */
         7: .line 878
      StackMap locals: java.lang.String java.security.cert.Certificate[]
      StackMap stack:
            aconst_null
            astore 6 /* pcerts */
        start local 6 // java.security.cert.Certificate[] pcerts
         8: .line 879
            aload 0 /* this */
            getfield java.lang.ClassLoader.parallelLockMap:Ljava/util/concurrent/ConcurrentHashMap;
            ifnonnull 19
         9: .line 880
            aload 0 /* this */
            dup
            astore 7
            monitorenter
        10: .line 881
            aload 0 /* this */
            getfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
            aload 4 /* pname */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
            astore 6 /* pcerts */
        11: .line 882
            aload 6 /* pcerts */
            ifnonnull 15
        12: .line 883
            aload 0 /* this */
            getfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
            aload 4 /* pname */
            aload 5 /* certs */
            ifnonnull 13
            getstatic java.lang.ClassLoader.nocerts:[Ljava/security/cert/Certificate;
            goto 14
      StackMap locals: java.lang.ClassLoader java.lang.String java.security.CodeSource int java.lang.String java.security.cert.Certificate[] java.security.cert.Certificate[] java.lang.ClassLoader
      StackMap stack: java.util.Map java.lang.String
        13: aload 5 /* certs */
      StackMap locals: java.lang.ClassLoader java.lang.String java.security.CodeSource int java.lang.String java.security.cert.Certificate[] java.security.cert.Certificate[] java.lang.ClassLoader
      StackMap stack: java.util.Map java.lang.String java.security.cert.Certificate[]
        14: invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 880
      StackMap locals:
      StackMap stack:
            aload 7
            monitorexit
        16: goto 24
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: aload 7
            monitorexit
        18: athrow
        19: .line 887
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.package2certs:Ljava/util/Map;
            checkcast java.util.concurrent.ConcurrentHashMap
        20: .line 888
            aload 4 /* pname */
            aload 5 /* certs */
            ifnonnull 21
            getstatic java.lang.ClassLoader.nocerts:[Ljava/security/cert/Certificate;
            goto 22
      StackMap locals: java.lang.ClassLoader java.lang.String java.security.CodeSource int java.lang.String java.security.cert.Certificate[] java.security.cert.Certificate[]
      StackMap stack: java.util.concurrent.ConcurrentHashMap java.lang.String
        21: aload 5 /* certs */
      StackMap locals: java.lang.ClassLoader java.lang.String java.security.CodeSource int java.lang.String java.security.cert.Certificate[] java.security.cert.Certificate[]
      StackMap stack: java.util.concurrent.ConcurrentHashMap java.lang.String java.security.cert.Certificate[]
        22: invokevirtual java.util.concurrent.ConcurrentHashMap.putIfAbsent:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.security.cert.Certificate[]
        23: .line 887
            astore 6 /* pcerts */
        24: .line 890
      StackMap locals:
      StackMap stack:
            aload 6 /* pcerts */
            ifnull 28
            aload 0 /* this */
            aload 6 /* pcerts */
            aload 5 /* certs */
            invokevirtual java.lang.ClassLoader.compareCerts:([Ljava/security/cert/Certificate;[Ljava/security/cert/Certificate;)Z
            ifne 28
        25: .line 891
            new java.lang.SecurityException
            dup
            new java.lang.StringBuilder
            dup
            ldc "class \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        26: .line 892
            ldc "\"'s signer information does not match signer information of other classes in the same package"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 891
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
        28: .line 894
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.security.cert.Certificate[] pcerts
        end local 5 // java.security.cert.Certificate[] certs
        end local 4 // java.lang.String pname
        end local 3 // int i
        end local 2 // java.security.CodeSource cs
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   29     0    this  Ljava/lang/ClassLoader;
            0   29     1    name  Ljava/lang/String;
            0   29     2      cs  Ljava/security/CodeSource;
            1   29     3       i  I
            4   29     4   pname  Ljava/lang/String;
            5   29     5   certs  [Ljava/security/cert/Certificate;
            8   29     6  pcerts  [Ljava/security/cert/Certificate;
      Exception table:
        from    to  target  type
          10    16      17  any
          17    18      17  any
    MethodParameters:
      Name  Flags
      name  
      cs    

  private boolean compareCerts(java.security.cert.Certificate[], java.security.cert.Certificate[]);
    descriptor: ([Ljava/security/cert/Certificate;[Ljava/security/cert/Certificate;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.security.cert.Certificate[] pcerts
        start local 2 // java.security.cert.Certificate[] certs
         0: .line 904
            aload 2 /* certs */
            ifnull 1
            aload 2 /* certs */
            arraylength
            ifne 3
         1: .line 905
      StackMap locals:
      StackMap stack:
            aload 1 /* pcerts */
            arraylength
            ifne 2
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         2: iconst_0
            ireturn
         3: .line 909
      StackMap locals:
      StackMap stack:
            aload 2 /* certs */
            arraylength
            aload 1 /* pcerts */
            arraylength
            if_icmpeq 5
         4: .line 910
            iconst_0
            ireturn
         5: .line 915
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         6: goto 17
         7: .line 916
      StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] top int
      StackMap stack:
            iconst_0
            istore 3 /* match */
        start local 3 // boolean match
         8: .line 917
            iconst_0
            istore 5 /* j */
        start local 5 // int j
         9: goto 14
        10: .line 918
      StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] int int int
      StackMap stack:
            aload 2 /* certs */
            iload 4 /* i */
            aaload
            aload 1 /* pcerts */
            iload 5 /* j */
            aaload
            invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 13
        11: .line 919
            iconst_1
            istore 3 /* match */
        12: .line 920
            goto 15
        13: .line 917
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        14: iload 5 /* j */
            aload 1 /* pcerts */
            arraylength
            if_icmplt 10
        end local 5 // int j
        15: .line 923
      StackMap locals:
      StackMap stack:
            iload 3 /* match */
            ifne 16
            iconst_0
            ireturn
        16: .line 915
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
        end local 3 // boolean match
      StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] top int
      StackMap stack:
        17: iload 4 /* i */
            aload 2 /* certs */
            arraylength
            if_icmplt 7
        end local 4 // int i
        18: .line 927
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        19: goto 30
        20: .line 928
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* match */
        start local 3 // boolean match
        21: .line 929
            iconst_0
            istore 5 /* j */
        start local 5 // int j
        22: goto 27
        23: .line 930
      StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] int int int
      StackMap stack:
            aload 1 /* pcerts */
            iload 4 /* i */
            aaload
            aload 2 /* certs */
            iload 5 /* j */
            aaload
            invokevirtual java.security.cert.Certificate.equals:(Ljava/lang/Object;)Z
            ifeq 26
        24: .line 931
            iconst_1
            istore 3 /* match */
        25: .line 932
            goto 28
        26: .line 929
      StackMap locals:
      StackMap stack:
            iinc 5 /* j */ 1
      StackMap locals:
      StackMap stack:
        27: iload 5 /* j */
            aload 2 /* certs */
            arraylength
            if_icmplt 23
        end local 5 // int j
        28: .line 935
      StackMap locals:
      StackMap stack:
            iload 3 /* match */
            ifne 29
            iconst_0
            ireturn
        29: .line 927
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
        end local 3 // boolean match
      StackMap locals: java.lang.ClassLoader java.security.cert.Certificate[] java.security.cert.Certificate[] top int
      StackMap stack:
        30: iload 4 /* i */
            aload 1 /* pcerts */
            arraylength
            if_icmplt 20
        end local 4 // int i
        31: .line 938
            iconst_1
            ireturn
        end local 2 // java.security.cert.Certificate[] certs
        end local 1 // java.security.cert.Certificate[] pcerts
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   32     0    this  Ljava/lang/ClassLoader;
            0   32     1  pcerts  [Ljava/security/cert/Certificate;
            0   32     2   certs  [Ljava/security/cert/Certificate;
            8   17     3   match  Z
           21   30     3   match  Z
            6   18     4       i  I
            9   15     5       j  I
           19   31     4       i  I
           22   28     5       j  I
    MethodParameters:
        Name  Flags
      pcerts  
      certs   

  protected final void resolveClass(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.Class c
         0: .line 957
            aload 0 /* this */
            aload 1 /* c */
            invokevirtual java.lang.ClassLoader.resolveClass0:(Ljava/lang/Class;)V
         1: .line 958
            return
        end local 1 // java.lang.Class c
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/ClassLoader;
            0    2     1     c  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
      Name  Flags
      c     

  private native void resolveClass0(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)V
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Signature: (Ljava/lang/Class<*>;)V
    MethodParameters:
      Name  Flags
      c     

  protected final java.lang.Class<?> findSystemClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 987
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 2 /* system */
        start local 2 // java.lang.ClassLoader system
         1: .line 988
            aload 2 /* system */
            ifnonnull 8
         2: .line 989
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
            ifne 4
         3: .line 990
            new java.lang.ClassNotFoundException
            dup
            aload 1 /* name */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 991
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findBootstrapClass:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* cls */
        start local 3 // java.lang.Class cls
         5: .line 992
            aload 3 /* cls */
            ifnonnull 7
         6: .line 993
            new java.lang.ClassNotFoundException
            dup
            aload 1 /* name */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 995
      StackMap locals: java.lang.Class
      StackMap stack:
            aload 3 /* cls */
            areturn
        end local 3 // java.lang.Class cls
         8: .line 997
      StackMap locals:
      StackMap stack:
            aload 2 /* system */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.loadClass:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
        end local 2 // java.lang.ClassLoader system
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljava/lang/ClassLoader;
            0    9     1    name  Ljava/lang/String;
            1    9     2  system  Ljava/lang/ClassLoader;
            5    8     3     cls  Ljava/lang/Class<*>;
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  private java.lang.Class<?> findBootstrapClassOrNull(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1006
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
            ifne 1
            aconst_null
            areturn
         1: .line 1008
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findBootstrapClass:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/lang/ClassLoader;
            0    2     1  name  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  private native java.lang.Class<?> findBootstrapClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0102) ACC_PRIVATE, ACC_NATIVE
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  protected final java.lang.Class<?> findLoadedClass(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1029
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.checkName:(Ljava/lang/String;)Z
            ifne 2
         1: .line 1030
            aconst_null
            areturn
         2: .line 1031
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findLoadedClass0:(Ljava/lang/String;)Ljava/lang/Class;
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/lang/ClassLoader;
            0    3     1  name  Ljava/lang/String;
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  private final native java.lang.Class<?> findLoadedClass0(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Class;
    flags: (0x0112) ACC_PRIVATE, ACC_FINAL, ACC_NATIVE
    Signature: (Ljava/lang/String;)Ljava/lang/Class<*>;
    MethodParameters:
      Name  Flags
      name  

  protected final void setSigners(java.lang.Class<?>, []);
    descriptor: (Ljava/lang/Class;[Ljava/lang/Object;)V
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.Class c
        start local 2 // java.lang.Object[] signers
         0: .line 1049
            aload 1 /* c */
            aload 2 /* signers */
            invokevirtual java.lang.Class.setSigners:([Ljava/lang/Object;)V
         1: .line 1050
            return
        end local 2 // java.lang.Object[] signers
        end local 1 // java.lang.Class c
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Ljava/lang/ClassLoader;
            0    2     1        c  Ljava/lang/Class<*>;
            0    2     2  signers  [Ljava/lang/Object;
    Signature: (Ljava/lang/Class<*>;[Ljava/lang/Object;)V
    MethodParameters:
         Name  Flags
      c        
      signers  

  public java.net.URL getResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1083
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnull 3
         1: .line 1084
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* url */
        start local 2 // java.net.URL url
         2: .line 1085
            goto 4
        end local 2 // java.net.URL url
         3: .line 1086
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            invokestatic java.lang.ClassLoader.getBootstrapResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* url */
        start local 2 // java.net.URL url
         4: .line 1088
      StackMap locals: java.net.URL
      StackMap stack:
            aload 2 /* url */
            ifnonnull 6
         5: .line 1089
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* url */
         6: .line 1091
      StackMap locals:
      StackMap stack:
            aload 2 /* url */
            areturn
        end local 2 // java.net.URL url
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/lang/ClassLoader;
            0    7     1  name  Ljava/lang/String;
            2    3     2   url  Ljava/net/URL;
            4    7     2   url  Ljava/net/URL;
    MethodParameters:
      Name  Flags
      name  

  public java.util.Enumeration<java.net.URL> getResources(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1129
            iconst_2
            anewarray java.util.Enumeration
            astore 2 /* tmp */
        start local 2 // java.util.Enumeration[] tmp
         1: .line 1130
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnull 4
         2: .line 1131
            aload 2 /* tmp */
            iconst_0
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            aastore
         3: .line 1132
            goto 5
         4: .line 1133
      StackMap locals: java.util.Enumeration[]
      StackMap stack:
            aload 2 /* tmp */
            iconst_0
            aload 1 /* name */
            invokestatic java.lang.ClassLoader.getBootstrapResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            aastore
         5: .line 1135
      StackMap locals:
      StackMap stack:
            aload 2 /* tmp */
            iconst_1
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            aastore
         6: .line 1137
            new sun.misc.CompoundEnumeration
            dup
            aload 2 /* tmp */
            invokespecial sun.misc.CompoundEnumeration.<init>:([Ljava/util/Enumeration;)V
            areturn
        end local 2 // java.util.Enumeration[] tmp
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/lang/ClassLoader;
            0    7     1  name  Ljava/lang/String;
            1    7     2   tmp  [Ljava/util/Enumeration;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
    MethodParameters:
      Name  Flags
      name  

  protected java.net.URL findResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1153
            aconst_null
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ClassLoader;
            0    1     1  name  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      name  

  protected java.util.Enumeration<java.net.URL> findResources(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1174
            invokestatic java.util.Collections.emptyEnumeration:()Ljava/util/Enumeration;
            areturn
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljava/lang/ClassLoader;
            0    1     1  name  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
    MethodParameters:
      Name  Flags
      name  

  protected static boolean registerAsParallelCapable();
    descriptor: ()Z
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 1197
            invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            ldc Ljava/lang/ClassLoader;
            invokevirtual java.lang.Class.asSubclass:(Ljava/lang/Class;)Ljava/lang/Class;
         1: .line 1196
            astore 0 /* callerClass */
        start local 0 // java.lang.Class callerClass
         2: .line 1198
            aload 0 /* callerClass */
            invokestatic java.lang.ClassLoader$ParallelLoaders.register:(Ljava/lang/Class;)Z
            ireturn
        end local 0 // java.lang.Class callerClass
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            2    3     0  callerClass  Ljava/lang/Class<+Ljava/lang/ClassLoader;>;
    RuntimeVisibleAnnotations: 
      sun.reflect.CallerSensitive()

  public static java.net.URL getSystemResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 1215
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* system */
        start local 1 // java.lang.ClassLoader system
         1: .line 1216
            aload 1 /* system */
            ifnonnull 3
         2: .line 1217
            aload 0 /* name */
            invokestatic java.lang.ClassLoader.getBootstrapResource:(Ljava/lang/String;)Ljava/net/URL;
            areturn
         3: .line 1219
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 1 /* system */
            aload 0 /* name */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            areturn
        end local 1 // java.lang.ClassLoader system
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    name  Ljava/lang/String;
            1    4     1  system  Ljava/lang/ClassLoader;
    MethodParameters:
      Name  Flags
      name  

  public static java.util.Enumeration<java.net.URL> getSystemResources(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 1245
            invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
            astore 1 /* system */
        start local 1 // java.lang.ClassLoader system
         1: .line 1246
            aload 1 /* system */
            ifnonnull 3
         2: .line 1247
            aload 0 /* name */
            invokestatic java.lang.ClassLoader.getBootstrapResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            areturn
         3: .line 1249
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 1 /* system */
            aload 0 /* name */
            invokevirtual java.lang.ClassLoader.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
            areturn
        end local 1 // java.lang.ClassLoader system
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    name  Ljava/lang/String;
            1    4     1  system  Ljava/lang/ClassLoader;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
    MethodParameters:
      Name  Flags
      name  

  private static java.net.URL getBootstrapResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/net/URL;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String name
         0: .line 1256
            invokestatic java.lang.ClassLoader.getBootstrapClassPath:()Lsun/misc/URLClassPath;
            astore 1 /* ucp */
        start local 1 // sun.misc.URLClassPath ucp
         1: .line 1257
            aload 1 /* ucp */
            aload 0 /* name */
            invokevirtual sun.misc.URLClassPath.getResource:(Ljava/lang/String;)Lsun/misc/Resource;
            astore 2 /* res */
        start local 2 // sun.misc.Resource res
         2: .line 1258
            aload 2 /* res */
            ifnull 3
            aload 2 /* res */
            invokevirtual sun.misc.Resource.getURL:()Ljava/net/URL;
            goto 4
      StackMap locals: sun.misc.URLClassPath sun.misc.Resource
      StackMap stack:
         3: aconst_null
      StackMap locals:
      StackMap stack: java.net.URL
         4: areturn
        end local 2 // sun.misc.Resource res
        end local 1 // sun.misc.URLClassPath ucp
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  name  Ljava/lang/String;
            1    5     1   ucp  Lsun/misc/URLClassPath;
            2    5     2   res  Lsun/misc/Resource;
    MethodParameters:
      Name  Flags
      name  

  private static java.util.Enumeration<java.net.URL> getBootstrapResources(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/util/Enumeration;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 1268
            invokestatic java.lang.ClassLoader.getBootstrapClassPath:()Lsun/misc/URLClassPath;
            aload 0 /* name */
            invokevirtual sun.misc.URLClassPath.getResources:(Ljava/lang/String;)Ljava/util/Enumeration;
         1: .line 1267
            astore 1 /* e */
        start local 1 // java.util.Enumeration e
         2: .line 1269
            new java.lang.ClassLoader$2
            dup
            aload 1 /* e */
            invokespecial java.lang.ClassLoader$2.<init>:(Ljava/util/Enumeration;)V
            areturn
        end local 1 // java.util.Enumeration e
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  name  Ljava/lang/String;
            2    3     1     e  Ljava/util/Enumeration<Lsun/misc/Resource;>;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/lang/String;)Ljava/util/Enumeration<Ljava/net/URL;>;
    MethodParameters:
      Name  Flags
      name  

  static sun.misc.URLClassPath getBootstrapClassPath();
    descriptor: ()Lsun/misc/URLClassPath;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1281
            invokestatic sun.misc.Launcher.getBootstrapClassPath:()Lsun/misc/URLClassPath;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.io.InputStream getResourceAsStream(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1300
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 2 /* url */
        start local 2 // java.net.URL url
         1: .line 1302
            aload 2 /* url */
            ifnull 2
            aload 2 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            goto 3
      StackMap locals: java.net.URL
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.io.InputStream
         3: areturn
         4: .line 1303
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         5: .line 1304
            aconst_null
            areturn
        end local 2 // java.net.URL url
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/ClassLoader;
            0    6     1  name  Ljava/lang/String;
            1    6     2   url  Ljava/net/URL;
      Exception table:
        from    to  target  type
           1     3       4  Class java.io.IOException
    MethodParameters:
      Name  Flags
      name  

  public static java.io.InputStream getSystemResourceAsStream(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/io/InputStream;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // java.lang.String name
         0: .line 1322
            aload 0 /* name */
            invokestatic java.lang.ClassLoader.getSystemResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 1 /* url */
        start local 1 // java.net.URL url
         1: .line 1324
            aload 1 /* url */
            ifnull 2
            aload 1 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            goto 3
      StackMap locals: java.net.URL
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.io.InputStream
         3: areturn
         4: .line 1325
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         5: .line 1326
            aconst_null
            areturn
        end local 1 // java.net.URL url
        end local 0 // java.lang.String name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  name  Ljava/lang/String;
            1    6     1   url  Ljava/net/URL;
      Exception table:
        from    to  target  type
           1     3       4  Class java.io.IOException
    MethodParameters:
      Name  Flags
      name  

  public final java.lang.ClassLoader getParent();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // java.lang.ClassLoader this
         0: .line 1360
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnonnull 2
         1: .line 1361
            aconst_null
            areturn
         2: .line 1362
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 1 /* sm */
        start local 1 // java.lang.SecurityManager sm
         3: .line 1363
            aload 1 /* sm */
            ifnull 5
         4: .line 1367
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader.checkClassLoaderPermission:(Ljava/lang/ClassLoader;Ljava/lang/Class;)V
         5: .line 1369
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            areturn
        end local 1 // java.lang.SecurityManager sm
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/ClassLoader;
            3    6     1    sm  Ljava/lang/SecurityManager;
    RuntimeVisibleAnnotations: 
      sun.reflect.CallerSensitive()

  public static java.lang.ClassLoader getSystemClassLoader();
    descriptor: ()Ljava/lang/ClassLoader;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=0
         0: .line 1429
            invokestatic java.lang.ClassLoader.initSystemClassLoader:()V
         1: .line 1430
            getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
            ifnonnull 3
         2: .line 1431
            aconst_null
            areturn
         3: .line 1433
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 0 /* sm */
        start local 0 // java.lang.SecurityManager sm
         4: .line 1434
            aload 0 /* sm */
            ifnull 6
         5: .line 1435
            getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
            invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            invokestatic java.lang.ClassLoader.checkClassLoaderPermission:(Ljava/lang/ClassLoader;Ljava/lang/Class;)V
         6: .line 1437
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
            areturn
        end local 0 // java.lang.SecurityManager sm
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            4    7     0    sm  Ljava/lang/SecurityManager;
    RuntimeVisibleAnnotations: 
      sun.reflect.CallerSensitive()

  private static synchronized void initSystemClassLoader();
    descriptor: ()V
    flags: (0x002a) ACC_PRIVATE, ACC_STATIC, ACC_SYNCHRONIZED
    Code:
      stack=3, locals=3, args_size=0
         0: .line 1441
            getstatic java.lang.ClassLoader.sclSet:Z
            ifne 19
         1: .line 1442
            getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
            ifnull 3
         2: .line 1443
            new java.lang.IllegalStateException
            dup
            ldc "recursive invocation"
            invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1444
      StackMap locals:
      StackMap stack:
            invokestatic sun.misc.Launcher.getLauncher:()Lsun/misc/Launcher;
            astore 0 /* l */
        start local 0 // sun.misc.Launcher l
         4: .line 1445
            aload 0 /* l */
            ifnull 18
         5: .line 1446
            aconst_null
            astore 1 /* oops */
        start local 1 // java.lang.Throwable oops
         6: .line 1447
            aload 0 /* l */
            invokevirtual sun.misc.Launcher.getClassLoader:()Ljava/lang/ClassLoader;
            putstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
         7: .line 1450
            new java.lang.SystemClassLoaderAction
            dup
            getstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
            invokespecial java.lang.SystemClassLoaderAction.<init>:(Ljava/lang/ClassLoader;)V
         8: .line 1449
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;)Ljava/lang/Object;
            checkcast java.lang.ClassLoader
            putstatic java.lang.ClassLoader.scl:Ljava/lang/ClassLoader;
         9: .line 1451
            goto 14
      StackMap locals: sun.misc.Launcher java.lang.Throwable
      StackMap stack: java.security.PrivilegedActionException
        10: astore 2 /* pae */
        start local 2 // java.security.PrivilegedActionException pae
        11: .line 1452
            aload 2 /* pae */
            invokevirtual java.security.PrivilegedActionException.getCause:()Ljava/lang/Throwable;
            astore 1 /* oops */
        12: .line 1453
            aload 1 /* oops */
            instanceof java.lang.reflect.InvocationTargetException
            ifeq 14
        13: .line 1454
            aload 1 /* oops */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 1 /* oops */
        end local 2 // java.security.PrivilegedActionException pae
        14: .line 1457
      StackMap locals:
      StackMap stack:
            aload 1 /* oops */
            ifnull 18
        15: .line 1458
            aload 1 /* oops */
            instanceof java.lang.Error
            ifeq 17
        16: .line 1459
            aload 1 /* oops */
            checkcast java.lang.Error
            athrow
        17: .line 1462
      StackMap locals:
      StackMap stack:
            new java.lang.Error
            dup
            aload 1 /* oops */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // java.lang.Throwable oops
        18: .line 1466
      StackMap locals:
      StackMap stack:
            iconst_1
            putstatic java.lang.ClassLoader.sclSet:Z
        end local 0 // sun.misc.Launcher l
        19: .line 1468
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            4   19     0     l  Lsun/misc/Launcher;
            6   18     1  oops  Ljava/lang/Throwable;
           11   14     2   pae  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           7     9      10  Class java.security.PrivilegedActionException

  boolean isAncestor(java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.ClassLoader cl
         0: .line 1473
            aload 0 /* this */
            astore 2 /* acl */
        start local 2 // java.lang.ClassLoader acl
         1: .line 1475
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            aload 2 /* acl */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            astore 2 /* acl */
         2: .line 1476
            aload 1 /* cl */
            aload 2 /* acl */
            if_acmpne 4
         3: .line 1477
            iconst_1
            ireturn
         4: .line 1479
      StackMap locals:
      StackMap stack:
            aload 2 /* acl */
            ifnonnull 1
         5: .line 1480
            iconst_0
            ireturn
        end local 2 // java.lang.ClassLoader acl
        end local 1 // java.lang.ClassLoader cl
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/lang/ClassLoader;
            0    6     1    cl  Ljava/lang/ClassLoader;
            1    6     2   acl  Ljava/lang/ClassLoader;
    MethodParameters:
      Name  Flags
      cl    

  private static boolean needsClassLoaderPermissionCheck(java.lang.ClassLoader, java.lang.ClassLoader);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader from
        start local 1 // java.lang.ClassLoader to
         0: .line 1491
            aload 0 /* from */
            aload 1 /* to */
            if_acmpne 2
         1: .line 1492
            iconst_0
            ireturn
         2: .line 1494
      StackMap locals:
      StackMap stack:
            aload 0 /* from */
            ifnonnull 4
         3: .line 1495
            iconst_0
            ireturn
         4: .line 1497
      StackMap locals:
      StackMap stack:
            aload 1 /* to */
            aload 0 /* from */
            invokevirtual java.lang.ClassLoader.isAncestor:(Ljava/lang/ClassLoader;)Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 1 // java.lang.ClassLoader to
        end local 0 // java.lang.ClassLoader from
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  from  Ljava/lang/ClassLoader;
            0    7     1    to  Ljava/lang/ClassLoader;
    MethodParameters:
      Name  Flags
      from  
      to    

  static java.lang.ClassLoader getClassLoader(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)Ljava/lang/ClassLoader;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.lang.Class caller
         0: .line 1503
            aload 0 /* caller */
            ifnonnull 2
         1: .line 1504
            aconst_null
            areturn
         2: .line 1507
      StackMap locals:
      StackMap stack:
            aload 0 /* caller */
            invokevirtual java.lang.Class.getClassLoader0:()Ljava/lang/ClassLoader;
            areturn
        end local 0 // java.lang.Class caller
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  caller  Ljava/lang/Class<*>;
    Signature: (Ljava/lang/Class<*>;)Ljava/lang/ClassLoader;
    MethodParameters:
        Name  Flags
      caller  

  static void checkClassLoaderPermission(java.lang.ClassLoader, java.lang.Class<?>);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/Class;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // java.lang.ClassLoader cl
        start local 1 // java.lang.Class caller
         0: .line 1516
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            astore 2 /* sm */
        start local 2 // java.lang.SecurityManager sm
         1: .line 1517
            aload 2 /* sm */
            ifnull 5
         2: .line 1519
            aload 1 /* caller */
            invokestatic java.lang.ClassLoader.getClassLoader:(Ljava/lang/Class;)Ljava/lang/ClassLoader;
            astore 3 /* ccl */
        start local 3 // java.lang.ClassLoader ccl
         3: .line 1520
            aload 3 /* ccl */
            aload 0 /* cl */
            invokestatic java.lang.ClassLoader.needsClassLoaderPermissionCheck:(Ljava/lang/ClassLoader;Ljava/lang/ClassLoader;)Z
            ifeq 5
         4: .line 1521
            aload 2 /* sm */
            getstatic sun.security.util.SecurityConstants.GET_CLASSLOADER_PERMISSION:Ljava/lang/RuntimePermission;
            invokevirtual java.lang.SecurityManager.checkPermission:(Ljava/security/Permission;)V
        end local 3 // java.lang.ClassLoader ccl
         5: .line 1524
      StackMap locals: java.lang.SecurityManager
      StackMap stack:
            return
        end local 2 // java.lang.SecurityManager sm
        end local 1 // java.lang.Class caller
        end local 0 // java.lang.ClassLoader cl
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0      cl  Ljava/lang/ClassLoader;
            0    6     1  caller  Ljava/lang/Class<*>;
            1    6     2      sm  Ljava/lang/SecurityManager;
            3    5     3     ccl  Ljava/lang/ClassLoader;
    Signature: (Ljava/lang/ClassLoader;Ljava/lang/Class<*>;)V
    MethodParameters:
        Name  Flags
      cl      
      caller  

  protected java.lang.Package definePackage(java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.lang.String, java.net.URL);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;)Ljava/lang/Package;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=11, locals=11, args_size=9
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
        start local 2 // java.lang.String specTitle
        start local 3 // java.lang.String specVersion
        start local 4 // java.lang.String specVendor
        start local 5 // java.lang.String implTitle
        start local 6 // java.lang.String implVersion
        start local 7 // java.lang.String implVendor
        start local 8 // java.net.URL sealBase
         0: .line 1584
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            dup
            astore 9
            monitorenter
         1: .line 1585
            aload 0 /* this */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getPackage:(Ljava/lang/String;)Ljava/lang/Package;
            astore 10 /* pkg */
        start local 10 // java.lang.Package pkg
         2: .line 1586
            aload 10 /* pkg */
            ifnull 4
         3: .line 1587
            new java.lang.IllegalArgumentException
            dup
            aload 1 /* name */
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1589
      StackMap locals: java.util.HashMap java.lang.Package
      StackMap stack:
            new java.lang.Package
            dup
            aload 1 /* name */
            aload 2 /* specTitle */
            aload 3 /* specVersion */
            aload 4 /* specVendor */
         5: .line 1590
            aload 5 /* implTitle */
            aload 6 /* implVersion */
            aload 7 /* implVendor */
         6: .line 1591
            aload 8 /* sealBase */
            aload 0 /* this */
         7: .line 1589
            invokespecial java.lang.Package.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/net/URL;Ljava/lang/ClassLoader;)V
            astore 10 /* pkg */
         8: .line 1592
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            aload 1 /* name */
            aload 10 /* pkg */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         9: .line 1593
            aload 10 /* pkg */
            aload 9
            monitorexit
        10: areturn
        end local 10 // java.lang.Package pkg
        11: .line 1584
      StackMap locals: java.lang.ClassLoader java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.net.URL java.util.HashMap
      StackMap stack: java.lang.Throwable
            aload 9
            monitorexit
        12: athrow
        end local 8 // java.net.URL sealBase
        end local 7 // java.lang.String implVendor
        end local 6 // java.lang.String implVersion
        end local 5 // java.lang.String implTitle
        end local 4 // java.lang.String specVendor
        end local 3 // java.lang.String specVersion
        end local 2 // java.lang.String specTitle
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   13     0         this  Ljava/lang/ClassLoader;
            0   13     1         name  Ljava/lang/String;
            0   13     2    specTitle  Ljava/lang/String;
            0   13     3  specVersion  Ljava/lang/String;
            0   13     4   specVendor  Ljava/lang/String;
            0   13     5    implTitle  Ljava/lang/String;
            0   13     6  implVersion  Ljava/lang/String;
            0   13     7   implVendor  Ljava/lang/String;
            0   13     8     sealBase  Ljava/net/URL;
            2   11    10          pkg  Ljava/lang/Package;
      Exception table:
        from    to  target  type
           1    10      11  any
          11    12      11  any
    Exceptions:
      throws java.lang.IllegalArgumentException
    MethodParameters:
             Name  Flags
      name         
      specTitle    
      specVersion  
      specVendor   
      implTitle    
      implVersion  
      implVendor   
      sealBase     

  protected java.lang.Package getPackage(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Package;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String name
         0: .line 1611
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
         1: .line 1612
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Package
            astore 2 /* pkg */
        start local 2 // java.lang.Package pkg
         2: .line 1611
            aload 3
            monitorexit
         3: goto 6
        end local 2 // java.lang.Package pkg
      StackMap locals: java.lang.ClassLoader java.lang.String top java.util.HashMap
      StackMap stack: java.lang.Throwable
         4: aload 3
            monitorexit
         5: athrow
        start local 2 // java.lang.Package pkg
         6: .line 1614
      StackMap locals: java.lang.ClassLoader java.lang.String java.lang.Package
      StackMap stack:
            aload 2 /* pkg */
            ifnonnull 22
         7: .line 1615
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnull 10
         8: .line 1616
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.getPackage:(Ljava/lang/String;)Ljava/lang/Package;
            astore 2 /* pkg */
         9: .line 1617
            goto 11
        10: .line 1618
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            invokestatic java.lang.Package.getSystemPackage:(Ljava/lang/String;)Ljava/lang/Package;
            astore 2 /* pkg */
        11: .line 1620
      StackMap locals:
      StackMap stack:
            aload 2 /* pkg */
            ifnull 22
        12: .line 1621
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            dup
            astore 3
            monitorenter
        13: .line 1622
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            aload 1 /* name */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Package
            astore 4 /* pkg2 */
        start local 4 // java.lang.Package pkg2
        14: .line 1623
            aload 4 /* pkg2 */
            ifnonnull 17
        15: .line 1624
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            aload 1 /* name */
            aload 2 /* pkg */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        16: .line 1625
            goto 18
        17: .line 1626
      StackMap locals: java.util.HashMap java.lang.Package
      StackMap stack:
            aload 4 /* pkg2 */
            astore 2 /* pkg */
        end local 4 // java.lang.Package pkg2
        18: .line 1621
      StackMap locals:
      StackMap stack:
            aload 3
            monitorexit
        19: goto 22
      StackMap locals:
      StackMap stack: java.lang.Throwable
        20: aload 3
            monitorexit
        21: athrow
        22: .line 1631
      StackMap locals:
      StackMap stack:
            aload 2 /* pkg */
            areturn
        end local 2 // java.lang.Package pkg
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   23     0  this  Ljava/lang/ClassLoader;
            0   23     1  name  Ljava/lang/String;
            2    4     2   pkg  Ljava/lang/Package;
            6   23     2   pkg  Ljava/lang/Package;
           14   18     4  pkg2  Ljava/lang/Package;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
          13    19      20  any
          20    21      20  any
    MethodParameters:
      Name  Flags
      name  

  protected java.lang.Package[] getPackages();
    descriptor: ()[Ljava/lang/Package;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // java.lang.ClassLoader this
         0: .line 1645
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            dup
            astore 2
            monitorenter
         1: .line 1646
            new java.util.HashMap
            dup
            aload 0 /* this */
            getfield java.lang.ClassLoader.packages:Ljava/util/HashMap;
            invokespecial java.util.HashMap.<init>:(Ljava/util/Map;)V
            astore 1 /* map */
        start local 1 // java.util.Map map
         2: .line 1645
            aload 2
            monitorexit
         3: goto 6
        end local 1 // java.util.Map map
      StackMap locals: java.lang.ClassLoader top java.util.HashMap
      StackMap stack: java.lang.Throwable
         4: aload 2
            monitorexit
         5: athrow
        start local 1 // java.util.Map map
         6: .line 1649
      StackMap locals: java.lang.ClassLoader java.util.Map
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            ifnull 9
         7: .line 1650
            aload 0 /* this */
            getfield java.lang.ClassLoader.parent:Ljava/lang/ClassLoader;
            invokevirtual java.lang.ClassLoader.getPackages:()[Ljava/lang/Package;
            astore 2 /* pkgs */
        start local 2 // java.lang.Package[] pkgs
         8: .line 1651
            goto 10
        end local 2 // java.lang.Package[] pkgs
         9: .line 1652
      StackMap locals:
      StackMap stack:
            invokestatic java.lang.Package.getSystemPackages:()[Ljava/lang/Package;
            astore 2 /* pkgs */
        start local 2 // java.lang.Package[] pkgs
        10: .line 1654
      StackMap locals: java.lang.Package[]
      StackMap stack:
            aload 2 /* pkgs */
            ifnull 18
        11: .line 1655
            iconst_0
            istore 3 /* i */
        start local 3 // int i
        12: goto 17
        13: .line 1656
      StackMap locals: int
      StackMap stack:
            aload 2 /* pkgs */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.Package.getName:()Ljava/lang/String;
            astore 4 /* pkgName */
        start local 4 // java.lang.String pkgName
        14: .line 1657
            aload 1 /* map */
            aload 4 /* pkgName */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            ifnonnull 16
        15: .line 1658
            aload 1 /* map */
            aload 4 /* pkgName */
            aload 2 /* pkgs */
            iload 3 /* i */
            aaload
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String pkgName
        16: .line 1655
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 3 /* i */
            aload 2 /* pkgs */
            arraylength
            if_icmplt 13
        end local 3 // int i
        18: .line 1662
      StackMap locals:
      StackMap stack:
            aload 1 /* map */
            invokeinterface java.util.Map.values:()Ljava/util/Collection;
            aload 1 /* map */
            invokeinterface java.util.Map.size:()I
            anewarray java.lang.Package
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.Package[]
            areturn
        end local 2 // java.lang.Package[] pkgs
        end local 1 // java.util.Map map
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   19     0     this  Ljava/lang/ClassLoader;
            2    4     1      map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Package;>;
            6   19     1      map  Ljava/util/Map<Ljava/lang/String;Ljava/lang/Package;>;
            8    9     2     pkgs  [Ljava/lang/Package;
           10   19     2     pkgs  [Ljava/lang/Package;
           12   18     3        i  I
           14   16     4  pkgName  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any

  protected java.lang.String findLibrary(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String libname
         0: .line 1686
            aconst_null
            areturn
        end local 1 // java.lang.String libname
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljava/lang/ClassLoader;
            0    1     1  libname  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      libname  

  private static java.lang.String[] initializePath(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=8, args_size=1
        start local 0 // java.lang.String propname
         0: .line 1776
            aload 0 /* propname */
            ldc ""
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* ldpath */
        start local 1 // java.lang.String ldpath
         1: .line 1777
            getstatic java.io.File.pathSeparator:Ljava/lang/String;
            astore 2 /* ps */
        start local 2 // java.lang.String ps
         2: .line 1778
            aload 1 /* ldpath */
            invokevirtual java.lang.String.length:()I
            istore 3 /* ldlen */
        start local 3 // int ldlen
         3: .line 1781
            aload 1 /* ldpath */
            aload 2 /* ps */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 4 /* i */
        start local 4 // int i
         4: .line 1782
            iconst_0
            istore 6 /* n */
        start local 6 // int n
         5: .line 1783
            goto 8
         6: .line 1784
      StackMap locals: java.lang.String java.lang.String java.lang.String int int top int
      StackMap stack:
            iinc 6 /* n */ 1
         7: .line 1785
            aload 1 /* ldpath */
            aload 2 /* ps */
            iload 4 /* i */
            iconst_1
            iadd
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 4 /* i */
         8: .line 1783
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            ifge 6
         9: .line 1789
            iload 6 /* n */
            iconst_1
            iadd
            anewarray java.lang.String
            astore 7 /* paths */
        start local 7 // java.lang.String[] paths
        10: .line 1792
            iconst_0
            dup
            istore 4 /* i */
            istore 6 /* n */
        11: .line 1793
            aload 1 /* ldpath */
            aload 2 /* ps */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 5 /* j */
        start local 5 // int j
        12: .line 1794
            goto 20
        13: .line 1795
      StackMap locals: java.lang.String java.lang.String java.lang.String int int int int java.lang.String[]
      StackMap stack:
            iload 5 /* j */
            iload 4 /* i */
            isub
            ifle 16
        14: .line 1796
            aload 7 /* paths */
            iload 6 /* n */
            iinc 6 /* n */ 1
            aload 1 /* ldpath */
            iload 4 /* i */
            iload 5 /* j */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aastore
        15: .line 1797
            goto 18
      StackMap locals:
      StackMap stack:
        16: iload 5 /* j */
            iload 4 /* i */
            isub
            ifne 18
        17: .line 1798
            aload 7 /* paths */
            iload 6 /* n */
            iinc 6 /* n */ 1
            ldc "."
            aastore
        18: .line 1800
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            iconst_1
            iadd
            istore 4 /* i */
        19: .line 1801
            aload 1 /* ldpath */
            aload 2 /* ps */
            iload 4 /* i */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            istore 5 /* j */
        20: .line 1794
      StackMap locals:
      StackMap stack:
            iload 5 /* j */
            ifge 13
        21: .line 1803
            aload 7 /* paths */
            iload 6 /* n */
            aload 1 /* ldpath */
            iload 4 /* i */
            iload 3 /* ldlen */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            aastore
        22: .line 1804
            aload 7 /* paths */
            areturn
        end local 7 // java.lang.String[] paths
        end local 6 // int n
        end local 5 // int j
        end local 4 // int i
        end local 3 // int ldlen
        end local 2 // java.lang.String ps
        end local 1 // java.lang.String ldpath
        end local 0 // java.lang.String propname
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   23     0  propname  Ljava/lang/String;
            1   23     1    ldpath  Ljava/lang/String;
            2   23     2        ps  Ljava/lang/String;
            3   23     3     ldlen  I
            4   23     4         i  I
           12   23     5         j  I
            5   23     6         n  I
           10   23     7     paths  [Ljava/lang/String;
    MethodParameters:
          Name  Flags
      propname  

  static void loadLibrary(java.lang.Class<?>, java.lang.String, );
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Z)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // java.lang.Class fromClass
        start local 1 // java.lang.String name
        start local 2 // boolean isAbsolute
         0: .line 1811
            aload 0 /* fromClass */
            ifnonnull 1
            aconst_null
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* fromClass */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
         2: .line 1810
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
            astore 3 /* loader */
        start local 3 // java.lang.ClassLoader loader
         3: .line 1812
            getstatic java.lang.ClassLoader.sys_paths:[Ljava/lang/String;
            ifnonnull 6
         4: .line 1813
            ldc "java.library.path"
            invokestatic java.lang.ClassLoader.initializePath:(Ljava/lang/String;)[Ljava/lang/String;
            putstatic java.lang.ClassLoader.usr_paths:[Ljava/lang/String;
         5: .line 1814
            ldc "sun.boot.library.path"
            invokestatic java.lang.ClassLoader.initializePath:(Ljava/lang/String;)[Ljava/lang/String;
            putstatic java.lang.ClassLoader.sys_paths:[Ljava/lang/String;
         6: .line 1816
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
            iload 2 /* isAbsolute */
            ifeq 10
         7: .line 1817
            aload 0 /* fromClass */
            new java.io.File
            dup
            aload 1 /* name */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
            ifeq 9
         8: .line 1818
            return
         9: .line 1820
      StackMap locals:
      StackMap stack:
            new java.lang.UnsatisfiedLinkError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't load library: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 1822
      StackMap locals:
      StackMap stack:
            aload 3 /* loader */
            ifnull 21
        11: .line 1823
            aload 3 /* loader */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader.findLibrary:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* libfilename */
        start local 4 // java.lang.String libfilename
        12: .line 1824
            aload 4 /* libfilename */
            ifnull 21
        13: .line 1825
            new java.io.File
            dup
            aload 4 /* libfilename */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 5 /* libfile */
        start local 5 // java.io.File libfile
        14: .line 1826
            aload 5 /* libfile */
            invokevirtual java.io.File.isAbsolute:()Z
            ifne 18
        15: .line 1827
            new java.lang.UnsatisfiedLinkError
            dup
        16: .line 1828
            new java.lang.StringBuilder
            dup
            ldc "ClassLoader.findLibrary failed to return an absolute path: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* libfilename */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        17: .line 1827
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        18: .line 1830
      StackMap locals: java.lang.String java.io.File
      StackMap stack:
            aload 0 /* fromClass */
            aload 5 /* libfile */
            invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
            ifeq 20
        19: .line 1831
            return
        20: .line 1833
      StackMap locals:
      StackMap stack:
            new java.lang.UnsatisfiedLinkError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Can't load "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* libfilename */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.io.File libfile
        end local 4 // java.lang.String libfilename
        21: .line 1836
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        22: goto 30
        23: .line 1837
      StackMap locals: int
      StackMap stack:
            new java.io.File
            dup
            getstatic java.lang.ClassLoader.sys_paths:[Ljava/lang/String;
            iload 4 /* i */
            aaload
            aload 1 /* name */
            invokestatic java.lang.System.mapLibraryName:(Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* libfile */
        start local 5 // java.io.File libfile
        24: .line 1838
            aload 0 /* fromClass */
            aload 5 /* libfile */
            invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
            ifeq 26
        25: .line 1839
            return
        26: .line 1841
      StackMap locals: java.io.File
      StackMap stack:
            aload 5 /* libfile */
            invokestatic java.lang.ClassLoaderHelper.mapAlternativeName:(Ljava/io/File;)Ljava/io/File;
            astore 5 /* libfile */
        27: .line 1842
            aload 5 /* libfile */
            ifnull 29
            aload 0 /* fromClass */
            aload 5 /* libfile */
            invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
            ifeq 29
        28: .line 1843
            return
        end local 5 // java.io.File libfile
        29: .line 1836
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 4 /* i */
            getstatic java.lang.ClassLoader.sys_paths:[Ljava/lang/String;
            arraylength
            if_icmplt 23
        end local 4 // int i
        31: .line 1846
            aload 3 /* loader */
            ifnull 44
        32: .line 1847
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        33: goto 43
        34: .line 1848
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            getstatic java.lang.ClassLoader.usr_paths:[Ljava/lang/String;
            iload 4 /* i */
            aaload
        35: .line 1849
            aload 1 /* name */
            invokestatic java.lang.System.mapLibraryName:(Ljava/lang/String;)Ljava/lang/String;
        36: .line 1848
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* libfile */
        start local 5 // java.io.File libfile
        37: .line 1850
            aload 0 /* fromClass */
            aload 5 /* libfile */
            invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
            ifeq 39
        38: .line 1851
            return
        39: .line 1853
      StackMap locals: java.io.File
      StackMap stack:
            aload 5 /* libfile */
            invokestatic java.lang.ClassLoaderHelper.mapAlternativeName:(Ljava/io/File;)Ljava/io/File;
            astore 5 /* libfile */
        40: .line 1854
            aload 5 /* libfile */
            ifnull 42
            aload 0 /* fromClass */
            aload 5 /* libfile */
            invokestatic java.lang.ClassLoader.loadLibrary0:(Ljava/lang/Class;Ljava/io/File;)Z
            ifeq 42
        41: .line 1855
            return
        end local 5 // java.io.File libfile
        42: .line 1847
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        43: iload 4 /* i */
            getstatic java.lang.ClassLoader.usr_paths:[Ljava/lang/String;
            arraylength
            if_icmplt 34
        end local 4 // int i
        44: .line 1860
      StackMap locals:
      StackMap stack:
            new java.lang.UnsatisfiedLinkError
            dup
            new java.lang.StringBuilder
            dup
            ldc "no "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in java.library.path"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.ClassLoader loader
        end local 2 // boolean isAbsolute
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class fromClass
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   45     0    fromClass  Ljava/lang/Class<*>;
            0   45     1         name  Ljava/lang/String;
            0   45     2   isAbsolute  Z
            3   45     3       loader  Ljava/lang/ClassLoader;
           12   21     4  libfilename  Ljava/lang/String;
           14   21     5      libfile  Ljava/io/File;
           22   31     4            i  I
           24   29     5      libfile  Ljava/io/File;
           33   44     4            i  I
           37   42     5      libfile  Ljava/io/File;
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Z)V
    MethodParameters:
            Name  Flags
      fromClass   
      name        
      isAbsolute  

  private static native java.lang.String findBuiltinLib(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
    MethodParameters:
      Name  Flags
      name  

  private static boolean loadLibrary0(java.lang.Class<?>, java.io.File);
    descriptor: (Ljava/lang/Class;Ljava/io/File;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=12, args_size=2
        start local 0 // java.lang.Class fromClass
        start local 1 // java.io.File file
         0: .line 1867
            aload 1 /* file */
            invokevirtual java.io.File.getName:()Ljava/lang/String;
            invokestatic java.lang.ClassLoader.findBuiltinLib:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 1868
            aload 2 /* name */
            ifnull 2
            iconst_1
            goto 3
      StackMap locals: java.lang.String
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* isBuiltin */
        start local 3 // boolean isBuiltin
         4: .line 1869
            iload 3 /* isBuiltin */
            ifne 15
         5: .line 1871
            new java.lang.ClassLoader$3
            dup
            aload 1 /* file */
            invokespecial java.lang.ClassLoader$3.<init>:(Ljava/io/File;)V
         6: .line 1870
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            ifnull 7
            iconst_1
            goto 8
      StackMap locals: int
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 4 /* exists */
        start local 4 // boolean exists
         9: .line 1876
            iload 4 /* exists */
            ifne 11
        10: .line 1877
            iconst_0
            ireturn
        11: .line 1880
      StackMap locals: int
      StackMap stack:
            aload 1 /* file */
            invokevirtual java.io.File.getCanonicalPath:()Ljava/lang/String;
            astore 2 /* name */
        12: .line 1881
            goto 15
      StackMap locals:
      StackMap stack: java.io.IOException
        13: pop
        14: .line 1882
            iconst_0
            ireturn
        end local 4 // boolean exists
        15: .line 1886
      StackMap locals:
      StackMap stack:
            aload 0 /* fromClass */
            ifnonnull 16
            aconst_null
            goto 17
      StackMap locals:
      StackMap stack:
        16: aload 0 /* fromClass */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
        17: .line 1885
      StackMap locals:
      StackMap stack: java.lang.ClassLoader
            astore 4 /* loader */
        start local 4 // java.lang.ClassLoader loader
        18: .line 1888
            aload 4 /* loader */
            ifnull 19
            aload 4 /* loader */
            getfield java.lang.ClassLoader.nativeLibraries:Ljava/util/Vector;
            goto 20
      StackMap locals: java.lang.ClassLoader
      StackMap stack:
        19: getstatic java.lang.ClassLoader.systemNativeLibraries:Ljava/util/Vector;
        20: .line 1887
      StackMap locals:
      StackMap stack: java.util.Vector
            astore 5 /* libs */
        start local 5 // java.util.Vector libs
        21: .line 1889
            aload 5 /* libs */
            dup
            astore 6
            monitorenter
        22: .line 1890
            aload 5 /* libs */
            invokevirtual java.util.Vector.size:()I
            istore 7 /* size */
        start local 7 // int size
        23: .line 1891
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        24: goto 30
        25: .line 1892
      StackMap locals: java.lang.Class java.io.File java.lang.String int java.lang.ClassLoader java.util.Vector java.util.Vector int int
      StackMap stack:
            aload 5 /* libs */
            iload 8 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast java.lang.ClassLoader$NativeLibrary
            astore 9 /* lib */
        start local 9 // java.lang.ClassLoader$NativeLibrary lib
        26: .line 1893
            aload 2 /* name */
            aload 9 /* lib */
            getfield java.lang.ClassLoader$NativeLibrary.name:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 29
        27: .line 1894
            aload 6
            monitorexit
        28: iconst_1
            ireturn
        end local 9 // java.lang.ClassLoader$NativeLibrary lib
        29: .line 1891
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 8 /* i */
            iload 7 /* size */
            if_icmplt 25
        end local 8 // int i
        31: .line 1898
            getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
            dup
            astore 8
            monitorenter
        32: .line 1899
            getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
            aload 2 /* name */
            invokevirtual java.util.Vector.contains:(Ljava/lang/Object;)Z
            ifeq 39
        33: .line 1900
            new java.lang.UnsatisfiedLinkError
            dup
        34: .line 1901
            new java.lang.StringBuilder
            dup
            ldc "Native Library "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        35: .line 1902
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        36: .line 1903
            ldc " already loaded in another classloader"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        37: .line 1901
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        38: .line 1900
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        39: .line 1917
      StackMap locals: java.lang.Class java.io.File java.lang.String int java.lang.ClassLoader java.util.Vector java.util.Vector int java.util.Vector
      StackMap stack:
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            invokevirtual java.util.Stack.size:()I
            istore 9 /* n */
        start local 9 // int n
        40: .line 1918
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        41: goto 55
        42: .line 1919
      StackMap locals: int int
      StackMap stack:
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            iload 10 /* i */
            invokevirtual java.util.Stack.elementAt:(I)Ljava/lang/Object;
            checkcast java.lang.ClassLoader$NativeLibrary
            astore 11 /* lib */
        start local 11 // java.lang.ClassLoader$NativeLibrary lib
        43: .line 1920
            aload 2 /* name */
            aload 11 /* lib */
            getfield java.lang.ClassLoader$NativeLibrary.name:Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 54
        44: .line 1921
            aload 4 /* loader */
            aload 11 /* lib */
            getfield java.lang.ClassLoader$NativeLibrary.fromClass:Ljava/lang/Class;
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            if_acmpne 48
        45: .line 1922
            aload 8
            monitorexit
        46: aload 6
            monitorexit
        47: iconst_1
            ireturn
        48: .line 1924
      StackMap locals: java.lang.ClassLoader$NativeLibrary
      StackMap stack:
            new java.lang.UnsatisfiedLinkError
            dup
        49: .line 1925
            new java.lang.StringBuilder
            dup
            ldc "Native Library "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        50: .line 1926
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        51: .line 1927
            ldc " is being loaded in another classloader"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        52: .line 1925
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        53: .line 1924
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // java.lang.ClassLoader$NativeLibrary lib
        54: .line 1918
      StackMap locals:
      StackMap stack:
            iinc 10 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 10 /* i */
            iload 9 /* n */
            if_icmplt 42
        end local 10 // int i
        56: .line 1931
            new java.lang.ClassLoader$NativeLibrary
            dup
            aload 0 /* fromClass */
            aload 2 /* name */
            iload 3 /* isBuiltin */
            invokespecial java.lang.ClassLoader$NativeLibrary.<init>:(Ljava/lang/Class;Ljava/lang/String;Z)V
            astore 10 /* lib */
        start local 10 // java.lang.ClassLoader$NativeLibrary lib
        57: .line 1932
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            aload 10 /* lib */
            invokevirtual java.util.Stack.push:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
        58: .line 1934
            aload 10 /* lib */
            aload 2 /* name */
            iload 3 /* isBuiltin */
            invokevirtual java.lang.ClassLoader$NativeLibrary.load:(Ljava/lang/String;Z)V
        59: .line 1935
            goto 63
      StackMap locals: java.lang.Class java.io.File java.lang.String int java.lang.ClassLoader java.util.Vector java.util.Vector int java.util.Vector int java.lang.ClassLoader$NativeLibrary
      StackMap stack: java.lang.Throwable
        60: astore 11
        61: .line 1936
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            pop
        62: .line 1937
            aload 11
            athrow
        63: .line 1936
      StackMap locals:
      StackMap stack:
            getstatic java.lang.ClassLoader.nativeLibraryContext:Ljava/util/Stack;
            invokevirtual java.util.Stack.pop:()Ljava/lang/Object;
            pop
        64: .line 1938
            aload 10 /* lib */
            getfield java.lang.ClassLoader$NativeLibrary.loaded:Z
            ifeq 70
        65: .line 1939
            getstatic java.lang.ClassLoader.loadedLibraryNames:Ljava/util/Vector;
            aload 2 /* name */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        66: .line 1940
            aload 5 /* libs */
            aload 10 /* lib */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        67: .line 1941
            aload 8
            monitorexit
        68: aload 6
            monitorexit
        69: iconst_1
            ireturn
        70: .line 1943
      StackMap locals:
      StackMap stack:
            aload 8
            monitorexit
        71: aload 6
            monitorexit
        72: iconst_0
            ireturn
        end local 10 // java.lang.ClassLoader$NativeLibrary lib
        end local 9 // int n
        73: .line 1898
      StackMap locals: java.lang.Class java.io.File java.lang.String int java.lang.ClassLoader java.util.Vector java.util.Vector int java.util.Vector
      StackMap stack: java.lang.Throwable
            aload 8
            monitorexit
        74: athrow
        end local 7 // int size
        75: .line 1889
      StackMap locals: java.lang.Class java.io.File java.lang.String int java.lang.ClassLoader java.util.Vector java.util.Vector
      StackMap stack: java.lang.Throwable
            aload 6
            monitorexit
        76: athrow
        end local 5 // java.util.Vector libs
        end local 4 // java.lang.ClassLoader loader
        end local 3 // boolean isBuiltin
        end local 2 // java.lang.String name
        end local 1 // java.io.File file
        end local 0 // java.lang.Class fromClass
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   77     0  fromClass  Ljava/lang/Class<*>;
            0   77     1       file  Ljava/io/File;
            1   77     2       name  Ljava/lang/String;
            4   77     3  isBuiltin  Z
            9   15     4     exists  Z
           18   77     4     loader  Ljava/lang/ClassLoader;
           21   77     5       libs  Ljava/util/Vector<Ljava/lang/ClassLoader$NativeLibrary;>;
           23   75     7       size  I
           24   31     8          i  I
           26   29     9        lib  Ljava/lang/ClassLoader$NativeLibrary;
           40   73     9          n  I
           41   56    10          i  I
           43   54    11        lib  Ljava/lang/ClassLoader$NativeLibrary;
           57   73    10        lib  Ljava/lang/ClassLoader$NativeLibrary;
      Exception table:
        from    to  target  type
          11    12      13  Class java.io.IOException
          58    60      60  any
          32    46      73  any
          48    68      73  any
          70    71      73  any
          73    74      73  any
          22    28      75  any
          29    47      75  any
          48    69      75  any
          70    72      75  any
          73    76      75  any
    Signature: (Ljava/lang/Class<*>;Ljava/io/File;)Z
    MethodParameters:
           Name  Flags
      fromClass  
      file       final

  static long findNative(java.lang.ClassLoader, java.lang.String);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;)J
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=9, args_size=2
        start local 0 // java.lang.ClassLoader loader
        start local 1 // java.lang.String name
         0: .line 1951
            aload 0 /* loader */
            ifnull 1
            aload 0 /* loader */
            getfield java.lang.ClassLoader.nativeLibraries:Ljava/util/Vector;
            goto 2
      StackMap locals:
      StackMap stack:
         1: getstatic java.lang.ClassLoader.systemNativeLibraries:Ljava/util/Vector;
         2: .line 1950
      StackMap locals:
      StackMap stack: java.util.Vector
            astore 2 /* libs */
        start local 2 // java.util.Vector libs
         3: .line 1952
            aload 2 /* libs */
            dup
            astore 3
            monitorenter
         4: .line 1953
            aload 2 /* libs */
            invokevirtual java.util.Vector.size:()I
            istore 4 /* size */
        start local 4 // int size
         5: .line 1954
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         6: goto 13
         7: .line 1955
      StackMap locals: java.lang.ClassLoader java.lang.String java.util.Vector java.util.Vector int int
      StackMap stack:
            aload 2 /* libs */
            iload 5 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast java.lang.ClassLoader$NativeLibrary
            astore 6 /* lib */
        start local 6 // java.lang.ClassLoader$NativeLibrary lib
         8: .line 1956
            aload 6 /* lib */
            aload 1 /* name */
            invokevirtual java.lang.ClassLoader$NativeLibrary.find:(Ljava/lang/String;)J
            lstore 7 /* entry */
        start local 7 // long entry
         9: .line 1957
            lload 7 /* entry */
            lconst_0
            lcmp
            ifeq 12
        10: .line 1958
            lload 7 /* entry */
            aload 3
            monitorexit
        11: lreturn
        end local 7 // long entry
        end local 6 // java.lang.ClassLoader$NativeLibrary lib
        12: .line 1954
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 5 /* i */
            iload 4 /* size */
            if_icmplt 7
        end local 5 // int i
        end local 4 // int size
        14: .line 1952
            aload 3
            monitorexit
        15: goto 18
      StackMap locals: java.lang.ClassLoader java.lang.String java.util.Vector java.util.Vector
      StackMap stack: java.lang.Throwable
        16: aload 3
            monitorexit
        17: athrow
        18: .line 1961
      StackMap locals:
      StackMap stack:
            lconst_0
            lreturn
        end local 2 // java.util.Vector libs
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader loader
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   19     0  loader  Ljava/lang/ClassLoader;
            0   19     1    name  Ljava/lang/String;
            3   19     2    libs  Ljava/util/Vector<Ljava/lang/ClassLoader$NativeLibrary;>;
            5   14     4    size  I
            6   14     5       i  I
            8   12     6     lib  Ljava/lang/ClassLoader$NativeLibrary;
            9   12     7   entry  J
      Exception table:
        from    to  target  type
           4    11      16  any
          12    15      16  any
          16    17      16  any
    MethodParameters:
        Name  Flags
      loader  
      name    

  public void setDefaultAssertionStatus(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // boolean enabled
         0: .line 2004
            aload 0 /* this */
            getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 2005
            aload 0 /* this */
            getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
            ifnonnull 3
         2: .line 2006
            aload 0 /* this */
            invokevirtual java.lang.ClassLoader.initializeJavaAssertionMaps:()V
         3: .line 2008
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            iload 1 /* enabled */
            putfield java.lang.ClassLoader.defaultAssertionStatus:Z
         4: .line 2004
            aload 2
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 2
            monitorexit
         7: athrow
         8: .line 2010
      StackMap locals:
      StackMap stack:
            return
        end local 1 // boolean enabled
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Ljava/lang/ClassLoader;
            0    9     1  enabled  Z
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
         Name  Flags
      enabled  

  public void setPackageAssertionStatus(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String packageName
        start local 2 // boolean enabled
         0: .line 2051
            aload 0 /* this */
            getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 2052
            aload 0 /* this */
            getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
            ifnonnull 3
         2: .line 2053
            aload 0 /* this */
            invokevirtual java.lang.ClassLoader.initializeJavaAssertionMaps:()V
         3: .line 2055
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
            aload 1 /* packageName */
            iload 2 /* enabled */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 2051
            aload 3
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 2057
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean enabled
        end local 1 // java.lang.String packageName
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Ljava/lang/ClassLoader;
            0    9     1  packageName  Ljava/lang/String;
            0    9     2      enabled  Z
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
             Name  Flags
      packageName  
      enabled      

  public void setClassAssertionStatus(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String className
        start local 2 // boolean enabled
         0: .line 2082
            aload 0 /* this */
            getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 2083
            aload 0 /* this */
            getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
            ifnonnull 3
         2: .line 2084
            aload 0 /* this */
            invokevirtual java.lang.ClassLoader.initializeJavaAssertionMaps:()V
         3: .line 2086
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
            aload 1 /* className */
            iload 2 /* enabled */
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 2082
            aload 3
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 2088
      StackMap locals:
      StackMap stack:
            return
        end local 2 // boolean enabled
        end local 1 // java.lang.String className
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    9     0       this  Ljava/lang/ClassLoader;
            0    9     1  className  Ljava/lang/String;
            0    9     2    enabled  Z
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
           Name  Flags
      className  
      enabled    

  public void clearAssertionStatus();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.lang.ClassLoader this
         0: .line 2104
            aload 0 /* this */
            getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         1: .line 2105
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
         2: .line 2106
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
         3: .line 2107
            aload 0 /* this */
            iconst_0
            putfield java.lang.ClassLoader.defaultAssertionStatus:Z
         4: .line 2104
            aload 1
            monitorexit
         5: goto 8
      StackMap locals: java.lang.ClassLoader java.lang.Object
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 2109
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljava/lang/ClassLoader;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any

  boolean desiredAssertionStatus(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // java.lang.ClassLoader this
        start local 1 // java.lang.String className
         0: .line 2134
            aload 0 /* this */
            getfield java.lang.ClassLoader.assertionLock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 2139
            aload 0 /* this */
            getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
            aload 1 /* className */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 3 /* result */
        start local 3 // java.lang.Boolean result
         2: .line 2140
            aload 3 /* result */
            ifnull 5
         3: .line 2141
            aload 3 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            aload 2
            monitorexit
         4: ireturn
         5: .line 2144
      StackMap locals: java.lang.Object java.lang.Boolean
      StackMap stack:
            aload 1 /* className */
            ldc "."
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 4 /* dotIndex */
        start local 4 // int dotIndex
         6: .line 2145
            iload 4 /* dotIndex */
            ifge 17
         7: .line 2146
            aload 0 /* this */
            getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
            aconst_null
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 3 /* result */
         8: .line 2147
            aload 3 /* result */
            ifnull 17
         9: .line 2148
            aload 3 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            aload 2
            monitorexit
        10: ireturn
        11: .line 2151
      StackMap locals: int
      StackMap stack:
            aload 1 /* className */
            iconst_0
            iload 4 /* dotIndex */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* className */
        12: .line 2152
            aload 0 /* this */
            getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
            aload 1 /* className */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.Boolean
            astore 3 /* result */
        13: .line 2153
            aload 3 /* result */
            ifnull 16
        14: .line 2154
            aload 3 /* result */
            invokevirtual java.lang.Boolean.booleanValue:()Z
            aload 2
            monitorexit
        15: ireturn
        16: .line 2155
      StackMap locals:
      StackMap stack:
            aload 1 /* className */
            ldc "."
            iload 4 /* dotIndex */
            iconst_1
            isub
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
            istore 4 /* dotIndex */
        17: .line 2150
      StackMap locals:
      StackMap stack:
            iload 4 /* dotIndex */
            ifgt 11
        18: .line 2159
            aload 0 /* this */
            getfield java.lang.ClassLoader.defaultAssertionStatus:Z
            aload 2
            monitorexit
        19: ireturn
        end local 4 // int dotIndex
        end local 3 // java.lang.Boolean result
        20: .line 2134
      StackMap locals: java.lang.ClassLoader java.lang.String java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 2
            monitorexit
        21: athrow
        end local 1 // java.lang.String className
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   22     0       this  Ljava/lang/ClassLoader;
            0   22     1  className  Ljava/lang/String;
            2   20     3     result  Ljava/lang/Boolean;
            6   20     4   dotIndex  I
      Exception table:
        from    to  target  type
           1     4      20  any
           5    10      20  any
          11    15      20  any
          16    19      20  any
          20    21      20  any
    MethodParameters:
           Name  Flags
      className  

  private void initializeJavaAssertionMaps();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.ClassLoader this
         0: .line 2168
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
         1: .line 2169
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
         2: .line 2170
            invokestatic java.lang.ClassLoader.retrieveDirectives:()Ljava/lang/AssertionStatusDirectives;
            astore 1 /* directives */
        start local 1 // java.lang.AssertionStatusDirectives directives
         3: .line 2172
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         4: goto 9
         5: .line 2173
      StackMap locals: java.lang.AssertionStatusDirectives int
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.classAssertionStatus:Ljava/util/Map;
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.classes:[Ljava/lang/String;
            iload 2 /* i */
            aaload
         6: .line 2174
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.classEnabled:[Z
            iload 2 /* i */
            baload
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
         7: .line 2173
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         8: .line 2172
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 2 /* i */
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.classes:[Ljava/lang/String;
            arraylength
            if_icmplt 5
        end local 2 // int i
        10: .line 2176
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        11: goto 16
        12: .line 2177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.lang.ClassLoader.packageAssertionStatus:Ljava/util/Map;
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.packages:[Ljava/lang/String;
            iload 2 /* i */
            aaload
        13: .line 2178
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.packageEnabled:[Z
            iload 2 /* i */
            baload
            invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
        14: .line 2177
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        15: .line 2176
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 2 /* i */
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.packages:[Ljava/lang/String;
            arraylength
            if_icmplt 12
        end local 2 // int i
        17: .line 2180
            aload 0 /* this */
            aload 1 /* directives */
            getfield java.lang.AssertionStatusDirectives.deflt:Z
            putfield java.lang.ClassLoader.defaultAssertionStatus:Z
        18: .line 2181
            return
        end local 1 // java.lang.AssertionStatusDirectives directives
        end local 0 // java.lang.ClassLoader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Ljava/lang/ClassLoader;
            3   19     1  directives  Ljava/lang/AssertionStatusDirectives;
            4   10     2           i  I
           11   17     2           i  I

  private static native java.lang.AssertionStatusDirectives retrieveDirectives();
    descriptor: ()Ljava/lang/AssertionStatusDirectives;
    flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
}
SourceFile: "ClassLoader.java"
NestMembers:
  java.lang.ClassLoader$1  java.lang.ClassLoader$2  java.lang.ClassLoader$3  java.lang.ClassLoader$NativeLibrary  java.lang.ClassLoader$ParallelLoaders
InnerClasses:
  java.lang.ClassLoader$1
  java.lang.ClassLoader$2
  java.lang.ClassLoader$3
  NativeLibrary = java.lang.ClassLoader$NativeLibrary of java.lang.ClassLoader
  private ParallelLoaders = java.lang.ClassLoader$ParallelLoaders of java.lang.ClassLoader