package com.l7tech.security.xml;

import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.MissingRequiredElementException;
import com.l7tech.util.SoapConstants;
import com.l7tech.util.TooManyChildElementsException;
import com.l7tech.xml.InvalidDocumentSignatureException;
import java.security.Key;
import java.security.Provider;
import java.security.ProviderException;
import java.security.SignatureException;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
import java.util.Map;
import java.util.logging.Logger;
import javax.xml.crypto.dsig.Reference;
import javax.xml.crypto.dsig.XMLSignature;
import javax.xml.crypto.dsig.XMLSignatureFactory;
import javax.xml.crypto.dsig.dom.DOMValidateContext;
import org.apache.xml.security.utils.resolver.ResourceResolver;
import org.jetbrains.annotations.NotNull;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.NamedNodeMap;
import org.w3c.dom.Node;
import org.xml.sax.InputSource;

public class SignatureValidityContext {
   private static final Logger a;
   public static final String XML_DSIG_URL;
   public static final String XML_XADES_URL;
   private final Element b;
   private final X509Certificate c;
   private final Key d;
   private final Map<String, Node> e;
   private final Map<String, Element> f;
   private final Map<String, InputSource> g;
   private final XMLSignature h;
   private final DOMValidateContext i;
   private final boolean j;
   private static final String[] k;

   private SignatureValidityContext(SignatureValidityContext.Builder var1) throws SignatureException {
      this.b = var1.a;
      this.c = var1.b;
      this.d = var1.c;
      this.f = var1.e;
      this.e = var1.d;
      this.g = var1.f;
      this.i = new DOMValidateContext(this.d, this.b);
      this.j = var1.h;
      if (var1.g != null) {
         String[] var4 = k;
         this.i.setProperty(var4[34], var1.g);
      }

      try {
         String[] var7 = k;
         this.h = XMLSignatureFactory.getInstance(var7[21], L7XmlDsigProvider.INSTANCE).unmarshalXMLSignature(this.i);
      } catch (Exception var6) {
         Exception var2 = var6;
         ProviderException var3 = (ProviderException)ExceptionUtils.getCauseIfCausedBy(var6, ProviderException.class);

         try {
            if (var3 != null) {
               throw new SignatureException(var2);
            }
         } catch (Exception var5) {
            throw a(var5);
         }

         throw new SignatureException(k[5] + var6.getMessage(), var6);
      }
   }

   public DsigValidity verify() throws SignatureException {
      try {
         DsigUtil.precheckSigElement(this.b, this.d);
         this.i.put(SoapConstants.WSSE_SECURITY_TOKEN_REFERENCE_MAP, this.e);
         this.i.put(SoapConstants.WSSE_ATTACHMENT_REFERENCE_MAP, this.g);
         this.i.setProperty(k[26], Boolean.TRUE);
         if (this.j) {
            return this.b(this.b, this.i);
         }
      } catch (SignatureException var1) {
         throw a(var1);
      }

      return this.a(this.b, this.i);
   }

   private DsigValidity a(Element param1, DOMValidateContext param2) throws SignatureException {
      // $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/security/xml/SignatureValidityContext.f Ljava/util/Map;
      // 04: ifnull 2e
      // 07: aload 0
      // 08: getfield com/l7tech/security/xml/SignatureValidityContext.f Ljava/util/Map;
      // 0b: invokeinterface java/util/Map.isEmpty ()Z 1
      // 10: ifne 2e
      // 13: goto 1a
      // 16: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 19: athrow
      // 1a: aload 0
      // 1b: aload 0
      // 1c: getfield com/l7tech/security/xml/SignatureValidityContext.f Ljava/util/Map;
      // 1f: aload 0
      // 20: getfield com/l7tech/security/xml/SignatureValidityContext.h Ljavax/xml/crypto/dsig/XMLSignature;
      // 23: aload 2
      // 24: invokevirtual com/l7tech/security/xml/SignatureValidityContext.registerKnownElementsOnContext (Ljava/util/Map;Ljavax/xml/crypto/dsig/XMLSignature;Ljavax/xml/crypto/dsig/dom/DOMValidateContext;)V
      // 27: goto 3d
      // 2a: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2d: athrow
      // 2e: aload 0
      // 2f: aload 1
      // 30: invokeinterface org/w3c/dom/Element.getOwnerDocument ()Lorg/w3c/dom/Document; 1
      // 35: aload 0
      // 36: getfield com/l7tech/security/xml/SignatureValidityContext.h Ljavax/xml/crypto/dsig/XMLSignature;
      // 39: aload 2
      // 3a: invokevirtual com/l7tech/security/xml/SignatureValidityContext.a (Lorg/w3c/dom/Document;Ljavax/xml/crypto/dsig/XMLSignature;Ljavax/xml/crypto/dsig/dom/DOMValidateContext;)V
      // 3d: aload 2
      // 3e: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 41: astore 8
      // 43: aload 8
      // 45: bipush 17
      // 47: aaload
      // 48: getstatic java/lang/Boolean.TRUE Ljava/lang/Boolean;
      // 4b: invokevirtual javax/xml/crypto/dsig/dom/DOMValidateContext.setProperty (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
      // 4e: pop
      // 4f: aload 0
      // 50: getfield com/l7tech/security/xml/SignatureValidityContext.h Ljavax/xml/crypto/dsig/XMLSignature;
      // 53: aload 2
      // 54: invokeinterface javax/xml/crypto/dsig/XMLSignature.validate (Ljavax/xml/crypto/dsig/XMLValidateContext;)Z 2
      // 59: istore 4
      // 5b: aload 0
      // 5c: getfield com/l7tech/security/xml/SignatureValidityContext.h Ljavax/xml/crypto/dsig/XMLSignature;
      // 5f: invokeinterface javax/xml/crypto/dsig/XMLSignature.getSignedInfo ()Ljavax/xml/crypto/dsig/SignedInfo; 1
      // 64: invokeinterface javax/xml/crypto/dsig/SignedInfo.getReferences ()Ljava/util/List; 1
      // 69: astore 5
      // 6b: aload 0
      // 6c: getfield com/l7tech/security/xml/SignatureValidityContext.h Ljavax/xml/crypto/dsig/XMLSignature;
      // 6f: invokeinterface javax/xml/crypto/dsig/XMLSignature.getSignatureValue ()Ljavax/xml/crypto/dsig/XMLSignature$SignatureValue; 1
      // 74: aload 2
      // 75: invokeinterface javax/xml/crypto/dsig/XMLSignature$SignatureValue.validate (Ljavax/xml/crypto/dsig/XMLValidateContext;)Z 2
      // 7a: istore 6
      // 7c: aload 0
      // 7d: aload 5
      // 7f: invokevirtual com/l7tech/security/xml/SignatureValidityContext.a (Ljava/util/List;)Ljava/util/ArrayList;
      // 82: astore 7
      // 84: new com/l7tech/security/xml/DsigValidity$Builder
      // 87: dup
      // 88: iload 4
      // 8a: iload 6
      // 8c: invokespecial com/l7tech/security/xml/DsigValidity$Builder.<init> (ZZ)V
      // 8f: aload 5
      // 91: invokevirtual com/l7tech/security/xml/DsigValidity$Builder.referenceList (Ljava/util/List;)Lcom/l7tech/security/xml/DsigValidity$Builder;
      // 94: iload 4
      // 96: ifeq a1
      // 99: aconst_null
      // 9a: goto a7
      // 9d: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a0: athrow
      // a1: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // a4: bipush 45
      // a6: aaload
      // a7: invokevirtual com/l7tech/security/xml/DsigValidity$Builder.signedInfoMessage (Ljava/lang/String;)Lcom/l7tech/security/xml/DsigValidity$Builder;
      // aa: aload 7
      // ac: invokevirtual com/l7tech/security/xml/DsigValidity$Builder.referenceMessageList (Ljava/util/List;)Lcom/l7tech/security/xml/DsigValidity$Builder;
      // af: invokevirtual com/l7tech/security/xml/DsigValidity$Builder.build ()Lcom/l7tech/security/xml/DsigValidity;
      // b2: astore 3
      // b3: goto cd
      // b6: astore 4
      // b8: new com/l7tech/security/xml/DsigValidity$Builder
      // bb: dup
      // bc: bipush 0
      // bd: bipush 0
      // be: invokespecial com/l7tech/security/xml/DsigValidity$Builder.<init> (ZZ)V
      // c1: aload 4
      // c3: invokevirtual javax/xml/crypto/dsig/XMLSignatureException.getMessage ()Ljava/lang/String;
      // c6: invokevirtual com/l7tech/security/xml/DsigValidity$Builder.signedInfoException (Ljava/lang/String;)Lcom/l7tech/security/xml/DsigValidity$Builder;
      // c9: invokevirtual com/l7tech/security/xml/DsigValidity$Builder.build ()Lcom/l7tech/security/xml/DsigValidity;
      // cc: astore 3
      // cd: aload 3
      // ce: areturn
      // try (56 -> 67): 67 javax/xml/crypto/dsig/XMLSignatureException
      // try (3 -> 18): 18 javax/xml/crypto/dsig/XMLSignatureException
      // try (0 -> 7): 8 javax/xml/crypto/dsig/XMLSignatureException
      // try (0 -> 77): 78 javax/xml/crypto/dsig/XMLSignatureException
   }

   private DsigValidity b(Element param1, DOMValidateContext param2) throws SignatureException {
      // $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/security/xml/SignatureValidityContext.f Ljava/util/Map;
      // 004: ifnull 02e
      // 007: aload 0
      // 008: getfield com/l7tech/security/xml/SignatureValidityContext.f Ljava/util/Map;
      // 00b: invokeinterface java/util/Map.isEmpty ()Z 1
      // 010: ifne 02e
      // 013: goto 01a
      // 016: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 019: athrow
      // 01a: aload 0
      // 01b: aload 0
      // 01c: getfield com/l7tech/security/xml/SignatureValidityContext.f Ljava/util/Map;
      // 01f: aload 0
      // 020: getfield com/l7tech/security/xml/SignatureValidityContext.h Ljavax/xml/crypto/dsig/XMLSignature;
      // 023: aload 2
      // 024: invokevirtual com/l7tech/security/xml/SignatureValidityContext.registerKnownElementsOnContext (Ljava/util/Map;Ljavax/xml/crypto/dsig/XMLSignature;Ljavax/xml/crypto/dsig/dom/DOMValidateContext;)V
      // 027: goto 03d
      // 02a: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 02d: athrow
      // 02e: aload 0
      // 02f: aload 1
      // 030: invokeinterface org/w3c/dom/Element.getOwnerDocument ()Lorg/w3c/dom/Document; 1
      // 035: aload 0
      // 036: getfield com/l7tech/security/xml/SignatureValidityContext.h Ljavax/xml/crypto/dsig/XMLSignature;
      // 039: aload 2
      // 03a: invokevirtual com/l7tech/security/xml/SignatureValidityContext.a (Lorg/w3c/dom/Document;Ljavax/xml/crypto/dsig/XMLSignature;Ljavax/xml/crypto/dsig/dom/DOMValidateContext;)V
      // 03d: aload 2
      // 03e: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 041: astore 9
      // 043: aload 9
      // 045: bipush 10
      // 047: aaload
      // 048: getstatic java/lang/Boolean.TRUE Ljava/lang/Boolean;
      // 04b: invokevirtual javax/xml/crypto/dsig/dom/DOMValidateContext.setProperty (Ljava/lang/String;Ljava/lang/Object;)Ljava/lang/Object;
      // 04e: pop
      // 04f: aload 0
      // 050: aload 1
      // 051: aload 0
      // 052: getfield com/l7tech/security/xml/SignatureValidityContext.c Ljava/security/cert/X509Certificate;
      // 055: invokevirtual com/l7tech/security/xml/SignatureValidityContext.isXAdeESBESCertificationFieldsValid (Lorg/w3c/dom/Element;Ljava/security/cert/X509Certificate;)Z
      // 058: istore 4
      // 05a: aload 0
      // 05b: getfield com/l7tech/security/xml/SignatureValidityContext.h Ljavax/xml/crypto/dsig/XMLSignature;
      // 05e: aload 2
      // 05f: invokeinterface javax/xml/crypto/dsig/XMLSignature.validate (Ljavax/xml/crypto/dsig/XMLValidateContext;)Z 2
      // 064: istore 5
      // 066: aload 0
      // 067: getfield com/l7tech/security/xml/SignatureValidityContext.h Ljavax/xml/crypto/dsig/XMLSignature;
      // 06a: invokeinterface javax/xml/crypto/dsig/XMLSignature.getSignedInfo ()Ljavax/xml/crypto/dsig/SignedInfo; 1
      // 06f: invokeinterface javax/xml/crypto/dsig/SignedInfo.getReferences ()Ljava/util/List; 1
      // 074: astore 6
      // 076: aload 0
      // 077: getfield com/l7tech/security/xml/SignatureValidityContext.h Ljavax/xml/crypto/dsig/XMLSignature;
      // 07a: invokeinterface javax/xml/crypto/dsig/XMLSignature.getSignatureValue ()Ljavax/xml/crypto/dsig/XMLSignature$SignatureValue; 1
      // 07f: aload 2
      // 080: invokeinterface javax/xml/crypto/dsig/XMLSignature$SignatureValue.validate (Ljavax/xml/crypto/dsig/XMLValidateContext;)Z 2
      // 085: istore 7
      // 087: aload 0
      // 088: aload 6
      // 08a: invokevirtual com/l7tech/security/xml/SignatureValidityContext.a (Ljava/util/List;)Ljava/util/ArrayList;
      // 08d: astore 8
      // 08f: new com/l7tech/security/xml/DsigValidity$Builder
      // 092: dup
      // 093: iload 5
      // 095: ifeq 0a8
      // 098: iload 4
      // 09a: ifeq 0a8
      // 09d: goto 0a4
      // 0a0: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a3: athrow
      // 0a4: bipush 1
      // 0a5: goto 0a9
      // 0a8: bipush 0
      // 0a9: iload 7
      // 0ab: invokespecial com/l7tech/security/xml/DsigValidity$Builder.<init> (ZZ)V
      // 0ae: aload 6
      // 0b0: invokevirtual com/l7tech/security/xml/DsigValidity$Builder.referenceList (Ljava/util/List;)Lcom/l7tech/security/xml/DsigValidity$Builder;
      // 0b3: iload 5
      // 0b5: ifeq 0c5
      // 0b8: iload 4
      // 0ba: ifeq 0c5
      // 0bd: aconst_null
      // 0be: goto 0cb
      // 0c1: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c4: athrow
      // 0c5: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 0c8: bipush 7
      // 0ca: aaload
      // 0cb: invokevirtual com/l7tech/security/xml/DsigValidity$Builder.signedInfoMessage (Ljava/lang/String;)Lcom/l7tech/security/xml/DsigValidity$Builder;
      // 0ce: aload 8
      // 0d0: invokevirtual com/l7tech/security/xml/DsigValidity$Builder.referenceMessageList (Ljava/util/List;)Lcom/l7tech/security/xml/DsigValidity$Builder;
      // 0d3: invokevirtual com/l7tech/security/xml/DsigValidity$Builder.build ()Lcom/l7tech/security/xml/DsigValidity;
      // 0d6: astore 3
      // 0d7: goto 101
      // 0da: astore 4
      // 0dc: getstatic com/l7tech/security/xml/SignatureValidityContext.a Ljava/util/logging/Logger;
      // 0df: getstatic java/util/logging/Level.SEVERE Ljava/util/logging/Level;
      // 0e2: aload 4
      // 0e4: invokevirtual java/lang/Exception.getMessage ()Ljava/lang/String;
      // 0e7: aload 4
      // 0e9: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 0ec: new com/l7tech/security/xml/DsigValidity$Builder
      // 0ef: dup
      // 0f0: bipush 0
      // 0f1: bipush 0
      // 0f2: invokespecial com/l7tech/security/xml/DsigValidity$Builder.<init> (ZZ)V
      // 0f5: aload 4
      // 0f7: invokevirtual java/lang/Exception.getMessage ()Ljava/lang/String;
      // 0fa: invokevirtual com/l7tech/security/xml/DsigValidity$Builder.signedInfoException (Ljava/lang/String;)Lcom/l7tech/security/xml/DsigValidity$Builder;
      // 0fd: invokevirtual com/l7tech/security/xml/DsigValidity$Builder.build ()Lcom/l7tech/security/xml/DsigValidity;
      // 100: astore 3
      // 101: aload 3
      // 102: areturn
      // try (80 -> 84): 84 javax/xml/crypto/dsig/XMLSignatureException
      // try (62 -> 68): 69 javax/xml/crypto/dsig/XMLSignatureException
      // try (3 -> 18): 18 javax/xml/crypto/dsig/XMLSignatureException
      // try (0 -> 7): 8 javax/xml/crypto/dsig/XMLSignatureException
      // try (0 -> 94): 95 javax/xml/crypto/dsig/XMLSignatureException
      // try (0 -> 94): 95 com/l7tech/xml/InvalidDocumentSignatureException
   }

   private ArrayList<String> a(List<Reference> var1) {
      ArrayList var2 = new ArrayList(var1.size());

      for (Reference var4 : var1) {
         boolean var5;
         try {
            var5 = var4.validate(this.i);
         } catch (Exception var8) {
            Exception var6 = var8;

            try {
               if (var6.getMessage() != null) {
                  var2.add(var6.getMessage());
                  continue;
               }
            } catch (Exception var7) {
               throw a(var7);
            }

            var2.add(var8.getClass().getName());
            continue;
         }

         try {
            if (var5) {
               var2.add(k[43]);
               continue;
            }
         } catch (Exception var9) {
            throw a(var9);
         }

         String var10 = Base64.getEncoder().encodeToString(var4.getCalculatedDigestValue());
         var2.add(k[30] + var10);
      }

      return var2;
   }

   private void a(@NotNull Document param1, @NotNull XMLSignature param2, @NotNull DOMValidateContext param3) throws SignatureException {
      // $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 1
      // 001: ifnonnull 00f
      // 004: bipush 0
      // 005: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (I)V
      // 008: goto 00f
      // 00b: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 00e: athrow
      // 00f: aload 2
      // 010: ifnonnull 01e
      // 013: bipush 1
      // 014: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (I)V
      // 017: goto 01e
      // 01a: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 01d: athrow
      // 01e: aload 3
      // 01f: ifnonnull 02d
      // 022: bipush 2
      // 023: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (I)V
      // 026: goto 02d
      // 029: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 02c: athrow
      // 02d: aload 1
      // 02e: getstatic com/l7tech/util/SoapConstants.DEFAULT_ID_ATTRIBUTE_CONFIG Lcom/l7tech/util/IdAttributeConfig;
      // 031: invokestatic com/l7tech/util/DomUtils.getElementByIdMap (Lorg/w3c/dom/Document;Lcom/l7tech/util/IdAttributeConfig;)Ljava/util/Map;
      // 034: astore 4
      // 036: goto 058
      // 039: astore 5
      // 03b: new java/security/SignatureException
      // 03e: dup
      // 03f: aload 5
      // 041: invokevirtual com/l7tech/util/InvalidDocumentFormatException.getMessage ()Ljava/lang/String;
      // 044: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 047: astore 13
      // 049: aload 13
      // 04b: bipush 12
      // 04d: aaload
      // 04e: swap
      // 04f: 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" ]
      // 054: invokespecial java/security/SignatureException.<init> (Ljava/lang/String;)V
      // 057: athrow
      // 058: aload 2
      // 059: invokeinterface javax/xml/crypto/dsig/XMLSignature.getSignedInfo ()Ljavax/xml/crypto/dsig/SignedInfo; 1
      // 05e: invokeinterface javax/xml/crypto/dsig/SignedInfo.getReferences ()Ljava/util/List; 1
      // 063: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 068: astore 5
      // 06a: aload 5
      // 06c: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 071: ifeq 18a
      // 074: aload 5
      // 076: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 07b: checkcast javax/xml/crypto/dsig/Reference
      // 07e: astore 6
      // 080: aload 6
      // 082: invokestatic com/l7tech/security/xml/DsigUtil.getIdFromReference (Ljavax/xml/crypto/dsig/Reference;)Ljava/lang/String;
      // 085: astore 7
      // 087: aload 4
      // 089: aload 7
      // 08b: invokeinterface java/util/Map.containsKey (Ljava/lang/Object;)Z 2
      // 090: ifeq 187
      // 093: aload 4
      // 095: aload 7
      // 097: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 09c: checkcast org/w3c/dom/Element
      // 09f: astore 8
      // 0a1: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 0a4: bipush 6
      // 0a6: aaload
      // 0a7: aload 8
      // 0a9: invokeinterface org/w3c/dom/Element.getLocalName ()Ljava/lang/String; 1
      // 0ae: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0b1: ifeq 137
      // 0b4: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 0b7: bipush 25
      // 0b9: aaload
      // 0ba: aload 8
      // 0bc: invokeinterface org/w3c/dom/Element.getNamespaceURI ()Ljava/lang/String; 1
      // 0c1: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0c4: ifeq 0f9
      // 0c7: goto 0ce
      // 0ca: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0cd: athrow
      // 0ce: aload 8
      // 0d0: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 0d3: bipush 24
      // 0d5: aaload
      // 0d6: invokeinterface org/w3c/dom/Element.hasAttribute (Ljava/lang/String;)Z 2
      // 0db: ifeq 0f9
      // 0de: goto 0e5
      // 0e1: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e4: athrow
      // 0e5: aload 3
      // 0e6: aload 8
      // 0e8: aconst_null
      // 0e9: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 0ec: bipush 42
      // 0ee: aaload
      // 0ef: invokevirtual javax/xml/crypto/dsig/dom/DOMValidateContext.setIdAttributeNS (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)V
      // 0f2: goto 06a
      // 0f5: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0f8: athrow
      // 0f9: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 0fc: bipush 31
      // 0fe: aaload
      // 0ff: aload 8
      // 101: invokeinterface org/w3c/dom/Element.getNamespaceURI ()Ljava/lang/String; 1
      // 106: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 109: ifeq 137
      // 10c: aload 8
      // 10e: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 111: bipush 37
      // 113: aaload
      // 114: invokeinterface org/w3c/dom/Element.hasAttribute (Ljava/lang/String;)Z 2
      // 119: ifeq 137
      // 11c: goto 123
      // 11f: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 122: athrow
      // 123: aload 3
      // 124: aload 8
      // 126: aconst_null
      // 127: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 12a: bipush 23
      // 12c: aaload
      // 12d: invokevirtual javax/xml/crypto/dsig/dom/DOMValidateContext.setIdAttributeNS (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)V
      // 130: goto 06a
      // 133: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 136: athrow
      // 137: getstatic com/l7tech/util/SoapConstants.NOSAML_ID_ATTRIBUTE_QNAMES Ljava/util/Set;
      // 13a: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 13f: astore 9
      // 141: aload 9
      // 143: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 148: ifeq 187
      // 14b: aload 9
      // 14d: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 152: checkcast com/l7tech/util/FullQName
      // 155: astore 10
      // 157: aload 10
      // 159: invokevirtual com/l7tech/util/FullQName.getNsUri ()Ljava/lang/String;
      // 15c: astore 11
      // 15e: aload 10
      // 160: invokevirtual com/l7tech/util/FullQName.getLocal ()Ljava/lang/String;
      // 163: astore 12
      // 165: aload 8
      // 167: aload 11
      // 169: aload 12
      // 16b: invokeinterface org/w3c/dom/Element.hasAttributeNS (Ljava/lang/String;Ljava/lang/String;)Z 3
      // 170: ifeq 184
      // 173: aload 3
      // 174: aload 8
      // 176: aload 11
      // 178: aload 12
      // 17a: invokevirtual javax/xml/crypto/dsig/dom/DOMValidateContext.setIdAttributeNS (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)V
      // 17d: goto 187
      // 180: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 183: athrow
      // 184: goto 141
      // 187: goto 06a
      // 18a: return
      // try (14 -> 18): 19 com/l7tech/util/InvalidDocumentFormatException
      // try (7 -> 11): 12 com/l7tech/util/InvalidDocumentFormatException
      // try (0 -> 4): 5 com/l7tech/util/InvalidDocumentFormatException
      // try (21 -> 25): 26 com/l7tech/util/InvalidDocumentFormatException
      // try (64 -> 78): 79 com/l7tech/util/InvalidDocumentFormatException
      // try (71 -> 87): 88 com/l7tech/util/InvalidDocumentFormatException
      // try (81 -> 98): 98 com/l7tech/util/InvalidDocumentFormatException
      // try (100 -> 113): 114 com/l7tech/util/InvalidDocumentFormatException
      // try (107 -> 124): 124 com/l7tech/util/InvalidDocumentFormatException
      // try (142 -> 153): 153 com/l7tech/util/InvalidDocumentFormatException
   }

   protected boolean isXAdeESBESCertificationFieldsValid(Element param1, X509Certificate param2) throws InvalidDocumentSignatureException {
      // $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 2
      // 01: invokevirtual java/security/cert/X509Certificate.getIssuerX500Principal ()Ljavax/security/auth/x500/X500Principal;
      // 04: invokevirtual javax/security/auth/x500/X500Principal.getName ()Ljava/lang/String;
      // 07: astore 3
      // 08: aload 2
      // 09: invokevirtual java/security/cert/X509Certificate.getSerialNumber ()Ljava/math/BigInteger;
      // 0c: invokevirtual java/math/BigInteger.toString ()Ljava/lang/String;
      // 0f: astore 4
      // 11: aload 1
      // 12: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 15: bipush 38
      // 17: aaload
      // 18: invokeinterface org/w3c/dom/Element.getElementsByTagName (Ljava/lang/String;)Lorg/w3c/dom/NodeList; 2
      // 1d: invokeinterface org/w3c/dom/NodeList.getLength ()I 1
      // 22: ifne 37
      // 25: new com/l7tech/xml/InvalidDocumentSignatureException
      // 28: dup
      // 29: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 2c: bipush 35
      // 2e: aaload
      // 2f: invokespecial com/l7tech/xml/InvalidDocumentSignatureException.<init> (Ljava/lang/String;)V
      // 32: athrow
      // 33: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 36: athrow
      // 37: aload 1
      // 38: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 3b: astore 8
      // 3d: aload 8
      // 3f: bipush 36
      // 41: aaload
      // 42: invokeinterface org/w3c/dom/Element.getElementsByTagName (Ljava/lang/String;)Lorg/w3c/dom/NodeList; 2
      // 47: bipush 0
      // 48: invokeinterface org/w3c/dom/NodeList.item (I)Lorg/w3c/dom/Node; 2
      // 4d: checkcast org/w3c/dom/Element
      // 50: astore 5
      // 52: aload 5
      // 54: aload 8
      // 56: bipush 47
      // 58: aaload
      // 59: aload 8
      // 5b: bipush 22
      // 5d: aaload
      // 5e: invokestatic com/l7tech/util/DomUtils.findExactlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 61: invokeinterface org/w3c/dom/Element.getTextContent ()Ljava/lang/String; 1
      // 66: astore 6
      // 68: aload 5
      // 6a: aload 8
      // 6c: bipush 11
      // 6e: aaload
      // 6f: aload 8
      // 71: bipush 14
      // 73: aaload
      // 74: invokestatic com/l7tech/util/DomUtils.findExactlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 77: aload 8
      // 79: bipush 39
      // 7b: aaload
      // 7c: invokeinterface org/w3c/dom/Element.getAttribute (Ljava/lang/String;)Ljava/lang/String; 2
      // 81: astore 7
      // 83: aconst_null
      // 84: aload 6
      // 86: if_acmpeq a4
      // 89: aload 6
      // 8b: invokestatic java/util/Base64.getEncoder ()Ljava/util/Base64$Encoder;
      // 8e: aload 2
      // 8f: aload 7
      // 91: invokestatic com/l7tech/security/xml/DsigUtil.calculateCertificateShaDigest (Ljava/security/cert/X509Certificate;Ljava/lang/String;)[B
      // 94: invokevirtual java/util/Base64$Encoder.encodeToString ([B)Ljava/lang/String;
      // 97: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 9a: ifne b5
      // 9d: goto a4
      // a0: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a3: athrow
      // a4: new com/l7tech/xml/InvalidDocumentSignatureException
      // a7: dup
      // a8: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // ab: bipush 0
      // ac: aaload
      // ad: invokespecial com/l7tech/xml/InvalidDocumentSignatureException.<init> (Ljava/lang/String;)V
      // b0: athrow
      // b1: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // b4: athrow
      // b5: aload 0
      // b6: aload 1
      // b7: aload 4
      // b9: aload 3
      // ba: invokevirtual com/l7tech/security/xml/SignatureValidityContext.a (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Z
      // bd: ireturn
      // be: astore 5
      // c0: getstatic com/l7tech/security/xml/SignatureValidityContext.a Ljava/util/logging/Logger;
      // c3: getstatic java/util/logging/Level.SEVERE Ljava/util/logging/Level;
      // c6: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // c9: bipush 20
      // cb: aaload
      // cc: aload 5
      // ce: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // d1: bipush 0
      // d2: ireturn
      // try (61 -> 79): 79 java/lang/NullPointerException
      // try (58 -> 69): 70 java/lang/NullPointerException
      // try (8 -> 22): 22 java/lang/NullPointerException
      // try (8 -> 86): 87 java/lang/NullPointerException
      // try (8 -> 86): 87 com/l7tech/util/TooManyChildElementsException
      // try (8 -> 86): 87 com/l7tech/util/MissingRequiredElementException
   }

   private boolean a(Element param1, String param2, String param3) throws TooManyChildElementsException, MissingRequiredElementException, InvalidDocumentSignatureException {
      // $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 1
      // 001: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 004: astore 12
      // 006: aload 12
      // 008: bipush 3
      // 009: aaload
      // 00a: invokeinterface org/w3c/dom/Element.getElementsByTagName (Ljava/lang/String;)Lorg/w3c/dom/NodeList; 2
      // 00f: bipush 0
      // 010: invokeinterface org/w3c/dom/NodeList.item (I)Lorg/w3c/dom/Node; 2
      // 015: astore 4
      // 017: aload 4
      // 019: checkcast org/w3c/dom/Element
      // 01c: aload 12
      // 01e: bipush 32
      // 020: aaload
      // 021: aload 12
      // 023: bipush 15
      // 025: aaload
      // 026: invokestatic com/l7tech/util/DomUtils.findExactlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 029: astore 5
      // 02b: aload 5
      // 02d: aload 12
      // 02f: bipush 11
      // 031: aaload
      // 032: aload 12
      // 034: bipush 33
      // 036: aaload
      // 037: invokestatic com/l7tech/util/DomUtils.findExactlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 03a: invokeinterface org/w3c/dom/Element.getTextContent ()Ljava/lang/String; 1
      // 03f: astore 6
      // 041: aload 5
      // 043: aload 12
      // 045: bipush 11
      // 047: aaload
      // 048: aload 12
      // 04a: bipush 13
      // 04c: aaload
      // 04d: invokestatic com/l7tech/util/DomUtils.findExactlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 050: invokeinterface org/w3c/dom/Element.getTextContent ()Ljava/lang/String; 1
      // 055: astore 7
      // 057: aload 1
      // 058: aload 12
      // 05a: bipush 11
      // 05c: aaload
      // 05d: aload 12
      // 05f: bipush 16
      // 061: aaload
      // 062: invokeinterface org/w3c/dom/Element.getElementsByTagNameNS (Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/NodeList; 3
      // 067: bipush 0
      // 068: invokeinterface org/w3c/dom/NodeList.item (I)Lorg/w3c/dom/Node; 2
      // 06d: astore 8
      // 06f: aload 8
      // 071: aload 12
      // 073: bipush 11
      // 075: aaload
      // 076: aload 12
      // 078: bipush 46
      // 07a: aaload
      // 07b: invokestatic com/l7tech/util/DomUtils.findFirstChildElementByName (Lorg/w3c/dom/Node;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 07e: astore 9
      // 080: aconst_null
      // 081: astore 10
      // 083: aconst_null
      // 084: astore 11
      // 086: aconst_null
      // 087: aload 9
      // 089: if_acmpeq 0b8
      // 08c: aload 9
      // 08e: aload 12
      // 090: bipush 11
      // 092: aaload
      // 093: aload 12
      // 095: bipush 29
      // 097: aaload
      // 098: invokestatic com/l7tech/util/DomUtils.findExactlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 09b: invokeinterface org/w3c/dom/Element.getTextContent ()Ljava/lang/String; 1
      // 0a0: astore 10
      // 0a2: aload 9
      // 0a4: aload 12
      // 0a6: bipush 11
      // 0a8: aaload
      // 0a9: aload 12
      // 0ab: bipush 44
      // 0ad: aaload
      // 0ae: invokestatic com/l7tech/util/DomUtils.findExactlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 0b1: invokeinterface org/w3c/dom/Element.getTextContent ()Ljava/lang/String; 1
      // 0b6: astore 11
      // 0b8: aconst_null
      // 0b9: aload 7
      // 0bb: if_acmpeq 0eb
      // 0be: aload 7
      // 0c0: aload 2
      // 0c1: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0c4: ifeq 0eb
      // 0c7: goto 0ce
      // 0ca: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0cd: athrow
      // 0ce: aconst_null
      // 0cf: aload 11
      // 0d1: if_acmpeq 0fc
      // 0d4: goto 0db
      // 0d7: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0da: athrow
      // 0db: aload 11
      // 0dd: aload 3
      // 0de: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0e1: ifne 0fc
      // 0e4: goto 0eb
      // 0e7: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ea: athrow
      // 0eb: new com/l7tech/xml/InvalidDocumentSignatureException
      // 0ee: dup
      // 0ef: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 0f2: bipush 1
      // 0f3: aaload
      // 0f4: invokespecial com/l7tech/xml/InvalidDocumentSignatureException.<init> (Ljava/lang/String;)V
      // 0f7: athrow
      // 0f8: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0fb: athrow
      // 0fc: aconst_null
      // 0fd: aload 6
      // 0ff: if_acmpeq 12f
      // 102: aload 6
      // 104: aload 3
      // 105: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 108: ifeq 12f
      // 10b: goto 112
      // 10e: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 111: athrow
      // 112: aconst_null
      // 113: aload 10
      // 115: if_acmpeq 141
      // 118: goto 11f
      // 11b: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11e: athrow
      // 11f: aload 10
      // 121: aload 3
      // 122: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 125: ifne 141
      // 128: goto 12f
      // 12b: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 12e: athrow
      // 12f: new com/l7tech/xml/InvalidDocumentSignatureException
      // 132: dup
      // 133: getstatic com/l7tech/security/xml/SignatureValidityContext.k [Ljava/lang/String;
      // 136: bipush 18
      // 138: aaload
      // 139: invokespecial com/l7tech/xml/InvalidDocumentSignatureException.<init> (Ljava/lang/String;)V
      // 13c: athrow
      // 13d: invokestatic com/l7tech/security/xml/SignatureValidityContext.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 140: athrow
      // 141: bipush 1
      // 142: ireturn
      // try (87 -> 94): 95 com/l7tech/util/TooManyChildElementsException
      // try (90 -> 100): 101 com/l7tech/util/TooManyChildElementsException
      // try (97 -> 107): 108 com/l7tech/util/TooManyChildElementsException
      // try (103 -> 117): 117 com/l7tech/util/TooManyChildElementsException
      // try (119 -> 126): 127 com/l7tech/util/TooManyChildElementsException
      // try (122 -> 132): 133 com/l7tech/util/TooManyChildElementsException
      // try (129 -> 139): 140 com/l7tech/util/TooManyChildElementsException
      // try (135 -> 149): 149 com/l7tech/util/TooManyChildElementsException
   }

   protected void registerKnownElementsOnContext(@NotNull Map<String, Element> var1, @NotNull XMLSignature var2, @NotNull DOMValidateContext var3) {
      try {
         if (var1 == null) {
            a(3);
         }
      } catch (ProviderException var16) {
         throw a(var16);
      }

      try {
         if (var2 == null) {
            a(4);
         }
      } catch (ProviderException var12) {
         throw a(var12);
      }

      try {
         if (var3 == null) {
            a(5);
         }
      } catch (ProviderException var15) {
         throw a(var15);
      }

      label67:
      for (Reference var5 : var2.getSignedInfo().getReferences()) {
         String var6 = DsigUtil.getIdFromReference(var5);
         if (var1.containsKey(var6)) {
            Element var7 = (Element)var1.get(var6);
            NamedNodeMap var8 = var7.getAttributes();
            int var9 = 0;

            while (true) {
               try {
                  if (var9 >= var8.getLength()) {
                     continue label67;
                  }

                  if (var6.equals(var8.item(var9).getNodeValue())) {
                     break;
                  }
               } catch (ProviderException var13) {
                  throw a(var13);
               }

               var9++;
            }

            String var10 = var8.item(var9).getNodeName();
            String var11 = var8.item(var9).getPrefix();

            label64: {
               try {
                  if (var11 == null || var11.isEmpty()) {
                     break label64;
                  }
               } catch (ProviderException var14) {
                  throw a(var14);
               }

               var10 = var10.substring(var10.indexOf(":") + 1);
            }

            var3.setIdAttributeNS(var7, var8.item(var9).getNamespaceURI(), var10);
         }
      }
   }

   public List<Reference> getSignatureReferences() {
      return this.h.getSignedInfo().getReferences();
   }

   static {
      String[] var5 = new String[48];
      int var3 = 0;
      String var2 = "\u000e{Y9)$M\u000e\u007f_(`&M\n{X9`&K\bmEj4bI\fjH%`+JMFj)\u0005\u0011\t/[xm3+C\u0003\u007f_82'\u0004\u001b{Y$&+G\fjB\".K\u000e{Y9)$M\u000e\u007f_(`+W\u001ekN?`,Q\u0000|N?`&K\bmEj4bI\fjH%`+JMFj)\u0005\u0011\t/[xm3+C\u0003\u007f_82'\u0004\u001b{Y$&+G\fjB\".\u000f\u001b\u007fG$$#P\b]D#4'\\\u0019\u0004.{Y9\u001e\u001f{L$36A\u001fUE\"7,a\u0001{F(.6W\"ph\".6A\u0015j\u001f(lY\"2bQ\u0003sJ?3*E\u0001rB#'bW\u0004yE,47V\b$\u000b\t,mX(26M\u0002p\u001a>wL#!6Q\u001f{},,7AMsB>-#P\u000evN)n\t\u001ewL#!6Q\u001f{\u0019\u001f{L$36A\u001f[G(-'J\u0019md#\u0003-J\u0019{S9$\u0007\u007f],8l\\\u0000r\u0005.2;T\u0019q\u0005)3+CC}J.('v\bxN?%,G\b\"\u0005j_=zm\u000b\u001ai\\c7q\n\u0002lLbrr\u0014]1\u001bto:I\u0001zX$'a\u001b(lY\"2bR\blB+9+J\n>X$',E\u0019kY(zb\u00105+\u001bt\u0013'V\u0004\u007fG\u00035/F\bl\f)wL(36i\bjC\"$\f$mX8%0w\blB,,\u0007&{R\u0004.$K$\u0007\u007f],8l\\\u0000r\u0005.2;T\u0019q\u0005)3+CC}J.('v\bxN?%,G\bR\u000e{Y9)$M\u000e\u007f_(`+W\u001ekN?`1A\u001fwJ!`,Q\u0000|N?`&K\bmEj4bI\fjH%`+JMFj)\u0005\u0011\t/[xm3+C\u0003\u007f_82'\u0004\u001b{Y$&+G\fjB\".\f\brN %,P\u001e\\R\u0004$O\u001dlD;)&AMhJ!)&\u0004\u000e{Y9)$M\u000e\u007f_(`&A\u0019\u007fB!3bP\u0002>](2+B\u0014>s\f$\u0007w@\\n\u001e`$K\u001fsJ9`\u0011M\npJ950AM[G(-'J\u0019>\u0003)Qf\u000b)wL(36r\fr^(\u0002$Z\u000b,mX(26M\u0002pb\t%\u0018lEw/#W\u0004m\u0011#!/A\u001e$_.z\u0011e R\u0011|nr\u001e\fmX(26M\u0002p!\u0002lLc*!TCfF!n&W\u0004y\u0005>%!Q\u001f{},,+@\fjB\".0\u000eqFb,uP\b}Cb3'G\u0018lB99m\\\u0000r\u0004\u001e)%J\fj^?%\u0014E\u0001wO$4;g\u0002p_(86>,lL8-'J\u0019>M\"2bd#q_\u00035.HMnJ?!/A\u0019{YmggWJ>D+`gWC;Xm-7W\u0019>E\"4bF\b>E8,.\u000e5+\u001bt\t1W\u0018{Y\u0003!/A#)wL(36\u0004\u001b\u007fG8%bI\u0004mF,4!LW>H,,!Q\u0001\u007f_($x\u0004%\u0018lEw/#W\u0004m\u0011#!/A\u001e$_.z\u0011e R\u0011\u007fnr\u001e\fmX(26M\u0002p!\u0005j_=zm\u000b\u0018lBc%6W\u00040D?'m\u0014\\'\u001b~o4\u0015C*\u0005|c\u000e5+\u001bt\t1W\u0018{Y\u0003!/A/\u0002lLc*!TCfF!n&W\u0004y\u0005$.6A\u001fpJ!n&K\u00000x$',E\u0019kY(\u00100K\u001bwO(2G>wL#),C.{Y9)$M\u000e\u007f_(`'H\bsN#4bJ\u0002j\u000b+/7J\t>B#`\u0011M\npJ950AM[G(-'J\u0019>M\"2b|,zn\u001em\u0000a>\n.{Y9\u0004+C\bm_\u0002$Z\u0012>wL#),C.{Y9)$M\u000e\u007f_(\t,rL\"2+P\u0005s!\u0005j_=zm\u000b\u0018lBc%6W\u00040D?'m\u0014\\'\u001b~o4\u0015C*\u0005|c\b\tqH8-'J\u0019\u000b,mX(26M\u0002pb\t\u0003\"u\u0005\u00105+\u001bt\u0013'V\u0004\u007fG\u00035/F\bl\u001a>wL#!6Q\u001f{},,7AMsB>-#P\u000evN)n";
      int var4 = "\u000e{Y9)$M\u000e\u007f_(`&M\n{X9`&K\bmEj4bI\fjH%`+JMFj)\u0005\u0011\t/[xm3+C\u0003\u007f_82'\u0004\u001b{Y$&+G\fjB\".K\u000e{Y9)$M\u000e\u007f_(`+W\u001ekN?`,Q\u0000|N?`&K\bmEj4bI\fjH%`+JMFj)\u0005\u0011\t/[xm3+C\u0003\u007f_82'\u0004\u001b{Y$&+G\fjB\".\u000f\u001b\u007fG$$#P\b]D#4'\\\u0019\u0004.{Y9\u001e\u001f{L$36A\u001fUE\"7,a\u0001{F(.6W\"ph\".6A\u0015j\u001f(lY\"2bQ\u0003sJ?3*E\u0001rB#'bW\u0004yE,47V\b$\u000b\t,mX(26M\u0002p\u001a>wL#!6Q\u001f{},,7AMsB>-#P\u000evN)n\t\u001ewL#!6Q\u001f{\u0019\u001f{L$36A\u001f[G(-'J\u0019md#\u0003-J\u0019{S9$\u0007\u007f],8l\\\u0000r\u0005.2;T\u0019q\u0005)3+CC}J.('v\bxN?%,G\b\"\u0005j_=zm\u000b\u001ai\\c7q\n\u0002lLbrr\u0014]1\u001bto:I\u0001zX$'a\u001b(lY\"2bR\blB+9+J\n>X$',E\u0019kY(zb\u00105+\u001bt\u0013'V\u0004\u007fG\u00035/F\bl\f)wL(36i\bjC\"$\f$mX8%0w\blB,,\u0007&{R\u0004.$K$\u0007\u007f],8l\\\u0000r\u0005.2;T\u0019q\u0005)3+CC}J.('v\bxN?%,G\bR\u000e{Y9)$M\u000e\u007f_(`+W\u001ekN?`1A\u001fwJ!`,Q\u0000|N?`&K\bmEj4bI\fjH%`+JMFj)\u0005\u0011\t/[xm3+C\u0003\u007f_82'\u0004\u001b{Y$&+G\fjB\".\f\brN %,P\u001e\\R\u0004$O\u001dlD;)&AMhJ!)&\u0004\u000e{Y9)$M\u000e\u007f_(`&A\u0019\u007fB!3bP\u0002>](2+B\u0014>s\f$\u0007w@\\n\u001e`$K\u001fsJ9`\u0011M\npJ950AM[G(-'J\u0019>\u0003)Qf\u000b)wL(36r\fr^(\u0002$Z\u000b,mX(26M\u0002pb\t%\u0018lEw/#W\u0004m\u0011#!/A\u001e$_.z\u0011e R\u0011|nr\u001e\fmX(26M\u0002p!\u0002lLc*!TCfF!n&W\u0004y\u0005>%!Q\u001f{},,+@\fjB\".0\u000eqFb,uP\b}Cb3'G\u0018lB99m\\\u0000r\u0004\u001e)%J\fj^?%\u0014E\u0001wO$4;g\u0002p_(86>,lL8-'J\u0019>M\"2bd#q_\u00035.HMnJ?!/A\u0019{YmggWJ>D+`gWC;Xm-7W\u0019>E\"4bF\b>E8,.\u000e5+\u001bt\t1W\u0018{Y\u0003!/A#)wL(36\u0004\u001b\u007fG8%bI\u0004mF,4!LW>H,,!Q\u0001\u007f_($x\u0004%\u0018lEw/#W\u0004m\u0011#!/A\u001e$_.z\u0011e R\u0011\u007fnr\u001e\fmX(26M\u0002p!\u0005j_=zm\u000b\u0018lBc%6W\u00040D?'m\u0014\\'\u001b~o4\u0015C*\u0005|c\u000e5+\u001bt\t1W\u0018{Y\u0003!/A/\u0002lLc*!TCfF!n&W\u0004y\u0005$.6A\u001fpJ!n&K\u00000x$',E\u0019kY(\u00100K\u001bwO(2G>wL#),C.{Y9)$M\u000e\u007f_(`'H\bsN#4bJ\u0002j\u000b+/7J\t>B#`\u0011M\npJ950AM[G(-'J\u0019>M\"2b|,zn\u001em\u0000a>\n.{Y9\u0004+C\bm_\u0002$Z\u0012>wL#),C.{Y9)$M\u000e\u007f_(\t,rL\"2+P\u0005s!\u0005j_=zm\u000b\u0018lBc%6W\u00040D?'m\u0014\\'\u001b~o4\u0015C*\u0005|c\b\tqH8-'J\u0019\u000b,mX(26M\u0002pb\t\u0003\"u\u0005\u00105+\u001bt\u0013'V\u0004\u007fG\u00035/F\bl\u001a>wL#!6Q\u001f{},,7AMsB>-#P\u000evN)n"
         .length();
      char var1 = 'D';
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 55;
         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) {
                     k = var5;
                     String[] var9 = k;
                     XML_DSIG_URL = k[11];
                     XML_XADES_URL = var9[40];
                     a = Logger.getLogger(SignatureValidityContext.class.getName());
                     ResourceResolver.register(new ResolverAttachment(), true);
                     return;
                  }

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

                  var2 = "\t@u\u0015\b\u001dZ%Ao\u0001\u0001\"(Gr\u0010W@&7DqN\u001a\\'/AaO__9p\u001c6YB\u0017d,Wu\t\nL";
                  var4 = "\t@u\u0015\b\u001dZ%Ao\u0001\u0001\"(Gr\u0010W@&7DqN\u001a\\'/AaO__9p\u001c6YB\u0017d,Wu\t\nL".length();
                  var1 = '\f';
                  var7 = -1;
            }

            var10000 = 26;
            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] ^ 19);
      }

      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 -> 90;
            case 1 -> 41;
            case 2 -> 28;
            case 3 -> 122;
            case 4 -> 119;
            case 5 -> 117;
            default -> 19;
         });
      }

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

   public static class Builder {
      private final Element a;
      private final X509Certificate b;
      private final Key c;
      private Map<String, Node> d;
      private Map<String, Element> e;
      private Map<String, InputSource> f;
      private Provider g;
      private boolean h;
      private static final String[] i;

      public Builder(@NotNull Element var1, @NotNull Key var2) {
         if (var1 == null) {
            a(0);
         }

         if (var2 == null) {
            a(1);
         }

         super();
         this.a = var1;
         this.b = null;
         this.c = var2;
      }

      public Builder(@NotNull Element var1, @NotNull X509Certificate var2, boolean var3) {
         if (var1 == null) {
            a(2);
         }

         if (var2 == null) {
            a(3);
         }

         super();
         this.a = var1;
         this.b = var2;
         this.c = var2.getPublicKey();
         this.h = var3;
      }

      public SignatureValidityContext.Builder usesSTRMapping(@NotNull Map<String, Node> var1) {
         try {
            if (var1 == null) {
               a(4);
            }
         } catch (IllegalArgumentException var2) {
            throw a(var2);
         }

         this.d = var1;
         return this;
      }

      public SignatureValidityContext.Builder usesElementIdMapping(@NotNull Map<String, Element> var1) {
         try {
            if (var1 == null) {
               a(5);
            }
         } catch (IllegalArgumentException var2) {
            throw a(var2);
         }

         this.e = var1;
         return this;
      }

      public SignatureValidityContext.Builder usesAttachmentEntityMap(@NotNull Map<String, InputSource> var1) {
         try {
            if (var1 == null) {
               a(6);
            }
         } catch (IllegalArgumentException var2) {
            throw a(var2);
         }

         this.f = var1;
         return this;
      }

      public SignatureValidityContext.Builder useSignatureProvider(@NotNull Provider var1) {
         try {
            if (var1 == null) {
               a(7);
            }
         } catch (IllegalArgumentException var2) {
            throw a(var2);
         }

         this.g = var1;
         return this;
      }

      public SignatureValidityContext.Builder isXAdESEnabled(boolean var1) {
         this.h = var1;
         return this;
      }

      public SignatureValidityContext build() throws SignatureException {
         return new SignatureValidityContext(this);
      }

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

      static {
         String[] var5 = new String[14];
         int var3 = 0;
         String var2 = "\u001c:^o\u0011\u0019d\u0004,Uh\u001d\u0011L\b9Ku:\u0012\u000e\u001c:^o\u0007!S$(Kl=\u001bf\n\u001a \\r=\u001bf\",B\u0017\u001c:^o\u0015\u0001u\b*Sq1\u001bu,'Ou \fL\b9\u000f\f%^q1\u001bu\u001a\u000bBU08`\u0019\u0013\b=O}7\u001dl\f'OY:\u0001h\u001d0v}$\t\u001a \\r5\u0001t\u001b,\u0014\u001c:^O=\u0012o\b=Nn1%s\u0006?Rx1\u0007\u0006U Uu K>(;\\i9\u0010o\u001di]s&UA'&OR!\u0019mI9Zn5\u0018d\u001d,I<sPrNiTztPrGlH<9\u0000r\u001diUs Uc\fiUi8\u0019\u000b\u001a \\r=\u001bf*,Ih8\n&V38Bu\f*S3'\u0010b\u001c;Rh-Zy\u0004%\u0014O=\u0012o\b=Nn1#`\u0005 _u \fB\u0006'Oy,\u0001%+<Rp0\u0010s";
         int var4 = "\u001c:^o\u0011\u0019d\u0004,Uh\u001d\u0011L\b9Ku:\u0012\u000e\u001c:^o\u0007!S$(Kl=\u001bf\n\u001a \\r=\u001bf\",B\u0017\u001c:^o\u0015\u0001u\b*Sq1\u001bu,'Ou \fL\b9\u000f\f%^q1\u001bu\u001a\u000bBU08`\u0019\u0013\b=O}7\u001dl\f'OY:\u0001h\u001d0v}$\t\u001a \\r5\u0001t\u001b,\u0014\u001c:^O=\u0012o\b=Nn1%s\u0006?Rx1\u0007\u0006U Uu K>(;\\i9\u0010o\u001di]s&UA'&OR!\u0019mI9Zn5\u0018d\u001d,I<sPrNiTztPrGlH<9\u0000r\u001diUs Uc\fiUi8\u0019\u000b\u001a \\r=\u001bf*,Ih8\n&V38Bu\f*S3'\u0010b\u001c;Rh-Zy\u0004%\u0014O=\u0012o\b=Nn1#`\u0005 _u \fB\u0006'Oy,\u0001%+<Rp0\u0010s"
            .length();
         char var1 = 20;
         int var7 = -1;

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

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

                     var2 = "Uo\u0013=zN;Tc$!tL'Bc\u0006\rUr\u0006\u0007tn!Mc\u001a\u001ezJ";
                     var4 = "Uo\u0013=zN;Tc$!tL'Bc\u0006\rUr\u0006\u0007tn!Mc\u001a\u001ezJ".length();
                     var1 = 17;
                     var7 = -1;
               }

               var10000 = 21;
               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] ^ 91);
         }

         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 -> 51;
               case 1 -> 19;
               case 2 -> 97;
               case 3 -> 70;
               case 4 -> 14;
               case 5 -> 47;
               default -> 91;
            });
         }

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