package com.l7tech.common.http.prov.apache.components;

import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.nio.charset.Charset;
import java.nio.charset.StandardCharsets;
import java.security.MessageDigest;
import java.security.Principal;
import java.security.SecureRandom;
import java.util.HashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import org.apache.hc.client5.http.auth.AuthChallenge;
import org.apache.hc.client5.http.auth.AuthScheme;
import org.apache.hc.client5.http.auth.AuthScope;
import org.apache.hc.client5.http.auth.AuthStateCacheable;
import org.apache.hc.client5.http.auth.AuthenticationException;
import org.apache.hc.client5.http.auth.Credentials;
import org.apache.hc.client5.http.auth.CredentialsProvider;
import org.apache.hc.client5.http.auth.MalformedChallengeException;
import org.apache.hc.client5.http.auth.UsernamePasswordCredentials;
import org.apache.hc.client5.http.impl.auth.UnsupportedDigestAlgorithmException;
import org.apache.hc.client5.http.protocol.HttpClientContext;
import org.apache.hc.client5.http.utils.ByteArrayBuilder;
import org.apache.hc.core5.annotation.Internal;
import org.apache.hc.core5.http.HttpHost;
import org.apache.hc.core5.http.HttpRequest;
import org.apache.hc.core5.http.NameValuePair;
import org.apache.hc.core5.http.protocol.HttpContext;
import org.apache.hc.core5.util.Args;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

@AuthStateCacheable
public class CharsetAwareHttpDigestAuthScheme implements AuthScheme, Serializable {
   private static final long serialVersionUID = 3883908186234566916L;
   private static final Logger LOG;
   private static final char[] HEXADECIMAL;
   private transient Charset defaultCharset;
   private final Map<String, String> paramMap;
   private boolean complete;
   private transient ByteArrayBuilder buffer;
   private boolean userhashSupported = false;
   private String lastNonce;
   private long nounceCount;
   private String cnonce;
   private byte[] a1;
   private byte[] a2;
   private UsernamePasswordCredentials credentials;
   private static final String[] a;

   public CharsetAwareHttpDigestAuthScheme() {
      this.defaultCharset = HttpComponentsClient.getCredentialCharset();
      this.paramMap = new HashMap<>();
      this.complete = false;
   }

   @Deprecated
   public CharsetAwareHttpDigestAuthScheme(Charset var1) {
      this();
   }

   public void initPreemptive(Credentials var1, String var2, String var3) {
      String[] var4 = a;
      Args.notNull(var1, var4[10]);
      Args.check(var1 instanceof UsernamePasswordCredentials, var4[14] + var1.getClass());
      this.credentials = (UsernamePasswordCredentials)var1;
      this.paramMap.put(var4[5], var2);
      this.paramMap.put(var4[18], var3);
   }

   public String getName() {
      return a[34];
   }

   public boolean isConnectionBased() {
      return false;
   }

   public String getRealm() {
      return this.paramMap.get(a[31]);
   }

   public void processChallenge(AuthChallenge var1, HttpContext var2) throws MalformedChallengeException {
      String[] var6 = a;
      Args.notNull(var1, var6[22]);
      this.paramMap.clear();
      List var3 = var1.getParams();
      if (var3 != null) {
         for (NameValuePair var5 : var3) {
            this.paramMap.put(var5.getName().toLowerCase(Locale.ROOT), var5.getValue());
         }
      }

      try {
         if (this.paramMap.isEmpty()) {
            throw new MalformedChallengeException(a[44]);
         }
      } catch (MalformedChallengeException var7) {
         throw a(var7);
      }

      var6 = a;
      String var8 = this.paramMap.get(var6[36]);
      this.userhashSupported = var6[28].equalsIgnoreCase(var8);
      this.complete = true;
   }

   public boolean isChallengeComplete() {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.paramMap Ljava/util/Map;
      // 04: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 07: astore 2
      // 08: aload 2
      // 09: bipush 51
      // 0b: aaload
      // 0c: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 11: checkcast java/lang/String
      // 14: astore 1
      // 15: aload 2
      // 16: bipush 37
      // 18: aaload
      // 19: aload 1
      // 1a: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 1d: ifne 36
      // 20: aload 0
      // 21: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.complete Z
      // 24: ifeq 36
      // 27: goto 2e
      // 2a: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2d: athrow
      // 2e: bipush 1
      // 2f: goto 37
      // 32: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 35: athrow
      // 36: bipush 0
      // 37: ireturn
      // try (10 -> 19): 20 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (16 -> 24): 24 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
   }

   public boolean isResponseReady(HttpHost var1, CredentialsProvider var2, HttpContext var3) throws AuthenticationException {
      String[] var8 = a;
      Args.notNull(var1, var8[27]);
      Args.notNull(var2, var8[11]);
      AuthScope var4 = new AuthScope(var1, this.getRealm(), this.getName());
      Credentials var5 = var2.getCredentials(var4, var3);

      try {
         if (var5 instanceof UsernamePasswordCredentials) {
            this.credentials = (UsernamePasswordCredentials)var5;
            return true;
         }
      } catch (AuthenticationException var9) {
         throw a(var9);
      }

      if (LOG.isDebugEnabled()) {
         HttpClientContext var6 = HttpClientContext.cast(var3);
         String var7 = var6.getExchangeId();
         LOG.debug(a[15], var7, var4);
      }

      this.credentials = null;
      return false;
   }

   public Principal getPrincipal() {
      return null;
   }

   public String generateAuthResponse(HttpHost var1, HttpRequest var2, HttpContext var3) throws AuthenticationException {
      try {
         Args.notNull(var2, a[13]);
         if (this.paramMap.get(a[31]) == null) {
            throw new AuthenticationException(a[12]);
         }
      } catch (AuthenticationException var4) {
         throw a(var4);
      }

      try {
         if (this.paramMap.get(a[48]) == null) {
            throw new AuthenticationException(a[24]);
         }
      } catch (AuthenticationException var5) {
         throw a(var5);
      }

      return this.createDigestResponse(var2);
   }

   private static MessageDigest createMessageDigest(String var0) throws UnsupportedDigestAlgorithmException {
      try {
         return MessageDigest.getInstance(var0);
      } catch (Exception var2) {
         throw new UnsupportedDigestAlgorithmException(a[38] + var0);
      }
   }

   private String createDigestResponse(HttpRequest param1) throws AuthenticationException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 0
      // 001: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.credentials Lorg/apache/hc/client5/http/auth/UsernamePasswordCredentials;
      // 004: ifnonnull 019
      // 007: new org/apache/hc/client5/http/auth/AuthenticationException
      // 00a: dup
      // 00b: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 00e: bipush 25
      // 010: aaload
      // 011: invokespecial org/apache/hc/client5/http/auth/AuthenticationException.<init> (Ljava/lang/String;)V
      // 014: athrow
      // 015: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 018: athrow
      // 019: aload 1
      // 01a: invokeinterface org/apache/hc/core5/http/HttpRequest.getRequestUri ()Ljava/lang/String; 1
      // 01f: astore 2
      // 020: aload 1
      // 021: invokeinterface org/apache/hc/core5/http/HttpRequest.getMethod ()Ljava/lang/String; 1
      // 026: astore 3
      // 027: aload 0
      // 028: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.paramMap Ljava/util/Map;
      // 02b: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 02e: astore 29
      // 030: aload 29
      // 032: bipush 31
      // 034: aaload
      // 035: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 03a: checkcast java/lang/String
      // 03d: astore 4
      // 03f: aload 0
      // 040: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.paramMap Ljava/util/Map;
      // 043: aload 29
      // 045: bipush 6
      // 047: aaload
      // 048: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 04d: checkcast java/lang/String
      // 050: astore 5
      // 052: aload 0
      // 053: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.paramMap Ljava/util/Map;
      // 056: aload 29
      // 058: bipush 50
      // 05a: aaload
      // 05b: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 060: checkcast java/lang/String
      // 063: astore 6
      // 065: aload 0
      // 066: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.paramMap Ljava/util/Map;
      // 069: aload 29
      // 06b: bipush 40
      // 06d: aaload
      // 06e: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 073: checkcast java/lang/String
      // 076: astore 7
      // 078: new java/util/HashSet
      // 07b: dup
      // 07c: bipush 8
      // 07e: invokespecial java/util/HashSet.<init> (I)V
      // 081: astore 8
      // 083: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection.UNKNOWN Lcom/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection;
      // 086: astore 9
      // 088: aload 0
      // 089: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.paramMap Ljava/util/Map;
      // 08c: aload 29
      // 08e: bipush 19
      // 090: aaload
      // 091: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 096: checkcast java/lang/String
      // 099: astore 10
      // 09b: aload 10
      // 09d: ifnull 148
      // 0a0: new java/util/StringTokenizer
      // 0a3: dup
      // 0a4: aload 10
      // 0a6: ldc ","
      // 0a8: invokespecial java/util/StringTokenizer.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 0ab: astore 11
      // 0ad: aload 11
      // 0af: invokevirtual java/util/StringTokenizer.hasMoreTokens ()Z
      // 0b2: ifeq 0d2
      // 0b5: aload 11
      // 0b7: invokevirtual java/util/StringTokenizer.nextToken ()Ljava/lang/String;
      // 0ba: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 0bd: astore 12
      // 0bf: aload 8
      // 0c1: aload 12
      // 0c3: getstatic java/util/Locale.ROOT Ljava/util/Locale;
      // 0c6: invokevirtual java/lang/String.toLowerCase (Ljava/util/Locale;)Ljava/lang/String;
      // 0c9: invokeinterface java/util/Set.add (Ljava/lang/Object;)Z 2
      // 0ce: pop
      // 0cf: goto 0ad
      // 0d2: aload 1
      // 0d3: instanceof org/apache/hc/core5/http/ClassicHttpRequest
      // 0d6: ifeq 0e9
      // 0d9: aload 1
      // 0da: checkcast org/apache/hc/core5/http/ClassicHttpRequest
      // 0dd: invokeinterface org/apache/hc/core5/http/ClassicHttpRequest.getEntity ()Lorg/apache/hc/core5/http/HttpEntity; 1
      // 0e2: goto 0ea
      // 0e5: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e8: athrow
      // 0e9: aconst_null
      // 0ea: astore 12
      // 0ec: aload 12
      // 0ee: ifnull 110
      // 0f1: aload 8
      // 0f3: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 0f6: bipush 7
      // 0f8: aaload
      // 0f9: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 0fe: ifeq 110
      // 101: goto 108
      // 104: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 107: athrow
      // 108: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection.AUTH_INT Lcom/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection;
      // 10b: astore 9
      // 10d: goto 145
      // 110: aload 8
      // 112: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 115: astore 29
      // 117: aload 29
      // 119: bipush 45
      // 11b: aaload
      // 11c: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 121: ifeq 12c
      // 124: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection.AUTH Lcom/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection;
      // 127: astore 9
      // 129: goto 145
      // 12c: aload 8
      // 12e: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 131: astore 29
      // 133: aload 29
      // 135: bipush 35
      // 137: aaload
      // 138: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 13d: ifeq 145
      // 140: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection.AUTH_INT Lcom/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection;
      // 143: astore 9
      // 145: goto 14d
      // 148: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection.MISSING Lcom/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection;
      // 14b: astore 9
      // 14d: aload 9
      // 14f: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection.UNKNOWN Lcom/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection;
      // 152: if_acmpne 16f
      // 155: new org/apache/hc/client5/http/auth/AuthenticationException
      // 158: dup
      // 159: aload 10
      // 15b: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 15e: bipush 21
      // 160: aaload
      // 161: swap
      // 162: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 167: invokespecial org/apache/hc/client5/http/auth/AuthenticationException.<init> (Ljava/lang/String;)V
      // 16a: athrow
      // 16b: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 16e: athrow
      // 16f: aload 0
      // 170: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.paramMap Ljava/util/Map;
      // 173: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 176: astore 29
      // 178: aload 29
      // 17a: bipush 42
      // 17c: aaload
      // 17d: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 182: checkcast java/lang/String
      // 185: aload 0
      // 186: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.defaultCharset Ljava/nio/charset/Charset;
      // 189: invokestatic org/apache/hc/client5/http/impl/auth/AuthSchemeSupport.parseCharset (Ljava/lang/String;Ljava/nio/charset/Charset;)Ljava/nio/charset/Charset;
      // 18c: astore 11
      // 18e: aload 7
      // 190: astore 12
      // 192: aload 12
      // 194: ifnull 1aa
      // 197: aload 12
      // 199: aload 29
      // 19b: bipush 4
      // 19c: aaload
      // 19d: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 1a0: ifeq 1b6
      // 1a3: goto 1aa
      // 1a6: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a9: athrow
      // 1aa: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 1ad: astore 29
      // 1af: aload 29
      // 1b1: bipush 8
      // 1b3: aaload
      // 1b4: astore 12
      // 1b6: aload 12
      // 1b8: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.createMessageDigest (Ljava/lang/String;)Ljava/security/MessageDigest;
      // 1bb: astore 13
      // 1bd: goto 1dc
      // 1c0: astore 14
      // 1c2: new org/apache/hc/client5/http/auth/AuthenticationException
      // 1c5: dup
      // 1c6: aload 12
      // 1c8: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 1cb: astore 29
      // 1cd: aload 29
      // 1cf: bipush 46
      // 1d1: aaload
      // 1d2: swap
      // 1d3: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 1d8: invokespecial org/apache/hc/client5/http/auth/AuthenticationException.<init> (Ljava/lang/String;)V
      // 1db: athrow
      // 1dc: aload 5
      // 1de: aload 0
      // 1df: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.lastNonce Ljava/lang/String;
      // 1e2: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 1e5: ifeq 1f9
      // 1e8: aload 0
      // 1e9: dup
      // 1ea: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.nounceCount J
      // 1ed: lconst_1
      // 1ee: ladd
      // 1ef: putfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.nounceCount J
      // 1f2: goto 209
      // 1f5: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1f8: athrow
      // 1f9: aload 0
      // 1fa: lconst_1
      // 1fb: putfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.nounceCount J
      // 1fe: aload 0
      // 1ff: aconst_null
      // 200: putfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.cnonce Ljava/lang/String;
      // 203: aload 0
      // 204: aload 5
      // 206: putfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.lastNonce Ljava/lang/String;
      // 209: new java/lang/StringBuilder
      // 20c: dup
      // 20d: bipush 8
      // 20f: invokespecial java/lang/StringBuilder.<init> (I)V
      // 212: astore 14
      // 214: new java/util/Formatter
      // 217: dup
      // 218: aload 14
      // 21a: getstatic java/util/Locale.ROOT Ljava/util/Locale;
      // 21d: invokespecial java/util/Formatter.<init> (Ljava/lang/Appendable;Ljava/util/Locale;)V
      // 220: astore 15
      // 222: aload 15
      // 224: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 227: astore 29
      // 229: aload 29
      // 22b: bipush 52
      // 22d: aaload
      // 22e: bipush 1
      // 22f: anewarray 529
      // 232: dup
      // 233: bipush 0
      // 234: aload 0
      // 235: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.nounceCount J
      // 238: invokestatic java/lang/Long.valueOf (J)Ljava/lang/Long;
      // 23b: aastore
      // 23c: invokevirtual java/util/Formatter.format (Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
      // 23f: pop
      // 240: aload 15
      // 242: invokevirtual java/util/Formatter.close ()V
      // 245: goto 25e
      // 248: astore 16
      // 24a: aload 15
      // 24c: invokevirtual java/util/Formatter.close ()V
      // 24f: goto 25b
      // 252: astore 17
      // 254: aload 16
      // 256: aload 17
      // 258: invokevirtual java/lang/Throwable.addSuppressed (Ljava/lang/Throwable;)V
      // 25b: aload 16
      // 25d: athrow
      // 25e: aload 14
      // 260: invokevirtual java/lang/StringBuilder.toString ()Ljava/lang/String;
      // 263: astore 15
      // 265: aload 0
      // 266: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.cnonce Ljava/lang/String;
      // 269: ifnonnull 27d
      // 26c: aload 0
      // 26d: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.createCnonce ()[B
      // 270: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.formatHex ([B)Ljava/lang/String;
      // 273: putfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.cnonce Ljava/lang/String;
      // 276: goto 27d
      // 279: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 27c: athrow
      // 27d: aload 0
      // 27e: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 281: ifnonnull 299
      // 284: aload 0
      // 285: new org/apache/hc/client5/http/utils/ByteArrayBuilder
      // 288: dup
      // 289: sipush 128
      // 28c: invokespecial org/apache/hc/client5/http/utils/ByteArrayBuilder.<init> (I)V
      // 28f: putfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 292: goto 2a0
      // 295: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 298: athrow
      // 299: aload 0
      // 29a: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 29d: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.reset ()V
      // 2a0: aload 0
      // 2a1: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 2a4: aload 11
      // 2a6: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.charset (Ljava/nio/charset/Charset;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 2a9: pop
      // 2aa: aload 0
      // 2ab: aconst_null
      // 2ac: putfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a1 [B
      // 2af: aload 0
      // 2b0: aconst_null
      // 2b1: putfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a2 [B
      // 2b4: aload 0
      // 2b5: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.credentials Lorg/apache/hc/client5/http/auth/UsernamePasswordCredentials;
      // 2b8: invokevirtual org/apache/hc/client5/http/auth/UsernamePasswordCredentials.getUserName ()Ljava/lang/String;
      // 2bb: astore 16
      // 2bd: aconst_null
      // 2be: astore 17
      // 2c0: aload 16
      // 2c2: ifnull 2ef
      // 2c5: aload 0
      // 2c6: aload 16
      // 2c8: invokevirtual com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.containsInvalidABNFChars (Ljava/lang/String;)Z
      // 2cb: ifeq 2ef
      // 2ce: goto 2d5
      // 2d1: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2d4: athrow
      // 2d5: getstatic org/apache/hc/core5/net/PercentCodec.RFC5987 Lorg/apache/hc/core5/net/PercentCodec;
      // 2d8: aload 16
      // 2da: invokevirtual org/apache/hc/core5/net/PercentCodec.encode (Ljava/lang/CharSequence;)Ljava/lang/String;
      // 2dd: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 2e0: astore 29
      // 2e2: aload 29
      // 2e4: bipush 16
      // 2e6: aaload
      // 2e7: swap
      // 2e8: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 2ed: astore 17
      // 2ef: aload 0
      // 2f0: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.userhashSupported Z
      // 2f3: ifeq 31e
      // 2f6: aload 16
      // 2f8: aload 4
      // 2fa: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001:\u0001" ]
      // 2ff: astore 19
      // 301: aload 13
      // 303: aload 19
      // 305: getstatic java/nio/charset/StandardCharsets.UTF_8 Ljava/nio/charset/Charset;
      // 308: invokevirtual java/lang/String.getBytes (Ljava/nio/charset/Charset;)[B
      // 30b: invokevirtual java/security/MessageDigest.digest ([B)[B
      // 30e: astore 20
      // 310: aload 20
      // 312: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.formatHex ([B)Ljava/lang/String;
      // 315: astore 18
      // 317: aload 18
      // 319: astore 16
      // 31b: goto 32e
      // 31e: aload 17
      // 320: ifnull 32a
      // 323: aload 17
      // 325: astore 18
      // 327: goto 32e
      // 32a: aload 16
      // 32c: astore 18
      // 32e: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 331: astore 29
      // 333: aload 29
      // 335: bipush 39
      // 337: aaload
      // 338: aload 7
      // 33a: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 33d: ifeq 39e
      // 340: aload 0
      // 341: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 344: aload 16
      // 346: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 349: ldc ":"
      // 34b: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 34e: aload 4
      // 350: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 353: ldc ":"
      // 355: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 358: aload 0
      // 359: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.credentials Lorg/apache/hc/client5/http/auth/UsernamePasswordCredentials;
      // 35c: invokevirtual org/apache/hc/client5/http/auth/UsernamePasswordCredentials.getUserPassword ()[C
      // 35f: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append ([C)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 362: pop
      // 363: aload 13
      // 365: aload 0
      // 366: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 369: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.toByteArray ()[B
      // 36c: invokevirtual java/security/MessageDigest.digest ([B)[B
      // 36f: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.formatHex ([B)Ljava/lang/String;
      // 372: astore 19
      // 374: aload 0
      // 375: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 378: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.reset ()V
      // 37b: aload 0
      // 37c: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 37f: aload 19
      // 381: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 384: ldc ":"
      // 386: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 389: aload 5
      // 38b: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 38e: ldc ":"
      // 390: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 393: aload 0
      // 394: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.cnonce Ljava/lang/String;
      // 397: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 39a: pop
      // 39b: goto 3c1
      // 39e: aload 0
      // 39f: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 3a2: aload 16
      // 3a4: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 3a7: ldc ":"
      // 3a9: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 3ac: aload 4
      // 3ae: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 3b1: ldc ":"
      // 3b3: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 3b6: aload 0
      // 3b7: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.credentials Lorg/apache/hc/client5/http/auth/UsernamePasswordCredentials;
      // 3ba: invokevirtual org/apache/hc/client5/http/auth/UsernamePasswordCredentials.getUserPassword ()[C
      // 3bd: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append ([C)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 3c0: pop
      // 3c1: aload 0
      // 3c2: aload 0
      // 3c3: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 3c6: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.toByteArray ()[B
      // 3c9: putfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a1 [B
      // 3cc: aload 13
      // 3ce: aload 0
      // 3cf: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a1 [B
      // 3d2: invokevirtual java/security/MessageDigest.digest ([B)[B
      // 3d5: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.formatHex ([B)Ljava/lang/String;
      // 3d8: astore 19
      // 3da: aload 0
      // 3db: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 3de: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.reset ()V
      // 3e1: aload 9
      // 3e3: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection.AUTH Lcom/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection;
      // 3e6: if_acmpne 408
      // 3e9: aload 0
      // 3ea: aload 0
      // 3eb: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 3ee: aload 3
      // 3ef: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 3f2: ldc ":"
      // 3f4: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 3f7: aload 2
      // 3f8: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 3fb: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.toByteArray ()[B
      // 3fe: putfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a2 [B
      // 401: goto 511
      // 404: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 407: athrow
      // 408: aload 9
      // 40a: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection.AUTH_INT Lcom/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection;
      // 40d: if_acmpne 4f9
      // 410: aload 1
      // 411: instanceof org/apache/hc/core5/http/ClassicHttpRequest
      // 414: ifeq 42e
      // 417: goto 41e
      // 41a: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 41d: athrow
      // 41e: aload 1
      // 41f: checkcast org/apache/hc/core5/http/ClassicHttpRequest
      // 422: invokeinterface org/apache/hc/core5/http/ClassicHttpRequest.getEntity ()Lorg/apache/hc/core5/http/HttpEntity; 1
      // 427: goto 42f
      // 42a: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 42d: athrow
      // 42e: aconst_null
      // 42f: astore 20
      // 431: aload 20
      // 433: ifnull 490
      // 436: aload 20
      // 438: invokeinterface org/apache/hc/core5/http/HttpEntity.isRepeatable ()Z 1
      // 43d: ifne 490
      // 440: goto 447
      // 443: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 446: athrow
      // 447: aload 8
      // 449: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 44c: bipush 49
      // 44e: aaload
      // 44f: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 454: ifeq 47e
      // 457: goto 45e
      // 45a: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 45d: athrow
      // 45e: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection.AUTH Lcom/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection;
      // 461: astore 9
      // 463: aload 0
      // 464: aload 0
      // 465: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 468: aload 3
      // 469: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 46c: ldc ":"
      // 46e: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 471: aload 2
      // 472: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 475: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.toByteArray ()[B
      // 478: putfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a2 [B
      // 47b: goto 4f6
      // 47e: new org/apache/hc/client5/http/auth/AuthenticationException
      // 481: dup
      // 482: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 485: astore 29
      // 487: aload 29
      // 489: bipush 17
      // 48b: aaload
      // 48c: invokespecial org/apache/hc/client5/http/auth/AuthenticationException.<init> (Ljava/lang/String;)V
      // 48f: athrow
      // 490: new com/l7tech/common/http/prov/apache/components/b
      // 493: dup
      // 494: aload 13
      // 496: invokespecial com/l7tech/common/http/prov/apache/components/b.<init> (Ljava/security/MessageDigest;)V
      // 499: astore 21
      // 49b: aload 20
      // 49d: ifnull 4b0
      // 4a0: aload 20
      // 4a2: aload 21
      // 4a4: invokeinterface org/apache/hc/core5/http/HttpEntity.writeTo (Ljava/io/OutputStream;)V 2
      // 4a9: goto 4b0
      // 4ac: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4af: athrow
      // 4b0: aload 21
      // 4b2: invokevirtual com/l7tech/common/http/prov/apache/components/b.close ()V
      // 4b5: goto 4ce
      // 4b8: astore 22
      // 4ba: new org/apache/hc/client5/http/auth/AuthenticationException
      // 4bd: dup
      // 4be: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 4c1: astore 29
      // 4c3: aload 29
      // 4c5: bipush 32
      // 4c7: aaload
      // 4c8: aload 22
      // 4ca: invokespecial org/apache/hc/client5/http/auth/AuthenticationException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 4cd: athrow
      // 4ce: aload 0
      // 4cf: aload 0
      // 4d0: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 4d3: aload 3
      // 4d4: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 4d7: ldc ":"
      // 4d9: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 4dc: aload 2
      // 4dd: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 4e0: ldc ":"
      // 4e2: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 4e5: aload 21
      // 4e7: invokevirtual com/l7tech/common/http/prov/apache/components/b.getDigest ()[B
      // 4ea: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.formatHex ([B)Ljava/lang/String;
      // 4ed: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 4f0: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.toByteArray ()[B
      // 4f3: putfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a2 [B
      // 4f6: goto 511
      // 4f9: aload 0
      // 4fa: aload 0
      // 4fb: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 4fe: aload 3
      // 4ff: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 502: ldc ":"
      // 504: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 507: aload 2
      // 508: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 50b: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.toByteArray ()[B
      // 50e: putfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a2 [B
      // 511: aload 13
      // 513: aload 0
      // 514: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a2 [B
      // 517: invokevirtual java/security/MessageDigest.digest ([B)[B
      // 51a: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.formatHex ([B)Ljava/lang/String;
      // 51d: astore 20
      // 51f: aload 0
      // 520: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 523: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.reset ()V
      // 526: aload 9
      // 528: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection.MISSING Lcom/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection;
      // 52b: if_acmpne 553
      // 52e: aload 0
      // 52f: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 532: aload 19
      // 534: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 537: ldc ":"
      // 539: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 53c: aload 5
      // 53e: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 541: ldc ":"
      // 543: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 546: aload 20
      // 548: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 54b: pop
      // 54c: goto 5ae
      // 54f: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 552: athrow
      // 553: aload 0
      // 554: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 557: aload 19
      // 559: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 55c: ldc ":"
      // 55e: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 561: aload 5
      // 563: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 566: ldc ":"
      // 568: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 56b: aload 15
      // 56d: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 570: ldc ":"
      // 572: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 575: aload 0
      // 576: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.cnonce Ljava/lang/String;
      // 579: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 57c: ldc ":"
      // 57e: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 581: aload 9
      // 583: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection.AUTH_INT Lcom/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection;
      // 586: if_acmpne 596
      // 589: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 58c: bipush 35
      // 58e: aaload
      // 58f: goto 5a0
      // 592: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 595: athrow
      // 596: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 599: astore 29
      // 59b: aload 29
      // 59d: bipush 49
      // 59f: aaload
      // 5a0: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 5a3: ldc ":"
      // 5a5: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 5a8: aload 20
      // 5aa: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.append (Ljava/lang/String;)Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 5ad: pop
      // 5ae: aload 0
      // 5af: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 5b2: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.toByteArray ()[B
      // 5b5: astore 21
      // 5b7: aload 0
      // 5b8: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.buffer Lorg/apache/hc/client5/http/utils/ByteArrayBuilder;
      // 5bb: invokevirtual org/apache/hc/client5/http/utils/ByteArrayBuilder.reset ()V
      // 5be: aload 13
      // 5c0: aload 21
      // 5c2: invokevirtual java/security/MessageDigest.digest ([B)[B
      // 5c5: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.formatHex ([B)Ljava/lang/String;
      // 5c8: astore 22
      // 5ca: new org/apache/hc/core5/util/CharArrayBuffer
      // 5cd: dup
      // 5ce: sipush 128
      // 5d1: invokespecial org/apache/hc/core5/util/CharArrayBuffer.<init> (I)V
      // 5d4: astore 23
      // 5d6: aload 23
      // 5d8: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 5db: astore 29
      // 5dd: aload 29
      // 5df: bipush 1
      // 5e0: aaload
      // 5e1: invokevirtual org/apache/hc/core5/util/CharArrayBuffer.append (Ljava/lang/String;)V
      // 5e4: new java/util/ArrayList
      // 5e7: dup
      // 5e8: bipush 20
      // 5ea: invokespecial java/util/ArrayList.<init> (I)V
      // 5ed: astore 24
      // 5ef: aload 0
      // 5f0: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.userhashSupported Z
      // 5f3: ifeq 62b
      // 5f6: aload 24
      // 5f8: new org/apache/hc/core5/http/message/BasicNameValuePair
      // 5fb: dup
      // 5fc: aload 29
      // 5fe: bipush 2
      // 5ff: aaload
      // 600: aload 18
      // 602: invokespecial org/apache/hc/core5/http/message/BasicNameValuePair.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 605: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 60a: pop
      // 60b: aload 24
      // 60d: new org/apache/hc/core5/http/message/BasicNameValuePair
      // 610: dup
      // 611: aload 29
      // 613: bipush 43
      // 615: aaload
      // 616: aload 29
      // 618: bipush 28
      // 61a: aaload
      // 61b: invokespecial org/apache/hc/core5/http/message/BasicNameValuePair.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 61e: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 623: pop
      // 624: goto 668
      // 627: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 62a: athrow
      // 62b: aload 17
      // 62d: ifnull 64e
      // 630: aload 24
      // 632: new org/apache/hc/core5/http/message/BasicNameValuePair
      // 635: dup
      // 636: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 639: bipush 26
      // 63b: aaload
      // 63c: aload 17
      // 63e: invokespecial org/apache/hc/core5/http/message/BasicNameValuePair.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 641: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 646: pop
      // 647: goto 668
      // 64a: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 64d: athrow
      // 64e: aload 24
      // 650: new org/apache/hc/core5/http/message/BasicNameValuePair
      // 653: dup
      // 654: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 657: astore 29
      // 659: aload 29
      // 65b: bipush 3
      // 65c: aaload
      // 65d: aload 16
      // 65f: invokespecial org/apache/hc/core5/http/message/BasicNameValuePair.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 662: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 667: pop
      // 668: aload 24
      // 66a: new org/apache/hc/core5/http/message/BasicNameValuePair
      // 66d: dup
      // 66e: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 671: bipush 31
      // 673: aaload
      // 674: aload 4
      // 676: invokespecial org/apache/hc/core5/http/message/BasicNameValuePair.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 679: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 67e: pop
      // 67f: aload 24
      // 681: new org/apache/hc/core5/http/message/BasicNameValuePair
      // 684: dup
      // 685: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 688: bipush 6
      // 68a: aaload
      // 68b: aload 5
      // 68d: invokespecial org/apache/hc/core5/http/message/BasicNameValuePair.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 690: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 695: pop
      // 696: aload 24
      // 698: new org/apache/hc/core5/http/message/BasicNameValuePair
      // 69b: dup
      // 69c: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 69f: bipush 41
      // 6a1: aaload
      // 6a2: aload 2
      // 6a3: invokespecial org/apache/hc/core5/http/message/BasicNameValuePair.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 6a6: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 6ab: pop
      // 6ac: aload 24
      // 6ae: new org/apache/hc/core5/http/message/BasicNameValuePair
      // 6b1: dup
      // 6b2: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 6b5: bipush 30
      // 6b7: aaload
      // 6b8: aload 22
      // 6ba: invokespecial org/apache/hc/core5/http/message/BasicNameValuePair.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 6bd: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 6c2: pop
      // 6c3: aload 9
      // 6c5: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection.MISSING Lcom/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection;
      // 6c8: if_acmpeq 739
      // 6cb: aload 24
      // 6cd: new org/apache/hc/core5/http/message/BasicNameValuePair
      // 6d0: dup
      // 6d1: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 6d4: bipush 9
      // 6d6: aaload
      // 6d7: aload 9
      // 6d9: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection.AUTH_INT Lcom/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme$QualityOfProtection;
      // 6dc: if_acmpne 6f3
      // 6df: goto 6e6
      // 6e2: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6e5: athrow
      // 6e6: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 6e9: bipush 35
      // 6eb: aaload
      // 6ec: goto 6fd
      // 6ef: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6f2: athrow
      // 6f3: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 6f6: astore 29
      // 6f8: aload 29
      // 6fa: bipush 49
      // 6fc: aaload
      // 6fd: invokespecial org/apache/hc/core5/http/message/BasicNameValuePair.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 700: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 705: pop
      // 706: aload 24
      // 708: new org/apache/hc/core5/http/message/BasicNameValuePair
      // 70b: dup
      // 70c: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 70f: astore 29
      // 711: aload 29
      // 713: bipush 33
      // 715: aaload
      // 716: aload 15
      // 718: invokespecial org/apache/hc/core5/http/message/BasicNameValuePair.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 71b: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 720: pop
      // 721: aload 24
      // 723: new org/apache/hc/core5/http/message/BasicNameValuePair
      // 726: dup
      // 727: aload 29
      // 729: bipush 53
      // 72b: aaload
      // 72c: aload 0
      // 72d: getfield com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.cnonce Ljava/lang/String;
      // 730: invokespecial org/apache/hc/core5/http/message/BasicNameValuePair.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 733: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 738: pop
      // 739: aload 7
      // 73b: ifnull 75c
      // 73e: aload 24
      // 740: new org/apache/hc/core5/http/message/BasicNameValuePair
      // 743: dup
      // 744: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 747: bipush 23
      // 749: aaload
      // 74a: aload 7
      // 74c: invokespecial org/apache/hc/core5/http/message/BasicNameValuePair.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 74f: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 754: pop
      // 755: goto 75c
      // 758: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 75b: athrow
      // 75c: aload 6
      // 75e: ifnull 77f
      // 761: aload 24
      // 763: new org/apache/hc/core5/http/message/BasicNameValuePair
      // 766: dup
      // 767: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 76a: bipush 20
      // 76c: aaload
      // 76d: aload 6
      // 76f: invokespecial org/apache/hc/core5/http/message/BasicNameValuePair.<init> (Ljava/lang/String;Ljava/lang/String;)V
      // 772: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 777: pop
      // 778: goto 77f
      // 77b: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 77e: athrow
      // 77f: bipush 0
      // 780: istore 25
      // 782: iload 25
      // 784: aload 24
      // 786: invokeinterface java/util/List.size ()I 1
      // 78b: if_icmpge 81a
      // 78e: aload 24
      // 790: iload 25
      // 792: invokeinterface java/util/List.get (I)Ljava/lang/Object; 2
      // 797: checkcast org/apache/hc/core5/http/message/BasicNameValuePair
      // 79a: astore 26
      // 79c: iload 25
      // 79e: ifle 7b3
      // 7a1: aload 23
      // 7a3: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 7a6: bipush 29
      // 7a8: aaload
      // 7a9: invokevirtual org/apache/hc/core5/util/CharArrayBuffer.append (Ljava/lang/String;)V
      // 7ac: goto 7b3
      // 7af: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7b2: athrow
      // 7b3: aload 26
      // 7b5: invokevirtual org/apache/hc/core5/http/message/BasicNameValuePair.getName ()Ljava/lang/String;
      // 7b8: astore 27
      // 7ba: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 7bd: bipush 0
      // 7be: aaload
      // 7bf: aload 27
      // 7c1: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 7c4: ifne 7f1
      // 7c7: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 7ca: bipush 9
      // 7cc: aaload
      // 7cd: aload 27
      // 7cf: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 7d2: ifne 7f1
      // 7d5: goto 7dc
      // 7d8: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7db: athrow
      // 7dc: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 7df: bipush 23
      // 7e1: aaload
      // 7e2: aload 27
      // 7e4: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 7e7: ifeq 7f9
      // 7ea: goto 7f1
      // 7ed: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7f0: athrow
      // 7f1: bipush 1
      // 7f2: goto 7fa
      // 7f5: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7f8: athrow
      // 7f9: bipush 0
      // 7fa: istore 28
      // 7fc: getstatic org/apache/hc/core5/http/message/BasicHeaderValueFormatter.INSTANCE Lorg/apache/hc/core5/http/message/BasicHeaderValueFormatter;
      // 7ff: aload 23
      // 801: aload 26
      // 803: iload 28
      // 805: ifne 810
      // 808: bipush 1
      // 809: goto 811
      // 80c: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 80f: athrow
      // 810: bipush 0
      // 811: invokevirtual org/apache/hc/core5/http/message/BasicHeaderValueFormatter.formatNameValuePair (Lorg/apache/hc/core5/util/CharArrayBuffer;Lorg/apache/hc/core5/http/NameValuePair;Z)V
      // 814: iinc 25 1
      // 817: goto 782
      // 81a: aload 23
      // 81c: invokevirtual org/apache/hc/core5/util/CharArrayBuffer.toString ()Ljava/lang/String;
      // 81f: areturn
      // try (168 -> 176): 177 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (138 -> 151): 151 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (100 -> 108): 109 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (89 -> 96): 96 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (0 -> 10): 10 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (185 -> 188): 189 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (202 -> 214): 214 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (236 -> 252): 255 java/lang/Throwable
      // try (256 -> 258): 259 java/lang/Throwable
      // try (512 -> 517): 518 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (469 -> 481): 482 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (467 -> 472): 473 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (453 -> 463): 463 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (450 -> 456): 457 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (430 -> 448): 448 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (310 -> 316): 317 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (278 -> 288): 288 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (268 -> 275): 276 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (512 -> 522): 523 java/io/IOException
      // try (569 -> 589): 589 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (591 -> 617): 617 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (659 -> 685): 685 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (687 -> 700): 700 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (714 -> 766): 767 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (757 -> 773): 773 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (806 -> 818): 819 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (821 -> 833): 834 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (847 -> 854): 855 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (860 -> 872): 873 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (866 -> 881): 882 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (875 -> 886): 886 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (890 -> 897): 897 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
   }

   @Internal
   public String getNonce() {
      return this.lastNonce;
   }

   @Internal
   public long getNounceCount() {
      return this.nounceCount;
   }

   @Internal
   public String getCnonce() {
      return this.cnonce;
   }

   String getA1() {
      try {
         if (this.a1 != null) {
            return new String(this.a1, StandardCharsets.US_ASCII);
         }
      } catch (UnsupportedDigestAlgorithmException var1) {
         throw a(var1);
      }

      return null;
   }

   String getA2() {
      try {
         if (this.a2 != null) {
            return new String(this.a2, StandardCharsets.US_ASCII);
         }
      } catch (UnsupportedDigestAlgorithmException var1) {
         throw a(var1);
      }

      return null;
   }

   static String formatHex(byte[] var0) {
      int var1 = var0.length;
      char[] var2 = new char[var1 * 2];

      for (int var3 = 0; var3 < var1; var3++) {
         int var4 = var0[var3] & 15;
         int var5 = (var0[var3] & 240) >> 4;
         var2[var3 * 2] = HEXADECIMAL[var5];
         var2[var3 * 2 + 1] = HEXADECIMAL[var4];
      }

      return new String(var2);
   }

   static byte[] createCnonce() {
      SecureRandom var0 = new SecureRandom();
      byte[] var1 = new byte[8];
      var0.nextBytes(var1);
      return var1;
   }

   private void writeObject(ObjectOutputStream var1) throws IOException {
      var1.defaultWriteObject();
      var1.writeUTF(this.defaultCharset.name());
   }

   private void readObject(ObjectInputStream var1) throws IOException, ClassNotFoundException {
      var1.defaultReadObject();
      this.defaultCharset = Charset.forName(var1.readUTF());
   }

   @Override
   public String toString() {
      return this.getName() + this.paramMap;
   }

   private boolean containsInvalidABNFChars(String param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: ifnonnull 16
      // 04: new java/lang/IllegalArgumentException
      // 07: dup
      // 08: getstatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a [Ljava/lang/String;
      // 0b: bipush 47
      // 0d: aaload
      // 0e: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // 11: athrow
      // 12: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 15: athrow
      // 16: bipush 0
      // 17: istore 2
      // 18: iload 2
      // 19: aload 1
      // 1a: invokevirtual java/lang/String.length ()I
      // 1d: if_icmpge 6a
      // 20: aload 1
      // 21: iload 2
      // 22: invokevirtual java/lang/String.charAt (I)C
      // 25: istore 3
      // 26: iload 3
      // 27: bipush 31
      // 29: if_icmple 39
      // 2c: iload 3
      // 2d: bipush 127
      // 2f: if_icmpne 3f
      // 32: goto 39
      // 35: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 38: athrow
      // 39: bipush 1
      // 3a: ireturn
      // 3b: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3e: athrow
      // 3f: iload 3
      // 40: bipush 126
      // 42: if_icmple 4b
      // 45: bipush 1
      // 46: ireturn
      // 47: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4a: athrow
      // 4b: iload 3
      // 4c: bipush 34
      // 4e: if_icmpeq 5e
      // 51: iload 3
      // 52: bipush 92
      // 54: if_icmpne 64
      // 57: goto 5e
      // 5a: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 5d: athrow
      // 5e: bipush 1
      // 5f: ireturn
      // 60: invokestatic com/l7tech/common/http/prov/apache/components/CharsetAwareHttpDigestAuthScheme.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 63: athrow
      // 64: iinc 2 1
      // 67: goto 18
      // 6a: bipush 0
      // 6b: ireturn
      // try (0 -> 9): 9 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (21 -> 27): 28 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (24 -> 32): 32 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (34 -> 39): 39 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (41 -> 47): 48 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
      // try (44 -> 52): 52 org/apache/hc/client5/http/impl/auth/UnsupportedDigestAlgorithmException
   }

   static {
      String[] var5 = new String[54];
      int var3 = 0;
      String var2 = "@\u0016\u0007j\u001cgl^%\u0010\b[\u0006e{C0]K\b[\u0006e{C0]K\bc15$^4C]\u0006M\u001bogN4\u0005@\u001anjH\bO\u0000ta\u00008^Z\u0003c15\u0003_\u001ap\u000bm\u0007emH?DG\u0014lz\u0013m\u0007emH?DG\u0014lz}#_X\u001cdl_\rC\u001cszD?W\u000e\u0007ehA<\ff!TY\r#U_\u0000ezY\u001d{\u001bs|]!_\\\u0001em\r2BK\u0011egY8QBUtp]4\n\u000e+U\b GBqS\\\u0010dlC%YO\u0019s)K>E@\u0011 oB#\u0010O\u0000ta\r\"SA\u0005e)v*Ms\u0007{!F$\u0015v\u00178\u007f\u001ap)L$DFXigYqSO\u001bnfYqRKUuzH5\u0010Y\u001cta\r0\u0010@\u001an$_4@K\u0014thO=U\u000e\u0010n}D%I\u0005\\\u0010ae@\u0003_\u001ap\u0006A\u0005axX4&`\u001anl\r>V\u000e\u0001hl\r _^UmlY9_J\u0006 `^qC[\u0005pf_%UJO \ro\u0000tan9QB\u0019egJ4\tO\u0019gf_8DF\u0018\rC\u001cszD?W\u000e\u001bogN4'{\u0006e{\r2BK\u0011egY8QB\u0006 aL'U\u000e\u001bo}\r3UK\u001b y_>FG\u0011em\t[\u0006e{C0]K_\to\u0000ta\r9_]\u0001\u0004Z\u0007ul\u0002\u0002U\b\\\u0010syB?CK\u0005\\\u0010ae@ gZO)H#BA\u0007 {H0TG\u001bg)H?DG\u0001y)N>^Z\u0010n}\u0002@\u0016\u0006j\u001cgl^%\bO\u0000ta\u00008^Z\b[\u0006e{E0CF\u0004Z\u0007ul5{\u001bs|]!_\\\u0001em\r0\\I\u001ar`Y9]\u000e\u001cn)e\u0005d~UD`J4CZUa|Y9U@\u0001ijL%YA\u001b:)\bc15$^4C]\tO\u0019gf_8DF\u0018\u0003[\u0007i\u0007M\u001da{^4D\b[\u0006e{E0CF\u001ec\u001cszD?W\u000e\u0011inH\"D\u000e\u0014u}Eq@O\u0007adH%U\\\u0006\u0004O\u0000ta\u001e{\u001bs|]!_\\\u0001em\r5YI\u0010s}\r0\\I\u001ar`Y9]\u0014U g\u001bp|YqCZ\u0007igJqCF\u001aueIq^A\u0001 kHq^[\u0019l'\u0005@\u001anjH\u0004O\u0000ta\u0006A\u0005axX4\u0005]\u0001aeH";
      int var4 = "@\u0016\u0007j\u001cgl^%\u0010\b[\u0006e{C0]K\b[\u0006e{C0]K\bc15$^4C]\u0006M\u001bogN4\u0005@\u001anjH\bO\u0000ta\u00008^Z\u0003c15\u0003_\u001ap\u000bm\u0007emH?DG\u0014lz\u0013m\u0007emH?DG\u0014lz}#_X\u001cdl_\rC\u001cszD?W\u000e\u0007ehA<\ff!TY\r#U_\u0000ezY\u001d{\u001bs|]!_\\\u0001em\r2BK\u0011egY8QBUtp]4\n\u000e+U\b GBqS\\\u0010dlC%YO\u0019s)K>E@\u0011 oB#\u0010O\u0000ta\r\"SA\u0005e)v*Ms\u0007{!F$\u0015v\u00178\u007f\u001ap)L$DFXigYqSO\u001bnfYqRKUuzH5\u0010Y\u001cta\r0\u0010@\u001an$_4@K\u0014thO=U\u000e\u0010n}D%I\u0005\\\u0010ae@\u0003_\u001ap\u0006A\u0005axX4&`\u001anl\r>V\u000e\u0001hl\r _^UmlY9_J\u0006 `^qC[\u0005pf_%UJO \ro\u0000tan9QB\u0019egJ4\tO\u0019gf_8DF\u0018\rC\u001cszD?W\u000e\u001bogN4'{\u0006e{\r2BK\u0011egY8QB\u0006 aL'U\u000e\u001bo}\r3UK\u001b y_>FG\u0011em\t[\u0006e{C0]K_\to\u0000ta\r9_]\u0001\u0004Z\u0007ul\u0002\u0002U\b\\\u0010syB?CK\u0005\\\u0010ae@ gZO)H#BA\u0007 {H0TG\u001bg)H?DG\u0001y)N>^Z\u0010n}\u0002@\u0016\u0006j\u001cgl^%\bO\u0000ta\u00008^Z\b[\u0006e{E0CF\u0004Z\u0007ul5{\u001bs|]!_\\\u0001em\r0\\I\u001ar`Y9]\u000e\u001cn)e\u0005d~UD`J4CZUa|Y9U@\u0001ijL%YA\u001b:)\bc15$^4C]\tO\u0019gf_8DF\u0018\u0003[\u0007i\u0007M\u001da{^4D\b[\u0006e{E0CF\u001ec\u001cszD?W\u000e\u0011inH\"D\u000e\u0014u}Eq@O\u0007adH%U\\\u0006\u0004O\u0000ta\u001e{\u001bs|]!_\\\u0001em\r5YI\u0010s}\r0\\I\u001ar`Y9]\u0014U g\u001bp|YqCZ\u0007igJqCF\u001aueIq^A\u0001 kHq^[\u0019l'\u0005@\u001anjH\u0004O\u0000ta\u0006A\u0005axX4\u0005]\u0001aeH"
         .length();
      char var1 = 2;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 109;
         String var10001 = var2.substring(++var7, var7 + var1);
         byte var10002 = -1;

         while (true) {
            String var8 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     a = var5;
                     LOG = LoggerFactory.getLogger(CharsetAwareHttpDigestAuthScheme.class);
                     HEXADECIMAL = new char[]{'0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a', 'b', 'c', 'd', 'e', 'f'};
                     return;
                  }

                  var1 = var2.charAt(var7);
                  break;
               default:
                  var5[var3++] = var8;
                  if ((var7 += var1) < var4) {
                     var1 = var2.charAt(var7);
                     continue label24;
                  }

                  var2 = "\u000fA<u\u0006I\u001fkcJ0";
                  var4 = "\u000fA<u\u0006I\u001fkcJ0".length();
                  var1 = 4;
                  var7 = -1;
            }

            var10000 = 105;
            var10001 = var2.substring(++var7, var7 + var1);
            var10002 = 0;
         }
      }
   }

   private static Exception a(Exception var0) {
      return var0;
   }

   private static char[] a(String var0) {
      char[] var10000 = var0.toCharArray();
      if (var10000.length < 2) {
         var10000[0] = (char)(var10000[0] ^ 93);
      }

      return var10000;
   }

   private static String a(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 67;
            case 1 -> 24;
            case 2 -> 109;
            case 3 -> 100;
            case 4 -> 64;
            case 5 -> 60;
            default -> 93;
         });
      }

      return new String(var10001).intern();
   }

   private enum QualityOfProtection {
      UNKNOWN,
      MISSING,
      AUTH_INT,
      AUTH;

      // $VF: Failed to inline enum fields
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      static {
         String[] var0 = new String[4];
         int var4 = 0;
         String var3 = "\u0006f#i\u0007\nz$r\u0014\rk";
         int var5 = "\u0006f#i\u0007\nz$r\u0014\rk".length();
         char var2 = 4;
         int var7 = -1;

         label25:
         while (true) {
            byte var10000 = 22;
            String var10001 = var3.substring(++var7, var7 + var2);
            byte var10002 = -1;

            while (true) {
               String var8 = a(var10000, a(var10001));
               switch (var10002) {
                  case 0:
                     var0[var4++] = var8;
                     if ((var7 += var2) >= var5) {
                        UNKNOWN = new CharsetAwareHttpDigestAuthScheme.QualityOfProtection();
                        MISSING = new CharsetAwareHttpDigestAuthScheme.QualityOfProtection();
                        AUTH_INT = new CharsetAwareHttpDigestAuthScheme.QualityOfProtection();
                        AUTH = new CharsetAwareHttpDigestAuthScheme.QualityOfProtection();
                        return;
                     }

                     var2 = var3.charAt(var7);
                     break;
                  default:
                     var0[var4++] = var8;
                     if ((var7 += var2) < var5) {
                        var2 = var3.charAt(var7);
                        continue label25;
                     }

                     var3 = "H'f5HN8\b\\<y3XP8I";
                     var5 = "H'f5HN8\b\\<y3XP8I".length();
                     var2 = 7;
                     var7 = -1;
               }

               var10000 = 76;
               var10001 = var3.substring(++var7, var7 + var2);
               var10002 = 0;
            }
         }
      }

      private static char[] a(String var0) {
         char[] var10000 = var0.toCharArray();
         if (var10000.length < 2) {
            var10000[0] = (char)(var10000[0] ^ 58);
         }

         return var10000;
      }

      private static String a(int var0, char[] var1) {
         int var10003 = var1.length;
         int var10002 = var0;
         char[] var10001 = var1;
         int var10000 = var10003;

         for (int var2 = 0; var10000 > var2; var2++) {
            var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
               case 0 -> 81;
               case 1 -> 37;
               case 2 -> 97;
               case 3 -> 55;
               case 4 -> 75;
               case 5 -> 85;
               default -> 58;
            });
         }

         return new String(var10001).intern();
      }
   }
}
