public class com.jcraft.jsch.KeyPairECDSA extends com.jcraft.jsch.KeyPair
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.jcraft.jsch.KeyPairECDSA
  super_class: com.jcraft.jsch.KeyPair
{
  private static byte[][] oids;
    descriptor: [[B
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  private static java.lang.String[] names;
    descriptor: [Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

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

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

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

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

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

  private static final byte[] begin;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final byte[] end;
    descriptor: [B
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 34
            iconst_3
            anewarray byte[]
            dup
            iconst_0
         1: .line 35
            bipush 10
            newarray 8
            dup
            iconst_0
            bipush 6
            bastore
            dup
            iconst_1
            bipush 8
            bastore
            dup
            iconst_2
            bipush 42
            bastore
            dup
            iconst_3
            bipush -122
            bastore
            dup
            iconst_4
            bipush 72
            bastore
            dup
            iconst_5
         2: .line 36
            bipush -50
            bastore
            dup
            bipush 6
            bipush 61
            bastore
            dup
            bipush 7
            iconst_3
            bastore
            dup
            bipush 8
            iconst_1
            bastore
            dup
            bipush 9
            bipush 7
            bastore
            aastore
            dup
            iconst_1
         3: .line 37
            bipush 7
            newarray 8
            dup
            iconst_0
            bipush 6
            bastore
            dup
            iconst_1
            iconst_5
            bastore
            dup
            iconst_2
            bipush 43
            bastore
            dup
            iconst_3
            bipush -127
            bastore
            dup
            iconst_4
            iconst_4
            bastore
            dup
            bipush 6
         4: .line 38
            bipush 34
            bastore
            aastore
            dup
            iconst_2
         5: .line 39
            bipush 7
            newarray 8
            dup
            iconst_0
            bipush 6
            bastore
            dup
            iconst_1
            iconst_5
            bastore
            dup
            iconst_2
            bipush 43
            bastore
            dup
            iconst_3
            bipush -127
            bastore
            dup
            iconst_4
            iconst_4
            bastore
            dup
            bipush 6
         6: .line 40
            bipush 35
            bastore
            aastore
         7: .line 34
            putstatic com.jcraft.jsch.KeyPairECDSA.oids:[[B
         8: .line 43
            iconst_3
            anewarray java.lang.String
            dup
            iconst_0
         9: .line 44
            ldc "nistp256"
            aastore
            dup
            iconst_1
            ldc "nistp384"
            aastore
            dup
            iconst_2
            ldc "nistp521"
            aastore
        10: .line 43
            putstatic com.jcraft.jsch.KeyPairECDSA.names:[Ljava/lang/String;
        11: .line 112
            ldc "-----BEGIN EC PRIVATE KEY-----"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
        12: .line 111
            putstatic com.jcraft.jsch.KeyPairECDSA.begin:[B
        13: .line 114
            ldc "-----END EC PRIVATE KEY-----"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
        14: .line 113
            putstatic com.jcraft.jsch.KeyPairECDSA.end:[B
        15: .line 114
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.jcraft.jsch.JSch);
    descriptor: (Lcom/jcraft/jsch/JSch;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
        start local 1 // com.jcraft.jsch.JSch jsch
         0: .line 55
            aload 0 /* this */
            aload 1 /* jsch */
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            invokespecial com.jcraft.jsch.KeyPairECDSA.<init>:(Lcom/jcraft/jsch/JSch;[B[B[B[B)V
         1: .line 56
            return
        end local 1 // com.jcraft.jsch.JSch jsch
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/KeyPairECDSA;
            0    2     1  jsch  Lcom/jcraft/jsch/JSch;
    MethodParameters:
      Name  Flags
      jsch  

  public void <init>(com.jcraft.jsch.JSch, byte[]);
    descriptor: (Lcom/jcraft/jsch/JSch;[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
        start local 1 // com.jcraft.jsch.JSch jsch
        start local 2 // byte[] pubkey
         0: .line 59
            aload 0 /* this */
            aload 1 /* jsch */
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            invokespecial com.jcraft.jsch.KeyPairECDSA.<init>:(Lcom/jcraft/jsch/JSch;[B[B[B[B)V
         1: .line 61
            aload 2 /* pubkey */
            ifnull 10
         2: .line 62
            bipush 8
            newarray 8
            astore 3 /* name */
        start local 3 // byte[] name
         3: .line 63
            aload 2 /* pubkey */
            bipush 11
            aload 3 /* name */
            iconst_0
            bipush 8
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 64
            aload 3 /* name */
            ldc "nistp384"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokestatic com.jcraft.jsch.Util.array_equals:([B[B)Z
            ifeq 7
         5: .line 65
            aload 0 /* this */
            sipush 384
            putfield com.jcraft.jsch.KeyPairECDSA.key_size:I
         6: .line 66
            aload 0 /* this */
            aload 3 /* name */
            putfield com.jcraft.jsch.KeyPairECDSA.name:[B
         7: .line 68
      StackMap locals: com.jcraft.jsch.KeyPairECDSA com.jcraft.jsch.JSch byte[] byte[]
      StackMap stack:
            aload 3 /* name */
            ldc "nistp521"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokestatic com.jcraft.jsch.Util.array_equals:([B[B)Z
            ifeq 10
         8: .line 69
            aload 0 /* this */
            sipush 521
            putfield com.jcraft.jsch.KeyPairECDSA.key_size:I
         9: .line 70
            aload 0 /* this */
            aload 3 /* name */
            putfield com.jcraft.jsch.KeyPairECDSA.name:[B
        end local 3 // byte[] name
        10: .line 73
      StackMap locals:
      StackMap stack:
            return
        end local 2 // byte[] pubkey
        end local 1 // com.jcraft.jsch.JSch jsch
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/jcraft/jsch/KeyPairECDSA;
            0   11     1    jsch  Lcom/jcraft/jsch/JSch;
            0   11     2  pubkey  [B
            3   10     3    name  [B
    MethodParameters:
        Name  Flags
      jsch    
      pubkey  

  public void <init>(com.jcraft.jsch.JSch, byte[], byte[], byte[], byte[]);
    descriptor: (Lcom/jcraft/jsch/JSch;[B[B[B[B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=6, args_size=6
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
        start local 1 // com.jcraft.jsch.JSch jsch
        start local 2 // byte[] name
        start local 3 // byte[] r_array
        start local 4 // byte[] s_array
        start local 5 // byte[] prv_array
         0: .line 80
            aload 0 /* this */
            aload 1 /* jsch */
            invokespecial com.jcraft.jsch.KeyPair.<init>:(Lcom/jcraft/jsch/JSch;)V
         1: .line 47
            aload 0 /* this */
            getstatic com.jcraft.jsch.KeyPairECDSA.names:[Ljava/lang/String;
            iconst_0
            aaload
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            putfield com.jcraft.jsch.KeyPairECDSA.name:[B
         2: .line 52
            aload 0 /* this */
            sipush 256
            putfield com.jcraft.jsch.KeyPairECDSA.key_size:I
         3: .line 81
            aload 2 /* name */
            ifnull 5
         4: .line 82
            aload 0 /* this */
            aload 2 /* name */
            putfield com.jcraft.jsch.KeyPairECDSA.name:[B
         5: .line 83
      StackMap locals: com.jcraft.jsch.KeyPairECDSA com.jcraft.jsch.JSch byte[] byte[] byte[] byte[]
      StackMap stack:
            aload 0 /* this */
            aload 3 /* r_array */
            putfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
         6: .line 84
            aload 0 /* this */
            aload 4 /* s_array */
            putfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
         7: .line 85
            aload 0 /* this */
            aload 5 /* prv_array */
            putfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
         8: .line 86
            aload 5 /* prv_array */
            ifnull 13
         9: .line 87
            aload 0 /* this */
            aload 5 /* prv_array */
            arraylength
            bipush 64
            if_icmplt 10
            sipush 521
            goto 12
        10: .line 88
      StackMap locals:
      StackMap stack: com.jcraft.jsch.KeyPairECDSA
            aload 5 /* prv_array */
            arraylength
            bipush 48
            if_icmplt 11
            sipush 384
            goto 12
      StackMap locals:
      StackMap stack: com.jcraft.jsch.KeyPairECDSA
        11: sipush 256
        12: .line 87
      StackMap locals: com.jcraft.jsch.KeyPairECDSA com.jcraft.jsch.JSch byte[] byte[] byte[] byte[]
      StackMap stack: com.jcraft.jsch.KeyPairECDSA int
            putfield com.jcraft.jsch.KeyPairECDSA.key_size:I
        13: .line 89
      StackMap locals:
      StackMap stack:
            return
        end local 5 // byte[] prv_array
        end local 4 // byte[] s_array
        end local 3 // byte[] r_array
        end local 2 // byte[] name
        end local 1 // com.jcraft.jsch.JSch jsch
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       this  Lcom/jcraft/jsch/KeyPairECDSA;
            0   14     1       jsch  Lcom/jcraft/jsch/JSch;
            0   14     2       name  [B
            0   14     3    r_array  [B
            0   14     4    s_array  [B
            0   14     5  prv_array  [B
    MethodParameters:
           Name  Flags
      jsch       
      name       
      r_array    
      s_array    
      prv_array  

  void generate(int);
    descriptor: (I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
        start local 1 // int key_size
         0: .line 92
            aload 0 /* this */
            iload 1 /* key_size */
            putfield com.jcraft.jsch.KeyPairECDSA.key_size:I
         1: .line 94
            ldc "keypairgen.ecdsa"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* c */
        start local 2 // java.lang.Class c
         2: .line 95
            aload 2 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.KeyPairGenECDSA
            astore 3 /* keypairgen */
        start local 3 // com.jcraft.jsch.KeyPairGenECDSA keypairgen
         3: .line 96
            aload 3 /* keypairgen */
            iload 1 /* key_size */
            invokeinterface com.jcraft.jsch.KeyPairGenECDSA.init:(I)V
         4: .line 97
            aload 0 /* this */
            aload 3 /* keypairgen */
            invokeinterface com.jcraft.jsch.KeyPairGenECDSA.getD:()[B
            putfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
         5: .line 98
            aload 0 /* this */
            aload 3 /* keypairgen */
            invokeinterface com.jcraft.jsch.KeyPairGenECDSA.getR:()[B
            putfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
         6: .line 99
            aload 0 /* this */
            aload 3 /* keypairgen */
            invokeinterface com.jcraft.jsch.KeyPairGenECDSA.getS:()[B
            putfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
         7: .line 100
            aload 0 /* this */
            getstatic com.jcraft.jsch.KeyPairECDSA.names:[Ljava/lang/String;
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
            arraylength
            bipush 64
            if_icmplt 8
            iconst_2
            goto 10
         8: .line 101
      StackMap locals: com.jcraft.jsch.KeyPairECDSA int java.lang.Class com.jcraft.jsch.KeyPairGenECDSA
      StackMap stack: com.jcraft.jsch.KeyPairECDSA java.lang.String[]
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
            arraylength
            bipush 48
            if_icmplt 9
            iconst_1
            goto 10
      StackMap locals: com.jcraft.jsch.KeyPairECDSA int java.lang.Class com.jcraft.jsch.KeyPairGenECDSA
      StackMap stack: com.jcraft.jsch.KeyPairECDSA java.lang.String[]
         9: iconst_0
      StackMap locals: com.jcraft.jsch.KeyPairECDSA int java.lang.Class com.jcraft.jsch.KeyPairGenECDSA
      StackMap stack: com.jcraft.jsch.KeyPairECDSA java.lang.String[] int
        10: aaload
        11: .line 100
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            putfield com.jcraft.jsch.KeyPairECDSA.name:[B
        12: .line 102
            aconst_null
            astore 3
        end local 3 // com.jcraft.jsch.KeyPairGenECDSA keypairgen
        end local 2 // java.lang.Class c
        13: .line 103
            goto 18
        14: .line 104
      StackMap locals: com.jcraft.jsch.KeyPairECDSA int
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
        15: .line 105
            aload 2 /* e */
            instanceof java.lang.Throwable
            ifeq 17
        16: .line 106
            new com.jcraft.jsch.JSchException
            dup
            aload 2 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aload 2 /* e */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        17: .line 107
      StackMap locals: java.lang.Exception
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            aload 2 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.Exception e
        18: .line 109
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int key_size
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   19     0        this  Lcom/jcraft/jsch/KeyPairECDSA;
            0   19     1    key_size  I
            2   13     2           c  Ljava/lang/Class;
            3   13     3  keypairgen  Lcom/jcraft/jsch/KeyPairGenECDSA;
           15   18     2           e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1    13      14  Class java.lang.Exception
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
          Name  Flags
      key_size  

  byte[] getBegin();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
         0: .line 116
            getstatic com.jcraft.jsch.KeyPairECDSA.begin:[B
            areturn
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KeyPairECDSA;

  byte[] getEnd();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
         0: .line 117
            getstatic com.jcraft.jsch.KeyPairECDSA.end:[B
            areturn
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KeyPairECDSA;

  byte[] getPrivateKey();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=5, locals=10, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
         0: .line 121
            iconst_1
            newarray 8
            astore 1 /* tmp */
        start local 1 // byte[] tmp
         1: aload 1 /* tmp */
            iconst_0
            iconst_1
            bastore
         2: .line 123
            getstatic com.jcraft.jsch.KeyPairECDSA.oids:[[B
         3: .line 124
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
            arraylength
            bipush 64
            if_icmplt 4
            iconst_2
            goto 6
         4: .line 125
      StackMap locals: com.jcraft.jsch.KeyPairECDSA byte[]
      StackMap stack: byte[][]
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
            arraylength
            bipush 48
            if_icmplt 5
            iconst_1
            goto 6
      StackMap locals:
      StackMap stack: byte[][]
         5: iconst_0
         6: .line 123
      StackMap locals: com.jcraft.jsch.KeyPairECDSA byte[]
      StackMap stack: byte[][] int
            aaload
            astore 2 /* oid */
        start local 2 // byte[] oid
         7: .line 128
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
            invokestatic com.jcraft.jsch.KeyPairECDSA.toPoint:([B[B)[B
            astore 3 /* point */
        start local 3 // byte[] point
         8: .line 130
            aload 3 /* point */
            arraylength
            iconst_1
            iadd
            sipush 128
            iand
            ifne 9
            iconst_3
            goto 10
      StackMap locals: byte[] byte[]
      StackMap stack:
         9: iconst_4
      StackMap locals:
      StackMap stack: int
        10: istore 4 /* bar */
        start local 4 // int bar
        11: .line 131
            aload 3 /* point */
            arraylength
            iload 4 /* bar */
            iadd
            newarray 8
            astore 5 /* foo */
        start local 5 // byte[] foo
        12: .line 132
            aload 3 /* point */
            iconst_0
            aload 5 /* foo */
            iload 4 /* bar */
            aload 3 /* point */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        13: .line 133
            aload 5 /* foo */
            iconst_0
            iconst_3
            bastore
        14: .line 134
            iload 4 /* bar */
            iconst_3
            if_icmpne 17
        15: .line 135
            aload 5 /* foo */
            iconst_1
            aload 3 /* point */
            arraylength
            iconst_1
            iadd
            i2b
            bastore
        16: .line 136
            goto 19
        17: .line 138
      StackMap locals: int byte[]
      StackMap stack:
            aload 5 /* foo */
            iconst_1
            bipush -127
            bastore
        18: .line 139
            aload 5 /* foo */
            iconst_2
            aload 3 /* point */
            arraylength
            iconst_1
            iadd
            i2b
            bastore
        19: .line 141
      StackMap locals:
      StackMap stack:
            aload 5 /* foo */
            astore 3 /* point */
        20: .line 144
            iconst_1
            aload 0 /* this */
            aload 1 /* tmp */
            arraylength
            invokevirtual com.jcraft.jsch.KeyPairECDSA.countLength:(I)I
            iadd
            aload 1 /* tmp */
            arraylength
            iadd
        21: .line 145
            iconst_1
        22: .line 144
            iadd
        23: .line 145
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
            arraylength
            invokevirtual com.jcraft.jsch.KeyPairECDSA.countLength:(I)I
        24: .line 144
            iadd
        25: .line 145
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
            arraylength
        26: .line 144
            iadd
        27: .line 146
            iconst_1
        28: .line 144
            iadd
        29: .line 146
            aload 0 /* this */
            aload 2 /* oid */
            arraylength
            invokevirtual com.jcraft.jsch.KeyPairECDSA.countLength:(I)I
        30: .line 144
            iadd
        31: .line 146
            aload 2 /* oid */
            arraylength
        32: .line 144
            iadd
        33: .line 147
            iconst_1
        34: .line 144
            iadd
        35: .line 147
            aload 0 /* this */
            aload 3 /* point */
            arraylength
            invokevirtual com.jcraft.jsch.KeyPairECDSA.countLength:(I)I
        36: .line 144
            iadd
        37: .line 147
            aload 3 /* point */
            arraylength
        38: .line 144
            iadd
        39: .line 143
            istore 6 /* content */
        start local 6 // int content
        40: .line 150
            iconst_1
            aload 0 /* this */
            iload 6 /* content */
            invokevirtual com.jcraft.jsch.KeyPairECDSA.countLength:(I)I
            iadd
            iload 6 /* content */
            iadd
        41: .line 149
            istore 7 /* total */
        start local 7 // int total
        42: .line 152
            iload 7 /* total */
            newarray 8
            astore 8 /* plain */
        start local 8 // byte[] plain
        43: .line 153
            iconst_0
            istore 9 /* index */
        start local 9 // int index
        44: .line 154
            aload 0 /* this */
            aload 8 /* plain */
            iload 9 /* index */
            iload 6 /* content */
            invokevirtual com.jcraft.jsch.KeyPairECDSA.writeSEQUENCE:([BII)I
            istore 9 /* index */
        45: .line 155
            aload 0 /* this */
            aload 8 /* plain */
            iload 9 /* index */
            aload 1 /* tmp */
            invokevirtual com.jcraft.jsch.KeyPairECDSA.writeINTEGER:([BI[B)I
            istore 9 /* index */
        46: .line 156
            aload 0 /* this */
            aload 8 /* plain */
            iload 9 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
            invokevirtual com.jcraft.jsch.KeyPairECDSA.writeOCTETSTRING:([BI[B)I
            istore 9 /* index */
        47: .line 157
            aload 0 /* this */
            aload 8 /* plain */
            bipush -96
            iload 9 /* index */
            aload 2 /* oid */
            invokevirtual com.jcraft.jsch.KeyPairECDSA.writeDATA:([BBI[B)I
            istore 9 /* index */
        48: .line 158
            aload 0 /* this */
            aload 8 /* plain */
            bipush -95
            iload 9 /* index */
            aload 3 /* point */
            invokevirtual com.jcraft.jsch.KeyPairECDSA.writeDATA:([BBI[B)I
            istore 9 /* index */
        49: .line 160
            aload 8 /* plain */
            areturn
        end local 9 // int index
        end local 8 // byte[] plain
        end local 7 // int total
        end local 6 // int content
        end local 5 // byte[] foo
        end local 4 // int bar
        end local 3 // byte[] point
        end local 2 // byte[] oid
        end local 1 // byte[] tmp
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   50     0     this  Lcom/jcraft/jsch/KeyPairECDSA;
            1   50     1      tmp  [B
            7   50     2      oid  [B
            8   50     3    point  [B
           11   50     4      bar  I
           12   50     5      foo  [B
           40   50     6  content  I
           42   50     7    total  I
           43   50     8    plain  [B
           44   50     9    index  I

  boolean parse(byte[]);
    descriptor: ([B)Z
    flags: (0x0000) 
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
        start local 1 // byte[] plain
         0: .line 166
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.vendor:I
            iconst_1
            if_icmpne 2
         1: .line 173
            iconst_0
            ireturn
         2: .line 175
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.vendor:I
            iconst_2
            if_icmpne 4
         3: .line 190
            iconst_0
            ireturn
         4: .line 193
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* index */
        start local 2 // int index
         5: .line 194
            iconst_0
            istore 3 /* length */
        start local 3 // int length
         6: .line 196
            aload 1 /* plain */
            iload 2 /* index */
            baload
            bipush 48
            if_icmpeq 8
         7: iconst_0
            ireturn
         8: .line 197
      StackMap locals: int int
      StackMap stack:
            iinc 2 /* index */ 1
         9: .line 198
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
        10: .line 199
            iload 3 /* length */
            sipush 128
            iand
            ifeq 16
        11: .line 200
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
        12: iconst_0
            istore 3 /* length */
        13: .line 201
            goto 15
      StackMap locals: int
      StackMap stack:
        14: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
        15: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 14
        end local 4 // int foo
        16: .line 204
      StackMap locals:
      StackMap stack:
            aload 1 /* plain */
            iload 2 /* index */
            baload
            iconst_2
            if_icmpeq 18
        17: iconst_0
            ireturn
        18: .line 205
      StackMap locals:
      StackMap stack:
            iinc 2 /* index */ 1
        19: .line 207
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
        20: .line 208
            iload 3 /* length */
            sipush 128
            iand
            ifeq 26
        21: .line 209
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
        22: iconst_0
            istore 3 /* length */
        23: .line 210
            goto 25
      StackMap locals: int
      StackMap stack:
        24: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
        25: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 24
        end local 4 // int foo
        26: .line 213
      StackMap locals:
      StackMap stack:
            iload 2 /* index */
            iload 3 /* length */
            iadd
            istore 2 /* index */
        27: .line 214
            iinc 2 /* index */ 1
        28: .line 216
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
        29: .line 217
            iload 3 /* length */
            sipush 128
            iand
            ifeq 35
        30: .line 218
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
        31: iconst_0
            istore 3 /* length */
        32: .line 219
            goto 34
      StackMap locals: int
      StackMap stack:
        33: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
        34: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 33
        end local 4 // int foo
        35: .line 222
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* length */
            newarray 8
            putfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
        36: .line 223
            aload 1 /* plain */
            iload 2 /* index */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        37: .line 225
            iload 2 /* index */
            iload 3 /* length */
            iadd
            istore 2 /* index */
        38: .line 227
            iinc 2 /* index */ 1
        39: .line 229
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
        40: .line 230
            iload 3 /* length */
            sipush 128
            iand
            ifeq 46
        41: .line 231
            iload 3 /* length */
            bipush 127
            iand
            istore 4 /* foo */
        start local 4 // int foo
        42: iconst_0
            istore 3 /* length */
        43: .line 232
            goto 45
      StackMap locals: int
      StackMap stack:
        44: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
        45: iload 4 /* foo */
            iinc 4 /* foo */ -1
            ifgt 44
        end local 4 // int foo
        46: .line 235
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            newarray 8
            astore 4 /* oid_array */
        start local 4 // byte[] oid_array
        47: .line 236
            aload 1 /* plain */
            iload 2 /* index */
            aload 4 /* oid_array */
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        48: .line 237
            iload 2 /* index */
            iload 3 /* length */
            iadd
            istore 2 /* index */
        49: .line 239
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        50: goto 55
        51: .line 240
      StackMap locals: byte[] int
      StackMap stack:
            getstatic com.jcraft.jsch.KeyPairECDSA.oids:[[B
            iload 5 /* i */
            aaload
            aload 4 /* oid_array */
            invokestatic com.jcraft.jsch.Util.array_equals:([B[B)Z
            ifeq 54
        52: .line 241
            aload 0 /* this */
            getstatic com.jcraft.jsch.KeyPairECDSA.names:[Ljava/lang/String;
            iload 5 /* i */
            aaload
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            putfield com.jcraft.jsch.KeyPairECDSA.name:[B
        53: .line 242
            goto 56
        54: .line 239
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        55: iload 5 /* i */
            getstatic com.jcraft.jsch.KeyPairECDSA.oids:[[B
            arraylength
            if_icmplt 51
        end local 5 // int i
        56: .line 246
      StackMap locals:
      StackMap stack:
            iinc 2 /* index */ 1
        57: .line 248
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            istore 3 /* length */
        58: .line 249
            iload 3 /* length */
            sipush 128
            iand
            ifeq 64
        59: .line 250
            iload 3 /* length */
            bipush 127
            iand
            istore 5 /* foo */
        start local 5 // int foo
        60: iconst_0
            istore 3 /* length */
        61: .line 251
            goto 63
      StackMap locals: int
      StackMap stack:
        62: iload 3 /* length */
            bipush 8
            ishl
            aload 1 /* plain */
            iload 2 /* index */
            iinc 2 /* index */ 1
            baload
            sipush 255
            iand
            iadd
            istore 3 /* length */
      StackMap locals:
      StackMap stack:
        63: iload 5 /* foo */
            iinc 5 /* foo */ -1
            ifgt 62
        end local 5 // int foo
        64: .line 254
      StackMap locals:
      StackMap stack:
            iload 3 /* length */
            newarray 8
            astore 5 /* Q_array */
        start local 5 // byte[] Q_array
        65: .line 255
            aload 1 /* plain */
            iload 2 /* index */
            aload 5 /* Q_array */
            iconst_0
            iload 3 /* length */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        66: .line 256
            iload 2 /* index */
            iload 3 /* length */
            iadd
            istore 2 /* index */
        67: .line 258
            aload 5 /* Q_array */
            invokestatic com.jcraft.jsch.KeyPairECDSA.fromPoint:([B)[[B
            astore 6 /* tmp */
        start local 6 // byte[][] tmp
        68: .line 259
            aload 0 /* this */
            aload 6 /* tmp */
            iconst_0
            aaload
            putfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
        69: .line 260
            aload 0 /* this */
            aload 6 /* tmp */
            iconst_1
            aaload
            putfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
        70: .line 262
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
            ifnull 78
        71: .line 263
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
            arraylength
            bipush 64
            if_icmplt 72
            sipush 521
            goto 74
        72: .line 264
      StackMap locals: com.jcraft.jsch.KeyPairECDSA byte[] int int byte[] byte[] byte[][]
      StackMap stack: com.jcraft.jsch.KeyPairECDSA
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
            arraylength
            bipush 48
            if_icmplt 73
            sipush 384
            goto 74
      StackMap locals:
      StackMap stack: com.jcraft.jsch.KeyPairECDSA
        73: sipush 256
        74: .line 263
      StackMap locals: com.jcraft.jsch.KeyPairECDSA byte[] int int byte[] byte[] byte[][]
      StackMap stack: com.jcraft.jsch.KeyPairECDSA int
            putfield com.jcraft.jsch.KeyPairECDSA.key_size:I
        end local 6 // byte[][] tmp
        end local 5 // byte[] Q_array
        end local 4 // byte[] oid_array
        end local 3 // int length
        end local 2 // int index
        75: .line 265
            goto 78
        76: .line 266
      StackMap locals: com.jcraft.jsch.KeyPairECDSA byte[]
      StackMap stack: java.lang.Exception
            pop
        77: .line 269
            iconst_0
            ireturn
        78: .line 271
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 1 // byte[] plain
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   79     0       this  Lcom/jcraft/jsch/KeyPairECDSA;
            0   79     1      plain  [B
            5   75     2      index  I
            6   75     3     length  I
           12   16     4        foo  I
           22   26     4        foo  I
           31   35     4        foo  I
           42   46     4        foo  I
           47   75     4  oid_array  [B
           50   56     5          i  I
           60   64     5        foo  I
           65   75     5    Q_array  [B
           68   75     6        tmp  [[B
      Exception table:
        from    to  target  type
           0     1      76  Class java.lang.Exception
           2     3      76  Class java.lang.Exception
           4     7      76  Class java.lang.Exception
           8    17      76  Class java.lang.Exception
          18    75      76  Class java.lang.Exception
    MethodParameters:
       Name  Flags
      plain  

  public byte[] getPublicKeyBlob();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=3, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
         0: .line 275
            aload 0 /* this */
            invokespecial com.jcraft.jsch.KeyPair.getPublicKeyBlob:()[B
            astore 1 /* foo */
        start local 1 // byte[] foo
         1: .line 277
            aload 1 /* foo */
            ifnull 2
            aload 1 /* foo */
            areturn
         2: .line 279
      StackMap locals: byte[]
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
            ifnonnull 3
            aconst_null
            areturn
         3: .line 281
      StackMap locals:
      StackMap stack:
            iconst_3
            anewarray byte[]
            astore 2 /* tmp */
        start local 2 // byte[][] tmp
         4: .line 282
            aload 2 /* tmp */
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "ecdsa-sha2-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.name:[B
            invokespecial java.lang.String.<init>:([B)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            aastore
         5: .line 283
            aload 2 /* tmp */
            iconst_1
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.name:[B
            aastore
         6: .line 284
            aload 2 /* tmp */
            iconst_2
            iconst_1
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
            arraylength
            iadd
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
            arraylength
            iadd
            newarray 8
            aastore
         7: .line 285
            aload 2 /* tmp */
            iconst_2
            aaload
            iconst_0
            iconst_4
            bastore
         8: .line 286
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
            iconst_0
            aload 2 /* tmp */
            iconst_2
            aaload
            iconst_1
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 287
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
            iconst_0
            aload 2 /* tmp */
            iconst_2
            aaload
            iconst_1
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
            arraylength
            iadd
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 289
            aload 2 /* tmp */
            invokestatic com.jcraft.jsch.Buffer.fromBytes:([[B)Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            areturn
        end local 2 // byte[][] tmp
        end local 1 // byte[] foo
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   11     0  this  Lcom/jcraft/jsch/KeyPairECDSA;
            1   11     1   foo  [B
            4   11     2   tmp  [[B

  byte[] getKeyTypeName();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=4, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
         0: .line 293
            new java.lang.StringBuilder
            dup
            ldc "ecdsa-sha2-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.name:[B
            invokespecial java.lang.String.<init>:([B)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            areturn
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KeyPairECDSA;

  public int getKeyType();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
         0: .line 296
            iconst_3
            ireturn
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KeyPairECDSA;

  public int getKeySize();
    descriptor: ()I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
         0: .line 299
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.key_size:I
            ireturn
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/KeyPairECDSA;

  public byte[] getSignature(byte[]);
    descriptor: ([B)[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
        start local 1 // byte[] data
         0: .line 304
            new java.lang.StringBuilder
            dup
            ldc "ecdsa-sha2-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.name:[B
            invokespecial java.lang.String.<init>:([B)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* c */
        start local 2 // java.lang.Class c
         1: .line 305
            aload 2 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.SignatureECDSA
            astore 3 /* ecdsa */
        start local 3 // com.jcraft.jsch.SignatureECDSA ecdsa
         2: .line 306
            aload 3 /* ecdsa */
            invokeinterface com.jcraft.jsch.SignatureECDSA.init:()V
         3: .line 307
            aload 3 /* ecdsa */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
            invokeinterface com.jcraft.jsch.SignatureECDSA.setPrvKey:([B)V
         4: .line 309
            aload 3 /* ecdsa */
            aload 1 /* data */
            invokeinterface com.jcraft.jsch.SignatureECDSA.update:([B)V
         5: .line 310
            aload 3 /* ecdsa */
            invokeinterface com.jcraft.jsch.SignatureECDSA.sign:()[B
            astore 4 /* sig */
        start local 4 // byte[] sig
         6: .line 312
            iconst_2
            anewarray byte[]
            astore 5 /* tmp */
        start local 5 // byte[][] tmp
         7: .line 313
            aload 5 /* tmp */
            iconst_0
            new java.lang.StringBuilder
            dup
            ldc "ecdsa-sha2-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.name:[B
            invokespecial java.lang.String.<init>:([B)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            aastore
         8: .line 314
            aload 5 /* tmp */
            iconst_1
            aload 4 /* sig */
            aastore
         9: .line 315
            aload 5 /* tmp */
            invokestatic com.jcraft.jsch.Buffer.fromBytes:([[B)Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
        10: areturn
        end local 5 // byte[][] tmp
        end local 4 // byte[] sig
        end local 3 // com.jcraft.jsch.SignatureECDSA ecdsa
        end local 2 // java.lang.Class c
        11: .line 317
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        12: .line 320
            aconst_null
            areturn
        end local 1 // byte[] data
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Lcom/jcraft/jsch/KeyPairECDSA;
            0   13     1   data  [B
            1   11     2      c  Ljava/lang/Class;
            2   11     3  ecdsa  Lcom/jcraft/jsch/SignatureECDSA;
            6   11     4    sig  [B
            7   11     5    tmp  [[B
      Exception table:
        from    to  target  type
           0    10      11  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      data  

  public com.jcraft.jsch.Signature getVerifier();
    descriptor: ()Lcom/jcraft/jsch/Signature;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
         0: .line 325
            new java.lang.StringBuilder
            dup
            ldc "ecdsa-sha2-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.name:[B
            invokespecial java.lang.String.<init>:([B)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* c */
        start local 1 // java.lang.Class c
         1: .line 326
            aload 1 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.SignatureECDSA
            astore 2 /* ecdsa */
        start local 2 // com.jcraft.jsch.SignatureECDSA ecdsa
         2: .line 327
            aload 2 /* ecdsa */
            invokeinterface com.jcraft.jsch.SignatureECDSA.init:()V
         3: .line 329
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
            ifnonnull 10
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
            ifnonnull 10
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPairECDSA.getPublicKeyBlob:()[B
            ifnull 10
         4: .line 330
            new com.jcraft.jsch.Buffer
            dup
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPairECDSA.getPublicKeyBlob:()[B
            invokespecial com.jcraft.jsch.Buffer.<init>:([B)V
            astore 3 /* buf */
        start local 3 // com.jcraft.jsch.Buffer buf
         5: .line 331
            aload 3 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            pop
         6: .line 332
            aload 3 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            pop
         7: .line 333
            aload 3 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            invokestatic com.jcraft.jsch.KeyPairECDSA.fromPoint:([B)[[B
            astore 4 /* tmp */
        start local 4 // byte[][] tmp
         8: .line 334
            aload 0 /* this */
            aload 4 /* tmp */
            iconst_0
            aaload
            putfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
         9: .line 335
            aload 0 /* this */
            aload 4 /* tmp */
            iconst_1
            aaload
            putfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
        end local 4 // byte[][] tmp
        end local 3 // com.jcraft.jsch.Buffer buf
        10: .line 337
      StackMap locals: java.lang.Class com.jcraft.jsch.SignatureECDSA
      StackMap stack:
            aload 2 /* ecdsa */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
            invokeinterface com.jcraft.jsch.SignatureECDSA.setPubKey:([B[B)V
        11: .line 338
            aload 2 /* ecdsa */
        12: areturn
        end local 2 // com.jcraft.jsch.SignatureECDSA ecdsa
        end local 1 // java.lang.Class c
        13: .line 340
      StackMap locals: com.jcraft.jsch.KeyPairECDSA
      StackMap stack: java.lang.Exception
            pop
        14: .line 343
            aconst_null
            areturn
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0   this  Lcom/jcraft/jsch/KeyPairECDSA;
            1   13     1      c  Ljava/lang/Class;
            2   13     2  ecdsa  Lcom/jcraft/jsch/SignatureECDSA;
            5   10     3    buf  Lcom/jcraft/jsch/Buffer;
            8   10     4    tmp  [[B
      Exception table:
        from    to  target  type
           0    12      13  Class java.lang.Exception

  static com.jcraft.jsch.KeyPair fromSSHAgent(com.jcraft.jsch.JSch, com.jcraft.jsch.Buffer);
    descriptor: (Lcom/jcraft/jsch/JSch;Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/KeyPair;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // com.jcraft.jsch.JSch jsch
        start local 1 // com.jcraft.jsch.Buffer buf
         0: .line 348
            aload 1 /* buf */
            iconst_5
            ldc "invalid key format"
            invokevirtual com.jcraft.jsch.Buffer.getBytes:(ILjava/lang/String;)[[B
            astore 2 /* tmp */
        start local 2 // byte[][] tmp
         1: .line 350
            aload 2 /* tmp */
            iconst_1
            aaload
            astore 3 /* name */
        start local 3 // byte[] name
         2: .line 351
            aload 2 /* tmp */
            iconst_2
            aaload
            invokestatic com.jcraft.jsch.KeyPairECDSA.fromPoint:([B)[[B
            astore 4 /* foo */
        start local 4 // byte[][] foo
         3: .line 352
            aload 4 /* foo */
            iconst_0
            aaload
            astore 5 /* r_array */
        start local 5 // byte[] r_array
         4: .line 353
            aload 4 /* foo */
            iconst_1
            aaload
            astore 6 /* s_array */
        start local 6 // byte[] s_array
         5: .line 355
            aload 2 /* tmp */
            iconst_3
            aaload
            astore 7 /* prv_array */
        start local 7 // byte[] prv_array
         6: .line 356
            new com.jcraft.jsch.KeyPairECDSA
            dup
            aload 0 /* jsch */
         7: .line 357
            aload 3 /* name */
         8: .line 358
            aload 5 /* r_array */
            aload 6 /* s_array */
         9: .line 359
            aload 7 /* prv_array */
        10: .line 356
            invokespecial com.jcraft.jsch.KeyPairECDSA.<init>:(Lcom/jcraft/jsch/JSch;[B[B[B[B)V
            astore 8 /* kpair */
        start local 8 // com.jcraft.jsch.KeyPairECDSA kpair
        11: .line 360
            aload 8 /* kpair */
            new java.lang.String
            dup
            aload 2 /* tmp */
            iconst_4
            aaload
            invokespecial java.lang.String.<init>:([B)V
            putfield com.jcraft.jsch.KeyPairECDSA.publicKeyComment:Ljava/lang/String;
        12: .line 361
            aload 8 /* kpair */
            iconst_0
            putfield com.jcraft.jsch.KeyPairECDSA.vendor:I
        13: .line 362
            aload 8 /* kpair */
            areturn
        end local 8 // com.jcraft.jsch.KeyPairECDSA kpair
        end local 7 // byte[] prv_array
        end local 6 // byte[] s_array
        end local 5 // byte[] r_array
        end local 4 // byte[][] foo
        end local 3 // byte[] name
        end local 2 // byte[][] tmp
        end local 1 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.JSch jsch
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   14     0       jsch  Lcom/jcraft/jsch/JSch;
            0   14     1        buf  Lcom/jcraft/jsch/Buffer;
            1   14     2        tmp  [[B
            2   14     3       name  [B
            3   14     4        foo  [[B
            4   14     5    r_array  [B
            5   14     6    s_array  [B
            6   14     7  prv_array  [B
           11   14     8      kpair  Lcom/jcraft/jsch/KeyPairECDSA;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      jsch  
      buf   

  public byte[] forSSHAgent();
    descriptor: ()[B
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
         0: .line 366
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.KeyPairECDSA.isEncrypted:()Z
            ifeq 2
         1: .line 367
            new com.jcraft.jsch.JSchException
            dup
            ldc "key is encrypted."
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 369
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.Buffer
            dup
            invokespecial com.jcraft.jsch.Buffer.<init>:()V
            astore 1 /* buf */
        start local 1 // com.jcraft.jsch.Buffer buf
         3: .line 370
            aload 1 /* buf */
            new java.lang.StringBuilder
            dup
            ldc "ecdsa-sha2-"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            new java.lang.String
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.name:[B
            invokespecial java.lang.String.<init>:([B)V
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
         4: .line 371
            aload 1 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.name:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
         5: .line 372
            aload 1 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.r_array:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.s_array:[B
            invokestatic com.jcraft.jsch.KeyPairECDSA.toPoint:([B[B)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
         6: .line 373
            aload 1 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
         7: .line 374
            aload 1 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.publicKeyComment:Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
         8: .line 375
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getLength:()I
            newarray 8
            astore 2 /* result */
        start local 2 // byte[] result
         9: .line 376
            aload 1 /* buf */
            aload 2 /* result */
            iconst_0
            aload 2 /* result */
            arraylength
            invokevirtual com.jcraft.jsch.Buffer.getByte:([BII)V
        10: .line 377
            aload 2 /* result */
            areturn
        end local 2 // byte[] result
        end local 1 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0    this  Lcom/jcraft/jsch/KeyPairECDSA;
            3   11     1     buf  Lcom/jcraft/jsch/Buffer;
            9   11     2  result  [B
    Exceptions:
      throws com.jcraft.jsch.JSchException

  static byte[] toPoint(byte[], byte[]);
    descriptor: ([B[B)[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // byte[] r_array
        start local 1 // byte[] s_array
         0: .line 381
            iconst_1
            aload 0 /* r_array */
            arraylength
            iadd
            aload 1 /* s_array */
            arraylength
            iadd
            newarray 8
            astore 2 /* tmp */
        start local 2 // byte[] tmp
         1: .line 382
            aload 2 /* tmp */
            iconst_0
            iconst_4
            bastore
         2: .line 383
            aload 0 /* r_array */
            iconst_0
            aload 2 /* tmp */
            iconst_1
            aload 0 /* r_array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 384
            aload 1 /* s_array */
            iconst_0
            aload 2 /* tmp */
            iconst_1
            aload 0 /* r_array */
            arraylength
            iadd
            aload 1 /* s_array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         4: .line 385
            aload 2 /* tmp */
            areturn
        end local 2 // byte[] tmp
        end local 1 // byte[] s_array
        end local 0 // byte[] r_array
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  r_array  [B
            0    5     1  s_array  [B
            1    5     2      tmp  [B
    MethodParameters:
         Name  Flags
      r_array  
      s_array  

  static byte[][] fromPoint(byte[]);
    descriptor: ([B)[[B
    flags: (0x0008) ACC_STATIC
    Code:
      stack=5, locals=5, args_size=1
        start local 0 // byte[] point
         0: .line 389
            iconst_0
            istore 1 /* i */
        start local 1 // int i
         1: .line 390
            goto 3
      StackMap locals: int
      StackMap stack:
         2: iinc 1 /* i */ 1
      StackMap locals:
      StackMap stack:
         3: aload 0 /* point */
            iload 1 /* i */
            baload
            iconst_4
            if_icmpne 2
         4: .line 391
            iinc 1 /* i */ 1
         5: .line 392
            iconst_2
            anewarray byte[]
            astore 2 /* tmp */
        start local 2 // byte[][] tmp
         6: .line 393
            aload 0 /* point */
            arraylength
            iload 1 /* i */
            isub
            iconst_2
            idiv
            newarray 8
            astore 3 /* r_array */
        start local 3 // byte[] r_array
         7: .line 394
            aload 0 /* point */
            arraylength
            iload 1 /* i */
            isub
            iconst_2
            idiv
            newarray 8
            astore 4 /* s_array */
        start local 4 // byte[] s_array
         8: .line 396
            aload 0 /* point */
            iload 1 /* i */
            aload 3 /* r_array */
            iconst_0
            aload 3 /* r_array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         9: .line 397
            aload 0 /* point */
            iload 1 /* i */
            aload 3 /* r_array */
            arraylength
            iadd
            aload 4 /* s_array */
            iconst_0
            aload 4 /* s_array */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 398
            aload 2 /* tmp */
            iconst_0
            aload 3 /* r_array */
            aastore
        11: .line 399
            aload 2 /* tmp */
            iconst_1
            aload 4 /* s_array */
            aastore
        12: .line 401
            aload 2 /* tmp */
            areturn
        end local 4 // byte[] s_array
        end local 3 // byte[] r_array
        end local 2 // byte[][] tmp
        end local 1 // int i
        end local 0 // byte[] point
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0    point  [B
            1   13     1        i  I
            6   13     2      tmp  [[B
            7   13     3  r_array  [B
            8   13     4  s_array  [B
    MethodParameters:
       Name  Flags
      point  

  public void dispose();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.KeyPairECDSA this
         0: .line 405
            aload 0 /* this */
            invokespecial com.jcraft.jsch.KeyPair.dispose:()V
         1: .line 406
            aload 0 /* this */
            getfield com.jcraft.jsch.KeyPairECDSA.prv_array:[B
            invokestatic com.jcraft.jsch.Util.bzero:([B)V
         2: .line 407
            return
        end local 0 // com.jcraft.jsch.KeyPairECDSA this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/KeyPairECDSA;
}
SourceFile: "KeyPairECDSA.java"