package com.l7tech.server.oauth2;

import com.ca.apim.gateway.extension.sharedstate.Configuration;
import com.ca.apim.gateway.extension.sharedstate.SharedKeyValueStore;
import com.ca.apim.gateway.extension.sharedstate.SharedKeyValueStoreProvider;
import com.ca.apim.gateway.extension.sharedstate.Configuration.Param;
import com.github.benmanes.caffeine.cache.Cache;
import com.github.benmanes.caffeine.cache.Caffeine;
import com.l7tech.common.io.CertUtils;
import com.l7tech.gateway.common.security.keystore.SsgKeyEntry;
import com.l7tech.identity.IdentityProvider;
import com.l7tech.identity.User;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.server.DefaultKey;
import com.l7tech.server.ServerConfig;
import com.l7tech.server.event.EntityInvalidationEvent;
import com.l7tech.server.extension.registry.sharedstate.SharedKeyValueStoreProviderRegistry;
import com.l7tech.server.identity.IdentityProviderFactory;
import com.l7tech.server.security.keystore.KeystoreFile;
import com.l7tech.server.util.ApplicationEventProxy;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.SyspropUtil;
import java.io.IOException;
import java.security.KeyStoreException;
import java.security.cert.CertificateEncodingException;
import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.concurrent.TimeUnit;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.commons.lang3.StringUtils;
import org.jose4j.jwk.JsonWebKey;
import org.jose4j.jwk.JsonWebKeySet;
import org.jose4j.jwk.PublicJsonWebKey;
import org.jose4j.jwk.JsonWebKey.Factory;
import org.jose4j.jwk.JsonWebKey.OutputControlLevel;
import org.jose4j.lang.JoseException;
import org.springframework.context.ApplicationEvent;

public class SSGOAuth2Issuer implements OAuth2Issuer {
   private static final Logger a;
   private static final String b;
   public static final String JWKS_USAGE;
   public static final String DEFAULT_KEY_STORE_ID;
   public static final String ISSUER_KEY_NAME;
   public static final String ISSUER_NAME;
   public static final String DEFAULT_JWT_SIGNATURE_ALGORITHM;
   public static final String JWT_SIGNATURE_ALGORITHM;
   public static final String USER_CLAIM_PROVIDER_ID;
   public static final String USER_CLAIM_ID;
   public static final String USER_SUBJECT_DN;
   public static final String USER_CLAIM_EMAIL;
   public static final String USER_CLAIM_LOGIN;
   public static final String USER_CLAIM_FIRST_NAME;
   public static final String USER_CLAIM_LAST_NAME;
   public static final String CLAIM_JWT_ID;
   public static final String CLAIM_SESSION_ID;
   public static final String CLAIM_JWT_EXP_TIME;
   public static final String CLAIM_AUTH_TIME;
   private static final String c = "|";
   private final ServerConfig d;
   private final DefaultKey e;
   private final IdentityProviderFactory f;
   private final OAuth2Signer g;
   private final OAuth2Verifier h;
   private final List<OAuth2IssuerListener> i;
   private final List<JsonWebKey> j = new ArrayList<>();
   private final SharedKeyValueStore<String, String> k;
   private final Cache<String, User> l;
   private SsgKeyEntry m;
   private String n;
   private String o;
   private static final int p = 100;
   private static final String q;
   private static final int r = 120;
   private static final String s;
   private static final String[] t;

   public SSGOAuth2Issuer(
      ServerConfig var1, DefaultKey var2, IdentityProviderFactory var3, ApplicationEventProxy var4, SharedKeyValueStoreProviderRegistry var5
   ) {
      this.d = var1;
      this.e = var2;
      this.f = var3;
      this.k = this.a(var5);
      this.i = new ArrayList<>();
      this.g = new SSGOAuth2Signer(this);
      this.h = new SSGOAuth2Verifier(this);
      Caffeine var10001 = Caffeine.newBuilder();
      String[] var6 = t;
      this.l = var10001.maximumSize(SyspropUtil.getInteger(var6[19], 100).intValue())
         .expireAfterWrite(SyspropUtil.getInteger(var6[22], 120).intValue(), TimeUnit.SECONDS)
         .build();
      this.e();
      var2.addKeyInfoListener(this::a);
      var4.addApplicationListener(this::a);
   }

   @Override
   public String getJwks() {
      return new JsonWebKeySet(this.j).toJson(OutputControlLevel.PUBLIC_ONLY);
   }

   @Override
   public String getName() {
      return t[35];
   }

   @Override
   public String getIss() {
      String var10000;
      label16: {
         try {
            if (ISSUER_NAME != null) {
               var10000 = ISSUER_NAME;
               break label16;
            }
         } catch (RuntimeException var2) {
            throw a(var2);
         }

         var10000 = this.o;
      }

      String var1 = var10000;
      return t[9] + var1;
   }

   @Override
   public OAuth2Signer getSigner() {
      return this.g;
   }

   @Override
   public OAuth2Verifier getVerifier() {
      return this.h;
   }

   @Override
   public User getUser(String var1, String var2, String var3) {
      String var10000;
      label31: {
         try {
            if (StringUtils.isBlank(var2)) {
               var10000 = var3;
               break label31;
            }
         } catch (RuntimeException var7) {
            throw a(var7);
         }

         var10000 = var2;
      }

      String var4 = var10000;

      try {
         if (!StringUtils.isNotBlank(var4) || !StringUtils.isNotBlank(var1)) {
            return null;
         }
      } catch (RuntimeException var6) {
         throw a(var6);
      }

      String var5 = var1 + "|" + var2 + "|" + var3;
      return (User)this.l.get(var5, var3x -> this.a(var1, var4));
   }

   private User a(String var1, String var2) {
      try {
         String[] var4 = t;
         a.log(Level.FINE, MessageFormat.format(var4[3], var1, var2));
         IdentityProvider var3 = this.f.getProvider(Goid.parseGoid(var1));
         if (var3 != null) {
            return var3.getUserManager().findByLogin(var2);
         }
      } catch (FindException var5) {
         a.log(Level.WARNING, MessageFormat.format(t[15], var1, var2, ExceptionUtils.getMessage(var5)));
      }

      return null;
   }

   @Override
   public boolean isTokenRevoked(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 0
      // 01: getfield com/l7tech/server/oauth2/SSGOAuth2Issuer.k Lcom/ca/apim/gateway/extension/sharedstate/SharedKeyValueStore;
      // 04: ifnull 23
      // 07: aload 0
      // 08: getfield com/l7tech/server/oauth2/SSGOAuth2Issuer.k Lcom/ca/apim/gateway/extension/sharedstate/SharedKeyValueStore;
      // 0b: aload 1
      // 0c: invokeinterface com/ca/apim/gateway/extension/sharedstate/SharedKeyValueStore.containsKey (Ljava/io/Serializable;)Z 2
      // 11: ifeq 23
      // 14: goto 1b
      // 17: invokestatic com/l7tech/server/oauth2/SSGOAuth2Issuer.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a: athrow
      // 1b: bipush 1
      // 1c: goto 24
      // 1f: invokestatic com/l7tech/server/oauth2/SSGOAuth2Issuer.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 22: athrow
      // 23: bipush 0
      // 24: ireturn
      // try (0 -> 8): 9 java/lang/RuntimeException
      // try (3 -> 13): 13 java/lang/RuntimeException
   }

   @Override
   public void addListener(OAuth2IssuerListener var1) {
      this.i.add(var1);
   }

   SsgKeyEntry a() {
      return this.m;
   }

   String b() {
      return this.n;
   }

   List<JsonWebKey> c() {
      return Collections.unmodifiableList(this.j);
   }

   void a(String var1, long var2) {
      try {
         if (this.k != null) {
            this.k.put(var1, var1, var2, TimeUnit.MILLISECONDS);
         }
      } catch (RuntimeException var4) {
         throw a(var4);
      }
   }

   int d() {
      return 10;
   }

   private String a(SsgKeyEntry var1) {
      String var2 = var1.getSubjectDN();
      int var3 = var2.indexOf(t[10]);
      if (var3 >= 0) {
         var3 += 3;
         int var4 = var2.indexOf(44, var3);

         try {
            if (var4 != -1) {
               return var2.substring(var3, var4).trim();
            }
         } catch (RuntimeException var5) {
            throw a(var5);
         }

         return var2.substring(var3).trim();
      } else {
         return var2;
      }
   }

   private String b(SsgKeyEntry var1) {
      return var1.getCertificate().getSerialNumber().toString();
   }

   private void a(String var1) {
      this.e();
   }

   private void a(ApplicationEvent var1) {
      if (var1 instanceof EntityInvalidationEvent var2 && var2.getEntityClass().isAssignableFrom(KeystoreFile.class)) {
         try {
            this.e();
         } catch (Exception var4) {
            a.log(Level.WARNING, t[30], ExceptionUtils.getMessageWithCause(var4));
         }
      }
   }

   private synchronized void e() {
      // $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: invokevirtual com/l7tech/server/oauth2/SSGOAuth2Issuer.f ()Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;
      // 04: astore 1
      // 05: aload 0
      // 06: aload 1
      // 07: invokevirtual com/l7tech/server/oauth2/SSGOAuth2Issuer.c (Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;)Lorg/jose4j/jwk/JsonWebKey;
      // 0a: astore 2
      // 0b: aload 2
      // 0c: ifnull 86
      // 0f: aload 0
      // 10: getfield com/l7tech/server/oauth2/SSGOAuth2Issuer.n Ljava/lang/String;
      // 13: aload 2
      // 14: invokevirtual org/jose4j/jwk/JsonWebKey.getKeyId ()Ljava/lang/String;
      // 17: invokestatic java/util/Objects.equals (Ljava/lang/Object;Ljava/lang/Object;)Z
      // 1a: ifne 86
      // 1d: goto 24
      // 20: invokestatic com/l7tech/server/oauth2/SSGOAuth2Issuer.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 23: athrow
      // 24: aload 0
      // 25: aload 1
      // 26: putfield com/l7tech/server/oauth2/SSGOAuth2Issuer.m Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;
      // 29: aload 0
      // 2a: aload 2
      // 2b: invokevirtual org/jose4j/jwk/JsonWebKey.getKeyId ()Ljava/lang/String;
      // 2e: putfield com/l7tech/server/oauth2/SSGOAuth2Issuer.n Ljava/lang/String;
      // 31: aload 0
      // 32: aload 0
      // 33: aload 1
      // 34: invokevirtual com/l7tech/server/oauth2/SSGOAuth2Issuer.a (Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry;)Ljava/lang/String;
      // 37: putfield com/l7tech/server/oauth2/SSGOAuth2Issuer.o Ljava/lang/String;
      // 3a: aload 0
      // 3b: getfield com/l7tech/server/oauth2/SSGOAuth2Issuer.j Ljava/util/List;
      // 3e: invokeinterface java/util/List.stream ()Ljava/util/stream/Stream; 1
      // 43: aload 2
      // 44: invokedynamic test (Lorg/jose4j/jwk/JsonWebKey;)Ljava/util/function/Predicate; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)Z, com/l7tech/server/oauth2/SSGOAuth2Issuer.lambda$refreshIssuerKey$1 (Lorg/jose4j/jwk/JsonWebKey;Lorg/jose4j/jwk/JsonWebKey;)Z, (Lorg/jose4j/jwk/JsonWebKey;)Z ]
      // 49: invokeinterface java/util/stream/Stream.noneMatch (Ljava/util/function/Predicate;)Z 2
      // 4e: ifeq 6a
      // 51: goto 58
      // 54: invokestatic com/l7tech/server/oauth2/SSGOAuth2Issuer.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 57: athrow
      // 58: aload 0
      // 59: getfield com/l7tech/server/oauth2/SSGOAuth2Issuer.j Ljava/util/List;
      // 5c: aload 2
      // 5d: invokeinterface java/util/List.add (Ljava/lang/Object;)Z 2
      // 62: pop
      // 63: goto 6a
      // 66: invokestatic com/l7tech/server/oauth2/SSGOAuth2Issuer.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 69: athrow
      // 6a: getstatic com/l7tech/server/oauth2/SSGOAuth2Issuer.a Ljava/util/logging/Logger;
      // 6d: getstatic java/util/logging/Level.INFO Ljava/util/logging/Level;
      // 70: getstatic com/l7tech/server/oauth2/SSGOAuth2Issuer.t [Ljava/lang/String;
      // 73: bipush 4
      // 74: aaload
      // 75: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 78: aload 0
      // 79: getfield com/l7tech/server/oauth2/SSGOAuth2Issuer.i Ljava/util/List;
      // 7c: invokedynamic accept ()Ljava/util/function/Consumer; bsm=java/lang/invoke/LambdaMetafactory.metafactory (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite; args=[ (Ljava/lang/Object;)V, com/l7tech/server/oauth2/SSGOAuth2Issuer.lambda$refreshIssuerKey$2 (Lcom/l7tech/server/oauth2/OAuth2IssuerListener;)V, (Lcom/l7tech/server/oauth2/OAuth2IssuerListener;)V ]
      // 81: invokeinterface java/util/List.forEach (Ljava/util/function/Consumer;)V 2
      // 86: return
      // try (7 -> 15): 16 java/lang/RuntimeException
      // try (9 -> 37): 38 java/lang/RuntimeException
      // try (18 -> 45): 46 java/lang/RuntimeException
   }

   private SsgKeyEntry f() {
      try {
         return this.g();
      } catch (IOException | FindException | KeyStoreException var2) {
         a.log(Level.WARNING, t[1], ExceptionUtils.getMessageWithCause(var2));
         return this.h();
      }
   }

   private SsgKeyEntry g() throws FindException, IOException, KeyStoreException {
      if (ISSUER_KEY_NAME != null) {
         String[] var1 = new String[]{t[34], ISSUER_KEY_NAME};
         int var2 = ISSUER_KEY_NAME.indexOf(58);

         try {
            if (var2 != -1) {
               var1[0] = ISSUER_KEY_NAME.substring(0, var2);
               var1[1] = ISSUER_KEY_NAME.substring(var2 + 1);
            }
         } catch (FindException var3) {
            throw a(var3);
         }

         return this.e.lookupKeyByKeyAlias(var1[1], Goid.parseGoid(var1[0]));
      } else {
         return this.e.getLatestServerSslInfo();
      }
   }

   private SsgKeyEntry h() {
      try {
         return this.e.getLatestServerSslInfo();
      } catch (IOException var2) {
         throw new RuntimeException(var2);
      }
   }

   private JsonWebKey c(SsgKeyEntry var1) {
      try {
         JsonWebKey var2 = Factory.newJwk(var1.getPublic());
         var2.setKeyId(this.b(var1));
         String[] var4 = t;
         var2.setUse(var4[29]);
         if (var2 instanceof PublicJsonWebKey var3) {
            var3.setCertificateChain(var1.getCertificateChain());
            var3.setX509CertificateSha1Thumbprint(CertUtils.getThumbprintSHA1(var1.getCertificate(), CertUtils.FINGERPRINT_BASE64URL));
         }

         return var2;
      } catch (JoseException | CertificateEncodingException var5) {
         a.log(Level.WARNING, t[17], new Object[]{var1.getAlias(), ExceptionUtils.getMessage(var5)});
         return null;
      }
   }

   private SharedKeyValueStore<String, String> a(SharedKeyValueStoreProviderRegistry var1) {
      SharedKeyValueStoreProvider var2 = var1.getExtension();
      if (var2 == null) {
         String[] var3 = t;
         var2 = var1.getExtension(var3[32]);
      }

      return var2.getKeyValueStore(t[13], new Configuration().set(Param.PERSISTED.name(), Boolean.FALSE.toString()));
   }

   static {
      String[] var5 = new String[36];
      int var3 = 0;
      String var2 = "\u0005\u001b\f\u0001d\u0006|\u0005\u001b\f\u0001d\u0006|\u0005\u001b\f\u0001d\u0006|\u0005\u001b\f\u0001d\u0006|\u0005\u001b\f\u0003NpYN^&\u0016*\\EXX:QlACY\u0011=E?@NN\u0016'\u0016'PR\u0014R5C?P\u0016G\u0001)\u001f`\u0015M]]8\u0016.THWX:QlAD\u001cE<SlQNZP!Z8\u0015xo}t])L\u0005PF]X8?`XYCt_\"SD\u001cX'\u0016\"Z_\u001cP\"W%YJ^]1\u0016%[\u000b_P7^)\u0019\u000bZX:R%[L\u001cE<Sl@XYCtM|H\u0011G\u0000)\u001al'rJHT#W5\u0015d}D ^~\u0015BOB!S>\u0015@YHt_?\u0015YYW&S?]NX\u001f,VDQ\u001f8\u00018PHT\u001f'S>CNN\u001f;W9AC\u000e\u001f=E?@NN\u001f>A8fB[_1D\u0007PR\u0002\\O\tF^^[1U8qE\u0005YD[X:\b]_HA'\fc\u001a\u0003ve\u0001\u0005ex\t\u0000f\bYJOE\u001aW!P\u0018FX[\u000b;W9AC\u000e\u000b&S:Z@YU\u0000Y'PEO.VDQ\u001f8\u00018PHT\u001f'S>CNN\u001f;W9AC\u000e\u001f=E?@NN\u001f!E)Gh]R<SbFBFT)pYN^&\u0016*\\EXX:QlACY\u0011!E)G\u000bG\u0001)\f7\u0004V\u0010\u00117W9FN\u0001JfK\nFX[\u000b;W9AC\u000e\u001fpYN^&\u0016/GN]E=X+\u0015akztP#G\u000bG\u0001)\u001alN\u001aA$VDQ\u001f8\u00018PHT\u001f'S>CNN\u001f;W9AC\u000e\u001f=E?@NN\u001f:W!P.VDQ\u001f8\u00018PHT\u001f'S>CNN\u001f;W9AC\u000e\u001f=E?@NN\u001f!E)Gh]R<SbFBFT=VDQ\u001f8\u00018PHT\u001f'S>CNN\u001f;W9AC\u000e\u001f=E?@NN\u001f!E)Gh]R<SbPSLX&O\u0018\\FYx:e)VDRU'\tSBNB x-XN=VDQ\u001f8\u00018PHT\u001f'S>CNN\u001f;W9AC\u000e\u001f=E?@NN\u001f!E)Gh]R<SbPSLX&O\u0018\\FYx:e)VDRU'0VDQ\u001f8\u00018PHT\u001f'S>CNN\u001f;W9AC\u000e\u001f=E?@NN\u001f>A8fB[_\u0015Z+ZYUE<[\u0003__U\tT^HY\u000bB%XN\nEYSG=R)GbX\u0003PSL\u0003FB[\u0003FB[9pYN^&\u0016>PMNT'^%[L\u001cE<SlrJHT#W5\u0015d}D ^~\u0015BOB!S>\u0015@YHx\u0016/T^OTiM|H\u0003FBX\u0005YD_P8\u0005ex\t\u0000f";
      int var4 = "\u0005\u001b\f\u0001d\u0006|\u0005\u001b\f\u0001d\u0006|\u0005\u001b\f\u0001d\u0006|\u0005\u001b\f\u0001d\u0006|\u0005\u001b\f\u0003NpYN^&\u0016*\\EXX:QlACY\u0011=E?@NN\u0016'\u0016'PR\u0014R5C?P\u0016G\u0001)\u001f`\u0015M]]8\u0016.THWX:QlAD\u001cE<SlQNZP!Z8\u0015xo}t])L\u0005PF]X8?`XYCt_\"SD\u001cX'\u0016\"Z_\u001cP\"W%YJ^]1\u0016%[\u000b_P7^)\u0019\u000bZX:R%[L\u001cE<Sl@XYCtM|H\u0011G\u0000)\u001al'rJHT#W5\u0015d}D ^~\u0015BOB!S>\u0015@YHt_?\u0015YYW&S?]NX\u001f,VDQ\u001f8\u00018PHT\u001f'S>CNN\u001f;W9AC\u000e\u001f=E?@NN\u001f>A8fB[_1D\u0007PR\u0002\\O\tF^^[1U8qE\u0005YD[X:\b]_HA'\fc\u001a\u0003ve\u0001\u0005ex\t\u0000f\bYJOE\u001aW!P\u0018FX[\u000b;W9AC\u000e\u000b&S:Z@YU\u0000Y'PEO.VDQ\u001f8\u00018PHT\u001f'S>CNN\u001f;W9AC\u000e\u001f=E?@NN\u001f!E)Gh]R<SbFBFT)pYN^&\u0016*\\EXX:QlACY\u0011!E)G\u000bG\u0001)\f7\u0004V\u0010\u00117W9FN\u0001JfK\nFX[\u000b;W9AC\u000e\u001fpYN^&\u0016/GN]E=X+\u0015akztP#G\u000bG\u0001)\u001alN\u001aA$VDQ\u001f8\u00018PHT\u001f'S>CNN\u001f;W9AC\u000e\u001f=E?@NN\u001f:W!P.VDQ\u001f8\u00018PHT\u001f'S>CNN\u001f;W9AC\u000e\u001f=E?@NN\u001f!E)Gh]R<SbFBFT=VDQ\u001f8\u00018PHT\u001f'S>CNN\u001f;W9AC\u000e\u001f=E?@NN\u001f!E)Gh]R<SbPSLX&O\u0018\\FYx:e)VDRU'\tSBNB x-XN=VDQ\u001f8\u00018PHT\u001f'S>CNN\u001f;W9AC\u000e\u001f=E?@NN\u001f!E)Gh]R<SbPSLX&O\u0018\\FYx:e)VDRU'0VDQ\u001f8\u00018PHT\u001f'S>CNN\u001f;W9AC\u000e\u001f=E?@NN\u001f>A8fB[_\u0015Z+ZYUE<[\u0003__U\tT^HY\u000bB%XN\nEYSG=R)GbX\u0003PSL\u0003FB[\u0003FB[9pYN^&\u0016>PMNT'^%[L\u001cE<SlrJHT#W5\u0015d}D ^~\u0015BOB!S>\u0015@YHx\u0016/T^OTiM|H\u0003FBX\u0005YD_P8\u0005ex\t\u0000f"
         .length();
      char var1 = ' ';
      int var7 = -1;

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

         while (true) {
            String var9 = a(var10000, b(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var9;
                  if ((var7 += var1) >= var4) {
                     t = var5;
                     String[] var10 = t;
                     CLAIM_JWT_EXP_TIME = t[27];
                     DEFAULT_KEY_STORE_ID = var10[0];
                     USER_CLAIM_ID = var10[6];
                     JWKS_USAGE = var10[28];
                     CLAIM_SESSION_ID = var10[31];
                     s = var10[20];
                     USER_CLAIM_FIRST_NAME = var10[21];
                     USER_CLAIM_EMAIL = var10[2];
                     DEFAULT_JWT_SIGNATURE_ALGORITHM = var10[11];
                     q = var10[14];
                     USER_CLAIM_LAST_NAME = var10[12];
                     CLAIM_AUTH_TIME = var10[25];
                     USER_SUBJECT_DN = var10[7];
                     USER_CLAIM_PROVIDER_ID = var10[26];
                     USER_CLAIM_LOGIN = var10[8];
                     b = var10[16];
                     CLAIM_JWT_ID = var10[24];
                     a = Logger.getLogger(SSGOAuth2Issuer.class.getName());
                     String[] var8 = t;
                     ISSUER_KEY_NAME = SyspropUtil.getProperty(var8[5]);
                     ISSUER_NAME = SyspropUtil.getProperty(var8[18]);
                     JWT_SIGNATURE_ALGORITHM = SyspropUtil.getString(var8[23], var8[33]);
                     return;
                  }

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

                  var2 = "A_HE B8A_HE B8A_HE B8A_HE B8A_HG\n\u0002\u001c\u001fO\u007f\u0013}\u0005\u0007J";
                  var4 = "A_HE B8A_HE B8A_HE B8A_HE B8A_HG\n\u0002\u001c\u001fO\u007f\u0013}\u0005\u0007J".length();
                  var1 = ' ';
                  var7 = -1;
            }

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

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

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

      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 -> 66;
            case 1 -> 92;
            case 2 -> 75;
            case 3 -> 70;
            case 4 -> 35;
            case 5 -> 65;
            default -> 59;
         });
      }

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