abstract class org.eclipse.jgit.transport.WalkEncryption
  minor version: 0
  major version: 59
  flags: flags: (0x0420) ACC_SUPER, ACC_ABSTRACT
  this_class: org.eclipse.jgit.transport.WalkEncryption
  super_class: java.lang.Object
{
  static final org.eclipse.jgit.transport.WalkEncryption NONE;
    descriptor: Lorg/eclipse/jgit/transport/WalkEncryption;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.String JETS3T_CRYPTO_VER;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "jets3t-crypto-ver"

  static final java.lang.String JETS3T_CRYPTO_ALG;
    descriptor: Ljava/lang/String;
    flags: (0x0018) ACC_STATIC, ACC_FINAL
    ConstantValue: "jets3t-crypto-alg"

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 42
            new org.eclipse.jgit.transport.WalkEncryption$NoEncryption
            dup
            invokespecial org.eclipse.jgit.transport.WalkEncryption$NoEncryption.<init>:()V
            putstatic org.eclipse.jgit.transport.WalkEncryption.NONE:Lorg/eclipse/jgit/transport/WalkEncryption;
         1: .line 46
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.eclipse.jgit.transport.WalkEncryption this
         0: .line 41
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // org.eclipse.jgit.transport.WalkEncryption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/eclipse/jgit/transport/WalkEncryption;

  abstract java.io.OutputStream encrypt(java.io.OutputStream);
    descriptor: (Ljava/io/OutputStream;)Ljava/io/OutputStream;
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      output  

  abstract void request(java.net.HttpURLConnection, java.lang.String);
    descriptor: (Ljava/net/HttpURLConnection;Ljava/lang/String;)V
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      conn    
      prefix  

  abstract void validate(java.net.HttpURLConnection, java.lang.String);
    descriptor: (Ljava/net/HttpURLConnection;Ljava/lang/String;)V
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
        Name  Flags
      conn    
      prefix  

  abstract java.io.InputStream decrypt(java.io.InputStream);
    descriptor: (Ljava/io/InputStream;)Ljava/io/InputStream;
    flags: (0x0400) ACC_ABSTRACT
    Exceptions:
      throws java.io.IOException
    MethodParameters:
       Name  Flags
      input  

  protected void validateImpl(java.net.HttpURLConnection, java.lang.String, java.lang.String, java.lang.String);
    descriptor: (Ljava/net/HttpURLConnection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=7, locals=6, args_size=5
        start local 0 // org.eclipse.jgit.transport.WalkEncryption this
        start local 1 // java.net.HttpURLConnection u
        start local 2 // java.lang.String prefix
        start local 3 // java.lang.String version
        start local 4 // java.lang.String name
         0: .line 83
            aload 1 /* u */
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "jets3t-crypto-ver"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.net.HttpURLConnection.getHeaderField:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* v */
        start local 5 // java.lang.String v
         1: .line 84
            aload 5 /* v */
            ifnonnull 3
         2: .line 85
            ldc ""
            astore 5 /* v */
         3: .line 86
      StackMap locals: java.lang.String
      StackMap stack:
            aload 3 /* version */
            aload 5 /* v */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
         4: .line 87
            new java.io.IOException
            dup
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.unsupportedEncryptionVersion:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* v */
            aastore
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
         5: .line 89
      StackMap locals:
      StackMap stack:
            aload 1 /* u */
            new java.lang.StringBuilder
            dup
            aload 2 /* prefix */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            ldc "jets3t-crypto-alg"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.net.HttpURLConnection.getHeaderField:(Ljava/lang/String;)Ljava/lang/String;
            astore 5 /* v */
         6: .line 90
            aload 5 /* v */
            ifnonnull 8
         7: .line 91
            ldc ""
            astore 5 /* v */
         8: .line 94
      StackMap locals:
      StackMap stack:
            aload 4 /* name */
            aload 5 /* v */
            invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
            ifne 10
         9: .line 95
            new java.io.IOException
            dup
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.unsupportedEncryptionAlgorithm:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 5 /* v */
            aastore
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
            athrow
        10: .line 96
      StackMap locals:
      StackMap stack:
            return
        end local 5 // java.lang.String v
        end local 4 // java.lang.String name
        end local 3 // java.lang.String version
        end local 2 // java.lang.String prefix
        end local 1 // java.net.HttpURLConnection u
        end local 0 // org.eclipse.jgit.transport.WalkEncryption this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Lorg/eclipse/jgit/transport/WalkEncryption;
            0   11     1        u  Ljava/net/HttpURLConnection;
            0   11     2   prefix  Ljava/lang/String;
            0   11     3  version  Ljava/lang/String;
            0   11     4     name  Ljava/lang/String;
            1   11     5        v  Ljava/lang/String;
    Exceptions:
      throws java.io.IOException
    MethodParameters:
         Name  Flags
      u        final
      prefix   final
      version  final
      name     final

  java.io.IOException error(java.lang.Throwable);
    descriptor: (Ljava/lang/Throwable;)Ljava/io/IOException;
    flags: (0x0000) 
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // org.eclipse.jgit.transport.WalkEncryption this
        start local 1 // java.lang.Throwable why
         0: .line 99
            new java.io.IOException
            dup
         1: .line 100
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.encryptionError:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
         2: .line 101
            aload 1 /* why */
            invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
            aastore
         3: .line 100
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         4: .line 101
            aload 1 /* why */
         5: .line 99
            invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
            areturn
        end local 1 // java.lang.Throwable why
        end local 0 // org.eclipse.jgit.transport.WalkEncryption this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lorg/eclipse/jgit/transport/WalkEncryption;
            0    6     1   why  Ljava/lang/Throwable;
    MethodParameters:
      Name  Flags
      why   

  static java.security.GeneralSecurityException securityError(java.lang.String, java.lang.Throwable);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;)Ljava/security/GeneralSecurityException;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=3, args_size=2
        start local 0 // java.lang.String message
        start local 1 // java.lang.Throwable cause
         0: .line 287
            new java.security.GeneralSecurityException
            dup
         1: .line 288
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.encryptionError:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 0 /* message */
            aastore
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
         2: .line 287
            invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;)V
            astore 2 /* e */
        start local 2 // java.security.GeneralSecurityException e
         3: .line 289
            aload 2 /* e */
            aload 1 /* cause */
            invokevirtual java.security.GeneralSecurityException.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
         4: .line 290
            aload 2 /* e */
            areturn
        end local 2 // java.security.GeneralSecurityException e
        end local 1 // java.lang.Throwable cause
        end local 0 // java.lang.String message
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0  message  Ljava/lang/String;
            0    5     1    cause  Ljava/lang/Throwable;
            3    5     2        e  Ljava/security/GeneralSecurityException;
    MethodParameters:
         Name  Flags
      message  
      cause    

  static org.eclipse.jgit.transport.WalkEncryption instance(java.util.Properties);
    descriptor: (Ljava/util/Properties;)Lorg/eclipse/jgit/transport/WalkEncryption;
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=5, args_size=1
        start local 0 // java.util.Properties props
         0: .line 525
            aload 0 /* props */
            ldc "crypto.algorithm"
            ldc "PBEWithMD5AndDES"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 1 /* algo */
        start local 1 // java.lang.String algo
         1: .line 526
            aload 0 /* props */
            ldc "crypto.version"
            ldc "0"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* vers */
        start local 2 // java.lang.String vers
         2: .line 527
            aload 0 /* props */
            ldc "password"
            invokevirtual java.util.Properties.getProperty:(Ljava/lang/String;)Ljava/lang/String;
            astore 3 /* pass */
        start local 3 // java.lang.String pass
         3: .line 529
            aload 3 /* pass */
            ifnonnull 5
         4: .line 530
            getstatic org.eclipse.jgit.transport.WalkEncryption.NONE:Lorg/eclipse/jgit/transport/WalkEncryption;
            areturn
         5: .line 532
      StackMap locals: java.lang.String java.lang.String java.lang.String
      StackMap stack:
            aload 2 /* vers */
            dup
            astore 4
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 3
                   48: 6
                   49: 7
                   50: 8
              default: 12
          }
      StackMap locals: java.lang.String
      StackMap stack:
         6: aload 4
            ldc "0"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 9
            goto 12
      StackMap locals:
      StackMap stack:
         7: aload 4
            ldc "1"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 12
      StackMap locals:
      StackMap stack:
         8: aload 4
            ldc "2"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 11
            goto 12
         9: .line 534
      StackMap locals:
      StackMap stack:
            new org.eclipse.jgit.transport.WalkEncryption$JetS3tV2
            dup
            aload 1 /* algo */
            aload 3 /* pass */
            invokespecial org.eclipse.jgit.transport.WalkEncryption$JetS3tV2.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        10: .line 536
      StackMap locals:
      StackMap stack:
            new org.eclipse.jgit.transport.WalkEncryption$JGitV1
            dup
            aload 1 /* algo */
            aload 3 /* pass */
            invokespecial org.eclipse.jgit.transport.WalkEncryption$JGitV1.<init>:(Ljava/lang/String;Ljava/lang/String;)V
            areturn
        11: .line 538
      StackMap locals:
      StackMap stack:
            new org.eclipse.jgit.transport.WalkEncryption$JGitV2
            dup
            aload 0 /* props */
            invokespecial org.eclipse.jgit.transport.WalkEncryption$JGitV2.<init>:(Ljava/util/Properties;)V
            areturn
        12: .line 540
      StackMap locals:
      StackMap stack:
            new java.security.GeneralSecurityException
            dup
        13: .line 541
            invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
            getfield org.eclipse.jgit.internal.JGitText.unsupportedEncryptionVersion:Ljava/lang/String;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* vers */
            aastore
        14: .line 540
            invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.security.GeneralSecurityException.<init>:(Ljava/lang/String;)V
            athrow
        end local 3 // java.lang.String pass
        end local 2 // java.lang.String vers
        end local 1 // java.lang.String algo
        end local 0 // java.util.Properties props
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   15     0  props  Ljava/util/Properties;
            1   15     1   algo  Ljava/lang/String;
            2   15     2   vers  Ljava/lang/String;
            3   15     3   pass  Ljava/lang/String;
    Exceptions:
      throws java.security.GeneralSecurityException
    MethodParameters:
       Name  Flags
      props  
}
SourceFile: "WalkEncryption.java"
NestMembers:
  org.eclipse.jgit.transport.WalkEncryption$JGitV1  org.eclipse.jgit.transport.WalkEncryption$JGitV2  org.eclipse.jgit.transport.WalkEncryption$JetS3tV2  org.eclipse.jgit.transport.WalkEncryption$Keys  org.eclipse.jgit.transport.WalkEncryption$NoEncryption  org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption  org.eclipse.jgit.transport.WalkEncryption$Vals
InnerClasses:
  JGitV1 = org.eclipse.jgit.transport.WalkEncryption$JGitV1 of org.eclipse.jgit.transport.WalkEncryption
  JGitV2 = org.eclipse.jgit.transport.WalkEncryption$JGitV2 of org.eclipse.jgit.transport.WalkEncryption
  JetS3tV2 = org.eclipse.jgit.transport.WalkEncryption$JetS3tV2 of org.eclipse.jgit.transport.WalkEncryption
  abstract Keys = org.eclipse.jgit.transport.WalkEncryption$Keys of org.eclipse.jgit.transport.WalkEncryption
  private NoEncryption = org.eclipse.jgit.transport.WalkEncryption$NoEncryption of org.eclipse.jgit.transport.WalkEncryption
  abstract SymmetricEncryption = org.eclipse.jgit.transport.WalkEncryption$SymmetricEncryption of org.eclipse.jgit.transport.WalkEncryption
  abstract Vals = org.eclipse.jgit.transport.WalkEncryption$Vals of org.eclipse.jgit.transport.WalkEncryption