package com.l7tech.server.security.keystore.generic;

import com.l7tech.objectmodel.Goid;
import com.l7tech.security.prov.JceProvider;
import com.l7tech.server.security.keystore.JdkKeyStoreBackedSsgKeyStore;
import com.l7tech.server.security.keystore.KeyAccessFilter;
import com.l7tech.server.security.keystore.SsgKeyFinder;
import com.l7tech.server.security.keystore.SsgKeyMetadataManager;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.NotFuture;
import com.l7tech.util.Functions.UnaryVoid;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.UnrecoverableKeyException;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.Callable;
import java.util.concurrent.Future;
import java.util.concurrent.atomic.AtomicReference;
import java.util.logging.Level;
import java.util.logging.Logger;

public class GenericSsgKeyStore extends JdkKeyStoreBackedSsgKeyStore {
   public static final String PROP_KEYSTORE_TYPE;
   public static final String DEFAULT_KEYSTORE_TYPE;
   public static final String PROP_LOAD_PATH;
   public static final String DEFAULT_LOAD_PATH;
   public static final String PROP_STORE_PATH;
   public static final String DEFAULT_STORE_PATH;
   public static final String PROP_KEYSTORE_PASSWORD;
   public static final String DEFAULT_KEYSTORE_PASSWORD;
   public static final String PROP_ENTRY_PASSWORD;
   public static final String DEFAULT_ENTRY_PASSWORD;
   public static final String PROP_READ_ONLY;
   public static final boolean DEFAULT_READ_ONLY = false;
   public static final String PROP_STORE_AFTER_CHANGE;
   public static final boolean DEFAULT_STORE_AFTER_CHANGE = true;
   public static final String PROP_SAVE_FILE_SAFELY;
   public static final boolean DEFAULT_SAVE_FILE_SAFELY = true;
   public static final String PROP_RELOAD_AFTER_STORE;
   public static final boolean DEFAULT_RELOAD_AFTER_STORE = false;
   private static Logger i;
   private final Goid j;
   private final SsgKeyFinder.SsgKeyStoreType k;
   private final String l;
   private final String m;
   private final String n;
   private final String o;
   private final char[] p;
   private final char[] q;
   private final boolean r;
   private final boolean s;
   private final boolean t;
   private final boolean u;
   private final AtomicReference<KeyStore> v = new AtomicReference<>();
   private static final String[] w;

   public GenericSsgKeyStore(Goid var1, SsgKeyFinder.SsgKeyStoreType var2, String var3, char[] var4, KeyAccessFilter var5, SsgKeyMetadataManager var6) throws KeyStoreException {
      super(var5, var6);
      this.j = var1;
      this.k = var2;
      this.l = var3;
      String[] var8 = w;
      this.p = a(var8[10], var8[29], var4);
      this.q = a(var8[21], var8[29], this.p);
      this.m = ConfigFactory.getProperty(var8[16], var8[27]);
      this.n = ConfigFactory.getProperty(var8[9], var8[24]);
      String var7 = ConfigFactory.getProperty(var8[35], var8[29]);
      if (var8[29].equalsIgnoreCase(var7)) {
         var7 = this.n;
      }

      this.o = var7;
      var8 = w;
      this.r = ConfigFactory.getBooleanProperty(var8[2], false);
      this.s = ConfigFactory.getBooleanProperty(var8[18], true);
      this.t = ConfigFactory.getBooleanProperty(var8[4], true);
      this.u = ConfigFactory.getBooleanProperty(var8[26], false);
      i.info(var8[15] + this.m + var8[23] + this.n);
   }

   private static KeyStore a(String var0, boolean var1, String var2, char[] var3) throws KeyStoreException {
      KeyStore var4 = JceProvider.getInstance().getKeyStore(var0);

      try {
         a(var2, var1, new a(var4, var3));
         return var4;
      } catch (IOException var6) {
         throw new KeyStoreException(var6);
      } catch (RuntimeException var7) {
         throw new KeyStoreException(var7);
      }
   }

   private static void a(String param0, boolean param1, UnaryVoid<InputStream> param2) throws IOException {
      // $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: getstatic com/l7tech/server/security/keystore/generic/GenericSsgKeyStore.w [Ljava/lang/String;
      // 03: bipush 24
      // 05: aaload
      // 06: aload 0
      // 07: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 0a: ifne 20
      // 0d: getstatic com/l7tech/server/security/keystore/generic/GenericSsgKeyStore.w [Ljava/lang/String;
      // 10: bipush 3
      // 11: aaload
      // 12: aload 0
      // 13: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 16: ifeq 34
      // 19: goto 20
      // 1c: invokestatic com/l7tech/server/security/keystore/generic/GenericSsgKeyStore.b (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1f: athrow
      // 20: aload 2
      // 21: new com/l7tech/common/io/EmptyInputStream
      // 24: dup
      // 25: invokespecial com/l7tech/common/io/EmptyInputStream.<init> ()V
      // 28: invokeinterface com/l7tech/util/Functions$UnaryVoid.call (Ljava/lang/Object;)V 2
      // 2d: goto 86
      // 30: invokestatic com/l7tech/server/security/keystore/generic/GenericSsgKeyStore.b (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 33: athrow
      // 34: getstatic com/l7tech/server/security/keystore/generic/GenericSsgKeyStore.w [Ljava/lang/String;
      // 37: bipush 13
      // 39: aaload
      // 3a: aload 0
      // 3b: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 3e: ifeq 4f
      // 41: aload 2
      // 42: aconst_null
      // 43: invokeinterface com/l7tech/util/Functions$UnaryVoid.call (Ljava/lang/Object;)V 2
      // 48: goto 86
      // 4b: invokestatic com/l7tech/server/security/keystore/generic/GenericSsgKeyStore.b (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4e: athrow
      // 4f: iload 1
      // 50: ifeq 64
      // 53: aload 2
      // 54: aload 0
      // 55: invokestatic com/l7tech/util/FileUtils.loadFileSafely (Ljava/lang/String;)Lcom/l7tech/util/FileUtils$LastModifiedFileInputStream;
      // 58: invokeinterface com/l7tech/util/Functions$UnaryVoid.call (Ljava/lang/Object;)V 2
      // 5d: goto 86
      // 60: invokestatic com/l7tech/server/security/keystore/generic/GenericSsgKeyStore.b (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 63: athrow
      // 64: aconst_null
      // 65: astore 3
      // 66: new java/io/FileInputStream
      // 69: dup
      // 6a: aload 0
      // 6b: invokespecial java/io/FileInputStream.<init> (Ljava/lang/String;)V
      // 6e: astore 3
      // 6f: aload 2
      // 70: aload 3
      // 71: invokeinterface com/l7tech/util/Functions$UnaryVoid.call (Ljava/lang/Object;)V 2
      // 76: aload 3
      // 77: invokestatic com/l7tech/util/ResourceUtils.closeQuietly (Ljava/io/Closeable;)V
      // 7a: goto 86
      // 7d: astore 4
      // 7f: aload 3
      // 80: invokestatic com/l7tech/util/ResourceUtils.closeQuietly (Ljava/io/Closeable;)V
      // 83: aload 4
      // 85: athrow
      // 86: return
      // try (35 -> 42): 42 java/io/IOException
      // try (23 -> 33): 33 java/io/IOException
      // try (6 -> 21): 21 java/io/IOException
      // try (0 -> 12): 13 java/io/IOException
      // try (46 -> 54): 57 null
      // try (57 -> 58): 57 null
   }

   private static void a(KeyStore var0, boolean var1, String var2, char[] var3) throws KeyStoreException {
      try {
         b(var2, var1, new b(var0, var3));
      } catch (RuntimeException var6) {
         String var10002 = ExceptionUtils.getMessage(var6);
         String[] var5 = w;
         throw new KeyStoreException(var5[25] + var10002, var6);
      } catch (IOException var7) {
         throw new KeyStoreException(w[37] + ExceptionUtils.getMessage(var7), var7);
      }
   }

   private static void b(String param0, boolean param1, UnaryVoid<OutputStream> param2) throws IOException {
      // $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: getstatic com/l7tech/server/security/keystore/generic/GenericSsgKeyStore.w [Ljava/lang/String;
      // 03: bipush 40
      // 05: aaload
      // 06: aload 0
      // 07: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 0a: ifne 20
      // 0d: getstatic com/l7tech/server/security/keystore/generic/GenericSsgKeyStore.w [Ljava/lang/String;
      // 10: bipush 3
      // 11: aaload
      // 12: aload 0
      // 13: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 16: ifeq 34
      // 19: goto 20
      // 1c: invokestatic com/l7tech/server/security/keystore/generic/GenericSsgKeyStore.b (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1f: athrow
      // 20: aload 2
      // 21: new com/l7tech/common/io/NullOutputStream
      // 24: dup
      // 25: invokespecial com/l7tech/common/io/NullOutputStream.<init> ()V
      // 28: invokeinterface com/l7tech/util/Functions$UnaryVoid.call (Ljava/lang/Object;)V 2
      // 2d: goto 88
      // 30: invokestatic com/l7tech/server/security/keystore/generic/GenericSsgKeyStore.b (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 33: athrow
      // 34: getstatic com/l7tech/server/security/keystore/generic/GenericSsgKeyStore.w [Ljava/lang/String;
      // 37: bipush 13
      // 39: aaload
      // 3a: aload 0
      // 3b: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 3e: ifeq 4f
      // 41: aload 2
      // 42: aconst_null
      // 43: invokeinterface com/l7tech/util/Functions$UnaryVoid.call (Ljava/lang/Object;)V 2
      // 48: goto 88
      // 4b: invokestatic com/l7tech/server/security/keystore/generic/GenericSsgKeyStore.b (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4e: athrow
      // 4f: iload 1
      // 50: ifeq 66
      // 53: aload 0
      // 54: new com/l7tech/server/security/keystore/generic/c
      // 57: dup
      // 58: aload 2
      // 59: invokespecial com/l7tech/server/security/keystore/generic/c.<init> (Lcom/l7tech/util/Functions$UnaryVoid;)V
      // 5c: invokestatic com/l7tech/util/FileUtils.saveFileSafely (Ljava/lang/String;Lcom/l7tech/util/FileUtils$Saver;)V
      // 5f: goto 88
      // 62: invokestatic com/l7tech/server/security/keystore/generic/GenericSsgKeyStore.b (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 65: athrow
      // 66: aconst_null
      // 67: astore 3
      // 68: new java/io/FileOutputStream
      // 6b: dup
      // 6c: aload 0
      // 6d: invokespecial java/io/FileOutputStream.<init> (Ljava/lang/String;)V
      // 70: astore 3
      // 71: aload 2
      // 72: aload 3
      // 73: invokeinterface com/l7tech/util/Functions$UnaryVoid.call (Ljava/lang/Object;)V 2
      // 78: aload 3
      // 79: invokestatic com/l7tech/util/ResourceUtils.closeQuietly (Ljava/io/Closeable;)V
      // 7c: goto 88
      // 7f: astore 4
      // 81: aload 3
      // 82: invokestatic com/l7tech/util/ResourceUtils.closeQuietly (Ljava/io/Closeable;)V
      // 85: aload 4
      // 87: athrow
      // 88: return
      // try (35 -> 44): 44 java/io/IOException
      // try (23 -> 33): 33 java/io/IOException
      // try (6 -> 21): 21 java/io/IOException
      // try (0 -> 12): 13 java/io/IOException
      // try (48 -> 56): 59 null
      // try (59 -> 60): 59 null
   }

   private static char[] a(String var0, String var1, char[] var2) {
      String var3 = ConfigFactory.getProperty(var0, var1);

      try {
         if (w[11].equals(var3)) {
            return null;
         }
      } catch (RuntimeException var6) {
         throw b(var6);
      }

      try {
         if (w[19].equals(var3)) {
            return var2;
         }
      } catch (RuntimeException var4) {
         throw b(var4);
      }

      try {
         if (w[33].equals(var3)) {
            return new char[0];
         }
      } catch (RuntimeException var5) {
         throw b(var5);
      }

      return var3.toCharArray();
   }

   @Override
   protected KeyStore keyStore() throws KeyStoreException {
      KeyStore var1 = this.v.get();
      if (var1 == null) {
         synchronized (this.v) {
            if (this.v.get() == null) {
               var1 = a(this.m, this.s, this.n, this.p);
               this.v.set(var1);
            }
         }
      }

      return var1;
   }

   @Override
   protected String getFormat() {
      return w[31];
   }

   @Override
   protected Logger getLogger() {
      return i;
   }

   @Override
   public List<String> getAliases() throws KeyStoreException {
      List var1 = super.getAliases();
      ArrayList var2 = new ArrayList();
      KeyStore var3 = this.keyStore();

      for (String var5 : var1) {
         try {
            if (null == var3.getKey(var5, this.getEntryPassword())) {
               i.log(Level.FINE, w[7] + var5);
               continue;
            }
         } catch (NoSuchAlgorithmException var10) {
            Logger var15 = i;
            Level var17 = Level.INFO;
            String var19 = ExceptionUtils.getMessage(var10);
            String[] var13 = w;
            var15.log(var17, var13[36] + var5 + var13[6] + var19, ExceptionUtils.getDebugException(var10));
         } catch (UnrecoverableKeyException var11) {
            Logger var10000 = i;
            Level var10001 = Level.INFO;
            String var10003 = ExceptionUtils.getMessage(var11);
            String[] var7 = w;
            var10000.log(var10001, var7[28] + var5 + var7[34] + var10003, ExceptionUtils.getDebugException(var11));
         } catch (KeyStoreException var12) {
            throw b(var12);
         }

         try {
            if (null == var3.getCertificateChain(var5)) {
               i.log(Level.FINE, w[32] + var5);
               continue;
            }
         } catch (KeyStoreException var8) {
            Logger var16 = i;
            Level var18 = Level.WARNING;
            String var20 = ExceptionUtils.getMessage(var8);
            String[] var14 = w;
            var16.log(var18, var14[17] + var5 + var14[34] + var20, var8);
         } catch (NoSuchAlgorithmException var9) {
            throw b(var9);
         }

         var2.add(var5);
      }

      return var2;
   }

   @Override
   protected char[] getEntryPassword() {
      return this.q;
   }

   @Override
   protected <OUT> Future<OUT> mutateKeystore(boolean var1, Runnable var2, Callable<OUT> var3) throws KeyStoreException {
      synchronized (this.v) {
         if (this.r) {
            throw new KeyStoreException(w[14]);
         }

         try {
            if (var2 != null) {
               var2.run();
            }
         } catch (Exception var10) {
            throw b(var10);
         }

         Object var5;
         try {
            var5 = var3.call();
         } catch (Exception var9) {
            return new NotFuture(var9);
         }

         if (this.t) {
            KeyStore var6 = this.keyStore();

            try {
               a(var6, this.s, this.o, this.p);
               if (this.u) {
                  this.v.set(null);
                  this.keyStore();
               }
            } catch (Exception var8) {
               throw b(var8);
            }
         }

         return new NotFuture(var5);
      }
   }

   @Override
   public Goid getGoid() {
      return this.j;
   }

   @Override
   public SsgKeyFinder.SsgKeyStoreType getType() {
      return this.k;
   }

   public String getName() {
      return this.l + " " + this.m;
   }

   @Override
   public boolean isKeyExportSupported() {
      return false;
   }

   static {
      String[] var5 = new String[41];
      int var3 = 0;
      String var2 = "GqNo_\u0002yA}KoXPtWjL3V\u001b\u007fArL WtkP{Q\u0012GZ\u007fA\u001cGqNo_\u0002yA}KoXPtWjL3V\u001b}EmP6\\Gi\u001cGqNo_\u0002yA}KoXPtWjL3V\u001b\u007fA\u007fG\u000e]Yt\u0005aSs\u0015j$GqNo_\u0002yA}KoXPtWjL3V\u001b~PqQ$rSyAl`)R[jA\u0006tU`\u0012\u0002\u0004\n\u001f>F3AZ\u007f\u0004#\u00038myM.A\\cC>F/GGt\u0004wMaTPcAlJ\"\u0013^h]mW.AP-SwW)\u0013[b\u0004UF8\u001f\u0015lHwB2\u0013\b-\u001dGqNo_\u0002yA}KoXPtWjL3V\u001bhJjQ8cT~W\u0018GqNo_\u0002yA}KoXPtWjL3V\u001b}EjK\u001cGqNo_\u0002yA}KoXPtWjL3V\u001b}EmP6\\Gi\u0004jKo\r\u0018GqNo_\u0002yA}KoXPtWjL3V\u001by]nF\u0004jKo\r\u001bpvJ2\u0013^h]mW.AP-Mm\u00033VTi\tqM-J\u001b\u001dqmJ/T\u0015jApF3ZV-O{Z2GZ\u007fA>W8CP7\u0004\u0018GqNo_\u0002yA}KoXPtWjL3V\u001by]nFKmyM.A\\cC>H$J\u0015hJjQ8\u0013\\c\u0004yF/VGdG>H$JFyKlFaD\\yL>A W\u0015nAlW(U\\nEjFaP]lMp\u000faRYdEm\u0003|\u0013\"GqNo_\u0002yA}KoXPtWjL3V\u001b~EhF\u0007ZYhw\u007fE$_L\u0007`[e\u0000fyY\u001cGqNo_\u0002yA}KoXPtWjL3V\u001b~EhF\u0011RAe\u001dGqNo_\u0002yA}KoXPtWjL3V\u001bhJjQ8cT~W\u001cGqNo_\u0002yA}KoXPtWjL3V\u001b\u007fA\u007fG\u000e]Yt\u000b\u0004iJ5[\u0015}EjKa\u0004jQm\u0004\u001fqpB#_P-Pq\u00032RCh\u0004uF8@AbV{\u0003/RXh@$\u0003$GqNo_\u0002yA}KoXPtWjL3V\u001b\u007fArL WtkP{Q\u0012GZ\u007fA\u0006tU`\u0012\u0002\u00048myM.A\\cC>V/APnKhF3RWaA>H$J\u0015dJ>D$]P\u007fM}\u0003*VL~PqQ$\u001f\u0015lHwB2\u0013\b-\u0007`[e\u0000fyY$GqNo_\u0002yA}KoXPtWjL3V\u001b~PqQ$rSyAl`)R[jA\u0007C{M$A\\nFmyM.A\\cC>F/GGt\u0004wMaTPcAlJ\"\u0013^h]mW.AP-SwW)\u0013[b\u0004}F3G\\kM}B5V\u0015nL\u007fJ/\u001f\u0015lHwB2\u0013\b-\u0005aSs\u0015j\n\u001f>F3AZ\u007f\u0004#\u0003\u001cGqNo_\u0002yA}KoXPtWjL3V\u001b~EhF\u0011RAeKmyM.A\\cC>H$J\u0015hJjQ8\u0013\\c\u0004yF/VGdG>H$JFyKlFaD\\yL>V/@@}TqQ5VQ-ErD.A\\yLs\u000faRYdEm\u0003|\u0013\u001fqpB#_P-Pq\u00032RCh\u0004uF8@AbV{\u0003/RXh@$\u0003\"GqNo_\u0002yA}KoXPtWjL3V\u001b~EhF\u0007ZYhw\u007fE$_L";
      int var4 = "GqNo_\u0002yA}KoXPtWjL3V\u001b\u007fArL WtkP{Q\u0012GZ\u007fA\u001cGqNo_\u0002yA}KoXPtWjL3V\u001b}EmP6\\Gi\u001cGqNo_\u0002yA}KoXPtWjL3V\u001b\u007fA\u007fG\u000e]Yt\u0005aSs\u0015j$GqNo_\u0002yA}KoXPtWjL3V\u001b~PqQ$rSyAl`)R[jA\u0006tU`\u0012\u0002\u0004\n\u001f>F3AZ\u007f\u0004#\u00038myM.A\\cC>F/GGt\u0004wMaTPcAlJ\"\u0013^h]mW.AP-SwW)\u0013[b\u0004UF8\u001f\u0015lHwB2\u0013\b-\u001dGqNo_\u0002yA}KoXPtWjL3V\u001bhJjQ8cT~W\u0018GqNo_\u0002yA}KoXPtWjL3V\u001b}EjK\u001cGqNo_\u0002yA}KoXPtWjL3V\u001b}EmP6\\Gi\u0004jKo\r\u0018GqNo_\u0002yA}KoXPtWjL3V\u001by]nF\u0004jKo\r\u001bpvJ2\u0013^h]mW.AP-Mm\u00033VTi\tqM-J\u001b\u001dqmJ/T\u0015jApF3ZV-O{Z2GZ\u007fA>W8CP7\u0004\u0018GqNo_\u0002yA}KoXPtWjL3V\u001by]nFKmyM.A\\cC>H$J\u0015hJjQ8\u0013\\c\u0004yF/VGdG>H$JFyKlFaD\\yL>A W\u0015nAlW(U\\nEjFaP]lMp\u000faRYdEm\u0003|\u0013\"GqNo_\u0002yA}KoXPtWjL3V\u001b~EhF\u0007ZYhw\u007fE$_L\u0007`[e\u0000fyY\u001cGqNo_\u0002yA}KoXPtWjL3V\u001b~EhF\u0011RAe\u001dGqNo_\u0002yA}KoXPtWjL3V\u001bhJjQ8cT~W\u001cGqNo_\u0002yA}KoXPtWjL3V\u001b\u007fA\u007fG\u000e]Yt\u000b\u0004iJ5[\u0015}EjKa\u0004jQm\u0004\u001fqpB#_P-Pq\u00032RCh\u0004uF8@AbV{\u0003/RXh@$\u0003$GqNo_\u0002yA}KoXPtWjL3V\u001b\u007fArL WtkP{Q\u0012GZ\u007fA\u0006tU`\u0012\u0002\u00048myM.A\\cC>V/APnKhF3RWaA>H$J\u0015dJ>D$]P\u007fM}\u0003*VL~PqQ$\u001f\u0015lHwB2\u0013\b-\u0007`[e\u0000fyY$GqNo_\u0002yA}KoXPtWjL3V\u001b~PqQ$rSyAl`)R[jA\u0007C{M$A\\nFmyM.A\\cC>F/GGt\u0004wMaTPcAlJ\"\u0013^h]mW.AP-SwW)\u0013[b\u0004}F3G\\kM}B5V\u0015nL\u007fJ/\u001f\u0015lHwB2\u0013\b-\u0005aSs\u0015j\n\u001f>F3AZ\u007f\u0004#\u0003\u001cGqNo_\u0002yA}KoXPtWjL3V\u001b~EhF\u0011RAeKmyM.A\\cC>H$J\u0015hJjQ8\u0013\\c\u0004yF/VGdG>H$JFyKlFaD\\yL>V/@@}TqQ5VQ-ErD.A\\yLs\u000faRYdEm\u0003|\u0013\u001fqpB#_P-Pq\u00032RCh\u0004uF8@AbV{\u0003/RXh@$\u0003\"GqNo_\u0002yA}KoXPtWjL3V\u001b~EhF\u0007ZYhw\u007fE$_L"
         .length();
      char var1 = '$';
      int var7 = -1;

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

         while (true) {
            String var8 = b(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     w = var5;
                     String[] var9 = w;
                     DEFAULT_KEYSTORE_TYPE = w[5];
                     DEFAULT_KEYSTORE_PASSWORD = var9[29];
                     PROP_LOAD_PATH = var9[39];
                     DEFAULT_LOAD_PATH = var9[24];
                     PROP_ENTRY_PASSWORD = var9[8];
                     PROP_STORE_AFTER_CHANGE = var9[30];
                     PROP_KEYSTORE_TYPE = var9[12];
                     PROP_SAVE_FILE_SAFELY = var9[38];
                     PROP_KEYSTORE_PASSWORD = var9[1];
                     PROP_READ_ONLY = var9[22];
                     PROP_RELOAD_AFTER_STORE = var9[0];
                     DEFAULT_ENTRY_PASSWORD = var9[29];
                     PROP_STORE_PATH = var9[20];
                     DEFAULT_STORE_PATH = var9[29];
                     i = Logger.getLogger(GenericSsgKeyStore.class.getName());
                     return;
                  }

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

                  var2 = "\b>\u0001 \u0010M6\u000e2\u0004 \u0017\u001f;\u0018%\u0003|\u0019T2\n%\u0004\u0004%\u001e\"K";
                  var4 = "\b>\u0001 \u0010M6\u000e2\u0004 \u0017\u001f;\u0018%\u0003|\u0019T2\n%\u0004\u0004%\u001e\"K".length();
                  var1 = 24;
                  var7 = -1;
            }

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

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

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

      return var10000;
   }

   private static String b(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 -> 18;
            case 1 -> 40;
            case 2 -> 21;
            case 3 -> 119;
            case 4 -> 5;
            case 5 -> 3;
            default -> 59;
         });
      }

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