package com.l7tech.policy.bundle;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Map.Entry;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;

public class PolicyBundleDryRunResult implements Serializable {
   @NotNull
   private final Map<String, Map<PolicyBundleDryRunResult.DryRunItem, List<String>>> conflictsForItemMap = new HashMap<>();
   @Nullable
   private final Map<String, List<MigrationDryRunResult>> migrationDryRunResultsMap;
   @Nullable
   private final Map<String, String> componentIdToBundleXmlMap;
   static final long serialVersionUID = 5824486367640040221L;
   private static final String[] a;

   public PolicyBundleDryRunResult(
      @NotNull Map<String, Map<PolicyBundleDryRunResult.DryRunItem, List<String>>> var1,
      @Nullable Map<String, List<MigrationDryRunResult>> var2,
      @Nullable Map<String, String> var3
   ) {
      for (Entry var5 : var1.entrySet()) {
         Map var6 = (Map)var5.getValue();
         HashMap var7 = new HashMap();

         for (Entry var9 : var6.entrySet()) {
            var7.put((PolicyBundleDryRunResult.DryRunItem)var9.getKey(), new ArrayList((Collection)var9.getValue()));
         }

         this.conflictsForItemMap.put((String)var5.getKey(), var7);
      }

      this.migrationDryRunResultsMap = var2;
      this.componentIdToBundleXmlMap = var3;
   }

   @NotNull
   public List<MigrationDryRunResult> getMigrationDryRunResults(String var1) {
      try {
         if (this.migrationDryRunResultsMap == null) {
            return new ArrayList<>();
         }
      } catch (IllegalArgumentException var3) {
         throw a(var3);
      }

      try {
         return this.migrationDryRunResultsMap.get(var1);
      } catch (IllegalArgumentException var2) {
         throw a(var2);
      }
   }

   @Nullable
   public Map<String, String> getComponentIdToBundleXmlMap() {
      return this.componentIdToBundleXmlMap;
   }

   public boolean anyConflictsForBundle(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/policy/bundle/PolicyBundleDryRunResult.conflictsForItemMap Ljava/util/Map;
      // 04: aload 1
      // 05: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 0a: checkcast java/util/Map
      // 0d: astore 2
      // 0e: aload 2
      // 0f: ifnull 4d
      // 12: aload 2
      // 13: invokeinterface java/util/Map.entrySet ()Ljava/util/Set; 1
      // 18: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 1d: astore 3
      // 1e: aload 3
      // 1f: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 24: ifeq 4d
      // 27: aload 3
      // 28: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 2d: checkcast java/util/Map$Entry
      // 30: astore 4
      // 32: aload 4
      // 34: invokeinterface java/util/Map$Entry.getValue ()Ljava/lang/Object; 1
      // 39: checkcast java/util/List
      // 3c: invokeinterface java/util/List.isEmpty ()Z 1
      // 41: ifne 4a
      // 44: bipush 1
      // 45: ireturn
      // 46: invokestatic com/l7tech/policy/bundle/PolicyBundleDryRunResult.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 49: athrow
      // 4a: goto 1e
      // 4d: aload 0
      // 4e: getfield com/l7tech/policy/bundle/PolicyBundleDryRunResult.migrationDryRunResultsMap Ljava/util/Map;
      // 51: ifnull 8c
      // 54: aload 0
      // 55: getfield com/l7tech/policy/bundle/PolicyBundleDryRunResult.migrationDryRunResultsMap Ljava/util/Map;
      // 58: aload 1
      // 59: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 5e: ifeq 8c
      // 61: goto 68
      // 64: invokestatic com/l7tech/policy/bundle/PolicyBundleDryRunResult.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 67: athrow
      // 68: aload 0
      // 69: getfield com/l7tech/policy/bundle/PolicyBundleDryRunResult.migrationDryRunResultsMap Ljava/util/Map;
      // 6c: aload 1
      // 6d: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 72: checkcast java/util/List
      // 75: invokeinterface java/util/List.isEmpty ()Z 1
      // 7a: ifne 8c
      // 7d: goto 84
      // 80: invokestatic com/l7tech/policy/bundle/PolicyBundleDryRunResult.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 83: athrow
      // 84: bipush 1
      // 85: goto 8d
      // 88: invokestatic com/l7tech/policy/bundle/PolicyBundleDryRunResult.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 8b: athrow
      // 8c: bipush 0
      // 8d: ireturn
      // try (19 -> 26): 26 java/lang/IllegalArgumentException
      // try (29 -> 37): 38 java/lang/IllegalArgumentException
      // try (32 -> 47): 48 java/lang/IllegalArgumentException
      // try (40 -> 52): 52 java/lang/IllegalArgumentException
   }

   public List<String> getConflictsForItem(String var1, PolicyBundleDryRunResult.DryRunItem var2) throws PolicyBundleDryRunResult.UnknownBundleIdException {
      try {
         if (!this.conflictsForItemMap.containsKey(var1)) {
            throw new PolicyBundleDryRunResult.UnknownBundleIdException(a[0] + var1 + "}");
         }
      } catch (PolicyBundleDryRunResult.UnknownBundleIdException var5) {
         throw a(var5);
      }

      Map var3 = this.conflictsForItemMap.get(var1);

      try {
         if (!var3.containsKey(var2)) {
            return Collections.emptyList();
         }
      } catch (PolicyBundleDryRunResult.UnknownBundleIdException var4) {
         throw a(var4);
      }

      return Collections.unmodifiableList((List<? extends String>)var3.get(var2));
   }

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

   static {
      String[] var5 = new String[8];
      int var3 = 0;
      String var2 = ".{{\u0001\u0004;c[we\u0001\u000f h[|tOH7*;[\u007f\u001b%9a\u00175}\n\u001f$b\u001f55\u001cEi~[xe\u001c\u001flc\u0014a0\u001d\u000e8x\t{0\u0001\u001e a1\u0018z}@\u0007{y\u001evx@\u001b#a\u0012vi@\t9c\u001fyu@;#a\u0012vi-\u001e\"i\u0017pT\u001d\u0012\u001ex\u0015Gu\u001c\u001e y1\u0018z}@\u0007{y\u001evx@\u001b#a\u0012vi@\t9c\u001fyu@;#a\u0012vi-\u001e\"i\u0017pT\u001d\u0012\u001ex\u0015Gu\u001c\u001e y\u0019\u001cpd\"\u0002+\u007f\u001aay\u0000\u0005\b\u007f\u0002Ge\u00019)~\u000eyd\u001c\u0006G|~\u0006\u001fr";
      int var4 = ".{{\u0001\u0004;c[we\u0001\u000f h[|tOH7*;[\u007f\u001b%9a\u00175}\n\u001f$b\u001f55\u001cEi~[xe\u001c\u001flc\u0014a0\u001d\u000e8x\t{0\u0001\u001e a1\u0018z}@\u0007{y\u001evx@\u001b#a\u0012vi@\t9c\u001fyu@;#a\u0012vi-\u001e\"i\u0017pT\u001d\u0012\u001ex\u0015Gu\u001c\u001e y1\u0018z}@\u0007{y\u001evx@\u001b#a\u0012vi@\t9c\u001fyu@;#a\u0012vi-\u001e\"i\u0017pT\u001d\u0012\u001ex\u0015Gu\u001c\u001e y\u0019\u001cpd\"\u0002+\u007f\u001aay\u0000\u0005\b\u007f\u0002Ge\u00019)~\u000eyd\u001c\u0006G|~\u0006\u001fr"
         .length();
      char var1 = 20;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 26;
         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;
                     return;
                  }

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

                  var2 = ".sc\u000e\u0012=w\u001b!b\u0014\rxY!np5\n4uOqe\t\u001e5|\u001bdv[X}jH!k\u001d_}jA$w[\u0012-j\u001b!j\u0014\u000bx{\n!j\u000e\u00134\u0011\rtj\u001f\u0013=M\u0000Bk\u0015\u00194p\fuw";
                  var4 = ".sc\u000e\u0012=w\u001b!b\u0014\rxY!np5\n4uOqe\t\u001e5|\u001bdv[X}jH!k\u001d_}jA$w[\u0012-j\u001b!j\u0014\u000bx{\n!j\u000e\u00134\u0011\rtj\u001f\u0013=M\u0000Bk\u0015\u00194p\fuw"
                     .length();
                  var1 = '>';
                  var7 = -1;
            }

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

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

      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 -> 97;
            case 1 -> 15;
            case 2 -> 10;
            case 3 -> 117;
            case 4 -> 113;
            case 5 -> 86;
            default -> 23;
         });
      }

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

   public enum DryRunItem {
      SERVICES,
      POLICIES,
      CERTIFICATES,
      ENCAPSULATED_ASSERTION,
      JDBC_CONNECTIONS,
      ASSERTIONS;

      // $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[6];
         int var4 = 0;
         String var3 = "oA~$QOvl\f|K`9[@z|Of(A\u0016z@q,BUfsOf(VYrl]w?FO|q\n~]a(@Rzp@a";
         int var5 = "oA~$QOvl\f|K`9[@z|Of(A\u0016z@q,BUfsOf(VYrl]w?FO|q\n~]a(@Rzp@a".length();
         char var2 = '\b';
         int var7 = -1;

         label25:
         while (true) {
            byte var10000 = 53;
            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) {
                        SERVICES = new PolicyBundleDryRunResult.DryRunItem();
                        POLICIES = new PolicyBundleDryRunResult.DryRunItem();
                        CERTIFICATES = new PolicyBundleDryRunResult.DryRunItem();
                        ENCAPSULATED_ASSERTION = new PolicyBundleDryRunResult.DryRunItem();
                        JDBC_CONNECTIONS = new PolicyBundleDryRunResult.DryRunItem();
                        ASSERTIONS = new PolicyBundleDryRunResult.DryRunItem();
                        return;
                     }

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

                     var3 = "rU~%E[hr\u0010kTn0S[bo^i0XQboC";
                     var5 = "rU~%E[hr\u0010kTn0S[bo^i0XQboC".length();
                     var2 = '\b';
                     var7 = -1;
               }

               var10000 = 43;
               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] ^ 6);
         }

         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 -> 10;
               case 1 -> 59;
               case 2 -> 7;
               case 3 -> 88;
               case 4 -> 39;
               case 5 -> 51;
               default -> 6;
            });
         }

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

   public static class UnknownBundleIdException extends Exception {
      static final long serialVersionUID = 8305453886854879443L;

      public UnknownBundleIdException(String var1) {
         super(var1);
      }
   }
}
