class java.util.zip.ZipFile$Source
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.util.zip.ZipFile$Source
  super_class: java.lang.Object
{
  private final java.util.zip.ZipFile$Source$Key key;
    descriptor: Ljava/util/zip/ZipFile$Source$Key;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int refs;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private java.io.RandomAccessFile zfile;
    descriptor: Ljava/io/RandomAccessFile;
    flags: (0x0002) ACC_PRIVATE

  private byte[] cen;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private long locpos;
    descriptor: J
    flags: (0x0002) ACC_PRIVATE

  private byte[] comment;
    descriptor: [B
    flags: (0x0002) ACC_PRIVATE

  private int[] metanames;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private final boolean startsWithLoc;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private int[] entries;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

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

  private int total;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private int[] table;
    descriptor: [I
    flags: (0x0002) ACC_PRIVATE

  private int tablelen;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

  private static final java.util.HashMap<java.util.zip.ZipFile$Source$Key, java.util.zip.ZipFile$Source> files;
    descriptor: Ljava/util/HashMap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/util/HashMap<Ljava/util/zip/ZipFile$Source$Key;Ljava/util/zip/ZipFile$Source;>;

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 1218
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
         1: .line 1295
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private int addEntry(int, int, int, int);
    descriptor: (IIII)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // java.util.zip.ZipFile$Source this
        start local 1 // int index
        start local 2 // int hash
        start local 3 // int next
        start local 4 // int pos
         0: .line 1175
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.entries:[I
            iload 1 /* index */
            iinc 1 /* index */ 1
            iload 2 /* hash */
            iastore
         1: .line 1176
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.entries:[I
            iload 1 /* index */
            iinc 1 /* index */ 1
            iload 3 /* next */
            iastore
         2: .line 1177
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.entries:[I
            iload 1 /* index */
            iinc 1 /* index */ 1
            iload 4 /* pos */
            iastore
         3: .line 1178
            iload 1 /* index */
            ireturn
        end local 4 // int pos
        end local 3 // int next
        end local 2 // int hash
        end local 1 // int index
        end local 0 // java.util.zip.ZipFile$Source this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Ljava/util/zip/ZipFile$Source;
            0    4     1  index  I
            0    4     2   hash  I
            0    4     3   next  I
            0    4     4    pos  I
    MethodParameters:
       Name  Flags
      index  
      hash   
      next   
      pos    

  private int getEntryHash(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.util.zip.ZipFile$Source this
        start local 1 // int index
         0: .line 1180
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.entries:[I
            iload 1 /* index */
            iaload
            ireturn
        end local 1 // int index
        end local 0 // java.util.zip.ZipFile$Source this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/util/zip/ZipFile$Source;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  private int getEntryNext(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.zip.ZipFile$Source this
        start local 1 // int index
         0: .line 1181
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.entries:[I
            iload 1 /* index */
            iconst_1
            iadd
            iaload
            ireturn
        end local 1 // int index
        end local 0 // java.util.zip.ZipFile$Source this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/util/zip/ZipFile$Source;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  private int getEntryPos(int);
    descriptor: (I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // java.util.zip.ZipFile$Source this
        start local 1 // int index
         0: .line 1182
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.entries:[I
            iload 1 /* index */
            iconst_2
            iadd
            iaload
            ireturn
        end local 1 // int index
        end local 0 // java.util.zip.ZipFile$Source this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljava/util/zip/ZipFile$Source;
            0    1     1  index  I
    MethodParameters:
       Name  Flags
      index  

  static java.util.zip.ZipFile$Source get(java.io.File, boolean, java.util.zip.ZipCoder);
    descriptor: (Ljava/io/File;ZLjava/util/zip/ZipCoder;)Ljava/util/zip/ZipFile$Source;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // java.io.File file
        start local 1 // boolean toDelete
        start local 2 // java.util.zip.ZipCoder zc
         0: .line 1224
            new java.util.zip.ZipFile$Source$Key
            dup
            aload 0 /* file */
         1: .line 1225
            aload 0 /* file */
            invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
            ldc Ljava/nio/file/attribute/BasicFileAttributes;
            iconst_0
            anewarray java.nio.file.LinkOption
            invokestatic java.nio.file.Files.readAttributes:(Ljava/nio/file/Path;Ljava/lang/Class;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/BasicFileAttributes;
         2: .line 1224
            invokespecial java.util.zip.ZipFile$Source$Key.<init>:(Ljava/io/File;Ljava/nio/file/attribute/BasicFileAttributes;)V
            astore 3 /* key */
        start local 3 // java.util.zip.ZipFile$Source$Key key
         3: .line 1226
            goto 6
        end local 3 // java.util.zip.ZipFile$Source$Key key
      StackMap locals:
      StackMap stack: java.nio.file.InvalidPathException
         4: astore 4 /* ipe */
        start local 4 // java.nio.file.InvalidPathException ipe
         5: .line 1227
            new java.io.IOException
            dup
            aload 4 /* ipe */
            invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.nio.file.InvalidPathException ipe
        start local 3 // java.util.zip.ZipFile$Source$Key key
         6: .line 1230
      StackMap locals: java.util.zip.ZipFile$Source$Key
      StackMap stack:
            getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
            dup
            astore 5
            monitorenter
         7: .line 1231
            getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
            aload 3 /* key */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.zip.ZipFile$Source
            astore 4 /* src */
        start local 4 // java.util.zip.ZipFile$Source src
         8: .line 1232
            aload 4 /* src */
            ifnull 12
         9: .line 1233
            aload 4 /* src */
            dup
            getfield java.util.zip.ZipFile$Source.refs:I
            iconst_1
            iadd
            putfield java.util.zip.ZipFile$Source.refs:I
        10: .line 1234
            aload 4 /* src */
            aload 5
            monitorexit
        11: areturn
        12: .line 1230
      StackMap locals: java.util.zip.ZipFile$Source java.util.HashMap
      StackMap stack:
            aload 5
            monitorexit
        13: goto 16
        end local 4 // java.util.zip.ZipFile$Source src
      StackMap locals: java.io.File int java.util.zip.ZipCoder java.util.zip.ZipFile$Source$Key top java.util.HashMap
      StackMap stack: java.lang.Throwable
        14: aload 5
            monitorexit
        15: athrow
        start local 4 // java.util.zip.ZipFile$Source src
        16: .line 1237
      StackMap locals: java.io.File int java.util.zip.ZipCoder java.util.zip.ZipFile$Source$Key java.util.zip.ZipFile$Source
      StackMap stack:
            new java.util.zip.ZipFile$Source
            dup
            aload 3 /* key */
            iload 1 /* toDelete */
            aload 2 /* zc */
            invokespecial java.util.zip.ZipFile$Source.<init>:(Ljava/util/zip/ZipFile$Source$Key;ZLjava/util/zip/ZipCoder;)V
            astore 4 /* src */
        17: .line 1239
            getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
            dup
            astore 5
            monitorenter
        18: .line 1240
            getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
            aload 3 /* key */
            invokevirtual java.util.HashMap.containsKey:(Ljava/lang/Object;)Z
            ifeq 24
        19: .line 1241
            aload 4 /* src */
            invokevirtual java.util.zip.ZipFile$Source.close:()V
        20: .line 1242
            getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
            aload 3 /* key */
            invokevirtual java.util.HashMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.zip.ZipFile$Source
            astore 4 /* src */
        21: .line 1243
            aload 4 /* src */
            dup
            getfield java.util.zip.ZipFile$Source.refs:I
            iconst_1
            iadd
            putfield java.util.zip.ZipFile$Source.refs:I
        22: .line 1244
            aload 4 /* src */
            aload 5
            monitorexit
        23: areturn
        24: .line 1246
      StackMap locals: java.util.HashMap
      StackMap stack:
            getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
            aload 3 /* key */
            aload 4 /* src */
            invokevirtual java.util.HashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        25: .line 1247
            aload 4 /* src */
            aload 5
            monitorexit
        26: areturn
        27: .line 1239
      StackMap locals:
      StackMap stack: java.lang.Throwable
            aload 5
            monitorexit
        28: athrow
        end local 4 // java.util.zip.ZipFile$Source src
        end local 3 // java.util.zip.ZipFile$Source$Key key
        end local 2 // java.util.zip.ZipCoder zc
        end local 1 // boolean toDelete
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   29     0      file  Ljava/io/File;
            0   29     1  toDelete  Z
            0   29     2        zc  Ljava/util/zip/ZipCoder;
            3    4     3       key  Ljava/util/zip/ZipFile$Source$Key;
            6   29     3       key  Ljava/util/zip/ZipFile$Source$Key;
            5    6     4       ipe  Ljava/nio/file/InvalidPathException;
            8   14     4       src  Ljava/util/zip/ZipFile$Source;
           16   29     4       src  Ljava/util/zip/ZipFile$Source;
      Exception table:
        from    to  target  type
           0     3       4  Class java.nio.file.InvalidPathException
           7    11      14  any
          12    13      14  any
          14    15      14  any
          18    23      27  any
          24    26      27  any
          27    28      27  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      file      
      toDelete  
      zc        

  static void release(java.util.zip.ZipFile$Source);
    descriptor: (Ljava/util/zip/ZipFile$Source;)V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // java.util.zip.ZipFile$Source src
         0: .line 1252
            getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
            dup
            astore 1
            monitorenter
         1: .line 1253
            aload 0 /* src */
            ifnull 4
            aload 0 /* src */
            dup
            getfield java.util.zip.ZipFile$Source.refs:I
            iconst_1
            isub
            dup_x1
            putfield java.util.zip.ZipFile$Source.refs:I
            ifne 4
         2: .line 1254
            getstatic java.util.zip.ZipFile$Source.files:Ljava/util/HashMap;
            aload 0 /* src */
            getfield java.util.zip.ZipFile$Source.key:Ljava/util/zip/ZipFile$Source$Key;
            invokevirtual java.util.HashMap.remove:(Ljava/lang/Object;)Ljava/lang/Object;
            pop
         3: .line 1255
            aload 0 /* src */
            invokevirtual java.util.zip.ZipFile$Source.close:()V
         4: .line 1252
      StackMap locals: java.util.HashMap
      StackMap stack:
            aload 1
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 1
            monitorexit
         7: athrow
         8: .line 1258
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.util.zip.ZipFile$Source src
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0   src  Ljava/util/zip/ZipFile$Source;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      src   

  private void <init>(java.util.zip.ZipFile$Source$Key, boolean, java.util.zip.ZipCoder);
    descriptor: (Ljava/util/zip/ZipFile$Source$Key;ZLjava/util/zip/ZipCoder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // java.util.zip.ZipFile$Source this
        start local 1 // java.util.zip.ZipFile$Source$Key key
        start local 2 // boolean toDelete
        start local 3 // java.util.zip.ZipCoder zc
         0: .line 1260
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1145
            aload 0 /* this */
            iconst_1
            putfield java.util.zip.ZipFile$Source.refs:I
         2: .line 1261
            aload 0 /* this */
            aload 1 /* key */
            putfield java.util.zip.ZipFile$Source.key:Ljava/util/zip/ZipFile$Source$Key;
         3: .line 1262
            iload 2 /* toDelete */
            ifeq 12
         4: .line 1263
            getstatic java.util.zip.ZipFile.isWindows:Z
            ifeq 9
         5: .line 1264
            aload 0 /* this */
            invokestatic jdk.internal.misc.SharedSecrets.getJavaIORandomAccessFileAccess:()Ljdk/internal/misc/JavaIORandomAccessFileAccess;
         6: .line 1265
            aload 1 /* key */
            getfield java.util.zip.ZipFile$Source$Key.file:Ljava/io/File;
            ldc "r"
            invokeinterface jdk.internal.misc.JavaIORandomAccessFileAccess.openAndDelete:(Ljava/io/File;Ljava/lang/String;)Ljava/io/RandomAccessFile;
         7: .line 1264
            putfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
         8: .line 1266
            goto 13
         9: .line 1267
      StackMap locals: java.util.zip.ZipFile$Source java.util.zip.ZipFile$Source$Key int java.util.zip.ZipCoder
      StackMap stack:
            aload 0 /* this */
            new java.io.RandomAccessFile
            dup
            aload 1 /* key */
            getfield java.util.zip.ZipFile$Source$Key.file:Ljava/io/File;
            ldc "r"
            invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
            putfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
        10: .line 1268
            aload 1 /* key */
            getfield java.util.zip.ZipFile$Source$Key.file:Ljava/io/File;
            invokevirtual java.io.File.delete:()Z
            pop
        11: .line 1270
            goto 13
        12: .line 1271
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new java.io.RandomAccessFile
            dup
            aload 1 /* key */
            getfield java.util.zip.ZipFile$Source$Key.file:Ljava/io/File;
            ldc "r"
            invokespecial java.io.RandomAccessFile.<init>:(Ljava/io/File;Ljava/lang/String;)V
            putfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
        13: .line 1274
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            aload 3 /* zc */
            invokevirtual java.util.zip.ZipFile$Source.initCEN:(ILjava/util/zip/ZipCoder;)V
        14: .line 1275
            iconst_4
            newarray 8
            astore 4 /* buf */
        start local 4 // byte[] buf
        15: .line 1276
            aload 0 /* this */
            aload 4 /* buf */
            iconst_0
            iconst_4
            lconst_0
            invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
            pop
        16: .line 1277
            aload 0 /* this */
            aload 4 /* buf */
            invokestatic java.util.zip.ZipUtils.LOCSIG:([B)J
            ldc 67324752
            lcmp
            ifne 17
            iconst_1
            goto 18
      StackMap locals: java.util.zip.ZipFile$Source java.util.zip.ZipFile$Source$Key int java.util.zip.ZipCoder byte[]
      StackMap stack: java.util.zip.ZipFile$Source
        17: iconst_0
      StackMap locals: java.util.zip.ZipFile$Source java.util.zip.ZipFile$Source$Key int java.util.zip.ZipCoder byte[]
      StackMap stack: java.util.zip.ZipFile$Source int
        18: putfield java.util.zip.ZipFile$Source.startsWithLoc:Z
        end local 4 // byte[] buf
        19: .line 1278
            goto 25
      StackMap locals: java.util.zip.ZipFile$Source java.util.zip.ZipFile$Source$Key int java.util.zip.ZipCoder
      StackMap stack: java.io.IOException
        20: astore 4 /* x */
        start local 4 // java.io.IOException x
        21: .line 1280
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
            invokevirtual java.io.RandomAccessFile.close:()V
        22: .line 1281
            goto 24
      StackMap locals: java.util.zip.ZipFile$Source java.util.zip.ZipFile$Source$Key int java.util.zip.ZipCoder java.io.IOException
      StackMap stack: java.io.IOException
        23: pop
        24: .line 1282
      StackMap locals:
      StackMap stack:
            aload 4 /* x */
            athrow
        end local 4 // java.io.IOException x
        25: .line 1284
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.zip.ZipCoder zc
        end local 2 // boolean toDelete
        end local 1 // java.util.zip.ZipFile$Source$Key key
        end local 0 // java.util.zip.ZipFile$Source this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   26     0      this  Ljava/util/zip/ZipFile$Source;
            0   26     1       key  Ljava/util/zip/ZipFile$Source$Key;
            0   26     2  toDelete  Z
            0   26     3        zc  Ljava/util/zip/ZipCoder;
           15   19     4       buf  [B
           21   25     4         x  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          13    19      20  Class java.io.IOException
          21    22      23  Class java.io.IOException
    Exceptions:
      throws java.io.IOException
    MethodParameters:
          Name  Flags
      key       
      toDelete  
      zc        

  private void close();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.util.zip.ZipFile$Source this
         0: .line 1287
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
            invokevirtual java.io.RandomAccessFile.close:()V
         1: .line 1288
            aload 0 /* this */
            aconst_null
            putfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
         2: .line 1289
            aload 0 /* this */
            aconst_null
            putfield java.util.zip.ZipFile$Source.cen:[B
         3: .line 1290
            aload 0 /* this */
            aconst_null
            putfield java.util.zip.ZipFile$Source.entries:[I
         4: .line 1291
            aload 0 /* this */
            aconst_null
            putfield java.util.zip.ZipFile$Source.table:[I
         5: .line 1292
            aload 0 /* this */
            aconst_null
            putfield java.util.zip.ZipFile$Source.metanames:[I
         6: .line 1293
            return
        end local 0 // java.util.zip.ZipFile$Source this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Ljava/util/zip/ZipFile$Source;
    Exceptions:
      throws java.io.IOException

  private final int readFullyAt(byte[], int, int, long);
    descriptor: ([BIIJ)I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=9, args_size=5
        start local 0 // java.util.zip.ZipFile$Source this
        start local 1 // byte[] buf
        start local 2 // int off
        start local 3 // int len
        start local 4 // long pos
         0: .line 1299
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
            dup
            astore 6
            monitorenter
         1: .line 1300
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
            lload 4 /* pos */
            invokevirtual java.io.RandomAccessFile.seek:(J)V
         2: .line 1301
            iload 3 /* len */
            istore 7 /* N */
        start local 7 // int N
         3: .line 1302
            goto 8
         4: .line 1303
      StackMap locals: java.io.RandomAccessFile int
      StackMap stack:
            sipush 8192
            iload 7 /* N */
            invokestatic java.lang.Math.min:(II)I
            istore 8 /* n */
        start local 8 // int n
         5: .line 1304
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
            aload 1 /* buf */
            iload 2 /* off */
            iload 8 /* n */
            invokevirtual java.io.RandomAccessFile.readFully:([BII)V
         6: .line 1305
            iload 2 /* off */
            iload 8 /* n */
            iadd
            istore 2 /* off */
         7: .line 1306
            iload 7 /* N */
            iload 8 /* n */
            isub
            istore 7 /* N */
        end local 8 // int n
         8: .line 1302
      StackMap locals:
      StackMap stack:
            iload 7 /* N */
            ifgt 4
         9: .line 1308
            iload 3 /* len */
            aload 6
            monitorexit
        10: ireturn
        end local 7 // int N
        11: .line 1299
      StackMap locals: java.util.zip.ZipFile$Source byte[] int int long java.io.RandomAccessFile
      StackMap stack: java.lang.Throwable
            aload 6
            monitorexit
        12: athrow
        end local 4 // long pos
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buf
        end local 0 // java.util.zip.ZipFile$Source this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  this  Ljava/util/zip/ZipFile$Source;
            0   13     1   buf  [B
            0   13     2   off  I
            0   13     3   len  I
            0   13     4   pos  J
            3   11     7     N  I
            5    8     8     n  I
      Exception table:
        from    to  target  type
           1    10      11  any
          11    12      11  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   
      off   
      len   
      pos   

  private final int readAt(byte[], int, int, long);
    descriptor: ([BIIJ)I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // java.util.zip.ZipFile$Source this
        start local 1 // byte[] buf
        start local 2 // int off
        start local 3 // int len
        start local 4 // long pos
         0: .line 1315
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
            dup
            astore 6
            monitorenter
         1: .line 1316
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
            lload 4 /* pos */
            invokevirtual java.io.RandomAccessFile.seek:(J)V
         2: .line 1317
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
            aload 1 /* buf */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.io.RandomAccessFile.read:([BII)I
            aload 6
            monitorexit
         3: ireturn
         4: .line 1315
      StackMap locals: java.util.zip.ZipFile$Source byte[] int int long java.io.RandomAccessFile
      StackMap stack: java.lang.Throwable
            aload 6
            monitorexit
         5: athrow
        end local 4 // long pos
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] buf
        end local 0 // java.util.zip.ZipFile$Source this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljava/util/zip/ZipFile$Source;
            0    6     1   buf  [B
            0    6     2   off  I
            0    6     3   len  I
            0    6     4   pos  J
      Exception table:
        from    to  target  type
           1     3       4  any
           4     5       4  any
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      buf   
      off   
      len   
      pos   

  private static final void checkUTF8(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // byte[] a
        start local 1 // int pos
        start local 2 // int len
         0: .line 1323
            iload 1 /* pos */
            iload 2 /* len */
            iadd
            istore 3 /* end */
        start local 3 // int end
         1: .line 1324
            goto 6
         2: .line 1328
      StackMap locals: int
      StackMap stack:
            aload 0 /* a */
            iload 1 /* pos */
            baload
            ifge 5
         3: .line 1329
            aload 0 /* a */
            iload 1 /* pos */
            iload 3 /* end */
            iload 1 /* pos */
            isub
            invokestatic java.util.zip.ZipCoder.toStringUTF8:([BII)Ljava/lang/String;
            pop
         4: .line 1330
            goto 10
         5: .line 1332
      StackMap locals:
      StackMap stack:
            iinc 1 /* pos */ 1
         6: .line 1324
      StackMap locals:
      StackMap stack:
            iload 1 /* pos */
            iload 3 /* end */
            if_icmplt 2
        end local 3 // int end
         7: .line 1334
            goto 10
      StackMap locals: byte[] int int
      StackMap stack: java.lang.Exception
         8: pop
         9: .line 1335
            ldc "invalid CEN header (bad entry name)"
            invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
        10: .line 1337
      StackMap locals:
      StackMap stack:
            return
        end local 2 // int len
        end local 1 // int pos
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0     a  [B
            0   11     1   pos  I
            0   11     2   len  I
            1    7     3   end  I
      Exception table:
        from    to  target  type
           0     7       8  Class java.lang.Exception
    Exceptions:
      throws java.util.zip.ZipException
    MethodParameters:
      Name  Flags
      a     
      pos   
      len   

  private final void checkEncoding(java.util.zip.ZipCoder, byte[], int, int);
    descriptor: (Ljava/util/zip/ZipCoder;[BII)V
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // java.util.zip.ZipFile$Source this
        start local 1 // java.util.zip.ZipCoder zc
        start local 2 // byte[] a
        start local 3 // int pos
        start local 4 // int nlen
         0: .line 1341
            aload 1 /* zc */
            aload 2 /* a */
            iload 3 /* pos */
            iload 4 /* nlen */
            invokevirtual java.util.zip.ZipCoder.toString:([BII)Ljava/lang/String;
            pop
         1: .line 1342
            goto 4
      StackMap locals:
      StackMap stack: java.lang.Exception
         2: pop
         3: .line 1343
            ldc "invalid CEN header (bad entry name)"
            invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
         4: .line 1345
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int nlen
        end local 3 // int pos
        end local 2 // byte[] a
        end local 1 // java.util.zip.ZipCoder zc
        end local 0 // java.util.zip.ZipFile$Source this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Ljava/util/zip/ZipFile$Source;
            0    5     1    zc  Ljava/util/zip/ZipCoder;
            0    5     2     a  [B
            0    5     3   pos  I
            0    5     4  nlen  I
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.Exception
    Exceptions:
      throws java.util.zip.ZipException
    MethodParameters:
      Name  Flags
      zc    
      a     
      pos   
      nlen  

  private static final int hashN(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // byte[] a
        start local 1 // int off
        start local 2 // int len
         0: .line 1348
            iconst_1
            istore 3 /* h */
        start local 3 // int h
         1: .line 1349
            goto 3
         2: .line 1350
      StackMap locals: int
      StackMap stack:
            bipush 31
            iload 3 /* h */
            imul
            aload 0 /* a */
            iload 1 /* off */
            iinc 1 /* off */ 1
            baload
            iadd
            istore 3 /* h */
         3: .line 1349
      StackMap locals:
      StackMap stack:
            iload 2 /* len */
            iinc 2 /* len */ -1
            ifgt 2
         4: .line 1352
            iload 3 /* h */
            ireturn
        end local 3 // int h
        end local 2 // int len
        end local 1 // int off
        end local 0 // byte[] a
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     a  [B
            0    5     1   off  I
            0    5     2   len  I
            1    5     3     h  I
    MethodParameters:
      Name  Flags
      a     
      off   
      len   

  private static final int hash_append(int, byte);
    descriptor: (IB)I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // int hash
        start local 1 // byte b
         0: .line 1356
            iload 0 /* hash */
            bipush 31
            imul
            iload 1 /* b */
            iadd
            ireturn
        end local 1 // byte b
        end local 0 // int hash
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  hash  I
            0    1     1     b  B
    MethodParameters:
      Name  Flags
      hash  
      b     

  private java.util.zip.ZipFile$Source$End findEND();
    descriptor: ()Ljava/util/zip/ZipFile$Source$End;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=26, args_size=1
        start local 0 // java.util.zip.ZipFile$Source this
         0: .line 1373
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.zfile:Ljava/io/RandomAccessFile;
            invokevirtual java.io.RandomAccessFile.length:()J
            lstore 1 /* ziplen */
        start local 1 // long ziplen
         1: .line 1374
            lload 1 /* ziplen */
            lconst_0
            lcmp
            ifgt 3
         2: .line 1375
            ldc "zip file is empty"
            invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
         3: .line 1376
      StackMap locals: long
      StackMap stack:
            new java.util.zip.ZipFile$Source$End
            dup
            invokespecial java.util.zip.ZipFile$Source$End.<init>:()V
            astore 3 /* end */
        start local 3 // java.util.zip.ZipFile$Source$End end
         4: .line 1377
            sipush 128
            newarray 8
            astore 4 /* buf */
        start local 4 // byte[] buf
         5: .line 1378
            lload 1 /* ziplen */
            ldc 65557
            lsub
            lconst_0
            lcmp
            ifle 6
            lload 1 /* ziplen */
            ldc 65557
            lsub
            goto 7
      StackMap locals: java.util.zip.ZipFile$Source$End byte[]
      StackMap stack:
         6: lconst_0
      StackMap locals:
      StackMap stack: long
         7: lstore 5 /* minHDR */
        start local 5 // long minHDR
         8: .line 1379
            lload 5 /* minHDR */
            aload 4 /* buf */
            arraylength
            bipush 22
            isub
            i2l
            lsub
            lstore 7 /* minPos */
        start local 7 // long minPos
         9: .line 1380
            lload 1 /* ziplen */
            aload 4 /* buf */
            arraylength
            i2l
            lsub
            lstore 9 /* pos */
        start local 9 // long pos
        10: goto 79
        11: .line 1381
      StackMap locals: long long long
      StackMap stack:
            iconst_0
            istore 11 /* off */
        start local 11 // int off
        12: .line 1382
            lload 9 /* pos */
            lconst_0
            lcmp
            ifge 15
        13: .line 1384
            lload 9 /* pos */
            lneg
            l2i
            istore 11 /* off */
        14: .line 1385
            aload 4 /* buf */
            iconst_0
            iload 11 /* off */
            iconst_0
            invokestatic java.util.Arrays.fill:([BIIB)V
        15: .line 1387
      StackMap locals: int
      StackMap stack:
            aload 4 /* buf */
            arraylength
            iload 11 /* off */
            isub
            istore 12 /* len */
        start local 12 // int len
        16: .line 1388
            aload 0 /* this */
            aload 4 /* buf */
            iload 11 /* off */
            iload 12 /* len */
            lload 9 /* pos */
            iload 11 /* off */
            i2l
            ladd
            invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
            iload 12 /* len */
            if_icmpeq 18
        17: .line 1389
            ldc "zip END header not found"
            invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
        18: .line 1392
      StackMap locals: int
      StackMap stack:
            aload 4 /* buf */
            arraylength
            bipush 22
            isub
            istore 13 /* i */
        start local 13 // int i
        19: goto 77
        20: .line 1393
      StackMap locals: int
      StackMap stack:
            aload 4 /* buf */
            iload 13 /* i */
            iconst_0
            iadd
            baload
            bipush 80
            if_icmpne 76
        21: .line 1394
            aload 4 /* buf */
            iload 13 /* i */
            iconst_1
            iadd
            baload
            bipush 75
            if_icmpne 76
        22: .line 1395
            aload 4 /* buf */
            iload 13 /* i */
            iconst_2
            iadd
            baload
            iconst_5
            if_icmpne 76
        23: .line 1396
            aload 4 /* buf */
            iload 13 /* i */
            iconst_3
            iadd
            baload
            bipush 6
            if_icmpne 76
        24: .line 1398
            aload 4 /* buf */
            iload 13 /* i */
            iload 13 /* i */
            bipush 22
            iadd
            invokestatic java.util.Arrays.copyOfRange:([BII)[B
            astore 14 /* endbuf */
        start local 14 // byte[] endbuf
        25: .line 1399
            aload 3 /* end */
            aload 14 /* endbuf */
            invokestatic java.util.zip.ZipUtils.ENDTOT:([B)I
            putfield java.util.zip.ZipFile$Source$End.centot:I
        26: .line 1400
            aload 3 /* end */
            aload 14 /* endbuf */
            invokestatic java.util.zip.ZipUtils.ENDSIZ:([B)J
            putfield java.util.zip.ZipFile$Source$End.cenlen:J
        27: .line 1401
            aload 3 /* end */
            aload 14 /* endbuf */
            invokestatic java.util.zip.ZipUtils.ENDOFF:([B)J
            putfield java.util.zip.ZipFile$Source$End.cenoff:J
        28: .line 1402
            aload 3 /* end */
            lload 9 /* pos */
            iload 13 /* i */
            i2l
            ladd
            putfield java.util.zip.ZipFile$Source$End.endpos:J
        29: .line 1403
            aload 14 /* endbuf */
            invokestatic java.util.zip.ZipUtils.ENDCOM:([B)I
            istore 15 /* comlen */
        start local 15 // int comlen
        30: .line 1404
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.endpos:J
            ldc 22
            ladd
            iload 15 /* comlen */
            i2l
            ladd
            lload 1 /* ziplen */
            lcmp
            ifeq 41
        31: .line 1410
            iconst_4
            newarray 8
            astore 16 /* sbuf */
        start local 16 // byte[] sbuf
        32: .line 1411
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.endpos:J
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.cenlen:J
            lsub
            lstore 17 /* cenpos */
        start local 17 // long cenpos
        33: .line 1412
            lload 17 /* cenpos */
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.cenoff:J
            lsub
            lstore 19 /* locpos */
        start local 19 // long locpos
        34: .line 1413
            lload 17 /* cenpos */
            lconst_0
            lcmp
            iflt 76
        35: .line 1414
            lload 19 /* locpos */
            lconst_0
            lcmp
            iflt 76
        36: .line 1415
            aload 0 /* this */
            aload 16 /* sbuf */
            iconst_0
            aload 16 /* sbuf */
            arraylength
            lload 17 /* cenpos */
            invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
            iconst_4
            if_icmpne 76
        37: .line 1416
            aload 16 /* sbuf */
            invokestatic java.util.zip.ZipUtils.GETSIG:([B)J
            ldc 33639248
            lcmp
            ifne 76
        38: .line 1417
            aload 0 /* this */
            aload 16 /* sbuf */
            iconst_0
            aload 16 /* sbuf */
            arraylength
            lload 19 /* locpos */
            invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
            iconst_4
            if_icmpne 76
        39: .line 1418
            aload 16 /* sbuf */
            invokestatic java.util.zip.ZipUtils.GETSIG:([B)J
            ldc 67324752
            lcmp
            ifeq 41
        40: .line 1419
            goto 76
        end local 19 // long locpos
        end local 17 // long cenpos
        end local 16 // byte[] sbuf
        41: .line 1422
      StackMap locals: byte[] int
      StackMap stack:
            iload 15 /* comlen */
            ifle 45
        42: .line 1423
            aload 0 /* this */
            iload 15 /* comlen */
            newarray 8
            putfield java.util.zip.ZipFile$Source.comment:[B
        43: .line 1424
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.comment:[B
            iconst_0
            iload 15 /* comlen */
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.endpos:J
            ldc 22
            ladd
            invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
            iload 15 /* comlen */
            if_icmpeq 45
        44: .line 1425
            ldc "zip comment read failed"
            invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
        45: .line 1430
      StackMap locals:
      StackMap stack:
            bipush 20
            newarray 8
            astore 16 /* loc64 */
        start local 16 // byte[] loc64
        46: .line 1431
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.endpos:J
            ldc 20
            lcmp
            iflt 51
        47: .line 1432
            aload 0 /* this */
            aload 16 /* loc64 */
            iconst_0
            aload 16 /* loc64 */
            arraylength
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.endpos:J
            ldc 20
            lsub
            invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
        48: .line 1433
            aload 16 /* loc64 */
            arraylength
        49: .line 1432
            if_icmpne 51
        50: .line 1433
            aload 16 /* loc64 */
            invokestatic java.util.zip.ZipUtils.GETSIG:([B)J
            ldc 117853008
            lcmp
            ifeq 53
        51: .line 1434
      StackMap locals: byte[]
      StackMap stack:
            aload 3 /* end */
        52: areturn
        53: .line 1436
      StackMap locals:
      StackMap stack:
            aload 16 /* loc64 */
            invokestatic java.util.zip.ZipUtils.ZIP64_LOCOFF:([B)J
            lstore 17 /* end64pos */
        start local 17 // long end64pos
        54: .line 1437
            bipush 56
            newarray 8
            astore 19 /* end64buf */
        start local 19 // byte[] end64buf
        55: .line 1438
            aload 0 /* this */
            aload 19 /* end64buf */
            iconst_0
            aload 19 /* end64buf */
            arraylength
            lload 17 /* end64pos */
            invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
        56: .line 1439
            aload 19 /* end64buf */
            arraylength
        57: .line 1438
            if_icmpne 59
        58: .line 1439
            aload 19 /* end64buf */
            invokestatic java.util.zip.ZipUtils.GETSIG:([B)J
            ldc 101075792
            lcmp
            ifeq 61
        59: .line 1440
      StackMap locals: long byte[]
      StackMap stack:
            aload 3 /* end */
        60: areturn
        61: .line 1443
      StackMap locals:
      StackMap stack:
            aload 19 /* end64buf */
            invokestatic java.util.zip.ZipUtils.ZIP64_ENDSIZ:([B)J
            lstore 20 /* cenlen64 */
        start local 20 // long cenlen64
        62: .line 1444
            aload 19 /* end64buf */
            invokestatic java.util.zip.ZipUtils.ZIP64_ENDOFF:([B)J
            lstore 22 /* cenoff64 */
        start local 22 // long cenoff64
        63: .line 1445
            aload 19 /* end64buf */
            invokestatic java.util.zip.ZipUtils.ZIP64_ENDTOT:([B)J
            lstore 24 /* centot64 */
        start local 24 // long centot64
        64: .line 1447
            lload 20 /* cenlen64 */
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.cenlen:J
            lcmp
            ifeq 65
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.cenlen:J
            ldc 4294967295
            lcmp
            ifne 67
        65: .line 1448
      StackMap locals: long long long
      StackMap stack:
            lload 22 /* cenoff64 */
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.cenoff:J
            lcmp
            ifeq 66
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.cenoff:J
            ldc 4294967295
            lcmp
            ifne 67
        66: .line 1449
      StackMap locals:
      StackMap stack:
            lload 24 /* centot64 */
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.centot:I
            i2l
            lcmp
            ifeq 69
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.centot:I
            ldc 65535
            if_icmpeq 69
        67: .line 1450
      StackMap locals:
      StackMap stack:
            aload 3 /* end */
        68: areturn
        69: .line 1453
      StackMap locals:
      StackMap stack:
            aload 3 /* end */
            lload 20 /* cenlen64 */
            putfield java.util.zip.ZipFile$Source$End.cenlen:J
        70: .line 1454
            aload 3 /* end */
            lload 22 /* cenoff64 */
            putfield java.util.zip.ZipFile$Source$End.cenoff:J
        71: .line 1455
            aload 3 /* end */
            lload 24 /* centot64 */
            l2i
            putfield java.util.zip.ZipFile$Source$End.centot:I
        72: .line 1456
            aload 3 /* end */
            lload 17 /* end64pos */
            putfield java.util.zip.ZipFile$Source$End.endpos:J
        end local 24 // long centot64
        end local 22 // long cenoff64
        end local 20 // long cenlen64
        end local 19 // byte[] end64buf
        end local 17 // long end64pos
        end local 16 // byte[] loc64
        73: .line 1457
            goto 75
      StackMap locals: java.util.zip.ZipFile$Source long java.util.zip.ZipFile$Source$End byte[] long long long int int int byte[] int
      StackMap stack: java.io.IOException
        74: pop
        75: .line 1458
      StackMap locals:
      StackMap stack:
            aload 3 /* end */
            areturn
        end local 15 // int comlen
        end local 14 // byte[] endbuf
        76: .line 1392
      StackMap locals:
      StackMap stack:
            iinc 13 /* i */ -1
      StackMap locals:
      StackMap stack:
        77: iload 13 /* i */
            ifge 20
        end local 13 // int i
        end local 12 // int len
        end local 11 // int off
        78: .line 1380
            lload 9 /* pos */
            aload 4 /* buf */
            arraylength
            bipush 22
            isub
            i2l
            lsub
            lstore 9 /* pos */
      StackMap locals:
      StackMap stack:
        79: lload 9 /* pos */
            lload 7 /* minPos */
            lcmp
            ifge 11
        end local 9 // long pos
        80: .line 1462
            ldc "zip END header not found"
            invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
        81: .line 1463
            aconst_null
            areturn
        end local 7 // long minPos
        end local 5 // long minHDR
        end local 4 // byte[] buf
        end local 3 // java.util.zip.ZipFile$Source$End end
        end local 1 // long ziplen
        end local 0 // java.util.zip.ZipFile$Source this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   82     0      this  Ljava/util/zip/ZipFile$Source;
            1   82     1    ziplen  J
            4   82     3       end  Ljava/util/zip/ZipFile$Source$End;
            5   82     4       buf  [B
            8   82     5    minHDR  J
            9   82     7    minPos  J
           10   80     9       pos  J
           12   78    11       off  I
           16   78    12       len  I
           19   78    13         i  I
           25   76    14    endbuf  [B
           30   76    15    comlen  I
           32   41    16      sbuf  [B
           33   41    17    cenpos  J
           34   41    19    locpos  J
           46   73    16     loc64  [B
           54   73    17  end64pos  J
           55   73    19  end64buf  [B
           62   73    20  cenlen64  J
           63   73    22  cenoff64  J
           64   73    24  centot64  J
      Exception table:
        from    to  target  type
          45    52      74  Class java.io.IOException
          53    60      74  Class java.io.IOException
          61    68      74  Class java.io.IOException
          69    73      74  Class java.io.IOException
    Exceptions:
      throws java.io.IOException

  private void initCEN(int, java.util.zip.ZipCoder);
    descriptor: (ILjava/util/zip/ZipCoder;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=16, args_size=3
        start local 0 // java.util.zip.ZipFile$Source this
        start local 1 // int knownTotal
        start local 2 // java.util.zip.ZipCoder zc
         0: .line 1468
            iload 1 /* knownTotal */
            iconst_m1
            if_icmpne 19
         1: .line 1469
            aload 0 /* this */
            invokevirtual java.util.zip.ZipFile$Source.findEND:()Ljava/util/zip/ZipFile$Source$End;
            astore 3 /* end */
        start local 3 // java.util.zip.ZipFile$Source$End end
         2: .line 1470
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.endpos:J
            lconst_0
            lcmp
            ifne 8
         3: .line 1471
            aload 0 /* this */
            lconst_0
            putfield java.util.zip.ZipFile$Source.locpos:J
         4: .line 1472
            aload 0 /* this */
            iconst_0
            putfield java.util.zip.ZipFile$Source.total:I
         5: .line 1473
            aload 0 /* this */
            iconst_0
            newarray 10
            putfield java.util.zip.ZipFile$Source.entries:[I
         6: .line 1474
            aload 0 /* this */
            aconst_null
            putfield java.util.zip.ZipFile$Source.cen:[B
         7: .line 1475
            return
         8: .line 1477
      StackMap locals: java.util.zip.ZipFile$Source$End
      StackMap stack:
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.cenlen:J
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.endpos:J
            lcmp
            ifle 10
         9: .line 1478
            ldc "invalid END header (bad central directory size)"
            invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
        10: .line 1479
      StackMap locals:
      StackMap stack:
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.endpos:J
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.cenlen:J
            lsub
            lstore 4 /* cenpos */
        start local 4 // long cenpos
        11: .line 1482
            aload 0 /* this */
            lload 4 /* cenpos */
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.cenoff:J
            lsub
            putfield java.util.zip.ZipFile$Source.locpos:J
        12: .line 1483
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.locpos:J
            lconst_0
            lcmp
            ifge 14
        13: .line 1484
            ldc "invalid END header (bad central directory offset)"
            invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
        14: .line 1487
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.cenlen:J
            ldc 22
            ladd
            l2i
            newarray 8
            putfield java.util.zip.ZipFile$Source.cen:[B
        15: .line 1488
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            iconst_0
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            arraylength
            lload 4 /* cenpos */
            invokevirtual java.util.zip.ZipFile$Source.readFullyAt:([BIIJ)I
            i2l
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.cenlen:J
            ldc 22
            ladd
            lcmp
            ifeq 17
        16: .line 1489
            ldc "read CEN tables failed"
            invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
        17: .line 1491
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* end */
            getfield java.util.zip.ZipFile$Source$End.centot:I
            putfield java.util.zip.ZipFile$Source.total:I
        end local 4 // long cenpos
        end local 3 // java.util.zip.ZipFile$Source$End end
        18: .line 1492
            goto 20
        19: .line 1493
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* knownTotal */
            putfield java.util.zip.ZipFile$Source.total:I
        20: .line 1496
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.total:I
            iconst_3
            imul
            newarray 10
            putfield java.util.zip.ZipFile$Source.entries:[I
        21: .line 1497
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.total:I
            iconst_2
            idiv
            iconst_1
            ior
            putfield java.util.zip.ZipFile$Source.tablelen:I
        22: .line 1498
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.tablelen:I
            newarray 10
            putfield java.util.zip.ZipFile$Source.table:[I
        23: .line 1499
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.table:[I
            iconst_m1
            invokestatic java.util.Arrays.fill:([II)V
        24: .line 1500
            iconst_0
            istore 3 /* idx */
        start local 3 // int idx
        25: .line 1505
            aconst_null
            astore 6 /* metanamesList */
        start local 6 // java.util.ArrayList metanamesList
        26: .line 1508
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        27: .line 1510
            iconst_0
            istore 9 /* pos */
        start local 9 // int pos
        28: .line 1511
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            arraylength
            bipush 22
            isub
            istore 10 /* limit */
        start local 10 // int limit
        29: .line 1512
            goto 61
        30: .line 1513
      StackMap locals: java.util.zip.ZipFile$Source int java.util.zip.ZipCoder int top top java.util.ArrayList int top int int
      StackMap stack:
            iload 7 /* i */
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.total:I
            if_icmplt 33
        31: .line 1517
            aload 0 /* this */
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            iload 10 /* limit */
            invokestatic java.util.zip.ZipFile$Source.countCENHeaders:([BI)I
            aload 2 /* zc */
            invokevirtual java.util.zip.ZipFile$Source.initCEN:(ILjava/util/zip/ZipCoder;)V
        32: .line 1518
            return
        33: .line 1520
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            iload 9 /* pos */
            invokestatic java.util.zip.ZipUtils.CENSIG:([BI)J
            ldc 33639248
            lcmp
            ifeq 35
        34: .line 1521
            ldc "invalid CEN header (bad signature)"
            invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
        35: .line 1522
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            iload 9 /* pos */
            invokestatic java.util.zip.ZipUtils.CENHOW:([BI)I
            istore 11 /* method */
        start local 11 // int method
        36: .line 1523
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            iload 9 /* pos */
            invokestatic java.util.zip.ZipUtils.CENNAM:([BI)I
            istore 12 /* nlen */
        start local 12 // int nlen
        37: .line 1524
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            iload 9 /* pos */
            invokestatic java.util.zip.ZipUtils.CENEXT:([BI)I
            istore 13 /* elen */
        start local 13 // int elen
        38: .line 1525
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            iload 9 /* pos */
            invokestatic java.util.zip.ZipUtils.CENCOM:([BI)I
            istore 14 /* clen */
        start local 14 // int clen
        39: .line 1526
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            iload 9 /* pos */
            invokestatic java.util.zip.ZipUtils.CENFLG:([BI)I
            istore 15 /* flag */
        start local 15 // int flag
        40: .line 1527
            iload 15 /* flag */
            iconst_1
            iand
            ifeq 42
        41: .line 1528
            ldc "invalid CEN header (encrypted entry)"
            invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
        42: .line 1529
      StackMap locals: java.util.zip.ZipFile$Source int java.util.zip.ZipCoder int top top java.util.ArrayList int top int int int int int int int
      StackMap stack:
            iload 11 /* method */
            ifeq 44
            iload 11 /* method */
            bipush 8
            if_icmpeq 44
        43: .line 1530
            new java.lang.StringBuilder
            dup
            ldc "invalid CEN header (bad compression method: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 11 /* method */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc ")"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
        44: .line 1531
      StackMap locals:
      StackMap stack:
            iload 9 /* pos */
            bipush 46
            iadd
            iload 12 /* nlen */
            iadd
            iload 10 /* limit */
            if_icmple 46
        45: .line 1532
            ldc "invalid CEN header (bad header size)"
            invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
        46: .line 1533
      StackMap locals:
      StackMap stack:
            aload 2 /* zc */
            invokevirtual java.util.zip.ZipCoder.isUTF8:()Z
            ifne 47
            iload 15 /* flag */
            sipush 2048
            iand
            ifeq 49
        47: .line 1534
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            iload 9 /* pos */
            bipush 46
            iadd
            iload 12 /* nlen */
            invokestatic java.util.zip.ZipFile$Source.checkUTF8:([BII)V
        48: .line 1535
            goto 50
        49: .line 1536
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* zc */
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            iload 9 /* pos */
            bipush 46
            iadd
            iload 12 /* nlen */
            invokevirtual java.util.zip.ZipFile$Source.checkEncoding:(Ljava/util/zip/ZipCoder;[BII)V
        50: .line 1539
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            iload 9 /* pos */
            bipush 46
            iadd
            iload 12 /* nlen */
            invokestatic java.util.zip.ZipFile$Source.hashN:([BII)I
            istore 4 /* hash */
        start local 4 // int hash
        51: .line 1540
            iload 4 /* hash */
            ldc 2147483647
            iand
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.tablelen:I
            irem
            istore 8 /* hsh */
        start local 8 // int hsh
        52: .line 1541
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.table:[I
            iload 8 /* hsh */
            iaload
            istore 5 /* next */
        start local 5 // int next
        53: .line 1542
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.table:[I
            iload 8 /* hsh */
            iload 3 /* idx */
            iastore
        54: .line 1543
            aload 0 /* this */
            iload 3 /* idx */
            iload 4 /* hash */
            iload 5 /* next */
            iload 9 /* pos */
            invokevirtual java.util.zip.ZipFile$Source.addEntry:(IIII)I
            istore 3 /* idx */
        55: .line 1545
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            iload 9 /* pos */
            bipush 46
            iadd
            iload 12 /* nlen */
            invokestatic java.util.zip.ZipFile$Source.isMetaName:([BII)Z
            ifeq 59
        56: .line 1546
            aload 6 /* metanamesList */
            ifnonnull 58
        57: .line 1547
            new java.util.ArrayList
            dup
            iconst_4
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 6 /* metanamesList */
        58: .line 1548
      StackMap locals: java.util.zip.ZipFile$Source int java.util.zip.ZipCoder int int int java.util.ArrayList int int int int int int int int int
      StackMap stack:
            aload 6 /* metanamesList */
            iload 9 /* pos */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        59: .line 1551
      StackMap locals:
      StackMap stack:
            iload 9 /* pos */
            bipush 46
            iload 12 /* nlen */
            iadd
            iload 13 /* elen */
            iadd
            iload 14 /* clen */
            iadd
            iadd
            istore 9 /* pos */
        60: .line 1552
            iinc 7 /* i */ 1
        end local 15 // int flag
        end local 14 // int clen
        end local 13 // int elen
        end local 12 // int nlen
        end local 11 // int method
        end local 8 // int hsh
        end local 5 // int next
        end local 4 // int hash
        61: .line 1512
      StackMap locals: java.util.zip.ZipFile$Source int java.util.zip.ZipCoder int top top java.util.ArrayList int top int int
      StackMap stack:
            iload 9 /* pos */
            bipush 46
            iadd
            iload 10 /* limit */
            if_icmple 30
        62: .line 1554
            aload 0 /* this */
            iload 7 /* i */
            putfield java.util.zip.ZipFile$Source.total:I
        63: .line 1555
            aload 6 /* metanamesList */
            ifnull 71
        64: .line 1556
            aload 0 /* this */
            aload 6 /* metanamesList */
            invokevirtual java.util.ArrayList.size:()I
            newarray 10
            putfield java.util.zip.ZipFile$Source.metanames:[I
        65: .line 1557
            iconst_0
            istore 11 /* j */
        start local 11 // int j
        66: aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.metanames:[I
            arraylength
            istore 12 /* len */
        start local 12 // int len
        67: goto 70
        68: .line 1558
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.metanames:[I
            iload 11 /* j */
            aload 6 /* metanamesList */
            iload 11 /* j */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            iastore
        69: .line 1557
            iinc 11 /* j */ 1
      StackMap locals:
      StackMap stack:
        70: iload 11 /* j */
            iload 12 /* len */
            if_icmplt 68
        end local 12 // int len
        end local 11 // int j
        71: .line 1561
      StackMap locals:
      StackMap stack:
            iload 9 /* pos */
            bipush 22
            iadd
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            arraylength
            if_icmpeq 73
        72: .line 1562
            ldc "invalid CEN header (bad header size)"
            invokestatic java.util.zip.ZipFile$Source.zerror:(Ljava/lang/String;)V
        73: .line 1564
      StackMap locals:
      StackMap stack:
            return
        end local 10 // int limit
        end local 9 // int pos
        end local 7 // int i
        end local 6 // java.util.ArrayList metanamesList
        end local 3 // int idx
        end local 2 // java.util.zip.ZipCoder zc
        end local 1 // int knownTotal
        end local 0 // java.util.zip.ZipFile$Source this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   74     0           this  Ljava/util/zip/ZipFile$Source;
            0   74     1     knownTotal  I
            0   74     2             zc  Ljava/util/zip/ZipCoder;
            2   18     3            end  Ljava/util/zip/ZipFile$Source$End;
           11   18     4         cenpos  J
           25   74     3            idx  I
           51   61     4           hash  I
           53   61     5           next  I
           26   74     6  metanamesList  Ljava/util/ArrayList<Ljava/lang/Integer;>;
           27   74     7              i  I
           52   61     8            hsh  I
           28   74     9            pos  I
           29   74    10          limit  I
           36   61    11         method  I
           37   61    12           nlen  I
           38   61    13           elen  I
           39   61    14           clen  I
           40   61    15           flag  I
           66   71    11              j  I
           67   71    12            len  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
            Name  Flags
      knownTotal  
      zc          

  private static void zerror(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // java.lang.String msg
         0: .line 1567
            new java.util.zip.ZipException
            dup
            aload 0 /* msg */
            invokespecial java.util.zip.ZipException.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // java.lang.String msg
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   msg  Ljava/lang/String;
    Exceptions:
      throws java.util.zip.ZipException
    MethodParameters:
      Name  Flags
      msg   

  private int getEntryPos(byte[], boolean);
    descriptor: ([BZ)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=9, args_size=3
        start local 0 // java.util.zip.ZipFile$Source this
        start local 1 // byte[] name
        start local 2 // boolean addSlash
         0: .line 1575
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.total:I
            ifne 2
         1: .line 1576
            iconst_m1
            ireturn
         2: .line 1578
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            iconst_0
            aload 1 /* name */
            arraylength
            invokestatic java.util.zip.ZipFile$Source.hashN:([BII)I
            istore 3 /* hsh */
        start local 3 // int hsh
         3: .line 1579
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.table:[I
            iload 3 /* hsh */
            ldc 2147483647
            iand
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.tablelen:I
            irem
            iaload
            istore 4 /* idx */
        start local 4 // int idx
         4: .line 1591
            goto 20
         5: .line 1592
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            iload 4 /* idx */
            invokevirtual java.util.zip.ZipFile$Source.getEntryHash:(I)I
            iload 3 /* hsh */
            if_icmpne 19
         6: .line 1594
            aload 0 /* this */
            iload 4 /* idx */
            invokevirtual java.util.zip.ZipFile$Source.getEntryPos:(I)I
            istore 5 /* pos */
        start local 5 // int pos
         7: .line 1595
            aload 1 /* name */
            arraylength
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            iload 5 /* pos */
            invokestatic java.util.zip.ZipUtils.CENNAM:([BI)I
            if_icmpne 19
         8: .line 1596
            iconst_1
            istore 6 /* matched */
        start local 6 // boolean matched
         9: .line 1597
            iload 5 /* pos */
            bipush 46
            iadd
            istore 7 /* nameoff */
        start local 7 // int nameoff
        10: .line 1598
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        11: goto 16
        12: .line 1599
      StackMap locals: java.util.zip.ZipFile$Source byte[] int int int int int int int
      StackMap stack:
            aload 1 /* name */
            iload 8 /* i */
            baload
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.cen:[B
            iload 7 /* nameoff */
            iinc 7 /* nameoff */ 1
            baload
            if_icmpeq 15
        13: .line 1600
            iconst_0
            istore 6 /* matched */
        14: .line 1601
            goto 17
        15: .line 1598
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 8 /* i */
            aload 1 /* name */
            arraylength
            if_icmplt 12
        end local 8 // int i
        17: .line 1604
      StackMap locals:
      StackMap stack:
            iload 6 /* matched */
            ifeq 19
        18: .line 1605
            iload 5 /* pos */
            ireturn
        end local 7 // int nameoff
        end local 6 // boolean matched
        end local 5 // int pos
        19: .line 1609
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 4 /* idx */
            invokevirtual java.util.zip.ZipFile$Source.getEntryNext:(I)I
            istore 4 /* idx */
        20: .line 1591
      StackMap locals:
      StackMap stack:
            iload 4 /* idx */
            iconst_m1
            if_icmpne 5
        21: .line 1612
            iload 2 /* addSlash */
            ifeq 22
            aload 1 /* name */
            arraylength
            ifeq 22
            aload 1 /* name */
            aload 1 /* name */
            arraylength
            iconst_1
            isub
            baload
            bipush 47
            if_icmpne 23
        22: .line 1613
      StackMap locals:
      StackMap stack:
            iconst_m1
            ireturn
        23: .line 1616
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            aload 1 /* name */
            arraylength
            iconst_1
            iadd
            invokestatic java.util.Arrays.copyOf:([BI)[B
            astore 1 /* name */
        24: .line 1617
            aload 1 /* name */
            aload 1 /* name */
            arraylength
            iconst_1
            isub
            bipush 47
            bastore
        25: .line 1618
            iload 3 /* hsh */
            bipush 47
            invokestatic java.util.zip.ZipFile$Source.hash_append:(IB)I
            istore 3 /* hsh */
        26: .line 1620
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.table:[I
            iload 3 /* hsh */
            ldc 2147483647
            iand
            aload 0 /* this */
            getfield java.util.zip.ZipFile$Source.tablelen:I
            irem
            iaload
            istore 4 /* idx */
        27: .line 1621
            iconst_0
            istore 2 /* addSlash */
        28: .line 1586
            goto 20
        end local 4 // int idx
        end local 3 // int hsh
        end local 2 // boolean addSlash
        end local 1 // byte[] name
        end local 0 // java.util.zip.ZipFile$Source this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   29     0      this  Ljava/util/zip/ZipFile$Source;
            0   29     1      name  [B
            0   29     2  addSlash  Z
            3   29     3       hsh  I
            4   29     4       idx  I
            7   19     5       pos  I
            9   19     6   matched  Z
           10   19     7   nameoff  I
           11   17     8         i  I
    MethodParameters:
          Name  Flags
      name      
      addSlash  

  private static boolean isMetaName(byte[], int, int);
    descriptor: ([BII)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // byte[] name
        start local 1 // int off
        start local 2 // int len
         0: .line 1631
            iload 2 /* len */
            bipush 9
            if_icmple 12
         1: .line 1632
            aload 0 /* name */
            iload 1 /* off */
            iload 2 /* len */
            iadd
            iconst_1
            isub
            baload
            bipush 47
            if_icmpeq 12
         2: .line 1633
            aload 0 /* name */
            iload 1 /* off */
            iinc 1 /* off */ 1
            baload
            bipush 32
            ior
            bipush 109
            if_icmpne 12
         3: .line 1634
            aload 0 /* name */
            iload 1 /* off */
            iinc 1 /* off */ 1
            baload
            bipush 32
            ior
            bipush 101
            if_icmpne 12
         4: .line 1635
            aload 0 /* name */
            iload 1 /* off */
            iinc 1 /* off */ 1
            baload
            bipush 32
            ior
            bipush 116
            if_icmpne 12
         5: .line 1636
            aload 0 /* name */
            iload 1 /* off */
            iinc 1 /* off */ 1
            baload
            bipush 32
            ior
            bipush 97
            if_icmpne 12
         6: .line 1637
            aload 0 /* name */
            iload 1 /* off */
            iinc 1 /* off */ 1
            baload
            bipush 45
            if_icmpne 12
         7: .line 1638
            aload 0 /* name */
            iload 1 /* off */
            iinc 1 /* off */ 1
            baload
            bipush 32
            ior
            bipush 105
            if_icmpne 12
         8: .line 1639
            aload 0 /* name */
            iload 1 /* off */
            iinc 1 /* off */ 1
            baload
            bipush 32
            ior
            bipush 110
            if_icmpne 12
         9: .line 1640
            aload 0 /* name */
            iload 1 /* off */
            iinc 1 /* off */ 1
            baload
            bipush 32
            ior
            bipush 102
            if_icmpne 12
        10: .line 1641
            aload 0 /* name */
            iload 1 /* off */
            baload
            bipush 47
            if_icmpne 12
        11: .line 1631
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        12: iconst_0
            ireturn
        end local 2 // int len
        end local 1 // int off
        end local 0 // byte[] name
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   13     0  name  [B
            0   13     1   off  I
            0   13     2   len  I
    MethodParameters:
      Name  Flags
      name  
      off   
      len   

  private static int countCENHeaders(byte[], int);
    descriptor: ([BI)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // byte[] cen
        start local 1 // int size
         0: .line 1652
            iconst_0
            istore 2 /* count */
        start local 2 // int count
         1: .line 1653
            iconst_0
            istore 3 /* p */
        start local 3 // int p
         2: .line 1654
            goto 5
         3: .line 1656
      StackMap locals: int int
      StackMap stack:
            iinc 2 /* count */ 1
         4: .line 1655
            iload 3 /* p */
            bipush 46
            aload 0 /* cen */
            iload 3 /* p */
            invokestatic java.util.zip.ZipUtils.CENNAM:([BI)I
            iadd
            aload 0 /* cen */
            iload 3 /* p */
            invokestatic java.util.zip.ZipUtils.CENEXT:([BI)I
            iadd
            aload 0 /* cen */
            iload 3 /* p */
            invokestatic java.util.zip.ZipUtils.CENCOM:([BI)I
            iadd
            iadd
            istore 3 /* p */
         5: .line 1654
      StackMap locals:
      StackMap stack:
            iload 3 /* p */
            bipush 46
            iadd
            iload 1 /* size */
         6: .line 1653
            if_icmple 3
        end local 3 // int p
         7: .line 1657
            iload 2 /* count */
            ireturn
        end local 2 // int count
        end local 1 // int size
        end local 0 // byte[] cen
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0    cen  [B
            0    8     1   size  I
            1    8     2  count  I
            2    7     3      p  I
    MethodParameters:
      Name  Flags
      cen   
      size  
}
SourceFile: "ZipFile.java"
NestHost: java.util.zip.ZipFile
InnerClasses:
  private Source = java.util.zip.ZipFile$Source of java.util.zip.ZipFile
  private End = java.util.zip.ZipFile$Source$End of java.util.zip.ZipFile$Source
  private Key = java.util.zip.ZipFile$Source$Key of java.util.zip.ZipFile$Source