class sun.misc.URLClassPath$JarLoader extends sun.misc.URLClassPath$Loader
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: sun.misc.URLClassPath$JarLoader
  super_class: sun.misc.URLClassPath$Loader
{
  private java.util.jar.JarFile jar;
    descriptor: Ljava/util/jar/JarFile;
    flags: (0x0002) ACC_PRIVATE

  private final java.net.URL csu;
    descriptor: Ljava/net/URL;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private sun.misc.JarIndex index;
    descriptor: Lsun/misc/JarIndex;
    flags: (0x0002) ACC_PRIVATE

  private sun.misc.MetaIndex metaIndex;
    descriptor: Lsun/misc/MetaIndex;
    flags: (0x0002) ACC_PRIVATE

  private java.net.URLStreamHandler handler;
    descriptor: Ljava/net/URLStreamHandler;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.HashMap<java.net.URL, sun.misc.URLClassPath$Loader> lmap;
    descriptor: Ljava/util/HashMap;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/net/URL;Lsun/misc/URLClassPath$Loader;>;

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

  private static final sun.misc.JavaUtilZipFileAccess zipAccess;
    descriptor: Lsun/misc/JavaUtilZipFileAccess;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 604
            invokestatic sun.misc.SharedSecrets.getJavaUtilZipFileAccess:()Lsun/misc/JavaUtilZipFileAccess;
         1: .line 603
            putstatic sun.misc.URLClassPath$JarLoader.zipAccess:Lsun/misc/JavaUtilZipFileAccess;
         2: .line 604
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.net.URL, java.net.URLStreamHandler, java.util.HashMap<java.net.URL, sun.misc.URLClassPath$Loader>, java.security.AccessControlContext);
    descriptor: (Ljava/net/URL;Ljava/net/URLStreamHandler;Ljava/util/HashMap;Ljava/security/AccessControlContext;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=7, args_size=5
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.net.URL url
        start local 2 // java.net.URLStreamHandler jarHandler
        start local 3 // java.util.HashMap loaderMap
        start local 4 // java.security.AccessControlContext acc
         0: .line 615
            aload 0 /* this */
            new java.net.URL
            dup
            ldc "jar"
            ldc ""
            iconst_m1
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* url */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc "!/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 2 /* jarHandler */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;Ljava/lang/String;ILjava/lang/String;Ljava/net/URLStreamHandler;)V
            invokespecial sun.misc.URLClassPath$Loader.<init>:(Ljava/net/URL;)V
         1: .line 616
            aload 0 /* this */
            aload 1 /* url */
            putfield sun.misc.URLClassPath$JarLoader.csu:Ljava/net/URL;
         2: .line 617
            aload 0 /* this */
            aload 2 /* jarHandler */
            putfield sun.misc.URLClassPath$JarLoader.handler:Ljava/net/URLStreamHandler;
         3: .line 618
            aload 0 /* this */
            aload 3 /* loaderMap */
            putfield sun.misc.URLClassPath$JarLoader.lmap:Ljava/util/HashMap;
         4: .line 619
            aload 0 /* this */
            aload 4 /* acc */
            putfield sun.misc.URLClassPath$JarLoader.acc:Ljava/security/AccessControlContext;
         5: .line 621
            aload 0 /* this */
            aload 1 /* url */
            invokevirtual sun.misc.URLClassPath$JarLoader.isOptimizable:(Ljava/net/URL;)Z
            ifne 8
         6: .line 622
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.ensureOpen:()V
         7: .line 623
            goto 17
         8: .line 624
      StackMap locals: sun.misc.URLClassPath$JarLoader java.net.URL java.net.URLStreamHandler java.util.HashMap java.security.AccessControlContext
      StackMap stack:
            aload 1 /* url */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            astore 5 /* fileName */
        start local 5 // java.lang.String fileName
         9: .line 625
            aload 5 /* fileName */
            ifnull 15
        10: .line 626
            aload 5 /* fileName */
            invokestatic sun.net.www.ParseUtil.decode:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* fileName */
        11: .line 627
            new java.io.File
            dup
            aload 5 /* fileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 6 /* f */
        start local 6 // java.io.File f
        12: .line 628
            aload 0 /* this */
            aload 6 /* f */
            invokestatic sun.misc.MetaIndex.forJar:(Ljava/io/File;)Lsun/misc/MetaIndex;
            putfield sun.misc.URLClassPath$JarLoader.metaIndex:Lsun/misc/MetaIndex;
        13: .line 635
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.metaIndex:Lsun/misc/MetaIndex;
            ifnull 15
            aload 6 /* f */
            invokevirtual java.io.File.exists:()Z
            ifne 15
        14: .line 636
            aload 0 /* this */
            aconst_null
            putfield sun.misc.URLClassPath$JarLoader.metaIndex:Lsun/misc/MetaIndex;
        end local 6 // java.io.File f
        15: .line 643
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.metaIndex:Lsun/misc/MetaIndex;
            ifnonnull 17
        16: .line 644
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.ensureOpen:()V
        end local 5 // java.lang.String fileName
        17: .line 647
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.security.AccessControlContext acc
        end local 3 // java.util.HashMap loaderMap
        end local 2 // java.net.URLStreamHandler jarHandler
        end local 1 // java.net.URL url
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   18     0        this  Lsun/misc/URLClassPath$JarLoader;
            0   18     1         url  Ljava/net/URL;
            0   18     2  jarHandler  Ljava/net/URLStreamHandler;
            0   18     3   loaderMap  Ljava/util/HashMap<Ljava/net/URL;Lsun/misc/URLClassPath$Loader;>;
            0   18     4         acc  Ljava/security/AccessControlContext;
            9   17     5    fileName  Ljava/lang/String;
           12   15     6           f  Ljava/io/File;
    Exceptions:
      throws java.io.IOException
    Signature: (Ljava/net/URL;Ljava/net/URLStreamHandler;Ljava/util/HashMap<Ljava/net/URL;Lsun/misc/URLClassPath$Loader;>;Ljava/security/AccessControlContext;)V
    MethodParameters:
            Name  Flags
      url         
      jarHandler  
      loaderMap   
      acc         

  java.util.jar.JarFile getJarFile();
    descriptor: ()Ljava/util/jar/JarFile;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.misc.URLClassPath$JarLoader this
         0: .line 650
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            areturn
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/URLClassPath$JarLoader;

  private boolean isOptimizable(java.net.URL);
    descriptor: (Ljava/net/URL;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.net.URL url
         0: .line 654
            ldc "file"
            aload 1 /* url */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // java.net.URL url
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lsun/misc/URLClassPath$JarLoader;
            0    1     1   url  Ljava/net/URL;
    MethodParameters:
      Name  Flags
      url   

  private void ensureOpen();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // sun.misc.URLClassPath$JarLoader this
         0: .line 658
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            ifnonnull 7
         1: .line 661
            new sun.misc.URLClassPath$JarLoader$1
            dup
            aload 0 /* this */
            invokespecial sun.misc.URLClassPath$JarLoader$1.<init>:(Lsun/misc/URLClassPath$JarLoader;)V
         2: .line 691
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.acc:Ljava/security/AccessControlContext;
         3: .line 660
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            pop
         4: .line 692
            goto 7
      StackMap locals:
      StackMap stack: java.security.PrivilegedActionException
         5: astore 1 /* pae */
        start local 1 // java.security.PrivilegedActionException pae
         6: .line 693
            aload 1 /* pae */
            invokevirtual java.security.PrivilegedActionException.getException:()Ljava/lang/Exception;
            checkcast java.io.IOException
            athrow
        end local 1 // java.security.PrivilegedActionException pae
         7: .line 696
      StackMap locals:
      StackMap stack:
            return
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lsun/misc/URLClassPath$JarLoader;
            6    7     1   pae  Ljava/security/PrivilegedActionException;
      Exception table:
        from    to  target  type
           1     4       5  Class java.security.PrivilegedActionException
    Exceptions:
      throws java.io.IOException

  static java.util.jar.JarFile checkJar(java.util.jar.JarFile);
    descriptor: (Ljava/util/jar/JarFile;)Ljava/util/jar/JarFile;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.util.jar.JarFile jar
         0: .line 700
            invokestatic java.lang.System.getSecurityManager:()Ljava/lang/SecurityManager;
            ifnull 3
            getstatic sun.misc.URLClassPath.DISABLE_JAR_CHECKING:Z
            ifne 3
         1: .line 701
            getstatic sun.misc.URLClassPath$JarLoader.zipAccess:Lsun/misc/JavaUtilZipFileAccess;
            aload 0 /* jar */
            invokeinterface sun.misc.JavaUtilZipFileAccess.startsWithLocHeader:(Ljava/util/zip/ZipFile;)Z
            ifne 3
         2: .line 702
            new java.io.IOException
            dup
            ldc "Invalid Jar file"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 703
      StackMap locals:
      StackMap stack:
            aload 0 /* jar */
            areturn
        end local 0 // java.util.jar.JarFile jar
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0   jar  Ljava/util/jar/JarFile;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      jar   

  private java.util.jar.JarFile getJarFile(java.net.URL);
    descriptor: (Ljava/net/URL;)Ljava/util/jar/JarFile;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.net.URL url
         0: .line 708
            aload 0 /* this */
            aload 1 /* url */
            invokevirtual sun.misc.URLClassPath$JarLoader.isOptimizable:(Ljava/net/URL;)Z
            ifeq 5
         1: .line 709
            new sun.misc.FileURLMapper
            dup
            aload 1 /* url */
            invokespecial sun.misc.FileURLMapper.<init>:(Ljava/net/URL;)V
            astore 2 /* p */
        start local 2 // sun.misc.FileURLMapper p
         2: .line 710
            aload 2 /* p */
            invokevirtual sun.misc.FileURLMapper.exists:()Z
            ifne 4
         3: .line 711
            new java.io.FileNotFoundException
            dup
            aload 2 /* p */
            invokevirtual sun.misc.FileURLMapper.getPath:()Ljava/lang/String;
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 713
      StackMap locals: sun.misc.FileURLMapper
      StackMap stack:
            new java.util.jar.JarFile
            dup
            aload 2 /* p */
            invokevirtual sun.misc.FileURLMapper.getPath:()Ljava/lang/String;
            invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;)V
            invokestatic sun.misc.URLClassPath$JarLoader.checkJar:(Ljava/util/jar/JarFile;)Ljava/util/jar/JarFile;
            areturn
        end local 2 // sun.misc.FileURLMapper p
         5: .line 715
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.getBaseURL:()Ljava/net/URL;
            invokevirtual java.net.URL.openConnection:()Ljava/net/URLConnection;
            astore 2 /* uc */
        start local 2 // java.net.URLConnection uc
         6: .line 716
            aload 2 /* uc */
            ldc "UA-Java-Version"
            getstatic sun.misc.URLClassPath.JAVA_VERSION:Ljava/lang/String;
            invokevirtual java.net.URLConnection.setRequestProperty:(Ljava/lang/String;Ljava/lang/String;)V
         7: .line 717
            aload 2 /* uc */
            checkcast java.net.JarURLConnection
            invokevirtual java.net.JarURLConnection.getJarFile:()Ljava/util/jar/JarFile;
            astore 3 /* jarFile */
        start local 3 // java.util.jar.JarFile jarFile
         8: .line 718
            aload 3 /* jarFile */
            invokestatic sun.misc.URLClassPath$JarLoader.checkJar:(Ljava/util/jar/JarFile;)Ljava/util/jar/JarFile;
            areturn
        end local 3 // java.util.jar.JarFile jarFile
        end local 2 // java.net.URLConnection uc
        end local 1 // java.net.URL url
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lsun/misc/URLClassPath$JarLoader;
            0    9     1      url  Ljava/net/URL;
            2    5     2        p  Lsun/misc/FileURLMapper;
            6    9     2       uc  Ljava/net/URLConnection;
            8    9     3  jarFile  Ljava/util/jar/JarFile;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      url   

  sun.misc.JarIndex getIndex();
    descriptor: ()Lsun/misc/JarIndex;
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // sun.misc.URLClassPath$JarLoader this
         0: .line 726
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.ensureOpen:()V
         1: .line 727
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         2: astore 1 /* e */
        start local 1 // java.io.IOException e
         3: .line 728
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            aload 1 /* e */
            invokevirtual java.lang.InternalError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.lang.InternalError
            athrow
        end local 1 // java.io.IOException e
         4: .line 730
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.index:Lsun/misc/JarIndex;
            areturn
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lsun/misc/URLClassPath$JarLoader;
            3    4     1     e  Ljava/io/IOException;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException

  sun.misc.Resource checkResource(java.lang.String, boolean, java.util.jar.JarEntry);
    descriptor: (Ljava/lang/String;ZLjava/util/jar/JarEntry;)Lsun/misc/Resource;
    flags: (0x0000) 
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean check
        start local 3 // java.util.jar.JarEntry entry
         0: .line 742
            new java.net.URL
            dup
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.getBaseURL:()Ljava/net/URL;
            aload 1 /* name */
            iconst_0
            invokestatic sun.net.www.ParseUtil.encodePath:(Ljava/lang/String;Z)Ljava/lang/String;
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            astore 4 /* url */
        start local 4 // java.net.URL url
         1: .line 743
            iload 2 /* check */
            ifeq 10
         2: .line 744
            aload 4 /* url */
            invokestatic sun.misc.URLClassPath.check:(Ljava/net/URL;)V
         3: .line 746
            goto 10
        end local 4 // java.net.URL url
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
         4: pop
         5: .line 747
            aconst_null
            areturn
         6: .line 749
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
         7: .line 750
            aconst_null
            areturn
         8: .line 751
      StackMap locals:
      StackMap stack: java.security.AccessControlException
            pop
         9: .line 752
            aconst_null
            areturn
        start local 4 // java.net.URL url
        10: .line 755
      StackMap locals: java.net.URL
      StackMap stack:
            new sun.misc.URLClassPath$JarLoader$2
            dup
            aload 0 /* this */
            aload 1 /* name */
            aload 4 /* url */
            aload 3 /* entry */
            invokespecial sun.misc.URLClassPath$JarLoader$2.<init>:(Lsun/misc/URLClassPath$JarLoader;Ljava/lang/String;Ljava/net/URL;Ljava/util/jar/JarEntry;)V
            areturn
        end local 4 // java.net.URL url
        end local 3 // java.util.jar.JarEntry entry
        end local 2 // boolean check
        end local 1 // java.lang.String name
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Lsun/misc/URLClassPath$JarLoader;
            0   11     1   name  Ljava/lang/String;
            0   11     2  check  Z
            0   11     3  entry  Ljava/util/jar/JarEntry;
            1    4     4    url  Ljava/net/URL;
           10   11     4    url  Ljava/net/URL;
      Exception table:
        from    to  target  type
           0     3       4  Class java.net.MalformedURLException
           0     3       6  Class java.io.IOException
           0     3       8  Class java.security.AccessControlException
    MethodParameters:
       Name  Flags
      name   final
      check  
      entry  final

  boolean validIndex(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0000) 
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
         0: .line 780
            aload 1 /* name */
            astore 2 /* packageName */
        start local 2 // java.lang.String packageName
         1: .line 782
            aload 1 /* name */
            ldc "/"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            dup
            istore 3 /* pos */
        start local 3 // int pos
         2: iconst_m1
            if_icmpeq 4
         3: .line 783
            aload 1 /* name */
            iconst_0
            iload 3 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 2 /* packageName */
         4: .line 788
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
            astore 6 /* enum_ */
        start local 6 // java.util.Enumeration enum_
         5: .line 789
            goto 12
         6: .line 790
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String java.lang.String int top top java.util.Enumeration
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.util.zip.ZipEntry
            astore 5 /* entry */
        start local 5 // java.util.zip.ZipEntry entry
         7: .line 791
            aload 5 /* entry */
            invokevirtual java.util.zip.ZipEntry.getName:()Ljava/lang/String;
            astore 4 /* entryName */
        start local 4 // java.lang.String entryName
         8: .line 792
            aload 4 /* entryName */
            ldc "/"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            dup
            istore 3 /* pos */
            iconst_m1
            if_icmpeq 10
         9: .line 793
            aload 4 /* entryName */
            iconst_0
            iload 3 /* pos */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 4 /* entryName */
        10: .line 794
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String java.lang.String int java.lang.String java.util.zip.ZipEntry java.util.Enumeration
      StackMap stack:
            aload 4 /* entryName */
            aload 2 /* packageName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 12
        11: .line 795
            iconst_1
            ireturn
        end local 5 // java.util.zip.ZipEntry entry
        end local 4 // java.lang.String entryName
        12: .line 789
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String java.lang.String int top top java.util.Enumeration
      StackMap stack:
            aload 6 /* enum_ */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 6
        13: .line 798
            iconst_0
            ireturn
        end local 6 // java.util.Enumeration enum_
        end local 3 // int pos
        end local 2 // java.lang.String packageName
        end local 1 // java.lang.String name
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Lsun/misc/URLClassPath$JarLoader;
            0   14     1         name  Ljava/lang/String;
            1   14     2  packageName  Ljava/lang/String;
            2   14     3          pos  I
            8   12     4    entryName  Ljava/lang/String;
            7   12     5        entry  Ljava/util/zip/ZipEntry;
            5   14     6        enum_  Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
    MethodParameters:
      Name  Flags
      name  final

  java.net.URL findResource(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Ljava/net/URL;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean check
         0: .line 805
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* check */
            invokevirtual sun.misc.URLClassPath$JarLoader.getResource:(Ljava/lang/String;Z)Lsun/misc/Resource;
            astore 3 /* rsc */
        start local 3 // sun.misc.Resource rsc
         1: .line 806
            aload 3 /* rsc */
            ifnull 3
         2: .line 807
            aload 3 /* rsc */
            invokevirtual sun.misc.Resource.getURL:()Ljava/net/URL;
            areturn
         3: .line 809
      StackMap locals: sun.misc.Resource
      StackMap stack:
            aconst_null
            areturn
        end local 3 // sun.misc.Resource rsc
        end local 2 // boolean check
        end local 1 // java.lang.String name
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lsun/misc/URLClassPath$JarLoader;
            0    4     1   name  Ljava/lang/String;
            0    4     2  check  Z
            1    4     3    rsc  Lsun/misc/Resource;
    MethodParameters:
       Name  Flags
      name   final
      check  

  sun.misc.Resource getResource(java.lang.String, boolean);
    descriptor: (Ljava/lang/String;Z)Lsun/misc/Resource;
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean check
         0: .line 816
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.metaIndex:Lsun/misc/MetaIndex;
            ifnull 3
         1: .line 817
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.metaIndex:Lsun/misc/MetaIndex;
            aload 1 /* name */
            invokevirtual sun.misc.MetaIndex.mayContain:(Ljava/lang/String;)Z
            ifne 3
         2: .line 818
            aconst_null
            areturn
         3: .line 823
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.ensureOpen:()V
         4: .line 824
            goto 7
      StackMap locals:
      StackMap stack: java.io.IOException
         5: astore 3 /* e */
        start local 3 // java.io.IOException e
         6: .line 825
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            aload 3 /* e */
            invokevirtual java.lang.InternalError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.lang.InternalError
            athrow
        end local 3 // java.io.IOException e
         7: .line 827
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            aload 1 /* name */
            invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
            astore 3 /* entry */
        start local 3 // java.util.jar.JarEntry entry
         8: .line 828
            aload 3 /* entry */
            ifnull 10
         9: .line 829
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* check */
            aload 3 /* entry */
            invokevirtual sun.misc.URLClassPath$JarLoader.checkResource:(Ljava/lang/String;ZLjava/util/jar/JarEntry;)Lsun/misc/Resource;
            areturn
        10: .line 831
      StackMap locals: java.util.jar.JarEntry
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.index:Lsun/misc/JarIndex;
            ifnonnull 12
        11: .line 832
            aconst_null
            areturn
        12: .line 834
      StackMap locals:
      StackMap stack:
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 4 /* visited */
        start local 4 // java.util.HashSet visited
        13: .line 835
            aload 0 /* this */
            aload 1 /* name */
            iload 2 /* check */
            aload 4 /* visited */
            invokevirtual sun.misc.URLClassPath$JarLoader.getResource:(Ljava/lang/String;ZLjava/util/Set;)Lsun/misc/Resource;
            areturn
        end local 4 // java.util.HashSet visited
        end local 3 // java.util.jar.JarEntry entry
        end local 2 // boolean check
        end local 1 // java.lang.String name
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   14     0     this  Lsun/misc/URLClassPath$JarLoader;
            0   14     1     name  Ljava/lang/String;
            0   14     2    check  Z
            6    7     3        e  Ljava/io/IOException;
            8   14     3    entry  Ljava/util/jar/JarEntry;
           13   14     4  visited  Ljava/util/HashSet<Ljava/net/URL;>;
      Exception table:
        from    to  target  type
           3     4       5  Class java.io.IOException
    MethodParameters:
       Name  Flags
      name   final
      check  

  sun.misc.Resource getResource(java.lang.String, boolean, java.util.Set<java.net.URL>);
    descriptor: (Ljava/lang/String;ZLjava/util/Set;)Lsun/misc/Resource;
    flags: (0x0000) 
    Code:
      stack=6, locals=14, args_size=4
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.lang.String name
        start local 2 // boolean check
        start local 3 // java.util.Set visited
         0: .line 851
            iconst_0
            istore 6 /* count */
        start local 6 // int count
         1: .line 852
            aconst_null
            astore 7 /* jarFilesList */
        start local 7 // java.util.LinkedList jarFilesList
         2: .line 857
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.index:Lsun/misc/JarIndex;
            aload 1 /* name */
            invokevirtual sun.misc.JarIndex.get:(Ljava/lang/String;)Ljava/util/LinkedList;
            dup
            astore 7 /* jarFilesList */
            ifnonnull 4
         3: .line 858
            aconst_null
            areturn
         4: .line 861
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String int java.util.Set top top int java.util.LinkedList
      StackMap stack:
            aload 7 /* jarFilesList */
            invokevirtual java.util.LinkedList.toArray:()[Ljava/lang/Object;
            astore 5 /* jarFiles */
        start local 5 // java.lang.Object[] jarFiles
         5: .line 862
            aload 7 /* jarFilesList */
            invokevirtual java.util.LinkedList.size:()I
            istore 8 /* size */
        start local 8 // int size
         6: .line 864
            goto 46
         7: .line 865
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.Object[] int java.util.LinkedList int
      StackMap stack:
            aload 5 /* jarFiles */
            iload 6 /* count */
            iinc 6 /* count */ 1
            aaload
            checkcast java.lang.String
            astore 9 /* jarName */
        start local 9 // java.lang.String jarName
         8: .line 870
            new java.net.URL
            dup
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.csu:Ljava/net/URL;
            aload 9 /* jarName */
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            astore 11 /* url */
        start local 11 // java.net.URL url
         9: .line 871
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.lmap:Ljava/util/HashMap;
            aload 11 /* url */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast sun.misc.URLClassPath$JarLoader
            dup
            astore 10 /* newLoader */
        start local 10 // sun.misc.URLClassPath$JarLoader newLoader
        10: ifnonnull 27
        11: .line 876
            new sun.misc.URLClassPath$JarLoader$3
            dup
            aload 0 /* this */
            aload 11 /* url */
            invokespecial sun.misc.URLClassPath$JarLoader$3.<init>:(Lsun/misc/URLClassPath$JarLoader;Ljava/net/URL;)V
        12: .line 881
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.acc:Ljava/security/AccessControlContext;
        13: .line 875
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedExceptionAction;Ljava/security/AccessControlContext;)Ljava/lang/Object;
            checkcast sun.misc.URLClassPath$JarLoader
            astore 10 /* newLoader */
        14: .line 887
            aload 10 /* newLoader */
            invokevirtual sun.misc.URLClassPath$JarLoader.getIndex:()Lsun/misc/JarIndex;
            astore 12 /* newIndex */
        start local 12 // sun.misc.JarIndex newIndex
        15: .line 888
            aload 12 /* newIndex */
            ifnull 21
        16: .line 889
            aload 9 /* jarName */
            ldc "/"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            istore 13 /* pos */
        start local 13 // int pos
        17: .line 890
            aload 12 /* newIndex */
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.index:Lsun/misc/JarIndex;
            iload 13 /* pos */
            iconst_m1
            if_icmpne 19
        18: .line 891
            aconst_null
            goto 20
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.Object[] int java.util.LinkedList int java.lang.String sun.misc.URLClassPath$JarLoader java.net.URL sun.misc.JarIndex int
      StackMap stack: sun.misc.JarIndex sun.misc.JarIndex
        19: aload 9 /* jarName */
            iconst_0
            iload 13 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
        20: .line 890
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.Object[] int java.util.LinkedList int java.lang.String sun.misc.URLClassPath$JarLoader java.net.URL sun.misc.JarIndex int
      StackMap stack: sun.misc.JarIndex sun.misc.JarIndex java.lang.String
            invokevirtual sun.misc.JarIndex.merge:(Lsun/misc/JarIndex;Ljava/lang/String;)V
        end local 13 // int pos
        21: .line 895
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.lmap:Ljava/util/HashMap;
            aload 11 /* url */
            aload 10 /* newLoader */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 12 // sun.misc.JarIndex newIndex
        22: .line 897
            goto 27
        end local 11 // java.net.URL url
        end local 10 // sun.misc.URLClassPath$JarLoader newLoader
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.Object[] int java.util.LinkedList int java.lang.String
      StackMap stack: java.security.PrivilegedActionException
        23: pop
        24: .line 898
            goto 46
        25: .line 899
      StackMap locals:
      StackMap stack: java.net.MalformedURLException
            pop
        26: .line 900
            goto 46
        start local 10 // sun.misc.URLClassPath$JarLoader newLoader
        start local 11 // java.net.URL url
        27: .line 907
      StackMap locals: sun.misc.URLClassPath$JarLoader java.net.URL
      StackMap stack:
            aload 3 /* visited */
            aload 11 /* url */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 28
            iconst_0
            goto 29
      StackMap locals:
      StackMap stack:
        28: iconst_1
      StackMap locals:
      StackMap stack: int
        29: istore 12 /* visitedURL */
        start local 12 // boolean visitedURL
        30: .line 908
            iload 12 /* visitedURL */
            ifne 40
        31: .line 910
            aload 10 /* newLoader */
            invokevirtual sun.misc.URLClassPath$JarLoader.ensureOpen:()V
        32: .line 911
            goto 35
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.Object[] int java.util.LinkedList int java.lang.String sun.misc.URLClassPath$JarLoader java.net.URL int
      StackMap stack: java.io.IOException
        33: astore 13 /* e */
        start local 13 // java.io.IOException e
        34: .line 912
            new java.lang.InternalError
            dup
            invokespecial java.lang.InternalError.<init>:()V
            aload 13 /* e */
            invokevirtual java.lang.InternalError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            checkcast java.lang.InternalError
            athrow
        end local 13 // java.io.IOException e
        35: .line 914
      StackMap locals:
      StackMap stack:
            aload 10 /* newLoader */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            aload 1 /* name */
            invokevirtual java.util.jar.JarFile.getJarEntry:(Ljava/lang/String;)Ljava/util/jar/JarEntry;
            astore 13 /* entry */
        start local 13 // java.util.jar.JarEntry entry
        36: .line 915
            aload 13 /* entry */
            ifnull 38
        37: .line 916
            aload 10 /* newLoader */
            aload 1 /* name */
            iload 2 /* check */
            aload 13 /* entry */
            invokevirtual sun.misc.URLClassPath$JarLoader.checkResource:(Ljava/lang/String;ZLjava/util/jar/JarEntry;)Lsun/misc/Resource;
            areturn
        38: .line 923
      StackMap locals: java.util.jar.JarEntry
      StackMap stack:
            aload 10 /* newLoader */
            aload 1 /* name */
            invokevirtual sun.misc.URLClassPath$JarLoader.validIndex:(Ljava/lang/String;)Z
            ifne 40
        39: .line 925
            new sun.misc.InvalidJarIndexException
            dup
            ldc "Invalid index"
            invokespecial sun.misc.InvalidJarIndexException.<init>:(Ljava/lang/String;)V
            athrow
        end local 13 // java.util.jar.JarEntry entry
        40: .line 934
      StackMap locals:
      StackMap stack:
            iload 12 /* visitedURL */
            ifne 46
            aload 10 /* newLoader */
            aload 0 /* this */
            if_acmpeq 46
        41: .line 935
            aload 10 /* newLoader */
            invokevirtual sun.misc.URLClassPath$JarLoader.getIndex:()Lsun/misc/JarIndex;
            ifnonnull 43
        42: .line 936
            goto 46
        43: .line 941
      StackMap locals:
      StackMap stack:
            aload 10 /* newLoader */
            aload 1 /* name */
            iload 2 /* check */
            aload 3 /* visited */
            invokevirtual sun.misc.URLClassPath$JarLoader.getResource:(Ljava/lang/String;ZLjava/util/Set;)Lsun/misc/Resource;
            dup
            astore 4 /* res */
        start local 4 // sun.misc.Resource res
        44: ifnull 46
        45: .line 943
            aload 4 /* res */
            areturn
        end local 12 // boolean visitedURL
        end local 11 // java.net.URL url
        end local 10 // sun.misc.URLClassPath$JarLoader newLoader
        end local 9 // java.lang.String jarName
        end local 4 // sun.misc.Resource res
        46: .line 864
      StackMap locals: sun.misc.URLClassPath$JarLoader java.lang.String int java.util.Set top java.lang.Object[] int java.util.LinkedList int
      StackMap stack:
            iload 6 /* count */
            iload 8 /* size */
            if_icmplt 7
        47: .line 948
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.index:Lsun/misc/JarIndex;
            aload 1 /* name */
            invokevirtual sun.misc.JarIndex.get:(Ljava/lang/String;)Ljava/util/LinkedList;
            astore 7 /* jarFilesList */
        end local 8 // int size
        48: .line 951
            iload 6 /* count */
            aload 7 /* jarFilesList */
            invokevirtual java.util.LinkedList.size:()I
        49: .line 860
            if_icmplt 4
        50: .line 952
            aconst_null
            areturn
        end local 7 // java.util.LinkedList jarFilesList
        end local 6 // int count
        end local 5 // java.lang.Object[] jarFiles
        end local 3 // java.util.Set visited
        end local 2 // boolean check
        end local 1 // java.lang.String name
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   51     0          this  Lsun/misc/URLClassPath$JarLoader;
            0   51     1          name  Ljava/lang/String;
            0   51     2         check  Z
            0   51     3       visited  Ljava/util/Set<Ljava/net/URL;>;
           44   46     4           res  Lsun/misc/Resource;
            5   51     5      jarFiles  [Ljava/lang/Object;
            1   51     6         count  I
            2   51     7  jarFilesList  Ljava/util/LinkedList;
            6   48     8          size  I
            8   46     9       jarName  Ljava/lang/String;
           10   23    10     newLoader  Lsun/misc/URLClassPath$JarLoader;
           27   46    10     newLoader  Lsun/misc/URLClassPath$JarLoader;
            9   23    11           url  Ljava/net/URL;
           27   46    11           url  Ljava/net/URL;
           15   22    12      newIndex  Lsun/misc/JarIndex;
           17   21    13           pos  I
           30   46    12    visitedURL  Z
           34   35    13             e  Ljava/io/IOException;
           36   40    13         entry  Ljava/util/jar/JarEntry;
      Exception table:
        from    to  target  type
           8    22      23  Class java.security.PrivilegedActionException
           8    22      25  Class java.net.MalformedURLException
          31    32      33  Class java.io.IOException
    Signature: (Ljava/lang/String;ZLjava/util/Set<Ljava/net/URL;>;)Lsun/misc/Resource;
    MethodParameters:
         Name  Flags
      name     final
      check    
      visited  

  java.net.URL[] getClassPath();
    descriptor: ()[Ljava/net/URL;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=1
        start local 0 // sun.misc.URLClassPath$JarLoader this
         0: .line 960
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.index:Lsun/misc/JarIndex;
            ifnull 2
         1: .line 961
            aconst_null
            areturn
         2: .line 964
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.metaIndex:Lsun/misc/MetaIndex;
            ifnull 4
         3: .line 965
            aconst_null
            areturn
         4: .line 968
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.ensureOpen:()V
         5: .line 969
            aload 0 /* this */
            invokevirtual sun.misc.URLClassPath$JarLoader.parseExtensionsDependencies:()V
         6: .line 970
            invokestatic sun.misc.SharedSecrets.javaUtilJarAccess:()Lsun/misc/JavaUtilJarAccess;
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            invokeinterface sun.misc.JavaUtilJarAccess.jarFileHasClassPathAttribute:(Ljava/util/jar/JarFile;)Z
            ifeq 14
         7: .line 971
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            invokevirtual java.util.jar.JarFile.getManifest:()Ljava/util/jar/Manifest;
            astore 1 /* man */
        start local 1 // java.util.jar.Manifest man
         8: .line 972
            aload 1 /* man */
            ifnull 14
         9: .line 973
            aload 1 /* man */
            invokevirtual java.util.jar.Manifest.getMainAttributes:()Ljava/util/jar/Attributes;
            astore 2 /* attr */
        start local 2 // java.util.jar.Attributes attr
        10: .line 974
            aload 2 /* attr */
            ifnull 14
        11: .line 975
            aload 2 /* attr */
            getstatic java.util.jar.Attributes$Name.CLASS_PATH:Ljava/util/jar/Attributes$Name;
            invokevirtual java.util.jar.Attributes.getValue:(Ljava/util/jar/Attributes$Name;)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
        12: .line 976
            aload 3 /* value */
            ifnull 14
        13: .line 977
            aload 0 /* this */
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.csu:Ljava/net/URL;
            aload 3 /* value */
            invokevirtual sun.misc.URLClassPath$JarLoader.parseClassPath:(Ljava/net/URL;Ljava/lang/String;)[Ljava/net/URL;
            areturn
        end local 3 // java.lang.String value
        end local 2 // java.util.jar.Attributes attr
        end local 1 // java.util.jar.Manifest man
        14: .line 982
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lsun/misc/URLClassPath$JarLoader;
            8   14     1    man  Ljava/util/jar/Manifest;
           10   14     2   attr  Ljava/util/jar/Attributes;
           12   14     3  value  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException

  private void parseExtensionsDependencies();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // sun.misc.URLClassPath$JarLoader this
         0: .line 989
            aload 0 /* this */
            getfield sun.misc.URLClassPath$JarLoader.jar:Ljava/util/jar/JarFile;
            invokestatic sun.misc.ExtensionDependency.checkExtensionsDependencies:(Ljava/util/jar/JarFile;)Z
            pop
         1: .line 990
            return
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lsun/misc/URLClassPath$JarLoader;
    Exceptions:
      throws java.io.IOException

  private java.net.URL[] parseClassPath(java.net.URL, java.lang.String);
    descriptor: (Ljava/net/URL;Ljava/lang/String;)[Ljava/net/URL;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // sun.misc.URLClassPath$JarLoader this
        start local 1 // java.net.URL base
        start local 2 // java.lang.String value
         0: .line 999
            new java.util.StringTokenizer
            dup
            aload 2 /* value */
            invokespecial java.util.StringTokenizer.<init>:(Ljava/lang/String;)V
            astore 3 /* st */
        start local 3 // java.util.StringTokenizer st
         1: .line 1000
            aload 3 /* st */
            invokevirtual java.util.StringTokenizer.countTokens:()I
            anewarray java.net.URL
            astore 4 /* urls */
        start local 4 // java.net.URL[] urls
         2: .line 1001
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         3: .line 1002
            goto 11
         4: .line 1003
      StackMap locals: java.util.StringTokenizer java.net.URL[] int
      StackMap stack:
            aload 3 /* st */
            invokevirtual java.util.StringTokenizer.nextToken:()Ljava/lang/String;
            astore 6 /* path */
        start local 6 // java.lang.String path
         5: .line 1004
            getstatic sun.misc.URLClassPath.DISABLE_CP_URL_CHECK:Z
            ifeq 6
            new java.net.URL
            dup
            aload 1 /* base */
            aload 6 /* path */
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            goto 7
      StackMap locals: java.lang.String
      StackMap stack:
         6: aload 1 /* base */
            aload 6 /* path */
            invokestatic sun.misc.URLClassPath$JarLoader.safeResolve:(Ljava/net/URL;Ljava/lang/String;)Ljava/net/URL;
      StackMap locals:
      StackMap stack: java.net.URL
         7: astore 7 /* url */
        start local 7 // java.net.URL url
         8: .line 1005
            aload 7 /* url */
            ifnull 11
         9: .line 1006
            aload 4 /* urls */
            iload 5 /* i */
            aload 7 /* url */
            aastore
        10: .line 1007
            iinc 5 /* i */ 1
        end local 7 // java.net.URL url
        end local 6 // java.lang.String path
        11: .line 1002
      StackMap locals:
      StackMap stack:
            aload 3 /* st */
            invokevirtual java.util.StringTokenizer.hasMoreTokens:()Z
            ifne 4
        12: .line 1010
            iload 5 /* i */
            ifne 15
        13: .line 1011
            aconst_null
            astore 4 /* urls */
        14: .line 1012
            goto 17
      StackMap locals:
      StackMap stack:
        15: iload 5 /* i */
            aload 4 /* urls */
            arraylength
            if_icmpeq 17
        16: .line 1014
            aload 4 /* urls */
            iload 5 /* i */
            invokestatic java.util.Arrays.copyOf:([Ljava/lang/Object;I)[Ljava/lang/Object;
            checkcast java.net.URL[]
            astore 4 /* urls */
        17: .line 1016
      StackMap locals:
      StackMap stack:
            aload 4 /* urls */
            areturn
        end local 5 // int i
        end local 4 // java.net.URL[] urls
        end local 3 // java.util.StringTokenizer st
        end local 2 // java.lang.String value
        end local 1 // java.net.URL base
        end local 0 // sun.misc.URLClassPath$JarLoader this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   18     0   this  Lsun/misc/URLClassPath$JarLoader;
            0   18     1   base  Ljava/net/URL;
            0   18     2  value  Ljava/lang/String;
            1   18     3     st  Ljava/util/StringTokenizer;
            2   18     4   urls  [Ljava/net/URL;
            3   18     5      i  I
            5   11     6   path  Ljava/lang/String;
            8   11     7    url  Ljava/net/URL;
    Exceptions:
      throws java.net.MalformedURLException
    MethodParameters:
       Name  Flags
      base   
      value  

  static java.net.URL safeResolve(java.net.URL, java.lang.String);
    descriptor: (Ljava/net/URL;Ljava/lang/String;)Ljava/net/URL;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // java.net.URL base
        start local 1 // java.lang.String path
         0: .line 1024
            aload 1 /* path */
            getstatic java.io.File.separatorChar:C
            bipush 47
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 2 /* child */
        start local 2 // java.lang.String child
         1: .line 1026
            aload 2 /* child */
            invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
            invokevirtual java.net.URI.isAbsolute:()Z
            ifne 17
         2: .line 1027
            new java.net.URL
            dup
            aload 0 /* base */
            aload 2 /* child */
            invokespecial java.net.URL.<init>:(Ljava/net/URL;Ljava/lang/String;)V
            astore 3 /* url */
        start local 3 // java.net.URL url
         3: .line 1028
            aload 0 /* base */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            ldc "file"
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifeq 6
         4: .line 1029
            aload 3 /* url */
         5: areturn
         6: .line 1031
      StackMap locals: java.lang.String java.net.URL
      StackMap stack:
            aload 0 /* base */
            invokevirtual java.net.URL.getPath:()Ljava/lang/String;
            astore 4 /* bp */
        start local 4 // java.lang.String bp
         7: .line 1032
            aload 3 /* url */
            invokevirtual java.net.URL.getPath:()Ljava/lang/String;
            astore 5 /* urlp */
        start local 5 // java.lang.String urlp
         8: .line 1033
            aload 4 /* bp */
            bipush 47
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 6 /* pos */
        start local 6 // int pos
         9: .line 1034
            iload 6 /* pos */
            iconst_m1
            if_icmpne 11
        10: .line 1035
            aload 4 /* bp */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            istore 6 /* pos */
        11: .line 1037
      StackMap locals: java.lang.String java.lang.String int
      StackMap stack:
            aload 5 /* urlp */
            iconst_0
            aload 4 /* bp */
            iconst_0
            iload 6 /* pos */
            iconst_1
            iadd
            invokevirtual java.lang.String.regionMatches:(ILjava/lang/String;II)Z
            ifeq 17
        12: .line 1038
            aload 5 /* urlp */
            ldc ".."
            iload 6 /* pos */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
            iconst_m1
            if_icmpne 17
        13: .line 1039
            aload 3 /* url */
        14: areturn
        end local 6 // int pos
        end local 5 // java.lang.String urlp
        end local 4 // java.lang.String bp
        end local 3 // java.net.URL url
        15: .line 1043
      StackMap locals: java.net.URL java.lang.String java.lang.String
      StackMap stack: java.net.MalformedURLException
            pop
            goto 17
      StackMap locals:
      StackMap stack: java.lang.IllegalArgumentException
        16: pop
        17: .line 1044
      StackMap locals:
      StackMap stack:
            getstatic sun.misc.URLClassPath.DEBUG_CP_URL_CHECK:Z
            ifeq 19
        18: .line 1045
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            new java.lang.StringBuilder
            dup
            ldc "Class-Path entry: \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* path */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\" ignored in JAR file "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* base */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        19: .line 1047
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.String child
        end local 1 // java.lang.String path
        end local 0 // java.net.URL base
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   20     0   base  Ljava/net/URL;
            0   20     1   path  Ljava/lang/String;
            1   20     2  child  Ljava/lang/String;
            3   15     3    url  Ljava/net/URL;
            7   15     4     bp  Ljava/lang/String;
            8   15     5   urlp  Ljava/lang/String;
            9   15     6    pos  I
      Exception table:
        from    to  target  type
           1     5      15  Class java.net.MalformedURLException
           6    14      15  Class java.net.MalformedURLException
           1     5      16  Class java.lang.IllegalArgumentException
           6    14      16  Class java.lang.IllegalArgumentException
    MethodParameters:
      Name  Flags
      base  
      path  
}
SourceFile: "URLClassPath.java"
NestHost: sun.misc.URLClassPath
InnerClasses:
  public Name = java.util.jar.Attributes$Name of java.util.jar.Attributes
  JarLoader = sun.misc.URLClassPath$JarLoader of sun.misc.URLClassPath
  sun.misc.URLClassPath$JarLoader$1
  sun.misc.URLClassPath$JarLoader$2
  sun.misc.URLClassPath$JarLoader$3
  private Loader = sun.misc.URLClassPath$Loader of sun.misc.URLClassPath