package com.l7tech.server.wsdm.method;

import com.l7tech.common.io.XmlUtil;
import com.l7tech.message.Message;
import com.l7tech.objectmodel.Goid;
import com.l7tech.server.wsdm.faults.FaultMappableException;
import com.l7tech.server.wsdm.faults.InvalidWsAddressingHeaderFault;
import com.l7tech.util.DomUtils;
import com.l7tech.util.InvalidDocumentFormatException;
import com.l7tech.util.MissingRequiredElementException;
import com.l7tech.util.SoapConstants;
import com.l7tech.util.TooManyChildElementsException;
import com.l7tech.xml.soap.SoapUtil;
import java.io.IOException;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Iterator;
import java.util.List;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;

public abstract class ESMMethod {
   private final Document a;
   private final Message b;
   private final URL c;
   private final Goid d;
   private String e;
   private Element f;
   private static final String[] o;

   public static ESMMethod resolve(Message var0, Goid var1) throws FaultMappableException, SAXException, IOException {
      ESMMethod var2 = GetMultipleResourceProperties.resolve(var0, var1);
      if (var2 == null) {
         var2 = Renew.resolve(var0, var1);
      }

      if (var2 == null) {
         var2 = Subscribe.resolve(var0, var1);
      }

      if (var2 == null) {
         var2 = Unsubscribe.resolve(var0, var1);
      }

      try {
         if (var2 != null) {
            var2.validateRequest();
         }

         return var2;
      } catch (FaultMappableException var3) {
         throw a(var3);
      }
   }

   protected ESMMethod(Document var1, Message var2, Goid var3) throws MalformedURLException {
      this.a = var1;
      this.b = var2;
      this.d = var3;
      this.c = this.a();
   }

   private URL a() throws MalformedURLException {
      // $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/server/wsdm/method/ESMMethod.b Lcom/l7tech/message/Message;
      // 04: invokevirtual com/l7tech/message/Message.getHttpRequestKnob ()Lcom/l7tech/message/HttpRequestKnob;
      // 07: astore 1
      // 08: new java/lang/StringBuffer
      // 0b: dup
      // 0c: aload 1
      // 0d: invokeinterface com/l7tech/message/HttpRequestKnob.getRequestUrl ()Ljava/lang/String; 1
      // 12: invokespecial java/lang/StringBuffer.<init> (Ljava/lang/String;)V
      // 15: astore 2
      // 16: aload 1
      // 17: invokeinterface com/l7tech/message/HttpRequestKnob.getQueryString ()Ljava/lang/String; 1
      // 1c: astore 3
      // 1d: aload 3
      // 1e: ifnull 41
      // 21: aload 3
      // 22: invokevirtual java/lang/String.length ()I
      // 25: ifle 41
      // 28: goto 2f
      // 2b: invokestatic com/l7tech/server/wsdm/method/ESMMethod.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2e: athrow
      // 2f: aload 2
      // 30: ldc "?"
      // 32: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 35: aload 3
      // 36: invokevirtual java/lang/StringBuffer.append (Ljava/lang/String;)Ljava/lang/StringBuffer;
      // 39: pop
      // 3a: goto 41
      // 3d: invokestatic com/l7tech/server/wsdm/method/ESMMethod.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 40: athrow
      // 41: new java/net/URL
      // 44: dup
      // 45: aload 2
      // 46: invokevirtual java/lang/StringBuffer.toString ()Ljava/lang/String;
      // 49: invokespecial java/net/URL.<init> (Ljava/lang/String;)V
      // 4c: areturn
      // try (13 -> 18): 19 java/net/MalformedURLException
      // try (15 -> 27): 28 java/net/MalformedURLException
   }

   protected void validateRequest() throws FaultMappableException {
      // $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: invokevirtual com/l7tech/server/wsdm/method/ESMMethod.getSoapHeader ()Lorg/w3c/dom/Element;
      // 04: astore 1
      // 05: aload 1
      // 06: getstatic com/l7tech/server/wsdm/method/ESMMethod.o [Ljava/lang/String;
      // 09: astore 3
      // 0a: aload 3
      // 0b: bipush 26
      // 0d: aaload
      // 0e: ldc "*"
      // 10: invokeinterface org/w3c/dom/Element.getElementsByTagNameNS (Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/NodeList; 3
      // 15: astore 2
      // 16: aload 2
      // 17: ifnull 2a
      // 1a: aload 2
      // 1b: invokeinterface org/w3c/dom/NodeList.getLength ()I 1
      // 20: ifne 2f
      // 23: goto 2a
      // 26: invokestatic com/l7tech/server/wsdm/method/ESMMethod.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 29: athrow
      // 2a: return
      // 2b: invokestatic com/l7tech/server/wsdm/method/ESMMethod.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2e: athrow
      // 2f: aload 0
      // 30: aload 1
      // 31: getstatic com/l7tech/server/wsdm/method/ESMMethod.o [Ljava/lang/String;
      // 34: astore 3
      // 35: aload 3
      // 36: bipush 17
      // 38: aaload
      // 39: aload 3
      // 3a: bipush 8
      // 3c: aaload
      // 3d: invokevirtual com/l7tech/server/wsdm/method/ESMMethod.validateNoMoreThanOne (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 40: pop
      // 41: aload 0
      // 42: aload 1
      // 43: aload 3
      // 44: bipush 17
      // 46: aaload
      // 47: aload 3
      // 48: bipush 11
      // 4a: aaload
      // 4b: invokevirtual com/l7tech/server/wsdm/method/ESMMethod.validateNoMoreThanOne (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 4e: pop
      // 4f: aload 0
      // 50: aload 0
      // 51: aload 1
      // 52: aload 3
      // 53: bipush 17
      // 55: aaload
      // 56: aload 3
      // 57: bipush 16
      // 59: aaload
      // 5a: aconst_null
      // 5b: invokevirtual com/l7tech/server/wsdm/method/ESMMethod.validateExactlyOneElement (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;Lcom/l7tech/server/wsdm/faults/InvalidWsAddressingHeaderFault$FaultCode;)Lorg/w3c/dom/Element;
      // 5e: invokestatic com/l7tech/util/DomUtils.getTextValue (Lorg/w3c/dom/Element;)Ljava/lang/String;
      // 61: putfield com/l7tech/server/wsdm/method/ESMMethod.e Ljava/lang/String;
      // 64: aload 0
      // 65: aload 1
      // 66: invokevirtual com/l7tech/server/wsdm/method/ESMMethod.a (Lorg/w3c/dom/Element;)V
      // 69: aload 0
      // 6a: aload 1
      // 6b: invokevirtual com/l7tech/server/wsdm/method/ESMMethod.b (Lorg/w3c/dom/Element;)V
      // 6e: return
      // try (12 -> 17): 18 com/l7tech/server/wsdm/faults/FaultMappableException
      // try (14 -> 21): 21 com/l7tech/server/wsdm/faults/FaultMappableException
   }

   protected final Element validateExactlyOneElement(Element var1, String var2, String var3, InvalidWsAddressingHeaderFault.FaultCode var4) throws InvalidWsAddressingHeaderFault {
      try {
         return DomUtils.findExactlyOneChildElementByName(var1, var2, var3);
      } catch (MissingRequiredElementException var15) {
         String var6 = var1.getLocalName();
         String var7 = var1.getPrefix();
         String var8 = var3;
         String var9 = var2;
         String[] var17 = o;
         throw new InvalidWsAddressingHeaderFault(
            var17[22] + var9 + var17[25] + var8 + var17[28] + var7 + ":" + var6,
            var4 != null ? var4 : InvalidWsAddressingHeaderFault.FaultCode.INVALID_ADDRESSING_HEADER,
            var1
         );
      } catch (TooManyChildElementsException var16) {
         String var10 = var1.getLocalName();
         String var11 = var1.getPrefix();
         String var12 = var3;
         String var13 = var2;
         String[] var14 = o;
         throw new InvalidWsAddressingHeaderFault(
            var14[12] + var13 + var14[2] + var12 + var14[19] + var11 + ":" + var10,
            InvalidWsAddressingHeaderFault.FaultCode.INVALID_CARDINALITY,
            DomUtils.findFirstChildElementByName(var1, var2, var3)
         );
      }
   }

   protected final Element validateNoMoreThanOne(Element var1, String var2, String var3) throws InvalidWsAddressingHeaderFault {
      try {
         return DomUtils.findOnlyOneChildElementByName(var1, var2, var3);
      } catch (TooManyChildElementsException var10) {
         String var5 = var1.getLocalName();
         String var6 = var1.getPrefix();
         String var7 = var3;
         String var8 = var2;
         String[] var9 = o;
         throw new InvalidWsAddressingHeaderFault(
            var9[21] + var8 + var9[2] + var7 + var9[19] + var6 + ":" + var5,
            InvalidWsAddressingHeaderFault.FaultCode.INVALID_CARDINALITY,
            DomUtils.findFirstChildElementByName(var1, var2, var3)
         );
      }
   }

   private void a(Element var1) throws InvalidWsAddressingHeaderFault {
      String[] var5 = o;
      Element var2 = this.validateNoMoreThanOne(var1, var5[17], var5[14]);
      if (var2 != null) {
         Element var3 = this.validateExactlyOneElement(var2, var5[17], var5[20], InvalidWsAddressingHeaderFault.FaultCode.MISSING_ADDRESS_IN_EPR);
         String var4 = DomUtils.getTextValue(var3);

         try {
            if (!SoapConstants.WSA_ANONYMOUS_ADDRESS.equals(var4)) {
               throw new InvalidWsAddressingHeaderFault(var5[27] + var4, InvalidWsAddressingHeaderFault.FaultCode.ONLY_ANNONYMOUS_ADDRESS_SUPPORTED, var3);
            }
         } catch (InvalidWsAddressingHeaderFault var6) {
            throw a(var6);
         }
      }
   }

   private void b(Element param1) throws InvalidWsAddressingHeaderFault {
      // $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: aconst_null
      // 001: astore 2
      // 002: aload 0
      // 003: aload 1
      // 004: getstatic com/l7tech/server/wsdm/method/ESMMethod.o [Ljava/lang/String;
      // 007: astore 8
      // 009: aload 8
      // 00b: bipush 17
      // 00d: aaload
      // 00e: aload 8
      // 010: bipush 15
      // 012: aaload
      // 013: aconst_null
      // 014: invokevirtual com/l7tech/server/wsdm/method/ESMMethod.validateExactlyOneElement (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;Lcom/l7tech/server/wsdm/faults/InvalidWsAddressingHeaderFault$FaultCode;)Lorg/w3c/dom/Element;
      // 017: astore 3
      // 018: aconst_null
      // 019: astore 4
      // 01b: aload 8
      // 01d: bipush 10
      // 01f: aaload
      // 020: aload 1
      // 021: invokeinterface org/w3c/dom/Element.getNamespaceURI ()Ljava/lang/String; 1
      // 026: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 029: ifeq 0b0
      // 02c: aload 0
      // 02d: getfield com/l7tech/server/wsdm/method/ESMMethod.b Lcom/l7tech/message/Message;
      // 030: invokevirtual com/l7tech/message/Message.getHttpRequestKnob ()Lcom/l7tech/message/HttpRequestKnob;
      // 033: getstatic com/l7tech/util/SoapConstants.SOAPACTION Ljava/lang/String;
      // 036: invokeinterface com/l7tech/message/HttpRequestKnob.getHeaderSingleValue (Ljava/lang/String;)Ljava/lang/String; 2
      // 03b: astore 5
      // 03d: aload 5
      // 03f: ifnonnull 04b
      // 042: aload 8
      // 044: bipush 13
      // 046: aaload
      // 047: astore 2
      // 048: goto 0ad
      // 04b: aload 5
      // 04d: invokevirtual java/lang/String.length ()I
      // 050: bipush 2
      // 051: if_icmplt 076
      // 054: aload 5
      // 056: ldc "\""
      // 058: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 05b: ifeq 076
      // 05e: goto 065
      // 061: invokestatic com/l7tech/server/wsdm/method/ESMMethod.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 064: athrow
      // 065: aload 5
      // 067: ldc "\""
      // 069: invokevirtual java/lang/String.endsWith (Ljava/lang/String;)Z
      // 06c: ifne 08b
      // 06f: goto 076
      // 072: invokestatic com/l7tech/server/wsdm/method/ESMMethod.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 075: athrow
      // 076: aload 5
      // 078: getstatic com/l7tech/server/wsdm/method/ESMMethod.o [Ljava/lang/String;
      // 07b: astore 8
      // 07d: aload 8
      // 07f: bipush 0
      // 080: aaload
      // 081: swap
      // 082: 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" ]
      // 087: astore 2
      // 088: goto 0ad
      // 08b: getstatic com/l7tech/server/wsdm/method/ESMMethod.o [Ljava/lang/String;
      // 08e: astore 8
      // 090: aload 8
      // 092: bipush 9
      // 094: aaload
      // 095: aload 5
      // 097: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 09a: ifeq 09e
      // 09d: return
      // 09e: aload 5
      // 0a0: bipush 1
      // 0a1: aload 5
      // 0a3: invokevirtual java/lang/String.length ()I
      // 0a6: bipush 1
      // 0a7: isub
      // 0a8: invokevirtual java/lang/String.substring (II)Ljava/lang/String;
      // 0ab: astore 4
      // 0ad: goto 0ed
      // 0b0: aload 0
      // 0b1: getfield com/l7tech/server/wsdm/method/ESMMethod.b Lcom/l7tech/message/Message;
      // 0b4: invokevirtual com/l7tech/message/Message.getHttpRequestKnob ()Lcom/l7tech/message/HttpRequestKnob;
      // 0b7: getstatic com/l7tech/common/http/HttpConstants.HEADER_CONTENT_TYPE Ljava/lang/String;
      // 0ba: invokeinterface com/l7tech/message/HttpRequestKnob.getHeaderSingleValue (Ljava/lang/String;)Ljava/lang/String; 2
      // 0bf: astore 5
      // 0c1: getstatic com/l7tech/server/wsdm/method/ESMMethod.o [Ljava/lang/String;
      // 0c4: astore 8
      // 0c6: aload 8
      // 0c8: bipush 5
      // 0c9: aaload
      // 0ca: invokestatic java/util/regex/Pattern.compile (Ljava/lang/String;)Ljava/util/regex/Pattern;
      // 0cd: astore 6
      // 0cf: aload 5
      // 0d1: ifnull 0ed
      // 0d4: aload 6
      // 0d6: aload 5
      // 0d8: invokevirtual java/util/regex/Pattern.matcher (Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
      // 0db: astore 7
      // 0dd: aload 7
      // 0df: invokevirtual java/util/regex/Matcher.find ()Z
      // 0e2: ifeq 0ed
      // 0e5: aload 7
      // 0e7: bipush 1
      // 0e8: invokevirtual java/util/regex/Matcher.group (I)Ljava/lang/String;
      // 0eb: astore 4
      // 0ed: aload 3
      // 0ee: invokestatic com/l7tech/util/DomUtils.getTextValue (Lorg/w3c/dom/Element;)Ljava/lang/String;
      // 0f1: astore 5
      // 0f3: aload 4
      // 0f5: ifnull 123
      // 0f8: aload 4
      // 0fa: aload 5
      // 0fc: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0ff: ifne 123
      // 102: goto 109
      // 105: invokestatic com/l7tech/server/wsdm/method/ESMMethod.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 108: athrow
      // 109: aload 4
      // 10b: aload 5
      // 10d: getstatic com/l7tech/server/wsdm/method/ESMMethod.o [Ljava/lang/String;
      // 110: astore 8
      // 112: aload 8
      // 114: bipush 1
      // 115: aaload
      // 116: dup_x2
      // 117: pop
      // 118: aload 8
      // 11a: bipush 2
      // 11b: aaload
      // 11c: swap
      // 11d: invokedynamic makeConcatWithConstants (Ljava/lang/String;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\u0001" ]
      // 122: astore 2
      // 123: goto 12e
      // 126: astore 4
      // 128: getstatic com/l7tech/server/wsdm/method/ESMMethod.o [Ljava/lang/String;
      // 12b: bipush 4
      // 12c: aaload
      // 12d: astore 2
      // 12e: aload 2
      // 12f: ifnull 143
      // 132: new com/l7tech/server/wsdm/faults/InvalidWsAddressingHeaderFault
      // 135: dup
      // 136: aload 2
      // 137: getstatic com/l7tech/server/wsdm/faults/InvalidWsAddressingHeaderFault$FaultCode.ACTION_MISMATCH Lcom/l7tech/server/wsdm/faults/InvalidWsAddressingHeaderFault$FaultCode;
      // 13a: aload 3
      // 13b: invokespecial com/l7tech/server/wsdm/faults/InvalidWsAddressingHeaderFault.<init> (Ljava/lang/String;Lcom/l7tech/server/wsdm/faults/InvalidWsAddressingHeaderFault$FaultCode;Lorg/w3c/dom/Node;)V
      // 13e: athrow
      // 13f: invokestatic com/l7tech/server/wsdm/method/ESMMethod.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 142: athrow
      // 143: return
      // try (41 -> 52): 53 java/io/IOException
      // try (37 -> 45): 46 java/io/IOException
      // try (15 -> 73): 137 java/io/IOException
      // try (112 -> 118): 119 java/io/IOException
      // try (74 -> 136): 137 java/io/IOException
      // try (142 -> 151): 151 java/io/IOException
   }

   protected Element getSoapHeader() throws InvalidWsAddressingHeaderFault {
      try {
         try {
            if (this.f == null) {
               this.f = SoapUtil.getHeaderElement(this.a);
            }
         } catch (InvalidWsAddressingHeaderFault var3) {
            throw a(var3);
         }
      } catch (InvalidDocumentFormatException var4) {
         String[] var2 = o;
         throw new InvalidWsAddressingHeaderFault(var2[18], this.a.getDocumentElement());
      }

      try {
         if (this.f == null) {
            throw new InvalidWsAddressingHeaderFault(o[24], this.a.getDocumentElement());
         }
      } catch (InvalidDocumentFormatException var5) {
         throw a(var5);
      }

      return this.f;
   }

   static Element a(Document var0) throws InvalidDocumentFormatException {
      Element var1 = SoapUtil.getBodyElement(var0);

      try {
         if (var1 == null) {
            return null;
         }
      } catch (InvalidDocumentFormatException var2) {
         throw a(var2);
      }

      return XmlUtil.findFirstChildElement(var1);
   }

   static String b(Document var0) throws InvalidDocumentFormatException {
      String var1 = null;
      Element var2 = SoapUtil.getHeaderElement(var0);
      if (var2 != null) {
         String[] var7 = o;
         List var3 = XmlUtil.findChildElementsByName(var2, var7[6], var7[23]);
         Iterator var4 = var3.iterator();

         String var6;
         while (true) {
            if (!var4.hasNext()) {
               return var1;
            }

            Element var5 = (Element)var4.next();
            var7 = o;
            if (var7[7].equals(var5.getAttributeNS(var7[17], var7[3]))) {
               var6 = XmlUtil.getTextValue(var5);

               try {
                  if (var6 != null && var6.length() > 0) {
                     break;
                  }
               } catch (InvalidDocumentFormatException var8) {
                  throw a(var8);
               }
            }
         }

         var1 = var6;
      }

      return var1;
   }

   static boolean a(Element var0, String var1) {
      return var0.getLocalName() != null && var0.getLocalName().equals(var1);
   }

   public Document getReqestDoc() {
      return this.a;
   }

   public String getMessageId() {
      return this.e;
   }

   public Goid getEsmServiceGoid() {
      return this.d;
   }

   public URL getIncomingUrl() {
      return this.c;
   }

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

   static {
      String[] var5 = new String[29];
      int var3 = 0;
      String var2 = "\u0016\u007fS\u0010h0r\u001f{F#<\nR0\u000bo%)\u0007X,\u000bj5;\u0017\u001d<N'%&\u0000Q1Xb$h\nS~Oh5*\u000fX~Zr/<\u0006N~\\o%&CH-Nc`?\nI6\u000bP\u0013e\"Y:Yb3;\nS9\u0007'&'\u0016S:\u0011'I\u0016\u007fS\u0010h0r\u001f{F#<\nR0\u000bo%)\u0007X,\u000bc/-\u0010\u001d0Ds`%\u0002I=C'4 \u0006\u001d\tx*\u0001,\u0007O;Xt)&\u0004\u001d\u001fHs)'\r\u001d.Yh0-\u0011I'\u0011'\u0003~\u0011'\u0014\u0017XU%.\u0006O;Ed%\u0018\u0002O?Fb4-\u00119\u0013Du%h\u0017U?E'/&\u0006\u001d\rdF\u0010\t\u0000I7Di`\u00007i\u000e\u000bo%)\u0007X,\u000ba/=\rY~Bi`<\u000bX~Yb1=\u0006N*\u0019ewtj)\u0000I7Di}`8cev,i`\\\u0007eW#i.6_s0rL\u0012)\\pn$\u0002D;Y04-\u0000UpHh-g\rNq\\t$%LN+It#:\nM*Bh.\u0004*Yr%\u0002\nD\u0002|\t)6_s0rL\u0012-Ho%%\u0002NpSj,;\f\\.\u0005h2/LN1Jwo-\rK;Gh0-L\u0007\u0018Jr,<7R\u000e\u0013Du%h\u0017U?E'/&\u0006\u001dQ\u0010D'\b\u001c7m~xH\u0001\u0018\"^*Bh.h\u000bX?Ob2h\u0005R+Eclh\u0011X/^n2-\u0007\u001d)Cb.h\u0016N7E``\u001f0\u0010\u001fOc2-\u0010N7E``?\nI6\u000bT\u000f\t3\u001do\u00056n\u0007\fNw,17R\u0006\u001fHs)'\r\t\u0013Nt3)\u0004X\u0017o$6_s0rL\u0012)\\pn?P\u00131Y`ozS\rk\u00047xg\u0002Y:Yb3;\nS94\fNv5-\u0010I~Bt`&\fI~xH\u0001\u0018CR,\u000bo!;CP1Yb`<\u000b\\0\u000bh.-Cn\u0011jW`\u0000\u0006\\:Nu\u0014~[u/8\u0006O*R'&'\u0016S:\u000ba/:C\u0007\u001fOc2-\u0010N\u000e\u0013Du%h\u0017U?E'/&\u0006\u001d\u0003\u0010D'\u000e\r^e3+\u0011T._n/&*Y\u0015\rDf0h\u000bX?Ob2h\rR*\u000ba/=\rY\u0003~\u0011'$6_s0rL\u0012)\\pn?P\u00131Y`ozS\rk\u00047xg\u0002Y:Yb3;\nS9";
      int var4 = "\u0016\u007fS\u0010h0r\u001f{F#<\nR0\u000bo%)\u0007X,\u000bj5;\u0017\u001d<N'%&\u0000Q1Xb$h\nS~Oh5*\u000fX~Zr/<\u0006N~\\o%&CH-Nc`?\nI6\u000bP\u0013e\"Y:Yb3;\nS9\u0007'&'\u0016S:\u0011'I\u0016\u007fS\u0010h0r\u001f{F#<\nR0\u000bo%)\u0007X,\u000bc/-\u0010\u001d0Ds`%\u0002I=C'4 \u0006\u001d\tx*\u0001,\u0007O;Xt)&\u0004\u001d\u001fHs)'\r\u001d.Yh0-\u0011I'\u0011'\u0003~\u0011'\u0014\u0017XU%.\u0006O;Ed%\u0018\u0002O?Fb4-\u00119\u0013Du%h\u0017U?E'/&\u0006\u001d\rdF\u0010\t\u0000I7Di`\u00007i\u000e\u000bo%)\u0007X,\u000ba/=\rY~Bi`<\u000bX~Yb1=\u0006N*\u0019ewtj)\u0000I7Di}`8cev,i`\\\u0007eW#i.6_s0rL\u0012)\\pn$\u0002D;Y04-\u0000UpHh-g\rNq\\t$%LN+It#:\nM*Bh.\u0004*Yr%\u0002\nD\u0002|\t)6_s0rL\u0012-Ho%%\u0002NpSj,;\f\\.\u0005h2/LN1Jwo-\rK;Gh0-L\u0007\u0018Jr,<7R\u000e\u0013Du%h\u0017U?E'/&\u0006\u001dQ\u0010D'\b\u001c7m~xH\u0001\u0018\"^*Bh.h\u000bX?Ob2h\u0005R+Eclh\u0011X/^n2-\u0007\u001d)Cb.h\u0016N7E``\u001f0\u0010\u001fOc2-\u0010N7E``?\nI6\u000bT\u000f\t3\u001do\u00056n\u0007\fNw,17R\u0006\u001fHs)'\r\t\u0013Nt3)\u0004X\u0017o$6_s0rL\u0012)\\pn?P\u00131Y`ozS\rk\u00047xg\u0002Y:Yb3;\nS94\fNv5-\u0010I~Bt`&\fI~xH\u0001\u0018CR,\u000bo!;CP1Yb`<\u000b\\0\u000bh.-Cn\u0011jW`\u0000\u0006\\:Nu\u0014~[u/8\u0006O*R'&'\u0016S:\u000ba/:C\u0007\u001fOc2-\u0010N\u000e\u0013Du%h\u0017U?E'/&\u0006\u001d\u0003\u0010D'\u000e\r^e3+\u0011T._n/&*Y\u0015\rDf0h\u000bX?Ob2h\rR*\u000ba/=\rY\u0003~\u0011'$6_s0rL\u0012)\\pn?P\u00131Y`ozS\rk\u00047xg\u0002Y:Yb3;\nS9"
         .length();
      char var1 = '^';
      int var7 = -1;

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

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

                  var2 = "\fBs2?\u0014U+Xe#o\u0013I8\u0016R\"?\bC\rC \"!\u0000J6En3o\u0016_?Ir\"!\u0007_yMd#=\u0001I*\f\u0014y\\r(?\u0001H-U ! \u0011T=\ff(=D";
                  var4 = "\fBs2?\u0014U+Xe#o\u0013I8\u0016R\"?\bC\rC \"!\u0000J6En3o\u0016_?Ir\"!\u0007_yMd#=\u0001I*\f\u0014y\\r(?\u0001H-U ! \u0011T=\ff(=D"
                     .length();
                  var1 = '3';
                  var7 = -1;
            }

            var10000 = 107;
            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] ^ 81);
      }

      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 -> 50;
            case 1 -> 71;
            case 2 -> 107;
            case 3 -> 44;
            case 4 -> 36;
            case 5 -> 15;
            default -> 81;
         });
      }

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