class java.security.Signature$Delegate extends java.security.Signature
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: java.security.Signature$Delegate
  super_class: java.security.Signature
{
  private java.security.SignatureSpi sigSpi;
    descriptor: Ljava/security/SignatureSpi;
    flags: (0x0002) ACC_PRIVATE

  private final java.lang.Object lock;
    descriptor: Ljava/lang/Object;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private java.security.Provider$Service firstService;
    descriptor: Ljava/security/Provider$Service;
    flags: (0x0002) ACC_PRIVATE

  private java.util.Iterator<java.security.Provider$Service> serviceIterator;
    descriptor: Ljava/util/Iterator;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Iterator<Ljava/security/Provider$Service;>;

  private static int warnCount;
    descriptor: I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

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

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

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

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

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 1147
            bipush 10
            putstatic java.security.Signature$Delegate.warnCount:I
         1: .line 1272
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(java.security.SignatureSpi, java.lang.String);
    descriptor: (Ljava/security/SignatureSpi;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // java.security.Signature$Delegate this
        start local 1 // java.security.SignatureSpi sigSpi
        start local 2 // java.lang.String algorithm
         0: .line 1088
            aload 0 /* this */
            aload 2 /* algorithm */
            invokespecial java.security.Signature.<init>:(Ljava/lang/String;)V
         1: .line 1089
            aload 0 /* this */
            aload 1 /* sigSpi */
            putfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
         2: .line 1090
            aload 0 /* this */
            aconst_null
            putfield java.security.Signature$Delegate.lock:Ljava/lang/Object;
         3: .line 1091
            return
        end local 2 // java.lang.String algorithm
        end local 1 // java.security.SignatureSpi sigSpi
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    4     0       this  Ljava/security/Signature$Delegate;
            0    4     1     sigSpi  Ljava/security/SignatureSpi;
            0    4     2  algorithm  Ljava/lang/String;
    MethodParameters:
           Name  Flags
      sigSpi     
      algorithm  

  void <init>(java.security.Provider$Service, java.util.Iterator<java.security.Provider$Service>, java.lang.String);
    descriptor: (Ljava/security/Provider$Service;Ljava/util/Iterator;Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // java.security.Signature$Delegate this
        start local 1 // java.security.Provider$Service service
        start local 2 // java.util.Iterator iterator
        start local 3 // java.lang.String algorithm
         0: .line 1096
            aload 0 /* this */
            aload 3 /* algorithm */
            invokespecial java.security.Signature.<init>:(Ljava/lang/String;)V
         1: .line 1097
            aload 0 /* this */
            aload 1 /* service */
            putfield java.security.Signature$Delegate.firstService:Ljava/security/Provider$Service;
         2: .line 1098
            aload 0 /* this */
            aload 2 /* iterator */
            putfield java.security.Signature$Delegate.serviceIterator:Ljava/util/Iterator;
         3: .line 1099
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield java.security.Signature$Delegate.lock:Ljava/lang/Object;
         4: .line 1100
            return
        end local 3 // java.lang.String algorithm
        end local 2 // java.util.Iterator iterator
        end local 1 // java.security.Provider$Service service
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljava/security/Signature$Delegate;
            0    5     1    service  Ljava/security/Provider$Service;
            0    5     2   iterator  Ljava/util/Iterator<Ljava/security/Provider$Service;>;
            0    5     3  algorithm  Ljava/lang/String;
    Signature: (Ljava/security/Provider$Service;Ljava/util/Iterator<Ljava/security/Provider$Service;>;Ljava/lang/String;)V
    MethodParameters:
           Name  Flags
      service    
      iterator   
      algorithm  

  public java.lang.Object clone();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.security.Signature$Delegate this
         0: .line 1111
            aload 0 /* this */
            invokevirtual java.security.Signature$Delegate.chooseFirstProvider:()V
         1: .line 1112
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            instanceof java.lang.Cloneable
            ifeq 7
         2: .line 1113
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            invokevirtual java.security.SignatureSpi.clone:()Ljava/lang/Object;
            checkcast java.security.SignatureSpi
            astore 1 /* sigSpiClone */
        start local 1 // java.security.SignatureSpi sigSpiClone
         3: .line 1118
            new java.security.Signature$Delegate
            dup
            aload 1 /* sigSpiClone */
            aload 0 /* this */
            getfield java.security.Signature.algorithm:Ljava/lang/String;
            invokespecial java.security.Signature$Delegate.<init>:(Ljava/security/SignatureSpi;Ljava/lang/String;)V
         4: .line 1117
            astore 2 /* that */
        start local 2 // java.security.Signature that
         5: .line 1119
            aload 2 /* that */
            aload 0 /* this */
            getfield java.security.Signature.provider:Ljava/security/Provider;
            putfield java.security.Signature.provider:Ljava/security/Provider;
         6: .line 1120
            aload 2 /* that */
            areturn
        end local 2 // java.security.Signature that
        end local 1 // java.security.SignatureSpi sigSpiClone
         7: .line 1122
      StackMap locals:
      StackMap stack:
            new java.lang.CloneNotSupportedException
            dup
            invokespecial java.lang.CloneNotSupportedException.<init>:()V
            athrow
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljava/security/Signature$Delegate;
            3    7     1  sigSpiClone  Ljava/security/SignatureSpi;
            5    7     2         that  Ljava/security/Signature;
    Exceptions:
      throws java.lang.CloneNotSupportedException

  private static java.security.SignatureSpi newInstance(java.security.Provider$Service);
    descriptor: (Ljava/security/Provider$Service;)Ljava/security/SignatureSpi;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // java.security.Provider$Service s
         0: .line 1128
            aload 0 /* s */
            invokevirtual java.security.Provider$Service.getType:()Ljava/lang/String;
            ldc "Cipher"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 6
         1: .line 1131
            ldc "RSA/ECB/PKCS1Padding"
            aload 0 /* s */
            invokevirtual java.security.Provider$Service.getProvider:()Ljava/security/Provider;
            invokestatic javax.crypto.Cipher.getInstance:(Ljava/lang/String;Ljava/security/Provider;)Ljavax/crypto/Cipher;
            astore 1 /* c */
        start local 1 // javax.crypto.Cipher c
         2: .line 1132
            new java.security.Signature$CipherAdapter
            dup
            aload 1 /* c */
            invokespecial java.security.Signature$CipherAdapter.<init>:(Ljavax/crypto/Cipher;)V
         3: areturn
        end local 1 // javax.crypto.Cipher c
         4: .line 1133
      StackMap locals:
      StackMap stack: javax.crypto.NoSuchPaddingException
            astore 1 /* e */
        start local 1 // javax.crypto.NoSuchPaddingException e
         5: .line 1134
            new java.security.NoSuchAlgorithmException
            dup
            aload 1 /* e */
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 1 // javax.crypto.NoSuchPaddingException e
         6: .line 1137
      StackMap locals:
      StackMap stack:
            aload 0 /* s */
            aconst_null
            invokevirtual java.security.Provider$Service.newInstance:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* o */
        start local 1 // java.lang.Object o
         7: .line 1138
            aload 1 /* o */
            instanceof java.security.SignatureSpi
            ifne 11
         8: .line 1139
            new java.security.NoSuchAlgorithmException
            dup
         9: .line 1140
            new java.lang.StringBuilder
            dup
            ldc "Not a SignatureSpi: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* o */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        10: .line 1139
            invokespecial java.security.NoSuchAlgorithmException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1142
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* o */
            checkcast java.security.SignatureSpi
            areturn
        end local 1 // java.lang.Object o
        end local 0 // java.security.Provider$Service s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   12     0     s  Ljava/security/Provider$Service;
            2    4     1     c  Ljavax/crypto/Cipher;
            5    6     1     e  Ljavax/crypto/NoSuchPaddingException;
            7   12     1     o  Ljava/lang/Object;
      Exception table:
        from    to  target  type
           1     3       4  Class javax.crypto.NoSuchPaddingException
    Exceptions:
      throws java.security.NoSuchAlgorithmException
    MethodParameters:
      Name  Flags
      s     

  void chooseFirstProvider();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // java.security.Signature$Delegate this
         0: .line 1155
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            ifnull 2
         1: .line 1156
            return
         2: .line 1158
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.Signature$Delegate.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
         3: .line 1159
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            ifnull 6
         4: .line 1160
            aload 1
            monitorexit
         5: return
         6: .line 1162
      StackMap locals: java.lang.Object
      StackMap stack:
            getstatic java.security.Signature.debug:Lsun/security/util/Debug;
            ifnull 13
         7: .line 1163
            getstatic java.security.Signature$Delegate.warnCount:I
            iconst_1
            isub
            dup
            putstatic java.security.Signature$Delegate.warnCount:I
            istore 2 /* w */
        start local 2 // int w
         8: .line 1164
            iload 2 /* w */
            iflt 13
         9: .line 1165
            getstatic java.security.Signature.debug:Lsun/security/util/Debug;
            ldc "Signature.init() not first method called, disabling delayed provider selection"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        10: .line 1167
            iload 2 /* w */
            ifne 12
        11: .line 1168
            getstatic java.security.Signature.debug:Lsun/security/util/Debug;
            ldc "Further warnings of this type will be suppressed"
            invokevirtual sun.security.util.Debug.println:(Ljava/lang/String;)V
        12: .line 1171
      StackMap locals: int
      StackMap stack:
            new java.lang.Exception
            dup
            ldc "Debug call trace"
            invokespecial java.lang.Exception.<init>:(Ljava/lang/String;)V
            invokevirtual java.lang.Exception.printStackTrace:()V
        end local 2 // int w
        13: .line 1174
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* lastException */
        start local 2 // java.lang.Exception lastException
        14: .line 1175
            goto 30
        15: .line 1177
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            getfield java.security.Signature$Delegate.firstService:Ljava/security/Provider$Service;
            ifnull 19
        16: .line 1178
            aload 0 /* this */
            getfield java.security.Signature$Delegate.firstService:Ljava/security/Provider$Service;
            astore 3 /* s */
        start local 3 // java.security.Provider$Service s
        17: .line 1179
            aload 0 /* this */
            aconst_null
            putfield java.security.Signature$Delegate.firstService:Ljava/security/Provider$Service;
        18: .line 1180
            goto 20
        end local 3 // java.security.Provider$Service s
        19: .line 1181
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.Signature$Delegate.serviceIterator:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.Provider$Service
            astore 3 /* s */
        start local 3 // java.security.Provider$Service s
        20: .line 1183
      StackMap locals: java.security.Provider$Service
      StackMap stack:
            aload 3 /* s */
            invokestatic java.security.Signature.isSpi:(Ljava/security/Provider$Service;)Z
            ifne 22
        21: .line 1184
            goto 30
        22: .line 1187
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* s */
            invokestatic java.security.Signature$Delegate.newInstance:(Ljava/security/Provider$Service;)Ljava/security/SignatureSpi;
            putfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
        23: .line 1188
            aload 0 /* this */
            aload 3 /* s */
            invokevirtual java.security.Provider$Service.getProvider:()Ljava/security/Provider;
            putfield java.security.Signature$Delegate.provider:Ljava/security/Provider;
        24: .line 1190
            aload 0 /* this */
            aconst_null
            putfield java.security.Signature$Delegate.firstService:Ljava/security/Provider$Service;
        25: .line 1191
            aload 0 /* this */
            aconst_null
            putfield java.security.Signature$Delegate.serviceIterator:Ljava/util/Iterator;
        26: .line 1192
            aload 1
            monitorexit
        27: return
        28: .line 1193
      StackMap locals:
      StackMap stack: java.security.NoSuchAlgorithmException
            astore 4 /* e */
        start local 4 // java.security.NoSuchAlgorithmException e
        29: .line 1194
            aload 4 /* e */
            astore 2 /* lastException */
        end local 4 // java.security.NoSuchAlgorithmException e
        end local 3 // java.security.Provider$Service s
        30: .line 1175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.Signature$Delegate.firstService:Ljava/security/Provider$Service;
            ifnonnull 15
            aload 0 /* this */
            getfield java.security.Signature$Delegate.serviceIterator:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 15
        31: .line 1197
            new java.security.ProviderException
            dup
        32: .line 1198
            ldc "Could not construct SignatureSpi instance"
        33: .line 1197
            invokespecial java.security.ProviderException.<init>:(Ljava/lang/String;)V
            astore 3 /* e */
        start local 3 // java.security.ProviderException e
        34: .line 1199
            aload 2 /* lastException */
            ifnull 36
        35: .line 1200
            aload 3 /* e */
            aload 2 /* lastException */
            invokevirtual java.security.ProviderException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        36: .line 1202
      StackMap locals: java.security.ProviderException
      StackMap stack:
            aload 3 /* e */
            athrow
        end local 3 // java.security.ProviderException e
        end local 2 // java.lang.Exception lastException
        37: .line 1158
      StackMap locals: java.security.Signature$Delegate java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 1
            monitorexit
        38: athrow
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   39     0           this  Ljava/security/Signature$Delegate;
            8   13     2              w  I
           14   37     2  lastException  Ljava/lang/Exception;
           17   19     3              s  Ljava/security/Provider$Service;
           20   30     3              s  Ljava/security/Provider$Service;
           29   30     4              e  Ljava/security/NoSuchAlgorithmException;
           34   37     3              e  Ljava/security/ProviderException;
      Exception table:
        from    to  target  type
          22    26      28  Class java.security.NoSuchAlgorithmException
           3     5      37  any
           6    27      37  any
          28    38      37  any

  private void chooseProvider(int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom);
    descriptor: (ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=9, args_size=5
        start local 0 // java.security.Signature$Delegate this
        start local 1 // int type
        start local 2 // java.security.Key key
        start local 3 // java.security.spec.AlgorithmParameterSpec params
        start local 4 // java.security.SecureRandom random
         0: .line 1211
            aload 0 /* this */
            getfield java.security.Signature$Delegate.lock:Ljava/lang/Object;
            dup
            astore 5
            monitorenter
         1: .line 1212
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            ifnull 4
         2: .line 1213
            aload 5
            monitorexit
         3: return
         4: .line 1215
      StackMap locals: java.lang.Object
      StackMap stack:
            aconst_null
            astore 6 /* lastException */
        start local 6 // java.lang.Exception lastException
         5: .line 1216
            goto 26
         6: .line 1218
      StackMap locals: java.lang.Exception
      StackMap stack:
            aload 0 /* this */
            getfield java.security.Signature$Delegate.firstService:Ljava/security/Provider$Service;
            ifnull 10
         7: .line 1219
            aload 0 /* this */
            getfield java.security.Signature$Delegate.firstService:Ljava/security/Provider$Service;
            astore 7 /* s */
        start local 7 // java.security.Provider$Service s
         8: .line 1220
            aload 0 /* this */
            aconst_null
            putfield java.security.Signature$Delegate.firstService:Ljava/security/Provider$Service;
         9: .line 1221
            goto 11
        end local 7 // java.security.Provider$Service s
        10: .line 1222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.Signature$Delegate.serviceIterator:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.security.Provider$Service
            astore 7 /* s */
        start local 7 // java.security.Provider$Service s
        11: .line 1225
      StackMap locals: java.security.Provider$Service
      StackMap stack:
            aload 2 /* key */
            ifnull 13
            aload 7 /* s */
            aload 2 /* key */
            invokevirtual java.security.Provider$Service.supportsParameter:(Ljava/lang/Object;)Z
            ifne 13
        12: .line 1226
            goto 26
        13: .line 1229
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            invokestatic java.security.Signature.isSpi:(Ljava/security/Provider$Service;)Z
            ifne 15
        14: .line 1230
            goto 26
        15: .line 1233
      StackMap locals:
      StackMap stack:
            aload 7 /* s */
            invokestatic java.security.Signature$Delegate.newInstance:(Ljava/security/Provider$Service;)Ljava/security/SignatureSpi;
            astore 8 /* spi */
        start local 8 // java.security.SignatureSpi spi
        16: .line 1234
            aload 0 /* this */
            aload 8 /* spi */
            iload 1 /* type */
            aload 2 /* key */
            aload 3 /* params */
            aload 4 /* random */
            invokevirtual java.security.Signature$Delegate.tryOperation:(Ljava/security/SignatureSpi;ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
        17: .line 1235
            aload 0 /* this */
            aload 7 /* s */
            invokevirtual java.security.Provider$Service.getProvider:()Ljava/security/Provider;
            putfield java.security.Signature$Delegate.provider:Ljava/security/Provider;
        18: .line 1236
            aload 0 /* this */
            aload 8 /* spi */
            putfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
        19: .line 1237
            aload 0 /* this */
            aconst_null
            putfield java.security.Signature$Delegate.firstService:Ljava/security/Provider$Service;
        20: .line 1238
            aload 0 /* this */
            aconst_null
            putfield java.security.Signature$Delegate.serviceIterator:Ljava/util/Iterator;
        21: .line 1239
            aload 5
            monitorexit
        22: return
        end local 8 // java.security.SignatureSpi spi
        23: .line 1240
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
        24: .line 1244
            aload 6 /* lastException */
            ifnonnull 26
        25: .line 1245
            aload 8 /* e */
            astore 6 /* lastException */
        end local 8 // java.lang.Exception e
        end local 7 // java.security.Provider$Service s
        26: .line 1216
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield java.security.Signature$Delegate.firstService:Ljava/security/Provider$Service;
            ifnonnull 6
            aload 0 /* this */
            getfield java.security.Signature$Delegate.serviceIterator:Ljava/util/Iterator;
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        27: .line 1250
            aload 6 /* lastException */
            instanceof java.security.InvalidKeyException
            ifeq 29
        28: .line 1251
            aload 6 /* lastException */
            checkcast java.security.InvalidKeyException
            athrow
        29: .line 1253
      StackMap locals:
      StackMap stack:
            aload 6 /* lastException */
            instanceof java.lang.RuntimeException
            ifeq 31
        30: .line 1254
            aload 6 /* lastException */
            checkcast java.lang.RuntimeException
            athrow
        31: .line 1256
      StackMap locals:
      StackMap stack:
            aload 6 /* lastException */
            instanceof java.security.InvalidAlgorithmParameterException
            ifeq 33
        32: .line 1257
            aload 6 /* lastException */
            checkcast java.security.InvalidAlgorithmParameterException
            athrow
        33: .line 1260
      StackMap locals:
      StackMap stack:
            aload 2 /* key */
            ifnull 34
            aload 2 /* key */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            goto 35
      StackMap locals:
      StackMap stack:
        34: ldc "(null)"
      StackMap locals:
      StackMap stack: java.lang.String
        35: astore 7 /* k */
        start local 7 // java.lang.String k
        36: .line 1261
            new java.security.InvalidKeyException
            dup
        37: .line 1262
            new java.lang.StringBuilder
            dup
            ldc "No installed provider supports this key: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        38: .line 1263
            aload 7 /* k */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        39: .line 1262
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        40: .line 1263
            aload 6 /* lastException */
        41: .line 1261
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 7 // java.lang.String k
        end local 6 // java.lang.Exception lastException
        42: .line 1211
      StackMap locals: java.security.Signature$Delegate int java.security.Key java.security.spec.AlgorithmParameterSpec java.security.SecureRandom java.lang.Object
      StackMap stack: java.lang.Throwable
            aload 5
            monitorexit
        43: athrow
        end local 4 // java.security.SecureRandom random
        end local 3 // java.security.spec.AlgorithmParameterSpec params
        end local 2 // java.security.Key key
        end local 1 // int type
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   44     0           this  Ljava/security/Signature$Delegate;
            0   44     1           type  I
            0   44     2            key  Ljava/security/Key;
            0   44     3         params  Ljava/security/spec/AlgorithmParameterSpec;
            0   44     4         random  Ljava/security/SecureRandom;
            5   42     6  lastException  Ljava/lang/Exception;
            8   10     7              s  Ljava/security/Provider$Service;
           11   26     7              s  Ljava/security/Provider$Service;
           16   23     8            spi  Ljava/security/SignatureSpi;
           24   26     8              e  Ljava/lang/Exception;
           36   42     7              k  Ljava/lang/String;
      Exception table:
        from    to  target  type
          15    21      23  Class java.lang.Exception
           1     3      42  any
           4    22      42  any
          23    43      42  any
    Exceptions:
      throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
    MethodParameters:
        Name  Flags
      type    
      key     
      params  
      random  

  private void tryOperation(java.security.SignatureSpi, int, java.security.Key, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom);
    descriptor: (Ljava/security/SignatureSpi;ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=6
        start local 0 // java.security.Signature$Delegate this
        start local 1 // java.security.SignatureSpi spi
        start local 2 // int type
        start local 3 // java.security.Key key
        start local 4 // java.security.spec.AlgorithmParameterSpec params
        start local 5 // java.security.SecureRandom random
         0: .line 1278
            iload 2 /* type */
            tableswitch { // 1 - 6
                    1: 1
                    2: 5
                    3: 7
                    4: 3
                    5: 9
                    6: 11
              default: 13
          }
         1: .line 1280
      StackMap locals:
      StackMap stack:
            aload 1 /* spi */
            aload 3 /* key */
            checkcast java.security.PublicKey
            invokevirtual java.security.SignatureSpi.engineInitVerify:(Ljava/security/PublicKey;)V
         2: .line 1281
            goto 14
         3: .line 1283
      StackMap locals:
      StackMap stack:
            aload 1 /* spi */
            aload 3 /* key */
            checkcast java.security.PublicKey
            aload 4 /* params */
            invokevirtual java.security.SignatureSpi.engineInitVerify:(Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
         4: .line 1284
            goto 14
         5: .line 1286
      StackMap locals:
      StackMap stack:
            aload 1 /* spi */
            aload 3 /* key */
            checkcast java.security.PrivateKey
            invokevirtual java.security.SignatureSpi.engineInitSign:(Ljava/security/PrivateKey;)V
         6: .line 1287
            goto 14
         7: .line 1289
      StackMap locals:
      StackMap stack:
            aload 1 /* spi */
            aload 3 /* key */
            checkcast java.security.PrivateKey
            aload 5 /* random */
            invokevirtual java.security.SignatureSpi.engineInitSign:(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
         8: .line 1290
            goto 14
         9: .line 1292
      StackMap locals:
      StackMap stack:
            aload 1 /* spi */
            aload 3 /* key */
            checkcast java.security.PrivateKey
            aload 4 /* params */
            aload 5 /* random */
            invokevirtual java.security.SignatureSpi.engineInitSign:(Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
        10: .line 1293
            goto 14
        11: .line 1295
      StackMap locals:
      StackMap stack:
            aload 1 /* spi */
            aload 4 /* params */
            invokevirtual java.security.SignatureSpi.engineSetParameter:(Ljava/security/spec/AlgorithmParameterSpec;)V
        12: .line 1296
            goto 14
        13: .line 1298
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Internal error: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* type */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        14: .line 1300
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.security.SecureRandom random
        end local 4 // java.security.spec.AlgorithmParameterSpec params
        end local 3 // java.security.Key key
        end local 2 // int type
        end local 1 // java.security.SignatureSpi spi
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   15     0    this  Ljava/security/Signature$Delegate;
            0   15     1     spi  Ljava/security/SignatureSpi;
            0   15     2    type  I
            0   15     3     key  Ljava/security/Key;
            0   15     4  params  Ljava/security/spec/AlgorithmParameterSpec;
            0   15     5  random  Ljava/security/SecureRandom;
    Exceptions:
      throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
    MethodParameters:
        Name  Flags
      spi     
      type    
      key     
      params  
      random  

  protected void engineInitVerify(java.security.PublicKey);
    descriptor: (Ljava/security/PublicKey;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.security.Signature$Delegate this
        start local 1 // java.security.PublicKey publicKey
         0: .line 1304
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            ifnull 3
         1: .line 1305
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            aload 1 /* publicKey */
            invokevirtual java.security.SignatureSpi.engineInitVerify:(Ljava/security/PublicKey;)V
         2: .line 1306
            goto 7
         3: .line 1308
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            aload 1 /* publicKey */
            aconst_null
            aconst_null
            invokevirtual java.security.Signature$Delegate.chooseProvider:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
         4: .line 1309
            goto 7
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
         5: astore 2 /* iape */
        start local 2 // java.security.InvalidAlgorithmParameterException iape
         6: .line 1311
            new java.security.InvalidKeyException
            dup
            aload 2 /* iape */
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.InvalidAlgorithmParameterException iape
         7: .line 1314
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.PublicKey publicKey
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljava/security/Signature$Delegate;
            0    8     1  publicKey  Ljava/security/PublicKey;
            6    7     2       iape  Ljava/security/InvalidAlgorithmParameterException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.security.InvalidAlgorithmParameterException
    Exceptions:
      throws java.security.InvalidKeyException
    MethodParameters:
           Name  Flags
      publicKey  

  void engineInitVerify(java.security.PublicKey, java.security.spec.AlgorithmParameterSpec);
    descriptor: (Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // java.security.Signature$Delegate this
        start local 1 // java.security.PublicKey publicKey
        start local 2 // java.security.spec.AlgorithmParameterSpec params
         0: .line 1319
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            ifnull 3
         1: .line 1320
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            aload 1 /* publicKey */
            aload 2 /* params */
            invokevirtual java.security.SignatureSpi.engineInitVerify:(Ljava/security/PublicKey;Ljava/security/spec/AlgorithmParameterSpec;)V
         2: .line 1321
            goto 4
         3: .line 1322
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_4
            aload 1 /* publicKey */
            aload 2 /* params */
            aconst_null
            invokevirtual java.security.Signature$Delegate.chooseProvider:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
         4: .line 1324
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.security.spec.AlgorithmParameterSpec params
        end local 1 // java.security.PublicKey publicKey
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    5     0       this  Ljava/security/Signature$Delegate;
            0    5     1  publicKey  Ljava/security/PublicKey;
            0    5     2     params  Ljava/security/spec/AlgorithmParameterSpec;
    Exceptions:
      throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
    MethodParameters:
           Name  Flags
      publicKey  
      params     

  protected void engineInitSign(java.security.PrivateKey);
    descriptor: (Ljava/security/PrivateKey;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.security.Signature$Delegate this
        start local 1 // java.security.PrivateKey privateKey
         0: .line 1328
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            ifnull 3
         1: .line 1329
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            aload 1 /* privateKey */
            invokevirtual java.security.SignatureSpi.engineInitSign:(Ljava/security/PrivateKey;)V
         2: .line 1330
            goto 7
         3: .line 1332
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_2
            aload 1 /* privateKey */
            aconst_null
            aconst_null
            invokevirtual java.security.Signature$Delegate.chooseProvider:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
         4: .line 1333
            goto 7
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
         5: astore 2 /* iape */
        start local 2 // java.security.InvalidAlgorithmParameterException iape
         6: .line 1335
            new java.security.InvalidKeyException
            dup
            aload 2 /* iape */
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.InvalidAlgorithmParameterException iape
         7: .line 1338
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.PrivateKey privateKey
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Ljava/security/Signature$Delegate;
            0    8     1  privateKey  Ljava/security/PrivateKey;
            6    7     2        iape  Ljava/security/InvalidAlgorithmParameterException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.security.InvalidAlgorithmParameterException
    Exceptions:
      throws java.security.InvalidKeyException
    MethodParameters:
            Name  Flags
      privateKey  

  protected void engineInitSign(java.security.PrivateKey, java.security.SecureRandom);
    descriptor: (Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // java.security.Signature$Delegate this
        start local 1 // java.security.PrivateKey privateKey
        start local 2 // java.security.SecureRandom sr
         0: .line 1342
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            ifnull 3
         1: .line 1343
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            aload 1 /* privateKey */
            aload 2 /* sr */
            invokevirtual java.security.SignatureSpi.engineInitSign:(Ljava/security/PrivateKey;Ljava/security/SecureRandom;)V
         2: .line 1344
            goto 7
         3: .line 1346
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_3
            aload 1 /* privateKey */
            aconst_null
            aload 2 /* sr */
            invokevirtual java.security.Signature$Delegate.chooseProvider:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
         4: .line 1347
            goto 7
      StackMap locals:
      StackMap stack: java.security.InvalidAlgorithmParameterException
         5: astore 3 /* iape */
        start local 3 // java.security.InvalidAlgorithmParameterException iape
         6: .line 1349
            new java.security.InvalidKeyException
            dup
            aload 3 /* iape */
            invokespecial java.security.InvalidKeyException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.security.InvalidAlgorithmParameterException iape
         7: .line 1352
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.security.SecureRandom sr
        end local 1 // java.security.PrivateKey privateKey
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Ljava/security/Signature$Delegate;
            0    8     1  privateKey  Ljava/security/PrivateKey;
            0    8     2          sr  Ljava/security/SecureRandom;
            6    7     3        iape  Ljava/security/InvalidAlgorithmParameterException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.security.InvalidAlgorithmParameterException
    Exceptions:
      throws java.security.InvalidKeyException
    MethodParameters:
            Name  Flags
      privateKey  
      sr          

  void engineInitSign(java.security.PrivateKey, java.security.spec.AlgorithmParameterSpec, java.security.SecureRandom);
    descriptor: (Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // java.security.Signature$Delegate this
        start local 1 // java.security.PrivateKey privateKey
        start local 2 // java.security.spec.AlgorithmParameterSpec params
        start local 3 // java.security.SecureRandom sr
         0: .line 1357
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            ifnull 3
         1: .line 1358
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            aload 1 /* privateKey */
            aload 2 /* params */
            aload 3 /* sr */
            invokevirtual java.security.SignatureSpi.engineInitSign:(Ljava/security/PrivateKey;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
         2: .line 1359
            goto 4
         3: .line 1360
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_5
            aload 1 /* privateKey */
            aload 2 /* params */
            aload 3 /* sr */
            invokevirtual java.security.Signature$Delegate.chooseProvider:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
         4: .line 1362
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.security.SecureRandom sr
        end local 2 // java.security.spec.AlgorithmParameterSpec params
        end local 1 // java.security.PrivateKey privateKey
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Ljava/security/Signature$Delegate;
            0    5     1  privateKey  Ljava/security/PrivateKey;
            0    5     2      params  Ljava/security/spec/AlgorithmParameterSpec;
            0    5     3          sr  Ljava/security/SecureRandom;
    Exceptions:
      throws java.security.InvalidKeyException, java.security.InvalidAlgorithmParameterException
    MethodParameters:
            Name  Flags
      privateKey  
      params      
      sr          

  protected void engineUpdate(byte);
    descriptor: (B)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.Signature$Delegate this
        start local 1 // byte b
         0: .line 1365
            aload 0 /* this */
            invokevirtual java.security.Signature$Delegate.chooseFirstProvider:()V
         1: .line 1366
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            iload 1 /* b */
            invokevirtual java.security.SignatureSpi.engineUpdate:(B)V
         2: .line 1367
            return
        end local 1 // byte b
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/Signature$Delegate;
            0    3     1     b  B
    Exceptions:
      throws java.security.SignatureException
    MethodParameters:
      Name  Flags
      b     

  protected void engineUpdate(byte[], int, int);
    descriptor: ([BII)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.security.Signature$Delegate this
        start local 1 // byte[] b
        start local 2 // int off
        start local 3 // int len
         0: .line 1371
            aload 0 /* this */
            invokevirtual java.security.Signature$Delegate.chooseFirstProvider:()V
         1: .line 1372
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            aload 1 /* b */
            iload 2 /* off */
            iload 3 /* len */
            invokevirtual java.security.SignatureSpi.engineUpdate:([BII)V
         2: .line 1373
            return
        end local 3 // int len
        end local 2 // int off
        end local 1 // byte[] b
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/Signature$Delegate;
            0    3     1     b  [B
            0    3     2   off  I
            0    3     3   len  I
    Exceptions:
      throws java.security.SignatureException
    MethodParameters:
      Name  Flags
      b     
      off   
      len   

  protected void engineUpdate(java.nio.ByteBuffer);
    descriptor: (Ljava/nio/ByteBuffer;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.Signature$Delegate this
        start local 1 // java.nio.ByteBuffer data
         0: .line 1376
            aload 0 /* this */
            invokevirtual java.security.Signature$Delegate.chooseFirstProvider:()V
         1: .line 1377
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            aload 1 /* data */
            invokevirtual java.security.SignatureSpi.engineUpdate:(Ljava/nio/ByteBuffer;)V
         2: .line 1378
            return
        end local 1 // java.nio.ByteBuffer data
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljava/security/Signature$Delegate;
            0    3     1  data  Ljava/nio/ByteBuffer;
    MethodParameters:
      Name  Flags
      data  

  protected byte[] engineSign();
    descriptor: ()[B
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.Signature$Delegate this
         0: .line 1381
            aload 0 /* this */
            invokevirtual java.security.Signature$Delegate.chooseFirstProvider:()V
         1: .line 1382
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            invokevirtual java.security.SignatureSpi.engineSign:()[B
            areturn
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/security/Signature$Delegate;
    Exceptions:
      throws java.security.SignatureException

  protected int engineSign(byte[], int, int);
    descriptor: ([BII)I
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.security.Signature$Delegate this
        start local 1 // byte[] outbuf
        start local 2 // int offset
        start local 3 // int len
         0: .line 1387
            aload 0 /* this */
            invokevirtual java.security.Signature$Delegate.chooseFirstProvider:()V
         1: .line 1388
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            aload 1 /* outbuf */
            iload 2 /* offset */
            iload 3 /* len */
            invokevirtual java.security.SignatureSpi.engineSign:([BII)I
            ireturn
        end local 3 // int len
        end local 2 // int offset
        end local 1 // byte[] outbuf
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljava/security/Signature$Delegate;
            0    2     1  outbuf  [B
            0    2     2  offset  I
            0    2     3     len  I
    Exceptions:
      throws java.security.SignatureException
    MethodParameters:
        Name  Flags
      outbuf  
      offset  
      len     

  protected boolean engineVerify(byte[]);
    descriptor: ([B)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.Signature$Delegate this
        start local 1 // byte[] sigBytes
         0: .line 1393
            aload 0 /* this */
            invokevirtual java.security.Signature$Delegate.chooseFirstProvider:()V
         1: .line 1394
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            aload 1 /* sigBytes */
            invokevirtual java.security.SignatureSpi.engineVerify:([B)Z
            ireturn
        end local 1 // byte[] sigBytes
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljava/security/Signature$Delegate;
            0    2     1  sigBytes  [B
    Exceptions:
      throws java.security.SignatureException
    MethodParameters:
          Name  Flags
      sigBytes  

  protected boolean engineVerify(byte[], int, int);
    descriptor: ([BII)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // java.security.Signature$Delegate this
        start local 1 // byte[] sigBytes
        start local 2 // int offset
        start local 3 // int length
         0: .line 1399
            aload 0 /* this */
            invokevirtual java.security.Signature$Delegate.chooseFirstProvider:()V
         1: .line 1400
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            aload 1 /* sigBytes */
            iload 2 /* offset */
            iload 3 /* length */
            invokevirtual java.security.SignatureSpi.engineVerify:([BII)Z
            ireturn
        end local 3 // int length
        end local 2 // int offset
        end local 1 // byte[] sigBytes
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Ljava/security/Signature$Delegate;
            0    2     1  sigBytes  [B
            0    2     2    offset  I
            0    2     3    length  I
    Exceptions:
      throws java.security.SignatureException
    MethodParameters:
          Name  Flags
      sigBytes  
      offset    
      length    

  protected void engineSetParameter(java.lang.String, java.lang.Object);
    descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // java.security.Signature$Delegate this
        start local 1 // java.lang.String param
        start local 2 // java.lang.Object value
         0: .line 1405
            aload 0 /* this */
            invokevirtual java.security.Signature$Delegate.chooseFirstProvider:()V
         1: .line 1406
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            aload 1 /* param */
            aload 2 /* value */
            invokevirtual java.security.SignatureSpi.engineSetParameter:(Ljava/lang/String;Ljava/lang/Object;)V
         2: .line 1407
            return
        end local 2 // java.lang.Object value
        end local 1 // java.lang.String param
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljava/security/Signature$Delegate;
            0    3     1  param  Ljava/lang/String;
            0    3     2  value  Ljava/lang/Object;
    Exceptions:
      throws java.security.InvalidParameterException
    MethodParameters:
       Name  Flags
      param  
      value  

  protected void engineSetParameter(java.security.spec.AlgorithmParameterSpec);
    descriptor: (Ljava/security/spec/AlgorithmParameterSpec;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // java.security.Signature$Delegate this
        start local 1 // java.security.spec.AlgorithmParameterSpec params
         0: .line 1411
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            ifnull 3
         1: .line 1412
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            aload 1 /* params */
            invokevirtual java.security.SignatureSpi.engineSetParameter:(Ljava/security/spec/AlgorithmParameterSpec;)V
         2: .line 1413
            goto 7
         3: .line 1415
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            bipush 6
            aconst_null
            aload 1 /* params */
            aconst_null
            invokevirtual java.security.Signature$Delegate.chooseProvider:(ILjava/security/Key;Ljava/security/spec/AlgorithmParameterSpec;Ljava/security/SecureRandom;)V
         4: .line 1416
            goto 7
      StackMap locals:
      StackMap stack: java.security.InvalidKeyException
         5: astore 2 /* ike */
        start local 2 // java.security.InvalidKeyException ike
         6: .line 1418
            new java.security.InvalidAlgorithmParameterException
            dup
            aload 2 /* ike */
            invokespecial java.security.InvalidAlgorithmParameterException.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 2 // java.security.InvalidKeyException ike
         7: .line 1421
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.security.spec.AlgorithmParameterSpec params
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Ljava/security/Signature$Delegate;
            0    8     1  params  Ljava/security/spec/AlgorithmParameterSpec;
            6    7     2     ike  Ljava/security/InvalidKeyException;
      Exception table:
        from    to  target  type
           3     4       5  Class java.security.InvalidKeyException
    Exceptions:
      throws java.security.InvalidAlgorithmParameterException
    MethodParameters:
        Name  Flags
      params  

  protected java.lang.Object engineGetParameter(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/Object;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.security.Signature$Delegate this
        start local 1 // java.lang.String param
         0: .line 1425
            aload 0 /* this */
            invokevirtual java.security.Signature$Delegate.chooseFirstProvider:()V
         1: .line 1426
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            aload 1 /* param */
            invokevirtual java.security.SignatureSpi.engineGetParameter:(Ljava/lang/String;)Ljava/lang/Object;
            areturn
        end local 1 // java.lang.String param
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljava/security/Signature$Delegate;
            0    2     1  param  Ljava/lang/String;
    Exceptions:
      throws java.security.InvalidParameterException
    MethodParameters:
       Name  Flags
      param  

  protected java.security.AlgorithmParameters engineGetParameters();
    descriptor: ()Ljava/security/AlgorithmParameters;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.security.Signature$Delegate this
         0: .line 1430
            aload 0 /* this */
            invokevirtual java.security.Signature$Delegate.chooseFirstProvider:()V
         1: .line 1431
            aload 0 /* this */
            getfield java.security.Signature$Delegate.sigSpi:Ljava/security/SignatureSpi;
            invokevirtual java.security.SignatureSpi.engineGetParameters:()Ljava/security/AlgorithmParameters;
            areturn
        end local 0 // java.security.Signature$Delegate this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljava/security/Signature$Delegate;
}
SourceFile: "Signature.java"
NestHost: java.security.Signature
InnerClasses:
  public Service = java.security.Provider$Service of java.security.Provider
  private CipherAdapter = java.security.Signature$CipherAdapter of java.security.Signature
  private Delegate = java.security.Signature$Delegate of java.security.Signature