package com.l7tech.server.policy.assertion;

import com.l7tech.gateway.common.audit.AssertionMessages;
import com.l7tech.message.Message;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.variable.NoSuchVariableException;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.policy.variable.ExpandVariables;
import com.l7tech.server.transport.jms.JmsBag;
import com.l7tech.server.transport.jms2.JmsEndpointConfig;
import com.l7tech.server.transport.jms2.JmsResourceManager;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.ValidationUtils;
import java.io.IOException;
import java.util.Map;
import javax.jms.Destination;
import javax.jms.JMSException;
import javax.naming.NamingException;
import org.xml.sax.SAXException;

final class ab implements JmsResourceManager.JmsResourceCallback {
   private final JmsEndpointConfig a;
   private final PolicyEnforcementContext b;
   private final Message c;
   private final Destination[] d;
   private Exception e;
   private boolean f;
   final ServerJmsRoutingAssertion this$0;
   private static final String[] g;

   ab(ServerJmsRoutingAssertion var1, PolicyEnforcementContext var2, JmsEndpointConfig var3, Destination[] var4) {
      this.this$0 = var1;
      this.f = false;
      this.b = var2;
      this.a = var3;
      this.d = var4;

      try {
         this.c = var2.getTargetMessage(var1.assertion.getRequestTarget());
      } catch (NoSuchVariableException var6) {
         var1.logAndAudit(AssertionMessages.MESSAGE_TARGET_ERROR, var6.getVariable(), ExceptionUtils.getMessage(var6));
         throw new AssertionStatusException(AssertionStatus.SERVER_ERROR, var6.getMessage(), var6);
      }
   }

   Exception a() {
      return this.e;
   }

   private boolean b() {
      return this.f;
   }

   private void c() throws IOException, SAXException, NamingException, JMSException {
      // $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/policy/assertion/ab.e Ljava/lang/Exception;
      // 04: ifnull 6e
      // 07: aload 0
      // 08: getfield com/l7tech/server/policy/assertion/ab.e Ljava/lang/Exception;
      // 0b: instanceof javax/jms/JMSException
      // 0e: ifeq 24
      // 11: goto 18
      // 14: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 17: athrow
      // 18: aload 0
      // 19: getfield com/l7tech/server/policy/assertion/ab.e Ljava/lang/Exception;
      // 1c: checkcast javax/jms/JMSException
      // 1f: athrow
      // 20: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 23: athrow
      // 24: aload 0
      // 25: getfield com/l7tech/server/policy/assertion/ab.e Ljava/lang/Exception;
      // 28: instanceof org/xml/sax/SAXException
      // 2b: ifeq 3a
      // 2e: aload 0
      // 2f: getfield com/l7tech/server/policy/assertion/ab.e Ljava/lang/Exception;
      // 32: checkcast org/xml/sax/SAXException
      // 35: athrow
      // 36: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 39: athrow
      // 3a: aload 0
      // 3b: getfield com/l7tech/server/policy/assertion/ab.e Ljava/lang/Exception;
      // 3e: instanceof java/io/IOException
      // 41: ifeq 50
      // 44: aload 0
      // 45: getfield com/l7tech/server/policy/assertion/ab.e Ljava/lang/Exception;
      // 48: checkcast java/io/IOException
      // 4b: athrow
      // 4c: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4f: athrow
      // 50: aload 0
      // 51: getfield com/l7tech/server/policy/assertion/ab.e Ljava/lang/Exception;
      // 54: instanceof javax/naming/NamingException
      // 57: ifeq 66
      // 5a: aload 0
      // 5b: getfield com/l7tech/server/policy/assertion/ab.e Ljava/lang/Exception;
      // 5e: checkcast javax/naming/NamingException
      // 61: athrow
      // 62: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 65: athrow
      // 66: aload 0
      // 67: getfield com/l7tech/server/policy/assertion/ab.e Ljava/lang/Exception;
      // 6a: invokestatic com/l7tech/util/ExceptionUtils.wrap (Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
      // 6d: athrow
      // 6e: return
      // try (0 -> 7): 8 java/io/IOException
      // try (3 -> 14): 14 java/io/IOException
      // try (16 -> 24): 24 java/io/IOException
      // try (26 -> 34): 34 java/io/IOException
      // try (36 -> 44): 44 java/io/IOException
   }

   @Override
   public void doWork(JmsBag param1, JmsResourceManager.JndiContextProvider param2) {
      // $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: bipush 0
      // 001: istore 3
      // 002: bipush 0
      // 003: istore 4
      // 005: aload 0
      // 006: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 009: aload 0
      // 00a: getfield com/l7tech/server/policy/assertion/ab.b Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 00d: aload 1
      // 00e: invokevirtual com/l7tech/server/transport/jms/JmsBag.getSession ()Ljavax/jms/Session;
      // 011: aload 2
      // 012: aload 0
      // 013: getfield com/l7tech/server/policy/assertion/ab.a Lcom/l7tech/server/transport/jms2/JmsEndpointConfig;
      // 016: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Ljavax/jms/Session;Lcom/l7tech/server/transport/jms2/JmsResourceManager$JndiContextProvider;Lcom/l7tech/server/transport/jms2/JmsEndpointConfig;)Ljavax/jms/Message;
      // 019: astore 5
      // 01b: aload 0
      // 01c: getfield com/l7tech/server/policy/assertion/ab.d [Ljavax/jms/Destination;
      // 01f: bipush 0
      // 020: aaload
      // 021: ifnonnull 038
      // 024: aload 0
      // 025: getfield com/l7tech/server/policy/assertion/ab.d [Ljavax/jms/Destination;
      // 028: bipush 0
      // 029: aload 5
      // 02b: invokeinterface javax/jms/Message.getJMSReplyTo ()Ljavax/jms/Destination; 1
      // 030: aastore
      // 031: goto 038
      // 034: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 037: athrow
      // 038: aload 0
      // 039: getfield com/l7tech/server/policy/assertion/ab.d [Ljavax/jms/Destination;
      // 03c: bipush 0
      // 03d: aaload
      // 03e: astore 6
      // 040: aload 0
      // 041: getfield com/l7tech/server/policy/assertion/ab.c Lcom/l7tech/message/Message;
      // 044: ldc com/l7tech/message/HeadersKnob
      // 046: invokevirtual com/l7tech/message/Message.getKnob (Ljava/lang/Class;)Ljava/lang/Object;
      // 049: checkcast com/l7tech/message/HeadersKnob
      // 04c: astore 7
      // 04e: new java/util/HashMap
      // 051: dup
      // 052: invokespecial java/util/HashMap.<init> ()V
      // 055: astore 8
      // 057: new java/util/HashMap
      // 05a: dup
      // 05b: invokespecial java/util/HashMap.<init> ()V
      // 05e: astore 9
      // 060: aload 7
      // 062: ifnull 135
      // 065: aload 7
      // 067: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 06a: astore 36
      // 06c: aload 36
      // 06e: bipush 13
      // 070: aaload
      // 071: invokeinterface com/l7tech/message/HeadersKnob.getHeaders (Ljava/lang/String;)Ljava/util/Collection; 2
      // 076: astore 10
      // 078: new java/util/HashMap
      // 07b: dup
      // 07c: invokespecial java/util/HashMap.<init> ()V
      // 07f: astore 11
      // 081: aload 10
      // 083: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 088: astore 12
      // 08a: aload 12
      // 08c: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 091: ifeq 0b6
      // 094: aload 12
      // 096: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 09b: checkcast com/l7tech/message/Header
      // 09e: astore 13
      // 0a0: aload 11
      // 0a2: aload 13
      // 0a4: invokevirtual com/l7tech/message/Header.getKey ()Ljava/lang/Object;
      // 0a7: checkcast java/lang/String
      // 0aa: aload 13
      // 0ac: invokevirtual com/l7tech/message/Header.getValue ()Ljava/lang/Object;
      // 0af: invokevirtual java/util/HashMap.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
      // 0b2: pop
      // 0b3: goto 08a
      // 0b6: aload 11
      // 0b8: invokevirtual java/util/HashMap.keySet ()Ljava/util/Set;
      // 0bb: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 0c0: astore 12
      // 0c2: aload 12
      // 0c4: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 0c9: ifeq 0ec
      // 0cc: aload 12
      // 0ce: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 0d3: checkcast java/lang/String
      // 0d6: astore 13
      // 0d8: aload 8
      // 0da: aload 13
      // 0dc: aload 11
      // 0de: aload 13
      // 0e0: invokevirtual java/util/HashMap.get (Ljava/lang/Object;)Ljava/lang/Object;
      // 0e3: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 0e8: pop
      // 0e9: goto 0c2
      // 0ec: aload 7
      // 0ee: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 0f1: astore 36
      // 0f3: aload 36
      // 0f5: bipush 4
      // 0f6: aaload
      // 0f7: invokeinterface com/l7tech/message/HeadersKnob.getHeaders (Ljava/lang/String;)Ljava/util/Collection; 2
      // 0fc: astore 12
      // 0fe: aload 12
      // 100: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 105: astore 13
      // 107: aload 13
      // 109: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 10e: ifeq 135
      // 111: aload 13
      // 113: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 118: checkcast com/l7tech/message/Header
      // 11b: astore 14
      // 11d: aload 9
      // 11f: aload 14
      // 121: invokevirtual com/l7tech/message/Header.getKey ()Ljava/lang/Object;
      // 124: checkcast java/lang/String
      // 127: aload 14
      // 129: invokevirtual com/l7tech/message/Header.getValue ()Ljava/lang/Object;
      // 12c: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 131: pop
      // 132: goto 107
      // 135: new java/util/HashMap
      // 138: dup
      // 139: invokespecial java/util/HashMap.<init> ()V
      // 13c: astore 10
      // 13e: aload 0
      // 13f: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 142: aload 0
      // 143: getfield com/l7tech/server/policy/assertion/ab.b Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 146: aload 0
      // 147: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 14a: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 14d: checkcast com/l7tech/policy/assertion/JmsRoutingAssertion
      // 150: invokevirtual com/l7tech/policy/assertion/JmsRoutingAssertion.getRequestJmsMessagePropertyRuleSet ()Lcom/l7tech/policy/assertion/JmsMessagePropertyRuleSet;
      // 153: aload 8
      // 155: aload 10
      // 157: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/policy/assertion/JmsMessagePropertyRuleSet;Ljava/util/Map;Ljava/util/Map;)V
      // 15a: aload 10
      // 15c: invokeinterface java/util/Map.keySet ()Ljava/util/Set; 1
      // 161: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 166: astore 11
      // 168: aload 11
      // 16a: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 16f: ifeq 255
      // 172: aload 11
      // 174: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 179: checkcast java/lang/String
      // 17c: astore 12
      // 17e: aload 5
      // 180: aload 12
      // 182: aload 10
      // 184: aload 12
      // 186: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 18b: invokeinterface javax/jms/Message.setObjectProperty (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 190: goto 252
      // 193: astore 13
      // 195: aload 13
      // 197: invokevirtual javax/jms/MessageFormatException.getErrorCode ()Ljava/lang/String;
      // 19a: ifnull 1eb
      // 19d: aload 13
      // 19f: invokevirtual javax/jms/MessageFormatException.getErrorCode ()Ljava/lang/String;
      // 1a2: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 1a5: bipush 16
      // 1a7: aaload
      // 1a8: invokevirtual java/lang/String.startsWith (Ljava/lang/String;)Z
      // 1ab: ifeq 1eb
      // 1ae: goto 1b5
      // 1b1: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1b4: athrow
      // 1b5: aload 0
      // 1b6: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 1b9: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_NON_SETTABLE_JMS_PROPERTY Lcom/l7tech/gateway/common/audit/Messages$M;
      // 1bc: bipush 3
      // 1bd: anewarray 20
      // 1c0: dup
      // 1c1: bipush 0
      // 1c2: aload 12
      // 1c4: aastore
      // 1c5: dup
      // 1c6: bipush 1
      // 1c7: aload 10
      // 1c9: aload 12
      // 1cb: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 1d0: invokevirtual java/lang/Object.toString ()Ljava/lang/String;
      // 1d3: aastore
      // 1d4: dup
      // 1d5: bipush 2
      // 1d6: aload 13
      // 1d8: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 1db: aastore
      // 1dc: aload 13
      // 1de: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 1e1: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V
      // 1e4: goto 206
      // 1e7: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1ea: athrow
      // 1eb: aload 0
      // 1ec: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 1ef: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_MESSAGE_FORMAT_ERROR Lcom/l7tech/gateway/common/audit/Messages$M;
      // 1f2: bipush 1
      // 1f3: anewarray 20
      // 1f6: dup
      // 1f7: bipush 0
      // 1f8: aload 13
      // 1fa: invokevirtual javax/jms/MessageFormatException.getMessage ()Ljava/lang/String;
      // 1fd: aastore
      // 1fe: aload 13
      // 200: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 203: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V
      // 206: goto 252
      // 209: astore 13
      // 20b: aload 0
      // 20c: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 20f: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_NOT_SETTABLE_JMS_PROPERTY Lcom/l7tech/gateway/common/audit/Messages$M;
      // 212: bipush 3
      // 213: anewarray 20
      // 216: dup
      // 217: bipush 0
      // 218: aload 12
      // 21a: aastore
      // 21b: dup
      // 21c: bipush 1
      // 21d: aload 10
      // 21f: aload 12
      // 221: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 226: ifnonnull 235
      // 229: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 22c: bipush 1
      // 22d: aaload
      // 22e: goto 241
      // 231: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 234: athrow
      // 235: aload 10
      // 237: aload 12
      // 239: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 23e: invokevirtual java/lang/Object.toString ()Ljava/lang/String;
      // 241: aastore
      // 242: dup
      // 243: bipush 2
      // 244: aload 13
      // 246: invokestatic com/l7tech/util/ExceptionUtils.getMessage (Ljava/lang/Throwable;)Ljava/lang/String;
      // 249: aastore
      // 24a: aload 13
      // 24c: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 24f: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V
      // 252: goto 168
      // 255: aload 9
      // 257: invokeinterface java/util/Map.entrySet ()Ljava/util/Set; 1
      // 25c: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 261: astore 11
      // 263: aload 11
      // 265: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 26a: ifeq 3a0
      // 26d: aload 11
      // 26f: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 274: checkcast java/util/Map$Entry
      // 277: astore 12
      // 279: aload 12
      // 27b: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 280: checkcast java/lang/String
      // 283: invokestatic com/l7tech/server/transport/jms/JmsUtil.isJmsHeader (Ljava/lang/String;)Z
      // 286: ifeq 336
      // 289: aconst_null
      // 28a: astore 13
      // 28c: aload 12
      // 28e: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 293: checkcast java/lang/String
      // 296: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 299: bipush 10
      // 29b: aaload
      // 29c: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 29f: ifne 2bf
      // 2a2: aload 12
      // 2a4: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 2a9: checkcast java/lang/String
      // 2ac: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 2af: bipush 21
      // 2b1: aaload
      // 2b2: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 2b5: ifeq 2ed
      // 2b8: goto 2bf
      // 2bb: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2be: athrow
      // 2bf: aload 12
      // 2c1: invokeinterface java/util/Map$Entry.getValue ()Ljava/lang/Object; 1
      // 2c6: instanceof java/lang/String
      // 2c9: ifeq 2ed
      // 2cc: goto 2d3
      // 2cf: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2d2: athrow
      // 2d3: aload 2
      // 2d4: aload 12
      // 2d6: invokeinterface java/util/Map$Entry.getValue ()Ljava/lang/Object; 1
      // 2db: checkcast java/lang/String
      // 2de: invokeinterface com/l7tech/server/transport/jms2/JmsResourceManager$JndiContextProvider.lookup (Ljava/lang/String;)Ljava/lang/Object; 2
      // 2e3: ldc javax/jms/Destination
      // 2e5: invokestatic com/l7tech/server/transport/jms/JmsUtil.cast (Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
      // 2e8: astore 13
      // 2ea: goto 2f6
      // 2ed: aload 12
      // 2ef: invokeinterface java/util/Map$Entry.getValue ()Ljava/lang/Object; 1
      // 2f4: astore 13
      // 2f6: aload 5
      // 2f8: new com/l7tech/util/Pair
      // 2fb: dup
      // 2fc: aload 12
      // 2fe: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 303: checkcast java/lang/String
      // 306: aload 13
      // 308: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 30b: invokestatic com/l7tech/server/transport/jms/JmsUtil.setJmsHeader (Ljavax/jms/Message;Lcom/l7tech/util/Pair;)Z
      // 30e: ifne 333
      // 311: aload 0
      // 312: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 315: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_NOT_SETTABLE_JMS_HEADER Lcom/l7tech/gateway/common/audit/Messages$M;
      // 318: bipush 1
      // 319: anewarray 20
      // 31c: dup
      // 31d: bipush 0
      // 31e: aload 12
      // 320: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 325: checkcast java/lang/String
      // 328: aastore
      // 329: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 32c: goto 333
      // 32f: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 332: athrow
      // 333: goto 35e
      // 336: aload 0
      // 337: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 33a: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_NOT_SUPPORTED_JMS_HEADER Lcom/l7tech/gateway/common/audit/Messages$M;
      // 33d: bipush 2
      // 33e: anewarray 20
      // 341: dup
      // 342: bipush 0
      // 343: aload 12
      // 345: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 34a: checkcast java/lang/String
      // 34d: aastore
      // 34e: dup
      // 34f: bipush 1
      // 350: aload 12
      // 352: invokeinterface java/util/Map$Entry.getValue ()Ljava/lang/Object; 1
      // 357: checkcast java/lang/String
      // 35a: aastore
      // 35b: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 35e: goto 39d
      // 361: astore 13
      // 363: aload 13
      // 365: invokestatic com/l7tech/server/transport/jms/JmsUtil.getCause (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 368: instanceof java/lang/ClassCastException
      // 36b: ifeq 395
      // 36e: aload 0
      // 36f: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 372: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_INCOMPATIBLE_JMS_HEADER_TYPE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 375: bipush 1
      // 376: anewarray 20
      // 379: dup
      // 37a: bipush 0
      // 37b: aload 12
      // 37d: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 382: checkcast java/lang/String
      // 385: aastore
      // 386: aload 13
      // 388: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 38b: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;Ljava/lang/Throwable;)V
      // 38e: goto 395
      // 391: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 394: athrow
      // 395: aload 0
      // 396: bipush 1
      // 397: putfield com/l7tech/server/policy/assertion/ab.f Z
      // 39a: aload 13
      // 39c: athrow
      // 39d: goto 263
      // 3a0: aload 0
      // 3a1: getfield com/l7tech/server/policy/assertion/ab.b Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 3a4: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.isReplyExpected ()Z 1
      // 3a9: ifeq 3c0
      // 3ac: aload 6
      // 3ae: ifnull 3c0
      // 3b1: goto 3b8
      // 3b4: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3b7: athrow
      // 3b8: bipush 1
      // 3b9: goto 3c1
      // 3bc: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3bf: athrow
      // 3c0: bipush 0
      // 3c1: istore 11
      // 3c3: aload 0
      // 3c4: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 3c7: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_REQUEST_ROUTED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 3ca: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 3cd: aload 0
      // 3ce: getfield com/l7tech/server/policy/assertion/ab.b Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 3d1: aload 0
      // 3d2: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 3d5: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 3d8: checkcast com/l7tech/policy/assertion/JmsRoutingAssertion
      // 3db: invokevirtual com/l7tech/policy/assertion/JmsRoutingAssertion.getVariablesUsed ()[Ljava/lang/String;
      // 3de: aload 0
      // 3df: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 3e2: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 3e5: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getVariableMap ([Ljava/lang/String;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/util/Map; 3
      // 3ea: astore 12
      // 3ec: aload 1
      // 3ed: invokevirtual com/l7tech/server/transport/jms/JmsBag.getMessageProducer ()Ljavax/jms/MessageProducer;
      // 3f0: astore 13
      // 3f2: aload 0
      // 3f3: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 3f6: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 3f9: checkcast com/l7tech/policy/assertion/JmsRoutingAssertion
      // 3fc: invokevirtual com/l7tech/policy/assertion/JmsRoutingAssertion.getRequestDeliveryMode ()Lcom/l7tech/policy/assertion/JmsDeliveryMode;
      // 3ff: ifnull 419
      // 402: aload 0
      // 403: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 406: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 409: checkcast com/l7tech/policy/assertion/JmsRoutingAssertion
      // 40c: invokevirtual com/l7tech/policy/assertion/JmsRoutingAssertion.getRequestDeliveryMode ()Lcom/l7tech/policy/assertion/JmsDeliveryMode;
      // 40f: invokevirtual com/l7tech/policy/assertion/JmsDeliveryMode.getValue ()I
      // 412: goto 420
      // 415: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 418: athrow
      // 419: aload 5
      // 41b: invokeinterface javax/jms/Message.getJMSDeliveryMode ()I 1
      // 420: istore 14
      // 422: aload 0
      // 423: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 426: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 429: checkcast com/l7tech/policy/assertion/JmsRoutingAssertion
      // 42c: invokevirtual com/l7tech/policy/assertion/JmsRoutingAssertion.getRequestPriority ()Ljava/lang/String;
      // 42f: ifnull 457
      // 432: aload 0
      // 433: aload 0
      // 434: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 437: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 43a: checkcast com/l7tech/policy/assertion/JmsRoutingAssertion
      // 43d: invokevirtual com/l7tech/policy/assertion/JmsRoutingAssertion.getRequestPriority ()Ljava/lang/String;
      // 440: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 443: bipush 0
      // 444: aaload
      // 445: bipush 0
      // 446: bipush 9
      // 448: aload 12
      // 44a: invokevirtual com/l7tech/server/policy/assertion/ab.a (Ljava/lang/String;Ljava/lang/String;IILjava/util/Map;)Ljava/lang/Integer;
      // 44d: invokevirtual java/lang/Integer.intValue ()I
      // 450: goto 45e
      // 453: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 456: athrow
      // 457: aload 5
      // 459: invokeinterface javax/jms/Message.getJMSPriority ()I 1
      // 45e: istore 15
      // 460: aload 0
      // 461: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 464: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 467: checkcast com/l7tech/policy/assertion/JmsRoutingAssertion
      // 46a: invokevirtual com/l7tech/policy/assertion/JmsRoutingAssertion.getRequestTimeToLive ()Ljava/lang/String;
      // 46d: ifnull 497
      // 470: aload 0
      // 471: aload 0
      // 472: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 475: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 478: checkcast com/l7tech/policy/assertion/JmsRoutingAssertion
      // 47b: invokevirtual com/l7tech/policy/assertion/JmsRoutingAssertion.getRequestTimeToLive ()Ljava/lang/String;
      // 47e: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 481: bipush 12
      // 483: aaload
      // 484: lconst_0
      // 485: ldc2_w 9223372036854775807
      // 488: aload 12
      // 48a: invokevirtual com/l7tech/server/policy/assertion/ab.a (Ljava/lang/String;Ljava/lang/String;JJLjava/util/Map;)Ljava/lang/Long;
      // 48d: invokevirtual java/lang/Long.longValue ()J
      // 490: goto 4b6
      // 493: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 496: athrow
      // 497: aload 5
      // 499: invokeinterface javax/jms/Message.getJMSExpiration ()J 1
      // 49e: lconst_0
      // 49f: lcmp
      // 4a0: ifle 4b5
      // 4a3: aload 5
      // 4a5: invokeinterface javax/jms/Message.getJMSExpiration ()J 1
      // 4aa: invokestatic java/lang/System.currentTimeMillis ()J
      // 4ad: lsub
      // 4ae: goto 4b6
      // 4b1: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4b4: athrow
      // 4b5: lconst_0
      // 4b6: lstore 16
      // 4b8: lload 16
      // 4ba: lconst_0
      // 4bb: lcmp
      // 4bc: ifge 4f5
      // 4bf: aload 0
      // 4c0: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 4c3: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_ERROR_SENDING_MESSAGE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 4c6: bipush 2
      // 4c7: anewarray 20
      // 4ca: dup
      // 4cb: bipush 0
      // 4cc: aload 13
      // 4ce: invokeinterface javax/jms/MessageProducer.getDestination ()Ljavax/jms/Destination; 1
      // 4d3: invokeinterface javax/jms/Destination.toString ()Ljava/lang/String; 1
      // 4d8: aastore
      // 4d9: dup
      // 4da: bipush 1
      // 4db: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 4de: bipush 2
      // 4df: aaload
      // 4e0: aastore
      // 4e1: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 4e4: aload 0
      // 4e5: bipush 1
      // 4e6: putfield com/l7tech/server/policy/assertion/ab.f Z
      // 4e9: new com/l7tech/server/transport/jms/JmsMessageExpiredException
      // 4ec: dup
      // 4ed: invokespecial com/l7tech/server/transport/jms/JmsMessageExpiredException.<init> ()V
      // 4f0: athrow
      // 4f1: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4f4: athrow
      // 4f5: aload 0
      // 4f6: getfield com/l7tech/server/policy/assertion/ab.b Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 4f9: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.routingStarted ()V 1
      // 4fe: bipush 1
      // 4ff: istore 3
      // 500: getstatic com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.e Ljava/util/logging/Logger;
      // 503: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 506: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 509: ifeq 51f
      // 50c: getstatic com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.e Ljava/util/logging/Logger;
      // 50f: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 512: bipush 15
      // 514: aaload
      // 515: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 518: goto 51f
      // 51b: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 51e: athrow
      // 51f: aload 13
      // 521: aload 5
      // 523: iload 14
      // 525: iload 15
      // 527: lload 16
      // 529: invokeinterface javax/jms/MessageProducer.send (Ljavax/jms/Message;IIJ)V 6
      // 52e: aload 0
      // 52f: bipush 1
      // 530: putfield com/l7tech/server/policy/assertion/ab.f Z
      // 533: getstatic com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.e Ljava/util/logging/Logger;
      // 536: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 539: invokevirtual java/util/logging/Logger.isLoggable (Ljava/util/logging/Level;)Z
      // 53c: ifeq 551
      // 53f: getstatic com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.e Ljava/util/logging/Logger;
      // 542: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 545: bipush 3
      // 546: aaload
      // 547: invokevirtual java/util/logging/Logger.fine (Ljava/lang/String;)V
      // 54a: goto 551
      // 54d: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 550: athrow
      // 551: iload 11
      // 553: ifne 57b
      // 556: aload 0
      // 557: getfield com/l7tech/server/policy/assertion/ab.b Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 55a: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.routingFinished ()V 1
      // 55f: bipush 1
      // 560: istore 4
      // 562: aload 0
      // 563: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 566: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_NO_RESPONSE_EXPECTED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 569: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 56c: aload 0
      // 56d: getfield com/l7tech/server/policy/assertion/ab.b Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 570: getstatic com/l7tech/policy/assertion/RoutingStatus.ROUTED Lcom/l7tech/policy/assertion/RoutingStatus;
      // 573: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setRoutingStatus (Lcom/l7tech/policy/assertion/RoutingStatus;)V 2
      // 578: goto 9a7
      // 57b: aload 0
      // 57c: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 57f: aload 5
      // 581: aload 0
      // 582: getfield com/l7tech/server/policy/assertion/ab.a Lcom/l7tech/server/transport/jms2/JmsEndpointConfig;
      // 585: invokevirtual com/l7tech/server/transport/jms2/JmsEndpointConfig.getEndpoint ()Lcom/l7tech/gateway/common/transport/jms/JmsEndpoint;
      // 588: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.a (Ljavax/jms/Message;Lcom/l7tech/gateway/common/transport/jms/JmsEndpoint;)Ljava/lang/String;
      // 58b: astore 18
      // 58d: sipush 10000
      // 590: istore 19
      // 592: aload 0
      // 593: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 596: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 599: checkcast com/l7tech/policy/assertion/JmsRoutingAssertion
      // 59c: invokevirtual com/l7tech/policy/assertion/JmsRoutingAssertion.getResponseTimeout ()Ljava/lang/String;
      // 59f: astore 20
      // 5a1: aload 20
      // 5a3: ifnonnull 5c1
      // 5a6: aload 0
      // 5a7: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 5aa: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.v Lcom/l7tech/server/ServerConfig;
      // 5ad: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 5b0: astore 36
      // 5b2: aload 36
      // 5b4: bipush 20
      // 5b6: aaload
      // 5b7: iload 19
      // 5b9: invokevirtual com/l7tech/server/ServerConfig.getIntProperty (Ljava/lang/String;I)I
      // 5bc: istore 21
      // 5be: goto 644
      // 5c1: aload 20
      // 5c3: aload 12
      // 5c5: aload 0
      // 5c6: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 5c9: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 5cc: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 5cf: astore 20
      // 5d1: aload 20
      // 5d3: invokestatic java/lang/Integer.parseInt (Ljava/lang/String;)I
      // 5d6: istore 21
      // 5d8: iload 21
      // 5da: ifgt 60d
      // 5dd: aload 0
      // 5de: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 5e1: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.v Lcom/l7tech/server/ServerConfig;
      // 5e4: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 5e7: astore 36
      // 5e9: aload 36
      // 5eb: bipush 19
      // 5ed: aaload
      // 5ee: iload 19
      // 5f0: invokevirtual com/l7tech/server/ServerConfig.getIntProperty (Ljava/lang/String;I)I
      // 5f3: istore 21
      // 5f5: getstatic com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.e Ljava/util/logging/Logger;
      // 5f8: iload 21
      // 5fa: aload 36
      // 5fc: bipush 7
      // 5fe: aaload
      // 5ff: swap
      // 600: aload 36
      // 602: bipush 9
      // 604: aaload
      // 605: invokedynamic makeConcatWithConstants (Ljava/lang/String;ILjava/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" ]
      // 60a: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 60d: goto 644
      // 610: astore 22
      // 612: iload 19
      // 614: istore 21
      // 616: getstatic com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.e Ljava/util/logging/Logger;
      // 619: iload 19
      // 61b: aload 0
      // 61c: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 61f: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.v Lcom/l7tech/server/ServerConfig;
      // 622: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 625: astore 36
      // 627: aload 36
      // 629: bipush 19
      // 62b: aaload
      // 62c: invokevirtual com/l7tech/server/ServerConfig.getClusterPropertyName (Ljava/lang/String;)Ljava/lang/String;
      // 62f: aload 36
      // 631: bipush 18
      // 633: aaload
      // 634: dup_x2
      // 635: pop
      // 636: aload 36
      // 638: bipush 22
      // 63a: aaload
      // 63b: swap
      // 63c: invokedynamic makeConcatWithConstants (Ljava/lang/String;ILjava/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" ]
      // 641: invokevirtual java/util/logging/Logger.warning (Ljava/lang/String;)V
      // 644: aconst_null
      // 645: astore 22
      // 647: aload 1
      // 648: invokevirtual com/l7tech/server/transport/jms/JmsBag.getSession ()Ljavax/jms/Session;
      // 64b: aload 6
      // 64d: aload 18
      // 64f: invokestatic com/l7tech/server/transport/jms/JmsUtil.createMessageConsumer (Ljavax/jms/Session;Ljavax/jms/Destination;Ljava/lang/String;)Ljavax/jms/MessageConsumer;
      // 652: astore 22
      // 654: aload 0
      // 655: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 658: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_GETTING_RESPONSE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 65b: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 65e: aload 22
      // 660: iload 21
      // 662: i2l
      // 663: invokeinterface javax/jms/MessageConsumer.receive (J)Ljavax/jms/Message; 3
      // 668: astore 23
      // 66a: aload 23
      // 66c: ifnull 694
      // 66f: aload 23
      // 671: invokeinterface javax/jms/Message.acknowledge ()V 1
      // 676: goto 694
      // 679: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 67c: athrow
      // 67d: astore 24
      // 67f: getstatic com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.e Ljava/util/logging/Logger;
      // 682: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 685: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 688: astore 36
      // 68a: aload 36
      // 68c: bipush 14
      // 68e: aaload
      // 68f: aload 24
      // 691: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 694: aload 22
      // 696: ifnull 6bf
      // 699: aload 22
      // 69b: invokeinterface javax/jms/MessageConsumer.close ()V 1
      // 6a0: goto 6bf
      // 6a3: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6a6: athrow
      // 6a7: astore 25
      // 6a9: aload 22
      // 6ab: ifnull 6bc
      // 6ae: aload 22
      // 6b0: invokeinterface javax/jms/MessageConsumer.close ()V 1
      // 6b5: goto 6bc
      // 6b8: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6bb: athrow
      // 6bc: aload 25
      // 6be: athrow
      // 6bf: aload 0
      // 6c0: getfield com/l7tech/server/policy/assertion/ab.b Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 6c3: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.routingFinished ()V 1
      // 6c8: bipush 1
      // 6c9: istore 4
      // 6cb: aload 23
      // 6cd: ifnonnull 6f5
      // 6d0: aload 0
      // 6d1: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 6d4: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_NO_RESPONSE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 6d7: bipush 1
      // 6d8: anewarray 20
      // 6db: dup
      // 6dc: bipush 0
      // 6dd: iload 21
      // 6df: invokestatic java/lang/String.valueOf (I)Ljava/lang/String;
      // 6e2: aastore
      // 6e3: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 6e6: new com/l7tech/server/policy/assertion/AssertionStatusException
      // 6e9: dup
      // 6ea: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 6ed: invokespecial com/l7tech/server/policy/assertion/AssertionStatusException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 6f0: athrow
      // 6f1: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6f4: athrow
      // 6f5: aload 0
      // 6f6: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 6f9: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 6fc: checkcast com/l7tech/policy/assertion/JmsRoutingAssertion
      // 6ff: invokevirtual com/l7tech/policy/assertion/JmsRoutingAssertion.getResponseSize ()Ljava/lang/String;
      // 702: ifnonnull 734
      // 705: aload 0
      // 706: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 709: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.v Lcom/l7tech/server/ServerConfig;
      // 70c: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 70f: astore 36
      // 711: aload 36
      // 713: bipush 17
      // 715: aaload
      // 716: ldc2_w 2621440
      // 719: invokevirtual com/l7tech/server/ServerConfig.getLongProperty (Ljava/lang/String;J)J
      // 71c: lstore 26
      // 71e: lload 26
      // 720: lconst_0
      // 721: lcmp
      // 722: iflt 72c
      // 725: lload 26
      // 727: lstore 24
      // 729: goto 731
      // 72c: invokestatic com/l7tech/message/Message.getMaxBytes ()J
      // 72f: lstore 24
      // 731: goto 759
      // 734: aload 0
      // 735: aload 0
      // 736: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 739: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 73c: checkcast com/l7tech/policy/assertion/JmsRoutingAssertion
      // 73f: invokevirtual com/l7tech/policy/assertion/JmsRoutingAssertion.getResponseSize ()Ljava/lang/String;
      // 742: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 745: astore 36
      // 747: aload 36
      // 749: bipush 5
      // 74a: aaload
      // 74b: lconst_0
      // 74c: ldc2_w 9223372036854775807
      // 74f: aload 12
      // 751: invokevirtual com/l7tech/server/policy/assertion/ab.a (Ljava/lang/String;Ljava/lang/String;JJLjava/util/Map;)Ljava/lang/Long;
      // 754: invokevirtual java/lang/Long.longValue ()J
      // 757: lstore 24
      // 759: aload 23
      // 75b: instanceof javax/jms/TextMessage
      // 75e: ifeq 774
      // 761: aload 23
      // 763: checkcast javax/jms/TextMessage
      // 766: invokeinterface javax/jms/TextMessage.getText ()Ljava/lang/String; 1
      // 76b: invokevirtual java/lang/String.length ()I
      // 76e: i2l
      // 76f: lstore 26
      // 771: goto 7b1
      // 774: aload 23
      // 776: instanceof javax/jms/BytesMessage
      // 779: ifeq 78b
      // 77c: aload 23
      // 77e: checkcast javax/jms/BytesMessage
      // 781: invokeinterface javax/jms/BytesMessage.getBodyLength ()J 1
      // 786: lstore 26
      // 788: goto 7b1
      // 78b: aload 0
      // 78c: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 78f: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_UNSUPPORTED_RESPONSE_MSG_TYPE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 792: bipush 1
      // 793: anewarray 20
      // 796: dup
      // 797: bipush 0
      // 798: aload 23
      // 79a: invokeinterface javax/jms/Message.getClass ()Ljava/lang/Class; 1
      // 79f: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 7a2: aastore
      // 7a3: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 7a6: new com/l7tech/server/policy/assertion/AssertionStatusException
      // 7a9: dup
      // 7aa: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 7ad: invokespecial com/l7tech/server/policy/assertion/AssertionStatusException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 7b0: athrow
      // 7b1: lload 24
      // 7b3: lconst_0
      // 7b4: lcmp
      // 7b5: ifle 7e0
      // 7b8: lload 26
      // 7ba: lload 24
      // 7bc: lcmp
      // 7bd: ifle 7e0
      // 7c0: goto 7c7
      // 7c3: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7c6: athrow
      // 7c7: aload 0
      // 7c8: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 7cb: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_RESPONSE_TOO_LARGE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 7ce: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 7d1: new com/l7tech/server/policy/assertion/AssertionStatusException
      // 7d4: dup
      // 7d5: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 7d8: invokespecial com/l7tech/server/policy/assertion/AssertionStatusException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 7db: athrow
      // 7dc: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 7df: athrow
      // 7e0: aload 0
      // 7e1: getfield com/l7tech/server/policy/assertion/ab.b Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 7e4: aload 0
      // 7e5: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 7e8: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 7eb: checkcast com/l7tech/policy/assertion/JmsRoutingAssertion
      // 7ee: invokevirtual com/l7tech/policy/assertion/JmsRoutingAssertion.getResponseTarget ()Lcom/l7tech/policy/assertion/MessageTargetableSupport;
      // 7f1: bipush 0
      // 7f2: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getOrCreateTargetMessage (Lcom/l7tech/policy/assertion/MessageTargetable;Z)Lcom/l7tech/message/Message; 3
      // 7f7: astore 28
      // 7f9: goto 810
      // 7fc: astore 29
      // 7fe: new com/l7tech/server/policy/assertion/AssertionStatusException
      // 801: dup
      // 802: getstatic com/l7tech/policy/assertion/AssertionStatus.SERVER_ERROR Lcom/l7tech/policy/assertion/AssertionStatus;
      // 805: aload 29
      // 807: invokevirtual com/l7tech/policy/variable/NoSuchVariableException.getMessage ()Ljava/lang/String;
      // 80a: aload 29
      // 80c: invokespecial com/l7tech/server/policy/assertion/AssertionStatusException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 80f: athrow
      // 810: aload 23
      // 812: instanceof javax/jms/TextMessage
      // 815: ifeq 832
      // 818: aload 28
      // 81a: aload 23
      // 81c: checkcast javax/jms/TextMessage
      // 81f: invokeinterface javax/jms/TextMessage.getText ()Ljava/lang/String; 1
      // 824: invokestatic com/l7tech/common/io/XmlUtil.stringToDocument (Ljava/lang/String;)Lorg/w3c/dom/Document;
      // 827: lconst_0
      // 828: invokevirtual com/l7tech/message/Message.initialize (Lorg/w3c/dom/Document;J)V
      // 82b: goto 88c
      // 82e: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 831: athrow
      // 832: aload 23
      // 834: instanceof javax/jms/BytesMessage
      // 837: ifeq 866
      // 83a: aload 23
      // 83c: checkcast javax/jms/BytesMessage
      // 83f: astore 29
      // 841: aload 0
      // 842: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 845: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.y Lcom/l7tech/server/StashManagerFactory;
      // 848: invokeinterface com/l7tech/server/StashManagerFactory.createStashManager ()Lcom/l7tech/common/mime/StashManager; 1
      // 84d: astore 30
      // 84f: aload 28
      // 851: aload 30
      // 853: getstatic com/l7tech/common/mime/ContentTypeHeader.XML_DEFAULT Lcom/l7tech/common/mime/ContentTypeHeader;
      // 856: new com/l7tech/server/transport/jms/BytesMessageInputStream
      // 859: dup
      // 85a: aload 29
      // 85c: invokespecial com/l7tech/server/transport/jms/BytesMessageInputStream.<init> (Ljavax/jms/BytesMessage;)V
      // 85f: lconst_0
      // 860: invokevirtual com/l7tech/message/Message.initialize (Lcom/l7tech/common/mime/StashManager;Lcom/l7tech/common/mime/ContentTypeHeader;Ljava/io/InputStream;J)V
      // 863: goto 88c
      // 866: aload 0
      // 867: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 86a: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_UNSUPPORTED_RESPONSE_MSG_TYPE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 86d: bipush 1
      // 86e: anewarray 20
      // 871: dup
      // 872: bipush 0
      // 873: aload 23
      // 875: invokeinterface javax/jms/Message.getClass ()Ljava/lang/Class; 1
      // 87a: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 87d: aastore
      // 87e: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 881: new com/l7tech/server/policy/assertion/AssertionStatusException
      // 884: dup
      // 885: getstatic com/l7tech/policy/assertion/AssertionStatus.FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 888: invokespecial com/l7tech/server/policy/assertion/AssertionStatusException.<init> (Lcom/l7tech/policy/assertion/AssertionStatus;)V
      // 88b: athrow
      // 88c: aload 0
      // 88d: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 890: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JMS_ROUTING_GOT_RESPONSE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 893: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 896: new java/util/HashMap
      // 899: dup
      // 89a: invokespecial java/util/HashMap.<init> ()V
      // 89d: astore 29
      // 89f: aload 23
      // 8a1: invokeinterface javax/jms/Message.getPropertyNames ()Ljava/util/Enumeration; 1
      // 8a6: astore 30
      // 8a8: aload 30
      // 8aa: invokeinterface java/util/Enumeration.hasMoreElements ()Z 1
      // 8af: ifeq 8d8
      // 8b2: aload 30
      // 8b4: invokeinterface java/util/Enumeration.nextElement ()Ljava/lang/Object; 1
      // 8b9: checkcast java/lang/String
      // 8bc: astore 31
      // 8be: aload 23
      // 8c0: aload 31
      // 8c2: invokeinterface javax/jms/Message.getObjectProperty (Ljava/lang/String;)Ljava/lang/Object; 2
      // 8c7: astore 32
      // 8c9: aload 29
      // 8cb: aload 31
      // 8cd: aload 32
      // 8cf: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 8d4: pop
      // 8d5: goto 8a8
      // 8d8: aload 23
      // 8da: invokestatic com/l7tech/server/transport/jms/JmsUtil.getJmsHeaders (Ljavax/jms/Message;)Ljava/util/Map;
      // 8dd: astore 30
      // 8df: aload 28
      // 8e1: new com/l7tech/server/policy/assertion/ac
      // 8e4: dup
      // 8e5: aload 0
      // 8e6: aload 23
      // 8e8: aload 29
      // 8ea: aload 30
      // 8ec: invokespecial com/l7tech/server/policy/assertion/ac.<init> (Lcom/l7tech/server/policy/assertion/ab;Ljavax/jms/Message;Ljava/util/Map;Ljava/util/Map;)V
      // 8ef: invokevirtual com/l7tech/message/Message.attachJmsKnob (Lcom/l7tech/message/JmsKnob;)V
      // 8f2: new java/util/HashMap
      // 8f5: dup
      // 8f6: invokespecial java/util/HashMap.<init> ()V
      // 8f9: astore 31
      // 8fb: aload 0
      // 8fc: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 8ff: aload 0
      // 900: getfield com/l7tech/server/policy/assertion/ab.b Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 903: aload 0
      // 904: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 907: getfield com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 90a: checkcast com/l7tech/policy/assertion/JmsRoutingAssertion
      // 90d: invokevirtual com/l7tech/policy/assertion/JmsRoutingAssertion.getResponseJmsMessagePropertyRuleSet ()Lcom/l7tech/policy/assertion/JmsMessagePropertyRuleSet;
      // 910: aload 29
      // 912: aload 31
      // 914: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/policy/assertion/JmsMessagePropertyRuleSet;Ljava/util/Map;Ljava/util/Map;)V
      // 917: aload 28
      // 919: invokevirtual com/l7tech/message/Message.getJmsKnob ()Lcom/l7tech/message/JmsKnob;
      // 91c: invokeinterface com/l7tech/message/JmsKnob.getJmsMsgPropMap ()Ljava/util/Map; 1
      // 921: invokeinterface java/util/Map.clear ()V 1
      // 926: aload 28
      // 928: invokevirtual com/l7tech/message/Message.getJmsKnob ()Lcom/l7tech/message/JmsKnob;
      // 92b: invokeinterface com/l7tech/message/JmsKnob.getJmsMsgPropMap ()Ljava/util/Map; 1
      // 930: aload 31
      // 932: invokeinterface java/util/Map.putAll (Ljava/util/Map;)V 2
      // 937: aload 28
      // 939: invokevirtual com/l7tech/message/Message.getHeadersKnob ()Lcom/l7tech/message/HeadersKnob;
      // 93c: astore 32
      // 93e: aload 31
      // 940: invokeinterface java/util/Map.entrySet ()Ljava/util/Set; 1
      // 945: invokeinterface java/util/Set.iterator ()Ljava/util/Iterator; 1
      // 94a: astore 33
      // 94c: aload 33
      // 94e: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 953: ifeq 983
      // 956: aload 33
      // 958: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 95d: checkcast java/util/Map$Entry
      // 960: astore 34
      // 962: aload 32
      // 964: aload 34
      // 966: invokeinterface java/util/Map$Entry.getKey ()Ljava/lang/Object; 1
      // 96b: checkcast java/lang/String
      // 96e: aload 34
      // 970: invokeinterface java/util/Map$Entry.getValue ()Ljava/lang/Object; 1
      // 975: getstatic com/l7tech/server/policy/assertion/ab.g [Ljava/lang/String;
      // 978: bipush 6
      // 97a: aaload
      // 97b: invokeinterface com/l7tech/message/HeadersKnob.addHeader (Ljava/lang/String;Ljava/lang/Object;Ljava/lang/String;)V 4
      // 980: goto 94c
      // 983: aload 0
      // 984: getfield com/l7tech/server/policy/assertion/ab.b Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 987: getstatic com/l7tech/policy/assertion/RoutingStatus.ROUTED Lcom/l7tech/policy/assertion/RoutingStatus;
      // 98a: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setRoutingStatus (Lcom/l7tech/policy/assertion/RoutingStatus;)V 2
      // 98f: aload 0
      // 990: getfield com/l7tech/server/policy/assertion/ab.c Lcom/l7tech/message/Message;
      // 993: aload 28
      // 995: getstatic com/l7tech/message/MessageRole.RESPONSE Lcom/l7tech/message/MessageRole;
      // 998: invokevirtual com/l7tech/message/Message.notifyMessage (Lcom/l7tech/message/Message;Lcom/l7tech/message/MessageRole;)V
      // 99b: aload 28
      // 99d: aload 0
      // 99e: getfield com/l7tech/server/policy/assertion/ab.c Lcom/l7tech/message/Message;
      // 9a1: getstatic com/l7tech/message/MessageRole.REQUEST Lcom/l7tech/message/MessageRole;
      // 9a4: invokevirtual com/l7tech/message/Message.notifyMessage (Lcom/l7tech/message/Message;Lcom/l7tech/message/MessageRole;)V
      // 9a7: aload 0
      // 9a8: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 9ab: aload 0
      // 9ac: getfield com/l7tech/server/policy/assertion/ab.d [Ljavax/jms/Destination;
      // 9af: bipush 0
      // 9b0: aaload
      // 9b1: aload 0
      // 9b2: getfield com/l7tech/server/policy/assertion/ab.a Lcom/l7tech/server/transport/jms2/JmsEndpointConfig;
      // 9b5: invokevirtual com/l7tech/server/transport/jms2/JmsEndpointConfig.getReplyType ()Lcom/l7tech/gateway/common/transport/jms/JmsReplyType;
      // 9b8: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.a (Ljavax/jms/Destination;Lcom/l7tech/gateway/common/transport/jms/JmsReplyType;)Z
      // 9bb: ifeq 9cc
      // 9be: aload 0
      // 9bf: getfield com/l7tech/server/policy/assertion/ab.d [Ljavax/jms/Destination;
      // 9c2: bipush 0
      // 9c3: aconst_null
      // 9c4: aastore
      // 9c5: goto 9cc
      // 9c8: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 9cb: athrow
      // 9cc: iload 3
      // 9cd: ifeq a7c
      // 9d0: iload 4
      // 9d2: ifne a7c
      // 9d5: goto 9dc
      // 9d8: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 9db: athrow
      // 9dc: aload 0
      // 9dd: getfield com/l7tech/server/policy/assertion/ab.b Lcom/l7tech/server/message/PolicyEnforcementContext;
      // 9e0: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.routingFinished ()V 1
      // 9e5: goto a7c
      // 9e8: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 9eb: athrow
      // 9ec: astore 5
      // 9ee: aload 0
      // 9ef: aload 5
      // 9f1: putfield com/l7tech/server/policy/assertion/ab.e Ljava/lang/Exception;
      // 9f4: aload 0
      // 9f5: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // 9f8: aload 0
      // 9f9: getfield com/l7tech/server/policy/assertion/ab.d [Ljavax/jms/Destination;
      // 9fc: bipush 0
      // 9fd: aaload
      // 9fe: aload 0
      // 9ff: getfield com/l7tech/server/policy/assertion/ab.a Lcom/l7tech/server/transport/jms2/JmsEndpointConfig;
      // a02: invokevirtual com/l7tech/server/transport/jms2/JmsEndpointConfig.getReplyType ()Lcom/l7tech/gateway/common/transport/jms/JmsReplyType;
      // a05: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.a (Ljavax/jms/Destination;Lcom/l7tech/gateway/common/transport/jms/JmsReplyType;)Z
      // a08: ifeq a12
      // a0b: aload 0
      // a0c: getfield com/l7tech/server/policy/assertion/ab.d [Ljavax/jms/Destination;
      // a0f: bipush 0
      // a10: aconst_null
      // a11: aastore
      // a12: iload 3
      // a13: ifeq a7c
      // a16: iload 4
      // a18: ifne a7c
      // a1b: goto a22
      // a1e: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a21: athrow
      // a22: aload 0
      // a23: getfield com/l7tech/server/policy/assertion/ab.b Lcom/l7tech/server/message/PolicyEnforcementContext;
      // a26: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.routingFinished ()V 1
      // a2b: goto a7c
      // a2e: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a31: athrow
      // a32: astore 35
      // a34: aload 0
      // a35: getfield com/l7tech/server/policy/assertion/ab.this$0 Lcom/l7tech/server/policy/assertion/ServerJmsRoutingAssertion;
      // a38: aload 0
      // a39: getfield com/l7tech/server/policy/assertion/ab.d [Ljavax/jms/Destination;
      // a3c: bipush 0
      // a3d: aaload
      // a3e: aload 0
      // a3f: getfield com/l7tech/server/policy/assertion/ab.a Lcom/l7tech/server/transport/jms2/JmsEndpointConfig;
      // a42: invokevirtual com/l7tech/server/transport/jms2/JmsEndpointConfig.getReplyType ()Lcom/l7tech/gateway/common/transport/jms/JmsReplyType;
      // a45: invokevirtual com/l7tech/server/policy/assertion/ServerJmsRoutingAssertion.a (Ljavax/jms/Destination;Lcom/l7tech/gateway/common/transport/jms/JmsReplyType;)Z
      // a48: ifeq a59
      // a4b: aload 0
      // a4c: getfield com/l7tech/server/policy/assertion/ab.d [Ljavax/jms/Destination;
      // a4f: bipush 0
      // a50: aconst_null
      // a51: aastore
      // a52: goto a59
      // a55: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a58: athrow
      // a59: iload 3
      // a5a: ifeq a79
      // a5d: iload 4
      // a5f: ifne a79
      // a62: goto a69
      // a65: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a68: athrow
      // a69: aload 0
      // a6a: getfield com/l7tech/server/policy/assertion/ab.b Lcom/l7tech/server/message/PolicyEnforcementContext;
      // a6d: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.routingFinished ()V 1
      // a72: goto a79
      // a75: invokestatic com/l7tech/server/policy/assertion/ab.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // a78: athrow
      // a79: aload 35
      // a7b: athrow
      // a7c: return
      // try (15 -> 26): 27 javax/jms/MessageFormatException
      // try (154 -> 160): 161 javax/jms/MessageFormatException
      // try (154 -> 160): 216 java/lang/NumberFormatException
      // try (308 -> 330): 331 javax/jms/MessageFormatException
      // try (278 -> 293): 294 javax/jms/MessageFormatException
      // try (270 -> 286): 287 javax/jms/MessageFormatException
      // try (217 -> 236): 236 javax/jms/MessageFormatException
      // try (165 -> 200): 200 javax/jms/MessageFormatException
      // try (162 -> 172): 173 javax/jms/MessageFormatException
      // try (263 -> 352): 353 javax/jms/JMSException
      // try (544 -> 562): 563 javax/jms/MessageFormatException
      // try (532 -> 541): 542 javax/jms/MessageFormatException
      // try (496 -> 525): 525 javax/jms/MessageFormatException
      // try (482 -> 492): 492 javax/jms/MessageFormatException
      // try (459 -> 480): 480 javax/jms/MessageFormatException
      // try (433 -> 454): 454 javax/jms/MessageFormatException
      // try (415 -> 428): 428 javax/jms/MessageFormatException
      // try (385 -> 392): 392 javax/jms/MessageFormatException
      // try (381 -> 387): 388 javax/jms/MessageFormatException
      // try (354 -> 372): 373 javax/jms/MessageFormatException
      // try (618 -> 645): 646 java/lang/NumberFormatException
      // try (690 -> 692): 695 javax/jms/JMSException
      // try (688 -> 693): 693 java/lang/NumberFormatException
      // try (673 -> 705): 712 null
      // try (705 -> 710): 710 javax/jms/MessageFormatException
      // try (712 -> 713): 712 null
      // try (830 -> 846): 846 javax/jms/MessageFormatException
      // try (826 -> 834): 835 javax/jms/MessageFormatException
      // try (727 -> 745): 745 javax/jms/MessageFormatException
      // try (713 -> 717): 718 javax/jms/MessageFormatException
      // try (848 -> 858): 859 com/l7tech/policy/variable/NoSuchVariableException
      // try (868 -> 879): 879 javax/jms/MessageFormatException
      // try (4 -> 1023): 1055 javax/jms/JMSException
      // try (4 -> 1023): 1055 org/xml/sax/SAXException
      // try (4 -> 1023): 1055 java/io/IOException
      // try (4 -> 1023): 1055 javax/naming/NamingException
      // try (4 -> 1023): 1055 java/lang/NumberFormatException
      // try (4 -> 1023): 1088 null
      // try (1044 -> 1053): 1053 javax/jms/MessageFormatException
      // try (1042 -> 1046): 1047 javax/jms/MessageFormatException
      // try (1023 -> 1039): 1040 javax/jms/MessageFormatException
      // try (1055 -> 1059): 1088 null
      // try (1077 -> 1086): 1086 javax/jms/MessageFormatException
      // try (1075 -> 1079): 1080 javax/jms/MessageFormatException
      // try (1088 -> 1089): 1088 null
      // try (1089 -> 1105): 1106 javax/jms/MessageFormatException
      // try (1108 -> 1112): 1113 javax/jms/MessageFormatException
      // try (1110 -> 1118): 1119 javax/jms/MessageFormatException
   }

   private Integer a(String var1, String var2, int var3, int var4, Map<String, Object> var5) {
      Integer var6;
      if (var1 != null) {
         String var7 = ExpandVariables.process(var1, var5, this.this$0.getAudit()).trim();
         if (!ValidationUtils.isValidInteger(var7, false, var3, var4)) {
            this.this$0.logAndAudit(AssertionMessages.JMS_ROUTING_CONFIGURATION_ERROR, var2 + g[8] + var7);
            throw new AssertionStatusException(AssertionStatus.FAILED);
         }

         var6 = Integer.parseInt(var7);
      } else {
         var6 = null;
      }

      return var6;
   }

   private Long a(String var1, String var2, long var3, long var5, Map<String, Object> var7) {
      Long var8;
      if (var1 != null) {
         String var9 = ExpandVariables.process(var1, var7, this.this$0.getAudit()).trim();
         if (!ValidationUtils.isValidLong(var9, false, var3, var5)) {
            this.this$0.logAndAudit(AssertionMessages.JMS_ROUTING_CONFIGURATION_ERROR, var2 + g[11] + var9);
            throw new AssertionStatusException(AssertionStatus.FAILED);
         }

         var8 = Long.parseLong(var9);
      } else {
         var8 = null;
      }

      return var8;
   }

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

   static {
      String[] var5 = new String[23];
      int var3 = 0;
      String var2 = "}\u0017\u0019\u0010tu*t\u0004c\u0010\u001c\u0013\u0013G(#_ky-~\u0004\u0017\u001a&y&}\f\u0002\u001ab\u0019G(#_ii*o\n\u0005\u0011b<3h\u0016\u0003\u001eay~~\u0000\u001e\u000b\nG(#_Ny?i\u0000\u0002\u0015\u007f\u0000\u0003\u000fir-hE\u001d\u001auo?j\u0000P\fof;\fG(#_Vn1}\u0000\u0002\u000b\u007f\u001cX\u0016\u0019\u0011a<-h\u0017\u0006\u001at<:h\u0003\u0011\njh~{\u0004\u001c\nc<v\n-\f\u001e\tgp7i_P\u001b$E\u0016\u0010t<\u0014@6P\rco.b\u000b\u0003\u001a&h7`\u0000\u001f\nr2\nG(#-cl2t1\u001f\n-\f\u001e\tgp7i_P\fy\f\u001d\u001a&h1-\t\u0019\tc\fG(#_Vn1}\u0000\u0002\u000b\u007f#H\u0017\u0002\u0010t<?n\u000e\u001e\u0010qp;i\u0002\u0015_es0~\u0010\u001d\u001ab<3h\u0016\u0003\u001eayp\u001c^\u0000\u001e\u001bor9-/=,&s+y\u0007\u001f\nhx~`\u0000\u0003\fg{;\u0002@4\u0014d\n:\u0012uQ;~\u0016\u0011\u0018cQ?u'\t\u000bco\u0015X\u0016\u0019\u0011a<:h\u0003\u0011\njh~{\u0004\u001c\nc<v\u0014d\n:\u0012uN;~\u0015\u001f\u0011uy\nd\b\u0015\u0010sh\u0014d\n:\u0012uN;~\u0015\u001f\u0011uy\nd\b\u0015\u0010sh";
      int var4 = "}\u0017\u0019\u0010tu*t\u0004c\u0010\u001c\u0013\u0013G(#_ky-~\u0004\u0017\u001a&y&}\f\u0002\u001ab\u0019G(#_ii*o\n\u0005\u0011b<3h\u0016\u0003\u001eay~~\u0000\u001e\u000b\nG(#_Ny?i\u0000\u0002\u0015\u007f\u0000\u0003\u000fir-hE\u001d\u001auo?j\u0000P\fof;\fG(#_Vn1}\u0000\u0002\u000b\u007f\u001cX\u0016\u0019\u0011a<-h\u0017\u0006\u001at<:h\u0003\u0011\njh~{\u0004\u001c\nc<v\n-\f\u001e\tgp7i_P\u001b$E\u0016\u0010t<\u0014@6P\rco.b\u000b\u0003\u001a&h7`\u0000\u001f\nr2\nG(#-cl2t1\u001f\n-\f\u001e\tgp7i_P\fy\f\u001d\u001a&h1-\t\u0019\tc\fG(#_Vn1}\u0000\u0002\u000b\u007f#H\u0017\u0002\u0010t<?n\u000e\u001e\u0010qp;i\u0002\u0015_es0~\u0010\u001d\u001ab<3h\u0016\u0003\u001eayp\u001c^\u0000\u001e\u001bor9-/=,&s+y\u0007\u001f\nhx~`\u0000\u0003\fg{;\u0002@4\u0014d\n:\u0012uQ;~\u0016\u0011\u0018cQ?u'\t\u000bco\u0015X\u0016\u0019\u0011a<:h\u0003\u0011\njh~{\u0004\u001c\nc<v\u0014d\n:\u0012uN;~\u0015\u001f\u0011uy\nd\b\u0015\u0010sh\u0014d\n:\u0012uN;~\u0015\u001f\u0011uy\nd\b\u0015\u0010sh"
         .length();
      char var1 = '\b';
      int var7 = -1;

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

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

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

                  var2 = "\u0013|wo7;~0_E_;'d\"p\u0011BD h\u007f7UAM;&o=\u0011GG';~<C\u0004[ 'z<CPRhh";
                  var4 = "\u0013|wo7;~0_E_;'d\"p\u0011BD h\u007f7UAM;&o=\u0011GG';~<C\u0004[ 'z<CPRhh".length();
                  var1 = 14;
                  var7 = -1;
            }

            var10000 = 27;
            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] ^ 17);
      }

      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 -> 66;
            case 1 -> 42;
            case 2 -> 63;
            case 3 -> 48;
            case 4 -> 73;
            case 5 -> 83;
            default -> 17;
         });
      }

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