final class org.apache.commons.crypto.NativeCodeLoader
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.apache.commons.crypto.NativeCodeLoader
  super_class: java.lang.Object
{
  private static final boolean nativeCodeLoaded;
    descriptor: Z
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Throwable loadingError;
    descriptor: Ljava/lang/Throwable;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 50
            invokestatic org.apache.commons.crypto.NativeCodeLoader.loadLibrary:()Ljava/lang/Throwable;
            putstatic org.apache.commons.crypto.NativeCodeLoader.loadingError:Ljava/lang/Throwable;
         1: .line 52
            getstatic org.apache.commons.crypto.NativeCodeLoader.loadingError:Ljava/lang/Throwable;
            ifnonnull 2
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: putstatic org.apache.commons.crypto.NativeCodeLoader.nativeCodeLoaded:Z
         4: .line 53
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.apache.commons.crypto.NativeCodeLoader this
         0: .line 46
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 47
            return
        end local 0 // org.apache.commons.crypto.NativeCodeLoader this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/apache/commons/crypto/NativeCodeLoader;

  static java.lang.Throwable loadLibrary();
    descriptor: ()Ljava/lang/Throwable;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 62
            invokestatic org.apache.commons.crypto.NativeCodeLoader.findNativeLibrary:()Ljava/io/File;
            astore 0 /* nativeLibFile */
        start local 0 // java.io.File nativeLibFile
         1: .line 63
            aload 0 /* nativeLibFile */
            ifnull 4
         2: .line 65
            aload 0 /* nativeLibFile */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokestatic java.lang.System.load:(Ljava/lang/String;)V
         3: .line 66
            goto 5
         4: .line 68
      StackMap locals: java.io.File
      StackMap stack:
            ldc "commons-crypto"
            invokestatic java.lang.System.loadLibrary:(Ljava/lang/String;)V
         5: .line 70
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.io.File nativeLibFile
         6: .line 71
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 0 /* t */
        start local 0 // java.lang.Exception t
         7: .line 72
            aload 0 /* t */
            areturn
        end local 0 // java.lang.Exception t
         8: .line 73
      StackMap locals:
      StackMap stack: java.lang.UnsatisfiedLinkError
            astore 0 /* t */
        start local 0 // java.lang.UnsatisfiedLinkError t
         9: .line 74
            aload 0 /* t */
            areturn
        end local 0 // java.lang.UnsatisfiedLinkError t
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            1    6     0  nativeLibFile  Ljava/io/File;
            7    8     0              t  Ljava/lang/Exception;
            9   10     0              t  Ljava/lang/UnsatisfiedLinkError;
      Exception table:
        from    to  target  type
           0     5       6  Class java.lang.Exception
           0     5       8  Class java.lang.UnsatisfiedLinkError

  private static java.io.File findNativeLibrary();
    descriptor: ()Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=5, args_size=0
         0: .line 85
            invokestatic org.apache.commons.crypto.utils.Utils.getDefaultProperties:()Ljava/util/Properties;
            astore 0 /* props */
        start local 0 // java.util.Properties props
         1: .line 88
            aload 0 /* props */
            ldc "commons.crypto.lib.path"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* nativeLibraryPath */
        start local 1 // java.lang.String nativeLibraryPath
         2: .line 89
            aload 0 /* props */
            ldc "commons.crypto.lib.name"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* nativeLibraryName */
        start local 2 // java.lang.String nativeLibraryName
         3: .line 92
            aload 2 /* nativeLibraryName */
            ifnonnull 5
         4: .line 93
            ldc "commons-crypto"
            invokestatic java.lang.System.mapLibraryName:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* nativeLibraryName */
         5: .line 95
      StackMap locals: java.util.Properties java.lang.String java.lang.String
      StackMap stack:
            aload 1 /* nativeLibraryPath */
            ifnull 9
         6: .line 96
            new java.io.File
            dup
            aload 1 /* nativeLibraryPath */
            aload 2 /* nativeLibraryName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* nativeLib */
        start local 3 // java.io.File nativeLib
         7: .line 97
            aload 3 /* nativeLib */
            invokevirtual java.io.File.exists:()Z
            ifeq 9
         8: .line 98
            aload 3 /* nativeLib */
            areturn
        end local 3 // java.io.File nativeLib
         9: .line 103
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "/org/apache/commons/crypto/native/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        10: .line 104
            invokestatic org.apache.commons.crypto.OsInfo.getNativeLibFolderPathForCurrentOS:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        11: .line 103
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* nativeLibraryPath */
        12: .line 105
            new java.lang.StringBuilder
            dup
            aload 1 /* nativeLibraryPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        13: .line 106
            aload 2 /* nativeLibraryName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        14: .line 105
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.crypto.NativeCodeLoader.hasResource:(Ljava/lang/String;)Z
            istore 3 /* hasNativeLib */
        start local 3 // boolean hasNativeLib
        15: .line 107
            iload 3 /* hasNativeLib */
            ifne 20
        16: .line 108
            ldc "libcommons-crypto.jnilib"
            astore 4 /* altName */
        start local 4 // java.lang.String altName
        17: .line 109
            invokestatic org.apache.commons.crypto.OsInfo.getOSName:()Ljava/lang/String;
            ldc "Mac"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
            new java.lang.StringBuilder
            dup
            aload 1 /* nativeLibraryPath */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* altName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic org.apache.commons.crypto.NativeCodeLoader.hasResource:(Ljava/lang/String;)Z
            ifeq 20
        18: .line 111
            aload 4 /* altName */
            astore 2 /* nativeLibraryName */
        19: .line 112
            iconst_1
            istore 3 /* hasNativeLib */
        end local 4 // java.lang.String altName
        20: .line 116
      StackMap locals: int
      StackMap stack:
            iload 3 /* hasNativeLib */
            ifne 25
        21: .line 118
            ldc "no native library is found for os.name=%s and os.arch=%s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        22: .line 119
            invokestatic org.apache.commons.crypto.OsInfo.getOSName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            invokestatic org.apache.commons.crypto.OsInfo.getArchName:()Ljava/lang/String;
            aastore
        23: .line 117
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 4 /* errorMessage */
        start local 4 // java.lang.String errorMessage
        24: .line 120
            new java.lang.RuntimeException
            dup
            aload 4 /* errorMessage */
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        end local 4 // java.lang.String errorMessage
        25: .line 125
      StackMap locals:
      StackMap stack:
            new java.io.File
            dup
            aload 0 /* props */
            ldc "commons.crypto.lib.tempdir"
        26: .line 126
            ldc "java.io.tmpdir"
            invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
        27: .line 125
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            invokespecial java.io.File.<init>:(Ljava/lang/String;)V
        28: .line 126
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
        29: .line 125
            astore 4 /* tempFolder */
        start local 4 // java.lang.String tempFolder
        30: .line 129
            aload 1 /* nativeLibraryPath */
            aload 2 /* nativeLibraryName */
        31: .line 130
            aload 4 /* tempFolder */
        32: .line 129
            invokestatic org.apache.commons.crypto.NativeCodeLoader.extractLibraryFile:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
            areturn
        end local 4 // java.lang.String tempFolder
        end local 3 // boolean hasNativeLib
        end local 2 // java.lang.String nativeLibraryName
        end local 1 // java.lang.String nativeLibraryPath
        end local 0 // java.util.Properties props
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            1   33     0              props  Ljava/util/Properties;
            2   33     1  nativeLibraryPath  Ljava/lang/String;
            3   33     2  nativeLibraryName  Ljava/lang/String;
            7    9     3          nativeLib  Ljava/io/File;
           15   33     3       hasNativeLib  Z
           17   20     4            altName  Ljava/lang/String;
           24   25     4       errorMessage  Ljava/lang/String;
           30   33     4         tempFolder  Ljava/lang/String;

  private static java.io.File extractLibraryFile(java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=14, args_size=3
        start local 0 // java.lang.String libFolderForCurrentOS
        start local 1 // java.lang.String libraryFileName
        start local 2 // java.lang.String targetFolder
         0: .line 144
            new java.lang.StringBuilder
            dup
            aload 0 /* libFolderForCurrentOS */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "/"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         1: .line 145
            aload 1 /* libraryFileName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
         2: .line 144
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* nativeLibraryFilePath */
        start local 3 // java.lang.String nativeLibraryFilePath
         3: .line 150
            invokestatic java.util.UUID.randomUUID:()Ljava/util/UUID;
            invokevirtual java.util.UUID.toString:()Ljava/lang/String;
            astore 4 /* uuid */
        start local 4 // java.lang.String uuid
         4: .line 151
            ldc "commons-crypto-%s-%s"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
         5: .line 152
            aload 4 /* uuid */
            aastore
            dup
            iconst_1
            aload 1 /* libraryFileName */
            aastore
         6: .line 151
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            astore 5 /* extractedLibFileName */
        start local 5 // java.lang.String extractedLibFileName
         7: .line 153
            new java.io.File
            dup
            aload 2 /* targetFolder */
            aload 5 /* extractedLibFileName */
            invokespecial java.io.File.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            astore 6 /* extractedLibFile */
        start local 6 // java.io.File extractedLibFile
         8: .line 155
            aconst_null
            astore 7 /* reader */
        start local 7 // java.io.InputStream reader
         9: .line 158
            ldc Lorg/apache/commons/crypto/NativeCodeLoader;
        10: .line 159
            aload 3 /* nativeLibraryFilePath */
            invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
        11: .line 158
            astore 7 /* reader */
        12: .line 160
            new java.io.FileOutputStream
            dup
            aload 6 /* extractedLibFile */
            invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
            astore 8 /* writer */
        start local 8 // java.io.FileOutputStream writer
        13: .line 162
            sipush 8192
            newarray 8
            astore 9 /* buffer */
        start local 9 // byte[] buffer
        14: .line 164
            goto 16
        start local 10 // int bytesRead
        15: .line 165
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.io.File java.io.InputStream java.io.FileOutputStream byte[] int
      StackMap stack:
            aload 8 /* writer */
            aload 9 /* buffer */
            iconst_0
            iload 10 /* bytesRead */
            invokevirtual java.io.FileOutputStream.write:([BII)V
        end local 10 // int bytesRead
        16: .line 164
      StackMap locals:
      StackMap stack:
            aload 7 /* reader */
            aload 9 /* buffer */
            invokevirtual java.io.InputStream.read:([B)I
            dup
            istore 10 /* bytesRead */
        start local 10 // int bytesRead
        17: iconst_m1
            if_icmpne 15
        end local 10 // int bytesRead
        end local 9 // byte[] buffer
        18: .line 167
            goto 25
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.io.File java.io.InputStream java.io.FileOutputStream
      StackMap stack: java.lang.Throwable
        19: astore 11
        20: .line 169
            aload 6 /* extractedLibFile */
            invokevirtual java.io.File.deleteOnExit:()V
        21: .line 171
            aload 8 /* writer */
            invokevirtual java.io.FileOutputStream.close:()V
            iconst_1
            anewarray java.io.Closeable
            dup
            iconst_0
        22: .line 173
            aload 7 /* reader */
            aastore
            invokestatic org.apache.commons.crypto.utils.IoUtils.cleanup:([Ljava/io/Closeable;)V
        23: .line 174
            aconst_null
            astore 7 /* reader */
        24: .line 175
            aload 11
            athrow
        25: .line 169
      StackMap locals:
      StackMap stack:
            aload 6 /* extractedLibFile */
            invokevirtual java.io.File.deleteOnExit:()V
        26: .line 171
            aload 8 /* writer */
            invokevirtual java.io.FileOutputStream.close:()V
            iconst_1
            anewarray java.io.Closeable
            dup
            iconst_0
        27: .line 173
            aload 7 /* reader */
            aastore
            invokestatic org.apache.commons.crypto.utils.IoUtils.cleanup:([Ljava/io/Closeable;)V
        28: .line 174
            aconst_null
            astore 7 /* reader */
        29: .line 178
            aload 6 /* extractedLibFile */
            iconst_1
            invokevirtual java.io.File.setReadable:(Z)Z
            ifeq 32
        30: .line 179
            aload 6 /* extractedLibFile */
            iconst_1
            invokevirtual java.io.File.setExecutable:(Z)Z
            ifeq 32
        31: .line 180
            aload 6 /* extractedLibFile */
            iconst_1
            iconst_1
            invokevirtual java.io.File.setWritable:(ZZ)Z
            ifne 33
        32: .line 181
      StackMap locals:
      StackMap stack:
            new java.lang.RuntimeException
            dup
            ldc "Invalid path for library path"
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        33: .line 187
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* nativeIn */
        start local 9 // java.io.InputStream nativeIn
        34: .line 188
            aconst_null
            astore 10 /* extractedLibIn */
        start local 10 // java.io.InputStream extractedLibIn
        35: .line 190
            ldc Lorg/apache/commons/crypto/NativeCodeLoader;
        36: .line 191
            aload 3 /* nativeLibraryFilePath */
            invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
        37: .line 190
            astore 9 /* nativeIn */
        38: .line 192
            new java.io.FileInputStream
            dup
            aload 6 /* extractedLibFile */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 10 /* extractedLibIn */
        39: .line 193
            aload 9 /* nativeIn */
            aload 10 /* extractedLibIn */
            invokestatic org.apache.commons.crypto.NativeCodeLoader.contentsEquals:(Ljava/io/InputStream;Ljava/io/InputStream;)Z
            ifne 50
        40: .line 194
            new java.lang.RuntimeException
            dup
        41: .line 195
            ldc "Failed to write a native library file at %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
        42: .line 196
            aload 6 /* extractedLibFile */
            aastore
        43: .line 194
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
            athrow
        44: .line 198
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.io.File java.io.InputStream java.io.FileOutputStream java.io.InputStream java.io.InputStream
      StackMap stack: java.lang.Throwable
            astore 11
        45: .line 199
            aload 9 /* nativeIn */
            ifnull 47
        46: .line 200
            aload 9 /* nativeIn */
            invokevirtual java.io.InputStream.close:()V
        47: .line 202
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 10 /* extractedLibIn */
            ifnull 49
        48: .line 203
            aload 10 /* extractedLibIn */
            invokevirtual java.io.InputStream.close:()V
        49: .line 205
      StackMap locals:
      StackMap stack:
            aload 11
            athrow
        50: .line 199
      StackMap locals:
      StackMap stack:
            aload 9 /* nativeIn */
            ifnull 52
        51: .line 200
            aload 9 /* nativeIn */
            invokevirtual java.io.InputStream.close:()V
        52: .line 202
      StackMap locals:
      StackMap stack:
            aload 10 /* extractedLibIn */
            ifnull 54
        53: .line 203
            aload 10 /* extractedLibIn */
            invokevirtual java.io.InputStream.close:()V
        end local 10 // java.io.InputStream extractedLibIn
        end local 9 // java.io.InputStream nativeIn
        54: .line 208
      StackMap locals:
      StackMap stack:
            aload 6 /* extractedLibFile */
            astore 13
        55: .line 211
            iconst_1
            anewarray java.io.Closeable
            dup
            iconst_0
        56: .line 212
            aload 7 /* reader */
            aastore
            invokestatic org.apache.commons.crypto.utils.IoUtils.cleanup:([Ljava/io/Closeable;)V
        57: .line 208
            aload 13
            areturn
        end local 8 // java.io.FileOutputStream writer
        58: .line 209
      StackMap locals: java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.lang.String java.io.File java.io.InputStream
      StackMap stack: java.io.IOException
            pop
        59: .line 211
            iconst_1
            anewarray java.io.Closeable
            dup
            iconst_0
        60: .line 212
            aload 7 /* reader */
            aastore
            invokestatic org.apache.commons.crypto.utils.IoUtils.cleanup:([Ljava/io/Closeable;)V
        61: .line 210
            aconst_null
            areturn
        62: .line 211
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 12
            iconst_1
            anewarray java.io.Closeable
            dup
            iconst_0
        63: .line 212
            aload 7 /* reader */
            aastore
            invokestatic org.apache.commons.crypto.utils.IoUtils.cleanup:([Ljava/io/Closeable;)V
        64: .line 213
            aload 12
            athrow
        end local 7 // java.io.InputStream reader
        end local 6 // java.io.File extractedLibFile
        end local 5 // java.lang.String extractedLibFileName
        end local 4 // java.lang.String uuid
        end local 3 // java.lang.String nativeLibraryFilePath
        end local 2 // java.lang.String targetFolder
        end local 1 // java.lang.String libraryFileName
        end local 0 // java.lang.String libFolderForCurrentOS
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   65     0  libFolderForCurrentOS  Ljava/lang/String;
            0   65     1        libraryFileName  Ljava/lang/String;
            0   65     2           targetFolder  Ljava/lang/String;
            3   65     3  nativeLibraryFilePath  Ljava/lang/String;
            4   65     4                   uuid  Ljava/lang/String;
            7   65     5   extractedLibFileName  Ljava/lang/String;
            8   65     6       extractedLibFile  Ljava/io/File;
            9   65     7                 reader  Ljava/io/InputStream;
           13   58     8                 writer  Ljava/io/FileOutputStream;
           14   18     9                 buffer  [B
           15   16    10              bytesRead  I
           17   18    10              bytesRead  I
           34   54     9               nativeIn  Ljava/io/InputStream;
           35   54    10         extractedLibIn  Ljava/io/InputStream;
      Exception table:
        from    to  target  type
          13    19      19  any
          35    44      44  any
           9    55      58  Class java.io.IOException
           9    55      62  any
          58    59      62  any
    MethodParameters:
                       Name  Flags
      libFolderForCurrentOS  
      libraryFileName        
      targetFolder           

  private static boolean contentsEquals(java.io.InputStream, java.io.InputStream);
    descriptor: (Ljava/io/InputStream;Ljava/io/InputStream;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // java.io.InputStream in1
        start local 1 // java.io.InputStream in2
         0: .line 226
            aload 0 /* in1 */
            instanceof java.io.BufferedInputStream
            ifne 2
         1: .line 227
            new java.io.BufferedInputStream
            dup
            aload 0 /* in1 */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 0 /* in1 */
         2: .line 229
      StackMap locals:
      StackMap stack:
            aload 1 /* in2 */
            instanceof java.io.BufferedInputStream
            ifne 4
         3: .line 230
            new java.io.BufferedInputStream
            dup
            aload 1 /* in2 */
            invokespecial java.io.BufferedInputStream.<init>:(Ljava/io/InputStream;)V
            astore 1 /* in2 */
         4: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* in1 */
            invokevirtual java.io.InputStream.read:()I
            istore 2 /* ch */
        start local 2 // int ch
         5: .line 234
            goto 10
         6: .line 235
      StackMap locals: int
      StackMap stack:
            aload 1 /* in2 */
            invokevirtual java.io.InputStream.read:()I
            istore 3 /* ch2 */
        start local 3 // int ch2
         7: .line 236
            iload 2 /* ch */
            iload 3 /* ch2 */
            if_icmpeq 9
         8: .line 237
            iconst_0
            ireturn
         9: .line 239
      StackMap locals: int
      StackMap stack:
            aload 0 /* in1 */
            invokevirtual java.io.InputStream.read:()I
            istore 2 /* ch */
        end local 3 // int ch2
        10: .line 234
      StackMap locals:
      StackMap stack:
            iload 2 /* ch */
            iconst_m1
            if_icmpne 6
        11: .line 241
            aload 1 /* in2 */
            invokevirtual java.io.InputStream.read:()I
            istore 3 /* ch2 */
        start local 3 // int ch2
        12: .line 242
            iload 3 /* ch2 */
            iconst_m1
            if_icmpne 13
            iconst_1
            ireturn
      StackMap locals: int
      StackMap stack:
        13: iconst_0
            ireturn
        end local 3 // int ch2
        end local 2 // int ch
        end local 1 // java.io.InputStream in2
        end local 0 // java.io.InputStream in1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   14     0   in1  Ljava/io/InputStream;
            0   14     1   in2  Ljava/io/InputStream;
            5   14     2    ch  I
            7   10     3   ch2  I
           12   14     3   ch2  I
    Exceptions:
      throws java.io.IOException
    MethodParameters:
      Name  Flags
      in1   
      in2   

  private static boolean hasResource(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String path
         0: .line 252
            ldc Lorg/apache/commons/crypto/NativeCodeLoader;
            aload 0 /* path */
            invokevirtual java.lang.Class.getResource:(Ljava/lang/String;)Ljava/net/URL;
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String path
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  path  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      path  

  static boolean isNativeCodeLoaded();
    descriptor: ()Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 261
            getstatic org.apache.commons.crypto.NativeCodeLoader.nativeCodeLoaded:Z
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static java.lang.Throwable getLoadingError();
    descriptor: ()Ljava/lang/Throwable;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 270
            getstatic org.apache.commons.crypto.NativeCodeLoader.loadingError:Ljava/lang/Throwable;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "NativeCodeLoader.java"