public abstract class org.eclipse.jgit.transport.JschConfigSessionFactory extends org.eclipse.jgit.transport.SshSessionFactory
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: org.eclipse.jgit.transport.JschConfigSessionFactory
  super_class: org.eclipse.jgit.transport.SshSessionFactory
{
  private static final org.slf4j.Logger LOG;
    descriptor: Lorg/slf4j/Logger;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.Map<java.lang.String, com.jcraft.jsch.JSch> byIdentityFile;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lcom/jcraft/jsch/JSch;>;

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

  private org.eclipse.jgit.transport.OpenSshConfig config;
    descriptor: Lorg/eclipse/jgit/transport/OpenSshConfig;
    flags: (0x0002) ACC_PRIVATE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 101
            ldc Lorg/eclipse/jgit/transport/JschConfigSessionFactory;
            invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
         1: .line 100
            putstatic org.eclipse.jgit.transport.JschConfigSessionFactory.LOG:Lorg/slf4j/Logger;
         2: .line 101
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
         0: .line 98
            aload 0 /* this */
            invokespecial org.eclipse.jgit.transport.SshSessionFactory.<init>:()V
         1: .line 111
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield org.eclipse.jgit.transport.JschConfigSessionFactory.byIdentityFile:Ljava/util/Map;
         2: .line 98
            return
        end local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lorg/eclipse/jgit/transport/JschConfigSessionFactory;

  public synchronized org.eclipse.jgit.transport.RemoteSession getSession(org.eclipse.jgit.transport.URIish, org.eclipse.jgit.transport.CredentialsProvider, org.eclipse.jgit.util.FS, int);
    descriptor: (Lorg/eclipse/jgit/transport/URIish;Lorg/eclipse/jgit/transport/CredentialsProvider;Lorg/eclipse/jgit/util/FS;I)Lorg/eclipse/jgit/transport/RemoteSession;
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=8, locals=14, args_size=5
        start local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
        start local 1 // org.eclipse.jgit.transport.URIish uri
        start local 2 // org.eclipse.jgit.transport.CredentialsProvider credentialsProvider
        start local 3 // org.eclipse.jgit.util.FS fs
        start local 4 // int tms
         0: .line 123
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getUser:()Ljava/lang/String;
            astore 5 /* user */
        start local 5 // java.lang.String user
         1: .line 124
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getPass:()Ljava/lang/String;
            astore 6 /* pass */
        start local 6 // java.lang.String pass
         2: .line 125
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getHost:()Ljava/lang/String;
            astore 7 /* host */
        start local 7 // java.lang.String host
         3: .line 126
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.URIish.getPort:()I
            istore 8 /* port */
        start local 8 // int port
         4: .line 129
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.JschConfigSessionFactory.config:Lorg/eclipse/jgit/transport/OpenSshConfig;
            ifnonnull 6
         5: .line 130
            aload 0 /* this */
            aload 3 /* fs */
            invokestatic org.eclipse.jgit.transport.OpenSshConfig.get:(Lorg/eclipse/jgit/util/FS;)Lorg/eclipse/jgit/transport/OpenSshConfig;
            putfield org.eclipse.jgit.transport.JschConfigSessionFactory.config:Lorg/eclipse/jgit/transport/OpenSshConfig;
         6: .line 132
      StackMap locals: org.eclipse.jgit.transport.JschConfigSessionFactory org.eclipse.jgit.transport.URIish org.eclipse.jgit.transport.CredentialsProvider org.eclipse.jgit.util.FS int java.lang.String java.lang.String java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.JschConfigSessionFactory.config:Lorg/eclipse/jgit/transport/OpenSshConfig;
            aload 7 /* host */
            invokevirtual org.eclipse.jgit.transport.OpenSshConfig.lookup:(Ljava/lang/String;)Lorg/eclipse/jgit/transport/OpenSshConfig$Host;
            astore 9 /* hc */
        start local 9 // org.eclipse.jgit.transport.OpenSshConfig$Host hc
         7: .line 133
            iload 8 /* port */
            ifgt 9
         8: .line 134
            aload 9 /* hc */
            invokevirtual org.eclipse.jgit.transport.OpenSshConfig$Host.getPort:()I
            istore 8 /* port */
         9: .line 135
      StackMap locals: org.eclipse.jgit.transport.OpenSshConfig$Host
      StackMap stack:
            aload 5 /* user */
            ifnonnull 11
        10: .line 136
            aload 9 /* hc */
            invokevirtual org.eclipse.jgit.transport.OpenSshConfig$Host.getUser:()Ljava/lang/String;
            astore 5 /* user */
        11: .line 138
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* credentialsProvider */
            aload 3 /* fs */
            aload 5 /* user */
        12: .line 139
            aload 6 /* pass */
            aload 7 /* host */
            iload 8 /* port */
            aload 9 /* hc */
        13: .line 138
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.createSession:(Lorg/eclipse/jgit/transport/CredentialsProvider;Lorg/eclipse/jgit/util/FS;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILorg/eclipse/jgit/transport/OpenSshConfig$Host;)Lcom/jcraft/jsch/Session;
            astore 10 /* session */
        start local 10 // com.jcraft.jsch.Session session
        14: .line 141
            iconst_0
            istore 11 /* retries */
        start local 11 // int retries
        15: .line 142
            goto 46
        16: .line 144
      StackMap locals: com.jcraft.jsch.Session int
      StackMap stack:
            iinc 11 /* retries */ 1
        17: .line 145
            aload 10 /* session */
            iload 4 /* tms */
            invokevirtual com.jcraft.jsch.Session.connect:(I)V
        18: .line 146
            goto 46
      StackMap locals:
      StackMap stack: com.jcraft.jsch.JSchException
        19: astore 12 /* e */
        start local 12 // com.jcraft.jsch.JSchException e
        20: .line 147
            aload 10 /* session */
            invokevirtual com.jcraft.jsch.Session.disconnect:()V
        21: .line 148
            aconst_null
            astore 10 /* session */
        22: .line 150
            aload 0 /* this */
            aload 9 /* hc */
            aload 3 /* fs */
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.getJSch:(Lorg/eclipse/jgit/transport/OpenSshConfig$Host;Lorg/eclipse/jgit/util/FS;)Lcom/jcraft/jsch/JSch;
            aload 3 /* fs */
            invokestatic org.eclipse.jgit.transport.JschConfigSessionFactory.knownHosts:(Lcom/jcraft/jsch/JSch;Lorg/eclipse/jgit/util/FS;)V
        23: .line 152
            aload 12 /* e */
            invokestatic org.eclipse.jgit.transport.JschConfigSessionFactory.isAuthenticationCanceled:(Lcom/jcraft/jsch/JSchException;)Z
            ifeq 25
        24: .line 153
            aload 12 /* e */
            athrow
        25: .line 154
      StackMap locals: com.jcraft.jsch.JSchException
      StackMap stack:
            aload 12 /* e */
            invokestatic org.eclipse.jgit.transport.JschConfigSessionFactory.isAuthenticationFailed:(Lcom/jcraft/jsch/JSchException;)Z
            ifeq 34
        26: .line 155
            aload 2 /* credentialsProvider */
            ifnull 34
        27: .line 158
            iload 11 /* retries */
            iconst_3
            if_icmpge 33
        28: .line 159
            aload 2 /* credentialsProvider */
            aload 1 /* uri */
            invokevirtual org.eclipse.jgit.transport.CredentialsProvider.reset:(Lorg/eclipse/jgit/transport/URIish;)V
        29: .line 160
            aload 0 /* this */
            aload 2 /* credentialsProvider */
            aload 3 /* fs */
        30: .line 161
            aload 5 /* user */
            aload 6 /* pass */
            aload 7 /* host */
            iload 8 /* port */
            aload 9 /* hc */
        31: .line 160
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.createSession:(Lorg/eclipse/jgit/transport/CredentialsProvider;Lorg/eclipse/jgit/util/FS;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILorg/eclipse/jgit/transport/OpenSshConfig$Host;)Lcom/jcraft/jsch/Session;
            astore 10 /* session */
        32: .line 162
            goto 46
        33: .line 163
      StackMap locals:
      StackMap stack:
            aload 12 /* e */
            athrow
        34: .line 164
      StackMap locals:
      StackMap stack:
            iload 11 /* retries */
            aload 9 /* hc */
            invokevirtual org.eclipse.jgit.transport.OpenSshConfig$Host.getConnectionAttempts:()I
            if_icmplt 36
        35: .line 165
            aload 12 /* e */
            athrow
        36: .line 168
      StackMap locals:
      StackMap stack:
            ldc 1000
            invokestatic java.lang.Thread.sleep:(J)V
        37: .line 169
            aload 0 /* this */
            aload 2 /* credentialsProvider */
            aload 3 /* fs */
        38: .line 170
            aload 5 /* user */
            aload 6 /* pass */
            aload 7 /* host */
            iload 8 /* port */
            aload 9 /* hc */
        39: .line 169
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.createSession:(Lorg/eclipse/jgit/transport/CredentialsProvider;Lorg/eclipse/jgit/util/FS;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILorg/eclipse/jgit/transport/OpenSshConfig$Host;)Lcom/jcraft/jsch/Session;
            astore 10 /* session */
        40: .line 171
            goto 46
      StackMap locals:
      StackMap stack: java.lang.InterruptedException
        41: astore 13 /* e1 */
        start local 13 // java.lang.InterruptedException e1
        42: .line 172
            new org.eclipse.jgit.errors.TransportException
            dup
        43: .line 173
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.transportSSHRetryInterrupt:Ljava/lang/String;
        44: .line 174
            aload 13 /* e1 */
        45: .line 172
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 13 // java.lang.InterruptedException e1
        end local 12 // com.jcraft.jsch.JSchException e
        46: .line 142
      StackMap locals:
      StackMap stack:
            aload 10 /* session */
            invokevirtual com.jcraft.jsch.Session.isConnected:()Z
            ifeq 16
        47: .line 180
            new org.eclipse.jgit.transport.JschSession
            dup
            aload 10 /* session */
            aload 1 /* uri */
            invokespecial org.eclipse.jgit.transport.JschSession.<init>:(Lcom/jcraft/jsch/Session;Lorg/eclipse/jgit/transport/URIish;)V
        48: areturn
        end local 11 // int retries
        end local 10 // com.jcraft.jsch.Session session
        end local 9 // org.eclipse.jgit.transport.OpenSshConfig$Host hc
        49: .line 182
      StackMap locals: org.eclipse.jgit.transport.JschConfigSessionFactory org.eclipse.jgit.transport.URIish org.eclipse.jgit.transport.CredentialsProvider org.eclipse.jgit.util.FS int java.lang.String java.lang.String java.lang.String int
      StackMap stack: com.jcraft.jsch.JSchException
            astore 9 /* je */
        start local 9 // com.jcraft.jsch.JSchException je
        50: .line 183
            aload 9 /* je */
            invokevirtual com.jcraft.jsch.JSchException.getCause:()Ljava/lang/Throwable;
            astore 10 /* c */
        start local 10 // java.lang.Throwable c
        51: .line 184
            aload 10 /* c */
            instanceof java.net.UnknownHostException
            ifeq 55
        52: .line 185
            new org.eclipse.jgit.errors.TransportException
            dup
            aload 1 /* uri */
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.unknownHost:Ljava/lang/String;
        53: .line 186
            aload 9 /* je */
        54: .line 185
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Lorg/eclipse/jgit/transport/URIish;Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        55: .line 188
      StackMap locals: com.jcraft.jsch.JSchException java.lang.Throwable
      StackMap stack:
            aload 10 /* c */
            instanceof java.net.ConnectException
            ifeq 57
        56: .line 189
            new org.eclipse.jgit.errors.TransportException
            dup
            aload 1 /* uri */
            aload 10 /* c */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aload 9 /* je */
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Lorg/eclipse/jgit/transport/URIish;Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        57: .line 191
      StackMap locals:
      StackMap stack:
            new org.eclipse.jgit.errors.TransportException
            dup
            aload 1 /* uri */
            aload 9 /* je */
            invokevirtual com.jcraft.jsch.JSchException.getMessage:()Ljava/lang/String;
            aload 9 /* je */
            invokespecial org.eclipse.jgit.errors.TransportException.<init>:(Lorg/eclipse/jgit/transport/URIish;Ljava/lang/String;Ljava/lang/Throwable;)V
            athrow
        end local 10 // java.lang.Throwable c
        end local 9 // com.jcraft.jsch.JSchException je
        end local 8 // int port
        end local 7 // java.lang.String host
        end local 6 // java.lang.String pass
        end local 5 // java.lang.String user
        end local 4 // int tms
        end local 3 // org.eclipse.jgit.util.FS fs
        end local 2 // org.eclipse.jgit.transport.CredentialsProvider credentialsProvider
        end local 1 // org.eclipse.jgit.transport.URIish uri
        end local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   58     0                 this  Lorg/eclipse/jgit/transport/JschConfigSessionFactory;
            0   58     1                  uri  Lorg/eclipse/jgit/transport/URIish;
            0   58     2  credentialsProvider  Lorg/eclipse/jgit/transport/CredentialsProvider;
            0   58     3                   fs  Lorg/eclipse/jgit/util/FS;
            0   58     4                  tms  I
            1   58     5                 user  Ljava/lang/String;
            2   58     6                 pass  Ljava/lang/String;
            3   58     7                 host  Ljava/lang/String;
            4   58     8                 port  I
            7   49     9                   hc  Lorg/eclipse/jgit/transport/OpenSshConfig$Host;
           14   49    10              session  Lcom/jcraft/jsch/Session;
           15   49    11              retries  I
           20   46    12                    e  Lcom/jcraft/jsch/JSchException;
           42   46    13                   e1  Ljava/lang/InterruptedException;
           50   58     9                   je  Lcom/jcraft/jsch/JSchException;
           51   58    10                    c  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
          16    18      19  Class com.jcraft.jsch.JSchException
          36    40      41  Class java.lang.InterruptedException
           4    48      49  Class com.jcraft.jsch.JSchException
    Exceptions:
      throws org.eclipse.jgit.errors.TransportException
    MethodParameters:
                     Name  Flags
      uri                  
      credentialsProvider  
      fs                   
      tms                  

  private static boolean isAuthenticationFailed(com.jcraft.jsch.JSchException);
    descriptor: (Lcom/jcraft/jsch/JSchException;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.JSchException e
         0: .line 197
            aload 0 /* e */
            invokevirtual com.jcraft.jsch.JSchException.getCause:()Ljava/lang/Throwable;
            ifnonnull 1
            aload 0 /* e */
            invokevirtual com.jcraft.jsch.JSchException.getMessage:()Ljava/lang/String;
            ldc "Auth fail"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.jcraft.jsch.JSchException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     e  Lcom/jcraft/jsch/JSchException;
    MethodParameters:
      Name  Flags
      e     

  private static boolean isAuthenticationCanceled(com.jcraft.jsch.JSchException);
    descriptor: (Lcom/jcraft/jsch/JSchException;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.JSchException e
         0: .line 201
            aload 0 /* e */
            invokevirtual com.jcraft.jsch.JSchException.getCause:()Ljava/lang/Throwable;
            ifnonnull 1
            aload 0 /* e */
            invokevirtual com.jcraft.jsch.JSchException.getMessage:()Ljava/lang/String;
            ldc "Auth cancel"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.jcraft.jsch.JSchException e
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     e  Lcom/jcraft/jsch/JSchException;
    MethodParameters:
      Name  Flags
      e     

  com.jcraft.jsch.Session createSession(org.eclipse.jgit.transport.CredentialsProvider, org.eclipse.jgit.util.FS, java.lang.String, java.lang.String, java.lang.String, int, org.eclipse.jgit.transport.OpenSshConfig$Host);
    descriptor: (Lorg/eclipse/jgit/transport/CredentialsProvider;Lorg/eclipse/jgit/util/FS;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILorg/eclipse/jgit/transport/OpenSshConfig$Host;)Lcom/jcraft/jsch/Session;
    flags: (0x0000) 
    Code:
      stack=6, locals=11, args_size=8
        start local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
        start local 1 // org.eclipse.jgit.transport.CredentialsProvider credentialsProvider
        start local 2 // org.eclipse.jgit.util.FS fs
        start local 3 // java.lang.String user
        start local 4 // java.lang.String pass
        start local 5 // java.lang.String host
        start local 6 // int port
        start local 7 // org.eclipse.jgit.transport.OpenSshConfig$Host hc
         0: .line 208
            aload 0 /* this */
            aload 7 /* hc */
            aload 3 /* user */
            aload 5 /* host */
            iload 6 /* port */
            aload 2 /* fs */
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.createSession:(Lorg/eclipse/jgit/transport/OpenSshConfig$Host;Ljava/lang/String;Ljava/lang/String;ILorg/eclipse/jgit/util/FS;)Lcom/jcraft/jsch/Session;
            astore 8 /* session */
        start local 8 // com.jcraft.jsch.Session session
         1: .line 211
            aload 0 /* this */
            aload 8 /* session */
            aload 3 /* user */
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.setUserName:(Lcom/jcraft/jsch/Session;Ljava/lang/String;)V
         2: .line 213
            iload 6 /* port */
            ifle 4
            iload 6 /* port */
            aload 8 /* session */
            invokevirtual com.jcraft.jsch.Session.getPort:()I
            if_icmpeq 4
         3: .line 214
            aload 8 /* session */
            iload 6 /* port */
            invokevirtual com.jcraft.jsch.Session.setPort:(I)V
         4: .line 218
      StackMap locals: com.jcraft.jsch.Session
      StackMap stack:
            aload 8 /* session */
            ldc "MaxAuthTries"
            ldc "1"
            invokevirtual com.jcraft.jsch.Session.setConfig:(Ljava/lang/String;Ljava/lang/String;)V
         5: .line 219
            aload 4 /* pass */
            ifnull 7
         6: .line 220
            aload 8 /* session */
            aload 4 /* pass */
            invokevirtual com.jcraft.jsch.Session.setPassword:(Ljava/lang/String;)V
         7: .line 221
      StackMap locals:
      StackMap stack:
            aload 7 /* hc */
         8: .line 222
            invokevirtual org.eclipse.jgit.transport.OpenSshConfig$Host.getStrictHostKeyChecking:()Ljava/lang/String;
         9: .line 221
            astore 9 /* strictHostKeyCheckingPolicy */
        start local 9 // java.lang.String strictHostKeyCheckingPolicy
        10: .line 223
            aload 9 /* strictHostKeyCheckingPolicy */
            ifnull 14
        11: .line 224
            aload 8 /* session */
            ldc "StrictHostKeyChecking"
        12: .line 225
            aload 9 /* strictHostKeyCheckingPolicy */
        13: .line 224
            invokevirtual com.jcraft.jsch.Session.setConfig:(Ljava/lang/String;Ljava/lang/String;)V
        14: .line 226
      StackMap locals: java.lang.String
      StackMap stack:
            aload 7 /* hc */
            invokevirtual org.eclipse.jgit.transport.OpenSshConfig$Host.getPreferredAuthentications:()Ljava/lang/String;
            astore 10 /* pauth */
        start local 10 // java.lang.String pauth
        15: .line 227
            aload 10 /* pauth */
            ifnull 17
        16: .line 228
            aload 8 /* session */
            ldc "PreferredAuthentications"
            aload 10 /* pauth */
            invokevirtual com.jcraft.jsch.Session.setConfig:(Ljava/lang/String;Ljava/lang/String;)V
        17: .line 229
      StackMap locals: java.lang.String
      StackMap stack:
            aload 1 /* credentialsProvider */
            ifnull 22
        18: .line 230
            aload 7 /* hc */
            invokevirtual org.eclipse.jgit.transport.OpenSshConfig$Host.isBatchMode:()Z
            ifeq 19
            aload 1 /* credentialsProvider */
            invokevirtual org.eclipse.jgit.transport.CredentialsProvider.isInteractive:()Z
            ifne 22
        19: .line 231
      StackMap locals:
      StackMap stack:
            aload 8 /* session */
            new org.eclipse.jgit.transport.CredentialsProviderUserInfo
            dup
            aload 8 /* session */
        20: .line 232
            aload 1 /* credentialsProvider */
            invokespecial org.eclipse.jgit.transport.CredentialsProviderUserInfo.<init>:(Lcom/jcraft/jsch/Session;Lorg/eclipse/jgit/transport/CredentialsProvider;)V
        21: .line 231
            invokevirtual com.jcraft.jsch.Session.setUserInfo:(Lcom/jcraft/jsch/UserInfo;)V
        22: .line 234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 8 /* session */
            aload 7 /* hc */
            invokevirtual org.eclipse.jgit.transport.OpenSshConfig$Host.getConfig:()Lcom/jcraft/jsch/ConfigRepository$Config;
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.safeConfig:(Lcom/jcraft/jsch/Session;Lcom/jcraft/jsch/ConfigRepository$Config;)V
        23: .line 235
            aload 7 /* hc */
            invokevirtual org.eclipse.jgit.transport.OpenSshConfig$Host.getConfig:()Lcom/jcraft/jsch/ConfigRepository$Config;
            ldc "HostKeyAlgorithms"
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValue:(Ljava/lang/String;)Ljava/lang/String;
            ifnonnull 25
        24: .line 236
            aload 8 /* session */
            invokestatic org.eclipse.jgit.transport.JschConfigSessionFactory.setPreferredKeyTypesOrder:(Lcom/jcraft/jsch/Session;)V
        25: .line 238
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 7 /* hc */
            aload 8 /* session */
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.configure:(Lorg/eclipse/jgit/transport/OpenSshConfig$Host;Lcom/jcraft/jsch/Session;)V
        26: .line 239
            aload 8 /* session */
            areturn
        end local 10 // java.lang.String pauth
        end local 9 // java.lang.String strictHostKeyCheckingPolicy
        end local 8 // com.jcraft.jsch.Session session
        end local 7 // org.eclipse.jgit.transport.OpenSshConfig$Host hc
        end local 6 // int port
        end local 5 // java.lang.String host
        end local 4 // java.lang.String pass
        end local 3 // java.lang.String user
        end local 2 // org.eclipse.jgit.util.FS fs
        end local 1 // org.eclipse.jgit.transport.CredentialsProvider credentialsProvider
        end local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   27     0                         this  Lorg/eclipse/jgit/transport/JschConfigSessionFactory;
            0   27     1          credentialsProvider  Lorg/eclipse/jgit/transport/CredentialsProvider;
            0   27     2                           fs  Lorg/eclipse/jgit/util/FS;
            0   27     3                         user  Ljava/lang/String;
            0   27     4                         pass  Ljava/lang/String;
            0   27     5                         host  Ljava/lang/String;
            0   27     6                         port  I
            0   27     7                           hc  Lorg/eclipse/jgit/transport/OpenSshConfig$Host;
            1   27     8                      session  Lcom/jcraft/jsch/Session;
           10   27     9  strictHostKeyCheckingPolicy  Ljava/lang/String;
           15   27    10                        pauth  Ljava/lang/String;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
                     Name  Flags
      credentialsProvider  
      fs                   
      user                 
      pass                 final
      host                 
      port                 
      hc                   final

  private void safeConfig(com.jcraft.jsch.Session, com.jcraft.jsch.ConfigRepository$Config);
    descriptor: (Lcom/jcraft/jsch/Session;Lcom/jcraft/jsch/ConfigRepository$Config;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
        start local 1 // com.jcraft.jsch.Session session
        start local 2 // com.jcraft.jsch.ConfigRepository$Config cfg
         0: .line 247
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* cfg */
            ldc "Ciphers"
            ldc "CheckCiphers"
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.copyConfigValueToSession:(Lcom/jcraft/jsch/Session;Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;Ljava/lang/String;)V
         1: .line 248
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* cfg */
            ldc "KexAlgorithms"
            ldc "CheckKexes"
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.copyConfigValueToSession:(Lcom/jcraft/jsch/Session;Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;Ljava/lang/String;)V
         2: .line 249
            aload 0 /* this */
            aload 1 /* session */
            aload 2 /* cfg */
            ldc "HostKeyAlgorithms"
         3: .line 250
            ldc "CheckSignatures"
         4: .line 249
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.copyConfigValueToSession:(Lcom/jcraft/jsch/Session;Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;Ljava/lang/String;)V
         5: .line 251
            return
        end local 2 // com.jcraft.jsch.ConfigRepository$Config cfg
        end local 1 // com.jcraft.jsch.Session session
        end local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    6     0     this  Lorg/eclipse/jgit/transport/JschConfigSessionFactory;
            0    6     1  session  Lcom/jcraft/jsch/Session;
            0    6     2      cfg  Lcom/jcraft/jsch/ConfigRepository$Config;
    MethodParameters:
         Name  Flags
      session  
      cfg      

  private static void setPreferredKeyTypesOrder(com.jcraft.jsch.Session);
    descriptor: (Lcom/jcraft/jsch/Session;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=6, args_size=1
        start local 0 // com.jcraft.jsch.Session session
         0: .line 254
            aload 0 /* session */
            invokevirtual com.jcraft.jsch.Session.getHostKeyRepository:()Lcom/jcraft/jsch/HostKeyRepository;
            astore 1 /* hkr */
        start local 1 // com.jcraft.jsch.HostKeyRepository hkr
         1: .line 255
            aload 1 /* hkr */
            aload 0 /* session */
            invokestatic org.eclipse.jgit.transport.JschConfigSessionFactory.hostName:(Lcom/jcraft/jsch/Session;)Ljava/lang/String;
            aconst_null
            invokeinterface com.jcraft.jsch.HostKeyRepository.getHostKey:(Ljava/lang/String;Ljava/lang/String;)[Lcom/jcraft/jsch/HostKey;
            invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
         2: .line 256
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/jcraft/jsch/HostKey.getType()Ljava/lang/String; (5)
                  (Lcom/jcraft/jsch/HostKey;)Ljava/lang/String;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 257
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         4: .line 255
            astore 2 /* known */
        start local 2 // java.util.List known
         5: .line 259
            aload 2 /* known */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 18
         6: .line 260
            ldc "server_host_key"
            astore 3 /* serverHostKey */
        start local 3 // java.lang.String serverHostKey
         7: .line 261
            aload 0 /* session */
            aload 3 /* serverHostKey */
            invokevirtual com.jcraft.jsch.Session.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            astore 4 /* current */
        start local 4 // java.lang.String current
         8: .line 262
            aload 4 /* current */
            ifnonnull 11
         9: .line 263
            aload 0 /* session */
            aload 3 /* serverHostKey */
            ldc ","
            aload 2 /* known */
            invokestatic java.lang.String.join:(Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
            invokevirtual com.jcraft.jsch.Session.setConfig:(Ljava/lang/String;Ljava/lang/String;)V
        10: .line 264
            return
        11: .line 268
      StackMap locals: com.jcraft.jsch.Session com.jcraft.jsch.HostKeyRepository java.util.List java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* known */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        12: .line 269
            aload 4 /* current */
            ldc ","
            invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
            invokestatic java.util.stream.Stream.of:([Ljava/lang/Object;)Ljava/util/stream/Stream;
        13: .line 270
            aload 2 /* known */
            invokedynamic test(Ljava/util/List;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  org/eclipse/jgit/transport/JschConfigSessionFactory.lambda$1(Ljava/util/List;Ljava/lang/String;)Z (6)
                  (Ljava/lang/String;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
        14: .line 267
            invokestatic java.util.stream.Stream.concat:(Ljava/util/stream/Stream;Ljava/util/stream/Stream;)Ljava/util/stream/Stream;
        15: .line 271
            ldc ","
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
        16: .line 267
            astore 5 /* knownFirst */
        start local 5 // java.lang.String knownFirst
        17: .line 272
            aload 0 /* session */
            aload 3 /* serverHostKey */
            aload 5 /* knownFirst */
            invokevirtual com.jcraft.jsch.Session.setConfig:(Ljava/lang/String;Ljava/lang/String;)V
        end local 5 // java.lang.String knownFirst
        end local 4 // java.lang.String current
        end local 3 // java.lang.String serverHostKey
        18: .line 274
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.util.List known
        end local 1 // com.jcraft.jsch.HostKeyRepository hkr
        end local 0 // com.jcraft.jsch.Session session
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   19     0        session  Lcom/jcraft/jsch/Session;
            1   19     1            hkr  Lcom/jcraft/jsch/HostKeyRepository;
            5   19     2          known  Ljava/util/List<Ljava/lang/String;>;
            7   18     3  serverHostKey  Ljava/lang/String;
            8   18     4        current  Ljava/lang/String;
           17   18     5     knownFirst  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      session  

  private static java.lang.String hostName(com.jcraft.jsch.Session);
    descriptor: (Lcom/jcraft/jsch/Session;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // com.jcraft.jsch.Session s
         0: .line 277
            aload 0 /* s */
            invokevirtual com.jcraft.jsch.Session.getPort:()I
            bipush 22
            if_icmpne 2
         1: .line 278
            aload 0 /* s */
            invokevirtual com.jcraft.jsch.Session.getHost:()Ljava/lang/String;
            areturn
         2: .line 280
      StackMap locals:
      StackMap stack:
            ldc "[%s]:%d"
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* s */
            invokevirtual com.jcraft.jsch.Session.getHost:()Ljava/lang/String;
            aastore
            dup
            iconst_1
         3: .line 281
            aload 0 /* s */
            invokevirtual com.jcraft.jsch.Session.getPort:()I
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
         4: .line 280
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // com.jcraft.jsch.Session s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0     s  Lcom/jcraft/jsch/Session;
    MethodParameters:
      Name  Flags
      s     

  private void copyConfigValueToSession(com.jcraft.jsch.Session, com.jcraft.jsch.ConfigRepository$Config, java.lang.String, java.lang.String);
    descriptor: (Lcom/jcraft/jsch/Session;Lcom/jcraft/jsch/ConfigRepository$Config;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=5
        start local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
        start local 1 // com.jcraft.jsch.Session session
        start local 2 // com.jcraft.jsch.ConfigRepository$Config cfg
        start local 3 // java.lang.String from
        start local 4 // java.lang.String to
         0: .line 286
            aload 2 /* cfg */
            aload 3 /* from */
            invokeinterface com.jcraft.jsch.ConfigRepository$Config.getValue:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* value */
        start local 5 // java.lang.String value
         1: .line 287
            aload 5 /* value */
            ifnull 3
         2: .line 288
            aload 1 /* session */
            aload 4 /* to */
            aload 5 /* value */
            invokevirtual com.jcraft.jsch.Session.setConfig:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 290
      StackMap locals: java.lang.String
      StackMap stack:
            return
        end local 5 // java.lang.String value
        end local 4 // java.lang.String to
        end local 3 // java.lang.String from
        end local 2 // com.jcraft.jsch.ConfigRepository$Config cfg
        end local 1 // com.jcraft.jsch.Session session
        end local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    4     0     this  Lorg/eclipse/jgit/transport/JschConfigSessionFactory;
            0    4     1  session  Lcom/jcraft/jsch/Session;
            0    4     2      cfg  Lcom/jcraft/jsch/ConfigRepository$Config;
            0    4     3     from  Ljava/lang/String;
            0    4     4       to  Ljava/lang/String;
            1    4     5    value  Ljava/lang/String;
    MethodParameters:
         Name  Flags
      session  
      cfg      
      from     
      to       

  private void setUserName(com.jcraft.jsch.Session, java.lang.String);
    descriptor: (Lcom/jcraft/jsch/Session;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
        start local 1 // com.jcraft.jsch.Session session
        start local 2 // java.lang.String userName
         0: .line 296
            aload 2 /* userName */
            ifnull 2
            aload 2 /* userName */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 2
         1: .line 297
            aload 2 /* userName */
            aload 1 /* session */
            invokevirtual com.jcraft.jsch.Session.getUserName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 298
      StackMap locals:
      StackMap stack:
            return
         3: .line 301
      StackMap locals:
      StackMap stack:
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            astore 3 /* parameterTypes */
        start local 3 // java.lang.Class[] parameterTypes
         4: .line 302
            ldc Lcom/jcraft/jsch/Session;
            ldc "setUserName"
         5: .line 303
            aload 3 /* parameterTypes */
         6: .line 302
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 4 /* method */
        start local 4 // java.lang.reflect.Method method
         7: .line 304
            aload 4 /* method */
            iconst_1
            invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
         8: .line 305
            aload 4 /* method */
            aload 1 /* session */
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* userName */
            aastore
            invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 4 // java.lang.reflect.Method method
        end local 3 // java.lang.Class[] parameterTypes
         9: .line 306
            goto 16
        10: .line 308
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
        11: .line 309
            getstatic org.eclipse.jgit.transport.JschConfigSessionFactory.LOG:Lorg/slf4j/Logger;
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.sshUserNameError:Ljava/lang/String;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
        12: .line 310
            aload 2 /* userName */
            aastore
            dup
            iconst_1
            aload 1 /* session */
            invokevirtual com.jcraft.jsch.Session.getUserName:()Ljava/lang/String;
            aastore
        13: .line 309
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
        14: .line 310
            aload 3 /* e */
        15: .line 309
            invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
        end local 3 // java.lang.Exception e
        16: .line 312
      StackMap locals:
      StackMap stack:
            return
        end local 2 // java.lang.String userName
        end local 1 // com.jcraft.jsch.Session session
        end local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   17     0            this  Lorg/eclipse/jgit/transport/JschConfigSessionFactory;
            0   17     1         session  Lcom/jcraft/jsch/Session;
            0   17     2        userName  Ljava/lang/String;
            4    9     3  parameterTypes  [Ljava/lang/Class;
            7    9     4          method  Ljava/lang/reflect/Method;
           11   16     3               e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           3     9      10  Class java.lang.NullPointerException
           3     9      10  Class java.lang.IllegalAccessException
           3     9      10  Class java.lang.IllegalArgumentException
           3     9      10  Class java.lang.reflect.InvocationTargetException
           3     9      10  Class java.lang.NoSuchMethodException
           3     9      10  Class java.lang.SecurityException
    MethodParameters:
          Name  Flags
      session   
      userName  

  protected com.jcraft.jsch.Session createSession(org.eclipse.jgit.transport.OpenSshConfig$Host, java.lang.String, java.lang.String, int, org.eclipse.jgit.util.FS);
    descriptor: (Lorg/eclipse/jgit/transport/OpenSshConfig$Host;Ljava/lang/String;Ljava/lang/String;ILorg/eclipse/jgit/util/FS;)Lcom/jcraft/jsch/Session;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=6
        start local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
        start local 1 // org.eclipse.jgit.transport.OpenSshConfig$Host hc
        start local 2 // java.lang.String user
        start local 3 // java.lang.String host
        start local 4 // int port
        start local 5 // org.eclipse.jgit.util.FS fs
         0: .line 335
            aload 0 /* this */
            aload 1 /* hc */
            aload 5 /* fs */
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.getJSch:(Lorg/eclipse/jgit/transport/OpenSshConfig$Host;Lorg/eclipse/jgit/util/FS;)Lcom/jcraft/jsch/JSch;
            aload 2 /* user */
            aload 3 /* host */
            iload 4 /* port */
            invokevirtual com.jcraft.jsch.JSch.getSession:(Ljava/lang/String;Ljava/lang/String;I)Lcom/jcraft/jsch/Session;
            areturn
        end local 5 // org.eclipse.jgit.util.FS fs
        end local 4 // int port
        end local 3 // java.lang.String host
        end local 2 // java.lang.String user
        end local 1 // org.eclipse.jgit.transport.OpenSshConfig$Host hc
        end local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/transport/JschConfigSessionFactory;
            0    1     1    hc  Lorg/eclipse/jgit/transport/OpenSshConfig$Host;
            0    1     2  user  Ljava/lang/String;
            0    1     3  host  Ljava/lang/String;
            0    1     4  port  I
            0    1     5    fs  Lorg/eclipse/jgit/util/FS;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      hc    final
      user  final
      host  final
      port  final
      fs    

  protected void configureJSch(com.jcraft.jsch.JSch);
    descriptor: (Lcom/jcraft/jsch/JSch;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=0, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
        start local 1 // com.jcraft.jsch.JSch jsch
         0: .line 349
            return
        end local 1 // com.jcraft.jsch.JSch jsch
        end local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/transport/JschConfigSessionFactory;
            0    1     1  jsch  Lcom/jcraft/jsch/JSch;
    MethodParameters:
      Name  Flags
      jsch  

  protected abstract void configure(org.eclipse.jgit.transport.OpenSshConfig$Host, com.jcraft.jsch.Session);
    descriptor: (Lorg/eclipse/jgit/transport/OpenSshConfig$Host;Lcom/jcraft/jsch/Session;)V
    flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
    MethodParameters:
         Name  Flags
      hc       
      session  

  protected com.jcraft.jsch.JSch getJSch(org.eclipse.jgit.transport.OpenSshConfig$Host, org.eclipse.jgit.util.FS);
    descriptor: (Lorg/eclipse/jgit/transport/OpenSshConfig$Host;Lorg/eclipse/jgit/util/FS;)Lcom/jcraft/jsch/JSch;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
        start local 1 // org.eclipse.jgit.transport.OpenSshConfig$Host hc
        start local 2 // org.eclipse.jgit.util.FS fs
         0: .line 376
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.JschConfigSessionFactory.defaultJSch:Lcom/jcraft/jsch/JSch;
            ifnonnull 10
         1: .line 377
            aload 0 /* this */
            aload 0 /* this */
            aload 2 /* fs */
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.createDefaultJSch:(Lorg/eclipse/jgit/util/FS;)Lcom/jcraft/jsch/JSch;
            putfield org.eclipse.jgit.transport.JschConfigSessionFactory.defaultJSch:Lcom/jcraft/jsch/JSch;
         2: .line 378
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.JschConfigSessionFactory.defaultJSch:Lcom/jcraft/jsch/JSch;
            invokevirtual com.jcraft.jsch.JSch.getConfigRepository:()Lcom/jcraft/jsch/ConfigRepository;
            ifnonnull 6
         3: .line 379
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.JschConfigSessionFactory.defaultJSch:Lcom/jcraft/jsch/JSch;
         4: .line 380
            new org.eclipse.jgit.transport.JschConfigSessionFactory$JschBugFixingConfigRepository
            dup
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.JschConfigSessionFactory.config:Lorg/eclipse/jgit/transport/OpenSshConfig;
            invokespecial org.eclipse.jgit.transport.JschConfigSessionFactory$JschBugFixingConfigRepository.<init>:(Lcom/jcraft/jsch/ConfigRepository;)V
         5: .line 379
            invokevirtual com.jcraft.jsch.JSch.setConfigRepository:(Lcom/jcraft/jsch/ConfigRepository;)V
         6: .line 382
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.JschConfigSessionFactory.defaultJSch:Lcom/jcraft/jsch/JSch;
            invokevirtual com.jcraft.jsch.JSch.getIdentityNames:()Ljava/util/Vector;
            invokevirtual java.util.Vector.iterator:()Ljava/util/Iterator;
            astore 4
            goto 9
      StackMap locals: org.eclipse.jgit.transport.JschConfigSessionFactory org.eclipse.jgit.transport.OpenSshConfig$Host org.eclipse.jgit.util.FS top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            astore 3 /* name */
        start local 3 // java.lang.Object name
         8: .line 383
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.JschConfigSessionFactory.byIdentityFile:Ljava/util/Map;
            aload 3 /* name */
            checkcast java.lang.String
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.JschConfigSessionFactory.defaultJSch:Lcom/jcraft/jsch/JSch;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // java.lang.Object name
         9: .line 382
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        10: .line 386
      StackMap locals: org.eclipse.jgit.transport.JschConfigSessionFactory org.eclipse.jgit.transport.OpenSshConfig$Host org.eclipse.jgit.util.FS
      StackMap stack:
            aload 1 /* hc */
            invokevirtual org.eclipse.jgit.transport.OpenSshConfig$Host.getIdentityFile:()Ljava/io/File;
            astore 3 /* identityFile */
        start local 3 // java.io.File identityFile
        11: .line 387
            aload 3 /* identityFile */
            ifnonnull 13
        12: .line 388
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.JschConfigSessionFactory.defaultJSch:Lcom/jcraft/jsch/JSch;
            areturn
        13: .line 390
      StackMap locals: java.io.File
      StackMap stack:
            aload 3 /* identityFile */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            astore 4 /* identityKey */
        start local 4 // java.lang.String identityKey
        14: .line 391
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.JschConfigSessionFactory.byIdentityFile:Ljava/util/Map;
            aload 4 /* identityKey */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.jcraft.jsch.JSch
            astore 5 /* jsch */
        start local 5 // com.jcraft.jsch.JSch jsch
        15: .line 392
            aload 5 /* jsch */
            ifnonnull 23
        16: .line 393
            new com.jcraft.jsch.JSch
            dup
            invokespecial com.jcraft.jsch.JSch.<init>:()V
            astore 5 /* jsch */
        17: .line 394
            aload 0 /* this */
            aload 5 /* jsch */
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.configureJSch:(Lcom/jcraft/jsch/JSch;)V
        18: .line 395
            aload 5 /* jsch */
            invokevirtual com.jcraft.jsch.JSch.getConfigRepository:()Lcom/jcraft/jsch/ConfigRepository;
            ifnonnull 20
        19: .line 396
            aload 5 /* jsch */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.JschConfigSessionFactory.defaultJSch:Lcom/jcraft/jsch/JSch;
            invokevirtual com.jcraft.jsch.JSch.getConfigRepository:()Lcom/jcraft/jsch/ConfigRepository;
            invokevirtual com.jcraft.jsch.JSch.setConfigRepository:(Lcom/jcraft/jsch/ConfigRepository;)V
        20: .line 398
      StackMap locals: java.lang.String com.jcraft.jsch.JSch
      StackMap stack:
            aload 5 /* jsch */
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.JschConfigSessionFactory.defaultJSch:Lcom/jcraft/jsch/JSch;
            invokevirtual com.jcraft.jsch.JSch.getHostKeyRepository:()Lcom/jcraft/jsch/HostKeyRepository;
            invokevirtual com.jcraft.jsch.JSch.setHostKeyRepository:(Lcom/jcraft/jsch/HostKeyRepository;)V
        21: .line 399
            aload 5 /* jsch */
            aload 4 /* identityKey */
            invokevirtual com.jcraft.jsch.JSch.addIdentity:(Ljava/lang/String;)V
        22: .line 400
            aload 0 /* this */
            getfield org.eclipse.jgit.transport.JschConfigSessionFactory.byIdentityFile:Ljava/util/Map;
            aload 4 /* identityKey */
            aload 5 /* jsch */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        23: .line 402
      StackMap locals:
      StackMap stack:
            aload 5 /* jsch */
            areturn
        end local 5 // com.jcraft.jsch.JSch jsch
        end local 4 // java.lang.String identityKey
        end local 3 // java.io.File identityFile
        end local 2 // org.eclipse.jgit.util.FS fs
        end local 1 // org.eclipse.jgit.transport.OpenSshConfig$Host hc
        end local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   24     0          this  Lorg/eclipse/jgit/transport/JschConfigSessionFactory;
            0   24     1            hc  Lorg/eclipse/jgit/transport/OpenSshConfig$Host;
            0   24     2            fs  Lorg/eclipse/jgit/util/FS;
            8    9     3          name  Ljava/lang/Object;
           11   24     3  identityFile  Ljava/io/File;
           14   24     4   identityKey  Ljava/lang/String;
           15   24     5          jsch  Lcom/jcraft/jsch/JSch;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      hc    
      fs    

  protected com.jcraft.jsch.JSch createDefaultJSch(org.eclipse.jgit.util.FS);
    descriptor: (Lorg/eclipse/jgit/util/FS;)Lcom/jcraft/jsch/JSch;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
        start local 1 // org.eclipse.jgit.util.FS fs
         0: .line 416
            new com.jcraft.jsch.JSch
            dup
            invokespecial com.jcraft.jsch.JSch.<init>:()V
            astore 2 /* jsch */
        start local 2 // com.jcraft.jsch.JSch jsch
         1: .line 417
            ldc "ssh-rsa"
            ldc "signature.rsa"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.jcraft.jsch.JSch.setConfig:(Ljava/lang/String;Ljava/lang/String;)V
         2: .line 418
            ldc "ssh-dss"
            ldc "signature.dss"
            invokestatic com.jcraft.jsch.JSch.getConfig:(Ljava/lang/String;)Ljava/lang/String;
            invokestatic com.jcraft.jsch.JSch.setConfig:(Ljava/lang/String;Ljava/lang/String;)V
         3: .line 419
            aload 0 /* this */
            aload 2 /* jsch */
            invokevirtual org.eclipse.jgit.transport.JschConfigSessionFactory.configureJSch:(Lcom/jcraft/jsch/JSch;)V
         4: .line 420
            aload 2 /* jsch */
            aload 1 /* fs */
            invokestatic org.eclipse.jgit.transport.JschConfigSessionFactory.knownHosts:(Lcom/jcraft/jsch/JSch;Lorg/eclipse/jgit/util/FS;)V
         5: .line 421
            aload 2 /* jsch */
            aload 1 /* fs */
            invokestatic org.eclipse.jgit.transport.JschConfigSessionFactory.identities:(Lcom/jcraft/jsch/JSch;Lorg/eclipse/jgit/util/FS;)V
         6: .line 422
            aload 2 /* jsch */
            areturn
        end local 2 // com.jcraft.jsch.JSch jsch
        end local 1 // org.eclipse.jgit.util.FS fs
        end local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lorg/eclipse/jgit/transport/JschConfigSessionFactory;
            0    7     1    fs  Lorg/eclipse/jgit/util/FS;
            1    7     2  jsch  Lcom/jcraft/jsch/JSch;
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      fs    

  private static void knownHosts(com.jcraft.jsch.JSch, org.eclipse.jgit.util.FS);
    descriptor: (Lcom/jcraft/jsch/JSch;Lorg/eclipse/jgit/util/FS;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=2
        start local 0 // com.jcraft.jsch.JSch sch
        start local 1 // org.eclipse.jgit.util.FS fs
         0: .line 426
            aload 1 /* fs */
            invokevirtual org.eclipse.jgit.util.FS.userHome:()Ljava/io/File;
            astore 2 /* home */
        start local 2 // java.io.File home
         1: .line 427
            aload 2 /* home */
            ifnonnull 3
         2: .line 428
            return
         3: .line 429
      StackMap locals: java.io.File
      StackMap stack:
            new java.io.File
            dup
            new java.io.File
            dup
            aload 2 /* home */
            ldc ".ssh"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            ldc "known_hosts"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 3 /* known_hosts */
        start local 3 // java.io.File known_hosts
         4: .line 430
            aconst_null
            astore 4
            aconst_null
            astore 5
         5: new java.io.FileInputStream
            dup
            aload 3 /* known_hosts */
            invokespecial java.io.FileInputStream.<init>:(Ljava/io/File;)V
            astore 6 /* in */
        start local 6 // java.io.FileInputStream in
         6: .line 431
            aload 0 /* sch */
            aload 6 /* in */
            invokevirtual com.jcraft.jsch.JSch.setKnownHosts:(Ljava/io/InputStream;)V
         7: .line 432
            aload 6 /* in */
            ifnull 15
            aload 6 /* in */
            invokevirtual java.io.FileInputStream.close:()V
            goto 15
      StackMap locals: com.jcraft.jsch.JSch org.eclipse.jgit.util.FS java.io.File java.io.File java.lang.Throwable java.lang.Throwable java.io.FileInputStream
      StackMap stack: java.lang.Throwable
         8: astore 4
            aload 6 /* in */
            ifnull 9
            aload 6 /* in */
            invokevirtual java.io.FileInputStream.close:()V
        end local 6 // java.io.FileInputStream in
      StackMap locals:
      StackMap stack:
         9: aload 4
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        10: astore 5
            aload 4
            ifnonnull 11
            aload 5
            astore 4
            goto 12
      StackMap locals:
      StackMap stack:
        11: aload 4
            aload 5
            if_acmpeq 12
            aload 4
            aload 5
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        12: aload 4
            athrow
      StackMap locals: com.jcraft.jsch.JSch org.eclipse.jgit.util.FS java.io.File java.io.File
      StackMap stack: java.io.FileNotFoundException
        13: pop
            goto 15
        14: .line 434
      StackMap locals:
      StackMap stack: java.io.IOException
            pop
        15: .line 437
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.io.File known_hosts
        end local 2 // java.io.File home
        end local 1 // org.eclipse.jgit.util.FS fs
        end local 0 // com.jcraft.jsch.JSch sch
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   16     0          sch  Lcom/jcraft/jsch/JSch;
            0   16     1           fs  Lorg/eclipse/jgit/util/FS;
            1   16     2         home  Ljava/io/File;
            4   16     3  known_hosts  Ljava/io/File;
            6    9     6           in  Ljava/io/FileInputStream;
      Exception table:
        from    to  target  type
           6     7       8  any
           5    10      10  any
           4    13      13  Class java.io.FileNotFoundException
           4    13      14  Class java.io.IOException
    Exceptions:
      throws com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      sch   
      fs    

  private static void identities(com.jcraft.jsch.JSch, org.eclipse.jgit.util.FS);
    descriptor: (Lcom/jcraft/jsch/JSch;Lorg/eclipse/jgit/util/FS;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // com.jcraft.jsch.JSch sch
        start local 1 // org.eclipse.jgit.util.FS fs
         0: .line 440
            aload 1 /* fs */
            invokevirtual org.eclipse.jgit.util.FS.userHome:()Ljava/io/File;
            astore 2 /* home */
        start local 2 // java.io.File home
         1: .line 441
            aload 2 /* home */
            ifnonnull 3
         2: .line 442
            return
         3: .line 443
      StackMap locals: java.io.File
      StackMap stack:
            new java.io.File
            dup
            aload 2 /* home */
            ldc ".ssh"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            astore 3 /* sshdir */
        start local 3 // java.io.File sshdir
         4: .line 444
            aload 3 /* sshdir */
            invokevirtual java.io.File.isDirectory:()Z
            ifeq 8
         5: .line 445
            aload 0 /* sch */
            new java.io.File
            dup
            aload 3 /* sshdir */
            ldc "identity"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokestatic org.eclipse.jgit.transport.JschConfigSessionFactory.loadIdentity:(Lcom/jcraft/jsch/JSch;Ljava/io/File;)V
         6: .line 446
            aload 0 /* sch */
            new java.io.File
            dup
            aload 3 /* sshdir */
            ldc "id_rsa"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokestatic org.eclipse.jgit.transport.JschConfigSessionFactory.loadIdentity:(Lcom/jcraft/jsch/JSch;Ljava/io/File;)V
         7: .line 447
            aload 0 /* sch */
            new java.io.File
            dup
            aload 3 /* sshdir */
            ldc "id_dsa"
            invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
            invokestatic org.eclipse.jgit.transport.JschConfigSessionFactory.loadIdentity:(Lcom/jcraft/jsch/JSch;Ljava/io/File;)V
         8: .line 449
      StackMap locals: java.io.File
      StackMap stack:
            return
        end local 3 // java.io.File sshdir
        end local 2 // java.io.File home
        end local 1 // org.eclipse.jgit.util.FS fs
        end local 0 // com.jcraft.jsch.JSch sch
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0     sch  Lcom/jcraft/jsch/JSch;
            0    9     1      fs  Lorg/eclipse/jgit/util/FS;
            1    9     2    home  Ljava/io/File;
            4    9     3  sshdir  Ljava/io/File;
    MethodParameters:
      Name  Flags
      sch   
      fs    

  private static void loadIdentity(com.jcraft.jsch.JSch, java.io.File);
    descriptor: (Lcom/jcraft/jsch/JSch;Ljava/io/File;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.jcraft.jsch.JSch sch
        start local 1 // java.io.File priv
         0: .line 452
            aload 1 /* priv */
            invokevirtual java.io.File.isFile:()Z
            ifeq 4
         1: .line 454
            aload 0 /* sch */
            aload 1 /* priv */
            invokevirtual java.io.File.getAbsolutePath:()Ljava/lang/String;
            invokevirtual com.jcraft.jsch.JSch.addIdentity:(Ljava/lang/String;)V
         2: .line 455
            goto 4
      StackMap locals:
      StackMap stack: com.jcraft.jsch.JSchException
         3: pop
         4: .line 459
      StackMap locals:
      StackMap stack:
            return
        end local 1 // java.io.File priv
        end local 0 // com.jcraft.jsch.JSch sch
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0   sch  Lcom/jcraft/jsch/JSch;
            0    5     1  priv  Ljava/io/File;
      Exception table:
        from    to  target  type
           1     2       3  Class com.jcraft.jsch.JSchException
    MethodParameters:
      Name  Flags
      sch   
      priv  

  synchronized void setConfig(org.eclipse.jgit.transport.OpenSshConfig);
    descriptor: (Lorg/eclipse/jgit/transport/OpenSshConfig;)V
    flags: (0x0020) ACC_SYNCHRONIZED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
        start local 1 // org.eclipse.jgit.transport.OpenSshConfig config
         0: .line 555
            aload 0 /* this */
            aload 1 /* config */
            putfield org.eclipse.jgit.transport.JschConfigSessionFactory.config:Lorg/eclipse/jgit/transport/OpenSshConfig;
         1: .line 556
            return
        end local 1 // org.eclipse.jgit.transport.OpenSshConfig config
        end local 0 // org.eclipse.jgit.transport.JschConfigSessionFactory this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Lorg/eclipse/jgit/transport/JschConfigSessionFactory;
            0    2     1  config  Lorg/eclipse/jgit/transport/OpenSshConfig;
    MethodParameters:
        Name  Flags
      config  

  private static boolean lambda$1(java.util.List, java.lang.String);
    descriptor: (Ljava/util/List;Ljava/lang/String;)Z
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
        start local 1 // java.lang.String s
         0: .line 270
            aload 0
            aload 1 /* s */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // java.lang.String s
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     1     s  Ljava/lang/String;
}
SourceFile: "JschConfigSessionFactory.java"
NestMembers:
  org.eclipse.jgit.transport.JschConfigSessionFactory$JschBugFixingConfigRepository  org.eclipse.jgit.transport.JschConfigSessionFactory$JschBugFixingConfigRepository$JschBugFixingConfig
InnerClasses:
  public abstract Config = com.jcraft.jsch.ConfigRepository$Config of com.jcraft.jsch.ConfigRepository
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  private JschBugFixingConfigRepository = org.eclipse.jgit.transport.JschConfigSessionFactory$JschBugFixingConfigRepository of org.eclipse.jgit.transport.JschConfigSessionFactory
  public Host = org.eclipse.jgit.transport.OpenSshConfig$Host of org.eclipse.jgit.transport.OpenSshConfig