package com.l7tech.policy.wsp;

import com.l7tech.util.DomUtils;
import com.l7tech.xml.xpath.XpathExpression;
import java.util.Map;
import java.util.Map.Entry;
import org.w3c.dom.Element;

class af implements TypeMapping {
   private static final String a;
   private final String b;
   private final String c;
   private final String d;
   private static final String[] e;

   af(String var1, String var2, String var3) {
      this.b = var1;
      this.c = var2;
      this.d = var3;
   }

   @Override
   public Class getMappedClass() {
      return XpathExpression.class;
   }

   @Override
   public String getSinceVersion() {
      return null;
   }

   @Override
   public String getExternalName() {
      return this.b;
   }

   @Override
   public Element freeze(WspWriter var1, TypedReference var2, Element var3) {
      try {
         if (var2.target == null) {
            throw new InvalidPolicyTreeException(e[4]);
         }
      } catch (InvalidPolicyTreeException var12) {
         throw a(var12);
      }

      try {
         if (!(var2.target instanceof XpathExpression)) {
            throw new InvalidPolicyTreeException(e[7] + var2.target.getClass());
         }
      } catch (InvalidPolicyTreeException var14) {
         throw a(var14);
      }

      XpathExpression var4 = (XpathExpression)var2.target;

      try {
         if (var4 == null) {
            throw new InvalidPolicyTreeException(e[1]);
         }
      } catch (InvalidPolicyTreeException var13) {
         throw a(var13);
      }

      Map var5 = var4.getNamespaces();
      String var6 = WspConstants.WSP_POLICY_NS;
      String[] var11 = e;
      String var7 = this.a(var11[9], var6, var5);
      String var8 = this.a(this.d, this.c, var5);
      Map var9 = DomUtils.getNamespaceMap(var3);
      Element var10 = DomUtils.createAndAppendElementNS(var3, this.b, this.c, var8);
      var10.setAttribute(var11[2], var11[8]);
      this.a(var10, var5, var9);
      var10.appendChild(DomUtils.createTextNode(var10, var4.getExpression()));
      return var10;
   }

   private String a(String var1, String var2, Map var3) {
      String var4 = var1;
      int var5 = 1;

      while (true) {
         try {
            if (!var3.keySet().contains(var4) || var2.equals(var3.get(var4))) {
               return var4;
            }
         } catch (InvalidPolicyTreeException var6) {
            throw a(var6);
         }

         var4 = var1 + var5++;
      }
   }

   private void a(Element var1, Map var2, Map var3) {
      for (Entry var6 : var2.entrySet()) {
         String var7 = var6.getKey().toString();
         String var8 = var6.getValue().toString();
         if (var7 != null && var8 != null) {
            try {
               if (var7.length() < 1) {
                  continue;
               }
            } catch (InvalidPolicyTreeException var10) {
               throw a(var10);
            }

            try {
               if (var8.equals(var3.get(var7))) {
                  continue;
               }
            } catch (InvalidPolicyTreeException var9) {
               throw a(var9);
            }

            var1.setAttributeNS(DomUtils.XMLNS_NS, e[0] + var6.getKey(), var6.getValue().toString());
         }
      }
   }

   @Override
   public TypedReference thaw(Element param1, WspVisitor param2) throws InvalidPolicyStreamException {
      // $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 1
      // 01: ifnonnull 22
      // 04: new com/l7tech/policy/wsp/InvalidPolicyStreamException
      // 07: dup
      // 08: aload 0
      // 09: getfield com/l7tech/policy/wsp/af.b Ljava/lang/String;
      // 0c: getstatic com/l7tech/policy/wsp/af.e [Ljava/lang/String;
      // 0f: bipush 10
      // 11: aaload
      // 12: swap
      // 13: ldc ")"
      // 15: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 1a: invokespecial com/l7tech/policy/wsp/InvalidPolicyStreamException.<init> (Ljava/lang/String;)V
      // 1d: athrow
      // 1e: invokestatic com/l7tech/policy/wsp/af.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 21: athrow
      // 22: aload 1
      // 23: getstatic com/l7tech/policy/wsp/af.e [Ljava/lang/String;
      // 26: astore 7
      // 28: aload 7
      // 2a: bipush 5
      // 2b: aaload
      // 2c: invokeinterface org/w3c/dom/Element.getAttribute (Ljava/lang/String;)Ljava/lang/String; 2
      // 31: astore 3
      // 32: aload 3
      // 33: ifnull 70
      // 36: aload 3
      // 37: invokevirtual java/lang/String.length ()I
      // 3a: ifle 70
      // 3d: goto 44
      // 40: invokestatic com/l7tech/policy/wsp/af.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 43: athrow
      // 44: getstatic com/l7tech/policy/wsp/af.e [Ljava/lang/String;
      // 47: bipush 6
      // 49: aaload
      // 4a: aload 3
      // 4b: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 4e: ifne 70
      // 51: goto 58
      // 54: invokestatic com/l7tech/policy/wsp/af.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 57: athrow
      // 58: new com/l7tech/policy/wsp/InvalidPolicyStreamException
      // 5b: dup
      // 5c: aload 3
      // 5d: getstatic com/l7tech/policy/wsp/af.e [Ljava/lang/String;
      // 60: bipush 3
      // 61: aaload
      // 62: swap
      // 63: 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" ]
      // 68: invokespecial com/l7tech/policy/wsp/InvalidPolicyStreamException.<init> (Ljava/lang/String;)V
      // 6b: athrow
      // 6c: invokestatic com/l7tech/policy/wsp/af.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6f: athrow
      // 70: aload 1
      // 71: invokestatic com/l7tech/util/DomUtils.getTextValue (Lorg/w3c/dom/Element;)Ljava/lang/String;
      // 74: astore 4
      // 76: aload 1
      // 77: invokestatic com/l7tech/util/DomUtils.getNamespaceMap (Lorg/w3c/dom/Element;)Ljava/util/Map;
      // 7a: astore 5
      // 7c: new com/l7tech/xml/xpath/XpathExpression
      // 7f: dup
      // 80: aload 4
      // 82: aload 5
      // 84: invokespecial com/l7tech/xml/xpath/XpathExpression.<init> (Ljava/lang/String;Ljava/util/Map;)V
      // 87: astore 6
      // 89: new com/l7tech/policy/wsp/TypedReference
      // 8c: dup
      // 8d: ldc com/l7tech/xml/xpath/XpathExpression
      // 8f: aload 6
      // 91: invokespecial com/l7tech/policy/wsp/TypedReference.<init> (Ljava/lang/Class;Ljava/lang/Object;)V
      // 94: areturn
      // try (0 -> 14): 14 com/l7tech/policy/wsp/InvalidPolicyStreamException
      // try (24 -> 29): 30 com/l7tech/policy/wsp/InvalidPolicyStreamException
      // try (26 -> 38): 39 com/l7tech/policy/wsp/InvalidPolicyStreamException
      // try (32 -> 51): 51 com/l7tech/policy/wsp/InvalidPolicyStreamException
   }

   @Override
   public TypeMappingFinder getSubtypeFinder() {
      return null;
   }

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

   static {
      String[] var5 = new String[11];
      int var3 = 0;
      String var2 = "4h\u0018@R\u0010\u0017\u0001l\u0007]HDRl]\u0004OUBp4u\u0006KRY\\#k\u0007\bl\u0015BDIA&\u0019k\u0007[QZZ>q\u0011J\u0001gP?v\u0015IDzG)a\u001dM@^PlA\u001dOMOV8?T/\u0014u\u0015ZIoM<w\u0011]RCZ\"H\u0015^QC[+%\u0017OO\rAlc\u0006KDPPlk\u0001BM\nZ.o\u0011MU\u0007\bl\u0015BDIA,$q\u0000^\u001b\u0005\u001a;r\u0003\u0000V\u0019\u001b#w\u0013\u0001ux\u001a}<M\u0017\u000exp\u000f(\f^@^]a4M\u0017\u0018\u001b\u0004}33\u0014u\u0015ZIoM<w\u0011]RCZ\"H\u0015^QC[+%\u0017OO\rAlc\u0006KDPPlj\u0016DDIAlj\u0012\u000eUSE)%,$q\u0000^\u001b\u0005\u001a;r\u0003\u0000V\u0019\u001b#w\u0013\u0001ux\u001a}<M\u0017\u000exp\u000f(\f^@^]a4M\u0017\u0018\u001b\u0004}3";
      int var4 = "4h\u0018@R\u0010\u0017\u0001l\u0007]HDRl]\u0004OUBp4u\u0006KRY\\#k\u0007\bl\u0015BDIA&\u0019k\u0007[QZZ>q\u0011J\u0001gP?v\u0015IDzG)a\u001dM@^PlA\u001dOMOV8?T/\u0014u\u0015ZIoM<w\u0011]RCZ\"H\u0015^QC[+%\u0017OO\rAlc\u0006KDPPlk\u0001BM\nZ.o\u0011MU\u0007\bl\u0015BDIA,$q\u0000^\u001b\u0005\u001a;r\u0003\u0000V\u0019\u001b#w\u0013\u0001ux\u001a}<M\u0017\u000exp\u000f(\f^@^]a4M\u0017\u0018\u001b\u0004}33\u0014u\u0015ZIoM<w\u0011]RCZ\"H\u0015^QC[+%\u0017OO\rAlc\u0006KDPPlj\u0016DDIAlj\u0012\u000eUSE)%,$q\u0000^\u001b\u0005\u001a;r\u0003\u0000V\u0019\u001b#w\u0013\u0001ux\u001a}<M\u0017\u000exp\u000f(\f^@^]a4M\u0017\u0018\u001b\u0004}3"
         .length();
      char var1 = 6;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 16;
         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) {
                     e = var5;
                     a = e[8];
                     return;
                  }

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

                  var2 = "2\u007f\r1\be\u000eTAM[eT-F\\K\u001c'm\u000eBL\u0003]6\u007f\u0018U\\JS+,\u0018KMNY+x]\u000fM[L o\tNFD\u001c";
                  var4 = "2\u007f\r1\be\u000eTAM[eT-F\\K\u001c'm\u000eBL\u0003]6\u007f\u0018U\\JS+,\u0018KMNY+x]\u000fM[L o\tNFD\u001c".length();
                  var1 = 3;
                  var7 = -1;
            }

            var10000 = 25;
            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] ^ 37);
      }

      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 -> 92;
            case 1 -> 21;
            case 2 -> 100;
            case 3 -> 62;
            case 4 -> 49;
            case 5 -> 58;
            default -> 37;
         });
      }

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