package com.l7tech.server.message;

import com.l7tech.gateway.common.audit.Audit;
import com.l7tech.gateway.common.service.PublishedService;
import com.l7tech.message.Message;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.assertion.MessageTargetable;
import com.l7tech.policy.assertion.RoutingStatus;
import com.l7tech.policy.variable.NoSuchVariableException;
import com.l7tech.policy.variable.VariableNotSettableException;
import com.l7tech.server.message.metrics.GatewayMetricsPublisher;
import com.l7tech.server.message.metrics.GatewayMetricsSupport;
import com.l7tech.server.message.metrics.GatewayMetricsUtils;
import com.l7tech.server.message.metrics.LatencyMetrics;
import com.l7tech.server.policy.PolicyMetadata;
import com.l7tech.server.policy.assertion.RoutingResultListener;
import com.l7tech.server.policy.assertion.ServerAssertion;
import com.l7tech.server.stepdebug.DebugContext;
import com.l7tech.util.InvalidDocumentFormatException;
import com.l7tech.util.Pair;
import java.io.IOException;
import java.net.URL;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Set;
import java.util.TreeMap;
import java.util.TreeSet;
import javax.wsdl.Binding;
import javax.wsdl.Operation;
import javax.wsdl.WSDLException;
import org.jetbrains.annotations.NotNull;
import org.jetbrains.annotations.Nullable;
import org.xml.sax.SAXException;

class h extends PolicyEnforcementContextWrapper implements HasOriginalContext, ShadowsParentVariables, HasOutputVariables, GatewayMetricsSupport {
   protected final PolicyEnforcementContext context;
   protected final PolicyEnforcementContext parentContext;
   private final Set<String> b = new HashSet<>();
   private final TreeSet<String> c = new TreeSet<>();
   private final TreeSet<String> d = new TreeSet<>(String.CASE_INSENSITIVE_ORDER);
   private DebugContext e = null;
   @Nullable
   private GatewayMetricsPublisher f;
   private static final String[] h;

   @Override
   public void addSeenAssertionStatus(AssertionStatus var1) {
      this.context.addSeenAssertionStatus(var1);
   }

   @Override
   public Set<AssertionStatus> getSeenAssertionStatus() {
      return this.context.getSeenAssertionStatus();
   }

   @Override
   public PublishedService getService() {
      PublishedService var1 = this.context.getService();
      if (var1 == null) {
         var1 = super.getService();
      }

      return var1;
   }

   @Override
   public void setService(PublishedService var1) {
      this.context.setService(var1);
   }

   @Override
   public Pair<Binding, Operation> getBindingAndOperation() throws IOException, SAXException, WSDLException, InvalidDocumentFormatException {
      return this.parentContext.getBindingAndOperation();
   }

   @Override
   public List<String> getIncrementedCounters() {
      return this.context.getIncrementedCounters();
   }

   @Override
   public Message getTargetMessage(MessageTargetable param1) throws NoSuchVariableException {
      // $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: getstatic com/l7tech/server/message/c.a [I
      // 03: aload 1
      // 04: invokeinterface com/l7tech/policy/assertion/MessageTargetable.getTarget ()Lcom/l7tech/policy/assertion/TargetMessageType; 1
      // 09: invokevirtual com/l7tech/policy/assertion/TargetMessageType.ordinal ()I
      // 0c: iaload
      // 0d: lookupswitch 41 2 1 27 2 36
      // 28: aload 0
      // 29: invokevirtual com/l7tech/server/message/h.getRequest ()Lcom/l7tech/message/Message;
      // 2c: areturn
      // 2d: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 30: athrow
      // 31: aload 0
      // 32: invokevirtual com/l7tech/server/message/h.getResponse ()Lcom/l7tech/message/Message;
      // 35: areturn
      // 36: aload 1
      // 37: invokeinterface com/l7tech/policy/assertion/MessageTargetable.getOtherTargetMessageVariable ()Ljava/lang/String; 1
      // 3c: astore 2
      // 3d: aload 2
      // 3e: ifnull 5a
      // 41: aload 0
      // 42: aload 2
      // 43: invokevirtual com/l7tech/server/message/h.c (Ljava/lang/String;)Z
      // 46: ifeq 5a
      // 49: goto 50
      // 4c: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4f: athrow
      // 50: aload 0
      // 51: aload 1
      // 52: invokespecial com/l7tech/server/message/PolicyEnforcementContextWrapper.getTargetMessage (Lcom/l7tech/policy/assertion/MessageTargetable;)Lcom/l7tech/message/Message;
      // 55: areturn
      // 56: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 59: athrow
      // 5a: aload 0
      // 5b: getfield com/l7tech/server/message/h.context Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 5e: aload 1
      // 5f: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getTargetMessage (Lcom/l7tech/policy/assertion/MessageTargetable;)Lcom/l7tech/message/Message; 2
      // 64: areturn
      // try (0 -> 9): 9 com/l7tech/policy/variable/NoSuchVariableException
      // try (17 -> 23): 24 com/l7tech/policy/variable/NoSuchVariableException
      // try (19 -> 30): 30 com/l7tech/policy/variable/NoSuchVariableException
   }

   @Override
   public Message getTargetMessage(MessageTargetable param1, boolean param2) throws NoSuchVariableException {
      // $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: getstatic com/l7tech/server/message/c.a [I
      // 03: aload 1
      // 04: invokeinterface com/l7tech/policy/assertion/MessageTargetable.getTarget ()Lcom/l7tech/policy/assertion/TargetMessageType; 1
      // 09: invokevirtual com/l7tech/policy/assertion/TargetMessageType.ordinal ()I
      // 0c: iaload
      // 0d: lookupswitch 41 2 1 27 2 36
      // 28: aload 0
      // 29: invokevirtual com/l7tech/server/message/h.getRequest ()Lcom/l7tech/message/Message;
      // 2c: areturn
      // 2d: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 30: athrow
      // 31: aload 0
      // 32: invokevirtual com/l7tech/server/message/h.getResponse ()Lcom/l7tech/message/Message;
      // 35: areturn
      // 36: aload 1
      // 37: invokeinterface com/l7tech/policy/assertion/MessageTargetable.getOtherTargetMessageVariable ()Ljava/lang/String; 1
      // 3c: astore 3
      // 3d: aload 3
      // 3e: ifnull 5b
      // 41: aload 0
      // 42: aload 3
      // 43: invokevirtual com/l7tech/server/message/h.c (Ljava/lang/String;)Z
      // 46: ifeq 5b
      // 49: goto 50
      // 4c: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4f: athrow
      // 50: aload 0
      // 51: aload 1
      // 52: iload 2
      // 53: invokespecial com/l7tech/server/message/PolicyEnforcementContextWrapper.getTargetMessage (Lcom/l7tech/policy/assertion/MessageTargetable;Z)Lcom/l7tech/message/Message;
      // 56: areturn
      // 57: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 5a: athrow
      // 5b: aload 0
      // 5c: getfield com/l7tech/server/message/h.context Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 5f: aload 1
      // 60: iload 2
      // 61: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getTargetMessage (Lcom/l7tech/policy/assertion/MessageTargetable;Z)Lcom/l7tech/message/Message; 3
      // 66: areturn
      // try (0 -> 9): 9 com/l7tech/policy/variable/NoSuchVariableException
      // try (17 -> 23): 24 com/l7tech/policy/variable/NoSuchVariableException
      // try (19 -> 31): 31 com/l7tech/policy/variable/NoSuchVariableException
   }

   @Override
   public Message getOrCreateTargetMessage(MessageTargetable param1, boolean param2) throws NoSuchVariableException, VariableNotSettableException {
      // $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: getstatic com/l7tech/server/message/c.a [I
      // 03: aload 1
      // 04: invokeinterface com/l7tech/policy/assertion/MessageTargetable.getTarget ()Lcom/l7tech/policy/assertion/TargetMessageType; 1
      // 09: invokevirtual com/l7tech/policy/assertion/TargetMessageType.ordinal ()I
      // 0c: iaload
      // 0d: lookupswitch 41 2 1 27 2 36
      // 28: aload 0
      // 29: invokevirtual com/l7tech/server/message/h.getRequest ()Lcom/l7tech/message/Message;
      // 2c: areturn
      // 2d: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 30: athrow
      // 31: aload 0
      // 32: invokevirtual com/l7tech/server/message/h.getResponse ()Lcom/l7tech/message/Message;
      // 35: areturn
      // 36: aload 1
      // 37: invokeinterface com/l7tech/policy/assertion/MessageTargetable.getOtherTargetMessageVariable ()Ljava/lang/String; 1
      // 3c: astore 3
      // 3d: aload 3
      // 3e: ifnull 5b
      // 41: aload 0
      // 42: aload 3
      // 43: invokevirtual com/l7tech/server/message/h.c (Ljava/lang/String;)Z
      // 46: ifeq 5b
      // 49: goto 50
      // 4c: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4f: athrow
      // 50: aload 0
      // 51: aload 1
      // 52: iload 2
      // 53: invokespecial com/l7tech/server/message/PolicyEnforcementContextWrapper.getOrCreateTargetMessage (Lcom/l7tech/policy/assertion/MessageTargetable;Z)Lcom/l7tech/message/Message;
      // 56: areturn
      // 57: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 5a: athrow
      // 5b: aload 0
      // 5c: getfield com/l7tech/server/message/h.context Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 5f: aload 1
      // 60: iload 2
      // 61: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getOrCreateTargetMessage (Lcom/l7tech/policy/assertion/MessageTargetable;Z)Lcom/l7tech/message/Message; 3
      // 66: areturn
      // try (0 -> 9): 9 com/l7tech/policy/variable/NoSuchVariableException
      // try (17 -> 23): 24 com/l7tech/policy/variable/NoSuchVariableException
      // try (19 -> 31): 31 com/l7tech/policy/variable/NoSuchVariableException
   }

   @Override
   public void setVariable(String var1, Object var2) throws VariableNotSettableException {
      try {
         if (this.c(var1)) {
            super.setVariable(var1, var2);
            return;
         }
      } catch (VariableNotSettableException var3) {
         throw a(var3);
      }

      this.context.setVariable(var1, var2);
   }

   @Override
   public Object getVariable(String var1) throws NoSuchVariableException {
      try {
         if (this.c(var1)) {
            return super.getVariable(var1);
         }
      } catch (NoSuchVariableException var2) {
         throw a(var2);
      }

      return this.context.getVariable(var1);
   }

   @Override
   public Map<String, Object> getAllVariables() {
      return this.context.getAllVariables();
   }

   @Override
   public Map<String, Object> getVariableMap(String[] var1, Audit var2) {
      ArrayList var3 = new ArrayList();
      ArrayList var4 = new ArrayList();

      for (String var8 : var1) {
         try {
            if (this.c(var8)) {
               var4.add(var8);
               continue;
            }
         } catch (VariableNotSettableException var9) {
            throw a(var9);
         }

         var3.add(var8);
      }

      TreeMap var10 = new TreeMap<>(String.CASE_INSENSITIVE_ORDER);
      var10.putAll(this.context.getVariableMap(var3.toArray(new String[var3.size()]), var2));
      var10.putAll(super.getVariableMap(var4.toArray(new String[var4.size()]), var2));
      return var10;
   }

   @Override
   public RoutingResultListener getRoutingResultListener() {
      return this.context.getRoutingResultListener();
   }

   @Override
   public void addRoutingResultListener(RoutingResultListener var1) {
      this.context.addRoutingResultListener(var1);
   }

   @Override
   public void removeRoutingResultListener(RoutingResultListener var1) {
      this.context.removeRoutingResultListener(var1);
   }

   @Override
   public RoutingStatus getRoutingStatus() {
      return this.context.getRoutingStatus();
   }

   @Override
   public void setRoutingStatus(RoutingStatus var1) {
      this.context.setRoutingStatus(var1);
   }

   @Override
   public boolean isPostRouting() {
      return this.context.isPostRouting();
   }

   @Override
   public void routingStarted() {
      this.context.routingStarted();
   }

   @Override
   public void routingFinished() {
      this.context.routingFinished();
   }

   @Override
   public long getRoutingStartTime() {
      return this.context.getRoutingStartTime();
   }

   @Override
   public long getRoutingEndTime() {
      return this.context.getRoutingEndTime();
   }

   @Override
   public long getRoutingTotalTime() {
      return this.context.getRoutingTotalTime();
   }

   @Override
   public URL getRoutedServiceUrl() {
      return this.context.getRoutedServiceUrl();
   }

   @Override
   public void setRoutedServiceUrl(URL var1) {
      this.context.setRoutedServiceUrl(var1);
   }

   @Override
   public long getStartTime() {
      return this.context.getStartTime();
   }

   @Override
   public long getEndTime() {
      return this.context.getEndTime();
   }

   @Override
   public void setEndTime() {
      this.context.setEndTime();
   }

   @Override
   public void assertionStarting(ServerAssertion var1) {
      try {
         this.context.assertionStarting(var1);
         if (this.e != null) {
            this.e.onStartAssertion(this, var1);
         }
      } catch (VariableNotSettableException var2) {
         throw a(var2);
      }
   }

   @Override
   public void assertionFinished(ServerAssertion var1, AssertionStatus var2, @Nullable LatencyMetrics var3) {
      try {
         this.context.assertionFinished(var1, var2, var3);
         if (this.e != null) {
            this.e.onFinishAssertion(this);
         }
      } catch (VariableNotSettableException var5) {
         throw a(var5);
      }

      try {
         if (var3 != null) {
            GatewayMetricsUtils.publishAssertionFinish(this, var1, var3);
         }
      } catch (VariableNotSettableException var4) {
         throw a(var4);
      }
   }

   @Override
   public List<PolicyEnforcementContext.AssertionResult> getAssertionResults() {
      return this.context.getAssertionResults();
   }

   @Override
   public boolean isPolicyExecutionAttempted() {
      return this.context.isPolicyExecutionAttempted();
   }

   @Override
   public void setPolicyExecutionAttempted(boolean var1) {
      this.context.setPolicyExecutionAttempted(var1);
   }

   @Override
   public DebugContext getDebugContext() {
      return this.e;
   }

   @Override
   public void setDebugContext(DebugContext var1) {
      this.e = var1;
   }

   @Override
   public void pushAssertionOrdinal(int var1) {
      this.context.pushAssertionOrdinal(var1);
   }

   @Override
   public Collection<Integer> getAssertionOrdinalPath() {
      return this.context.getAssertionOrdinalPath();
   }

   @Override
   public void passDownAssertionOrdinal(@NotNull PolicyEnforcementContext var1) {
      try {
         if (var1 == null) {
            b(0);
         }
      } catch (VariableNotSettableException var2) {
         throw a(var2);
      }

      this.context.passDownAssertionOrdinal(var1);
   }

   @Override
   public Collection<Integer> getAssertionNumber() {
      return this.context.getAssertionNumber();
   }

   @Override
   public int popAssertionOrdinal() throws NoSuchElementException {
      return this.context.popAssertionOrdinal();
   }

   @Override
   public PolicyMetadata getCurrentPolicyMetadata() {
      return this.context.getCurrentPolicyMetadata();
   }

   @Override
   public void setCurrentPolicyMetadata(PolicyMetadata var1) {
      this.context.setCurrentPolicyMetadata(var1);
   }

   @Override
   public void setTraceListener(AssertionTraceListener var1) {
      this.context.setTraceListener(var1);
   }

   @Override
   public boolean hasTraceListener() {
      return this.context.hasTraceListener();
   }

   @Override
   public AssertionTraceListener getTraceListener() {
      return this.context.getTraceListener();
   }

   @Override
   public void close() {
      this.context.close();
   }

   @Override
   public long getAssertionLatencyNanos() {
      return this.context.getAssertionLatencyNanos();
   }

   @Override
   public void setAssertionLatencyNanos(long var1) {
      this.context.setAssertionLatencyNanos(var1);
   }

   @Override
   public Message getOriginalRequest() {
      return this.parentContext.getRequest();
   }

   @Override
   public Message getOriginalResponse() {
      return this.parentContext.getResponse();
   }

   @Override
   public Object getOriginalContextVariable(String var1) throws NoSuchVariableException {
      return this.parentContext.getVariable(var1);
   }

   @Override
   public PolicyEnforcementContext getOriginalContext() {
      return this.parentContext;
   }

   @Override
   public void putParentVariable(@NotNull String var1, boolean var2) {
      try {
         if (var1 == null) {
            b(1);
         }
      } catch (VariableNotSettableException var5) {
         throw a(var5);
      }

      String var3 = var1.toLowerCase();

      try {
         this.b.add(var3);
         if (var2) {
            this.c.add(var3 + ".");
         }
      } catch (VariableNotSettableException var4) {
         throw a(var4);
      }
   }

   @NotNull
   @Override
   public Set<String> getOutputVariableNames() {
      try {
         Set var10000 = Collections.unmodifiableSet(this.d);
         if (var10000 == null) {
            b(2);
         }

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

   @Override
   public void addOutputVariableName(@NotNull String var1) {
      try {
         if (var1 == null) {
            b(3);
         }
      } catch (VariableNotSettableException var2) {
         throw a(var2);
      }

      this.d.add(var1);
   }

   @Override
   public void setGatewayMetricsEventsPublisher(@Nullable GatewayMetricsPublisher var1) {
      this.f = var1;
   }

   @Nullable
   @Override
   public GatewayMetricsPublisher getGatewayMetricsEventsPublisher() {
      return this.f;
   }

   h(PolicyEnforcementContext var1, PolicyEnforcementContext var2) {
      super(var1);
      this.context = var2;
      this.parentContext = var1;
      GatewayMetricsUtils.setPublisher(var1, this);
   }

   private boolean c(String param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: ifnonnull 0a
      // 04: bipush 0
      // 05: ireturn
      // 06: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 09: athrow
      // 0a: aload 1
      // 0b: invokevirtual java/lang/String.toLowerCase ()Ljava/lang/String;
      // 0e: astore 2
      // 0f: aload 0
      // 10: getfield com/l7tech/server/message/h.b Ljava/util/Set;
      // 13: aload 2
      // 14: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 19: ifne 9f
      // 1c: aload 0
      // 1d: aload 2
      // 1e: invokevirtual com/l7tech/server/message/h.d (Ljava/lang/String;)Z
      // 21: ifne 9f
      // 24: goto 2b
      // 27: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2a: athrow
      // 2b: getstatic com/l7tech/server/message/h.h [Ljava/lang/String;
      // 2e: bipush 15
      // 30: aaload
      // 31: aload 2
      // 32: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 35: ifne 9f
      // 38: goto 3f
      // 3b: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3e: athrow
      // 3f: getstatic com/l7tech/server/message/h.h [Ljava/lang/String;
      // 42: bipush 0
      // 43: aaload
      // 44: aload 2
      // 45: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 48: ifne 9f
      // 4b: goto 52
      // 4e: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 51: athrow
      // 52: getstatic com/l7tech/server/message/h.h [Ljava/lang/String;
      // 55: bipush 3
      // 56: aaload
      // 57: aload 2
      // 58: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 5b: ifne 9f
      // 5e: goto 65
      // 61: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 64: athrow
      // 65: aload 2
      // 66: getstatic com/l7tech/server/message/h.h [Ljava/lang/String;
      // 69: bipush 7
      // 6b: aaload
      // 6c: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 6f: ifne 9f
      // 72: goto 79
      // 75: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 78: athrow
      // 79: aload 2
      // 7a: getstatic com/l7tech/server/message/h.h [Ljava/lang/String;
      // 7d: bipush 5
      // 7e: aaload
      // 7f: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 82: ifne 9f
      // 85: goto 8c
      // 88: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 8b: athrow
      // 8c: aload 2
      // 8d: getstatic com/l7tech/server/message/h.h [Ljava/lang/String;
      // 90: bipush 4
      // 91: aaload
      // 92: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 95: ifeq a7
      // 98: goto 9f
      // 9b: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 9e: athrow
      // 9f: bipush 1
      // a0: goto a8
      // a3: invokestatic com/l7tech/server/message/h.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a6: athrow
      // a7: bipush 0
      // a8: ireturn
      // try (0 -> 4): 4 com/l7tech/policy/variable/VariableNotSettableException
      // try (9 -> 18): 19 com/l7tech/policy/variable/VariableNotSettableException
      // try (14 -> 27): 28 com/l7tech/policy/variable/VariableNotSettableException
      // try (21 -> 36): 37 com/l7tech/policy/variable/VariableNotSettableException
      // try (30 -> 45): 46 com/l7tech/policy/variable/VariableNotSettableException
      // try (39 -> 54): 55 com/l7tech/policy/variable/VariableNotSettableException
      // try (48 -> 63): 64 com/l7tech/policy/variable/VariableNotSettableException
      // try (57 -> 72): 73 com/l7tech/policy/variable/VariableNotSettableException
      // try (66 -> 77): 77 com/l7tech/policy/variable/VariableNotSettableException
   }

   private boolean d(String var1) {
      for (String var3 : this.c) {
         try {
            if (var1.startsWith(var3)) {
               return true;
            }
         } catch (VariableNotSettableException var4) {
            throw a(var4);
         }
      }

      return false;
   }

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

   static {
      String[] var5 = new String[16];
      int var3 = 0;
      String var2 = "gSZ9:p:p\u0015tRM\u0006 j9`B\u007f('w(wZL\u00074s,\u001bvYDf9)=pUAf&{;cS[f8{:fWN,zv\u0007fS[?<},\bfS[?<},;\tgSZ9:p:p\u0018\u0018eWZ:\u0011q>{wZ:0l=|YG\u0006'z {WE\bgSX<0m=;\u0005v^@%1\fcW[ 4|%pxH$0\u0016rS]\u0006 j9`B\u007f('w(wZL\u00074s,f*UxF=\u001bk%y\u0016D,!v&q\u0016\f:{;:5[\\:!>'zB\t;0j<gX\t' r%\u0011eC]\u00194l,{B\u007f('w(wZL\u001bvYDf9)=pUAf&{;cS[f8{:fWN,zv";
      int var4 = "gSZ9:p:p\u0015tRM\u0006 j9`B\u007f('w(wZL\u00074s,\u001bvYDf9)=pUAf&{;cS[f8{:fWN,zv\u0007fS[?<},\bfS[?<},;\tgSZ9:p:p\u0018\u0018eWZ:\u0011q>{wZ:0l=|YG\u0006'z {WE\bgSX<0m=;\u0005v^@%1\fcW[ 4|%pxH$0\u0016rS]\u0006 j9`B\u007f('w(wZL\u00074s,f*UxF=\u001bk%y\u0016D,!v&q\u0016\f:{;:5[\\:!>'zB\t;0j<gX\t' r%\u0011eC]\u00194l,{B\u007f('w(wZL\u001bvYDf9)=pUAf&{;cS[f8{:fWN,zv"
         .length();
      char var1 = '\b';
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 116;
         String var10001 = var2.substring(++var7, var7 + var1);
         byte var10002 = -1;

         while (true) {
            String var8 = b(var10000, f(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     h = var5;
                     return;
                  }

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

                  var2 = "\t\u0019\u0013ae&z<K\u0012{zcT\u0006\u0004\u0000Z}/xh\u001b\u0015fi.q<\u000e\u00064/fgoK\u001br(fgfN\u00074e6g<K\u001a{|cv-K\u001aad/\u0007:\u000e\u0005am0`";
                  var4 = "\t\u0019\u0013ae&z<K\u0012{zcT\u0006\u0004\u0000Z}/xh\u001b\u0015fi.q<\u000e\u00064/fgoK\u001br(fgfN\u00074e6g<K\u001a{|cv-K\u001aad/\u0007:\u000e\u0005am0`"
                     .length();
                  var1 = '>';
                  var7 = -1;
            }

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

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

      return var10000;
   }

   private static String b(int var0, char[] var1) {
      int var10003 = var1.length;
      int var10002 = var0;
      char[] var10001 = var1;
      int var10000 = var10003;

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 97;
            case 1 -> 66;
            case 2 -> 93;
            case 3 -> 61;
            case 4 -> 33;
            case 5 -> 106;
            default -> 61;
         });
      }

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