package com.l7tech.security.xml;

import java.util.Collections;
import java.util.List;
import java.util.Optional;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.xml.crypto.dsig.Reference;
import org.jetbrains.annotations.NotNull;

public class DsigValidity {
   private static final Logger a;
   private final boolean b;
   private final boolean c;
   private final List<Reference> d;
   private final String e;
   private final String f;
   private final List<String> g;
   private static final String[] h;

   private DsigValidity(DsigValidity.Builder var1) {
      this.b = var1.a;
      this.c = var1.b;
      this.d = var1.c;
      this.e = var1.d;
      this.f = var1.e;
      this.g = var1.f;
   }

   public Boolean getCoreValidity() {
      return this.b;
   }

   public Boolean getSignedInfoValidity() {
      return this.c;
   }

   public int getNumberOfReferences() {
      return this.d.size();
   }

   @NotNull
   public List<Reference> getReferences() {
      try {
         List var10000 = Collections.unmodifiableList(this.d);
         if (var10000 == null) {
            a(0);
         }

         return var10000;
      } catch (IllegalStateException var1) {
         throw a(var1);
      }
   }

   public Optional<List<String>> getReferenceMessages() {
      return Optional.of(Collections.unmodifiableList(this.g));
   }

   public Optional<String> getSignedInfoMessage() {
      return Optional.ofNullable(this.e);
   }

   public String getInvalidSignatureMessage() {
      try {
         if (this.b) {
            throw new IllegalStateException(h[0]);
         }
      } catch (IllegalStateException var8) {
         throw a(var8);
      }

      String[] var3 = h;
      StringBuilder var1 = new StringBuilder(var3[5]);

      try {
         if (null != this.e) {
            var1.append(" ").append(this.e);
         }
      } catch (IllegalStateException var7) {
         throw a(var7);
      }

      try {
         if (a.isLoggable(Level.FINE)) {
            var1.append(" ").append(this.f);
         }
      } catch (IllegalStateException var4) {
         throw a(var4);
      }

      try {
         if (this.d == null || this.g == null) {
            return var1.toString();
         }
      } catch (IllegalStateException var6) {
         throw a(var6);
      }

      int var2 = 0;

      try {
         while (var2 < this.d.size()) {
            var1.append(h[1]).append(this.d.get(var2).getURI()).append(h[3]).append(this.g.get(var2));
            var2++;
         }
      } catch (IllegalStateException var5) {
         throw a(var5);
      }

      return var1.toString();
   }

   static {
      String[] var5 = new String[7];
      int var3 = 0;
      String var2 = "U\u001fW\u00045S\u0019x\u0018\u0013M\bL\u001fz\u0010\u0003\u0018)@X}\u0002W\u001f>T\r}\u0003\u0012\tu\n\u001ex2\u0001>H\u001dz\u0005W*T?\u0018\u0019\u0015P\u0014xQ\u001a\b/M\u0017pQR\u001eu\u0000\u000b4\u001c\u0002\u001e/\u0005\u0016{\u0005W\u001f>Q\rf\u001fW\u0003.I\u0014\u0002.Q$w\u001e\u001aB7\u0012\fq\u0012\u001fB(@\u001ba\u0003\u001e\u0019\"\n\u0000y\u001dX)(L\u001fB\u0010\u001b\u0004?L\fm";
      int var4 = "U\u001fW\u00045S\u0019x\u0018\u0013M\bL\u001fz\u0010\u0003\u0018)@X}\u0002W\u001f>T\r}\u0003\u0012\tu\n\u001ex2\u0001>H\u001dz\u0005W*T?\u0018\u0019\u0015P\u0014xQ\u001a\b/M\u0017pQR\u001eu\u0000\u000b4\u001c\u0002\u001e/\u0005\u0016{\u0005W\u001f>Q\rf\u001fW\u0003.I\u0014\u0002.Q$w\u001e\u001aB7\u0012\fq\u0012\u001fB(@\u001ba\u0003\u001e\u0019\"\n\u0000y\u001dX)(L\u001fB\u0010\u001b\u0004?L\fm"
         .length();
      char var1 = '!';
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 66;
         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) {
                     h = var5;
                     a = Logger.getLogger(DsigValidity.class.getName());
                     return;
                  }

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

                  var2 = "=bjy@+w\u001cn-yN+\"\u0018ja~Eq\r\tnyED9g\u001cnctD,";
                  var4 = "=bjy@+w\u001cn-yN+\"\u0018ja~Eq\r\tnyED9g\u001cnctD,".length();
                  var1 = 20;
                  var7 = -1;
            }

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

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

   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 -> 86;
            case 1 -> 51;
            case 2 -> 53;
            case 3 -> 47;
            case 4 -> 25;
            case 5 -> 103;
            default -> 58;
         });
      }

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

   public static class Builder {
      private final boolean a;
      private final boolean b;
      private List<Reference> c;
      private String d;
      private String e;
      private List<String> f;
      private static final String[] g;

      public Builder(boolean var1, boolean var2) {
         this.a = var1;
         this.b = var2;
      }

      public DsigValidity.Builder referenceList(@NotNull List<Reference> var1) {
         try {
            if (var1 == null) {
               a(0);
            }
         } catch (IllegalArgumentException var2) {
            throw a(var2);
         }

         this.c = var1;
         return this;
      }

      public DsigValidity.Builder signedInfoMessage(String var1) {
         this.d = var1;
         return this;
      }

      public DsigValidity.Builder signedInfoException(String var1) {
         this.e = var1;
         return this;
      }

      public DsigValidity.Builder referenceMessageList(@NotNull List<String> var1) {
         try {
            if (var1 == null) {
               a(1);
            }
         } catch (IllegalArgumentException var2) {
            throw a(var2);
         }

         this.f = var1;
         return this;
      }

      public DsigValidity build() {
         return new DsigValidity(this);
      }

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

      static {
         String[] var5 = new String[6];
         int var3 = 0;
         String var2 = "8\u001e:qcs$)\u001e\u0011qbe+-\u001e\u0010}bb>\u000b\t;a|s$>[:{c6\n\u0004\u0014(Zdz&j\u000b=fp{/>\u001e.4639m[3r139d^/4|c9>[2{e6(/[2a}z\r8\u001e:qcs$)\u001e\u0010}bb\r8\u001e:qcs$)\u001e\u0010}bb";
         int var4 = "8\u001e:qcs$)\u001e\u0011qbe+-\u001e\u0010}bb>\u000b\t;a|s$>[:{c6\n\u0004\u0014(Zdz&j\u000b=fp{/>\u001e.4639m[3r139d^/4|c9>[2{e6(/[2a}z\r8\u001e:qcs$)\u001e\u0010}bb\r8\u001e:qcs$)\u001e\u0010}bb"
            .length();
         char var1 = 20;
         int var7 = -1;

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

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

                     var2 = "]`EO\tUJ[l@O\u0016\u0007]K}A\u0014\u001cMFSc\u0007$\u0016\u000bYhnD\t\u0001\u000bJG+j\u0015\f\u000eZ[}\u0014LjN\u0005\u0017\u0007P]je\u0005\u0016\u0011_Yjd\t\u0016\u0016";
                     var4 = "]`EO\tUJ[l@O\u0016\u0007]K}A\u0014\u001cMFSc\u0007$\u0016\u000bYhnD\t\u0001\u000bJG+j\u0015\f\u000eZ[}\u0014LjN\u0005\u0017\u0007P]je\u0005\u0016\u0011_Yjd\t\u0016\u0016"
                        .length();
                     var1 = ',';
                     var7 = -1;
               }

               var10000 = 95;
               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] ^ 97);
         }

         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 -> 80;
               case 2 -> 119;
               case 3 -> 63;
               case 4 -> 58;
               case 5 -> 61;
               default -> 97;
            });
         }

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