public final class io.netty.util.internal.NativeLibraryLoader
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: io.netty.util.internal.NativeLibraryLoader
  super_class: java.lang.Object
{
  private static final io.netty.util.internal.logging.InternalLogger logger;
    descriptor: Lio/netty/util/internal/logging/InternalLogger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.String NATIVE_RESOURCE_HOME;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "META-INF/native/"

  private static final java.io.File WORKDIR;
    descriptor: Ljava/io/File;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final boolean DELETE_NATIVE_LIB_AFTER_LOADING;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=2, args_size=0
         0: .line 43
            ldc Lio/netty/util/internal/NativeLibraryLoader;
            invokevirtual java.lang.Class.desiredAssertionStatus:()Z
            ifne 1
            iconst_1
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_0
      StackMap locals:
      StackMap stack: int
         2: putstatic io.netty.util.internal.NativeLibraryLoader.$assertionsDisabled:Z
         3: .line 45
            ldc Lio/netty/util/internal/NativeLibraryLoader;
            invokestatic io.netty.util.internal.logging.InternalLoggerFactory.getInstance:(Ljava/lang/Class;)Lio/netty/util/internal/logging/InternalLogger;
            putstatic io.netty.util.internal.NativeLibraryLoader.logger:Lio/netty/util/internal/logging/InternalLogger;
         4: .line 52
            ldc "io.netty.native.workdir"
            invokestatic io.netty.util.internal.SystemPropertyUtil.get:(Ljava/lang/String;)Ljava/lang/String;
            astore 0 /* workdir */
        start local 0 // java.lang.String workdir
         5: .line 53
            aload 0 /* workdir */
            ifnull 14
         6: .line 54
            new java.io.File
            dup
            aload 0 /* workdir */
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
            astore 1 /* f */
        start local 1 // java.io.File f
         7: .line 55
            aload 1 /* f */
            invokevirtual java.io.File.mkdirs:()Z
            pop
         8: .line 58
            aload 1 /* f */
            invokevirtual java.io.File.getAbsoluteFile:()Ljava/io/File;
            astore 1 /* f */
         9: .line 59
            goto 11
      StackMap locals: java.lang.String java.io.File
      StackMap stack: java.lang.Exception
        10: pop
        11: .line 63
      StackMap locals:
      StackMap stack:
            aload 1 /* f */
            putstatic io.netty.util.internal.NativeLibraryLoader.WORKDIR:Ljava/io/File;
        12: .line 64
            getstatic io.netty.util.internal.NativeLibraryLoader.logger:Lio/netty/util/internal/logging/InternalLogger;
            new java.lang.StringBuilder
            dup
            ldc "-Dio.netty.native.workdir: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic io.netty.util.internal.NativeLibraryLoader.WORKDIR:Ljava/io/File;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;)V
        end local 1 // java.io.File f
        13: .line 65
            goto 16
        14: .line 66
      StackMap locals:
      StackMap stack:
            invokestatic io.netty.util.internal.PlatformDependent.tmpdir:()Ljava/io/File;
            putstatic io.netty.util.internal.NativeLibraryLoader.WORKDIR:Ljava/io/File;
        15: .line 67
            getstatic io.netty.util.internal.NativeLibraryLoader.logger:Lio/netty/util/internal/logging/InternalLogger;
            new java.lang.StringBuilder
            dup
            ldc "-Dio.netty.native.workdir: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic io.netty.util.internal.NativeLibraryLoader.WORKDIR:Ljava/io/File;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " (io.netty.tmpdir)"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;)V
        16: .line 71
      StackMap locals:
      StackMap stack:
            ldc "io.netty.native.deleteLibAfterLoading"
            iconst_1
        17: .line 70
            invokestatic io.netty.util.internal.SystemPropertyUtil.getBoolean:(Ljava/lang/String;Z)Z
            putstatic io.netty.util.internal.NativeLibraryLoader.DELETE_NATIVE_LIB_AFTER_LOADING:Z
        end local 0 // java.lang.String workdir
        18: .line 72
            return
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            5   18     0  workdir  Ljava/lang/String;
            7   13     1        f  Ljava/io/File;
      Exception table:
        from    to  target  type
           8     9      10  Class java.lang.Exception

  public static void loadFirstAvailable(java.lang.ClassLoader, java.lang.String[]);
    descriptor: (Ljava/lang/ClassLoader;[Ljava/lang/String;)V
    flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
    Code:
      stack=5, locals=8, args_size=2
        start local 0 // java.lang.ClassLoader loader
        start local 1 // java.lang.String[] names
         0: .line 82
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 2 /* suppressed */
        start local 2 // java.util.List suppressed
         1: .line 83
            aload 1 /* names */
            dup
            astore 6
            arraylength
            istore 5
            iconst_0
            istore 4
            goto 9
      StackMap locals: java.lang.ClassLoader java.lang.String[] java.util.List top int int java.lang.String[]
      StackMap stack:
         2: aload 6
            iload 4
            aaload
            astore 3 /* name */
        start local 3 // java.lang.String name
         3: .line 85
            aload 3 /* name */
            aload 0 /* loader */
            invokestatic io.netty.util.internal.NativeLibraryLoader.load:(Ljava/lang/String;Ljava/lang/ClassLoader;)V
         4: .line 86
            return
         5: .line 87
      StackMap locals: java.lang.ClassLoader java.lang.String[] java.util.List java.lang.String int int java.lang.String[]
      StackMap stack: java.lang.Throwable
            astore 7 /* t */
        start local 7 // java.lang.Throwable t
         6: .line 88
            aload 2 /* suppressed */
            aload 7 /* t */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 89
            getstatic io.netty.util.internal.NativeLibraryLoader.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Unable to load the library '{}', trying next name..."
            aload 3 /* name */
            aload 7 /* t */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 7 // java.lang.Throwable t
        end local 3 // java.lang.String name
         8: .line 83
            iinc 4 1
      StackMap locals: java.lang.ClassLoader java.lang.String[] java.util.List top int int java.lang.String[]
      StackMap stack:
         9: iload 4
            iload 5
            if_icmplt 2
        10: .line 93
            new java.lang.IllegalArgumentException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Failed to load any of the given libraries: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* names */
            invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
        11: .line 92
            astore 3 /* iae */
        start local 3 // java.lang.IllegalArgumentException iae
        12: .line 94
            aload 3 /* iae */
            aload 2 /* suppressed */
            invokestatic io.netty.util.internal.ThrowableUtil.addSuppressedAndClear:(Ljava/lang/Throwable;Ljava/util/List;)V
        13: .line 95
            aload 3 /* iae */
            athrow
        end local 3 // java.lang.IllegalArgumentException iae
        end local 2 // java.util.List suppressed
        end local 1 // java.lang.String[] names
        end local 0 // java.lang.ClassLoader loader
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   14     0      loader  Ljava/lang/ClassLoader;
            0   14     1       names  [Ljava/lang/String;
            1   14     2  suppressed  Ljava/util/List<Ljava/lang/Throwable;>;
            3    8     3        name  Ljava/lang/String;
            6    8     7           t  Ljava/lang/Throwable;
           12   14     3         iae  Ljava/lang/IllegalArgumentException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.lang.Throwable
    MethodParameters:
        Name  Flags
      loader  
      names   

  private static java.lang.String calculatePackagePrefix();
    descriptor: ()Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=2, args_size=0
         0: .line 104
            ldc Lio/netty/util/internal/NativeLibraryLoader;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 0 /* maybeShaded */
        start local 0 // java.lang.String maybeShaded
         1: .line 106
            ldc "io!netty!util!internal!NativeLibraryLoader"
            bipush 33
            bipush 46
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            astore 1 /* expected */
        start local 1 // java.lang.String expected
         2: .line 107
            aload 0 /* maybeShaded */
            aload 1 /* expected */
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifne 7
         3: .line 108
            new java.lang.UnsatisfiedLinkError
            dup
         4: .line 109
            ldc "Could not find prefix added to %s to get %s. When shading, only adding a package prefix is supported"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 110
            aload 1 /* expected */
            aastore
            dup
            iconst_1
            aload 0 /* maybeShaded */
            aastore
         6: .line 108
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 112
      StackMap locals: java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* maybeShaded */
            iconst_0
            aload 0 /* maybeShaded */
            invokevirtual java.lang.String.length:()I
            aload 1 /* expected */
            invokevirtual java.lang.String.length:()I
            isub
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
        end local 1 // java.lang.String expected
        end local 0 // java.lang.String maybeShaded
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1    8     0  maybeShaded  Ljava/lang/String;
            2    8     1     expected  Ljava/lang/String;

  public static void load(java.lang.String, java.lang.ClassLoader);
    descriptor: (Ljava/lang/String;Ljava/lang/ClassLoader;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=16, args_size=2
        start local 0 // java.lang.String originalName
        start local 1 // java.lang.ClassLoader loader
         0: .line 120
            new java.lang.StringBuilder
            dup
            invokestatic io.netty.util.internal.NativeLibraryLoader.calculatePackagePrefix:()Ljava/lang/String;
            bipush 46
            bipush 95
            invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* originalName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         1: .line 121
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* suppressed */
        start local 3 // java.util.List suppressed
         2: .line 124
            aload 1 /* loader */
            aload 2 /* name */
            iconst_0
            invokestatic io.netty.util.internal.NativeLibraryLoader.loadLibrary:(Ljava/lang/ClassLoader;Ljava/lang/String;Z)V
         3: .line 125
            return
         4: .line 126
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.String java.util.List
      StackMap stack: java.lang.Throwable
            astore 4 /* ex */
        start local 4 // java.lang.Throwable ex
         5: .line 127
            aload 3 /* suppressed */
            aload 4 /* ex */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         6: .line 128
            getstatic io.netty.util.internal.NativeLibraryLoader.logger:Lio/netty/util/internal/logging/InternalLogger;
         7: .line 129
            ldc "{} cannot be loaded from java.libary.path, now trying export to -Dio.netty.native.workdir: {}"
            iconst_3
            anewarray java.lang.Object
            dup
            iconst_0
         8: .line 130
            aload 2 /* name */
            aastore
            dup
            iconst_1
            getstatic io.netty.util.internal.NativeLibraryLoader.WORKDIR:Ljava/io/File;
            aastore
            dup
            iconst_2
            aload 4 /* ex */
            aastore
         9: .line 128
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;[Ljava/lang/Object;)V
        end local 4 // java.lang.Throwable ex
        10: .line 133
            aload 2 /* name */
            invokestatic java.lang.System.mapLibraryName:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* libname */
        start local 4 // java.lang.String libname
        11: .line 134
            new java.lang.StringBuilder
            dup
            ldc "META-INF/native/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* libname */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 5 /* path */
        start local 5 // java.lang.String path
        12: .line 136
            aconst_null
            astore 6 /* in */
        start local 6 // java.io.InputStream in
        13: .line 137
            aconst_null
            astore 7 /* out */
        start local 7 // java.io.OutputStream out
        14: .line 138
            aconst_null
            astore 8 /* tmpFile */
        start local 8 // java.io.File tmpFile
        15: .line 140
            aload 1 /* loader */
            ifnonnull 18
        16: .line 141
            aload 5 /* path */
            invokestatic java.lang.ClassLoader.getSystemResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 9 /* url */
        start local 9 // java.net.URL url
        17: .line 142
            goto 19
        end local 9 // java.net.URL url
        18: .line 143
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.String java.util.List java.lang.String java.lang.String java.io.InputStream java.io.OutputStream java.io.File
      StackMap stack:
            aload 1 /* loader */
            aload 5 /* path */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 9 /* url */
        start local 9 // java.net.URL url
        19: .line 146
      StackMap locals: java.net.URL
      StackMap stack:
            aload 9 /* url */
            ifnonnull 35
        20: .line 147
            invokestatic io.netty.util.internal.PlatformDependent.isOsx:()Z
            ifeq 32
        21: .line 148
            aload 5 /* path */
            ldc ".jnilib"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 22
            new java.lang.StringBuilder
            dup
            ldc "META-INF/native/lib"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".dynlib"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            goto 23
        22: .line 149
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "META-INF/native/lib"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".jnilib"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 148
      StackMap locals:
      StackMap stack: java.lang.String
            astore 10 /* fileName */
        start local 10 // java.lang.String fileName
        24: .line 150
            aload 1 /* loader */
            ifnonnull 27
        25: .line 151
            aload 10 /* fileName */
            invokestatic java.lang.ClassLoader.getSystemResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 9 /* url */
        26: .line 152
            goto 28
        27: .line 153
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* loader */
            aload 10 /* fileName */
            invokevirtual java.lang.ClassLoader.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 9 /* url */
        28: .line 155
      StackMap locals:
      StackMap stack:
            aload 9 /* url */
            ifnonnull 35
        29: .line 156
            new java.io.FileNotFoundException
            dup
            aload 10 /* fileName */
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            astore 11 /* fnf */
        start local 11 // java.io.FileNotFoundException fnf
        30: .line 157
            aload 11 /* fnf */
            aload 3 /* suppressed */
            invokestatic io.netty.util.internal.ThrowableUtil.addSuppressedAndClear:(Ljava/lang/Throwable;Ljava/util/List;)V
        31: .line 158
            aload 11 /* fnf */
            athrow
        end local 11 // java.io.FileNotFoundException fnf
        end local 10 // java.lang.String fileName
        32: .line 161
      StackMap locals:
      StackMap stack:
            new java.io.FileNotFoundException
            dup
            aload 5 /* path */
            invokespecial java.io.FileNotFoundException.<init>:(Ljava/lang/String;)V
            astore 10 /* fnf */
        start local 10 // java.io.FileNotFoundException fnf
        33: .line 162
            aload 10 /* fnf */
            aload 3 /* suppressed */
            invokestatic io.netty.util.internal.ThrowableUtil.addSuppressedAndClear:(Ljava/lang/Throwable;Ljava/util/List;)V
        34: .line 163
            aload 10 /* fnf */
            athrow
        end local 10 // java.io.FileNotFoundException fnf
        35: .line 167
      StackMap locals:
      StackMap stack:
            aload 4 /* libname */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 10 /* index */
        start local 10 // int index
        36: .line 168
            aload 4 /* libname */
            iconst_0
            iload 10 /* index */
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 11 /* prefix */
        start local 11 // java.lang.String prefix
        37: .line 169
            aload 4 /* libname */
            iload 10 /* index */
            aload 4 /* libname */
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 12 /* suffix */
        start local 12 // java.lang.String suffix
        38: .line 171
            aload 11 /* prefix */
            aload 12 /* suffix */
            getstatic io.netty.util.internal.NativeLibraryLoader.WORKDIR:Ljava/io/File;
            invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
            astore 8 /* tmpFile */
        39: .line 172
            aload 9 /* url */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 6 /* in */
        40: .line 173
            new java.io.FileOutputStream
            dup
            aload 8 /* tmpFile */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 7 /* out */
        41: .line 175
            sipush 8192
            newarray 8
            astore 13 /* buffer */
        start local 13 // byte[] buffer
        42: .line 177
            goto 44
        start local 14 // int length
        43: .line 178
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.String java.util.List java.lang.String java.lang.String java.io.InputStream java.io.OutputStream java.io.File java.net.URL int java.lang.String java.lang.String byte[] int
      StackMap stack:
            aload 7 /* out */
            aload 13 /* buffer */
            iconst_0
            iload 14 /* length */
            invokevirtual java.io.OutputStream.write:([BII)V
        end local 14 // int length
        44: .line 177
      StackMap locals:
      StackMap stack:
            aload 6 /* in */
            aload 13 /* buffer */
            invokevirtual java.io.InputStream.read:([B)I
            dup
            istore 14 /* length */
        start local 14 // int length
        45: ifgt 43
        46: .line 180
            aload 7 /* out */
            invokevirtual java.io.OutputStream.flush:()V
        47: .line 184
            aload 7 /* out */
            invokestatic io.netty.util.internal.NativeLibraryLoader.closeQuietly:(Ljava/io/Closeable;)V
        48: .line 185
            aconst_null
            astore 7 /* out */
        49: .line 187
            aload 1 /* loader */
            aload 8 /* tmpFile */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            iconst_1
            invokestatic io.netty.util.internal.NativeLibraryLoader.loadLibrary:(Ljava/lang/ClassLoader;Ljava/lang/String;Z)V
        end local 14 // int length
        end local 13 // byte[] buffer
        end local 12 // java.lang.String suffix
        end local 11 // java.lang.String prefix
        end local 10 // int index
        50: .line 188
            goto 74
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.String java.util.List java.lang.String java.lang.String java.io.InputStream java.io.OutputStream java.io.File java.net.URL
      StackMap stack: java.lang.UnsatisfiedLinkError
        51: astore 10 /* e */
        start local 10 // java.lang.UnsatisfiedLinkError e
        52: .line 190
            aload 8 /* tmpFile */
            ifnull 61
            aload 8 /* tmpFile */
            invokevirtual java.io.File.isFile:()Z
            ifeq 61
            aload 8 /* tmpFile */
            invokevirtual java.io.File.canRead:()Z
            ifeq 61
        53: .line 191
            aload 8 /* tmpFile */
            invokestatic io.netty.util.internal.NativeLibraryLoader$NoexecVolumeDetector.canExecuteExecutable:(Ljava/io/File;)Z
            ifne 61
        54: .line 192
            getstatic io.netty.util.internal.NativeLibraryLoader.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "{} exists but cannot be executed even when execute permissions set; check volume for \"noexec\" flag; use -Dio.netty.native.workdir=[path] to set native working directory separately."
        55: .line 195
            aload 8 /* tmpFile */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
        56: .line 192
            invokeinterface io.netty.util.internal.logging.InternalLogger.info:(Ljava/lang/String;Ljava/lang/Object;)V
        57: .line 197
            goto 61
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.String java.util.List java.lang.String java.lang.String java.io.InputStream java.io.OutputStream java.io.File java.net.URL java.lang.UnsatisfiedLinkError
      StackMap stack: java.lang.Throwable
        58: astore 11 /* t */
        start local 11 // java.lang.Throwable t
        59: .line 198
            aload 3 /* suppressed */
            aload 11 /* t */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        60: .line 199
            getstatic io.netty.util.internal.NativeLibraryLoader.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Error checking if {} is on a file store mounted with noexec"
            aload 8 /* tmpFile */
            aload 11 /* t */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 11 // java.lang.Throwable t
        61: .line 202
      StackMap locals:
      StackMap stack:
            aload 10 /* e */
            aload 3 /* suppressed */
            invokestatic io.netty.util.internal.ThrowableUtil.addSuppressedAndClear:(Ljava/lang/Throwable;Ljava/util/List;)V
        62: .line 203
            aload 10 /* e */
            athrow
        end local 10 // java.lang.UnsatisfiedLinkError e
        63: .line 204
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.String java.util.List java.lang.String java.lang.String java.io.InputStream java.io.OutputStream java.io.File java.net.URL
      StackMap stack: java.lang.Exception
            astore 10 /* e */
        start local 10 // java.lang.Exception e
        64: .line 205
            new java.lang.UnsatisfiedLinkError
            dup
            new java.lang.StringBuilder
            dup
            ldc "could not load a native library: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            astore 11 /* ule */
        start local 11 // java.lang.UnsatisfiedLinkError ule
        65: .line 206
            aload 11 /* ule */
            aload 10 /* e */
            invokevirtual java.lang.UnsatisfiedLinkError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        66: .line 207
            aload 11 /* ule */
            aload 3 /* suppressed */
            invokestatic io.netty.util.internal.ThrowableUtil.addSuppressedAndClear:(Ljava/lang/Throwable;Ljava/util/List;)V
        67: .line 208
            aload 11 /* ule */
            athrow
        end local 11 // java.lang.UnsatisfiedLinkError ule
        end local 10 // java.lang.Exception e
        68: .line 209
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 15
        69: .line 210
            aload 6 /* in */
            invokestatic io.netty.util.internal.NativeLibraryLoader.closeQuietly:(Ljava/io/Closeable;)V
        70: .line 211
            aload 7 /* out */
            invokestatic io.netty.util.internal.NativeLibraryLoader.closeQuietly:(Ljava/io/Closeable;)V
        71: .line 215
            aload 8 /* tmpFile */
            ifnull 73
            getstatic io.netty.util.internal.NativeLibraryLoader.DELETE_NATIVE_LIB_AFTER_LOADING:Z
            ifeq 72
            aload 8 /* tmpFile */
            invokevirtual java.io.File.delete:()Z
            ifne 73
        72: .line 216
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.String java.util.List java.lang.String java.lang.String java.io.InputStream java.io.OutputStream java.io.File java.net.URL top top top top top java.lang.Throwable
      StackMap stack:
            aload 8 /* tmpFile */
            invokevirtual java.io.File.deleteOnExit:()V
        73: .line 218
      StackMap locals:
      StackMap stack:
            aload 15
            athrow
        74: .line 210
      StackMap locals: java.lang.String java.lang.ClassLoader java.lang.String java.util.List java.lang.String java.lang.String java.io.InputStream java.io.OutputStream java.io.File java.net.URL
      StackMap stack:
            aload 6 /* in */
            invokestatic io.netty.util.internal.NativeLibraryLoader.closeQuietly:(Ljava/io/Closeable;)V
        75: .line 211
            aload 7 /* out */
            invokestatic io.netty.util.internal.NativeLibraryLoader.closeQuietly:(Ljava/io/Closeable;)V
        76: .line 215
            aload 8 /* tmpFile */
            ifnull 78
            getstatic io.netty.util.internal.NativeLibraryLoader.DELETE_NATIVE_LIB_AFTER_LOADING:Z
            ifeq 77
            aload 8 /* tmpFile */
            invokevirtual java.io.File.delete:()Z
            ifne 78
        77: .line 216
      StackMap locals:
      StackMap stack:
            aload 8 /* tmpFile */
            invokevirtual java.io.File.deleteOnExit:()V
        78: .line 219
      StackMap locals:
      StackMap stack:
            return
        end local 9 // java.net.URL url
        end local 8 // java.io.File tmpFile
        end local 7 // java.io.OutputStream out
        end local 6 // java.io.InputStream in
        end local 5 // java.lang.String path
        end local 4 // java.lang.String libname
        end local 3 // java.util.List suppressed
        end local 2 // java.lang.String name
        end local 1 // java.lang.ClassLoader loader
        end local 0 // java.lang.String originalName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   79     0  originalName  Ljava/lang/String;
            0   79     1        loader  Ljava/lang/ClassLoader;
            1   79     2          name  Ljava/lang/String;
            2   79     3    suppressed  Ljava/util/List<Ljava/lang/Throwable;>;
            5   10     4            ex  Ljava/lang/Throwable;
           11   79     4       libname  Ljava/lang/String;
           12   79     5          path  Ljava/lang/String;
           13   79     6            in  Ljava/io/InputStream;
           14   79     7           out  Ljava/io/OutputStream;
           15   79     8       tmpFile  Ljava/io/File;
           17   18     9           url  Ljava/net/URL;
           19   79     9           url  Ljava/net/URL;
           24   32    10      fileName  Ljava/lang/String;
           30   32    11           fnf  Ljava/io/FileNotFoundException;
           33   35    10           fnf  Ljava/io/FileNotFoundException;
           36   50    10         index  I
           37   50    11        prefix  Ljava/lang/String;
           38   50    12        suffix  Ljava/lang/String;
           42   50    13        buffer  [B
           43   44    14        length  I
           45   50    14        length  I
           52   63    10             e  Ljava/lang/UnsatisfiedLinkError;
           59   61    11             t  Ljava/lang/Throwable;
           64   68    10             e  Ljava/lang/Exception;
           65   68    11           ule  Ljava/lang/UnsatisfiedLinkError;
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.Throwable
          19    50      51  Class java.lang.UnsatisfiedLinkError
          52    57      58  Class java.lang.Throwable
          19    50      63  Class java.lang.Exception
          19    68      68  any
    MethodParameters:
              Name  Flags
      originalName  
      loader        

  private static void loadLibrary(java.lang.ClassLoader, java.lang.String, boolean);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/String;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=5, args_size=3
        start local 0 // java.lang.ClassLoader loader
        start local 1 // java.lang.String name
        start local 2 // boolean absolute
         0: .line 228
            aconst_null
            astore 3 /* suppressed */
        start local 3 // java.lang.Throwable suppressed
         1: .line 232
            aload 0 /* loader */
            ldc Lio/netty/util/internal/NativeLibraryUtil;
            invokestatic io.netty.util.internal.NativeLibraryLoader.tryToLoadClass:(Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;
            astore 4 /* newHelper */
        start local 4 // java.lang.Class newHelper
         2: .line 233
            aload 4 /* newHelper */
            aload 1 /* name */
            iload 2 /* absolute */
            invokestatic io.netty.util.internal.NativeLibraryLoader.loadLibraryByHelper:(Ljava/lang/Class;Ljava/lang/String;Z)V
         3: .line 234
            getstatic io.netty.util.internal.NativeLibraryLoader.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Successfully loaded the library {}"
            aload 1 /* name */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
         4: .line 235
            return
        end local 4 // java.lang.Class newHelper
         5: .line 236
      StackMap locals: java.lang.ClassLoader java.lang.String int java.lang.Throwable
      StackMap stack: java.lang.UnsatisfiedLinkError
            astore 4 /* e */
        start local 4 // java.lang.UnsatisfiedLinkError e
         6: .line 237
            aload 4 /* e */
            astore 3 /* suppressed */
         7: .line 238
            getstatic io.netty.util.internal.NativeLibraryLoader.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Unable to load the library '{}', trying other loading mechanism."
            aload 1 /* name */
            aload 4 /* e */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 4 // java.lang.UnsatisfiedLinkError e
         8: goto 12
         9: .line 239
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        10: .line 240
            aload 4 /* e */
            astore 3 /* suppressed */
        11: .line 241
            getstatic io.netty.util.internal.NativeLibraryLoader.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Unable to load the library '{}', trying other loading mechanism."
            aload 1 /* name */
            aload 4 /* e */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;)V
        end local 4 // java.lang.Exception e
        12: .line 243
      StackMap locals:
      StackMap stack:
            aload 1 /* name */
            iload 2 /* absolute */
            invokestatic io.netty.util.internal.NativeLibraryUtil.loadLibrary:(Ljava/lang/String;Z)V
        13: .line 244
            getstatic io.netty.util.internal.NativeLibraryLoader.logger:Lio/netty/util/internal/logging/InternalLogger;
            ldc "Successfully loaded the library {}"
            aload 1 /* name */
            invokeinterface io.netty.util.internal.logging.InternalLogger.debug:(Ljava/lang/String;Ljava/lang/Object;)V
        14: .line 245
            goto 19
      StackMap locals:
      StackMap stack: java.lang.UnsatisfiedLinkError
        15: astore 4 /* ule */
        start local 4 // java.lang.UnsatisfiedLinkError ule
        16: .line 246
            aload 3 /* suppressed */
            ifnull 18
        17: .line 247
            aload 4 /* ule */
            aload 3 /* suppressed */
            invokestatic io.netty.util.internal.ThrowableUtil.addSuppressed:(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
        18: .line 249
      StackMap locals: java.lang.UnsatisfiedLinkError
      StackMap stack:
            aload 4 /* ule */
            athrow
        end local 4 // java.lang.UnsatisfiedLinkError ule
        19: .line 251
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Throwable suppressed
        end local 2 // boolean absolute
        end local 1 // java.lang.String name
        end local 0 // java.lang.ClassLoader loader
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   20     0      loader  Ljava/lang/ClassLoader;
            0   20     1        name  Ljava/lang/String;
            0   20     2    absolute  Z
            1   20     3  suppressed  Ljava/lang/Throwable;
            2    5     4   newHelper  Ljava/lang/Class<*>;
            6    8     4           e  Ljava/lang/UnsatisfiedLinkError;
           10   12     4           e  Ljava/lang/Exception;
           16   19     4         ule  Ljava/lang/UnsatisfiedLinkError;
      Exception table:
        from    to  target  type
           1     4       5  Class java.lang.UnsatisfiedLinkError
           1     4       9  Class java.lang.Exception
           1     4      15  Class java.lang.UnsatisfiedLinkError
           5    14      15  Class java.lang.UnsatisfiedLinkError
    MethodParameters:
          Name  Flags
      loader    final
      name      final
      absolute  final

  private static void loadLibraryByHelper(java.lang.Class<?>, java.lang.String, );
    descriptor: (Ljava/lang/Class;Ljava/lang/String;Z)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // java.lang.Class helper
        start local 1 // java.lang.String name
        start local 2 // boolean absolute
         0: .line 255
            new io.netty.util.internal.NativeLibraryLoader$1
            dup
            aload 0 /* helper */
            aload 1 /* name */
            iload 2 /* absolute */
            invokespecial io.netty.util.internal.NativeLibraryLoader$1.<init>:(Ljava/lang/Class;Ljava/lang/String;Z)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            astore 3 /* ret */
        start local 3 // java.lang.Object ret
         1: .line 269
            aload 3 /* ret */
            instanceof java.lang.Throwable
            ifeq 10
         2: .line 270
            aload 3 /* ret */
            checkcast java.lang.Throwable
            astore 4 /* t */
        start local 4 // java.lang.Throwable t
         3: .line 271
            getstatic io.netty.util.internal.NativeLibraryLoader.$assertionsDisabled:Z
            ifne 4
            aload 4 /* t */
            instanceof java.lang.UnsatisfiedLinkError
            ifeq 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 4 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " should be a wrapper throwable"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 272
      StackMap locals: java.lang.Object java.lang.Throwable
      StackMap stack:
            aload 4 /* t */
            invokevirtual java.lang.Throwable.getCause:()Ljava/lang/Throwable;
            astore 5 /* cause */
        start local 5 // java.lang.Throwable cause
         5: .line 273
            aload 5 /* cause */
            instanceof java.lang.UnsatisfiedLinkError
            ifeq 7
         6: .line 274
            aload 5 /* cause */
            checkcast java.lang.UnsatisfiedLinkError
            athrow
         7: .line 276
      StackMap locals: java.lang.Throwable
      StackMap stack:
            new java.lang.UnsatisfiedLinkError
            dup
            aload 4 /* t */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            invokespecial java.lang.UnsatisfiedLinkError.<init>:(Ljava/lang/String;)V
            astore 6 /* ule */
        start local 6 // java.lang.UnsatisfiedLinkError ule
         8: .line 277
            aload 6 /* ule */
            aload 4 /* t */
            invokevirtual java.lang.UnsatisfiedLinkError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         9: .line 278
            aload 6 /* ule */
            athrow
        end local 6 // java.lang.UnsatisfiedLinkError ule
        end local 5 // java.lang.Throwable cause
        end local 4 // java.lang.Throwable t
        10: .line 280
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object ret
        end local 2 // boolean absolute
        end local 1 // java.lang.String name
        end local 0 // java.lang.Class helper
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   11     0    helper  Ljava/lang/Class<*>;
            0   11     1      name  Ljava/lang/String;
            0   11     2  absolute  Z
            1   11     3       ret  Ljava/lang/Object;
            3   10     4         t  Ljava/lang/Throwable;
            5   10     5     cause  Ljava/lang/Throwable;
            8   10     6       ule  Ljava/lang/UnsatisfiedLinkError;
    Exceptions:
      throws java.lang.UnsatisfiedLinkError
    Signature: (Ljava/lang/Class<*>;Ljava/lang/String;Z)V
    MethodParameters:
          Name  Flags
      helper    final
      name      final
      absolute  final

  private static java.lang.Class<?> tryToLoadClass(java.lang.ClassLoader, java.lang.Class<?>);
    descriptor: (Ljava/lang/ClassLoader;Ljava/lang/Class;)Ljava/lang/Class;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // java.lang.ClassLoader loader
        start local 1 // java.lang.Class helper
         0: .line 292
            aload 1 /* helper */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            iconst_0
            aload 0 /* loader */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;ZLjava/lang/ClassLoader;)Ljava/lang/Class;
         1: areturn
         2: .line 293
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 2 /* e1 */
        start local 2 // java.lang.ClassNotFoundException e1
         3: .line 294
            aload 0 /* loader */
            ifnonnull 5
         4: .line 296
            aload 2 /* e1 */
            athrow
         5: .line 300
      StackMap locals: java.lang.ClassNotFoundException
      StackMap stack:
            aload 1 /* helper */
            invokestatic io.netty.util.internal.NativeLibraryLoader.classToByteArray:(Ljava/lang/Class;)[B
            astore 3 /* classBinary */
        start local 3 // byte[] classBinary
         6: .line 301
            new io.netty.util.internal.NativeLibraryLoader$2
            dup
            aload 0 /* loader */
            aload 1 /* helper */
            aload 3 /* classBinary */
            invokespecial io.netty.util.internal.NativeLibraryLoader$2.<init>:(Ljava/lang/ClassLoader;Ljava/lang/Class;[B)V
            invokestatic java.security.AccessController.doPrivileged:(Ljava/security/PrivilegedAction;)Ljava/lang/Object;
            checkcast java.lang.Class
         7: areturn
        end local 3 // byte[] classBinary
         8: .line 317
      StackMap locals:
      StackMap stack: java.lang.ClassNotFoundException
            astore 3 /* e2 */
        start local 3 // java.lang.ClassNotFoundException e2
         9: .line 318
            aload 3 /* e2 */
            aload 2 /* e1 */
            invokestatic io.netty.util.internal.ThrowableUtil.addSuppressed:(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
        10: .line 319
            aload 3 /* e2 */
            athrow
        end local 3 // java.lang.ClassNotFoundException e2
        11: .line 320
      StackMap locals:
      StackMap stack: java.lang.RuntimeException
            astore 3 /* e2 */
        start local 3 // java.lang.RuntimeException e2
        12: .line 321
            aload 3 /* e2 */
            aload 2 /* e1 */
            invokestatic io.netty.util.internal.ThrowableUtil.addSuppressed:(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
        13: .line 322
            aload 3 /* e2 */
            athrow
        end local 3 // java.lang.RuntimeException e2
        14: .line 323
      StackMap locals:
      StackMap stack: java.lang.Error
            astore 3 /* e2 */
        start local 3 // java.lang.Error e2
        15: .line 324
            aload 3 /* e2 */
            aload 2 /* e1 */
            invokestatic io.netty.util.internal.ThrowableUtil.addSuppressed:(Ljava/lang/Throwable;Ljava/lang/Throwable;)V
        16: .line 325
            aload 3 /* e2 */
            athrow
        end local 3 // java.lang.Error e2
        end local 2 // java.lang.ClassNotFoundException e1
        end local 1 // java.lang.Class helper
        end local 0 // java.lang.ClassLoader loader
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   17     0       loader  Ljava/lang/ClassLoader;
            0   17     1       helper  Ljava/lang/Class<*>;
            3   17     2           e1  Ljava/lang/ClassNotFoundException;
            6    8     3  classBinary  [B
            9   11     3           e2  Ljava/lang/ClassNotFoundException;
           12   14     3           e2  Ljava/lang/RuntimeException;
           15   17     3           e2  Ljava/lang/Error;
      Exception table:
        from    to  target  type
           0     1       2  Class java.lang.ClassNotFoundException
           5     7       8  Class java.lang.ClassNotFoundException
           5     7      11  Class java.lang.RuntimeException
           5     7      14  Class java.lang.Error
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/ClassLoader;Ljava/lang/Class<*>;)Ljava/lang/Class<*>;
    MethodParameters:
        Name  Flags
      loader  final
      helper  final

  private static byte[] classToByteArray(java.lang.Class<?>);
    descriptor: (Ljava/lang/Class;)[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=10, args_size=1
        start local 0 // java.lang.Class clazz
         0: .line 337
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            astore 1 /* fileName */
        start local 1 // java.lang.String fileName
         1: .line 338
            aload 1 /* fileName */
            bipush 46
            invokevirtual java.lang.String.lastIndexOf:(I)I
            istore 2 /* lastDot */
        start local 2 // int lastDot
         2: .line 339
            iload 2 /* lastDot */
            ifle 4
         3: .line 340
            aload 1 /* fileName */
            iload 2 /* lastDot */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 1 /* fileName */
         4: .line 342
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 0 /* clazz */
            new java.lang.StringBuilder
            dup
            aload 1 /* fileName */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ".class"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.Class.getResource:(Ljava/lang/String;)Ljava/net/URL;
            astore 3 /* classUrl */
        start local 3 // java.net.URL classUrl
         5: .line 343
            aload 3 /* classUrl */
            ifnonnull 7
         6: .line 344
            new java.lang.ClassNotFoundException
            dup
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;)V
            athrow
         7: .line 346
      StackMap locals: java.net.URL
      StackMap stack:
            sipush 1024
            newarray 8
            astore 4 /* buf */
        start local 4 // byte[] buf
         8: .line 347
            new java.io.ByteArrayOutputStream
            dup
            sipush 4096
            invokespecial java.io.ByteArrayOutputStream.<init>:(I)V
            astore 5 /* out */
        start local 5 // java.io.ByteArrayOutputStream out
         9: .line 348
            aconst_null
            astore 6 /* in */
        start local 6 // java.io.InputStream in
        10: .line 350
            aload 3 /* classUrl */
            invokevirtual java.net.URL.openStream:()Ljava/io/InputStream;
            astore 6 /* in */
        11: .line 351
            goto 13
        start local 7 // int r
        12: .line 352
      StackMap locals: java.lang.Class java.lang.String int java.net.URL byte[] java.io.ByteArrayOutputStream java.io.InputStream int
      StackMap stack:
            aload 5 /* out */
            aload 4 /* buf */
            iconst_0
            iload 7 /* r */
            invokevirtual java.io.ByteArrayOutputStream.write:([BII)V
        end local 7 // int r
        13: .line 351
      StackMap locals:
      StackMap stack:
            aload 6 /* in */
            aload 4 /* buf */
            invokevirtual java.io.InputStream.read:([B)I
            dup
            istore 7 /* r */
        start local 7 // int r
        14: iconst_m1
            if_icmpne 12
        end local 7 // int r
        15: .line 354
            aload 5 /* out */
            invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
            astore 9
        16: .line 358
            aload 6 /* in */
            invokestatic io.netty.util.internal.NativeLibraryLoader.closeQuietly:(Ljava/io/Closeable;)V
        17: .line 359
            aload 5 /* out */
            invokestatic io.netty.util.internal.NativeLibraryLoader.closeQuietly:(Ljava/io/Closeable;)V
        18: .line 354
            aload 9
            areturn
        19: .line 355
      StackMap locals:
      StackMap stack: java.io.IOException
            astore 7 /* ex */
        start local 7 // java.io.IOException ex
        20: .line 356
            new java.lang.ClassNotFoundException
            dup
            aload 0 /* clazz */
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            aload 7 /* ex */
            invokespecial java.lang.ClassNotFoundException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.io.IOException ex
        21: .line 357
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 8
        22: .line 358
            aload 6 /* in */
            invokestatic io.netty.util.internal.NativeLibraryLoader.closeQuietly:(Ljava/io/Closeable;)V
        23: .line 359
            aload 5 /* out */
            invokestatic io.netty.util.internal.NativeLibraryLoader.closeQuietly:(Ljava/io/Closeable;)V
        24: .line 360
            aload 8
            athrow
        end local 6 // java.io.InputStream in
        end local 5 // java.io.ByteArrayOutputStream out
        end local 4 // byte[] buf
        end local 3 // java.net.URL classUrl
        end local 2 // int lastDot
        end local 1 // java.lang.String fileName
        end local 0 // java.lang.Class clazz
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   25     0     clazz  Ljava/lang/Class<*>;
            1   25     1  fileName  Ljava/lang/String;
            2   25     2   lastDot  I
            5   25     3  classUrl  Ljava/net/URL;
            8   25     4       buf  [B
            9   25     5       out  Ljava/io/ByteArrayOutputStream;
           10   25     6        in  Ljava/io/InputStream;
           12   13     7         r  I
           14   15     7         r  I
           20   21     7        ex  Ljava/io/IOException;
      Exception table:
        from    to  target  type
          10    16      19  Class java.io.IOException
          10    16      21  any
          19    21      21  any
    Exceptions:
      throws java.lang.ClassNotFoundException
    Signature: (Ljava/lang/Class<*>;)[B
    MethodParameters:
       Name  Flags
      clazz  

  private static void closeQuietly(java.io.Closeable);
    descriptor: (Ljava/io/Closeable;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.Closeable c
         0: .line 364
            aload 0 /* c */
            ifnull 4
         1: .line 366
            aload 0 /* c */
            invokeinterface java.io.Closeable.close:()V
         2: .line 367
            goto 4
      StackMap locals:
      StackMap stack: java.io.IOException
         3: pop
         4: .line 371
      StackMap locals:
      StackMap stack:
            return
        end local 0 // java.io.Closeable c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     c  Ljava/io/Closeable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
    MethodParameters:
      Name  Flags
      c     

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // io.netty.util.internal.NativeLibraryLoader this
         0: .line 373
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 375
            return
        end local 0 // io.netty.util.internal.NativeLibraryLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lio/netty/util/internal/NativeLibraryLoader;
}
SourceFile: "NativeLibraryLoader.java"
NestMembers:
  io.netty.util.internal.NativeLibraryLoader$1  io.netty.util.internal.NativeLibraryLoader$2  io.netty.util.internal.NativeLibraryLoader$NoexecVolumeDetector
InnerClasses:
  io.netty.util.internal.NativeLibraryLoader$1
  io.netty.util.internal.NativeLibraryLoader$2
  private final NoexecVolumeDetector = io.netty.util.internal.NativeLibraryLoader$NoexecVolumeDetector of io.netty.util.internal.NativeLibraryLoader