public class com.jcraft.jsch.Session implements java.lang.Runnable
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.jcraft.jsch.Session
  super_class: java.lang.Object
{
  static final int SSH_MSG_DISCONNECT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  static final int SSH_MSG_IGNORE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  static final int SSH_MSG_UNIMPLEMENTED;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 3

  static final int SSH_MSG_DEBUG;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 4

  static final int SSH_MSG_SERVICE_REQUEST;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 5

  static final int SSH_MSG_SERVICE_ACCEPT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 6

  static final int SSH_MSG_KEXINIT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 20

  static final int SSH_MSG_NEWKEYS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 21

  static final int SSH_MSG_KEXDH_INIT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 30

  static final int SSH_MSG_KEXDH_REPLY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 31

  static final int SSH_MSG_KEX_DH_GEX_GROUP;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 31

  static final int SSH_MSG_KEX_DH_GEX_INIT;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 32

  static final int SSH_MSG_KEX_DH_GEX_REPLY;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 33

  static final int SSH_MSG_KEX_DH_GEX_REQUEST;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 34

  static final int SSH_MSG_GLOBAL_REQUEST;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 80

  static final int SSH_MSG_REQUEST_SUCCESS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 81

  static final int SSH_MSG_REQUEST_FAILURE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 82

  static final int SSH_MSG_CHANNEL_OPEN;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 90

  static final int SSH_MSG_CHANNEL_OPEN_CONFIRMATION;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 91

  static final int SSH_MSG_CHANNEL_OPEN_FAILURE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 92

  static final int SSH_MSG_CHANNEL_WINDOW_ADJUST;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 93

  static final int SSH_MSG_CHANNEL_DATA;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 94

  static final int SSH_MSG_CHANNEL_EXTENDED_DATA;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 95

  static final int SSH_MSG_CHANNEL_EOF;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 96

  static final int SSH_MSG_CHANNEL_CLOSE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 97

  static final int SSH_MSG_CHANNEL_REQUEST;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 98

  static final int SSH_MSG_CHANNEL_SUCCESS;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 99

  static final int SSH_MSG_CHANNEL_FAILURE;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 100

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  java.lang.String[] guess;
    descriptor: [Ljava/lang/String;
    flags: (0x0000) 

  private com.jcraft.jsch.Cipher s2ccipher;
    descriptor: Lcom/jcraft/jsch/Cipher;
    flags: (0x0002) ACC_PRIVATE

  private com.jcraft.jsch.Cipher c2scipher;
    descriptor: Lcom/jcraft/jsch/Cipher;
    flags: (0x0002) ACC_PRIVATE

  private com.jcraft.jsch.MAC s2cmac;
    descriptor: Lcom/jcraft/jsch/MAC;
    flags: (0x0002) ACC_PRIVATE

  private com.jcraft.jsch.MAC c2smac;
    descriptor: Lcom/jcraft/jsch/MAC;
    flags: (0x0002) ACC_PRIVATE

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

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

  private com.jcraft.jsch.Compression deflater;
    descriptor: Lcom/jcraft/jsch/Compression;
    flags: (0x0002) ACC_PRIVATE

  private com.jcraft.jsch.Compression inflater;
    descriptor: Lcom/jcraft/jsch/Compression;
    flags: (0x0002) ACC_PRIVATE

  private com.jcraft.jsch.IO io;
    descriptor: Lcom/jcraft/jsch/IO;
    flags: (0x0002) ACC_PRIVATE

  private java.net.Socket socket;
    descriptor: Ljava/net/Socket;
    flags: (0x0002) ACC_PRIVATE

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

  private volatile boolean isConnected;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private boolean isAuthed;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Thread connectThread;
    descriptor: Ljava/lang/Thread;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object lock;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  boolean x11_forwarding;
    descriptor: Z
    flags: (0x0000) 

  boolean agent_forwarding;
    descriptor: Z
    flags: (0x0000) 

  java.io.InputStream in;
    descriptor: Ljava/io/InputStream;
    flags: (0x0000) 

  java.io.OutputStream out;
    descriptor: Ljava/io/OutputStream;
    flags: (0x0000) 

  static com.jcraft.jsch.Random random;
    descriptor: Lcom/jcraft/jsch/Random;
    flags: (0x0008) ACC_STATIC

  com.jcraft.jsch.Buffer buf;
    descriptor: Lcom/jcraft/jsch/Buffer;
    flags: (0x0000) 

  com.jcraft.jsch.Packet packet;
    descriptor: Lcom/jcraft/jsch/Packet;
    flags: (0x0000) 

  com.jcraft.jsch.SocketFactory socket_factory;
    descriptor: Lcom/jcraft/jsch/SocketFactory;
    flags: (0x0000) 

  static final int buffer_margin;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: 128

  private java.util.Hashtable config;
    descriptor: Ljava/util/Hashtable;
    flags: (0x0002) ACC_PRIVATE

  private com.jcraft.jsch.Proxy proxy;
    descriptor: Lcom/jcraft/jsch/Proxy;
    flags: (0x0002) ACC_PRIVATE

  private com.jcraft.jsch.UserInfo userinfo;
    descriptor: Lcom/jcraft/jsch/UserInfo;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.String hostKeyAlias;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

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

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

  private com.jcraft.jsch.IdentityRepository identityRepository;
    descriptor: Lcom/jcraft/jsch/IdentityRepository;
    flags: (0x0002) ACC_PRIVATE

  private com.jcraft.jsch.HostKeyRepository hostkeyRepository;
    descriptor: Lcom/jcraft/jsch/HostKeyRepository;
    flags: (0x0002) ACC_PRIVATE

  protected boolean daemon_thread;
    descriptor: Z
    flags: (0x0004) ACC_PROTECTED

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

  int max_auth_tries;
    descriptor: I
    flags: (0x0000) 

  int auth_failures;
    descriptor: I
    flags: (0x0000) 

  java.lang.String host;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  java.lang.String org_host;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  int port;
    descriptor: I
    flags: (0x0000) 

  java.lang.String username;
    descriptor: Ljava/lang/String;
    flags: (0x0000) 

  byte[] password;
    descriptor: [B
    flags: (0x0000) 

  com.jcraft.jsch.JSch jsch;
    descriptor: Lcom/jcraft/jsch/JSch;
    flags: (0x0000) 

  private volatile boolean in_kex;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  private volatile boolean in_prompt;
    descriptor: Z
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  int[] uncompress_len;
    descriptor: [I
    flags: (0x0000) 

  int[] compress_len;
    descriptor: [I
    flags: (0x0000) 

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

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

  java.lang.Runnable thread;
    descriptor: Ljava/lang/Runnable;
    flags: (0x0000) 

  private com.jcraft.jsch.Session$GlobalRequestReply grr;
    descriptor: Lcom/jcraft/jsch/Session$GlobalRequestReply;
    flags: (0x0002) ACC_PRIVATE

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

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

  private com.jcraft.jsch.HostKey hostkey;
    descriptor: Lcom/jcraft/jsch/HostKey;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 2374
            ldc "keepalive@jcraft.com"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            putstatic com.jcraft.jsch.Session.keepalivemsg:[B
         1: .line 2385
            ldc "no-more-sessions@openssh.com"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            putstatic com.jcraft.jsch.Session.nomoresessions:[B
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.jcraft.jsch.JSch, java.lang.String, java.lang.String, int);
    descriptor: (Lcom/jcraft/jsch/JSch;Ljava/lang/String;Ljava/lang/String;I)V
    flags: (0x0000) 
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.JSch jsch
        start local 2 // java.lang.String username
        start local 3 // java.lang.String host
        start local 4 // int port
         0: .line 158
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 71
            aload 0 /* this */
            ldc "SSH-2.0-JSCH-0.1.54"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            putfield com.jcraft.jsch.Session.V_C:[B
         2: .line 86
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.seqi:I
         3: .line 87
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.seqo:I
         4: .line 89
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.guess:[Ljava/lang/String;
         5: .line 103
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.timeout:I
         6: .line 105
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.isConnected:Z
         7: .line 107
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.isAuthed:Z
         8: .line 109
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.connectThread:Ljava/lang/Thread;
         9: .line 110
            aload 0 /* this */
            new java.lang.Object
            dup
            invokespecial java.lang.Object.<init>:()V
            putfield com.jcraft.jsch.Session.lock:Ljava/lang/Object;
        10: .line 112
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.x11_forwarding:Z
        11: .line 113
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.agent_forwarding:Z
        12: .line 115
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.in:Ljava/io/InputStream;
        13: .line 116
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.out:Ljava/io/OutputStream;
        14: .line 123
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.socket_factory:Lcom/jcraft/jsch/SocketFactory;
        15: .line 129
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.config:Ljava/util/Hashtable;
        16: .line 131
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.proxy:Lcom/jcraft/jsch/Proxy;
        17: .line 134
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.hostKeyAlias:Ljava/lang/String;
        18: .line 135
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.serverAliveInterval:I
        19: .line 136
            aload 0 /* this */
            iconst_1
            putfield com.jcraft.jsch.Session.serverAliveCountMax:I
        20: .line 138
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.identityRepository:Lcom/jcraft/jsch/IdentityRepository;
        21: .line 139
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.hostkeyRepository:Lcom/jcraft/jsch/HostKeyRepository;
        22: .line 141
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.daemon_thread:Z
        23: .line 143
            aload 0 /* this */
            lconst_0
            putfield com.jcraft.jsch.Session.kex_start_time:J
        24: .line 145
            aload 0 /* this */
            bipush 6
            putfield com.jcraft.jsch.Session.max_auth_tries:I
        25: .line 146
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.auth_failures:I
        26: .line 148
            aload 0 /* this */
            ldc "127.0.0.1"
            putfield com.jcraft.jsch.Session.host:Ljava/lang/String;
        27: .line 149
            aload 0 /* this */
            ldc "127.0.0.1"
            putfield com.jcraft.jsch.Session.org_host:Ljava/lang/String;
        28: .line 150
            aload 0 /* this */
            bipush 22
            putfield com.jcraft.jsch.Session.port:I
        29: .line 152
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.username:Ljava/lang/String;
        30: .line 153
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.password:[B
        31: .line 612
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.in_kex:Z
        32: .line 613
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.in_prompt:Z
        33: .line 917
            aload 0 /* this */
            iconst_1
            newarray 10
            putfield com.jcraft.jsch.Session.uncompress_len:[I
        34: .line 918
            aload 0 /* this */
            iconst_1
            newarray 10
            putfield com.jcraft.jsch.Session.compress_len:[I
        35: .line 920
            aload 0 /* this */
            bipush 8
            putfield com.jcraft.jsch.Session.s2ccipher_size:I
        36: .line 921
            aload 0 /* this */
            bipush 8
            putfield com.jcraft.jsch.Session.c2scipher_size:I
        37: .line 2152
            aload 0 /* this */
            new com.jcraft.jsch.Session$GlobalRequestReply
            dup
            aload 0 /* this */
            invokespecial com.jcraft.jsch.Session$GlobalRequestReply.<init>:(Lcom/jcraft/jsch/Session;)V
            putfield com.jcraft.jsch.Session.grr:Lcom/jcraft/jsch/Session$GlobalRequestReply;
        38: .line 2396
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.hostkey:Lcom/jcraft/jsch/HostKey;
        39: .line 159
            aload 0 /* this */
            aload 1 /* jsch */
            putfield com.jcraft.jsch.Session.jsch:Lcom/jcraft/jsch/JSch;
        40: .line 160
            aload 0 /* this */
            new com.jcraft.jsch.Buffer
            dup
            invokespecial com.jcraft.jsch.Buffer.<init>:()V
            putfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
        41: .line 161
            aload 0 /* this */
            new com.jcraft.jsch.Packet
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokespecial com.jcraft.jsch.Packet.<init>:(Lcom/jcraft/jsch/Buffer;)V
            putfield com.jcraft.jsch.Session.packet:Lcom/jcraft/jsch/Packet;
        42: .line 162
            aload 0 /* this */
            aload 2 /* username */
            putfield com.jcraft.jsch.Session.username:Ljava/lang/String;
        43: .line 163
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* host */
            dup_x1
            putfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            putfield com.jcraft.jsch.Session.org_host:Ljava/lang/String;
        44: .line 164
            aload 0 /* this */
            iload 4 /* port */
            putfield com.jcraft.jsch.Session.port:I
        45: .line 166
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Session.applyConfig:()V
        46: .line 168
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.username:Ljava/lang/String;
            ifnonnull 50
        47: .line 170
            aload 0 /* this */
            invokestatic java.lang.System.getProperties:()Ljava/util/Properties;
            ldc "user.name"
            invokevirtual java.util.Properties.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            putfield com.jcraft.jsch.Session.username:Ljava/lang/String;
        48: .line 171
            goto 50
        49: .line 172
      StackMap locals: com.jcraft.jsch.Session com.jcraft.jsch.JSch java.lang.String java.lang.String int
      StackMap stack: java.lang.SecurityException
            pop
        50: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.username:Ljava/lang/String;
            ifnonnull 52
        51: .line 178
            new com.jcraft.jsch.JSchException
            dup
            ldc "username is not given."
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        52: .line 180
      StackMap locals:
      StackMap stack:
            return
        end local 4 // int port
        end local 3 // java.lang.String host
        end local 2 // java.lang.String username
        end local 1 // com.jcraft.jsch.JSch jsch
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   53     0      this  Lcom/jcraft/jsch/Session;
            0   53     1      jsch  Lcom/jcraft/jsch/JSch;
            0   53     2  username  Ljava/lang/String;
            0   53     3      host  Ljava/lang/String;
            0   53     4      port  I
      Exception table:
        from    to  target  type
          47    48      49  Class java.lang.SecurityException
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
          Name  Flags
      jsch      
      username  
      host      
      port      

  public void connect();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 183
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.timeout:I
            invokevirtual com.jcraft.jsch.Session.connect:(I)V
         1: .line 184
            return
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/Session;
    Exceptions:
      throws com.jcraft.jsch.JSchException

  public void connect(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=18, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // int connectTimeout
         0: .line 187
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.isConnected:Z
            ifeq 2
         1: .line 188
            new com.jcraft.jsch.JSchException
            dup
            ldc "session is already connected"
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 191
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new com.jcraft.jsch.IO
            dup
            invokespecial com.jcraft.jsch.IO.<init>:()V
            putfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
         3: .line 192
            getstatic com.jcraft.jsch.Session.random:Lcom/jcraft/jsch/Random;
            ifnonnull 9
         4: .line 194
            aload 0 /* this */
            ldc "random"
            invokevirtual com.jcraft.jsch.Session.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
         5: .line 195
            aload 2 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.Random
            putstatic com.jcraft.jsch.Session.random:Lcom/jcraft/jsch/Random;
        end local 2 // java.lang.Class c
         6: .line 196
            goto 9
         7: .line 197
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         8: .line 198
            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
        end local 2 // java.lang.Exception e
         9: .line 201
      StackMap locals:
      StackMap stack:
            getstatic com.jcraft.jsch.Session.random:Lcom/jcraft/jsch/Random;
            invokestatic com.jcraft.jsch.Packet.setRandom:(Lcom/jcraft/jsch/Random;)V
        10: .line 203
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 14
        11: .line 204
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
        12: .line 205
            new java.lang.StringBuilder
            dup
            ldc "Connecting to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " port "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.port:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        13: .line 204
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
        14: .line 211
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.proxy:Lcom/jcraft/jsch/Proxy;
            ifnonnull 27
        15: .line 214
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket_factory:Lcom/jcraft/jsch/SocketFactory;
            ifnonnull 20
        16: .line 215
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.port:I
            iload 1 /* connectTimeout */
            invokestatic com.jcraft.jsch.Util.createSocket:(Ljava/lang/String;II)Ljava/net/Socket;
            putfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
        17: .line 216
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
            astore 4 /* in */
        start local 4 // java.io.InputStream in
        18: .line 217
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.getOutputStream:()Ljava/io/OutputStream;
            astore 5 /* out */
        start local 5 // java.io.OutputStream out
        19: .line 218
            goto 23
        end local 5 // java.io.OutputStream out
        end local 4 // java.io.InputStream in
        20: .line 220
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket_factory:Lcom/jcraft/jsch/SocketFactory;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.port:I
            invokeinterface com.jcraft.jsch.SocketFactory.createSocket:(Ljava/lang/String;I)Ljava/net/Socket;
            putfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
        21: .line 221
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket_factory:Lcom/jcraft/jsch/SocketFactory;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
            invokeinterface com.jcraft.jsch.SocketFactory.getInputStream:(Ljava/net/Socket;)Ljava/io/InputStream;
            astore 4 /* in */
        start local 4 // java.io.InputStream in
        22: .line 222
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket_factory:Lcom/jcraft/jsch/SocketFactory;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
            invokeinterface com.jcraft.jsch.SocketFactory.getOutputStream:(Ljava/net/Socket;)Ljava/io/OutputStream;
            astore 5 /* out */
        start local 5 // java.io.OutputStream out
        23: .line 225
      StackMap locals: com.jcraft.jsch.Session int top top java.io.InputStream java.io.OutputStream
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
            iconst_1
            invokevirtual java.net.Socket.setTcpNoDelay:(Z)V
        24: .line 226
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            aload 4 /* in */
            invokevirtual com.jcraft.jsch.IO.setInputStream:(Ljava/io/InputStream;)V
        25: .line 227
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            aload 5 /* out */
            invokevirtual com.jcraft.jsch.IO.setOutputStream:(Ljava/io/OutputStream;)V
        end local 5 // java.io.OutputStream out
        end local 4 // java.io.InputStream in
        26: .line 228
            goto 36
        27: .line 230
      StackMap locals: com.jcraft.jsch.Session int
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.proxy:Lcom/jcraft/jsch/Proxy;
            dup
            astore 4
            monitorenter
        28: .line 231
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.proxy:Lcom/jcraft/jsch/Proxy;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket_factory:Lcom/jcraft/jsch/SocketFactory;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.port:I
            iload 1 /* connectTimeout */
            invokeinterface com.jcraft.jsch.Proxy.connect:(Lcom/jcraft/jsch/SocketFactory;Ljava/lang/String;II)V
        29: .line 232
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.proxy:Lcom/jcraft/jsch/Proxy;
            invokeinterface com.jcraft.jsch.Proxy.getInputStream:()Ljava/io/InputStream;
            invokevirtual com.jcraft.jsch.IO.setInputStream:(Ljava/io/InputStream;)V
        30: .line 233
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.proxy:Lcom/jcraft/jsch/Proxy;
            invokeinterface com.jcraft.jsch.Proxy.getOutputStream:()Ljava/io/OutputStream;
            invokevirtual com.jcraft.jsch.IO.setOutputStream:(Ljava/io/OutputStream;)V
        31: .line 234
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.proxy:Lcom/jcraft/jsch/Proxy;
            invokeinterface com.jcraft.jsch.Proxy.getSocket:()Ljava/net/Socket;
            putfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
        32: .line 230
            aload 4
            monitorexit
        33: goto 36
      StackMap locals: com.jcraft.jsch.Session int top top com.jcraft.jsch.Proxy
      StackMap stack: java.lang.Throwable
        34: aload 4
            monitorexit
        35: athrow
        36: .line 238
      StackMap locals: com.jcraft.jsch.Session int
      StackMap stack:
            iload 1 /* connectTimeout */
            ifle 38
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
            ifnull 38
        37: .line 239
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
            iload 1 /* connectTimeout */
            invokevirtual java.net.Socket.setSoTimeout:(I)V
        38: .line 242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.jcraft.jsch.Session.isConnected:Z
        39: .line 244
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 43
        40: .line 245
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
        41: .line 246
            ldc "Connection established"
        42: .line 245
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
        43: .line 249
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.jsch:Lcom/jcraft/jsch/JSch;
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.JSch.addSession:(Lcom/jcraft/jsch/Session;)V
        44: .line 253
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.V_C:[B
            arraylength
            iconst_1
            iadd
            newarray 8
            astore 4 /* foo */
        start local 4 // byte[] foo
        45: .line 254
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.V_C:[B
            iconst_0
            aload 4 /* foo */
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.V_C:[B
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        46: .line 255
            aload 4 /* foo */
            aload 4 /* foo */
            arraylength
            iconst_1
            isub
            bipush 10
            bastore
        47: .line 256
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            aload 4 /* foo */
            iconst_0
            aload 4 /* foo */
            arraylength
            invokevirtual com.jcraft.jsch.IO.put:([BII)V
        end local 4 // byte[] foo
        48: .line 260
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* i */
        start local 2 // int i
        49: .line 261
            iconst_0
            istore 3 /* j */
        start local 3 // int j
        50: .line 262
            goto 55
        51: .line 263
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            invokevirtual com.jcraft.jsch.IO.getByte:()I
            istore 3 /* j */
        52: .line 264
            iload 3 /* j */
            ifge 53
            goto 56
        53: .line 265
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iload 2 /* i */
            iload 3 /* j */
            i2b
            bastore
            iinc 2 /* i */ 1
        54: .line 266
            iload 3 /* j */
            bipush 10
            if_icmpne 55
            goto 56
        55: .line 262
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            arraylength
            if_icmplt 51
        56: .line 268
      StackMap locals:
      StackMap stack:
            iload 3 /* j */
            ifge 58
        57: .line 269
            new com.jcraft.jsch.JSchException
            dup
            ldc "connection is closed by foreign host"
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        58: .line 272
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iload 2 /* i */
            iconst_1
            isub
            baload
            bipush 10
            if_icmpne 62
        59: .line 273
            iinc 2 /* i */ -1
        60: .line 274
            iload 2 /* i */
            ifle 62
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iload 2 /* i */
            iconst_1
            isub
            baload
            bipush 13
            if_icmpne 62
        61: .line 275
            iinc 2 /* i */ -1
        62: .line 279
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            iconst_3
            if_icmple 48
        63: .line 280
            iload 2 /* i */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            arraylength
            if_icmpeq 67
        64: .line 281
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            baload
            bipush 83
            if_icmpne 48
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_1
            baload
            bipush 83
            if_icmpne 48
        65: .line 282
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_2
            baload
            bipush 72
            if_icmpne 48
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_3
            baload
            bipush 45
            if_icmpeq 67
        66: .line 285
            goto 48
        67: .line 288
      StackMap locals:
      StackMap stack:
            iload 2 /* i */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            arraylength
            if_icmpeq 70
        68: .line 289
            iload 2 /* i */
            bipush 7
            if_icmplt 70
        69: .line 290
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_4
            baload
            bipush 49
            if_icmpne 71
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            bipush 6
            baload
            bipush 57
            if_icmpeq 71
        70: .line 292
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            ldc "invalid server's version string"
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        71: .line 297
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 2 /* i */
            newarray 8
            putfield com.jcraft.jsch.Session.V_S:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.V_S:[B
            iconst_0
            iload 2 /* i */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        72: .line 300
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 79
        73: .line 301
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
        74: .line 302
            new java.lang.StringBuilder
            dup
            ldc "Remote version string: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.V_S:[B
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        75: .line 301
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
        76: .line 303
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
        77: .line 304
            new java.lang.StringBuilder
            dup
            ldc "Local version string: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.V_C:[B
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        78: .line 303
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
        79: .line 307
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Session.send_kexinit:()V
        80: .line 309
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Session.read:(Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/Buffer;
            putfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
        81: .line 310
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getCommand:()B
            bipush 20
            if_icmpeq 84
        82: .line 311
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.in_kex:Z
        83: .line 312
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid protocol: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getCommand:()B
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        84: .line 315
      StackMap locals:
      StackMap stack:
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 88
        85: .line 316
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
        86: .line 317
            ldc "SSH_MSG_KEXINIT received"
        87: .line 316
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
        88: .line 320
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Session.receive_kexinit:(Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/KeyExchange;
            astore 4 /* kex */
        start local 4 // com.jcraft.jsch.KeyExchange kex
        89: .line 323
      StackMap locals: com.jcraft.jsch.KeyExchange
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Session.read:(Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/Buffer;
            putfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
        90: .line 324
            aload 4 /* kex */
            invokevirtual com.jcraft.jsch.KeyExchange.getState:()I
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getCommand:()B
            if_icmpne 96
        91: .line 325
            aload 0 /* this */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield com.jcraft.jsch.Session.kex_start_time:J
        92: .line 326
            aload 4 /* kex */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.KeyExchange.next:(Lcom/jcraft/jsch/Buffer;)Z
            istore 5 /* result */
        start local 5 // boolean result
        93: .line 327
            iload 5 /* result */
            ifne 98
        94: .line 329
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.in_kex:Z
        95: .line 330
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "verify: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* result */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // boolean result
        96: .line 334
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.in_kex:Z
        97: .line 335
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid protocol(kex): "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getCommand:()B
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        98: .line 337
      StackMap locals:
      StackMap stack:
            aload 4 /* kex */
            invokevirtual com.jcraft.jsch.KeyExchange.getState:()I
            ifne 89
        99: .line 343
            invokestatic java.lang.System.currentTimeMillis:()J
            lstore 5 /* tmp */
        start local 5 // long tmp
       100: .line 344
            aload 0 /* this */
            iconst_1
            putfield com.jcraft.jsch.Session.in_prompt:Z
       101: .line 345
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.port:I
            aload 4 /* kex */
            invokevirtual com.jcraft.jsch.Session.checkHost:(Ljava/lang/String;ILcom/jcraft/jsch/KeyExchange;)V
       102: .line 346
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.in_prompt:Z
       103: .line 347
            aload 0 /* this */
            dup
            getfield com.jcraft.jsch.Session.kex_start_time:J
            invokestatic java.lang.System.currentTimeMillis:()J
            lload 5 /* tmp */
            lsub
            ladd
            putfield com.jcraft.jsch.Session.kex_start_time:J
        end local 5 // long tmp
       104: .line 348
            goto 109
       105: .line 349
      StackMap locals:
      StackMap stack: com.jcraft.jsch.JSchException
            astore 5 /* ee */
        start local 5 // com.jcraft.jsch.JSchException ee
       106: .line 350
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.in_kex:Z
       107: .line 351
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.in_prompt:Z
       108: .line 352
            aload 5 /* ee */
            athrow
        end local 5 // com.jcraft.jsch.JSchException ee
       109: .line 355
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Session.send_newkeys:()V
       110: .line 358
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Session.read:(Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/Buffer;
            putfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
       111: .line 360
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getCommand:()B
            bipush 21
            if_icmpne 118
       112: .line 362
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 116
       113: .line 363
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
       114: .line 364
            ldc "SSH_MSG_NEWKEYS received"
       115: .line 363
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
       116: .line 367
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            aload 4 /* kex */
            invokevirtual com.jcraft.jsch.Session.receive_newkeys:(Lcom/jcraft/jsch/Buffer;Lcom/jcraft/jsch/KeyExchange;)V
       117: .line 368
            goto 120
       118: .line 370
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.in_kex:Z
       119: .line 371
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "invalid protocol(newkyes): "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getCommand:()B
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
       120: .line 375
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "MaxAuthTries"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* s */
        start local 5 // java.lang.String s
       121: .line 376
            aload 5 /* s */
            ifnull 126
       122: .line 377
            aload 0 /* this */
            aload 5 /* s */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield com.jcraft.jsch.Session.max_auth_tries:I
        end local 5 // java.lang.String s
       123: .line 379
            goto 126
       124: .line 380
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            astore 5 /* e */
        start local 5 // java.lang.NumberFormatException e
       125: .line 381
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "MaxAuthTries: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            ldc "MaxAuthTries"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 5 /* e */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 5 // java.lang.NumberFormatException e
       126: .line 384
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 5 /* auth */
        start local 5 // boolean auth
       127: .line 385
            iconst_0
            istore 6 /* auth_cancel */
        start local 6 // boolean auth_cancel
       128: .line 387
            aconst_null
            astore 7 /* ua */
        start local 7 // com.jcraft.jsch.UserAuth ua
       129: .line 389
            aload 0 /* this */
            ldc "userauth.none"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 8 /* c */
        start local 8 // java.lang.Class c
       130: .line 390
            aload 8 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.UserAuth
            astore 7 /* ua */
        end local 8 // java.lang.Class c
       131: .line 391
            goto 134
       132: .line 392
      StackMap locals: com.jcraft.jsch.Session int int int com.jcraft.jsch.KeyExchange int int com.jcraft.jsch.UserAuth
      StackMap stack: java.lang.Exception
            astore 8 /* e */
        start local 8 // java.lang.Exception e
       133: .line 393
            new com.jcraft.jsch.JSchException
            dup
            aload 8 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aload 8 /* e */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 8 // java.lang.Exception e
       134: .line 396
      StackMap locals:
      StackMap stack:
            aload 7 /* ua */
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.UserAuth.start:(Lcom/jcraft/jsch/Session;)Z
            istore 5 /* auth */
       135: .line 398
            aload 0 /* this */
            ldc "PreferredAuthentications"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            astore 8 /* cmethods */
        start local 8 // java.lang.String cmethods
       136: .line 400
            aload 8 /* cmethods */
            ldc ","
            invokestatic com.jcraft.jsch.Util.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 9 /* cmethoda */
        start local 9 // java.lang.String[] cmethoda
       137: .line 402
            aconst_null
            astore 10 /* smethods */
        start local 10 // java.lang.String smethods
       138: .line 403
            iload 5 /* auth */
            ifne 144
       139: .line 404
            aload 7 /* ua */
            checkcast com.jcraft.jsch.UserAuthNone
            invokevirtual com.jcraft.jsch.UserAuthNone.getMethods:()Ljava/lang/String;
            astore 10 /* smethods */
       140: .line 405
            aload 10 /* smethods */
            ifnull 143
       141: .line 406
            aload 10 /* smethods */
            invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
            astore 10 /* smethods */
       142: .line 407
            goto 144
       143: .line 411
      StackMap locals: java.lang.String java.lang.String[] java.lang.String
      StackMap stack:
            aload 8 /* cmethods */
            astore 10 /* smethods */
       144: .line 415
      StackMap locals:
      StackMap stack:
            aload 10 /* smethods */
            ldc ","
            invokestatic com.jcraft.jsch.Util.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 11 /* smethoda */
        start local 11 // java.lang.String[] smethoda
       145: .line 417
            iconst_0
            istore 12 /* methodi */
        start local 12 // int methodi
       146: .line 422
            goto 213
       147: .line 425
      StackMap locals: java.lang.String[] int
      StackMap stack:
            aload 9 /* cmethoda */
            iload 12 /* methodi */
            iinc 12 /* methodi */ 1
            aaload
            astore 13 /* method */
        start local 13 // java.lang.String method
       148: .line 426
            iconst_0
            istore 14 /* acceptable */
        start local 14 // boolean acceptable
       149: .line 427
            iconst_0
            istore 15 /* k */
        start local 15 // int k
       150: goto 155
       151: .line 428
      StackMap locals: java.lang.String int int
      StackMap stack:
            aload 11 /* smethoda */
            iload 15 /* k */
            aaload
            aload 13 /* method */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 154
       152: .line 429
            iconst_1
            istore 14 /* acceptable */
       153: .line 430
            goto 156
       154: .line 427
      StackMap locals:
      StackMap stack:
            iinc 15 /* k */ 1
      StackMap locals:
      StackMap stack:
       155: iload 15 /* k */
            aload 11 /* smethoda */
            arraylength
            if_icmplt 151
        end local 15 // int k
       156: .line 433
      StackMap locals:
      StackMap stack:
            iload 14 /* acceptable */
            ifne 158
       157: .line 434
            goto 213
       158: .line 439
      StackMap locals:
      StackMap stack:
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 173
       159: .line 440
            ldc "Authentications that can continue: "
            astore 15 /* str */
        start local 15 // java.lang.String str
       160: .line 441
            iload 12 /* methodi */
            iconst_1
            isub
            istore 16 /* k */
        start local 16 // int k
       161: goto 166
       162: .line 442
      StackMap locals: java.lang.String int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            aload 15 /* str */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 9 /* cmethoda */
            iload 16 /* k */
            aaload
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 15 /* str */
       163: .line 443
            iload 16 /* k */
            iconst_1
            iadd
            aload 9 /* cmethoda */
            arraylength
            if_icmpge 165
       164: .line 444
            new java.lang.StringBuilder
            dup
            aload 15 /* str */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc ","
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 15 /* str */
       165: .line 441
      StackMap locals:
      StackMap stack:
            iinc 16 /* k */ 1
      StackMap locals:
      StackMap stack:
       166: iload 16 /* k */
            aload 9 /* cmethoda */
            arraylength
            if_icmplt 162
        end local 16 // int k
       167: .line 446
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
       168: .line 447
            aload 15 /* str */
       169: .line 446
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
       170: .line 448
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
       171: .line 449
            new java.lang.StringBuilder
            dup
            ldc "Next authentication method: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       172: .line 448
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
        end local 15 // java.lang.String str
       173: .line 452
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 7 /* ua */
       174: .line 454
            aconst_null
            astore 15 /* c */
        start local 15 // java.lang.Class c
       175: .line 455
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "userauth."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            ifnull 184
       176: .line 456
            aload 0 /* this */
            new java.lang.StringBuilder
            dup
            ldc "userauth."
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 15 /* c */
       177: .line 457
            aload 15 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.UserAuth
            astore 7 /* ua */
        end local 15 // java.lang.Class c
       178: .line 459
            goto 184
       179: .line 460
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
       180: .line 461
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_2
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 184
       181: .line 462
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_2
       182: .line 463
            new java.lang.StringBuilder
            dup
            ldc "failed to load "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " method"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       183: .line 462
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
       184: .line 467
      StackMap locals:
      StackMap stack:
            aload 7 /* ua */
            ifnull 213
       185: .line 468
            iconst_0
            istore 6 /* auth_cancel */
       186: .line 470
            aload 7 /* ua */
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.UserAuth.start:(Lcom/jcraft/jsch/Session;)Z
            istore 5 /* auth */
       187: .line 471
            iload 5 /* auth */
            ifeq 213
       188: .line 472
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 213
       189: .line 473
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
       190: .line 474
            new java.lang.StringBuilder
            dup
            ldc "Authentication succeeded ("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* method */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       191: .line 473
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
       192: .line 476
            goto 213
       193: .line 477
      StackMap locals:
      StackMap stack: com.jcraft.jsch.JSchAuthCancelException
            pop
       194: .line 478
            iconst_1
            istore 6 /* auth_cancel */
            goto 213
       195: .line 480
      StackMap locals:
      StackMap stack: com.jcraft.jsch.JSchPartialAuthException
            astore 15 /* ee */
        start local 15 // com.jcraft.jsch.JSchPartialAuthException ee
       196: .line 481
            aload 10 /* smethods */
            astore 16 /* tmp */
        start local 16 // java.lang.String tmp
       197: .line 482
            aload 15 /* ee */
            invokevirtual com.jcraft.jsch.JSchPartialAuthException.getMethods:()Ljava/lang/String;
            astore 10 /* smethods */
       198: .line 483
            aload 10 /* smethods */
            ldc ","
            invokestatic com.jcraft.jsch.Util.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 11 /* smethoda */
       199: .line 484
            aload 16 /* tmp */
            aload 10 /* smethods */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 201
       200: .line 485
            iconst_0
            istore 12 /* methodi */
       201: .line 488
      StackMap locals: com.jcraft.jsch.JSchPartialAuthException java.lang.String
      StackMap stack:
            iconst_0
            istore 6 /* auth_cancel */
       202: .line 489
            goto 217
        end local 16 // java.lang.String tmp
        end local 15 // com.jcraft.jsch.JSchPartialAuthException ee
       203: .line 491
      StackMap locals: com.jcraft.jsch.Session int int int com.jcraft.jsch.KeyExchange int int com.jcraft.jsch.UserAuth java.lang.String java.lang.String[] java.lang.String java.lang.String[] int java.lang.String int
      StackMap stack: java.lang.RuntimeException
            astore 15 /* ee */
        start local 15 // java.lang.RuntimeException ee
       204: .line 492
            aload 15 /* ee */
            athrow
        end local 15 // java.lang.RuntimeException ee
       205: .line 494
      StackMap locals:
      StackMap stack: com.jcraft.jsch.JSchException
            astore 15 /* ee */
        start local 15 // com.jcraft.jsch.JSchException ee
       206: .line 495
            aload 15 /* ee */
            athrow
        end local 15 // com.jcraft.jsch.JSchException ee
       207: .line 497
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 15 /* ee */
        start local 15 // java.lang.Exception ee
       208: .line 499
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_2
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 218
       209: .line 500
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_2
       210: .line 501
            new java.lang.StringBuilder
            dup
            ldc "an exception during authentication\n"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 15 /* ee */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       211: .line 500
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
       212: .line 503
            goto 218
        end local 15 // java.lang.Exception ee
        end local 14 // boolean acceptable
        end local 13 // java.lang.String method
       213: .line 422
      StackMap locals:
      StackMap stack:
            iload 5 /* auth */
            ifne 218
       214: .line 423
            aload 9 /* cmethoda */
            ifnull 218
            iload 12 /* methodi */
            aload 9 /* cmethoda */
            arraylength
       215: .line 422
            if_icmplt 147
       216: .line 507
            goto 218
       217: .line 420
      StackMap locals:
      StackMap stack:
            goto 213
       218: .line 510
      StackMap locals:
      StackMap stack:
            iload 5 /* auth */
            ifne 227
       219: .line 511
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.auth_failures:I
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.max_auth_tries:I
            if_icmplt 224
       220: .line 512
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 224
       221: .line 513
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
       222: .line 514
            new java.lang.StringBuilder
            dup
            ldc "Login trials exceeds "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.max_auth_tries:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       223: .line 513
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
       224: .line 517
      StackMap locals:
      StackMap stack:
            iload 6 /* auth_cancel */
            ifeq 226
       225: .line 518
            new com.jcraft.jsch.JSchException
            dup
            ldc "Auth cancel"
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
       226: .line 519
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            ldc "Auth fail"
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
       227: .line 522
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
            ifnull 229
            iload 1 /* connectTimeout */
            ifgt 228
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.timeout:I
            ifle 229
       228: .line 523
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.timeout:I
            invokevirtual java.net.Socket.setSoTimeout:(I)V
       229: .line 526
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.jcraft.jsch.Session.isAuthed:Z
       230: .line 528
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.lock:Ljava/lang/Object;
            dup
            astore 13
            monitorenter
       231: .line 529
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.isConnected:Z
            ifeq 238
       232: .line 530
            aload 0 /* this */
            new java.lang.Thread
            dup
            aload 0 /* this */
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
            putfield com.jcraft.jsch.Session.connectThread:Ljava/lang/Thread;
       233: .line 531
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.connectThread:Ljava/lang/Thread;
            new java.lang.StringBuilder
            dup
            ldc "Connect thread "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " session"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
       234: .line 532
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.daemon_thread:Z
            ifeq 236
       235: .line 533
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.connectThread:Ljava/lang/Thread;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.daemon_thread:Z
            invokevirtual java.lang.Thread.setDaemon:(Z)V
       236: .line 535
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.connectThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.start:()V
       237: .line 537
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Session.requestPortForwarding:()V
       238: .line 528
      StackMap locals:
      StackMap stack:
            aload 13
            monitorexit
       239: goto 266
      StackMap locals:
      StackMap stack: java.lang.Throwable
       240: aload 13
            monitorexit
       241: athrow
        end local 12 // int methodi
        end local 11 // java.lang.String[] smethoda
        end local 10 // java.lang.String smethods
        end local 9 // java.lang.String[] cmethoda
        end local 8 // java.lang.String cmethods
        end local 7 // com.jcraft.jsch.UserAuth ua
        end local 6 // boolean auth_cancel
        end local 5 // boolean auth
        end local 4 // com.jcraft.jsch.KeyExchange kex
        end local 3 // int j
        end local 2 // int i
       242: .line 545
      StackMap locals: com.jcraft.jsch.Session int
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
       243: .line 546
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.in_kex:Z
       244: .line 548
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.isConnected:Z
            ifeq 255
       245: .line 549
            aload 2 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            astore 3 /* message */
        start local 3 // java.lang.String message
       246: .line 550
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.packet:Lcom/jcraft/jsch/Packet;
            invokevirtual com.jcraft.jsch.Packet.reset:()V
       247: .line 551
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            bipush 13
            aload 3 /* message */
            invokevirtual java.lang.String.length:()I
            iadd
            iconst_2
            iadd
            sipush 128
            iadd
            invokevirtual com.jcraft.jsch.Buffer.checkFreeSize:(I)V
       248: .line 552
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            iconst_1
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
       249: .line 553
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            iconst_3
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
       250: .line 554
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            aload 3 /* message */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
       251: .line 555
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            ldc "en"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
       252: .line 556
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.packet:Lcom/jcraft/jsch/Packet;
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
        end local 3 // java.lang.String message
       253: .line 558
            goto 255
       254: .line 559
      StackMap locals: com.jcraft.jsch.Session int java.lang.Exception
      StackMap stack: java.lang.Exception
            pop
       255: .line 560
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Session.disconnect:()V
       256: goto 258
      StackMap locals:
      StackMap stack: java.lang.Exception
       257: pop
       258: .line 561
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.isConnected:Z
       259: .line 563
            aload 2 /* e */
            instanceof java.lang.RuntimeException
            ifeq 260
            aload 2 /* e */
            checkcast java.lang.RuntimeException
            athrow
       260: .line 564
      StackMap locals:
      StackMap stack:
            aload 2 /* e */
            instanceof com.jcraft.jsch.JSchException
            ifeq 261
            aload 2 /* e */
            checkcast com.jcraft.jsch.JSchException
            athrow
       261: .line 565
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Session.connect: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* e */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 2 // java.lang.Exception e
       262: .line 567
      StackMap locals: com.jcraft.jsch.Session int
      StackMap stack: java.lang.Throwable
            astore 17
       263: .line 568
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.password:[B
            invokestatic com.jcraft.jsch.Util.bzero:([B)V
       264: .line 569
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.password:[B
       265: .line 570
            aload 17
            athrow
       266: .line 568
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.password:[B
            invokestatic com.jcraft.jsch.Util.bzero:([B)V
       267: .line 569
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.password:[B
       268: .line 571
            return
        end local 1 // int connectTimeout
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0  269     0            this  Lcom/jcraft/jsch/Session;
            0  269     1  connectTimeout  I
            5    6     2               c  Ljava/lang/Class;
            8    9     2               e  Ljava/lang/Exception;
           49  242     2               i  I
           50  242     3               j  I
           18   20     4              in  Ljava/io/InputStream;
           22   26     4              in  Ljava/io/InputStream;
           19   20     5             out  Ljava/io/OutputStream;
           23   26     5             out  Ljava/io/OutputStream;
           45   48     4             foo  [B
           89  242     4             kex  Lcom/jcraft/jsch/KeyExchange;
           93   96     5          result  Z
          100  104     5             tmp  J
          106  109     5              ee  Lcom/jcraft/jsch/JSchException;
          121  123     5               s  Ljava/lang/String;
          125  126     5               e  Ljava/lang/NumberFormatException;
          127  242     5            auth  Z
          128  242     6     auth_cancel  Z
          129  242     7              ua  Lcom/jcraft/jsch/UserAuth;
          130  131     8               c  Ljava/lang/Class;
          133  134     8               e  Ljava/lang/Exception;
          136  242     8        cmethods  Ljava/lang/String;
          137  242     9        cmethoda  [Ljava/lang/String;
          138  242    10        smethods  Ljava/lang/String;
          145  242    11        smethoda  [Ljava/lang/String;
          146  242    12         methodi  I
          148  213    13          method  Ljava/lang/String;
          149  213    14      acceptable  Z
          150  156    15               k  I
          160  173    15             str  Ljava/lang/String;
          161  167    16               k  I
          175  178    15               c  Ljava/lang/Class;
          196  203    15              ee  Lcom/jcraft/jsch/JSchPartialAuthException;
          197  203    16             tmp  Ljava/lang/String;
          204  205    15              ee  Ljava/lang/RuntimeException;
          206  207    15              ee  Lcom/jcraft/jsch/JSchException;
          208  213    15              ee  Ljava/lang/Exception;
          243  262     2               e  Ljava/lang/Exception;
          246  253     3         message  Ljava/lang/String;
      Exception table:
        from    to  target  type
           4     6       7  Class java.lang.Exception
          28    33      34  any
          34    35      34  any
          99   104     105  Class com.jcraft.jsch.JSchException
         120   123     124  Class java.lang.NumberFormatException
         129   131     132  Class java.lang.Exception
         174   178     179  Class java.lang.Exception
         186   192     193  Class com.jcraft.jsch.JSchAuthCancelException
         186   192     195  Class com.jcraft.jsch.JSchPartialAuthException
         186   192     203  Class java.lang.RuntimeException
         186   192     205  Class com.jcraft.jsch.JSchException
         186   192     207  Class java.lang.Exception
         231   239     240  any
         240   241     240  any
          14   242     242  Class java.lang.Exception
         244   253     254  Class java.lang.Exception
         255   256     257  Class java.lang.Exception
          14   262     262  any
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
                Name  Flags
      connectTimeout  

  private com.jcraft.jsch.KeyExchange receive_kexinit(com.jcraft.jsch.Buffer);
    descriptor: (Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/KeyExchange;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.Buffer buf
         0: .line 574
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 2 /* j */
        start local 2 // int j
         1: .line 575
            iload 2 /* j */
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getLength:()I
            if_icmpeq 5
         2: .line 576
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            pop
         3: .line 577
            aload 0 /* this */
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.index:I
            iconst_5
            isub
            newarray 8
            putfield com.jcraft.jsch.Session.I_S:[B
         4: .line 578
            goto 6
         5: .line 580
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            iload 2 /* j */
            iconst_1
            isub
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            isub
            newarray 8
            putfield com.jcraft.jsch.Session.I_S:[B
         6: .line 582
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.s:I
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.I_S:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.I_S:[B
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         7: .line 584
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.in_kex:Z
            ifne 9
         8: .line 585
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Session.send_kexinit:()V
         9: .line 588
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.I_S:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.I_C:[B
            invokestatic com.jcraft.jsch.KeyExchange.guess:([B[B)[Ljava/lang/String;
            putfield com.jcraft.jsch.Session.guess:[Ljava/lang/String;
        10: .line 589
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.guess:[Ljava/lang/String;
            ifnonnull 12
        11: .line 590
            new com.jcraft.jsch.JSchException
            dup
            ldc "Algorithm negotiation fail"
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        12: .line 593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.isAuthed:Z
            ifne 16
        13: .line 594
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.guess:[Ljava/lang/String;
            iconst_2
            aaload
            ldc "none"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 15
        14: .line 595
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.guess:[Ljava/lang/String;
            iconst_3
            aaload
            ldc "none"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 596
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            ldc "NONE Cipher should not be chosen before authentification is successed."
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 599
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 3 /* kex */
        start local 3 // com.jcraft.jsch.KeyExchange kex
        17: .line 601
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.guess:[Ljava/lang/String;
            iconst_0
            aaload
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 4 /* c */
        start local 4 // java.lang.Class c
        18: .line 602
            aload 4 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.KeyExchange
            astore 3 /* kex */
        end local 4 // java.lang.Class c
        19: .line 603
            goto 22
        20: .line 604
      StackMap locals: com.jcraft.jsch.Session com.jcraft.jsch.Buffer int com.jcraft.jsch.KeyExchange
      StackMap stack: java.lang.Exception
            astore 4 /* e */
        start local 4 // java.lang.Exception e
        21: .line 605
            new com.jcraft.jsch.JSchException
            dup
            aload 4 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aload 4 /* e */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 4 // java.lang.Exception e
        22: .line 608
      StackMap locals:
      StackMap stack:
            aload 3 /* kex */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.V_S:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.V_C:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.I_S:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.I_C:[B
            invokevirtual com.jcraft.jsch.KeyExchange.init:(Lcom/jcraft/jsch/Session;[B[B[B[B)V
        23: .line 609
            aload 3 /* kex */
            areturn
        end local 3 // com.jcraft.jsch.KeyExchange kex
        end local 2 // int j
        end local 1 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   24     0  this  Lcom/jcraft/jsch/Session;
            0   24     1   buf  Lcom/jcraft/jsch/Buffer;
            1   24     2     j  I
           17   24     3   kex  Lcom/jcraft/jsch/KeyExchange;
           18   19     4     c  Ljava/lang/Class;
           21   22     4     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          17    19      20  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      buf   

  public void rekey();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 615
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Session.send_kexinit:()V
         1: .line 616
            return
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/Session;
    Exceptions:
      throws java.lang.Exception

  private void send_kexinit();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 618
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.in_kex:Z
            ifeq 2
         1: .line 619
            return
         2: .line 621
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "cipher.c2s"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* cipherc2s */
        start local 1 // java.lang.String cipherc2s
         3: .line 622
            aload 0 /* this */
            ldc "cipher.s2c"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* ciphers2c */
        start local 2 // java.lang.String ciphers2c
         4: .line 624
            aload 0 /* this */
            aload 0 /* this */
            ldc "CheckCiphers"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.jcraft.jsch.Session.checkCiphers:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* not_available_ciphers */
        start local 3 // java.lang.String[] not_available_ciphers
         5: .line 625
            aload 3 /* not_available_ciphers */
            ifnull 10
            aload 3 /* not_available_ciphers */
            arraylength
            ifle 10
         6: .line 626
            aload 1 /* cipherc2s */
            aload 3 /* not_available_ciphers */
            invokestatic com.jcraft.jsch.Util.diffString:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* cipherc2s */
         7: .line 627
            aload 2 /* ciphers2c */
            aload 3 /* not_available_ciphers */
            invokestatic com.jcraft.jsch.Util.diffString:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* ciphers2c */
         8: .line 628
            aload 1 /* cipherc2s */
            ifnull 9
            aload 2 /* ciphers2c */
            ifnonnull 10
         9: .line 629
      StackMap locals: java.lang.String java.lang.String java.lang.String[]
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            ldc "There are not any available ciphers."
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 633
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "kex"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* kex */
        start local 4 // java.lang.String kex
        11: .line 634
            aload 0 /* this */
            aload 0 /* this */
            ldc "CheckKexes"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.jcraft.jsch.Session.checkKexes:(Ljava/lang/String;)[Ljava/lang/String;
            astore 5 /* not_available_kexes */
        start local 5 // java.lang.String[] not_available_kexes
        12: .line 635
            aload 5 /* not_available_kexes */
            ifnull 16
            aload 5 /* not_available_kexes */
            arraylength
            ifle 16
        13: .line 636
            aload 4 /* kex */
            aload 5 /* not_available_kexes */
            invokestatic com.jcraft.jsch.Util.diffString:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* kex */
        14: .line 637
            aload 4 /* kex */
            ifnonnull 16
        15: .line 638
            new com.jcraft.jsch.JSchException
            dup
            ldc "There are not any available kexes."
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        16: .line 642
      StackMap locals: java.lang.String java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            ldc "server_host_key"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* server_host_key */
        start local 6 // java.lang.String server_host_key
        17: .line 644
            aload 0 /* this */
            aload 0 /* this */
            ldc "CheckSignatures"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokevirtual com.jcraft.jsch.Session.checkSignatures:(Ljava/lang/String;)[Ljava/lang/String;
        18: .line 643
            astore 7 /* not_available_shks */
        start local 7 // java.lang.String[] not_available_shks
        19: .line 645
            aload 7 /* not_available_shks */
            ifnull 23
            aload 7 /* not_available_shks */
            arraylength
            ifle 23
        20: .line 646
            aload 6 /* server_host_key */
            aload 7 /* not_available_shks */
            invokestatic com.jcraft.jsch.Util.diffString:(Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* server_host_key */
        21: .line 647
            aload 6 /* server_host_key */
            ifnonnull 23
        22: .line 648
            new com.jcraft.jsch.JSchException
            dup
            ldc "There are not any available sig algorithm."
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        23: .line 652
      StackMap locals: java.lang.String java.lang.String[]
      StackMap stack:
            aload 0 /* this */
            iconst_1
            putfield com.jcraft.jsch.Session.in_kex:Z
        24: .line 653
            aload 0 /* this */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield com.jcraft.jsch.Session.kex_start_time:J
        25: .line 667
            new com.jcraft.jsch.Buffer
            dup
            invokespecial com.jcraft.jsch.Buffer.<init>:()V
            astore 8 /* buf */
        start local 8 // com.jcraft.jsch.Buffer buf
        26: .line 668
            new com.jcraft.jsch.Packet
            dup
            aload 8 /* buf */
            invokespecial com.jcraft.jsch.Packet.<init>:(Lcom/jcraft/jsch/Buffer;)V
            astore 9 /* packet */
        start local 9 // com.jcraft.jsch.Packet packet
        27: .line 669
            aload 9 /* packet */
            invokevirtual com.jcraft.jsch.Packet.reset:()V
        28: .line 670
            aload 8 /* buf */
            bipush 20
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
        29: .line 671
            getstatic com.jcraft.jsch.Session.random:Lcom/jcraft/jsch/Random;
            dup
            astore 10
            monitorenter
        30: .line 672
            getstatic com.jcraft.jsch.Session.random:Lcom/jcraft/jsch/Random;
            aload 8 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 8 /* buf */
            getfield com.jcraft.jsch.Buffer.index:I
            bipush 16
            invokeinterface com.jcraft.jsch.Random.fill:([BII)V
            aload 8 /* buf */
            bipush 16
            invokevirtual com.jcraft.jsch.Buffer.skip:(I)V
        31: .line 671
            aload 10
            monitorexit
        32: goto 35
      StackMap locals: com.jcraft.jsch.Session java.lang.String java.lang.String java.lang.String[] java.lang.String java.lang.String[] java.lang.String java.lang.String[] com.jcraft.jsch.Buffer com.jcraft.jsch.Packet com.jcraft.jsch.Random
      StackMap stack: java.lang.Throwable
        33: aload 10
            monitorexit
        34: athrow
        35: .line 674
      StackMap locals:
      StackMap stack:
            aload 8 /* buf */
            aload 4 /* kex */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        36: .line 675
            aload 8 /* buf */
            aload 6 /* server_host_key */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        37: .line 676
            aload 8 /* buf */
            aload 1 /* cipherc2s */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        38: .line 677
            aload 8 /* buf */
            aload 2 /* ciphers2c */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        39: .line 678
            aload 8 /* buf */
            aload 0 /* this */
            ldc "mac.c2s"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        40: .line 679
            aload 8 /* buf */
            aload 0 /* this */
            ldc "mac.s2c"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        41: .line 680
            aload 8 /* buf */
            aload 0 /* this */
            ldc "compression.c2s"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        42: .line 681
            aload 8 /* buf */
            aload 0 /* this */
            ldc "compression.s2c"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        43: .line 682
            aload 8 /* buf */
            aload 0 /* this */
            ldc "lang.c2s"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        44: .line 683
            aload 8 /* buf */
            aload 0 /* this */
            ldc "lang.s2c"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        45: .line 684
            aload 8 /* buf */
            iconst_0
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
        46: .line 685
            aload 8 /* buf */
            iconst_0
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
        47: .line 687
            aload 8 /* buf */
            iconst_5
            invokevirtual com.jcraft.jsch.Buffer.setOffSet:(I)V
        48: .line 688
            aload 0 /* this */
            aload 8 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getLength:()I
            newarray 8
            putfield com.jcraft.jsch.Session.I_C:[B
        49: .line 689
            aload 8 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.I_C:[B
            invokevirtual com.jcraft.jsch.Buffer.getByte:([B)V
        50: .line 691
            aload 0 /* this */
            aload 9 /* packet */
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
        51: .line 693
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 55
        52: .line 694
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
        53: .line 695
            ldc "SSH_MSG_KEXINIT sent"
        54: .line 694
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
        55: .line 697
      StackMap locals:
      StackMap stack:
            return
        end local 9 // com.jcraft.jsch.Packet packet
        end local 8 // com.jcraft.jsch.Buffer buf
        end local 7 // java.lang.String[] not_available_shks
        end local 6 // java.lang.String server_host_key
        end local 5 // java.lang.String[] not_available_kexes
        end local 4 // java.lang.String kex
        end local 3 // java.lang.String[] not_available_ciphers
        end local 2 // java.lang.String ciphers2c
        end local 1 // java.lang.String cipherc2s
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   56     0                   this  Lcom/jcraft/jsch/Session;
            3   56     1              cipherc2s  Ljava/lang/String;
            4   56     2              ciphers2c  Ljava/lang/String;
            5   56     3  not_available_ciphers  [Ljava/lang/String;
           11   56     4                    kex  Ljava/lang/String;
           12   56     5    not_available_kexes  [Ljava/lang/String;
           17   56     6        server_host_key  Ljava/lang/String;
           19   56     7     not_available_shks  [Ljava/lang/String;
           26   56     8                    buf  Lcom/jcraft/jsch/Buffer;
           27   56     9                 packet  Lcom/jcraft/jsch/Packet;
      Exception table:
        from    to  target  type
          30    32      33  any
          33    34      33  any
    Exceptions:
      throws java.lang.Exception

  private void send_newkeys();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 701
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.packet:Lcom/jcraft/jsch/Packet;
            invokevirtual com.jcraft.jsch.Packet.reset:()V
         1: .line 702
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            bipush 21
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
         2: .line 703
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.packet:Lcom/jcraft/jsch/Packet;
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
         3: .line 705
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 7
         4: .line 706
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
         5: .line 707
            ldc "SSH_MSG_NEWKEYS sent"
         6: .line 706
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
         7: .line 709
      StackMap locals:
      StackMap stack:
            return
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    8     0  this  Lcom/jcraft/jsch/Session;
    Exceptions:
      throws java.lang.Exception

  private void checkHost(java.lang.String, int, com.jcraft.jsch.KeyExchange);
    descriptor: (Ljava/lang/String;ILcom/jcraft/jsch/KeyExchange;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=15, args_size=4
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String chost
        start local 2 // int port
        start local 3 // com.jcraft.jsch.KeyExchange kex
         0: .line 712
            aload 0 /* this */
            ldc "StrictHostKeyChecking"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* shkc */
        start local 4 // java.lang.String shkc
         1: .line 714
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.hostKeyAlias:Ljava/lang/String;
            ifnull 3
         2: .line 715
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.hostKeyAlias:Ljava/lang/String;
            astore 1 /* chost */
         3: .line 720
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* kex */
            invokevirtual com.jcraft.jsch.KeyExchange.getHostKey:()[B
            astore 5 /* K_S */
        start local 5 // byte[] K_S
         4: .line 721
            aload 3 /* kex */
            invokevirtual com.jcraft.jsch.KeyExchange.getKeyType:()Ljava/lang/String;
            astore 6 /* key_type */
        start local 6 // java.lang.String key_type
         5: .line 722
            aload 3 /* kex */
            invokevirtual com.jcraft.jsch.KeyExchange.getFingerPrint:()Ljava/lang/String;
            astore 7 /* key_fprint */
        start local 7 // java.lang.String key_fprint
         6: .line 724
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.hostKeyAlias:Ljava/lang/String;
            ifnonnull 8
            iload 2 /* port */
            bipush 22
            if_icmpeq 8
         7: .line 725
            new java.lang.StringBuilder
            dup
            ldc "["
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* chost */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "]:"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 2 /* port */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 1 /* chost */
         8: .line 728
      StackMap locals: byte[] java.lang.String java.lang.String
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Session.getHostKeyRepository:()Lcom/jcraft/jsch/HostKeyRepository;
            astore 8 /* hkr */
        start local 8 // com.jcraft.jsch.HostKeyRepository hkr
         9: .line 730
            aload 0 /* this */
            ldc "HashKnownHosts"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* hkh */
        start local 9 // java.lang.String hkh
        10: .line 731
            aload 9 /* hkh */
            ldc "yes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
            aload 8 /* hkr */
            instanceof com.jcraft.jsch.KnownHosts
            ifeq 13
        11: .line 732
            aload 0 /* this */
            aload 8 /* hkr */
            checkcast com.jcraft.jsch.KnownHosts
            aload 1 /* chost */
            aload 5 /* K_S */
            invokevirtual com.jcraft.jsch.KnownHosts.createHashedHostKey:(Ljava/lang/String;[B)Lcom/jcraft/jsch/HostKey;
            putfield com.jcraft.jsch.Session.hostkey:Lcom/jcraft/jsch/HostKey;
        12: .line 733
            goto 14
        13: .line 735
      StackMap locals: com.jcraft.jsch.HostKeyRepository java.lang.String
      StackMap stack:
            aload 0 /* this */
            new com.jcraft.jsch.HostKey
            dup
            aload 1 /* chost */
            aload 5 /* K_S */
            invokespecial com.jcraft.jsch.HostKey.<init>:(Ljava/lang/String;[B)V
            putfield com.jcraft.jsch.Session.hostkey:Lcom/jcraft/jsch/HostKey;
        14: .line 738
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 10 /* i */
        start local 10 // int i
        15: .line 739
            aload 8 /* hkr */
            dup
            astore 11
            monitorenter
        16: .line 740
            aload 8 /* hkr */
            aload 1 /* chost */
            aload 5 /* K_S */
            invokeinterface com.jcraft.jsch.HostKeyRepository.check:(Ljava/lang/String;[B)I
            istore 10 /* i */
        17: .line 739
            aload 11
            monitorexit
        18: goto 21
      StackMap locals: com.jcraft.jsch.Session java.lang.String int com.jcraft.jsch.KeyExchange java.lang.String byte[] java.lang.String java.lang.String com.jcraft.jsch.HostKeyRepository java.lang.String int com.jcraft.jsch.HostKeyRepository
      StackMap stack: java.lang.Throwable
        19: aload 11
            monitorexit
        20: athrow
        21: .line 743
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 11 /* insert */
        start local 11 // boolean insert
        22: .line 744
            aload 4 /* shkc */
            ldc "ask"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 23
            aload 4 /* shkc */
            ldc "yes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 60
        23: .line 745
      StackMap locals: int
      StackMap stack:
            iload 10 /* i */
            iconst_2
            if_icmpne 60
        24: .line 746
            aconst_null
            astore 12 /* file */
        start local 12 // java.lang.String file
        25: .line 747
            aload 8 /* hkr */
            dup
            astore 13
            monitorenter
        26: .line 748
            aload 8 /* hkr */
            invokeinterface com.jcraft.jsch.HostKeyRepository.getKnownHostsRepositoryID:()Ljava/lang/String;
            astore 12 /* file */
        27: .line 747
            aload 13
            monitorexit
        28: goto 31
      StackMap locals: com.jcraft.jsch.Session java.lang.String int com.jcraft.jsch.KeyExchange java.lang.String byte[] java.lang.String java.lang.String com.jcraft.jsch.HostKeyRepository java.lang.String int int java.lang.String com.jcraft.jsch.HostKeyRepository
      StackMap stack: java.lang.Throwable
        29: aload 13
            monitorexit
        30: athrow
        31: .line 750
      StackMap locals:
      StackMap stack:
            aload 12 /* file */
            ifnonnull 32
            ldc "known_hosts"
            astore 12 /* file */
        32: .line 752
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 13 /* b */
        start local 13 // boolean b
        33: .line 754
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.userinfo:Lcom/jcraft/jsch/UserInfo;
            ifnull 48
        34: .line 756
            new java.lang.StringBuilder
            dup
            ldc "WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED!\nIT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!\nSomeone could be eavesdropping on you right now (man-in-the-middle attack)!\nIt is also possible that the "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        35: .line 759
            aload 6 /* key_type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " host key has just been changed.\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        36: .line 760
            ldc "The fingerprint for the "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* key_type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " key sent by the remote host "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* chost */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        37: .line 761
            aload 7 /* key_fprint */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        38: .line 762
            ldc "Please contact your system administrator.\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        39: .line 763
            ldc "Add correct host key in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 12 /* file */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " to get rid of this message."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        40: .line 756
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        41: .line 755
            astore 14 /* message */
        start local 14 // java.lang.String message
        42: .line 765
            aload 4 /* shkc */
            ldc "ask"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 47
        43: .line 766
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.userinfo:Lcom/jcraft/jsch/UserInfo;
            new java.lang.StringBuilder
            dup
            aload 14 /* message */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        44: .line 767
            ldc "\nDo you want to delete the old key and insert the new key?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        45: .line 766
            invokeinterface com.jcraft.jsch.UserInfo.promptYesNo:(Ljava/lang/String;)Z
            istore 13 /* b */
        46: .line 768
            goto 48
        47: .line 770
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.userinfo:Lcom/jcraft/jsch/UserInfo;
            aload 14 /* message */
            invokeinterface com.jcraft.jsch.UserInfo.showMessage:(Ljava/lang/String;)V
        end local 14 // java.lang.String message
        48: .line 774
      StackMap locals:
      StackMap stack:
            iload 13 /* b */
            ifne 50
        49: .line 775
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "HostKey has been changed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* chost */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        50: .line 778
      StackMap locals:
      StackMap stack:
            aload 8 /* hkr */
            dup
            astore 14
            monitorenter
        51: .line 779
            aload 8 /* hkr */
            aload 1 /* chost */
        52: .line 780
            aload 3 /* kex */
            invokevirtual com.jcraft.jsch.KeyExchange.getKeyAlgorithName:()Ljava/lang/String;
        53: .line 781
            aconst_null
        54: .line 779
            invokeinterface com.jcraft.jsch.HostKeyRepository.remove:(Ljava/lang/String;Ljava/lang/String;[B)V
        55: .line 782
            iconst_1
            istore 11 /* insert */
        56: .line 778
            aload 14
            monitorexit
        57: goto 60
      StackMap locals: com.jcraft.jsch.Session java.lang.String int com.jcraft.jsch.KeyExchange java.lang.String byte[] java.lang.String java.lang.String com.jcraft.jsch.HostKeyRepository java.lang.String int int java.lang.String int com.jcraft.jsch.HostKeyRepository
      StackMap stack: java.lang.Throwable
        58: aload 14
            monitorexit
        59: athrow
        end local 13 // boolean b
        end local 12 // java.lang.String file
        60: .line 786
      StackMap locals:
      StackMap stack:
            aload 4 /* shkc */
            ldc "ask"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 61
            aload 4 /* shkc */
            ldc "yes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 78
        61: .line 787
      StackMap locals:
      StackMap stack:
            iload 10 /* i */
            ifeq 78
            iload 11 /* insert */
            ifne 78
        62: .line 788
            aload 4 /* shkc */
            ldc "yes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 64
        63: .line 789
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "reject HostKey: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        64: .line 792
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.userinfo:Lcom/jcraft/jsch/UserInfo;
            ifnull 75
        65: .line 793
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.userinfo:Lcom/jcraft/jsch/UserInfo;
        66: .line 794
            new java.lang.StringBuilder
            dup
            ldc "The authenticity of host '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' can't be established.\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        67: .line 795
            aload 6 /* key_type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " key fingerprint is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* key_fprint */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ".\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        68: .line 796
            ldc "Are you sure you want to continue connecting?"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        69: .line 794
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        70: .line 793
            invokeinterface com.jcraft.jsch.UserInfo.promptYesNo:(Ljava/lang/String;)Z
            istore 12 /* foo */
        start local 12 // boolean foo
        71: .line 798
            iload 12 /* foo */
            ifne 73
        72: .line 799
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "reject HostKey: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        73: .line 801
      StackMap locals: int
      StackMap stack:
            iconst_1
            istore 11 /* insert */
        end local 12 // boolean foo
        74: .line 802
            goto 78
        75: .line 804
      StackMap locals:
      StackMap stack:
            iload 10 /* i */
            iconst_1
            if_icmpne 77
        76: .line 805
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "UnknownHostKey: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ". "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* key_type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " key fingerprint is "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* key_fprint */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        77: .line 807
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "HostKey has been changed: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        78: .line 811
      StackMap locals:
      StackMap stack:
            aload 4 /* shkc */
            ldc "no"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 81
        79: .line 812
            iconst_1
            iload 10 /* i */
            if_icmpne 81
        80: .line 813
            iconst_1
            istore 11 /* insert */
        81: .line 816
      StackMap locals:
      StackMap stack:
            iload 10 /* i */
            ifne 103
        82: .line 818
            aload 8 /* hkr */
            aload 1 /* chost */
            aload 3 /* kex */
            invokevirtual com.jcraft.jsch.KeyExchange.getKeyAlgorithName:()Ljava/lang/String;
            invokeinterface com.jcraft.jsch.HostKeyRepository.getHostKey:(Ljava/lang/String;Ljava/lang/String;)[Lcom/jcraft/jsch/HostKey;
        83: .line 817
            astore 12 /* keys */
        start local 12 // com.jcraft.jsch.HostKey[] keys
        84: .line 819
            aload 5 /* K_S */
            iconst_0
            aload 5 /* K_S */
            arraylength
            invokestatic com.jcraft.jsch.Util.toBase64:([BII)[B
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            astore 13 /* _key */
        start local 13 // java.lang.String _key
        85: .line 820
            iconst_0
            istore 14 /* j */
        start local 14 // int j
        86: goto 102
        87: .line 821
      StackMap locals: com.jcraft.jsch.HostKey[] java.lang.String int
      StackMap stack:
            aload 12 /* keys */
            iload 10 /* i */
            aaload
            invokevirtual com.jcraft.jsch.HostKey.getKey:()Ljava/lang/String;
            aload 13 /* _key */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 101
        88: .line 822
            aload 12 /* keys */
            iload 14 /* j */
            aaload
            invokevirtual com.jcraft.jsch.HostKey.getMarker:()Ljava/lang/String;
            ldc "@revoked"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 101
        89: .line 823
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.userinfo:Lcom/jcraft/jsch/UserInfo;
            ifnull 96
        90: .line 824
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.userinfo:Lcom/jcraft/jsch/UserInfo;
        91: .line 825
            new java.lang.StringBuilder
            dup
            ldc "The "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* key_type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " host key for "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " is marked as revoked.\n"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        92: .line 826
            ldc "This could mean that a stolen key is being used to "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        93: .line 827
            ldc "impersonate this host."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        94: .line 825
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        95: .line 824
            invokeinterface com.jcraft.jsch.UserInfo.showMessage:(Ljava/lang/String;)V
        96: .line 829
      StackMap locals:
      StackMap stack:
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 100
        97: .line 830
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
        98: .line 831
            new java.lang.StringBuilder
            dup
            ldc "Host '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' has provided revoked key."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        99: .line 830
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
       100: .line 833
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "revoked HostKey: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
       101: .line 820
      StackMap locals:
      StackMap stack:
            iinc 14 /* j */ 1
      StackMap locals:
      StackMap stack:
       102: iload 14 /* j */
            aload 12 /* keys */
            arraylength
            if_icmplt 87
        end local 14 // int j
        end local 13 // java.lang.String _key
        end local 12 // com.jcraft.jsch.HostKey[] keys
       103: .line 838
      StackMap locals:
      StackMap stack:
            iload 10 /* i */
            ifne 108
       104: .line 839
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 108
       105: .line 840
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
       106: .line 841
            new java.lang.StringBuilder
            dup
            ldc "Host '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' is known and matches the "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* key_type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " host key"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       107: .line 840
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
       108: .line 844
      StackMap locals:
      StackMap stack:
            iload 11 /* insert */
            ifeq 113
       109: .line 845
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_2
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 113
       110: .line 846
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_2
       111: .line 847
            new java.lang.StringBuilder
            dup
            ldc "Permanently added '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' ("
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* key_type */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ") to the list of known hosts."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       112: .line 846
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
       113: .line 850
      StackMap locals:
      StackMap stack:
            iload 11 /* insert */
            ifeq 120
       114: .line 851
            aload 8 /* hkr */
            dup
            astore 12
            monitorenter
       115: .line 852
            aload 8 /* hkr */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.hostkey:Lcom/jcraft/jsch/HostKey;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.userinfo:Lcom/jcraft/jsch/UserInfo;
            invokeinterface com.jcraft.jsch.HostKeyRepository.add:(Lcom/jcraft/jsch/HostKey;Lcom/jcraft/jsch/UserInfo;)V
       116: .line 851
            aload 12
            monitorexit
       117: goto 120
      StackMap locals: com.jcraft.jsch.Session java.lang.String int com.jcraft.jsch.KeyExchange java.lang.String byte[] java.lang.String java.lang.String com.jcraft.jsch.HostKeyRepository java.lang.String int int com.jcraft.jsch.HostKeyRepository
      StackMap stack: java.lang.Throwable
       118: aload 12
            monitorexit
       119: athrow
       120: .line 855
      StackMap locals:
      StackMap stack:
            return
        end local 11 // boolean insert
        end local 10 // int i
        end local 9 // java.lang.String hkh
        end local 8 // com.jcraft.jsch.HostKeyRepository hkr
        end local 7 // java.lang.String key_fprint
        end local 6 // java.lang.String key_type
        end local 5 // byte[] K_S
        end local 4 // java.lang.String shkc
        end local 3 // com.jcraft.jsch.KeyExchange kex
        end local 2 // int port
        end local 1 // java.lang.String chost
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0  121     0        this  Lcom/jcraft/jsch/Session;
            0  121     1       chost  Ljava/lang/String;
            0  121     2        port  I
            0  121     3         kex  Lcom/jcraft/jsch/KeyExchange;
            1  121     4        shkc  Ljava/lang/String;
            4  121     5         K_S  [B
            5  121     6    key_type  Ljava/lang/String;
            6  121     7  key_fprint  Ljava/lang/String;
            9  121     8         hkr  Lcom/jcraft/jsch/HostKeyRepository;
           10  121     9         hkh  Ljava/lang/String;
           15  121    10           i  I
           22  121    11      insert  Z
           25   60    12        file  Ljava/lang/String;
           33   60    13           b  Z
           42   48    14     message  Ljava/lang/String;
           71   74    12         foo  Z
           84  103    12        keys  [Lcom/jcraft/jsch/HostKey;
           85  103    13        _key  Ljava/lang/String;
           86  103    14           j  I
      Exception table:
        from    to  target  type
          16    18      19  any
          19    20      19  any
          26    28      29  any
          29    30      29  any
          51    57      58  any
          58    59      58  any
         115   117     118  any
         118   119     118  any
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
       Name  Flags
      chost  
      port   
      kex    

  public com.jcraft.jsch.Channel openChannel(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/jcraft/jsch/Channel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String type
         0: .line 860
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.isConnected:Z
            ifne 2
         1: .line 861
            new com.jcraft.jsch.JSchException
            dup
            ldc "session is down"
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 864
      StackMap locals:
      StackMap stack:
            aload 1 /* type */
            invokestatic com.jcraft.jsch.Channel.getChannel:(Ljava/lang/String;)Lcom/jcraft/jsch/Channel;
            astore 2 /* channel */
        start local 2 // com.jcraft.jsch.Channel channel
         3: .line 865
            aload 0 /* this */
            aload 2 /* channel */
            invokevirtual com.jcraft.jsch.Session.addChannel:(Lcom/jcraft/jsch/Channel;)V
         4: .line 866
            aload 2 /* channel */
            invokevirtual com.jcraft.jsch.Channel.init:()V
         5: .line 867
            aload 2 /* channel */
            instanceof com.jcraft.jsch.ChannelSession
            ifeq 7
         6: .line 868
            aload 0 /* this */
            aload 2 /* channel */
            checkcast com.jcraft.jsch.ChannelSession
            invokevirtual com.jcraft.jsch.Session.applyConfigChannel:(Lcom/jcraft/jsch/ChannelSession;)V
         7: .line 870
      StackMap locals: com.jcraft.jsch.Channel
      StackMap stack:
            aload 2 /* channel */
         8: areturn
        end local 2 // com.jcraft.jsch.Channel channel
         9: .line 872
      StackMap locals: com.jcraft.jsch.Session java.lang.String
      StackMap stack: java.lang.Exception
            pop
        10: .line 875
            aconst_null
            areturn
        end local 1 // java.lang.String type
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lcom/jcraft/jsch/Session;
            0   11     1     type  Ljava/lang/String;
            3    9     2  channel  Lcom/jcraft/jsch/Channel;
      Exception table:
        from    to  target  type
           2     8       9  Class java.lang.Exception
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      type  

  public void encode(com.jcraft.jsch.Packet);
    descriptor: (Lcom/jcraft/jsch/Packet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.Packet packet
         0: .line 885
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.deflater:Lcom/jcraft/jsch/Compression;
            ifnull 6
         1: .line 886
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.compress_len:[I
            iconst_0
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.index:I
            iastore
         2: .line 887
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.deflater:Lcom/jcraft/jsch/Compression;
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
         3: .line 888
            iconst_5
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.compress_len:[I
         4: .line 887
            invokeinterface com.jcraft.jsch.Compression.compress:([BI[I)[B
            putfield com.jcraft.jsch.Buffer.buffer:[B
         5: .line 889
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.compress_len:[I
            iconst_0
            iaload
            putfield com.jcraft.jsch.Buffer.index:I
         6: .line 891
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2scipher:Lcom/jcraft/jsch/Cipher;
            ifnull 15
         7: .line 893
            aload 1 /* packet */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2scipher_size:I
            invokevirtual com.jcraft.jsch.Packet.padding:(I)V
         8: .line 894
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_4
            baload
            istore 2 /* pad */
        start local 2 // int pad
         9: .line 895
            getstatic com.jcraft.jsch.Session.random:Lcom/jcraft/jsch/Random;
            dup
            astore 3
            monitorenter
        10: .line 896
            getstatic com.jcraft.jsch.Session.random:Lcom/jcraft/jsch/Random;
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.index:I
            iload 2 /* pad */
            isub
            iload 2 /* pad */
            invokeinterface com.jcraft.jsch.Random.fill:([BII)V
        11: .line 895
            aload 3
            monitorexit
        12: goto 16
      StackMap locals: com.jcraft.jsch.Session com.jcraft.jsch.Packet int com.jcraft.jsch.Random
      StackMap stack: java.lang.Throwable
        13: aload 3
            monitorexit
        14: athrow
        end local 2 // int pad
        15: .line 900
      StackMap locals:
      StackMap stack:
            aload 1 /* packet */
            bipush 8
            invokevirtual com.jcraft.jsch.Packet.padding:(I)V
        16: .line 903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2smac:Lcom/jcraft/jsch/MAC;
            ifnull 20
        17: .line 904
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2smac:Lcom/jcraft/jsch/MAC;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.seqo:I
            invokeinterface com.jcraft.jsch.MAC.update:(I)V
        18: .line 905
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2smac:Lcom/jcraft/jsch/MAC;
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.index:I
            invokeinterface com.jcraft.jsch.MAC.update:([BII)V
        19: .line 906
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2smac:Lcom/jcraft/jsch/MAC;
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.index:I
            invokeinterface com.jcraft.jsch.MAC.doFinal:([BI)V
        20: .line 908
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2scipher:Lcom/jcraft/jsch/Cipher;
            ifnull 23
        21: .line 909
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            astore 2 /* buf */
        start local 2 // byte[] buf
        22: .line 910
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2scipher:Lcom/jcraft/jsch/Cipher;
            aload 2 /* buf */
            iconst_0
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.index:I
            aload 2 /* buf */
            iconst_0
            invokeinterface com.jcraft.jsch.Cipher.update:([BII[BI)V
        end local 2 // byte[] buf
        23: .line 912
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2smac:Lcom/jcraft/jsch/MAC;
            ifnull 25
        24: .line 913
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2smac:Lcom/jcraft/jsch/MAC;
            invokeinterface com.jcraft.jsch.MAC.getBlockSize:()I
            invokevirtual com.jcraft.jsch.Buffer.skip:(I)V
        25: .line 915
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.jcraft.jsch.Packet packet
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   26     0    this  Lcom/jcraft/jsch/Session;
            0   26     1  packet  Lcom/jcraft/jsch/Packet;
            9   15     2     pad  I
           22   23     2     buf  [B
      Exception table:
        from    to  target  type
          10    12      13  any
          13    14      13  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      packet  

  public com.jcraft.jsch.Buffer read(com.jcraft.jsch.Buffer);
    descriptor: (Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/Buffer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.Buffer buf
         0: .line 923
            iconst_0
            istore 2 /* j */
        start local 2 // int j
         1: .line 925
      StackMap locals: int
      StackMap stack:
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.reset:()V
         2: .line 926
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.index:I
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher_size:I
            invokevirtual com.jcraft.jsch.IO.getByte:([BII)V
         3: .line 927
            aload 1 /* buf */
            dup
            getfield com.jcraft.jsch.Buffer.index:I
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher_size:I
            iadd
            putfield com.jcraft.jsch.Buffer.index:I
         4: .line 928
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher:Lcom/jcraft/jsch/Cipher;
            ifnull 6
         5: .line 929
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher:Lcom/jcraft/jsch/Cipher;
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher_size:I
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            invokeinterface com.jcraft.jsch.Cipher.update:([BII[BI)V
         6: .line 931
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            baload
            bipush 24
            ishl
            ldc -16777216
            iand
         7: .line 932
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_1
            baload
            bipush 16
            ishl
            ldc 16711680
            iand
         8: .line 931
            ior
         9: .line 933
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_2
            baload
            bipush 8
            ishl
            ldc 65280
            iand
        10: .line 931
            ior
        11: .line 934
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_3
            baload
            sipush 255
            iand
        12: .line 931
            ior
            istore 2 /* j */
        13: .line 936
            iload 2 /* j */
            iconst_5
            if_icmplt 14
            iload 2 /* j */
            ldc 262144
            if_icmple 15
        14: .line 937
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher:Lcom/jcraft/jsch/Cipher;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac:Lcom/jcraft/jsch/MAC;
            iload 2 /* j */
            ldc 262144
            invokevirtual com.jcraft.jsch.Session.start_discard:(Lcom/jcraft/jsch/Buffer;Lcom/jcraft/jsch/Cipher;Lcom/jcraft/jsch/MAC;II)V
        15: .line 939
      StackMap locals:
      StackMap stack:
            iload 2 /* j */
            iconst_4
            iadd
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher_size:I
            isub
            istore 3 /* need */
        start local 3 // int need
        16: .line 943
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.index:I
            iload 3 /* need */
            iadd
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            arraylength
            if_icmple 20
        17: .line 944
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.index:I
            iload 3 /* need */
            iadd
            newarray 8
            astore 4 /* foo */
        start local 4 // byte[] foo
        18: .line 945
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 4 /* foo */
            iconst_0
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.index:I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        19: .line 946
            aload 1 /* buf */
            aload 4 /* foo */
            putfield com.jcraft.jsch.Buffer.buffer:[B
        end local 4 // byte[] foo
        20: .line 949
      StackMap locals: int
      StackMap stack:
            iload 3 /* need */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher_size:I
            irem
            ifeq 25
        21: .line 950
            new java.lang.StringBuilder
            dup
            ldc "Bad packet length "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 3 /* need */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* message */
        start local 4 // java.lang.String message
        22: .line 951
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_4
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 24
        23: .line 952
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_4
            aload 4 /* message */
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
        24: .line 954
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher:Lcom/jcraft/jsch/Cipher;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac:Lcom/jcraft/jsch/MAC;
            iload 2 /* j */
            ldc 262144
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher_size:I
            isub
            invokevirtual com.jcraft.jsch.Session.start_discard:(Lcom/jcraft/jsch/Buffer;Lcom/jcraft/jsch/Cipher;Lcom/jcraft/jsch/MAC;II)V
        end local 4 // java.lang.String message
        25: .line 957
      StackMap locals:
      StackMap stack:
            iload 3 /* need */
            ifle 29
        26: .line 958
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.index:I
            iload 3 /* need */
            invokevirtual com.jcraft.jsch.IO.getByte:([BII)V
            aload 1 /* buf */
            dup
            getfield com.jcraft.jsch.Buffer.index:I
            iload 3 /* need */
            iadd
            putfield com.jcraft.jsch.Buffer.index:I
        27: .line 959
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher:Lcom/jcraft/jsch/Cipher;
            ifnull 29
        28: .line 960
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher:Lcom/jcraft/jsch/Cipher;
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher_size:I
            iload 3 /* need */
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher_size:I
            invokeinterface com.jcraft.jsch.Cipher.update:([BII[BI)V
        29: .line 964
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac:Lcom/jcraft/jsch/MAC;
            ifnull 39
        30: .line 965
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac:Lcom/jcraft/jsch/MAC;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.seqi:I
            invokeinterface com.jcraft.jsch.MAC.update:(I)V
        31: .line 966
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac:Lcom/jcraft/jsch/MAC;
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.index:I
            invokeinterface com.jcraft.jsch.MAC.update:([BII)V
        32: .line 968
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac:Lcom/jcraft/jsch/MAC;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac_result1:[B
            iconst_0
            invokeinterface com.jcraft.jsch.MAC.doFinal:([BI)V
        33: .line 969
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac_result2:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac_result2:[B
            arraylength
            invokevirtual com.jcraft.jsch.IO.getByte:([BII)V
        34: .line 970
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac_result1:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac_result2:[B
            invokestatic java.util.Arrays.equals:([B[B)Z
            ifne 39
        35: .line 971
            iload 3 /* need */
            ldc 262144
            if_icmple 37
        36: .line 972
            new java.io.IOException
            dup
            ldc "MAC Error"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        37: .line 974
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* buf */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher:Lcom/jcraft/jsch/Cipher;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac:Lcom/jcraft/jsch/MAC;
            iload 2 /* j */
            ldc 262144
            iload 3 /* need */
            isub
            invokevirtual com.jcraft.jsch.Session.start_discard:(Lcom/jcraft/jsch/Buffer;Lcom/jcraft/jsch/Cipher;Lcom/jcraft/jsch/MAC;II)V
        38: .line 975
            goto 1
        39: .line 979
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            dup
            getfield com.jcraft.jsch.Session.seqi:I
            iconst_1
            iadd
            putfield com.jcraft.jsch.Session.seqi:I
        40: .line 981
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.inflater:Lcom/jcraft/jsch/Compression;
            ifnull 50
        41: .line 983
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_4
            baload
            istore 4 /* pad */
        start local 4 // int pad
        42: .line 984
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.uncompress_len:[I
            iconst_0
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.index:I
            iconst_5
            isub
            iload 4 /* pad */
            isub
            iastore
        43: .line 985
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.inflater:Lcom/jcraft/jsch/Compression;
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_5
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.uncompress_len:[I
            invokeinterface com.jcraft.jsch.Compression.uncompress:([BI[I)[B
            astore 5 /* foo */
        start local 5 // byte[] foo
        44: .line 986
            aload 5 /* foo */
            ifnull 48
        45: .line 987
            aload 1 /* buf */
            aload 5 /* foo */
            putfield com.jcraft.jsch.Buffer.buffer:[B
        46: .line 988
            aload 1 /* buf */
            iconst_5
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.uncompress_len:[I
            iconst_0
            iaload
            iadd
            putfield com.jcraft.jsch.Buffer.index:I
        47: .line 989
            goto 50
        48: .line 991
      StackMap locals: int byte[]
      StackMap stack:
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            ldc "fail in inflater"
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
        49: .line 992
            goto 90
        end local 5 // byte[] foo
        end local 4 // int pad
        50: .line 996
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getCommand:()B
            sipush 255
            iand
            istore 4 /* type */
        start local 4 // int type
        51: .line 998
            iload 4 /* type */
            iconst_1
            if_icmpne 62
        52: .line 999
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.rewind:()V
        53: .line 1000
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
        54: .line 1001
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 5 /* reason_code */
        start local 5 // int reason_code
        55: .line 1002
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            astore 6 /* description */
        start local 6 // byte[] description
        56: .line 1003
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            astore 7 /* language_tag */
        start local 7 // byte[] language_tag
        57: .line 1004
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "SSH_MSG_DISCONNECT: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
        58: .line 1005
            iload 5 /* reason_code */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        59: .line 1006
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 6 /* description */
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
        60: .line 1007
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 7 /* language_tag */
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        61: .line 1004
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // byte[] language_tag
        end local 6 // byte[] description
        end local 5 // int reason_code
        62: .line 1010
      StackMap locals: int
      StackMap stack:
            iload 4 /* type */
            iconst_2
            if_icmpeq 1
        63: .line 1012
            iload 4 /* type */
            iconst_3
            if_icmpne 72
        64: .line 1013
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.rewind:()V
        65: .line 1014
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
        66: .line 1015
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 5 /* reason_id */
        start local 5 // int reason_id
        67: .line 1016
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 1
        68: .line 1017
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
        69: .line 1018
            new java.lang.StringBuilder
            dup
            ldc "Received SSH_MSG_UNIMPLEMENTED for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* reason_id */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        70: .line 1017
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
        end local 5 // int reason_id
        71: .line 1020
            goto 1
        72: .line 1021
      StackMap locals:
      StackMap stack:
            iload 4 /* type */
            iconst_4
            if_icmpne 76
        73: .line 1022
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.rewind:()V
        74: .line 1023
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
        75: .line 1032
            goto 1
        76: .line 1033
      StackMap locals:
      StackMap stack:
            iload 4 /* type */
            bipush 93
            if_icmpne 83
        77: .line 1034
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.rewind:()V
        78: .line 1035
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
        79: .line 1036
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            aload 0 /* this */
            invokestatic com.jcraft.jsch.Channel.getChannel:(ILcom/jcraft/jsch/Session;)Lcom/jcraft/jsch/Channel;
            astore 5 /* c */
        start local 5 // com.jcraft.jsch.Channel c
        80: .line 1037
            aload 5 /* c */
            ifnull 1
        81: .line 1040
            aload 5 /* c */
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getUInt:()J
            invokevirtual com.jcraft.jsch.Channel.addRemoteWindowSize:(J)V
        end local 5 // com.jcraft.jsch.Channel c
        82: .line 1042
            goto 1
        83: .line 1043
      StackMap locals:
      StackMap stack:
            iload 4 /* type */
            bipush 52
            if_icmpne 90
        84: .line 1044
            aload 0 /* this */
            iconst_1
            putfield com.jcraft.jsch.Session.isAuthed:Z
        85: .line 1045
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.inflater:Lcom/jcraft/jsch/Compression;
            ifnonnull 90
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.deflater:Lcom/jcraft/jsch/Compression;
            ifnonnull 90
        86: .line 1047
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.guess:[Ljava/lang/String;
            bipush 6
            aaload
            astore 5 /* method */
        start local 5 // java.lang.String method
        87: .line 1048
            aload 0 /* this */
            aload 5 /* method */
            invokevirtual com.jcraft.jsch.Session.initDeflater:(Ljava/lang/String;)V
        88: .line 1049
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.guess:[Ljava/lang/String;
            bipush 7
            aaload
            astore 5 /* method */
        89: .line 1050
            aload 0 /* this */
            aload 5 /* method */
            invokevirtual com.jcraft.jsch.Session.initInflater:(Ljava/lang/String;)V
        end local 5 // java.lang.String method
        end local 4 // int type
        end local 3 // int need
        90: .line 1058
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.rewind:()V
        91: .line 1059
            aload 1 /* buf */
            areturn
        end local 2 // int j
        end local 1 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   92     0          this  Lcom/jcraft/jsch/Session;
            0   92     1           buf  Lcom/jcraft/jsch/Buffer;
            1   92     2             j  I
           16   90     3          need  I
           18   20     4           foo  [B
           22   25     4       message  Ljava/lang/String;
           42   50     4           pad  I
           44   50     5           foo  [B
           51   90     4          type  I
           55   62     5   reason_code  I
           56   62     6   description  [B
           57   62     7  language_tag  [B
           67   71     5     reason_id  I
           80   82     5             c  Lcom/jcraft/jsch/Channel;
           87   90     5        method  Ljava/lang/String;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      buf   

  private void start_discard(com.jcraft.jsch.Buffer, com.jcraft.jsch.Cipher, com.jcraft.jsch.MAC, int, int);
    descriptor: (Lcom/jcraft/jsch/Buffer;Lcom/jcraft/jsch/Cipher;Lcom/jcraft/jsch/MAC;II)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=6
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.Buffer buf
        start local 2 // com.jcraft.jsch.Cipher cipher
        start local 3 // com.jcraft.jsch.MAC mac
        start local 4 // int packet_length
        start local 5 // int discard
         0: .line 1064
            aconst_null
            astore 6 /* discard_mac */
        start local 6 // com.jcraft.jsch.MAC discard_mac
         1: .line 1066
            aload 2 /* cipher */
            invokeinterface com.jcraft.jsch.Cipher.isCBC:()Z
            ifne 3
         2: .line 1067
            new com.jcraft.jsch.JSchException
            dup
            ldc "Packet corrupt"
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 1070
      StackMap locals: com.jcraft.jsch.MAC
      StackMap stack:
            iload 4 /* packet_length */
            ldc 262144
            if_icmpeq 5
            aload 3 /* mac */
            ifnull 5
         4: .line 1071
            aload 3 /* mac */
            astore 6 /* discard_mac */
         5: .line 1074
      StackMap locals:
      StackMap stack:
            iload 5 /* discard */
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.index:I
            isub
            istore 5 /* discard */
         6: .line 1076
            goto 15
         7: .line 1077
      StackMap locals:
      StackMap stack:
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.reset:()V
         8: .line 1078
            iload 5 /* discard */
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            arraylength
            if_icmple 9
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            arraylength
            goto 10
      StackMap locals:
      StackMap stack:
         9: iload 5 /* discard */
      StackMap locals:
      StackMap stack: int
        10: istore 7 /* len */
        start local 7 // int len
        11: .line 1079
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            iload 7 /* len */
            invokevirtual com.jcraft.jsch.IO.getByte:([BII)V
        12: .line 1080
            aload 6 /* discard_mac */
            ifnull 14
        13: .line 1081
            aload 6 /* discard_mac */
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            iload 7 /* len */
            invokeinterface com.jcraft.jsch.MAC.update:([BII)V
        14: .line 1083
      StackMap locals: int
      StackMap stack:
            iload 5 /* discard */
            iload 7 /* len */
            isub
            istore 5 /* discard */
        end local 7 // int len
        15: .line 1076
      StackMap locals:
      StackMap stack:
            iload 5 /* discard */
            ifgt 7
        16: .line 1086
            aload 6 /* discard_mac */
            ifnull 18
        17: .line 1087
            aload 6 /* discard_mac */
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            invokeinterface com.jcraft.jsch.MAC.doFinal:([BI)V
        18: .line 1090
      StackMap locals:
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            ldc "Packet corrupt"
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 6 // com.jcraft.jsch.MAC discard_mac
        end local 5 // int discard
        end local 4 // int packet_length
        end local 3 // com.jcraft.jsch.MAC mac
        end local 2 // com.jcraft.jsch.Cipher cipher
        end local 1 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0           this  Lcom/jcraft/jsch/Session;
            0   19     1            buf  Lcom/jcraft/jsch/Buffer;
            0   19     2         cipher  Lcom/jcraft/jsch/Cipher;
            0   19     3            mac  Lcom/jcraft/jsch/MAC;
            0   19     4  packet_length  I
            0   19     5        discard  I
            1   19     6    discard_mac  Lcom/jcraft/jsch/MAC;
           11   15     7            len  I
    Exceptions:
      throws com.jcraft.jsch.JSchException, java.io.IOException
    MethodParameters:
               Name  Flags
      buf            
      cipher         
      mac            
      packet_length  
      discard        

  byte[] getSessionId();
    descriptor: ()[B
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 1094
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.session_id:[B
            areturn
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;

  private void receive_newkeys(com.jcraft.jsch.Buffer, com.jcraft.jsch.KeyExchange);
    descriptor: (Lcom/jcraft/jsch/Buffer;Lcom/jcraft/jsch/KeyExchange;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.Buffer buf
        start local 2 // com.jcraft.jsch.KeyExchange kex
         0: .line 1098
            aload 0 /* this */
            aload 2 /* kex */
            invokevirtual com.jcraft.jsch.Session.updateKeys:(Lcom/jcraft/jsch/KeyExchange;)V
         1: .line 1099
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.in_kex:Z
         2: .line 1100
            return
        end local 2 // com.jcraft.jsch.KeyExchange kex
        end local 1 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/Session;
            0    3     1   buf  Lcom/jcraft/jsch/Buffer;
            0    3     2   kex  Lcom/jcraft/jsch/KeyExchange;
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      buf   
      kex   

  private void updateKeys(com.jcraft.jsch.KeyExchange);
    descriptor: (Lcom/jcraft/jsch/KeyExchange;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=10, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.KeyExchange kex
         0: .line 1102
            aload 1 /* kex */
            invokevirtual com.jcraft.jsch.KeyExchange.getK:()[B
            astore 2 /* K */
        start local 2 // byte[] K
         1: .line 1103
            aload 1 /* kex */
            invokevirtual com.jcraft.jsch.KeyExchange.getH:()[B
            astore 3 /* H */
        start local 3 // byte[] H
         2: .line 1104
            aload 1 /* kex */
            invokevirtual com.jcraft.jsch.KeyExchange.getHash:()Lcom/jcraft/jsch/HASH;
            astore 4 /* hash */
        start local 4 // com.jcraft.jsch.HASH hash
         3: .line 1106
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.session_id:[B
            ifnonnull 6
         4: .line 1107
            aload 0 /* this */
            aload 3 /* H */
            arraylength
            newarray 8
            putfield com.jcraft.jsch.Session.session_id:[B
         5: .line 1108
            aload 3 /* H */
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.session_id:[B
            iconst_0
            aload 3 /* H */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         6: .line 1120
      StackMap locals: byte[] byte[] com.jcraft.jsch.HASH
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.reset:()V
         7: .line 1121
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            aload 2 /* K */
            invokevirtual com.jcraft.jsch.Buffer.putMPInt:([B)V
         8: .line 1122
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            aload 3 /* H */
            invokevirtual com.jcraft.jsch.Buffer.putByte:([B)V
         9: .line 1123
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            bipush 65
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
        10: .line 1124
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.session_id:[B
            invokevirtual com.jcraft.jsch.Buffer.putByte:([B)V
        11: .line 1125
            aload 4 /* hash */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.index:I
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        12: .line 1126
            aload 0 /* this */
            aload 4 /* hash */
            invokeinterface com.jcraft.jsch.HASH.digest:()[B
            putfield com.jcraft.jsch.Session.IVc2s:[B
        13: .line 1128
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.index:I
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.session_id:[B
            arraylength
            isub
            iconst_1
            isub
            istore 5 /* j */
        start local 5 // int j
        14: .line 1130
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iload 5 /* j */
            dup2
            baload
            iconst_1
            iadd
            i2b
            bastore
        15: .line 1131
            aload 4 /* hash */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.index:I
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        16: .line 1132
            aload 0 /* this */
            aload 4 /* hash */
            invokeinterface com.jcraft.jsch.HASH.digest:()[B
            putfield com.jcraft.jsch.Session.IVs2c:[B
        17: .line 1134
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iload 5 /* j */
            dup2
            baload
            iconst_1
            iadd
            i2b
            bastore
        18: .line 1135
            aload 4 /* hash */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.index:I
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        19: .line 1136
            aload 0 /* this */
            aload 4 /* hash */
            invokeinterface com.jcraft.jsch.HASH.digest:()[B
            putfield com.jcraft.jsch.Session.Ec2s:[B
        20: .line 1138
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iload 5 /* j */
            dup2
            baload
            iconst_1
            iadd
            i2b
            bastore
        21: .line 1139
            aload 4 /* hash */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.index:I
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        22: .line 1140
            aload 0 /* this */
            aload 4 /* hash */
            invokeinterface com.jcraft.jsch.HASH.digest:()[B
            putfield com.jcraft.jsch.Session.Es2c:[B
        23: .line 1142
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iload 5 /* j */
            dup2
            baload
            iconst_1
            iadd
            i2b
            bastore
        24: .line 1143
            aload 4 /* hash */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.index:I
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        25: .line 1144
            aload 0 /* this */
            aload 4 /* hash */
            invokeinterface com.jcraft.jsch.HASH.digest:()[B
            putfield com.jcraft.jsch.Session.MACc2s:[B
        26: .line 1146
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iload 5 /* j */
            dup2
            baload
            iconst_1
            iadd
            i2b
            bastore
        27: .line 1147
            aload 4 /* hash */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.index:I
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        28: .line 1148
            aload 0 /* this */
            aload 4 /* hash */
            invokeinterface com.jcraft.jsch.HASH.digest:()[B
            putfield com.jcraft.jsch.Session.MACs2c:[B
        29: .line 1154
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.guess:[Ljava/lang/String;
            iconst_3
            aaload
            astore 7 /* method */
        start local 7 // java.lang.String method
        30: .line 1155
            aload 0 /* this */
            aload 7 /* method */
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* c */
        start local 6 // java.lang.Class c
        31: .line 1156
            aload 0 /* this */
            aload 6 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.Cipher
            putfield com.jcraft.jsch.Session.s2ccipher:Lcom/jcraft/jsch/Cipher;
        32: .line 1157
            goto 43
        33: .line 1158
      StackMap locals: int java.lang.Class java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.reset:()V
        34: .line 1159
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            aload 2 /* K */
            invokevirtual com.jcraft.jsch.Buffer.putMPInt:([B)V
        35: .line 1160
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            aload 3 /* H */
            invokevirtual com.jcraft.jsch.Buffer.putByte:([B)V
        36: .line 1161
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.Es2c:[B
            invokevirtual com.jcraft.jsch.Buffer.putByte:([B)V
        37: .line 1162
            aload 4 /* hash */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.index:I
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        38: .line 1163
            aload 4 /* hash */
            invokeinterface com.jcraft.jsch.HASH.digest:()[B
            astore 8 /* foo */
        start local 8 // byte[] foo
        39: .line 1164
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.Es2c:[B
            arraylength
            aload 8 /* foo */
            arraylength
            iadd
            newarray 8
            astore 9 /* bar */
        start local 9 // byte[] bar
        40: .line 1165
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.Es2c:[B
            iconst_0
            aload 9 /* bar */
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.Es2c:[B
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        41: .line 1166
            aload 8 /* foo */
            iconst_0
            aload 9 /* bar */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.Es2c:[B
            arraylength
            aload 8 /* foo */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        42: .line 1167
            aload 0 /* this */
            aload 9 /* bar */
            putfield com.jcraft.jsch.Session.Es2c:[B
        end local 9 // byte[] bar
        end local 8 // byte[] foo
        43: .line 1157
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher:Lcom/jcraft/jsch/Cipher;
            invokeinterface com.jcraft.jsch.Cipher.getBlockSize:()I
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.Es2c:[B
            arraylength
            if_icmpgt 33
        44: .line 1169
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher:Lcom/jcraft/jsch/Cipher;
            iconst_1
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.Es2c:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.IVs2c:[B
            invokeinterface com.jcraft.jsch.Cipher.init:(I[B[B)V
        45: .line 1170
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2ccipher:Lcom/jcraft/jsch/Cipher;
            invokeinterface com.jcraft.jsch.Cipher.getIVSize:()I
            putfield com.jcraft.jsch.Session.s2ccipher_size:I
        46: .line 1172
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.guess:[Ljava/lang/String;
            iconst_5
            aaload
            astore 7 /* method */
        47: .line 1173
            aload 0 /* this */
            aload 7 /* method */
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* c */
        48: .line 1174
            aload 0 /* this */
            aload 6 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.MAC
            putfield com.jcraft.jsch.Session.s2cmac:Lcom/jcraft/jsch/MAC;
        49: .line 1175
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            aload 2 /* K */
            aload 3 /* H */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.MACs2c:[B
            aload 4 /* hash */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac:Lcom/jcraft/jsch/MAC;
            invokeinterface com.jcraft.jsch.MAC.getBlockSize:()I
            invokevirtual com.jcraft.jsch.Session.expandKey:(Lcom/jcraft/jsch/Buffer;[B[B[BLcom/jcraft/jsch/HASH;I)[B
            putfield com.jcraft.jsch.Session.MACs2c:[B
        50: .line 1176
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac:Lcom/jcraft/jsch/MAC;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.MACs2c:[B
            invokeinterface com.jcraft.jsch.MAC.init:([B)V
        51: .line 1178
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac:Lcom/jcraft/jsch/MAC;
            invokeinterface com.jcraft.jsch.MAC.getBlockSize:()I
            newarray 8
            putfield com.jcraft.jsch.Session.s2cmac_result1:[B
        52: .line 1179
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.s2cmac:Lcom/jcraft/jsch/MAC;
            invokeinterface com.jcraft.jsch.MAC.getBlockSize:()I
            newarray 8
            putfield com.jcraft.jsch.Session.s2cmac_result2:[B
        53: .line 1181
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.guess:[Ljava/lang/String;
            iconst_2
            aaload
            astore 7 /* method */
        54: .line 1182
            aload 0 /* this */
            aload 7 /* method */
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* c */
        55: .line 1183
            aload 0 /* this */
            aload 6 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.Cipher
            putfield com.jcraft.jsch.Session.c2scipher:Lcom/jcraft/jsch/Cipher;
        56: .line 1184
            goto 67
        57: .line 1185
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.reset:()V
        58: .line 1186
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            aload 2 /* K */
            invokevirtual com.jcraft.jsch.Buffer.putMPInt:([B)V
        59: .line 1187
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            aload 3 /* H */
            invokevirtual com.jcraft.jsch.Buffer.putByte:([B)V
        60: .line 1188
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.Ec2s:[B
            invokevirtual com.jcraft.jsch.Buffer.putByte:([B)V
        61: .line 1189
            aload 4 /* hash */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            getfield com.jcraft.jsch.Buffer.index:I
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
        62: .line 1190
            aload 4 /* hash */
            invokeinterface com.jcraft.jsch.HASH.digest:()[B
            astore 8 /* foo */
        start local 8 // byte[] foo
        63: .line 1191
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.Ec2s:[B
            arraylength
            aload 8 /* foo */
            arraylength
            iadd
            newarray 8
            astore 9 /* bar */
        start local 9 // byte[] bar
        64: .line 1192
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.Ec2s:[B
            iconst_0
            aload 9 /* bar */
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.Ec2s:[B
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        65: .line 1193
            aload 8 /* foo */
            iconst_0
            aload 9 /* bar */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.Ec2s:[B
            arraylength
            aload 8 /* foo */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        66: .line 1194
            aload 0 /* this */
            aload 9 /* bar */
            putfield com.jcraft.jsch.Session.Ec2s:[B
        end local 9 // byte[] bar
        end local 8 // byte[] foo
        67: .line 1184
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2scipher:Lcom/jcraft/jsch/Cipher;
            invokeinterface com.jcraft.jsch.Cipher.getBlockSize:()I
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.Ec2s:[B
            arraylength
            if_icmpgt 57
        68: .line 1196
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2scipher:Lcom/jcraft/jsch/Cipher;
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.Ec2s:[B
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.IVc2s:[B
            invokeinterface com.jcraft.jsch.Cipher.init:(I[B[B)V
        69: .line 1197
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2scipher:Lcom/jcraft/jsch/Cipher;
            invokeinterface com.jcraft.jsch.Cipher.getIVSize:()I
            putfield com.jcraft.jsch.Session.c2scipher_size:I
        70: .line 1199
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.guess:[Ljava/lang/String;
            iconst_4
            aaload
            astore 7 /* method */
        71: .line 1200
            aload 0 /* this */
            aload 7 /* method */
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 6 /* c */
        72: .line 1201
            aload 0 /* this */
            aload 6 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.MAC
            putfield com.jcraft.jsch.Session.c2smac:Lcom/jcraft/jsch/MAC;
        73: .line 1202
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.buf:Lcom/jcraft/jsch/Buffer;
            aload 2 /* K */
            aload 3 /* H */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.MACc2s:[B
            aload 4 /* hash */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2smac:Lcom/jcraft/jsch/MAC;
            invokeinterface com.jcraft.jsch.MAC.getBlockSize:()I
            invokevirtual com.jcraft.jsch.Session.expandKey:(Lcom/jcraft/jsch/Buffer;[B[B[BLcom/jcraft/jsch/HASH;I)[B
            putfield com.jcraft.jsch.Session.MACc2s:[B
        74: .line 1203
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2smac:Lcom/jcraft/jsch/MAC;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.MACc2s:[B
            invokeinterface com.jcraft.jsch.MAC.init:([B)V
        75: .line 1205
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.guess:[Ljava/lang/String;
            bipush 6
            aaload
            astore 7 /* method */
        76: .line 1206
            aload 0 /* this */
            aload 7 /* method */
            invokevirtual com.jcraft.jsch.Session.initDeflater:(Ljava/lang/String;)V
        77: .line 1208
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.guess:[Ljava/lang/String;
            bipush 7
            aaload
            astore 7 /* method */
        78: .line 1209
            aload 0 /* this */
            aload 7 /* method */
            invokevirtual com.jcraft.jsch.Session.initInflater:(Ljava/lang/String;)V
        end local 7 // java.lang.String method
        end local 6 // java.lang.Class c
        79: .line 1210
            goto 84
        80: .line 1211
      StackMap locals: com.jcraft.jsch.Session com.jcraft.jsch.KeyExchange byte[] byte[] com.jcraft.jsch.HASH int
      StackMap stack: java.lang.Exception
            astore 6 /* e */
        start local 6 // java.lang.Exception e
        81: .line 1212
            aload 6 /* e */
            instanceof com.jcraft.jsch.JSchException
            ifeq 83
        82: .line 1213
            aload 6 /* e */
            athrow
        83: .line 1214
      StackMap locals: java.lang.Exception
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            aload 6 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aload 6 /* e */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 6 // java.lang.Exception e
        84: .line 1217
      StackMap locals:
      StackMap stack:
            return
        end local 5 // int j
        end local 4 // com.jcraft.jsch.HASH hash
        end local 3 // byte[] H
        end local 2 // byte[] K
        end local 1 // com.jcraft.jsch.KeyExchange kex
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   85     0    this  Lcom/jcraft/jsch/Session;
            0   85     1     kex  Lcom/jcraft/jsch/KeyExchange;
            1   85     2       K  [B
            2   85     3       H  [B
            3   85     4    hash  Lcom/jcraft/jsch/HASH;
           14   85     5       j  I
           31   79     6       c  Ljava/lang/Class;
           30   79     7  method  Ljava/lang/String;
           39   43     8     foo  [B
           40   43     9     bar  [B
           63   67     8     foo  [B
           64   67     9     bar  [B
           81   84     6       e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          29    79      80  Class java.lang.Exception
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
      Name  Flags
      kex   

  private byte[] expandKey(com.jcraft.jsch.Buffer, byte[], byte[], byte[], com.jcraft.jsch.HASH, int);
    descriptor: (Lcom/jcraft/jsch/Buffer;[B[B[BLcom/jcraft/jsch/HASH;I)[B
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=7
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.Buffer buf
        start local 2 // byte[] K
        start local 3 // byte[] H
        start local 4 // byte[] key
        start local 5 // com.jcraft.jsch.HASH hash
        start local 6 // int required_length
         0: .line 1236
            aload 4 /* key */
            astore 7 /* result */
        start local 7 // byte[] result
         1: .line 1237
            aload 5 /* hash */
            invokeinterface com.jcraft.jsch.HASH.getBlockSize:()I
            istore 8 /* size */
        start local 8 // int size
         2: .line 1238
            goto 13
         3: .line 1239
      StackMap locals: byte[] int
      StackMap stack:
            aload 1 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.reset:()V
         4: .line 1240
            aload 1 /* buf */
            aload 2 /* K */
            invokevirtual com.jcraft.jsch.Buffer.putMPInt:([B)V
         5: .line 1241
            aload 1 /* buf */
            aload 3 /* H */
            invokevirtual com.jcraft.jsch.Buffer.putByte:([B)V
         6: .line 1242
            aload 1 /* buf */
            aload 7 /* result */
            invokevirtual com.jcraft.jsch.Buffer.putByte:([B)V
         7: .line 1243
            aload 5 /* hash */
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.buffer:[B
            iconst_0
            aload 1 /* buf */
            getfield com.jcraft.jsch.Buffer.index:I
            invokeinterface com.jcraft.jsch.HASH.update:([BII)V
         8: .line 1244
            aload 7 /* result */
            arraylength
            iload 8 /* size */
            iadd
            newarray 8
            astore 9 /* tmp */
        start local 9 // byte[] tmp
         9: .line 1245
            aload 7 /* result */
            iconst_0
            aload 9 /* tmp */
            iconst_0
            aload 7 /* result */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        10: .line 1246
            aload 5 /* hash */
            invokeinterface com.jcraft.jsch.HASH.digest:()[B
            iconst_0
            aload 9 /* tmp */
            aload 7 /* result */
            arraylength
            iload 8 /* size */
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        11: .line 1247
            aload 7 /* result */
            invokestatic com.jcraft.jsch.Util.bzero:([B)V
        12: .line 1248
            aload 9 /* tmp */
            astore 7 /* result */
        end local 9 // byte[] tmp
        13: .line 1238
      StackMap locals:
      StackMap stack:
            aload 7 /* result */
            arraylength
            iload 6 /* required_length */
            if_icmplt 3
        14: .line 1250
            aload 7 /* result */
            areturn
        end local 8 // int size
        end local 7 // byte[] result
        end local 6 // int required_length
        end local 5 // com.jcraft.jsch.HASH hash
        end local 4 // byte[] key
        end local 3 // byte[] H
        end local 2 // byte[] K
        end local 1 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   15     0             this  Lcom/jcraft/jsch/Session;
            0   15     1              buf  Lcom/jcraft/jsch/Buffer;
            0   15     2                K  [B
            0   15     3                H  [B
            0   15     4              key  [B
            0   15     5             hash  Lcom/jcraft/jsch/HASH;
            0   15     6  required_length  I
            1   15     7           result  [B
            2   15     8             size  I
            9   13     9              tmp  [B
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
                 Name  Flags
      buf              
      K                
      H                
      key              
      hash             
      required_length  

  void write(com.jcraft.jsch.Packet, com.jcraft.jsch.Channel, int);
    descriptor: (Lcom/jcraft/jsch/Packet;Lcom/jcraft/jsch/Channel;I)V
    flags: (0x0000) 
    Code:
      stack=5, locals=13, args_size=4
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.Packet packet
        start local 2 // com.jcraft.jsch.Channel c
        start local 3 // int length
         0: .line 1254
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Session.getTimeout:()I
            i2l
            lstore 4 /* t */
        start local 4 // long t
         1: .line 1256
      StackMap locals: long
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.in_kex:Z
            ifeq 8
         2: .line 1257
            lload 4 /* t */
            lconst_0
            lcmp
            ifle 4
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.kex_start_time:J
            lsub
            lload 4 /* t */
            lcmp
            ifle 4
         3: .line 1258
            new com.jcraft.jsch.JSchException
            dup
            ldc "timeout in waiting for rekeying process."
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
         4: .line 1260
      StackMap locals:
      StackMap stack:
            ldc 10
            invokestatic java.lang.Thread.sleep:(J)V
         5: goto 1
         6: .line 1261
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            pop
         7: .line 1262
            goto 1
         8: .line 1264
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            dup
            astore 6
            monitorenter
         9: .line 1266
            aload 2 /* c */
            getfield com.jcraft.jsch.Channel.rwsize:J
            iload 3 /* length */
            i2l
            lcmp
            ifge 19
        10: .line 1268
            aload 2 /* c */
            dup
            getfield com.jcraft.jsch.Channel.notifyme:I
            iconst_1
            iadd
            putfield com.jcraft.jsch.Channel.notifyme:I
        11: .line 1269
            aload 2 /* c */
            ldc 100
            invokevirtual java.lang.Object.wait:(J)V
        12: .line 1270
            goto 18
        13: .line 1271
      StackMap locals: com.jcraft.jsch.Session com.jcraft.jsch.Packet com.jcraft.jsch.Channel int long com.jcraft.jsch.Channel
      StackMap stack: java.lang.InterruptedException
            pop
        14: .line 1274
            aload 2 /* c */
            dup
            getfield com.jcraft.jsch.Channel.notifyme:I
            iconst_1
            isub
            putfield com.jcraft.jsch.Channel.notifyme:I
            goto 19
        15: .line 1273
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 7
        16: .line 1274
            aload 2 /* c */
            dup
            getfield com.jcraft.jsch.Channel.notifyme:I
            iconst_1
            isub
            putfield com.jcraft.jsch.Channel.notifyme:I
        17: .line 1275
            aload 7
            athrow
        18: .line 1274
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            dup
            getfield com.jcraft.jsch.Channel.notifyme:I
            iconst_1
            isub
            putfield com.jcraft.jsch.Channel.notifyme:I
        19: .line 1278
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.in_kex:Z
            ifeq 22
        20: .line 1279
            aload 6
            monitorexit
        21: goto 1
        22: .line 1282
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            getfield com.jcraft.jsch.Channel.rwsize:J
            iload 3 /* length */
            i2l
            lcmp
            iflt 26
        23: .line 1283
            aload 2 /* c */
            dup
            getfield com.jcraft.jsch.Channel.rwsize:J
            iload 3 /* length */
            i2l
            lsub
            putfield com.jcraft.jsch.Channel.rwsize:J
        24: .line 1284
            aload 6
            monitorexit
        25: goto 74
        26: .line 1264
      StackMap locals:
      StackMap stack:
            aload 6
            monitorexit
        27: goto 30
      StackMap locals:
      StackMap stack: java.lang.Throwable
        28: aload 6
            monitorexit
        29: athrow
        30: .line 1288
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            getfield com.jcraft.jsch.Channel.close:Z
            ifne 31
            aload 2 /* c */
            invokevirtual com.jcraft.jsch.Channel.isConnected:()Z
            ifne 32
        31: .line 1289
      StackMap locals:
      StackMap stack:
            new java.io.IOException
            dup
            ldc "channel is broken"
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        32: .line 1292
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 6 /* sendit */
        start local 6 // boolean sendit
        33: .line 1293
            iconst_0
            istore 7 /* s */
        start local 7 // int s
        34: .line 1294
            iconst_0
            istore 8 /* command */
        start local 8 // byte command
        35: .line 1295
            iconst_m1
            istore 9 /* recipient */
        start local 9 // int recipient
        36: .line 1296
            aload 2 /* c */
            dup
            astore 10
            monitorenter
        37: .line 1297
            aload 2 /* c */
            getfield com.jcraft.jsch.Channel.rwsize:J
            lconst_0
            lcmp
            ifle 53
        38: .line 1298
            aload 2 /* c */
            getfield com.jcraft.jsch.Channel.rwsize:J
            lstore 11 /* len */
        start local 11 // long len
        39: .line 1299
            lload 11 /* len */
            iload 3 /* length */
            i2l
            lcmp
            ifle 41
        40: .line 1300
            iload 3 /* length */
            i2l
            lstore 11 /* len */
        41: .line 1302
      StackMap locals: com.jcraft.jsch.Session com.jcraft.jsch.Packet com.jcraft.jsch.Channel int long int int int int com.jcraft.jsch.Channel long
      StackMap stack:
            lload 11 /* len */
            iload 3 /* length */
            i2l
            lcmp
            ifeq 48
        42: .line 1303
            aload 1 /* packet */
            lload 11 /* len */
            l2i
        43: .line 1304
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2scipher:Lcom/jcraft/jsch/Cipher;
            ifnull 44
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2scipher_size:I
            goto 45
      StackMap locals: com.jcraft.jsch.Session com.jcraft.jsch.Packet com.jcraft.jsch.Channel int long int int int int com.jcraft.jsch.Channel long
      StackMap stack: com.jcraft.jsch.Packet int
        44: bipush 8
        45: .line 1305
      StackMap locals: com.jcraft.jsch.Session com.jcraft.jsch.Packet com.jcraft.jsch.Channel int long int int int int com.jcraft.jsch.Channel long
      StackMap stack: com.jcraft.jsch.Packet int int
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2smac:Lcom/jcraft/jsch/MAC;
            ifnull 46
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.c2smac:Lcom/jcraft/jsch/MAC;
            invokeinterface com.jcraft.jsch.MAC.getBlockSize:()I
            goto 47
      StackMap locals: com.jcraft.jsch.Session com.jcraft.jsch.Packet com.jcraft.jsch.Channel int long int int int int com.jcraft.jsch.Channel long
      StackMap stack: com.jcraft.jsch.Packet int int
        46: iconst_0
        47: .line 1303
      StackMap locals: com.jcraft.jsch.Session com.jcraft.jsch.Packet com.jcraft.jsch.Channel int long int int int int com.jcraft.jsch.Channel long
      StackMap stack: com.jcraft.jsch.Packet int int int
            invokevirtual com.jcraft.jsch.Packet.shift:(III)I
            istore 7 /* s */
        48: .line 1307
      StackMap locals:
      StackMap stack:
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getCommand:()B
            istore 8 /* command */
        49: .line 1308
            aload 2 /* c */
            invokevirtual com.jcraft.jsch.Channel.getRecipient:()I
            istore 9 /* recipient */
        50: .line 1309
            iload 3 /* length */
            i2l
            lload 11 /* len */
            lsub
            l2i
            istore 3 /* length */
        51: .line 1310
            aload 2 /* c */
            dup
            getfield com.jcraft.jsch.Channel.rwsize:J
            lload 11 /* len */
            lsub
            putfield com.jcraft.jsch.Channel.rwsize:J
        52: .line 1311
            iconst_1
            istore 6 /* sendit */
        end local 11 // long len
        53: .line 1296
      StackMap locals:
      StackMap stack:
            aload 10
            monitorexit
        54: goto 57
      StackMap locals:
      StackMap stack: java.lang.Throwable
        55: aload 10
            monitorexit
        56: athrow
        57: .line 1314
      StackMap locals:
      StackMap stack:
            iload 6 /* sendit */
            ifeq 62
        58: .line 1315
            aload 0 /* this */
            aload 1 /* packet */
            invokevirtual com.jcraft.jsch.Session._write:(Lcom/jcraft/jsch/Packet;)V
        59: .line 1316
            iload 3 /* length */
            ifne 61
        60: .line 1317
            return
        61: .line 1319
      StackMap locals:
      StackMap stack:
            aload 1 /* packet */
            iload 8 /* command */
            iload 9 /* recipient */
            iload 7 /* s */
            iload 3 /* length */
            invokevirtual com.jcraft.jsch.Packet.unshift:(BIII)V
        62: .line 1322
      StackMap locals:
      StackMap stack:
            aload 2 /* c */
            dup
            astore 10
            monitorenter
        63: .line 1323
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.in_kex:Z
            ifeq 66
        64: .line 1324
            aload 10
            monitorexit
        65: goto 1
        66: .line 1326
      StackMap locals: com.jcraft.jsch.Channel
      StackMap stack:
            aload 2 /* c */
            getfield com.jcraft.jsch.Channel.rwsize:J
            iload 3 /* length */
            i2l
            lcmp
            iflt 70
        67: .line 1327
            aload 2 /* c */
            dup
            getfield com.jcraft.jsch.Channel.rwsize:J
            iload 3 /* length */
            i2l
            lsub
            putfield com.jcraft.jsch.Channel.rwsize:J
        68: .line 1328
            aload 10
            monitorexit
        69: goto 74
        70: .line 1322
      StackMap locals:
      StackMap stack:
            aload 10
            monitorexit
        71: goto 1
      StackMap locals:
      StackMap stack: java.lang.Throwable
        72: aload 10
            monitorexit
        73: athrow
        end local 9 // int recipient
        end local 8 // byte command
        end local 7 // int s
        end local 6 // boolean sendit
        74: .line 1343
      StackMap locals: com.jcraft.jsch.Session com.jcraft.jsch.Packet com.jcraft.jsch.Channel int long
      StackMap stack:
            aload 0 /* this */
            aload 1 /* packet */
            invokevirtual com.jcraft.jsch.Session._write:(Lcom/jcraft/jsch/Packet;)V
        75: .line 1344
            return
        end local 4 // long t
        end local 3 // int length
        end local 2 // com.jcraft.jsch.Channel c
        end local 1 // com.jcraft.jsch.Packet packet
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   76     0       this  Lcom/jcraft/jsch/Session;
            0   76     1     packet  Lcom/jcraft/jsch/Packet;
            0   76     2          c  Lcom/jcraft/jsch/Channel;
            0   76     3     length  I
            1   76     4          t  J
           33   74     6     sendit  Z
           34   74     7          s  I
           35   74     8    command  B
           36   74     9  recipient  I
           39   53    11        len  J
      Exception table:
        from    to  target  type
           4     5       6  Class java.lang.InterruptedException
          10    12      13  Class java.lang.InterruptedException
          10    14      15  any
           9    21      28  any
          22    25      28  any
          26    27      28  any
          28    29      28  any
          37    54      55  any
          55    56      55  any
          63    65      72  any
          66    69      72  any
          70    71      72  any
          72    73      72  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      packet  
      c       
      length  

  public void write(com.jcraft.jsch.Packet);
    descriptor: (Lcom/jcraft/jsch/Packet;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.Packet packet
         0: .line 1348
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Session.getTimeout:()I
            i2l
            lstore 2 /* t */
        start local 2 // long t
         1: .line 1349
            goto 20
         2: .line 1350
      StackMap locals: long
      StackMap stack:
            lload 2 /* t */
            lconst_0
            lcmp
            ifle 6
         3: .line 1351
            invokestatic java.lang.System.currentTimeMillis:()J
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.kex_start_time:J
            lsub
            lload 2 /* t */
            lcmp
            ifle 6
         4: .line 1352
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.in_prompt:Z
            ifne 6
         5: .line 1354
            new com.jcraft.jsch.JSchException
            dup
            ldc "timeout in waiting for rekeying process."
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
         6: .line 1356
      StackMap locals:
      StackMap stack:
            aload 1 /* packet */
            getfield com.jcraft.jsch.Packet.buffer:Lcom/jcraft/jsch/Buffer;
            invokevirtual com.jcraft.jsch.Buffer.getCommand:()B
            istore 4 /* command */
        start local 4 // byte command
         7: .line 1358
            iload 4 /* command */
            bipush 20
            if_icmpeq 21
         8: .line 1359
            iload 4 /* command */
            bipush 21
            if_icmpeq 21
         9: .line 1360
            iload 4 /* command */
            bipush 30
            if_icmpeq 21
        10: .line 1361
            iload 4 /* command */
            bipush 31
            if_icmpeq 21
        11: .line 1362
            iload 4 /* command */
            bipush 31
            if_icmpeq 21
        12: .line 1363
            iload 4 /* command */
            bipush 32
            if_icmpeq 21
        13: .line 1364
            iload 4 /* command */
            bipush 33
            if_icmpeq 21
        14: .line 1365
            iload 4 /* command */
            bipush 34
            if_icmpeq 21
        15: .line 1366
            iload 4 /* command */
            iconst_1
            if_icmpne 17
        16: .line 1367
            goto 21
        17: .line 1369
      StackMap locals: int
      StackMap stack:
            ldc 10
            invokestatic java.lang.Thread.sleep:(J)V
        18: goto 20
        19: .line 1370
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
            pop
        end local 4 // byte command
        20: .line 1349
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.in_kex:Z
            ifne 2
        21: .line 1372
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* packet */
            invokevirtual com.jcraft.jsch.Session._write:(Lcom/jcraft/jsch/Packet;)V
        22: .line 1373
            return
        end local 2 // long t
        end local 1 // com.jcraft.jsch.Packet packet
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   23     0     this  Lcom/jcraft/jsch/Session;
            0   23     1   packet  Lcom/jcraft/jsch/Packet;
            1   23     2        t  J
            7   20     4  command  B
      Exception table:
        from    to  target  type
          17    18      19  Class java.lang.InterruptedException
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      packet  

  private void _write(com.jcraft.jsch.Packet);
    descriptor: (Lcom/jcraft/jsch/Packet;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.Packet packet
         0: .line 1376
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.lock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 1377
            aload 0 /* this */
            aload 1 /* packet */
            invokevirtual com.jcraft.jsch.Session.encode:(Lcom/jcraft/jsch/Packet;)V
         2: .line 1378
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            ifnull 5
         3: .line 1379
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            aload 1 /* packet */
            invokevirtual com.jcraft.jsch.IO.put:(Lcom/jcraft/jsch/Packet;)V
         4: .line 1380
            aload 0 /* this */
            dup
            getfield com.jcraft.jsch.Session.seqo:I
            iconst_1
            iadd
            putfield com.jcraft.jsch.Session.seqo:I
         5: .line 1376
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 2
            monitorexit
         6: goto 9
      StackMap locals:
      StackMap stack: java.lang.Throwable
         7: aload 2
            monitorexit
         8: athrow
         9: .line 1383
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.jcraft.jsch.Packet packet
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   10     0    this  Lcom/jcraft/jsch/Session;
            0   10     1  packet  Lcom/jcraft/jsch/Packet;
      Exception table:
        from    to  target  type
           1     6       7  any
           7     8       7  any
    Exceptions:
      throws java.lang.Exception
    MethodParameters:
        Name  Flags
      packet  

  public void run();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=19, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 1387
            aload 0 /* this */
            aload 0 /* this */
            putfield com.jcraft.jsch.Session.thread:Ljava/lang/Runnable;
         1: .line 1390
            new com.jcraft.jsch.Buffer
            dup
            invokespecial com.jcraft.jsch.Buffer.<init>:()V
            astore 2 /* buf */
        start local 2 // com.jcraft.jsch.Buffer buf
         2: .line 1391
            new com.jcraft.jsch.Packet
            dup
            aload 2 /* buf */
            invokespecial com.jcraft.jsch.Packet.<init>:(Lcom/jcraft/jsch/Buffer;)V
            astore 3 /* packet */
        start local 3 // com.jcraft.jsch.Packet packet
         3: .line 1392
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: .line 1394
            iconst_1
            newarray 10
            astore 6 /* start */
        start local 6 // int[] start
         5: .line 1395
            iconst_1
            newarray 10
            astore 7 /* length */
        start local 7 // int[] length
         6: .line 1396
            aconst_null
            astore 8 /* kex */
        start local 8 // com.jcraft.jsch.KeyExchange kex
         7: .line 1398
            iconst_0
            istore 9 /* stimeout */
        start local 9 // int stimeout
         8: .line 1400
            goto 224
         9: .line 1403
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Session.read:(Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/Buffer;
            astore 2 /* buf */
        10: .line 1404
            iconst_0
            istore 9 /* stimeout */
        11: .line 1405
            goto 21
        12: .line 1406
      StackMap locals:
      StackMap stack: java.io.InterruptedIOException
            astore 10 /* ee */
        start local 10 // java.io.InterruptedIOException ee
        13: .line 1407
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.in_kex:Z
            ifne 17
            iload 9 /* stimeout */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.serverAliveCountMax:I
            if_icmpge 17
        14: .line 1408
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Session.sendKeepAliveMsg:()V
        15: .line 1409
            iinc 9 /* stimeout */ 1
        16: .line 1410
            goto 224
        17: .line 1412
      StackMap locals: java.io.InterruptedIOException
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.in_kex:Z
            ifeq 20
            iload 9 /* stimeout */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.serverAliveCountMax:I
            if_icmpge 20
        18: .line 1413
            iinc 9 /* stimeout */ 1
        19: .line 1414
            goto 224
        20: .line 1416
      StackMap locals:
      StackMap stack:
            aload 10 /* ee */
            athrow
        end local 10 // java.io.InterruptedIOException ee
        21: .line 1419
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getCommand:()B
            sipush 255
            iand
            istore 10 /* msgType */
        start local 10 // int msgType
        22: .line 1421
            aload 8 /* kex */
            ifnull 27
            aload 8 /* kex */
            invokevirtual com.jcraft.jsch.KeyExchange.getState:()I
            iload 10 /* msgType */
            if_icmpne 27
        23: .line 1422
            aload 0 /* this */
            invokestatic java.lang.System.currentTimeMillis:()J
            putfield com.jcraft.jsch.Session.kex_start_time:J
        24: .line 1423
            aload 8 /* kex */
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.KeyExchange.next:(Lcom/jcraft/jsch/Buffer;)Z
            istore 11 /* result */
        start local 11 // boolean result
        25: .line 1424
            iload 11 /* result */
            ifne 224
        26: .line 1425
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "verify: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 11 /* result */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 11 // boolean result
        27: .line 1430
      StackMap locals: int
      StackMap stack:
            iload 10 /* msgType */
            lookupswitch { // 16
                   20: 28
                   21: 30
                   80: 201
                   81: 212
                   82: 212
                   90: 160
                   91: 116
                   92: 129
                   93: 94
                   94: 34
                   95: 67
                   96: 102
                   97: 109
                   98: 140
                   99: 185
                  100: 193
              default: 223
          }
        28: .line 1433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Session.receive_kexinit:(Lcom/jcraft/jsch/Buffer;)Lcom/jcraft/jsch/KeyExchange;
            astore 8 /* kex */
        29: .line 1434
            goto 224
        30: .line 1438
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Session.send_newkeys:()V
        31: .line 1439
            aload 0 /* this */
            aload 2 /* buf */
            aload 8 /* kex */
            invokevirtual com.jcraft.jsch.Session.receive_newkeys:(Lcom/jcraft/jsch/Buffer;Lcom/jcraft/jsch/KeyExchange;)V
        32: .line 1440
            aconst_null
            astore 8 /* kex */
        33: .line 1441
            goto 224
        34: .line 1444
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
        35: .line 1445
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            pop
        36: .line 1446
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            pop
        37: .line 1447
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 4 /* i */
        38: .line 1448
            iload 4 /* i */
            aload 0 /* this */
            invokestatic com.jcraft.jsch.Channel.getChannel:(ILcom/jcraft/jsch/Session;)Lcom/jcraft/jsch/Channel;
            astore 5 /* channel */
        start local 5 // com.jcraft.jsch.Channel channel
        39: .line 1449
            aload 2 /* buf */
            aload 6 /* start */
            aload 7 /* length */
            invokevirtual com.jcraft.jsch.Buffer.getString:([I[I)[B
            astore 1 /* foo */
        start local 1 // byte[] foo
        40: .line 1450
            aload 5 /* channel */
            ifnonnull 42
        41: .line 1451
            goto 224
        42: .line 1454
      StackMap locals: com.jcraft.jsch.Session byte[] com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int com.jcraft.jsch.Channel int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
            aload 7 /* length */
            iconst_0
            iaload
            ifne 44
        43: .line 1455
            goto 224
        44: .line 1459
      StackMap locals:
      StackMap stack:
            aload 5 /* channel */
            aload 1 /* foo */
            aload 6 /* start */
            iconst_0
            iaload
            aload 7 /* length */
            iconst_0
            iaload
            invokevirtual com.jcraft.jsch.Channel.write:([BII)V
        45: .line 1460
            goto 51
        46: .line 1461
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        47: .line 1463
            aload 5 /* channel */
            invokevirtual com.jcraft.jsch.Channel.disconnect:()V
        48: goto 224
      StackMap locals:
      StackMap stack: java.lang.Exception
        49: pop
        50: .line 1464
            goto 224
        51: .line 1466
      StackMap locals:
      StackMap stack:
            aload 7 /* length */
            iconst_0
            iaload
            istore 11 /* len */
        start local 11 // int len
        52: .line 1467
            aload 5 /* channel */
            aload 5 /* channel */
            getfield com.jcraft.jsch.Channel.lwsize:I
            iload 11 /* len */
            isub
            invokevirtual com.jcraft.jsch.Channel.setLocalWindowSize:(I)V
        53: .line 1468
            aload 5 /* channel */
            getfield com.jcraft.jsch.Channel.lwsize:I
            aload 5 /* channel */
            getfield com.jcraft.jsch.Channel.lwsize_max:I
            iconst_2
            idiv
            if_icmpge 224
        54: .line 1469
            aload 3 /* packet */
            invokevirtual com.jcraft.jsch.Packet.reset:()V
        55: .line 1470
            aload 2 /* buf */
            bipush 93
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
        56: .line 1471
            aload 2 /* buf */
            aload 5 /* channel */
            invokevirtual com.jcraft.jsch.Channel.getRecipient:()I
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
        57: .line 1472
            aload 2 /* buf */
            aload 5 /* channel */
            getfield com.jcraft.jsch.Channel.lwsize_max:I
            aload 5 /* channel */
            getfield com.jcraft.jsch.Channel.lwsize:I
            isub
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
        58: .line 1473
            aload 5 /* channel */
            dup
            astore 12
            monitorenter
        59: .line 1474
            aload 5 /* channel */
            getfield com.jcraft.jsch.Channel.close:Z
            ifne 61
        60: .line 1475
            aload 0 /* this */
            aload 3 /* packet */
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
        61: .line 1473
      StackMap locals: int com.jcraft.jsch.Channel
      StackMap stack:
            aload 12
            monitorexit
        62: goto 65
      StackMap locals:
      StackMap stack: java.lang.Throwable
        63: aload 12
            monitorexit
        64: athrow
        65: .line 1477
      StackMap locals:
      StackMap stack:
            aload 5 /* channel */
            aload 5 /* channel */
            getfield com.jcraft.jsch.Channel.lwsize_max:I
            invokevirtual com.jcraft.jsch.Channel.setLocalWindowSize:(I)V
        66: .line 1479
            goto 224
        end local 11 // int len
        end local 5 // com.jcraft.jsch.Channel channel
        end local 1 // byte[] foo
        67: .line 1482
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
        68: .line 1483
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
        69: .line 1484
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 4 /* i */
        70: .line 1485
            iload 4 /* i */
            aload 0 /* this */
            invokestatic com.jcraft.jsch.Channel.getChannel:(ILcom/jcraft/jsch/Session;)Lcom/jcraft/jsch/Channel;
            astore 5 /* channel */
        start local 5 // com.jcraft.jsch.Channel channel
        71: .line 1486
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
        72: .line 1487
            aload 2 /* buf */
            aload 6 /* start */
            aload 7 /* length */
            invokevirtual com.jcraft.jsch.Buffer.getString:([I[I)[B
            astore 1 /* foo */
        start local 1 // byte[] foo
        73: .line 1489
            aload 5 /* channel */
            ifnonnull 75
        74: .line 1490
            goto 224
        75: .line 1493
      StackMap locals: com.jcraft.jsch.Session byte[] com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int com.jcraft.jsch.Channel int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
            aload 7 /* length */
            iconst_0
            iaload
            ifne 77
        76: .line 1494
            goto 224
        77: .line 1497
      StackMap locals:
      StackMap stack:
            aload 5 /* channel */
            aload 1 /* foo */
            aload 6 /* start */
            iconst_0
            iaload
            aload 7 /* length */
            iconst_0
            iaload
            invokevirtual com.jcraft.jsch.Channel.write_ext:([BII)V
        78: .line 1499
            aload 7 /* length */
            iconst_0
            iaload
            istore 11 /* len */
        start local 11 // int len
        79: .line 1500
            aload 5 /* channel */
            aload 5 /* channel */
            getfield com.jcraft.jsch.Channel.lwsize:I
            iload 11 /* len */
            isub
            invokevirtual com.jcraft.jsch.Channel.setLocalWindowSize:(I)V
        80: .line 1501
            aload 5 /* channel */
            getfield com.jcraft.jsch.Channel.lwsize:I
            aload 5 /* channel */
            getfield com.jcraft.jsch.Channel.lwsize_max:I
            iconst_2
            idiv
            if_icmpge 224
        81: .line 1502
            aload 3 /* packet */
            invokevirtual com.jcraft.jsch.Packet.reset:()V
        82: .line 1503
            aload 2 /* buf */
            bipush 93
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
        83: .line 1504
            aload 2 /* buf */
            aload 5 /* channel */
            invokevirtual com.jcraft.jsch.Channel.getRecipient:()I
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
        84: .line 1505
            aload 2 /* buf */
            aload 5 /* channel */
            getfield com.jcraft.jsch.Channel.lwsize_max:I
            aload 5 /* channel */
            getfield com.jcraft.jsch.Channel.lwsize:I
            isub
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
        85: .line 1506
            aload 5 /* channel */
            dup
            astore 12
            monitorenter
        86: .line 1507
            aload 5 /* channel */
            getfield com.jcraft.jsch.Channel.close:Z
            ifne 88
        87: .line 1508
            aload 0 /* this */
            aload 3 /* packet */
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
        88: .line 1506
      StackMap locals: int com.jcraft.jsch.Channel
      StackMap stack:
            aload 12
            monitorexit
        89: goto 92
      StackMap locals:
      StackMap stack: java.lang.Throwable
        90: aload 12
            monitorexit
        91: athrow
        92: .line 1510
      StackMap locals:
      StackMap stack:
            aload 5 /* channel */
            aload 5 /* channel */
            getfield com.jcraft.jsch.Channel.lwsize_max:I
            invokevirtual com.jcraft.jsch.Channel.setLocalWindowSize:(I)V
        93: .line 1512
            goto 224
        end local 11 // int len
        end local 5 // com.jcraft.jsch.Channel channel
        end local 1 // byte[] foo
        94: .line 1515
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
        95: .line 1516
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
        96: .line 1517
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 4 /* i */
        97: .line 1518
            iload 4 /* i */
            aload 0 /* this */
            invokestatic com.jcraft.jsch.Channel.getChannel:(ILcom/jcraft/jsch/Session;)Lcom/jcraft/jsch/Channel;
            astore 5 /* channel */
        start local 5 // com.jcraft.jsch.Channel channel
        98: .line 1519
            aload 5 /* channel */
            ifnonnull 100
        99: .line 1520
            goto 224
       100: .line 1522
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int com.jcraft.jsch.Channel int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
            aload 5 /* channel */
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getUInt:()J
            invokevirtual com.jcraft.jsch.Channel.addRemoteWindowSize:(J)V
       101: .line 1523
            goto 224
        end local 5 // com.jcraft.jsch.Channel channel
       102: .line 1526
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       103: .line 1527
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
       104: .line 1528
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 4 /* i */
       105: .line 1529
            iload 4 /* i */
            aload 0 /* this */
            invokestatic com.jcraft.jsch.Channel.getChannel:(ILcom/jcraft/jsch/Session;)Lcom/jcraft/jsch/Channel;
            astore 5 /* channel */
        start local 5 // com.jcraft.jsch.Channel channel
       106: .line 1530
            aload 5 /* channel */
            ifnull 224
       107: .line 1533
            aload 5 /* channel */
            invokevirtual com.jcraft.jsch.Channel.eof_remote:()V
       108: .line 1541
            goto 224
        end local 5 // com.jcraft.jsch.Channel channel
       109: .line 1543
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       110: .line 1544
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
       111: .line 1545
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 4 /* i */
       112: .line 1546
            iload 4 /* i */
            aload 0 /* this */
            invokestatic com.jcraft.jsch.Channel.getChannel:(ILcom/jcraft/jsch/Session;)Lcom/jcraft/jsch/Channel;
            astore 5 /* channel */
        start local 5 // com.jcraft.jsch.Channel channel
       113: .line 1547
            aload 5 /* channel */
            ifnull 224
       114: .line 1549
            aload 5 /* channel */
            invokevirtual com.jcraft.jsch.Channel.disconnect:()V
       115: .line 1556
            goto 224
        end local 5 // com.jcraft.jsch.Channel channel
       116: .line 1558
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       117: .line 1559
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
       118: .line 1560
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 4 /* i */
       119: .line 1561
            iload 4 /* i */
            aload 0 /* this */
            invokestatic com.jcraft.jsch.Channel.getChannel:(ILcom/jcraft/jsch/Session;)Lcom/jcraft/jsch/Channel;
            astore 5 /* channel */
        start local 5 // com.jcraft.jsch.Channel channel
       120: .line 1562
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 12 /* r */
        start local 12 // int r
       121: .line 1563
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getUInt:()J
            lstore 13 /* rws */
        start local 13 // long rws
       122: .line 1564
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 15 /* rps */
        start local 15 // int rps
       123: .line 1565
            aload 5 /* channel */
            ifnull 224
       124: .line 1566
            aload 5 /* channel */
            lload 13 /* rws */
            invokevirtual com.jcraft.jsch.Channel.setRemoteWindowSize:(J)V
       125: .line 1567
            aload 5 /* channel */
            iload 15 /* rps */
            invokevirtual com.jcraft.jsch.Channel.setRemotePacketSize:(I)V
       126: .line 1568
            aload 5 /* channel */
            iconst_1
            putfield com.jcraft.jsch.Channel.open_confirmation:Z
       127: .line 1569
            aload 5 /* channel */
            iload 12 /* r */
            invokevirtual com.jcraft.jsch.Channel.setRecipient:(I)V
       128: .line 1571
            goto 224
        end local 15 // int rps
        end local 13 // long rws
        end local 12 // int r
        end local 5 // com.jcraft.jsch.Channel channel
       129: .line 1573
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       130: .line 1574
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
       131: .line 1575
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 4 /* i */
       132: .line 1576
            iload 4 /* i */
            aload 0 /* this */
            invokestatic com.jcraft.jsch.Channel.getChannel:(ILcom/jcraft/jsch/Session;)Lcom/jcraft/jsch/Channel;
            astore 5 /* channel */
        start local 5 // com.jcraft.jsch.Channel channel
       133: .line 1577
            aload 5 /* channel */
            ifnull 224
       134: .line 1578
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 16 /* reason_code */
        start local 16 // int reason_code
       135: .line 1581
            aload 5 /* channel */
            iload 16 /* reason_code */
            invokevirtual com.jcraft.jsch.Channel.setExitStatus:(I)V
       136: .line 1582
            aload 5 /* channel */
            iconst_1
            putfield com.jcraft.jsch.Channel.close:Z
       137: .line 1583
            aload 5 /* channel */
            iconst_1
            putfield com.jcraft.jsch.Channel.eof_remote:Z
       138: .line 1584
            aload 5 /* channel */
            iconst_0
            invokevirtual com.jcraft.jsch.Channel.setRecipient:(I)V
        end local 16 // int reason_code
       139: .line 1586
            goto 224
        end local 5 // com.jcraft.jsch.Channel channel
       140: .line 1588
      StackMap locals:
      StackMap stack:
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       141: .line 1589
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
       142: .line 1590
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 4 /* i */
       143: .line 1591
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            astore 1 /* foo */
        start local 1 // byte[] foo
       144: .line 1592
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            ifeq 145
            iconst_1
            goto 146
      StackMap locals: com.jcraft.jsch.Session byte[] com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
       145: iconst_0
      StackMap locals:
      StackMap stack: int
       146: istore 16 /* reply */
        start local 16 // boolean reply
       147: .line 1593
            iload 4 /* i */
            aload 0 /* this */
            invokestatic com.jcraft.jsch.Channel.getChannel:(ILcom/jcraft/jsch/Session;)Lcom/jcraft/jsch/Channel;
            astore 5 /* channel */
        start local 5 // com.jcraft.jsch.Channel channel
       148: .line 1594
            aload 5 /* channel */
            ifnull 224
       149: .line 1595
            bipush 100
            istore 17 /* reply_type */
        start local 17 // byte reply_type
       150: .line 1596
            aload 1 /* foo */
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            ldc "exit-status"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 154
       151: .line 1597
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 4 /* i */
       152: .line 1598
            aload 5 /* channel */
            iload 4 /* i */
            invokevirtual com.jcraft.jsch.Channel.setExitStatus:(I)V
       153: .line 1599
            bipush 99
            istore 17 /* reply_type */
       154: .line 1601
      StackMap locals: com.jcraft.jsch.Session byte[] com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int com.jcraft.jsch.Channel int[] int[] com.jcraft.jsch.KeyExchange int int top top top top top int int
      StackMap stack:
            iload 16 /* reply */
            ifeq 224
       155: .line 1602
            aload 3 /* packet */
            invokevirtual com.jcraft.jsch.Packet.reset:()V
       156: .line 1603
            aload 2 /* buf */
            iload 17 /* reply_type */
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
       157: .line 1604
            aload 2 /* buf */
            aload 5 /* channel */
            invokevirtual com.jcraft.jsch.Channel.getRecipient:()I
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
       158: .line 1605
            aload 0 /* this */
            aload 3 /* packet */
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
        end local 17 // byte reply_type
       159: .line 1610
            goto 224
        end local 16 // boolean reply
        end local 5 // com.jcraft.jsch.Channel channel
        end local 1 // byte[] foo
       160: .line 1612
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       161: .line 1613
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
       162: .line 1614
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            astore 1 /* foo */
        start local 1 // byte[] foo
       163: .line 1615
            aload 1 /* foo */
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            astore 17 /* ctyp */
        start local 17 // java.lang.String ctyp
       164: .line 1616
            ldc "forwarded-tcpip"
            aload 17 /* ctyp */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 175
       165: .line 1617
            ldc "x11"
            aload 17 /* ctyp */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 166
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.x11_forwarding:Z
            ifne 175
       166: .line 1618
      StackMap locals: com.jcraft.jsch.Session byte[] com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int int top top top top top top java.lang.String
      StackMap stack:
            ldc "auth-agent@openssh.com"
            aload 17 /* ctyp */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 167
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.agent_forwarding:Z
            ifne 175
       167: .line 1621
      StackMap locals:
      StackMap stack:
            aload 3 /* packet */
            invokevirtual com.jcraft.jsch.Packet.reset:()V
       168: .line 1622
            aload 2 /* buf */
            bipush 92
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
       169: .line 1623
            aload 2 /* buf */
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
       170: .line 1624
            aload 2 /* buf */
            iconst_1
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
       171: .line 1625
            aload 2 /* buf */
            getstatic com.jcraft.jsch.Util.empty:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
       172: .line 1626
            aload 2 /* buf */
            getstatic com.jcraft.jsch.Util.empty:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
       173: .line 1627
            aload 0 /* this */
            aload 3 /* packet */
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
       174: .line 1628
            goto 224
       175: .line 1630
      StackMap locals:
      StackMap stack:
            aload 17 /* ctyp */
            invokestatic com.jcraft.jsch.Channel.getChannel:(Ljava/lang/String;)Lcom/jcraft/jsch/Channel;
            astore 5 /* channel */
        start local 5 // com.jcraft.jsch.Channel channel
       176: .line 1631
            aload 0 /* this */
            aload 5 /* channel */
            invokevirtual com.jcraft.jsch.Session.addChannel:(Lcom/jcraft/jsch/Channel;)V
       177: .line 1632
            aload 5 /* channel */
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Channel.getData:(Lcom/jcraft/jsch/Buffer;)V
       178: .line 1633
            aload 5 /* channel */
            invokevirtual com.jcraft.jsch.Channel.init:()V
       179: .line 1635
            new java.lang.Thread
            dup
            aload 5 /* channel */
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
            astore 18 /* tmp */
        start local 18 // java.lang.Thread tmp
       180: .line 1636
            aload 18 /* tmp */
            new java.lang.StringBuilder
            dup
            ldc "Channel "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 17 /* ctyp */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
       181: .line 1637
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.daemon_thread:Z
            ifeq 183
       182: .line 1638
            aload 18 /* tmp */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.daemon_thread:Z
            invokevirtual java.lang.Thread.setDaemon:(Z)V
       183: .line 1640
      StackMap locals: com.jcraft.jsch.Session byte[] com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int com.jcraft.jsch.Channel int[] int[] com.jcraft.jsch.KeyExchange int int top top top top top top java.lang.String java.lang.Thread
      StackMap stack:
            aload 18 /* tmp */
            invokevirtual java.lang.Thread.start:()V
        end local 18 // java.lang.Thread tmp
        end local 5 // com.jcraft.jsch.Channel channel
       184: .line 1642
            goto 224
        end local 17 // java.lang.String ctyp
        end local 1 // byte[] foo
       185: .line 1644
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       186: .line 1645
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
       187: .line 1646
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 4 /* i */
       188: .line 1647
            iload 4 /* i */
            aload 0 /* this */
            invokestatic com.jcraft.jsch.Channel.getChannel:(ILcom/jcraft/jsch/Session;)Lcom/jcraft/jsch/Channel;
            astore 5 /* channel */
        start local 5 // com.jcraft.jsch.Channel channel
       189: .line 1648
            aload 5 /* channel */
            ifnonnull 191
       190: .line 1649
            goto 224
       191: .line 1651
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int com.jcraft.jsch.Channel int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
            aload 5 /* channel */
            iconst_1
            putfield com.jcraft.jsch.Channel.reply:I
       192: .line 1652
            goto 224
        end local 5 // com.jcraft.jsch.Channel channel
       193: .line 1654
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       194: .line 1655
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
       195: .line 1656
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            istore 4 /* i */
       196: .line 1657
            iload 4 /* i */
            aload 0 /* this */
            invokestatic com.jcraft.jsch.Channel.getChannel:(ILcom/jcraft/jsch/Session;)Lcom/jcraft/jsch/Channel;
            astore 5 /* channel */
        start local 5 // com.jcraft.jsch.Channel channel
       197: .line 1658
            aload 5 /* channel */
            ifnonnull 199
       198: .line 1659
            goto 224
       199: .line 1661
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int com.jcraft.jsch.Channel int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
            aload 5 /* channel */
            iconst_0
            putfield com.jcraft.jsch.Channel.reply:I
       200: .line 1662
            goto 224
        end local 5 // com.jcraft.jsch.Channel channel
       201: .line 1664
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       202: .line 1665
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
       203: .line 1666
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getString:()[B
            astore 1 /* foo */
        start local 1 // byte[] foo
       204: .line 1667
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getByte:()I
            ifeq 205
            iconst_1
            goto 206
      StackMap locals: com.jcraft.jsch.Session byte[] com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
       205: iconst_0
      StackMap locals:
      StackMap stack: int
       206: istore 16 /* reply */
        start local 16 // boolean reply
       207: .line 1668
            iload 16 /* reply */
            ifeq 224
       208: .line 1669
            aload 3 /* packet */
            invokevirtual com.jcraft.jsch.Packet.reset:()V
       209: .line 1670
            aload 2 /* buf */
            bipush 82
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
       210: .line 1671
            aload 0 /* this */
            aload 3 /* packet */
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
       211: .line 1673
            goto 224
        end local 16 // boolean reply
        end local 1 // byte[] foo
       212: .line 1676
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.grr:Lcom/jcraft/jsch/Session$GlobalRequestReply;
            invokevirtual com.jcraft.jsch.Session$GlobalRequestReply.getThread:()Ljava/lang/Thread;
            astore 18 /* t */
        start local 18 // java.lang.Thread t
       213: .line 1677
            aload 18 /* t */
            ifnull 224
       214: .line 1678
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.grr:Lcom/jcraft/jsch/Session$GlobalRequestReply;
            iload 10 /* msgType */
            bipush 81
            if_icmpne 215
            iconst_1
            goto 216
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int int top top top top top top top java.lang.Thread
      StackMap stack: com.jcraft.jsch.Session$GlobalRequestReply
       215: iconst_0
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int int top top top top top top top java.lang.Thread
      StackMap stack: com.jcraft.jsch.Session$GlobalRequestReply int
       216: invokevirtual com.jcraft.jsch.Session$GlobalRequestReply.setReply:(I)V
       217: .line 1679
            iload 10 /* msgType */
            bipush 81
            if_icmpne 221
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.grr:Lcom/jcraft/jsch/Session$GlobalRequestReply;
            invokevirtual com.jcraft.jsch.Session$GlobalRequestReply.getPort:()I
            ifne 221
       218: .line 1680
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            pop
       219: .line 1681
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getShort:()I
            pop
       220: .line 1682
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.grr:Lcom/jcraft/jsch/Session$GlobalRequestReply;
            aload 2 /* buf */
            invokevirtual com.jcraft.jsch.Buffer.getInt:()I
            invokevirtual com.jcraft.jsch.Session$GlobalRequestReply.setPort:(I)V
       221: .line 1684
      StackMap locals:
      StackMap stack:
            aload 18 /* t */
            invokevirtual java.lang.Thread.interrupt:()V
       222: .line 1686
            goto 224
        end local 18 // java.lang.Thread t
       223: .line 1689
      StackMap locals: com.jcraft.jsch.Session top com.jcraft.jsch.Buffer com.jcraft.jsch.Packet int top int[] int[] com.jcraft.jsch.KeyExchange int int
      StackMap stack:
            new java.io.IOException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown SSH message type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 10 /* msgType */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        end local 10 // int msgType
       224: .line 1400
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.isConnected:Z
            ifeq 233
       225: .line 1401
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.thread:Ljava/lang/Runnable;
            ifnonnull 9
       226: .line 1692
            goto 233
       227: .line 1693
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 10 /* e */
        start local 10 // java.lang.Exception e
       228: .line 1694
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.in_kex:Z
       229: .line 1695
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 233
       230: .line 1696
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
       231: .line 1697
            new java.lang.StringBuilder
            dup
            ldc "Caught an exception, leaving main loop due to "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 10 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
       232: .line 1696
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
        end local 10 // java.lang.Exception e
       233: .line 1703
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Session.disconnect:()V
       234: .line 1704
            goto 237
       235: .line 1705
      StackMap locals:
      StackMap stack: java.lang.NullPointerException
            pop
            goto 237
       236: .line 1709
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
       237: .line 1713
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.isConnected:Z
       238: .line 1714
            return
        end local 9 // int stimeout
        end local 8 // com.jcraft.jsch.KeyExchange kex
        end local 7 // int[] length
        end local 6 // int[] start
        end local 4 // int i
        end local 3 // com.jcraft.jsch.Packet packet
        end local 2 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0  239     0         this  Lcom/jcraft/jsch/Session;
           40   67     1          foo  [B
           73   94     1          foo  [B
          144  160     1          foo  [B
          163  185     1          foo  [B
          204  212     1          foo  [B
            2  239     2          buf  Lcom/jcraft/jsch/Buffer;
            3  239     3       packet  Lcom/jcraft/jsch/Packet;
            4  239     4            i  I
           39   67     5      channel  Lcom/jcraft/jsch/Channel;
           71   94     5      channel  Lcom/jcraft/jsch/Channel;
           98  102     5      channel  Lcom/jcraft/jsch/Channel;
          106  109     5      channel  Lcom/jcraft/jsch/Channel;
          113  116     5      channel  Lcom/jcraft/jsch/Channel;
          120  129     5      channel  Lcom/jcraft/jsch/Channel;
          133  140     5      channel  Lcom/jcraft/jsch/Channel;
          148  160     5      channel  Lcom/jcraft/jsch/Channel;
          176  184     5      channel  Lcom/jcraft/jsch/Channel;
          189  193     5      channel  Lcom/jcraft/jsch/Channel;
          197  201     5      channel  Lcom/jcraft/jsch/Channel;
            5  239     6        start  [I
            6  239     7       length  [I
            7  239     8          kex  Lcom/jcraft/jsch/KeyExchange;
            8  239     9     stimeout  I
           13   21    10           ee  Ljava/io/InterruptedIOException;
           22  224    10      msgType  I
           25   27    11       result  Z
           52   67    11          len  I
           79   94    11          len  I
          121  129    12            r  I
          122  129    13          rws  J
          123  129    15          rps  I
          135  139    16  reason_code  I
          147  160    16        reply  Z
          207  212    16        reply  Z
          150  159    17   reply_type  B
          164  185    17         ctyp  Ljava/lang/String;
          180  184    18          tmp  Ljava/lang/Thread;
          213  223    18            t  Ljava/lang/Thread;
          228  233    10            e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           9    11      12  Class java.io.InterruptedIOException
          44    45      46  Class java.lang.Exception
          47    48      49  Class java.lang.Exception
          59    62      63  any
          63    64      63  any
          86    89      90  any
          90    91      90  any
           8   226     227  Class java.lang.Exception
         233   234     235  Class java.lang.NullPointerException
         233   234     236  Class java.lang.Exception

  public void disconnect();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 1717
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.isConnected:Z
            ifne 1
            return
         1: .line 1720
      StackMap locals:
      StackMap stack:
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 5
         2: .line 1721
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
         3: .line 1722
            new java.lang.StringBuilder
            dup
            ldc "Disconnecting from "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " port "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.port:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         4: .line 1721
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
         5: .line 1735
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokestatic com.jcraft.jsch.Channel.disconnect:(Lcom/jcraft/jsch/Session;)V
         6: .line 1737
            aload 0 /* this */
            iconst_0
            putfield com.jcraft.jsch.Session.isConnected:Z
         7: .line 1739
            aload 0 /* this */
            invokestatic com.jcraft.jsch.PortWatcher.delPort:(Lcom/jcraft/jsch/Session;)V
         8: .line 1740
            aload 0 /* this */
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.delPort:(Lcom/jcraft/jsch/Session;)V
         9: .line 1741
            aload 0 /* this */
            invokestatic com.jcraft.jsch.ChannelX11.removeFakedCookie:(Lcom/jcraft/jsch/Session;)V
        10: .line 1743
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.lock:Ljava/lang/Object;
            dup
            astore 1
            monitorenter
        11: .line 1744
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.connectThread:Ljava/lang/Thread;
            ifnull 15
        12: .line 1745
            invokestatic java.lang.Thread.yield:()V
        13: .line 1746
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.connectThread:Ljava/lang/Thread;
            invokevirtual java.lang.Thread.interrupt:()V
        14: .line 1747
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.connectThread:Ljava/lang/Thread;
        15: .line 1743
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1
            monitorexit
        16: goto 19
      StackMap locals:
      StackMap stack: java.lang.Throwable
        17: aload 1
            monitorexit
        18: athrow
        19: .line 1750
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.thread:Ljava/lang/Runnable;
        20: .line 1752
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            ifnull 24
        21: .line 1753
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            getfield com.jcraft.jsch.IO.in:Ljava/io/InputStream;
            ifnull 22
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            getfield com.jcraft.jsch.IO.in:Ljava/io/InputStream;
            invokevirtual java.io.InputStream.close:()V
        22: .line 1754
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            getfield com.jcraft.jsch.IO.out:Ljava/io/OutputStream;
            ifnull 23
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            getfield com.jcraft.jsch.IO.out:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.close:()V
        23: .line 1755
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            getfield com.jcraft.jsch.IO.out_ext:Ljava/io/OutputStream;
            ifnull 24
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
            getfield com.jcraft.jsch.IO.out_ext:Ljava/io/OutputStream;
            invokevirtual java.io.OutputStream.close:()V
        24: .line 1757
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.proxy:Lcom/jcraft/jsch/Proxy;
            ifnonnull 28
        25: .line 1758
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
            ifnull 37
        26: .line 1759
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
            invokevirtual java.net.Socket.close:()V
        27: .line 1760
            goto 37
        28: .line 1762
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.proxy:Lcom/jcraft/jsch/Proxy;
            dup
            astore 1
            monitorenter
        29: .line 1763
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.proxy:Lcom/jcraft/jsch/Proxy;
            invokeinterface com.jcraft.jsch.Proxy.close:()V
        30: .line 1762
            aload 1
            monitorexit
        31: goto 34
      StackMap locals: com.jcraft.jsch.Session com.jcraft.jsch.Proxy
      StackMap stack: java.lang.Throwable
        32: aload 1
            monitorexit
        33: athrow
        34: .line 1765
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.proxy:Lcom/jcraft/jsch/Proxy;
        35: .line 1767
            goto 37
        36: .line 1768
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        37: .line 1771
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.io:Lcom/jcraft/jsch/IO;
        38: .line 1772
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
        39: .line 1777
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.jsch:Lcom/jcraft/jsch/JSch;
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.JSch.removeSession:(Lcom/jcraft/jsch/Session;)Z
            pop
        40: .line 1780
            return
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   41     0  this  Lcom/jcraft/jsch/Session;
      Exception table:
        from    to  target  type
          11    16      17  any
          17    18      17  any
          29    31      32  any
          32    33      32  any
          20    35      36  Class java.lang.Exception

  public int setPortForwardingL(int, java.lang.String, int);
    descriptor: (ILjava/lang/String;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // int lport
        start local 2 // java.lang.String host
        start local 3 // int rport
         0: .line 1792
            aload 0 /* this */
            ldc "127.0.0.1"
            iload 1 /* lport */
            aload 2 /* host */
            iload 3 /* rport */
            invokevirtual com.jcraft.jsch.Session.setPortForwardingL:(Ljava/lang/String;ILjava/lang/String;I)I
            ireturn
        end local 3 // int rport
        end local 2 // java.lang.String host
        end local 1 // int lport
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/jcraft/jsch/Session;
            0    1     1  lport  I
            0    1     2   host  Ljava/lang/String;
            0    1     3  rport  I
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
       Name  Flags
      lport  
      host   
      rport  

  public int setPortForwardingL(java.lang.String, int, java.lang.String, int);
    descriptor: (Ljava/lang/String;ILjava/lang/String;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String bind_address
        start local 2 // int lport
        start local 3 // java.lang.String host
        start local 4 // int rport
         0: .line 1809
            aload 0 /* this */
            aload 1 /* bind_address */
            iload 2 /* lport */
            aload 3 /* host */
            iload 4 /* rport */
            aconst_null
            invokevirtual com.jcraft.jsch.Session.setPortForwardingL:(Ljava/lang/String;ILjava/lang/String;ILcom/jcraft/jsch/ServerSocketFactory;)I
            ireturn
        end local 4 // int rport
        end local 3 // java.lang.String host
        end local 2 // int lport
        end local 1 // java.lang.String bind_address
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/jcraft/jsch/Session;
            0    1     1  bind_address  Ljava/lang/String;
            0    1     2         lport  I
            0    1     3          host  Ljava/lang/String;
            0    1     4         rport  I
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
              Name  Flags
      bind_address  
      lport         
      host          
      rport         

  public int setPortForwardingL(java.lang.String, int, java.lang.String, int, com.jcraft.jsch.ServerSocketFactory);
    descriptor: (Ljava/lang/String;ILjava/lang/String;ILcom/jcraft/jsch/ServerSocketFactory;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=6, args_size=6
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String bind_address
        start local 2 // int lport
        start local 3 // java.lang.String host
        start local 4 // int rport
        start local 5 // com.jcraft.jsch.ServerSocketFactory ssf
         0: .line 1828
            aload 0 /* this */
            aload 1 /* bind_address */
            iload 2 /* lport */
            aload 3 /* host */
            iload 4 /* rport */
            aload 5 /* ssf */
            iconst_0
            invokevirtual com.jcraft.jsch.Session.setPortForwardingL:(Ljava/lang/String;ILjava/lang/String;ILcom/jcraft/jsch/ServerSocketFactory;I)I
            ireturn
        end local 5 // com.jcraft.jsch.ServerSocketFactory ssf
        end local 4 // int rport
        end local 3 // java.lang.String host
        end local 2 // int lport
        end local 1 // java.lang.String bind_address
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/jcraft/jsch/Session;
            0    1     1  bind_address  Ljava/lang/String;
            0    1     2         lport  I
            0    1     3          host  Ljava/lang/String;
            0    1     4         rport  I
            0    1     5           ssf  Lcom/jcraft/jsch/ServerSocketFactory;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
              Name  Flags
      bind_address  
      lport         
      host          
      rport         
      ssf           

  public int setPortForwardingL(java.lang.String, int, java.lang.String, int, com.jcraft.jsch.ServerSocketFactory, int);
    descriptor: (Ljava/lang/String;ILjava/lang/String;ILcom/jcraft/jsch/ServerSocketFactory;I)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=7
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String bind_address
        start local 2 // int lport
        start local 3 // java.lang.String host
        start local 4 // int rport
        start local 5 // com.jcraft.jsch.ServerSocketFactory ssf
        start local 6 // int connectTimeout
         0: .line 1847
            aload 0 /* this */
            aload 1 /* bind_address */
            iload 2 /* lport */
            aload 3 /* host */
            iload 4 /* rport */
            aload 5 /* ssf */
            invokestatic com.jcraft.jsch.PortWatcher.addPort:(Lcom/jcraft/jsch/Session;Ljava/lang/String;ILjava/lang/String;ILcom/jcraft/jsch/ServerSocketFactory;)Lcom/jcraft/jsch/PortWatcher;
            astore 7 /* pw */
        start local 7 // com.jcraft.jsch.PortWatcher pw
         1: .line 1848
            aload 7 /* pw */
            iload 6 /* connectTimeout */
            invokevirtual com.jcraft.jsch.PortWatcher.setConnectTimeout:(I)V
         2: .line 1849
            new java.lang.Thread
            dup
            aload 7 /* pw */
            invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
            astore 8 /* tmp */
        start local 8 // java.lang.Thread tmp
         3: .line 1850
            aload 8 /* tmp */
            new java.lang.StringBuilder
            dup
            ldc "PortWatcher Thread for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* host */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
         4: .line 1851
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.daemon_thread:Z
            ifeq 6
         5: .line 1852
            aload 8 /* tmp */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.daemon_thread:Z
            invokevirtual java.lang.Thread.setDaemon:(Z)V
         6: .line 1854
      StackMap locals: com.jcraft.jsch.PortWatcher java.lang.Thread
      StackMap stack:
            aload 8 /* tmp */
            invokevirtual java.lang.Thread.start:()V
         7: .line 1855
            aload 7 /* pw */
            getfield com.jcraft.jsch.PortWatcher.lport:I
            ireturn
        end local 8 // java.lang.Thread tmp
        end local 7 // com.jcraft.jsch.PortWatcher pw
        end local 6 // int connectTimeout
        end local 5 // com.jcraft.jsch.ServerSocketFactory ssf
        end local 4 // int rport
        end local 3 // java.lang.String host
        end local 2 // int lport
        end local 1 // java.lang.String bind_address
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lcom/jcraft/jsch/Session;
            0    8     1    bind_address  Ljava/lang/String;
            0    8     2           lport  I
            0    8     3            host  Ljava/lang/String;
            0    8     4           rport  I
            0    8     5             ssf  Lcom/jcraft/jsch/ServerSocketFactory;
            0    8     6  connectTimeout  I
            1    8     7              pw  Lcom/jcraft/jsch/PortWatcher;
            3    8     8             tmp  Ljava/lang/Thread;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
                Name  Flags
      bind_address    
      lport           
      host            
      rport           
      ssf             
      connectTimeout  

  public void delPortForwardingL(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // int lport
         0: .line 1865
            aload 0 /* this */
            ldc "127.0.0.1"
            iload 1 /* lport */
            invokevirtual com.jcraft.jsch.Session.delPortForwardingL:(Ljava/lang/String;I)V
         1: .line 1866
            return
        end local 1 // int lport
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/jcraft/jsch/Session;
            0    2     1  lport  I
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
       Name  Flags
      lport  

  public void delPortForwardingL(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String bind_address
        start local 2 // int lport
         0: .line 1876
            aload 0 /* this */
            aload 1 /* bind_address */
            iload 2 /* lport */
            invokestatic com.jcraft.jsch.PortWatcher.delPort:(Lcom/jcraft/jsch/Session;Ljava/lang/String;I)V
         1: .line 1877
            return
        end local 2 // int lport
        end local 1 // java.lang.String bind_address
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/jcraft/jsch/Session;
            0    2     1  bind_address  Ljava/lang/String;
            0    2     2         lport  I
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
              Name  Flags
      bind_address  
      lport         

  public java.lang.String[] getPortForwardingL();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 1885
            aload 0 /* this */
            invokestatic com.jcraft.jsch.PortWatcher.getPortForwarding:(Lcom/jcraft/jsch/Session;)[Ljava/lang/String;
            areturn
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;
    Exceptions:
      throws com.jcraft.jsch.JSchException

  public void setPortForwardingR(int, java.lang.String, int);
    descriptor: (ILjava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // int rport
        start local 2 // java.lang.String host
        start local 3 // int lport
         0: .line 1898
            aload 0 /* this */
            aconst_null
            iload 1 /* rport */
            aload 2 /* host */
            iload 3 /* lport */
            aconst_null
            invokevirtual com.jcraft.jsch.Session.setPortForwardingR:(Ljava/lang/String;ILjava/lang/String;ILcom/jcraft/jsch/SocketFactory;)V
         1: .line 1899
            return
        end local 3 // int lport
        end local 2 // java.lang.String host
        end local 1 // int rport
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/jcraft/jsch/Session;
            0    2     1  rport  I
            0    2     2   host  Ljava/lang/String;
            0    2     3  lport  I
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
       Name  Flags
      rport  
      host   
      lport  

  public void setPortForwardingR(java.lang.String, int, java.lang.String, int);
    descriptor: (Ljava/lang/String;ILjava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String bind_address
        start local 2 // int rport
        start local 3 // java.lang.String host
        start local 4 // int lport
         0: .line 1917
            aload 0 /* this */
            aload 1 /* bind_address */
            iload 2 /* rport */
            aload 3 /* host */
            iload 4 /* lport */
            aconst_null
            invokevirtual com.jcraft.jsch.Session.setPortForwardingR:(Ljava/lang/String;ILjava/lang/String;ILcom/jcraft/jsch/SocketFactory;)V
         1: .line 1918
            return
        end local 4 // int lport
        end local 3 // java.lang.String host
        end local 2 // int rport
        end local 1 // java.lang.String bind_address
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/jcraft/jsch/Session;
            0    2     1  bind_address  Ljava/lang/String;
            0    2     2         rport  I
            0    2     3          host  Ljava/lang/String;
            0    2     4         lport  I
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
              Name  Flags
      bind_address  
      rport         
      host          
      lport         

  public void setPortForwardingR(int, java.lang.String, int, com.jcraft.jsch.SocketFactory);
    descriptor: (ILjava/lang/String;ILcom/jcraft/jsch/SocketFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=5
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // int rport
        start local 2 // java.lang.String host
        start local 3 // int lport
        start local 4 // com.jcraft.jsch.SocketFactory sf
         0: .line 1931
            aload 0 /* this */
            aconst_null
            iload 1 /* rport */
            aload 2 /* host */
            iload 3 /* lport */
            aload 4 /* sf */
            invokevirtual com.jcraft.jsch.Session.setPortForwardingR:(Ljava/lang/String;ILjava/lang/String;ILcom/jcraft/jsch/SocketFactory;)V
         1: .line 1932
            return
        end local 4 // com.jcraft.jsch.SocketFactory sf
        end local 3 // int lport
        end local 2 // java.lang.String host
        end local 1 // int rport
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/jcraft/jsch/Session;
            0    2     1  rport  I
            0    2     2   host  Ljava/lang/String;
            0    2     3  lport  I
            0    2     4     sf  Lcom/jcraft/jsch/SocketFactory;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
       Name  Flags
      rport  
      host   
      lport  
      sf     

  public void setPortForwardingR(java.lang.String, int, java.lang.String, int, com.jcraft.jsch.SocketFactory);
    descriptor: (Ljava/lang/String;ILjava/lang/String;ILcom/jcraft/jsch/SocketFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=6
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String bind_address
        start local 2 // int rport
        start local 3 // java.lang.String host
        start local 4 // int lport
        start local 5 // com.jcraft.jsch.SocketFactory sf
         0: .line 1952
            aload 0 /* this */
            aload 1 /* bind_address */
            iload 2 /* rport */
            invokevirtual com.jcraft.jsch.Session._setPortForwardingR:(Ljava/lang/String;I)I
            istore 6 /* allocated */
        start local 6 // int allocated
         1: .line 1953
            aload 0 /* this */
            aload 1 /* bind_address */
         2: .line 1954
            iload 2 /* rport */
            iload 6 /* allocated */
            aload 3 /* host */
            iload 4 /* lport */
            aload 5 /* sf */
         3: .line 1953
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.addPort:(Lcom/jcraft/jsch/Session;Ljava/lang/String;IILjava/lang/String;ILcom/jcraft/jsch/SocketFactory;)V
         4: .line 1955
            return
        end local 6 // int allocated
        end local 5 // com.jcraft.jsch.SocketFactory sf
        end local 4 // int lport
        end local 3 // java.lang.String host
        end local 2 // int rport
        end local 1 // java.lang.String bind_address
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lcom/jcraft/jsch/Session;
            0    5     1  bind_address  Ljava/lang/String;
            0    5     2         rport  I
            0    5     3          host  Ljava/lang/String;
            0    5     4         lport  I
            0    5     5            sf  Lcom/jcraft/jsch/SocketFactory;
            1    5     6     allocated  I
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
              Name  Flags
      bind_address  
      rport         
      host          
      lport         
      sf            

  public void setPortForwardingR(int, java.lang.String);
    descriptor: (ILjava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // int rport
        start local 2 // java.lang.String daemon
         0: .line 1970
            aload 0 /* this */
            aconst_null
            iload 1 /* rport */
            aload 2 /* daemon */
            aconst_null
            invokevirtual com.jcraft.jsch.Session.setPortForwardingR:(Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;)V
         1: .line 1971
            return
        end local 2 // java.lang.String daemon
        end local 1 // int rport
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/jcraft/jsch/Session;
            0    2     1   rport  I
            0    2     2  daemon  Ljava/lang/String;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
        Name  Flags
      rport   
      daemon  

  public void setPortForwardingR(int, java.lang.String, java.lang.Object[]);
    descriptor: (ILjava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // int rport
        start local 2 // java.lang.String daemon
        start local 3 // java.lang.Object[] arg
         0: .line 1987
            aload 0 /* this */
            aconst_null
            iload 1 /* rport */
            aload 2 /* daemon */
            aload 3 /* arg */
            invokevirtual com.jcraft.jsch.Session.setPortForwardingR:(Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;)V
         1: .line 1988
            return
        end local 3 // java.lang.Object[] arg
        end local 2 // java.lang.String daemon
        end local 1 // int rport
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/jcraft/jsch/Session;
            0    2     1   rport  I
            0    2     2  daemon  Ljava/lang/String;
            0    2     3     arg  [Ljava/lang/Object;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
        Name  Flags
      rport   
      daemon  
      arg     

  public void setPortForwardingR(java.lang.String, int, java.lang.String, java.lang.Object[]);
    descriptor: (Ljava/lang/String;ILjava/lang/String;[Ljava/lang/Object;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=5
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String bind_address
        start local 2 // int rport
        start local 3 // java.lang.String daemon
        start local 4 // java.lang.Object[] arg
         0: .line 2010
            aload 0 /* this */
            aload 1 /* bind_address */
            iload 2 /* rport */
            invokevirtual com.jcraft.jsch.Session._setPortForwardingR:(Ljava/lang/String;I)I
            istore 5 /* allocated */
        start local 5 // int allocated
         1: .line 2011
            aload 0 /* this */
            aload 1 /* bind_address */
         2: .line 2012
            iload 2 /* rport */
            iload 5 /* allocated */
            aload 3 /* daemon */
            aload 4 /* arg */
         3: .line 2011
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.addPort:(Lcom/jcraft/jsch/Session;Ljava/lang/String;IILjava/lang/String;[Ljava/lang/Object;)V
         4: .line 2013
            return
        end local 5 // int allocated
        end local 4 // java.lang.Object[] arg
        end local 3 // java.lang.String daemon
        end local 2 // int rport
        end local 1 // java.lang.String bind_address
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Lcom/jcraft/jsch/Session;
            0    5     1  bind_address  Ljava/lang/String;
            0    5     2         rport  I
            0    5     3        daemon  Ljava/lang/String;
            0    5     4           arg  [Ljava/lang/Object;
            1    5     5     allocated  I
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
              Name  Flags
      bind_address  
      rport         
      daemon        
      arg           

  public java.lang.String[] getPortForwardingR();
    descriptor: ()[Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2021
            aload 0 /* this */
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.getPortForwarding:(Lcom/jcraft/jsch/Session;)[Ljava/lang/String;
            areturn
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;
    Exceptions:
      throws com.jcraft.jsch.JSchException

  private com.jcraft.jsch.Session$Forwarding parseForwarding(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/jcraft/jsch/Session$Forwarding;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String conf
         0: .line 2037
            aload 1 /* conf */
            ldc " "
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            astore 2 /* tmp */
        start local 2 // java.lang.String[] tmp
         1: .line 2038
            aload 2 /* tmp */
            arraylength
            iconst_1
            if_icmple 18
         2: .line 2039
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 3 /* foo */
        start local 3 // java.util.Vector foo
         3: .line 2040
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         4: goto 8
         5: .line 2041
      StackMap locals: java.lang.String[] java.util.Vector int
      StackMap stack:
            aload 2 /* tmp */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.String.length:()I
            ifne 6
            goto 7
         6: .line 2042
      StackMap locals:
      StackMap stack:
            aload 3 /* foo */
            aload 2 /* tmp */
            iload 4 /* i */
            aaload
            invokevirtual java.lang.String.trim:()Ljava/lang/String;
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
         7: .line 2040
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
         8: iload 4 /* i */
            aload 2 /* tmp */
            arraylength
            if_icmplt 5
        end local 4 // int i
         9: .line 2044
            new java.lang.StringBuffer
            dup
            invokespecial java.lang.StringBuffer.<init>:()V
            astore 4 /* sb */
        start local 4 // java.lang.StringBuffer sb
        10: .line 2045
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        11: goto 16
        12: .line 2046
      StackMap locals: com.jcraft.jsch.Session java.lang.String java.lang.String[] java.util.Vector java.lang.StringBuffer int
      StackMap stack:
            aload 4 /* sb */
            aload 3 /* foo */
            iload 5 /* i */
            invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        13: .line 2047
            iload 5 /* i */
            iconst_1
            iadd
            aload 3 /* foo */
            invokevirtual java.util.Vector.size:()I
            if_icmpge 15
        14: .line 2048
            aload 4 /* sb */
            ldc ":"
            invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
            pop
        15: .line 2045
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            aload 3 /* foo */
            invokevirtual java.util.Vector.size:()I
            if_icmplt 12
        end local 5 // int i
        17: .line 2050
            aload 4 /* sb */
            invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
            astore 1 /* conf */
        end local 4 // java.lang.StringBuffer sb
        end local 3 // java.util.Vector foo
        18: .line 2053
      StackMap locals:
      StackMap stack:
            aload 1 /* conf */
            astore 3 /* org */
        start local 3 // java.lang.String org
        19: .line 2054
            new com.jcraft.jsch.Session$Forwarding
            dup
            aload 0 /* this */
            invokespecial com.jcraft.jsch.Session$Forwarding.<init>:(Lcom/jcraft/jsch/Session;)V
            astore 4 /* f */
        start local 4 // com.jcraft.jsch.Session$Forwarding f
        20: .line 2056
            aload 1 /* conf */
            ldc ":"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpne 22
        21: .line 2057
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "parseForwarding: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* org */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        22: .line 2058
      StackMap locals: java.lang.String com.jcraft.jsch.Session$Forwarding
      StackMap stack:
            aload 4 /* f */
            aload 1 /* conf */
            aload 1 /* conf */
            ldc ":"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield com.jcraft.jsch.Session$Forwarding.hostport:I
        23: .line 2059
            aload 1 /* conf */
            iconst_0
            aload 1 /* conf */
            ldc ":"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* conf */
        24: .line 2060
            aload 1 /* conf */
            ldc ":"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpne 26
        25: .line 2061
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "parseForwarding: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* org */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        26: .line 2062
      StackMap locals:
      StackMap stack:
            aload 4 /* f */
            aload 1 /* conf */
            aload 1 /* conf */
            ldc ":"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            putfield com.jcraft.jsch.Session$Forwarding.host:Ljava/lang/String;
        27: .line 2063
            aload 1 /* conf */
            iconst_0
            aload 1 /* conf */
            ldc ":"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* conf */
        28: .line 2064
            aload 1 /* conf */
            ldc ":"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpeq 36
        29: .line 2065
            aload 4 /* f */
            aload 1 /* conf */
            aload 1 /* conf */
            ldc ":"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield com.jcraft.jsch.Session$Forwarding.port:I
        30: .line 2066
            aload 1 /* conf */
            iconst_0
            aload 1 /* conf */
            ldc ":"
            invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;)I
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            astore 1 /* conf */
        31: .line 2067
            aload 1 /* conf */
            invokevirtual java.lang.String.length:()I
            ifeq 32
            aload 1 /* conf */
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 33
      StackMap locals:
      StackMap stack:
        32: ldc "0.0.0.0"
            astore 1 /* conf */
        33: .line 2068
      StackMap locals:
      StackMap stack:
            aload 1 /* conf */
            ldc "localhost"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 34
            ldc "127.0.0.1"
            astore 1 /* conf */
        34: .line 2069
      StackMap locals:
      StackMap stack:
            aload 4 /* f */
            aload 1 /* conf */
            putfield com.jcraft.jsch.Session$Forwarding.bind_address:Ljava/lang/String;
        35: .line 2070
            goto 41
        36: .line 2072
      StackMap locals:
      StackMap stack:
            aload 4 /* f */
            aload 1 /* conf */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            putfield com.jcraft.jsch.Session$Forwarding.port:I
        37: .line 2073
            aload 4 /* f */
            ldc "127.0.0.1"
            putfield com.jcraft.jsch.Session$Forwarding.bind_address:Ljava/lang/String;
        38: .line 2075
            goto 41
        39: .line 2076
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            astore 5 /* e */
        start local 5 // java.lang.NumberFormatException e
        40: .line 2077
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "parseForwarding: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 5 /* e */
            invokevirtual java.lang.NumberFormatException.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 5 // java.lang.NumberFormatException e
        41: .line 2079
      StackMap locals:
      StackMap stack:
            aload 4 /* f */
            areturn
        end local 4 // com.jcraft.jsch.Session$Forwarding f
        end local 3 // java.lang.String org
        end local 2 // java.lang.String[] tmp
        end local 1 // java.lang.String conf
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   42     0  this  Lcom/jcraft/jsch/Session;
            0   42     1  conf  Ljava/lang/String;
            1   42     2   tmp  [Ljava/lang/String;
            3   18     3   foo  Ljava/util/Vector;
            4    9     4     i  I
           10   18     4    sb  Ljava/lang/StringBuffer;
           11   17     5     i  I
           19   42     3   org  Ljava/lang/String;
           20   42     4     f  Lcom/jcraft/jsch/Session$Forwarding;
           40   41     5     e  Ljava/lang/NumberFormatException;
      Exception table:
        from    to  target  type
          20    38      39  Class java.lang.NumberFormatException
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      conf  

  public int setPortForwardingL(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String conf
         0: .line 2095
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual com.jcraft.jsch.Session.parseForwarding:(Ljava/lang/String;)Lcom/jcraft/jsch/Session$Forwarding;
            astore 2 /* f */
        start local 2 // com.jcraft.jsch.Session$Forwarding f
         1: .line 2096
            aload 0 /* this */
            aload 2 /* f */
            getfield com.jcraft.jsch.Session$Forwarding.bind_address:Ljava/lang/String;
            aload 2 /* f */
            getfield com.jcraft.jsch.Session$Forwarding.port:I
            aload 2 /* f */
            getfield com.jcraft.jsch.Session$Forwarding.host:Ljava/lang/String;
            aload 2 /* f */
            getfield com.jcraft.jsch.Session$Forwarding.hostport:I
            invokevirtual com.jcraft.jsch.Session.setPortForwardingL:(Ljava/lang/String;ILjava/lang/String;I)I
            ireturn
        end local 2 // com.jcraft.jsch.Session$Forwarding f
        end local 1 // java.lang.String conf
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/Session;
            0    2     1  conf  Ljava/lang/String;
            1    2     2     f  Lcom/jcraft/jsch/Session$Forwarding;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      conf  

  public int setPortForwardingR(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String conf
         0: .line 2115
            aload 0 /* this */
            aload 1 /* conf */
            invokevirtual com.jcraft.jsch.Session.parseForwarding:(Ljava/lang/String;)Lcom/jcraft/jsch/Session$Forwarding;
            astore 2 /* f */
        start local 2 // com.jcraft.jsch.Session$Forwarding f
         1: .line 2116
            aload 0 /* this */
            aload 2 /* f */
            getfield com.jcraft.jsch.Session$Forwarding.bind_address:Ljava/lang/String;
            aload 2 /* f */
            getfield com.jcraft.jsch.Session$Forwarding.port:I
            invokevirtual com.jcraft.jsch.Session._setPortForwardingR:(Ljava/lang/String;I)I
            istore 3 /* allocated */
        start local 3 // int allocated
         2: .line 2117
            aload 0 /* this */
            aload 2 /* f */
            getfield com.jcraft.jsch.Session$Forwarding.bind_address:Ljava/lang/String;
         3: .line 2118
            aload 2 /* f */
            getfield com.jcraft.jsch.Session$Forwarding.port:I
            iload 3 /* allocated */
            aload 2 /* f */
            getfield com.jcraft.jsch.Session$Forwarding.host:Ljava/lang/String;
            aload 2 /* f */
            getfield com.jcraft.jsch.Session$Forwarding.hostport:I
            aconst_null
         4: .line 2117
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.addPort:(Lcom/jcraft/jsch/Session;Ljava/lang/String;IILjava/lang/String;ILcom/jcraft/jsch/SocketFactory;)V
         5: .line 2119
            iload 3 /* allocated */
            ireturn
        end local 3 // int allocated
        end local 2 // com.jcraft.jsch.Session$Forwarding f
        end local 1 // java.lang.String conf
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Lcom/jcraft/jsch/Session;
            0    6     1       conf  Ljava/lang/String;
            1    6     2          f  Lcom/jcraft/jsch/Session$Forwarding;
            2    6     3  allocated  I
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      conf  

  public com.jcraft.jsch.Channel getStreamForwarder(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)Lcom/jcraft/jsch/Channel;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=3
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String host
        start local 2 // int port
         0: .line 2130
            new com.jcraft.jsch.ChannelDirectTCPIP
            dup
            invokespecial com.jcraft.jsch.ChannelDirectTCPIP.<init>:()V
            astore 3 /* channel */
        start local 3 // com.jcraft.jsch.ChannelDirectTCPIP channel
         1: .line 2131
            aload 3 /* channel */
            invokevirtual com.jcraft.jsch.ChannelDirectTCPIP.init:()V
         2: .line 2132
            aload 0 /* this */
            aload 3 /* channel */
            invokevirtual com.jcraft.jsch.Session.addChannel:(Lcom/jcraft/jsch/Channel;)V
         3: .line 2133
            aload 3 /* channel */
            aload 1 /* host */
            invokevirtual com.jcraft.jsch.ChannelDirectTCPIP.setHost:(Ljava/lang/String;)V
         4: .line 2134
            aload 3 /* channel */
            iload 2 /* port */
            invokevirtual com.jcraft.jsch.ChannelDirectTCPIP.setPort:(I)V
         5: .line 2135
            aload 3 /* channel */
            areturn
        end local 3 // com.jcraft.jsch.ChannelDirectTCPIP channel
        end local 2 // int port
        end local 1 // java.lang.String host
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lcom/jcraft/jsch/Session;
            0    6     1     host  Ljava/lang/String;
            0    6     2     port  I
            1    6     3  channel  Lcom/jcraft/jsch/ChannelDirectTCPIP;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      host  
      port  

  private int _setPortForwardingR(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String bind_address
        start local 2 // int rport
         0: .line 2154
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.grr:Lcom/jcraft/jsch/Session$GlobalRequestReply;
            dup
            astore 3
            monitorenter
         1: .line 2155
            new com.jcraft.jsch.Buffer
            dup
            bipush 100
            invokespecial com.jcraft.jsch.Buffer.<init>:(I)V
            astore 4 /* buf */
        start local 4 // com.jcraft.jsch.Buffer buf
         2: .line 2156
            new com.jcraft.jsch.Packet
            dup
            aload 4 /* buf */
            invokespecial com.jcraft.jsch.Packet.<init>:(Lcom/jcraft/jsch/Buffer;)V
            astore 5 /* packet */
        start local 5 // com.jcraft.jsch.Packet packet
         3: .line 2158
            aload 1 /* bind_address */
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.normalize:(Ljava/lang/String;)Ljava/lang/String;
            astore 6 /* address_to_bind */
        start local 6 // java.lang.String address_to_bind
         4: .line 2160
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.grr:Lcom/jcraft/jsch/Session$GlobalRequestReply;
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            invokevirtual com.jcraft.jsch.Session$GlobalRequestReply.setThread:(Ljava/lang/Thread;)V
         5: .line 2161
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.grr:Lcom/jcraft/jsch/Session$GlobalRequestReply;
            iload 2 /* rport */
            invokevirtual com.jcraft.jsch.Session$GlobalRequestReply.setPort:(I)V
         6: .line 2169
            aload 5 /* packet */
            invokevirtual com.jcraft.jsch.Packet.reset:()V
         7: .line 2170
            aload 4 /* buf */
            bipush 80
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
         8: .line 2171
            aload 4 /* buf */
            ldc "tcpip-forward"
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
         9: .line 2172
            aload 4 /* buf */
            iconst_1
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
        10: .line 2173
            aload 4 /* buf */
            aload 6 /* address_to_bind */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
        11: .line 2174
            aload 4 /* buf */
            iload 2 /* rport */
            invokevirtual com.jcraft.jsch.Buffer.putInt:(I)V
        12: .line 2175
            aload 0 /* this */
            aload 5 /* packet */
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
        13: .line 2176
            goto 19
        14: .line 2177
      StackMap locals: com.jcraft.jsch.Session java.lang.String int com.jcraft.jsch.Session$GlobalRequestReply com.jcraft.jsch.Buffer com.jcraft.jsch.Packet java.lang.String
      StackMap stack: java.lang.Exception
            astore 7 /* e */
        start local 7 // java.lang.Exception e
        15: .line 2178
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.grr:Lcom/jcraft/jsch/Session$GlobalRequestReply;
            aconst_null
            invokevirtual com.jcraft.jsch.Session$GlobalRequestReply.setThread:(Ljava/lang/Thread;)V
        16: .line 2179
            aload 7 /* e */
            instanceof java.lang.Throwable
            ifeq 18
        17: .line 2180
            new com.jcraft.jsch.JSchException
            dup
            aload 7 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aload 7 /* e */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        18: .line 2181
      StackMap locals: java.lang.Exception
      StackMap stack:
            new com.jcraft.jsch.JSchException
            dup
            aload 7 /* e */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        end local 7 // java.lang.Exception e
        19: .line 2184
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 7 /* count */
        start local 7 // int count
        20: .line 2185
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.grr:Lcom/jcraft/jsch/Session$GlobalRequestReply;
            invokevirtual com.jcraft.jsch.Session$GlobalRequestReply.getReply:()I
            istore 8 /* reply */
        start local 8 // int reply
        21: .line 2186
            goto 27
        22: .line 2187
      StackMap locals: int int
      StackMap stack:
            ldc 1000
            invokestatic java.lang.Thread.sleep:(J)V
        23: goto 25
        24: .line 2188
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        25: .line 2190
      StackMap locals:
      StackMap stack:
            iinc 7 /* count */ 1
        26: .line 2191
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.grr:Lcom/jcraft/jsch/Session$GlobalRequestReply;
            invokevirtual com.jcraft.jsch.Session$GlobalRequestReply.getReply:()I
            istore 8 /* reply */
        27: .line 2186
      StackMap locals:
      StackMap stack:
            iload 7 /* count */
            bipush 10
            if_icmpge 28
            iload 8 /* reply */
            iconst_m1
            if_icmpeq 22
        28: .line 2193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.grr:Lcom/jcraft/jsch/Session$GlobalRequestReply;
            aconst_null
            invokevirtual com.jcraft.jsch.Session$GlobalRequestReply.setThread:(Ljava/lang/Thread;)V
        29: .line 2194
            iload 8 /* reply */
            iconst_1
            if_icmpeq 31
        30: .line 2195
            new com.jcraft.jsch.JSchException
            dup
            new java.lang.StringBuilder
            dup
            ldc "remote port forwarding failed for listen port "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 2 /* rport */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
        31: .line 2197
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.grr:Lcom/jcraft/jsch/Session$GlobalRequestReply;
            invokevirtual com.jcraft.jsch.Session$GlobalRequestReply.getPort:()I
            istore 2 /* rport */
        end local 8 // int reply
        end local 7 // int count
        end local 6 // java.lang.String address_to_bind
        end local 5 // com.jcraft.jsch.Packet packet
        end local 4 // com.jcraft.jsch.Buffer buf
        32: .line 2154
            aload 3
            monitorexit
        33: goto 36
      StackMap locals: com.jcraft.jsch.Session java.lang.String int com.jcraft.jsch.Session$GlobalRequestReply
      StackMap stack: java.lang.Throwable
        34: aload 3
            monitorexit
        35: athrow
        36: .line 2199
      StackMap locals:
      StackMap stack:
            iload 2 /* rport */
            ireturn
        end local 2 // int rport
        end local 1 // java.lang.String bind_address
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   37     0             this  Lcom/jcraft/jsch/Session;
            0   37     1     bind_address  Ljava/lang/String;
            0   37     2            rport  I
            2   32     4              buf  Lcom/jcraft/jsch/Buffer;
            3   32     5           packet  Lcom/jcraft/jsch/Packet;
            4   32     6  address_to_bind  Ljava/lang/String;
           15   19     7                e  Ljava/lang/Exception;
           20   32     7            count  I
           21   32     8            reply  I
      Exception table:
        from    to  target  type
           6    13      14  Class java.lang.Exception
          22    23      24  Class java.lang.Exception
           1    33      34  any
          34    35      34  any
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
              Name  Flags
      bind_address  
      rport         

  public void delPortForwardingR(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // int rport
         0: .line 2208
            aload 0 /* this */
            aconst_null
            iload 1 /* rport */
            invokevirtual com.jcraft.jsch.Session.delPortForwardingR:(Ljava/lang/String;I)V
         1: .line 2209
            return
        end local 1 // int rport
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/jcraft/jsch/Session;
            0    2     1  rport  I
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
       Name  Flags
      rport  

  public void delPortForwardingR(java.lang.String, int);
    descriptor: (Ljava/lang/String;I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String bind_address
        start local 2 // int rport
         0: .line 2220
            aload 0 /* this */
            aload 1 /* bind_address */
            iload 2 /* rport */
            invokestatic com.jcraft.jsch.ChannelForwardedTCPIP.delPort:(Lcom/jcraft/jsch/Session;Ljava/lang/String;I)V
         1: .line 2221
            return
        end local 2 // int rport
        end local 1 // java.lang.String bind_address
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/jcraft/jsch/Session;
            0    2     1  bind_address  Ljava/lang/String;
            0    2     2         rport  I
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
              Name  Flags
      bind_address  
      rport         

  private void initDeflater(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String method
         0: .line 2224
            aload 1 /* method */
            ldc "none"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 2225
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.deflater:Lcom/jcraft/jsch/Compression;
         2: .line 2226
            return
         3: .line 2228
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* method */
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* foo */
        start local 2 // java.lang.String foo
         4: .line 2229
            aload 2 /* foo */
            ifnull 19
         5: .line 2230
            aload 1 /* method */
            ldc "zlib"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 2231
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.isAuthed:Z
            ifeq 19
            aload 1 /* method */
            ldc "zlib@openssh.com"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 19
         7: .line 2233
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* foo */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* c */
        start local 3 // java.lang.Class c
         8: .line 2234
            aload 0 /* this */
            aload 3 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.Compression
            putfield com.jcraft.jsch.Session.deflater:Lcom/jcraft/jsch/Compression;
         9: .line 2235
            bipush 6
            istore 4 /* level */
        start local 4 // int level
        10: .line 2236
            aload 0 /* this */
            ldc "compression_level"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            istore 4 /* level */
        11: goto 13
        12: .line 2237
      StackMap locals: com.jcraft.jsch.Session java.lang.String java.lang.String java.lang.Class int
      StackMap stack: java.lang.Exception
            pop
        13: .line 2238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.deflater:Lcom/jcraft/jsch/Compression;
            iconst_1
            iload 4 /* level */
            invokeinterface com.jcraft.jsch.Compression.init:(II)V
        end local 4 // int level
        end local 3 // java.lang.Class c
        14: .line 2239
            goto 19
        15: .line 2240
      StackMap locals: com.jcraft.jsch.Session java.lang.String java.lang.String
      StackMap stack: java.lang.NoClassDefFoundError
            astore 3 /* ee */
        start local 3 // java.lang.NoClassDefFoundError ee
        16: .line 2241
            new com.jcraft.jsch.JSchException
            dup
            aload 3 /* ee */
            invokevirtual java.lang.NoClassDefFoundError.toString:()Ljava/lang/String;
            aload 3 /* ee */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.NoClassDefFoundError ee
        17: .line 2243
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* ee */
        start local 3 // java.lang.Exception ee
        18: .line 2244
            new com.jcraft.jsch.JSchException
            dup
            aload 3 /* ee */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aload 3 /* ee */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception ee
        19: .line 2249
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String foo
        end local 1 // java.lang.String method
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   20     0    this  Lcom/jcraft/jsch/Session;
            0   20     1  method  Ljava/lang/String;
            4   20     2     foo  Ljava/lang/String;
            8   14     3       c  Ljava/lang/Class;
           10   14     4   level  I
           16   17     3      ee  Ljava/lang/NoClassDefFoundError;
           18   19     3      ee  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          10    11      12  Class java.lang.Exception
           7    14      15  Class java.lang.NoClassDefFoundError
           7    14      17  Class java.lang.Exception
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
        Name  Flags
      method  

  private void initInflater(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String method
         0: .line 2251
            aload 1 /* method */
            ldc "none"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         1: .line 2252
            aload 0 /* this */
            aconst_null
            putfield com.jcraft.jsch.Session.inflater:Lcom/jcraft/jsch/Compression;
         2: .line 2253
            return
         3: .line 2255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* method */
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* foo */
        start local 2 // java.lang.String foo
         4: .line 2256
            aload 2 /* foo */
            ifnull 13
         5: .line 2257
            aload 1 /* method */
            ldc "zlib"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 7
         6: .line 2258
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.isAuthed:Z
            ifeq 13
            aload 1 /* method */
            ldc "zlib@openssh.com"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         7: .line 2260
      StackMap locals: java.lang.String
      StackMap stack:
            aload 2 /* foo */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 3 /* c */
        start local 3 // java.lang.Class c
         8: .line 2261
            aload 0 /* this */
            aload 3 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.Compression
            putfield com.jcraft.jsch.Session.inflater:Lcom/jcraft/jsch/Compression;
         9: .line 2262
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.inflater:Lcom/jcraft/jsch/Compression;
            iconst_0
            iconst_0
            invokeinterface com.jcraft.jsch.Compression.init:(II)V
        end local 3 // java.lang.Class c
        10: .line 2263
            goto 13
        11: .line 2264
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* ee */
        start local 3 // java.lang.Exception ee
        12: .line 2265
            new com.jcraft.jsch.JSchException
            dup
            aload 3 /* ee */
            invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
            aload 3 /* ee */
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 3 // java.lang.Exception ee
        13: .line 2270
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String foo
        end local 1 // java.lang.String method
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   14     0    this  Lcom/jcraft/jsch/Session;
            0   14     1  method  Ljava/lang/String;
            4   14     2     foo  Ljava/lang/String;
            8   10     3       c  Ljava/lang/Class;
           12   13     3      ee  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           7    10      11  Class java.lang.Exception
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
        Name  Flags
      method  

  void addChannel(com.jcraft.jsch.Channel);
    descriptor: (Lcom/jcraft/jsch/Channel;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.Channel channel
         0: .line 2273
            aload 1 /* channel */
            aload 0 /* this */
            invokevirtual com.jcraft.jsch.Channel.setSession:(Lcom/jcraft/jsch/Session;)V
         1: .line 2274
            return
        end local 1 // com.jcraft.jsch.Channel channel
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/jcraft/jsch/Session;
            0    2     1  channel  Lcom/jcraft/jsch/Channel;
    MethodParameters:
         Name  Flags
      channel  

  public void setProxy(com.jcraft.jsch.Proxy);
    descriptor: (Lcom/jcraft/jsch/Proxy;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.Proxy proxy
         0: .line 2276
            aload 0 /* this */
            aload 1 /* proxy */
            putfield com.jcraft.jsch.Session.proxy:Lcom/jcraft/jsch/Proxy;
            return
        end local 1 // com.jcraft.jsch.Proxy proxy
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/jcraft/jsch/Session;
            0    1     1  proxy  Lcom/jcraft/jsch/Proxy;
    MethodParameters:
       Name  Flags
      proxy  

  public void setHost(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String host
         0: .line 2277
            aload 0 /* this */
            aload 1 /* host */
            putfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            return
        end local 1 // java.lang.String host
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;
            0    1     1  host  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      host  

  public void setPort(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // int port
         0: .line 2278
            aload 0 /* this */
            iload 1 /* port */
            putfield com.jcraft.jsch.Session.port:I
            return
        end local 1 // int port
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;
            0    1     1  port  I
    MethodParameters:
      Name  Flags
      port  

  void setUserName(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String username
         0: .line 2279
            aload 0 /* this */
            aload 1 /* username */
            putfield com.jcraft.jsch.Session.username:Ljava/lang/String;
            return
        end local 1 // java.lang.String username
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/jcraft/jsch/Session;
            0    1     1  username  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      username  

  public void setUserInfo(com.jcraft.jsch.UserInfo);
    descriptor: (Lcom/jcraft/jsch/UserInfo;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.UserInfo userinfo
         0: .line 2280
            aload 0 /* this */
            aload 1 /* userinfo */
            putfield com.jcraft.jsch.Session.userinfo:Lcom/jcraft/jsch/UserInfo;
            return
        end local 1 // com.jcraft.jsch.UserInfo userinfo
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/jcraft/jsch/Session;
            0    1     1  userinfo  Lcom/jcraft/jsch/UserInfo;
    MethodParameters:
          Name  Flags
      userinfo  

  public com.jcraft.jsch.UserInfo getUserInfo();
    descriptor: ()Lcom/jcraft/jsch/UserInfo;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2281
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.userinfo:Lcom/jcraft/jsch/UserInfo;
            areturn
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;

  public void setInputStream(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.io.InputStream in
         0: .line 2282
            aload 0 /* this */
            aload 1 /* in */
            putfield com.jcraft.jsch.Session.in:Ljava/io/InputStream;
            return
        end local 1 // java.io.InputStream in
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;
            0    1     1    in  Ljava/io/InputStream;
    MethodParameters:
      Name  Flags
      in    

  public void setOutputStream(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.io.OutputStream out
         0: .line 2283
            aload 0 /* this */
            aload 1 /* out */
            putfield com.jcraft.jsch.Session.out:Ljava/io/OutputStream;
            return
        end local 1 // java.io.OutputStream out
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;
            0    1     1   out  Ljava/io/OutputStream;
    MethodParameters:
      Name  Flags
      out   

  public void setX11Host(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String host
         0: .line 2284
            aload 1 /* host */
            invokestatic com.jcraft.jsch.ChannelX11.setHost:(Ljava/lang/String;)V
            return
        end local 1 // java.lang.String host
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;
            0    1     1  host  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      host  

  public void setX11Port(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // int port
         0: .line 2285
            iload 1 /* port */
            invokestatic com.jcraft.jsch.ChannelX11.setPort:(I)V
            return
        end local 1 // int port
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;
            0    1     1  port  I
    MethodParameters:
      Name  Flags
      port  

  public void setX11Cookie(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String cookie
         0: .line 2286
            aload 1 /* cookie */
            invokestatic com.jcraft.jsch.ChannelX11.setCookie:(Ljava/lang/String;)V
            return
        end local 1 // java.lang.String cookie
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    1     0    this  Lcom/jcraft/jsch/Session;
            0    1     1  cookie  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      cookie  

  public void setPassword(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String password
         0: .line 2288
            aload 1 /* password */
            ifnull 2
         1: .line 2289
            aload 0 /* this */
            aload 1 /* password */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            putfield com.jcraft.jsch.Session.password:[B
         2: .line 2290
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.lang.String password
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/jcraft/jsch/Session;
            0    3     1  password  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      password  

  public void setPassword(byte[]);
    descriptor: ([B)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // byte[] password
         0: .line 2292
            aload 1 /* password */
            ifnull 3
         1: .line 2293
            aload 0 /* this */
            aload 1 /* password */
            arraylength
            newarray 8
            putfield com.jcraft.jsch.Session.password:[B
         2: .line 2294
            aload 1 /* password */
            iconst_0
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.password:[B
            iconst_0
            aload 1 /* password */
            arraylength
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
         3: .line 2296
      StackMap locals:
      StackMap stack:
            return
        end local 1 // byte[] password
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/jcraft/jsch/Session;
            0    4     1  password  [B
    MethodParameters:
          Name  Flags
      password  

  public void setConfig(java.util.Properties);
    descriptor: (Ljava/util/Properties;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.util.Properties newconf
         0: .line 2299
            aload 0 /* this */
            aload 1 /* newconf */
            invokevirtual com.jcraft.jsch.Session.setConfig:(Ljava/util/Hashtable;)V
         1: .line 2300
            return
        end local 1 // java.util.Properties newconf
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/jcraft/jsch/Session;
            0    2     1  newconf  Ljava/util/Properties;
    MethodParameters:
         Name  Flags
      newconf  

  public void setConfig(java.util.Hashtable);
    descriptor: (Ljava/util/Hashtable;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.util.Hashtable newconf
         0: .line 2303
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.lock:Ljava/lang/Object;
            dup
            astore 2
            monitorenter
         1: .line 2304
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.config:Ljava/util/Hashtable;
            ifnonnull 3
         2: .line 2305
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield com.jcraft.jsch.Session.config:Ljava/util/Hashtable;
         3: .line 2306
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* newconf */
            invokevirtual java.util.Hashtable.keys:()Ljava/util/Enumeration;
            astore 3 /* e */
        start local 3 // java.util.Enumeration e
         4: goto 7
         5: .line 2307
      StackMap locals: java.util.Enumeration
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* key */
        start local 4 // java.lang.String key
         6: .line 2308
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.config:Ljava/util/Hashtable;
            aload 4 /* key */
            aload 1 /* newconf */
            aload 4 /* key */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.lang.String
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.String key
         7: .line 2306
      StackMap locals:
      StackMap stack:
            aload 3 /* e */
            invokeinterface java.util.Enumeration.hasMoreElements:()Z
            ifne 5
        end local 3 // java.util.Enumeration e
         8: .line 2303
            aload 2
            monitorexit
         9: goto 12
      StackMap locals: com.jcraft.jsch.Session java.util.Hashtable java.lang.Object
      StackMap stack: java.lang.Throwable
        10: aload 2
            monitorexit
        11: athrow
        12: .line 2311
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.util.Hashtable newconf
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/jcraft/jsch/Session;
            0   13     1  newconf  Ljava/util/Hashtable;
            4    8     3        e  Ljava/util/Enumeration;
            6    7     4      key  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     9      10  any
          10    11      10  any
    MethodParameters:
         Name  Flags
      newconf  

  public void setConfig(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String key
        start local 2 // java.lang.String value
         0: .line 2314
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.lock:Ljava/lang/Object;
            dup
            astore 3
            monitorenter
         1: .line 2315
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.config:Ljava/util/Hashtable;
            ifnonnull 3
         2: .line 2316
            aload 0 /* this */
            new java.util.Hashtable
            dup
            invokespecial java.util.Hashtable.<init>:()V
            putfield com.jcraft.jsch.Session.config:Ljava/util/Hashtable;
         3: .line 2318
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.config:Ljava/util/Hashtable;
            aload 1 /* key */
            aload 2 /* value */
            invokevirtual java.util.Hashtable.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 2314
            aload 3
            monitorexit
         5: goto 8
      StackMap locals:
      StackMap stack: java.lang.Throwable
         6: aload 3
            monitorexit
         7: athrow
         8: .line 2320
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String value
        end local 1 // java.lang.String key
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Lcom/jcraft/jsch/Session;
            0    9     1    key  Ljava/lang/String;
            0    9     2  value  Ljava/lang/String;
      Exception table:
        from    to  target  type
           1     5       6  any
           6     7       6  any
    MethodParameters:
       Name  Flags
      key    
      value  

  public java.lang.String getConfig(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String key
         0: .line 2323
            aconst_null
            astore 2 /* foo */
        start local 2 // java.lang.Object foo
         1: .line 2324
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.config:Ljava/util/Hashtable;
            ifnull 4
         2: .line 2325
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.config:Ljava/util/Hashtable;
            aload 1 /* key */
            invokevirtual java.util.Hashtable.get:(Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* foo */
         3: .line 2326
            aload 2 /* foo */
            instanceof java.lang.String
            ifeq 4
            aload 2 /* foo */
            checkcast java.lang.String
            areturn
         4: .line 2328
      StackMap locals: java.lang.Object
      StackMap stack:
            aload 1 /* key */
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* foo */
         5: .line 2329
            aload 2 /* foo */
            instanceof java.lang.String
            ifeq 6
            aload 2 /* foo */
            checkcast java.lang.String
            areturn
         6: .line 2330
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Object foo
        end local 1 // java.lang.String key
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/jcraft/jsch/Session;
            0    7     1   key  Ljava/lang/String;
            1    7     2   foo  Ljava/lang/Object;
    MethodParameters:
      Name  Flags
      key   

  public void setSocketFactory(com.jcraft.jsch.SocketFactory);
    descriptor: (Lcom/jcraft/jsch/SocketFactory;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.SocketFactory sfactory
         0: .line 2334
            aload 0 /* this */
            aload 1 /* sfactory */
            putfield com.jcraft.jsch.Session.socket_factory:Lcom/jcraft/jsch/SocketFactory;
         1: .line 2335
            return
        end local 1 // com.jcraft.jsch.SocketFactory sfactory
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/jcraft/jsch/Session;
            0    2     1  sfactory  Lcom/jcraft/jsch/SocketFactory;
    MethodParameters:
          Name  Flags
      sfactory  

  public boolean isConnected();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2336
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.isConnected:Z
            ireturn
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;

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

  public void setTimeout(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // int timeout
         0: .line 2339
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
            ifnonnull 5
         1: .line 2340
            iload 1 /* timeout */
            ifge 3
         2: .line 2341
            new com.jcraft.jsch.JSchException
            dup
            ldc "invalid timeout value"
            invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 2343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 1 /* timeout */
            putfield com.jcraft.jsch.Session.timeout:I
         4: .line 2344
            return
         5: .line 2347
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.socket:Ljava/net/Socket;
            iload 1 /* timeout */
            invokevirtual java.net.Socket.setSoTimeout:(I)V
         6: .line 2348
            aload 0 /* this */
            iload 1 /* timeout */
            putfield com.jcraft.jsch.Session.timeout:I
         7: .line 2349
            goto 12
         8: .line 2350
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         9: .line 2351
            aload 2 /* e */
            instanceof java.lang.Throwable
            ifeq 11
        10: .line 2352
            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
        11: .line 2353
      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
        12: .line 2355
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int timeout
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/jcraft/jsch/Session;
            0   13     1  timeout  I
            9   12     2        e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           5     7       8  Class java.lang.Exception
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
         Name  Flags
      timeout  

  public java.lang.String getServerVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2357
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.V_S:[B
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            areturn
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;

  public java.lang.String getClientVersion();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2360
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.V_C:[B
            invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
            areturn
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;

  public void setClientVersion(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String cv
         0: .line 2363
            aload 0 /* this */
            aload 1 /* cv */
            invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
            putfield com.jcraft.jsch.Session.V_C:[B
         1: .line 2364
            return
        end local 1 // java.lang.String cv
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/jcraft/jsch/Session;
            0    2     1    cv  Ljava/lang/String;
    MethodParameters:
      Name  Flags
      cv    

  public void sendIgnore();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2367
            new com.jcraft.jsch.Buffer
            dup
            invokespecial com.jcraft.jsch.Buffer.<init>:()V
            astore 1 /* buf */
        start local 1 // com.jcraft.jsch.Buffer buf
         1: .line 2368
            new com.jcraft.jsch.Packet
            dup
            aload 1 /* buf */
            invokespecial com.jcraft.jsch.Packet.<init>:(Lcom/jcraft/jsch/Buffer;)V
            astore 2 /* packet */
        start local 2 // com.jcraft.jsch.Packet packet
         2: .line 2369
            aload 2 /* packet */
            invokevirtual com.jcraft.jsch.Packet.reset:()V
         3: .line 2370
            aload 1 /* buf */
            iconst_2
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
         4: .line 2371
            aload 0 /* this */
            aload 2 /* packet */
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
         5: .line 2372
            return
        end local 2 // com.jcraft.jsch.Packet packet
        end local 1 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Lcom/jcraft/jsch/Session;
            1    6     1     buf  Lcom/jcraft/jsch/Buffer;
            2    6     2  packet  Lcom/jcraft/jsch/Packet;
    Exceptions:
      throws java.lang.Exception

  public void sendKeepAliveMsg();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2376
            new com.jcraft.jsch.Buffer
            dup
            invokespecial com.jcraft.jsch.Buffer.<init>:()V
            astore 1 /* buf */
        start local 1 // com.jcraft.jsch.Buffer buf
         1: .line 2377
            new com.jcraft.jsch.Packet
            dup
            aload 1 /* buf */
            invokespecial com.jcraft.jsch.Packet.<init>:(Lcom/jcraft/jsch/Buffer;)V
            astore 2 /* packet */
        start local 2 // com.jcraft.jsch.Packet packet
         2: .line 2378
            aload 2 /* packet */
            invokevirtual com.jcraft.jsch.Packet.reset:()V
         3: .line 2379
            aload 1 /* buf */
            bipush 80
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
         4: .line 2380
            aload 1 /* buf */
            getstatic com.jcraft.jsch.Session.keepalivemsg:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
         5: .line 2381
            aload 1 /* buf */
            iconst_1
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
         6: .line 2382
            aload 0 /* this */
            aload 2 /* packet */
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
         7: .line 2383
            return
        end local 2 // com.jcraft.jsch.Packet packet
        end local 1 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/jcraft/jsch/Session;
            1    8     1     buf  Lcom/jcraft/jsch/Buffer;
            2    8     2  packet  Lcom/jcraft/jsch/Packet;
    Exceptions:
      throws java.lang.Exception

  public void noMoreSessionChannels();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2387
            new com.jcraft.jsch.Buffer
            dup
            invokespecial com.jcraft.jsch.Buffer.<init>:()V
            astore 1 /* buf */
        start local 1 // com.jcraft.jsch.Buffer buf
         1: .line 2388
            new com.jcraft.jsch.Packet
            dup
            aload 1 /* buf */
            invokespecial com.jcraft.jsch.Packet.<init>:(Lcom/jcraft/jsch/Buffer;)V
            astore 2 /* packet */
        start local 2 // com.jcraft.jsch.Packet packet
         2: .line 2389
            aload 2 /* packet */
            invokevirtual com.jcraft.jsch.Packet.reset:()V
         3: .line 2390
            aload 1 /* buf */
            bipush 80
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
         4: .line 2391
            aload 1 /* buf */
            getstatic com.jcraft.jsch.Session.nomoresessions:[B
            invokevirtual com.jcraft.jsch.Buffer.putString:([B)V
         5: .line 2392
            aload 1 /* buf */
            iconst_0
            invokevirtual com.jcraft.jsch.Buffer.putByte:(B)V
         6: .line 2393
            aload 0 /* this */
            aload 2 /* packet */
            invokevirtual com.jcraft.jsch.Session.write:(Lcom/jcraft/jsch/Packet;)V
         7: .line 2394
            return
        end local 2 // com.jcraft.jsch.Packet packet
        end local 1 // com.jcraft.jsch.Buffer buf
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    8     0    this  Lcom/jcraft/jsch/Session;
            1    8     1     buf  Lcom/jcraft/jsch/Buffer;
            2    8     2  packet  Lcom/jcraft/jsch/Packet;
    Exceptions:
      throws java.lang.Exception

  public com.jcraft.jsch.HostKey getHostKey();
    descriptor: ()Lcom/jcraft/jsch/HostKey;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2397
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.hostkey:Lcom/jcraft/jsch/HostKey;
            areturn
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;

  public java.lang.String getHost();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2398
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.host:Ljava/lang/String;
            areturn
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;

  public java.lang.String getUserName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2399
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.username:Ljava/lang/String;
            areturn
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;

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

  public void setHostKeyAlias(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String hostKeyAlias
         0: .line 2402
            aload 0 /* this */
            aload 1 /* hostKeyAlias */
            putfield com.jcraft.jsch.Session.hostKeyAlias:Ljava/lang/String;
         1: .line 2403
            return
        end local 1 // java.lang.String hostKeyAlias
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/jcraft/jsch/Session;
            0    2     1  hostKeyAlias  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      hostKeyAlias  

  public java.lang.String getHostKeyAlias();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2405
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.hostKeyAlias:Ljava/lang/String;
            areturn
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/jcraft/jsch/Session;

  public void setServerAliveInterval(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // int interval
         0: .line 2417
            aload 0 /* this */
            iload 1 /* interval */
            invokevirtual com.jcraft.jsch.Session.setTimeout:(I)V
         1: .line 2418
            aload 0 /* this */
            iload 1 /* interval */
            putfield com.jcraft.jsch.Session.serverAliveInterval:I
         2: .line 2419
            return
        end local 1 // int interval
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0      this  Lcom/jcraft/jsch/Session;
            0    3     1  interval  I
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
          Name  Flags
      interval  

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

  public void setServerAliveCountMax(int);
    descriptor: (I)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // int count
         0: .line 2440
            aload 0 /* this */
            iload 1 /* count */
            putfield com.jcraft.jsch.Session.serverAliveCountMax:I
         1: .line 2441
            return
        end local 1 // int count
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Lcom/jcraft/jsch/Session;
            0    2     1  count  I
    MethodParameters:
       Name  Flags
      count  

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

  public void setDaemonThread(boolean);
    descriptor: (Z)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // boolean enable
         0: .line 2453
            aload 0 /* this */
            iload 1 /* enable */
            putfield com.jcraft.jsch.Session.daemon_thread:Z
         1: .line 2454
            return
        end local 1 // boolean enable
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lcom/jcraft/jsch/Session;
            0    2     1  enable  Z
    MethodParameters:
        Name  Flags
      enable  

  private java.lang.String[] checkCiphers(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=8, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String ciphers
         0: .line 2457
            aload 1 /* ciphers */
            ifnull 1
            aload 1 /* ciphers */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 2458
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 2460
      StackMap locals:
      StackMap stack:
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 6
         3: .line 2461
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
         4: .line 2462
            new java.lang.StringBuilder
            dup
            ldc "CheckCiphers: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* ciphers */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 2461
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
         6: .line 2465
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            ldc "cipher.c2s"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* cipherc2s */
        start local 2 // java.lang.String cipherc2s
         7: .line 2466
            aload 0 /* this */
            ldc "cipher.s2c"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* ciphers2c */
        start local 3 // java.lang.String ciphers2c
         8: .line 2468
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 4 /* result */
        start local 4 // java.util.Vector result
         9: .line 2469
            aload 1 /* ciphers */
            ldc ","
            invokestatic com.jcraft.jsch.Util.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 5 /* _ciphers */
        start local 5 // java.lang.String[] _ciphers
        10: .line 2470
            iconst_0
            istore 6 /* i */
        start local 6 // int i
        11: goto 18
        12: .line 2471
      StackMap locals: com.jcraft.jsch.Session java.lang.String java.lang.String java.lang.String java.util.Vector java.lang.String[] int
      StackMap stack:
            aload 5 /* _ciphers */
            iload 6 /* i */
            aaload
            astore 7 /* cipher */
        start local 7 // java.lang.String cipher
        13: .line 2472
            aload 3 /* ciphers2c */
            aload 7 /* cipher */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpne 15
            aload 2 /* cipherc2s */
            aload 7 /* cipher */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            iconst_m1
            if_icmpne 15
        14: .line 2473
            goto 17
        15: .line 2474
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 7 /* cipher */
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.jcraft.jsch.Session.checkCipher:(Ljava/lang/String;)Z
            ifne 17
        16: .line 2475
            aload 4 /* result */
            aload 7 /* cipher */
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        end local 7 // java.lang.String cipher
        17: .line 2470
      StackMap locals:
      StackMap stack:
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
        18: iload 6 /* i */
            aload 5 /* _ciphers */
            arraylength
            if_icmplt 12
        end local 6 // int i
        19: .line 2478
            aload 4 /* result */
            invokevirtual java.util.Vector.size:()I
            ifne 21
        20: .line 2479
            aconst_null
            areturn
        21: .line 2480
      StackMap locals:
      StackMap stack:
            aload 4 /* result */
            invokevirtual java.util.Vector.size:()I
            anewarray java.lang.String
            astore 6 /* foo */
        start local 6 // java.lang.String[] foo
        22: .line 2481
            aload 4 /* result */
            invokevirtual java.util.Vector.toArray:()[Ljava/lang/Object;
            iconst_0
            aload 6 /* foo */
            iconst_0
            aload 4 /* result */
            invokevirtual java.util.Vector.size:()I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        23: .line 2483
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 31
        24: .line 2484
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        25: goto 30
        26: .line 2485
      StackMap locals: java.lang.String[] int
      StackMap stack:
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
        27: .line 2486
            new java.lang.StringBuilder
            dup
            aload 6 /* foo */
            iload 7 /* i */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not available."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        28: .line 2485
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
        29: .line 2484
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        30: iload 7 /* i */
            aload 6 /* foo */
            arraylength
            if_icmplt 26
        end local 7 // int i
        31: .line 2490
      StackMap locals:
      StackMap stack:
            aload 6 /* foo */
            areturn
        end local 6 // java.lang.String[] foo
        end local 5 // java.lang.String[] _ciphers
        end local 4 // java.util.Vector result
        end local 3 // java.lang.String ciphers2c
        end local 2 // java.lang.String cipherc2s
        end local 1 // java.lang.String ciphers
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   32     0       this  Lcom/jcraft/jsch/Session;
            0   32     1    ciphers  Ljava/lang/String;
            7   32     2  cipherc2s  Ljava/lang/String;
            8   32     3  ciphers2c  Ljava/lang/String;
            9   32     4     result  Ljava/util/Vector;
           10   32     5   _ciphers  [Ljava/lang/String;
           11   19     6          i  I
           13   17     7     cipher  Ljava/lang/String;
           22   32     6        foo  [Ljava/lang/String;
           25   31     7          i  I
    MethodParameters:
         Name  Flags
      ciphers  

  static boolean checkCipher(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // java.lang.String cipher
         0: .line 2495
            aload 0 /* cipher */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 1 /* c */
        start local 1 // java.lang.Class c
         1: .line 2496
            aload 1 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.Cipher
            astore 2 /* _c */
        start local 2 // com.jcraft.jsch.Cipher _c
         2: .line 2497
            aload 2 /* _c */
            iconst_0
         3: .line 2498
            aload 2 /* _c */
            invokeinterface com.jcraft.jsch.Cipher.getBlockSize:()I
            newarray 8
         4: .line 2499
            aload 2 /* _c */
            invokeinterface com.jcraft.jsch.Cipher.getIVSize:()I
            newarray 8
         5: .line 2497
            invokeinterface com.jcraft.jsch.Cipher.init:(I[B[B)V
         6: .line 2500
            iconst_1
            ireturn
        end local 2 // com.jcraft.jsch.Cipher _c
        end local 1 // java.lang.Class c
         7: .line 2502
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
         8: .line 2503
            iconst_0
            ireturn
        end local 0 // java.lang.String cipher
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0  cipher  Ljava/lang/String;
            1    7     1       c  Ljava/lang/Class;
            2    7     2      _c  Lcom/jcraft/jsch/Cipher;
      Exception table:
        from    to  target  type
           0     6       7  Class java.lang.Exception
    MethodParameters:
        Name  Flags
      cipher  

  private java.lang.String[] checkKexes(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String kexes
         0: .line 2508
            aload 1 /* kexes */
            ifnull 1
            aload 1 /* kexes */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 2509
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 2511
      StackMap locals:
      StackMap stack:
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 6
         3: .line 2512
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
         4: .line 2513
            new java.lang.StringBuilder
            dup
            ldc "CheckKexes: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* kexes */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 2512
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
         6: .line 2516
      StackMap locals:
      StackMap stack:
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.Vector result
         7: .line 2517
            aload 1 /* kexes */
            ldc ","
            invokestatic com.jcraft.jsch.Util.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* _kexes */
        start local 3 // java.lang.String[] _kexes
         8: .line 2518
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 13
        10: .line 2519
      StackMap locals: java.util.Vector java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* _kexes */
            iload 4 /* i */
            aaload
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.jcraft.jsch.Session.checkKex:(Lcom/jcraft/jsch/Session;Ljava/lang/String;)Z
            ifne 12
        11: .line 2520
            aload 2 /* result */
            aload 3 /* _kexes */
            iload 4 /* i */
            aaload
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        12: .line 2518
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            aload 3 /* _kexes */
            arraylength
            if_icmplt 10
        end local 4 // int i
        14: .line 2523
            aload 2 /* result */
            invokevirtual java.util.Vector.size:()I
            ifne 16
        15: .line 2524
            aconst_null
            areturn
        16: .line 2525
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            invokevirtual java.util.Vector.size:()I
            anewarray java.lang.String
            astore 4 /* foo */
        start local 4 // java.lang.String[] foo
        17: .line 2526
            aload 2 /* result */
            invokevirtual java.util.Vector.toArray:()[Ljava/lang/Object;
            iconst_0
            aload 4 /* foo */
            iconst_0
            aload 2 /* result */
            invokevirtual java.util.Vector.size:()I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        18: .line 2528
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 26
        19: .line 2529
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        20: goto 25
        21: .line 2530
      StackMap locals: java.lang.String[] int
      StackMap stack:
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
        22: .line 2531
            new java.lang.StringBuilder
            dup
            aload 4 /* foo */
            iload 5 /* i */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not available."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        23: .line 2530
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
        24: .line 2529
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        25: iload 5 /* i */
            aload 4 /* foo */
            arraylength
            if_icmplt 21
        end local 5 // int i
        26: .line 2535
      StackMap locals:
      StackMap stack:
            aload 4 /* foo */
            areturn
        end local 4 // java.lang.String[] foo
        end local 3 // java.lang.String[] _kexes
        end local 2 // java.util.Vector result
        end local 1 // java.lang.String kexes
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   27     0    this  Lcom/jcraft/jsch/Session;
            0   27     1   kexes  Ljava/lang/String;
            7   27     2  result  Ljava/util/Vector;
            8   27     3  _kexes  [Ljava/lang/String;
            9   14     4       i  I
           17   27     4     foo  [Ljava/lang/String;
           20   26     5       i  I
    MethodParameters:
       Name  Flags
      kexes  

  static boolean checkKex(com.jcraft.jsch.Session, java.lang.String);
    descriptor: (Lcom/jcraft/jsch/Session;Ljava/lang/String;)Z
    flags: (0x0008) ACC_STATIC
    Code:
      stack=6, locals=4, args_size=2
        start local 0 // com.jcraft.jsch.Session s
        start local 1 // java.lang.String kex
         0: .line 2540
            aload 1 /* kex */
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 2 /* c */
        start local 2 // java.lang.Class c
         1: .line 2541
            aload 2 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.KeyExchange
            astore 3 /* _c */
        start local 3 // com.jcraft.jsch.KeyExchange _c
         2: .line 2542
            aload 3 /* _c */
            aload 0 /* s */
            aconst_null
            aconst_null
            aconst_null
            aconst_null
            invokevirtual com.jcraft.jsch.KeyExchange.init:(Lcom/jcraft/jsch/Session;[B[B[B[B)V
         3: .line 2543
            iconst_1
            ireturn
        end local 3 // com.jcraft.jsch.KeyExchange _c
        end local 2 // java.lang.Class c
         4: .line 2545
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
            iconst_0
            ireturn
        end local 1 // java.lang.String kex
        end local 0 // com.jcraft.jsch.Session s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     s  Lcom/jcraft/jsch/Session;
            0    5     1   kex  Ljava/lang/String;
            1    4     2     c  Ljava/lang/Class;
            2    4     3    _c  Lcom/jcraft/jsch/KeyExchange;
      Exception table:
        from    to  target  type
           0     3       4  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      s     
      kex   

  private java.lang.String[] checkSignatures(java.lang.String);
    descriptor: (Ljava/lang/String;)[Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // java.lang.String sigs
         0: .line 2549
            aload 1 /* sigs */
            ifnull 1
            aload 1 /* sigs */
            invokevirtual java.lang.String.length:()I
            ifne 2
         1: .line 2550
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         2: .line 2552
      StackMap locals:
      StackMap stack:
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 6
         3: .line 2553
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
         4: .line 2554
            new java.lang.StringBuilder
            dup
            ldc "CheckSignatures: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* sigs */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
         5: .line 2553
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
         6: .line 2557
      StackMap locals:
      StackMap stack:
            new java.util.Vector
            dup
            invokespecial java.util.Vector.<init>:()V
            astore 2 /* result */
        start local 2 // java.util.Vector result
         7: .line 2558
            aload 1 /* sigs */
            ldc ","
            invokestatic com.jcraft.jsch.Util.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* _sigs */
        start local 3 // java.lang.String[] _sigs
         8: .line 2559
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         9: goto 17
        10: .line 2561
      StackMap locals: java.util.Vector java.lang.String[] int
      StackMap stack:
            aload 3 /* _sigs */
            iload 4 /* i */
            aaload
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
            astore 5 /* c */
        start local 5 // java.lang.Class c
        11: .line 2562
            aload 5 /* c */
            invokevirtual java.lang.Class.newInstance:()Ljava/lang/Object;
            checkcast com.jcraft.jsch.Signature
            astore 6 /* sig */
        start local 6 // com.jcraft.jsch.Signature sig
        12: .line 2563
            aload 6 /* sig */
            invokeinterface com.jcraft.jsch.Signature.init:()V
        end local 6 // com.jcraft.jsch.Signature sig
        end local 5 // java.lang.Class c
        13: .line 2564
            goto 16
        14: .line 2565
      StackMap locals:
      StackMap stack: java.lang.Exception
            pop
        15: .line 2566
            aload 2 /* result */
            aload 3 /* _sigs */
            iload 4 /* i */
            aaload
            invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
        16: .line 2559
      StackMap locals:
      StackMap stack:
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        17: iload 4 /* i */
            aload 3 /* _sigs */
            arraylength
            if_icmplt 10
        end local 4 // int i
        18: .line 2569
            aload 2 /* result */
            invokevirtual java.util.Vector.size:()I
            ifne 20
        19: .line 2570
            aconst_null
            areturn
        20: .line 2571
      StackMap locals:
      StackMap stack:
            aload 2 /* result */
            invokevirtual java.util.Vector.size:()I
            anewarray java.lang.String
            astore 4 /* foo */
        start local 4 // java.lang.String[] foo
        21: .line 2572
            aload 2 /* result */
            invokevirtual java.util.Vector.toArray:()[Ljava/lang/Object;
            iconst_0
            aload 4 /* foo */
            iconst_0
            aload 2 /* result */
            invokevirtual java.util.Vector.size:()I
            invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
        22: .line 2573
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
            invokeinterface com.jcraft.jsch.Logger.isEnabled:(I)Z
            ifeq 30
        23: .line 2574
            iconst_0
            istore 5 /* i */
        start local 5 // int i
        24: goto 29
        25: .line 2575
      StackMap locals: java.lang.String[] int
      StackMap stack:
            invokestatic com.jcraft.jsch.JSch.getLogger:()Lcom/jcraft/jsch/Logger;
            iconst_1
        26: .line 2576
            new java.lang.StringBuilder
            dup
            aload 4 /* foo */
            iload 5 /* i */
            aaload
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc " is not available."
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
        27: .line 2575
            invokeinterface com.jcraft.jsch.Logger.log:(ILjava/lang/String;)V
        28: .line 2574
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        29: iload 5 /* i */
            aload 4 /* foo */
            arraylength
            if_icmplt 25
        end local 5 // int i
        30: .line 2579
      StackMap locals:
      StackMap stack:
            aload 4 /* foo */
            areturn
        end local 4 // java.lang.String[] foo
        end local 3 // java.lang.String[] _sigs
        end local 2 // java.util.Vector result
        end local 1 // java.lang.String sigs
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   31     0    this  Lcom/jcraft/jsch/Session;
            0   31     1    sigs  Ljava/lang/String;
            7   31     2  result  Ljava/util/Vector;
            8   31     3   _sigs  [Ljava/lang/String;
            9   18     4       i  I
           11   13     5       c  Ljava/lang/Class;
           12   13     6     sig  Lcom/jcraft/jsch/Signature;
           21   31     4     foo  [Ljava/lang/String;
           24   30     5       i  I
      Exception table:
        from    to  target  type
          10    13      14  Class java.lang.Exception
    MethodParameters:
      Name  Flags
      sigs  

  public void setIdentityRepository(com.jcraft.jsch.IdentityRepository);
    descriptor: (Lcom/jcraft/jsch/IdentityRepository;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.IdentityRepository identityRepository
         0: .line 2590
            aload 0 /* this */
            aload 1 /* identityRepository */
            putfield com.jcraft.jsch.Session.identityRepository:Lcom/jcraft/jsch/IdentityRepository;
         1: .line 2591
            return
        end local 1 // com.jcraft.jsch.IdentityRepository identityRepository
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    2     0                this  Lcom/jcraft/jsch/Session;
            0    2     1  identityRepository  Lcom/jcraft/jsch/IdentityRepository;
    MethodParameters:
                    Name  Flags
      identityRepository  

  com.jcraft.jsch.IdentityRepository getIdentityRepository();
    descriptor: ()Lcom/jcraft/jsch/IdentityRepository;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2601
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.identityRepository:Lcom/jcraft/jsch/IdentityRepository;
            ifnonnull 2
         1: .line 2602
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.jsch:Lcom/jcraft/jsch/JSch;
            invokevirtual com.jcraft.jsch.JSch.getIdentityRepository:()Lcom/jcraft/jsch/IdentityRepository;
            areturn
         2: .line 2603
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.identityRepository:Lcom/jcraft/jsch/IdentityRepository;
            areturn
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/Session;

  public void setHostKeyRepository(com.jcraft.jsch.HostKeyRepository);
    descriptor: (Lcom/jcraft/jsch/HostKeyRepository;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.HostKeyRepository hostkeyRepository
         0: .line 2613
            aload 0 /* this */
            aload 1 /* hostkeyRepository */
            putfield com.jcraft.jsch.Session.hostkeyRepository:Lcom/jcraft/jsch/HostKeyRepository;
         1: .line 2614
            return
        end local 1 // com.jcraft.jsch.HostKeyRepository hostkeyRepository
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lcom/jcraft/jsch/Session;
            0    2     1  hostkeyRepository  Lcom/jcraft/jsch/HostKeyRepository;
    MethodParameters:
                   Name  Flags
      hostkeyRepository  

  public com.jcraft.jsch.HostKeyRepository getHostKeyRepository();
    descriptor: ()Lcom/jcraft/jsch/HostKeyRepository;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2624
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.hostkeyRepository:Lcom/jcraft/jsch/HostKeyRepository;
            ifnonnull 2
         1: .line 2625
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.jsch:Lcom/jcraft/jsch/JSch;
            invokevirtual com.jcraft.jsch.JSch.getHostKeyRepository:()Lcom/jcraft/jsch/HostKeyRepository;
            areturn
         2: .line 2626
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.hostkeyRepository:Lcom/jcraft/jsch/HostKeyRepository;
            areturn
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/jcraft/jsch/Session;

  private void applyConfig();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2670
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.jsch:Lcom/jcraft/jsch/JSch;
            invokevirtual com.jcraft.jsch.JSch.getConfigRepository:()Lcom/jcraft/jsch/ConfigRepository;
            astore 1 /* configRepository */
        start local 1 // com.jcraft.jsch.ConfigRepository configRepository
         1: .line 2671
            aload 1 /* configRepository */
            ifnonnull 3
         2: .line 2672
            return
         3: .line 2676
      StackMap locals: com.jcraft.jsch.ConfigRepository
      StackMap stack:
            aload 1 /* configRepository */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.org_host:Ljava/lang/String;
            invokeinterface com.jcraft.jsch.ConfigRepository.getConfig:(Ljava/lang/String;)Lcom/jcraft/jsch/ConfigRepository$Config;
         4: .line 2675
            astore 2 /* config */
        start local 2 // com.jcraft.jsch.ConfigRepository$Config config
         5: .line 2678
            aconst_null
            astore 3 /* value */
        start local 3 // java.lang.String value
         6: .line 2680
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.username:Ljava/lang/String;
            ifnonnull 10
         7: .line 2681
            aload 2 /* config */
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getUser:()Ljava/lang/String;
            astore 3 /* value */
         8: .line 2682
            aload 3 /* value */
            ifnull 10
         9: .line 2683
            aload 0 /* this */
            aload 3 /* value */
            putfield com.jcraft.jsch.Session.username:Ljava/lang/String;
        10: .line 2686
      StackMap locals: com.jcraft.jsch.ConfigRepository$Config java.lang.String
      StackMap stack:
            aload 2 /* config */
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getHostname:()Ljava/lang/String;
            astore 3 /* value */
        11: .line 2687
            aload 3 /* value */
            ifnull 13
        12: .line 2688
            aload 0 /* this */
            aload 3 /* value */
            putfield com.jcraft.jsch.Session.host:Ljava/lang/String;
        13: .line 2690
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getPort:()I
            istore 4 /* port */
        start local 4 // int port
        14: .line 2691
            iload 4 /* port */
            iconst_m1
            if_icmpeq 16
        15: .line 2692
            aload 0 /* this */
            iload 4 /* port */
            putfield com.jcraft.jsch.Session.port:I
        16: .line 2694
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* config */
            ldc "kex"
            invokevirtual com.jcraft.jsch.Session.checkConfig:(Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
        17: .line 2695
            aload 0 /* this */
            aload 2 /* config */
            ldc "server_host_key"
            invokevirtual com.jcraft.jsch.Session.checkConfig:(Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
        18: .line 2697
            aload 0 /* this */
            aload 2 /* config */
            ldc "cipher.c2s"
            invokevirtual com.jcraft.jsch.Session.checkConfig:(Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
        19: .line 2698
            aload 0 /* this */
            aload 2 /* config */
            ldc "cipher.s2c"
            invokevirtual com.jcraft.jsch.Session.checkConfig:(Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
        20: .line 2699
            aload 0 /* this */
            aload 2 /* config */
            ldc "mac.c2s"
            invokevirtual com.jcraft.jsch.Session.checkConfig:(Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
        21: .line 2700
            aload 0 /* this */
            aload 2 /* config */
            ldc "mac.s2c"
            invokevirtual com.jcraft.jsch.Session.checkConfig:(Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
        22: .line 2701
            aload 0 /* this */
            aload 2 /* config */
            ldc "compression.c2s"
            invokevirtual com.jcraft.jsch.Session.checkConfig:(Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
        23: .line 2702
            aload 0 /* this */
            aload 2 /* config */
            ldc "compression.s2c"
            invokevirtual com.jcraft.jsch.Session.checkConfig:(Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
        24: .line 2703
            aload 0 /* this */
            aload 2 /* config */
            ldc "compression_level"
            invokevirtual com.jcraft.jsch.Session.checkConfig:(Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
        25: .line 2705
            aload 0 /* this */
            aload 2 /* config */
            ldc "StrictHostKeyChecking"
            invokevirtual com.jcraft.jsch.Session.checkConfig:(Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
        26: .line 2706
            aload 0 /* this */
            aload 2 /* config */
            ldc "HashKnownHosts"
            invokevirtual com.jcraft.jsch.Session.checkConfig:(Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
        27: .line 2707
            aload 0 /* this */
            aload 2 /* config */
            ldc "PreferredAuthentications"
            invokevirtual com.jcraft.jsch.Session.checkConfig:(Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
        28: .line 2708
            aload 0 /* this */
            aload 2 /* config */
            ldc "MaxAuthTries"
            invokevirtual com.jcraft.jsch.Session.checkConfig:(Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
        29: .line 2709
            aload 0 /* this */
            aload 2 /* config */
            ldc "ClearAllForwardings"
            invokevirtual com.jcraft.jsch.Session.checkConfig:(Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
        30: .line 2711
            aload 2 /* config */
            ldc "HostKeyAlias"
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value */
        31: .line 2712
            aload 3 /* value */
            ifnull 33
        32: .line 2713
            aload 0 /* this */
            aload 3 /* value */
            invokevirtual com.jcraft.jsch.Session.setHostKeyAlias:(Ljava/lang/String;)V
        33: .line 2715
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            ldc "UserKnownHostsFile"
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value */
        34: .line 2716
            aload 3 /* value */
            ifnull 38
        35: .line 2717
            new com.jcraft.jsch.KnownHosts
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.jsch:Lcom/jcraft/jsch/JSch;
            invokespecial com.jcraft.jsch.KnownHosts.<init>:(Lcom/jcraft/jsch/JSch;)V
            astore 5 /* kh */
        start local 5 // com.jcraft.jsch.KnownHosts kh
        36: .line 2718
            aload 5 /* kh */
            aload 3 /* value */
            invokevirtual com.jcraft.jsch.KnownHosts.setKnownHosts:(Ljava/lang/String;)V
        37: .line 2719
            aload 0 /* this */
            aload 5 /* kh */
            invokevirtual com.jcraft.jsch.Session.setHostKeyRepository:(Lcom/jcraft/jsch/HostKeyRepository;)V
        end local 5 // com.jcraft.jsch.KnownHosts kh
        38: .line 2722
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            ldc "IdentityFile"
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValues:(Ljava/lang/String;)[Ljava/lang/String;
            astore 5 /* values */
        start local 5 // java.lang.String[] values
        39: .line 2723
            aload 5 /* values */
            ifnull 72
        40: .line 2725
            aload 1 /* configRepository */
            ldc ""
            invokeinterface com.jcraft.jsch.ConfigRepository.getConfig:(Ljava/lang/String;)Lcom/jcraft/jsch/ConfigRepository$Config;
            ldc "IdentityFile"
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValues:(Ljava/lang/String;)[Ljava/lang/String;
        41: .line 2724
            astore 6 /* global */
        start local 6 // java.lang.String[] global
        42: .line 2726
            aload 6 /* global */
            ifnull 49
        43: .line 2727
            iconst_0
            istore 7 /* i */
        start local 7 // int i
        44: goto 47
        45: .line 2728
      StackMap locals: java.lang.String[] java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.jsch:Lcom/jcraft/jsch/JSch;
            aload 6 /* global */
            iload 7 /* i */
            aaload
            invokevirtual com.jcraft.jsch.JSch.addIdentity:(Ljava/lang/String;)V
        46: .line 2727
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        47: iload 7 /* i */
            aload 6 /* global */
            arraylength
            if_icmplt 45
        end local 7 // int i
        48: .line 2730
            goto 50
        49: .line 2732
      StackMap locals:
      StackMap stack:
            iconst_0
            anewarray java.lang.String
            astore 6 /* global */
        50: .line 2734
      StackMap locals:
      StackMap stack:
            aload 5 /* values */
            arraylength
            aload 6 /* global */
            arraylength
            isub
            ifle 72
        51: .line 2736
            new com.jcraft.jsch.IdentityRepository$Wrapper
            dup
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.jsch:Lcom/jcraft/jsch/JSch;
            invokevirtual com.jcraft.jsch.JSch.getIdentityRepository:()Lcom/jcraft/jsch/IdentityRepository;
            iconst_1
            invokespecial com.jcraft.jsch.IdentityRepository$Wrapper.<init>:(Lcom/jcraft/jsch/IdentityRepository;Z)V
        52: .line 2735
            astore 7 /* ir */
        start local 7 // com.jcraft.jsch.IdentityRepository$Wrapper ir
        53: .line 2737
            iconst_0
            istore 8 /* i */
        start local 8 // int i
        54: goto 70
        55: .line 2738
      StackMap locals: com.jcraft.jsch.IdentityRepository$Wrapper int
      StackMap stack:
            aload 5 /* values */
            iload 8 /* i */
            aaload
            astore 9 /* ifile */
        start local 9 // java.lang.String ifile
        56: .line 2739
            iconst_0
            istore 10 /* j */
        start local 10 // int j
        57: goto 63
        58: .line 2740
      StackMap locals: java.lang.String int
      StackMap stack:
            aload 9 /* ifile */
            aload 6 /* global */
            iload 10 /* j */
            aaload
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 60
        59: .line 2741
            goto 62
        60: .line 2742
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 9 /* ifile */
        61: .line 2743
            goto 64
        62: .line 2739
      StackMap locals:
      StackMap stack:
            iinc 10 /* j */ 1
      StackMap locals:
      StackMap stack:
        63: iload 10 /* j */
            aload 6 /* global */
            arraylength
            if_icmplt 58
        end local 10 // int j
        64: .line 2745
      StackMap locals:
      StackMap stack:
            aload 9 /* ifile */
            ifnonnull 66
        65: .line 2746
            goto 69
        66: .line 2748
      StackMap locals:
      StackMap stack:
            aload 9 /* ifile */
            aconst_null
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.jsch:Lcom/jcraft/jsch/JSch;
            invokestatic com.jcraft.jsch.IdentityFile.newInstance:(Ljava/lang/String;Ljava/lang/String;Lcom/jcraft/jsch/JSch;)Lcom/jcraft/jsch/IdentityFile;
        67: .line 2747
            astore 10 /* identity */
        start local 10 // com.jcraft.jsch.Identity identity
        68: .line 2749
            aload 7 /* ir */
            aload 10 /* identity */
            invokevirtual com.jcraft.jsch.IdentityRepository$Wrapper.add:(Lcom/jcraft/jsch/Identity;)V
        end local 10 // com.jcraft.jsch.Identity identity
        end local 9 // java.lang.String ifile
        69: .line 2737
      StackMap locals:
      StackMap stack:
            iinc 8 /* i */ 1
      StackMap locals:
      StackMap stack:
        70: iload 8 /* i */
            aload 5 /* values */
            arraylength
            if_icmplt 55
        end local 8 // int i
        71: .line 2751
            aload 0 /* this */
            aload 7 /* ir */
            invokevirtual com.jcraft.jsch.Session.setIdentityRepository:(Lcom/jcraft/jsch/IdentityRepository;)V
        end local 7 // com.jcraft.jsch.IdentityRepository$Wrapper ir
        end local 6 // java.lang.String[] global
        72: .line 2755
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            ldc "ServerAliveInterval"
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value */
        73: .line 2756
            aload 3 /* value */
            ifnull 77
        74: .line 2758
            aload 0 /* this */
            aload 3 /* value */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokevirtual com.jcraft.jsch.Session.setServerAliveInterval:(I)V
        75: .line 2759
            goto 77
        76: .line 2760
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        77: .line 2764
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            ldc "ConnectTimeout"
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value */
        78: .line 2765
            aload 3 /* value */
            ifnull 82
        79: .line 2767
            aload 0 /* this */
            aload 3 /* value */
            invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
            invokevirtual com.jcraft.jsch.Session.setTimeout:(I)V
        80: .line 2768
            goto 82
        81: .line 2769
      StackMap locals:
      StackMap stack: java.lang.NumberFormatException
            pop
        82: .line 2773
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            ldc "MaxAuthTries"
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value */
        83: .line 2774
            aload 3 /* value */
            ifnull 85
        84: .line 2775
            aload 0 /* this */
            ldc "MaxAuthTries"
            aload 3 /* value */
            invokevirtual com.jcraft.jsch.Session.setConfig:(Ljava/lang/String;Ljava/lang/String;)V
        85: .line 2778
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            ldc "ClearAllForwardings"
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value */
        86: .line 2779
            aload 3 /* value */
            ifnull 88
        87: .line 2780
            aload 0 /* this */
            ldc "ClearAllForwardings"
            aload 3 /* value */
            invokevirtual com.jcraft.jsch.Session.setConfig:(Ljava/lang/String;Ljava/lang/String;)V
        88: .line 2783
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.String[] values
        end local 4 // int port
        end local 3 // java.lang.String value
        end local 2 // com.jcraft.jsch.ConfigRepository$Config config
        end local 1 // com.jcraft.jsch.ConfigRepository configRepository
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   89     0              this  Lcom/jcraft/jsch/Session;
            1   89     1  configRepository  Lcom/jcraft/jsch/ConfigRepository;
            5   89     2            config  Lcom/jcraft/jsch/ConfigRepository$Config;
            6   89     3             value  Ljava/lang/String;
           14   89     4              port  I
           36   38     5                kh  Lcom/jcraft/jsch/KnownHosts;
           39   89     5            values  [Ljava/lang/String;
           42   72     6            global  [Ljava/lang/String;
           44   48     7                 i  I
           53   72     7                ir  Lcom/jcraft/jsch/IdentityRepository$Wrapper;
           54   71     8                 i  I
           56   69     9             ifile  Ljava/lang/String;
           57   64    10                 j  I
           68   69    10          identity  Lcom/jcraft/jsch/Identity;
      Exception table:
        from    to  target  type
          74    75      76  Class java.lang.NumberFormatException
          79    80      81  Class java.lang.NumberFormatException
    Exceptions:
      throws com.jcraft.jsch.JSchException

  private void applyConfigChannel(com.jcraft.jsch.ChannelSession);
    descriptor: (Lcom/jcraft/jsch/ChannelSession;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=2
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.ChannelSession channel
         0: .line 2786
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.jsch:Lcom/jcraft/jsch/JSch;
            invokevirtual com.jcraft.jsch.JSch.getConfigRepository:()Lcom/jcraft/jsch/ConfigRepository;
            astore 2 /* configRepository */
        start local 2 // com.jcraft.jsch.ConfigRepository configRepository
         1: .line 2787
            aload 2 /* configRepository */
            ifnonnull 3
         2: .line 2788
            return
         3: .line 2792
      StackMap locals: com.jcraft.jsch.ConfigRepository
      StackMap stack:
            aload 2 /* configRepository */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.org_host:Ljava/lang/String;
            invokeinterface com.jcraft.jsch.ConfigRepository.getConfig:(Ljava/lang/String;)Lcom/jcraft/jsch/ConfigRepository$Config;
         4: .line 2791
            astore 3 /* config */
        start local 3 // com.jcraft.jsch.ConfigRepository$Config config
         5: .line 2794
            aconst_null
            astore 4 /* value */
        start local 4 // java.lang.String value
         6: .line 2796
            aload 3 /* config */
            ldc "ForwardAgent"
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* value */
         7: .line 2797
            aload 4 /* value */
            ifnull 9
         8: .line 2798
            aload 1 /* channel */
            aload 4 /* value */
            ldc "yes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            invokevirtual com.jcraft.jsch.ChannelSession.setAgentForwarding:(Z)V
         9: .line 2801
      StackMap locals: com.jcraft.jsch.ConfigRepository$Config java.lang.String
      StackMap stack:
            aload 3 /* config */
            ldc "RequestTTY"
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* value */
        10: .line 2802
            aload 4 /* value */
            ifnull 12
        11: .line 2803
            aload 1 /* channel */
            aload 4 /* value */
            ldc "yes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            invokevirtual com.jcraft.jsch.ChannelSession.setPty:(Z)V
        12: .line 2805
      StackMap locals:
      StackMap stack:
            return
        end local 4 // java.lang.String value
        end local 3 // com.jcraft.jsch.ConfigRepository$Config config
        end local 2 // com.jcraft.jsch.ConfigRepository configRepository
        end local 1 // com.jcraft.jsch.ChannelSession channel
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   13     0              this  Lcom/jcraft/jsch/Session;
            0   13     1           channel  Lcom/jcraft/jsch/ChannelSession;
            1   13     2  configRepository  Lcom/jcraft/jsch/ConfigRepository;
            5   13     3            config  Lcom/jcraft/jsch/ConfigRepository$Config;
            6   13     4             value  Ljava/lang/String;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
         Name  Flags
      channel  

  private void requestPortForwarding();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=1
        start local 0 // com.jcraft.jsch.Session this
         0: .line 2809
            aload 0 /* this */
            ldc "ClearAllForwardings"
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            ldc "yes"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 2810
            return
         2: .line 2812
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.jsch:Lcom/jcraft/jsch/JSch;
            invokevirtual com.jcraft.jsch.JSch.getConfigRepository:()Lcom/jcraft/jsch/ConfigRepository;
            astore 1 /* configRepository */
        start local 1 // com.jcraft.jsch.ConfigRepository configRepository
         3: .line 2813
            aload 1 /* configRepository */
            ifnonnull 5
         4: .line 2814
            return
         5: .line 2818
      StackMap locals: com.jcraft.jsch.ConfigRepository
      StackMap stack:
            aload 1 /* configRepository */
            aload 0 /* this */
            getfield com.jcraft.jsch.Session.org_host:Ljava/lang/String;
            invokeinterface com.jcraft.jsch.ConfigRepository.getConfig:(Ljava/lang/String;)Lcom/jcraft/jsch/ConfigRepository$Config;
         6: .line 2817
            astore 2 /* config */
        start local 2 // com.jcraft.jsch.ConfigRepository$Config config
         7: .line 2820
            aload 2 /* config */
            ldc "LocalForward"
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValues:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* values */
        start local 3 // java.lang.String[] values
         8: .line 2821
            aload 3 /* values */
            ifnull 14
         9: .line 2822
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        10: goto 13
        11: .line 2823
      StackMap locals: com.jcraft.jsch.ConfigRepository$Config java.lang.String[] int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* values */
            iload 4 /* i */
            aaload
            invokevirtual com.jcraft.jsch.Session.setPortForwardingL:(Ljava/lang/String;)I
            pop
        12: .line 2822
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 4 /* i */
            aload 3 /* values */
            arraylength
            if_icmplt 11
        end local 4 // int i
        14: .line 2827
      StackMap locals:
      StackMap stack:
            aload 2 /* config */
            ldc "RemoteForward"
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValues:(Ljava/lang/String;)[Ljava/lang/String;
            astore 3 /* values */
        15: .line 2828
            aload 3 /* values */
            ifnull 21
        16: .line 2829
            iconst_0
            istore 4 /* i */
        start local 4 // int i
        17: goto 20
        18: .line 2830
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 3 /* values */
            iload 4 /* i */
            aaload
            invokevirtual com.jcraft.jsch.Session.setPortForwardingR:(Ljava/lang/String;)I
            pop
        19: .line 2829
            iinc 4 /* i */ 1
      StackMap locals:
      StackMap stack:
        20: iload 4 /* i */
            aload 3 /* values */
            arraylength
            if_icmplt 18
        end local 4 // int i
        21: .line 2833
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String[] values
        end local 2 // com.jcraft.jsch.ConfigRepository$Config config
        end local 1 // com.jcraft.jsch.ConfigRepository configRepository
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   22     0              this  Lcom/jcraft/jsch/Session;
            3   22     1  configRepository  Lcom/jcraft/jsch/ConfigRepository;
            7   22     2            config  Lcom/jcraft/jsch/ConfigRepository$Config;
            8   22     3            values  [Ljava/lang/String;
           10   14     4                 i  I
           17   21     4                 i  I
    Exceptions:
      throws com.jcraft.jsch.JSchException

  private void checkConfig(com.jcraft.jsch.ConfigRepository$Config, java.lang.String);
    descriptor: (Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // com.jcraft.jsch.Session this
        start local 1 // com.jcraft.jsch.ConfigRepository$Config config
        start local 2 // java.lang.String key
         0: .line 2836
            aload 1 /* config */
            aload 2 /* key */
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* value */
        start local 3 // java.lang.String value
         1: .line 2837
            aload 3 /* value */
            ifnull 3
         2: .line 2838
            aload 0 /* this */
            aload 2 /* key */
            aload 3 /* value */
            invokevirtual com.jcraft.jsch.Session.setConfig:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 2839
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 3 // java.lang.String value
        end local 2 // java.lang.String key
        end local 1 // com.jcraft.jsch.ConfigRepository$Config config
        end local 0 // com.jcraft.jsch.Session this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/jcraft/jsch/Session;
            0    4     1  config  Lcom/jcraft/jsch/ConfigRepository$Config;
            0    4     2     key  Ljava/lang/String;
            1    4     3   value  Ljava/lang/String;
    MethodParameters:
        Name  Flags
      config  
      key     
}
SourceFile: "Session.java"
NestMembers:
  com.jcraft.jsch.Session$Forwarding  com.jcraft.jsch.Session$GlobalRequestReply
InnerClasses:
  public abstract Config = com.jcraft.jsch.ConfigRepository$Config of com.jcraft.jsch.ConfigRepository
  public Wrapper = com.jcraft.jsch.IdentityRepository$Wrapper of com.jcraft.jsch.IdentityRepository
  private Forwarding = com.jcraft.jsch.Session$Forwarding of com.jcraft.jsch.Session
  private GlobalRequestReply = com.jcraft.jsch.Session$GlobalRequestReply of com.jcraft.jsch.Session