package com.l7tech.server.policy.assertion.xmlsec;

import com.l7tech.common.io.XmlUtil;
import com.l7tech.message.Message;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.policy.assertion.xmlsec.EstablishOutboundSecureConversation;
import com.l7tech.server.message.AuthenticationContext;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.policy.assertion.AbstractMessageTargetableServerAssertion;
import com.l7tech.server.secureconversation.InboundSecureConversationContextManager;
import com.l7tech.server.secureconversation.OutboundSecureConversationContextManager;
import com.l7tech.util.Config;
import com.l7tech.util.DomUtils;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.PoolByteArrayOutputStream;
import com.l7tech.util.ResourceUtils;
import com.l7tech.util.SoapConstants;
import com.l7tech.util.TimeUnit;
import com.l7tech.util.ValidatedConfig;
import com.l7tech.xml.soap.SoapUtil;
import java.io.IOException;
import java.io.InputStream;
import java.util.Collection;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.springframework.beans.factory.BeanFactory;
import org.w3c.dom.Element;
import org.xml.sax.SAXException;

public class ServerEstablishOutboundSecureConversation extends AbstractMessageTargetableServerAssertion<EstablishOutboundSecureConversation> {
   private static final String d;
   private static final String e;
   private static final long f = 0L;
   private static final long g;
   private final Config h;
   private final String[] i;
   private final InboundSecureConversationContextManager j;
   private final OutboundSecureConversationContextManager k;
   private static final String[] l;

   public ServerEstablishOutboundSecureConversation(EstablishOutboundSecureConversation var1, BeanFactory var2) {
      super(var1);
      String[] var3 = l;
      this.h = a((Config)var2.getBean(var3[16], Config.class), this.logger);
      this.i = var1.getVariablesUsed();
      this.j = (InboundSecureConversationContextManager)var2.getBean(var3[11], InboundSecureConversationContextManager.class);
      this.k = (OutboundSecureConversationContextManager)var2.getBean(var3[22], OutboundSecureConversationContextManager.class);
   }

   @Override
   protected AssertionStatus doCheckRequest(PolicyEnforcementContext param1, Message param2, String param3, AuthenticationContext param4) throws IOException, PolicyAssertionException {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 4
      // 002: invokevirtual com/l7tech/server/message/AuthenticationContext.getLastAuthenticationResult ()Lcom/l7tech/server/identity/AuthenticationResult;
      // 005: astore 5
      // 007: aload 5
      // 009: ifnonnull 028
      // 00c: aload 0
      // 00d: getstatic com/l7tech/gateway/common/audit/AssertionMessages.OUTBOUND_SECURE_CONVERSATION_ESTABLISHMENT_FAILURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 010: bipush 1
      // 011: anewarray 156
      // 014: dup
      // 015: bipush 0
      // 016: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 019: bipush 21
      // 01b: aaload
      // 01c: aastore
      // 01d: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 020: getstatic com/l7tech/policy/assertion/AssertionStatus.AUTH_FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 023: areturn
      // 024: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 027: athrow
      // 028: aconst_null
      // 029: astore 6
      // 02b: aload 4
      // 02d: invokevirtual com/l7tech/server/message/AuthenticationContext.getCredentials ()Ljava/util/List;
      // 030: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 035: astore 7
      // 037: aload 7
      // 039: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 03e: ifeq 064
      // 041: aload 7
      // 043: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 048: checkcast com/l7tech/policy/assertion/credential/LoginCredentials
      // 04b: astore 8
      // 04d: aload 5
      // 04f: aload 8
      // 051: invokevirtual com/l7tech/policy/assertion/credential/LoginCredentials.getSecurityToken ()Lcom/l7tech/security/token/SecurityToken;
      // 054: invokevirtual com/l7tech/server/identity/AuthenticationResult.matchesSecurityToken (Lcom/l7tech/security/token/SecurityToken;)Z
      // 057: ifeq 061
      // 05a: aload 8
      // 05c: astore 6
      // 05e: goto 064
      // 061: goto 037
      // 064: aload 6
      // 066: ifnonnull 085
      // 069: aload 0
      // 06a: getstatic com/l7tech/gateway/common/audit/AssertionMessages.OUTBOUND_SECURE_CONVERSATION_ESTABLISHMENT_FAILURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 06d: bipush 1
      // 06e: anewarray 156
      // 071: dup
      // 072: bipush 0
      // 073: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 076: bipush 19
      // 078: aaload
      // 079: aastore
      // 07a: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 07d: getstatic com/l7tech/policy/assertion/AssertionStatus.AUTH_FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 080: areturn
      // 081: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 084: athrow
      // 085: aload 5
      // 087: invokevirtual com/l7tech/server/identity/AuthenticationResult.getUser ()Lcom/l7tech/identity/User;
      // 08a: astore 7
      // 08c: aload 7
      // 08e: ifnonnull 0ad
      // 091: aload 0
      // 092: getstatic com/l7tech/gateway/common/audit/AssertionMessages.OUTBOUND_SECURE_CONVERSATION_ESTABLISHMENT_FAILURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 095: bipush 1
      // 096: anewarray 156
      // 099: dup
      // 09a: bipush 0
      // 09b: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 09e: bipush 18
      // 0a0: aaload
      // 0a1: aastore
      // 0a2: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 0a5: getstatic com/l7tech/policy/assertion/AssertionStatus.AUTH_FAILED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 0a8: areturn
      // 0a9: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0ac: athrow
      // 0ad: aload 1
      // 0ae: aload 0
      // 0af: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.i [Ljava/lang/String;
      // 0b2: aload 0
      // 0b3: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 0b6: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getVariableMap ([Ljava/lang/String;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/util/Map; 3
      // 0bb: astore 8
      // 0bd: aload 0
      // 0be: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 0c1: checkcast com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation
      // 0c4: invokevirtual com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation.isAllowInboundMsgUsingSession ()Z
      // 0c7: ifeq 0d2
      // 0ca: aconst_null
      // 0cb: goto 0e5
      // 0ce: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0d1: athrow
      // 0d2: aload 0
      // 0d3: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 0d6: checkcast com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation
      // 0d9: invokevirtual com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation.getServiceUrl ()Ljava/lang/String;
      // 0dc: aload 8
      // 0de: aload 0
      // 0df: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 0e2: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 0e5: astore 9
      // 0e7: aload 0
      // 0e8: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 0eb: checkcast com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation
      // 0ee: invokevirtual com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation.getSecurityContextTokenVarName ()Ljava/lang/String;
      // 0f1: astore 13
      // 0f3: aload 1
      // 0f4: aload 13
      // 0f6: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getVariable (Ljava/lang/String;)Ljava/lang/Object; 2
      // 0fb: astore 14
      // 0fd: aload 14
      // 0ff: instanceof org/w3c/dom/Element
      // 102: ifeq 10f
      // 105: aload 14
      // 107: checkcast org/w3c/dom/Element
      // 10a: astore 15
      // 10c: goto 174
      // 10f: aload 14
      // 111: instanceof [Lorg/w3c/dom/Element;
      // 114: ifeq 134
      // 117: aload 14
      // 119: checkcast [Lorg/w3c/dom/Element;
      // 11c: arraylength
      // 11d: bipush 1
      // 11e: if_icmpne 134
      // 121: goto 128
      // 124: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 127: athrow
      // 128: aload 14
      // 12a: checkcast [Lorg/w3c/dom/Element;
      // 12d: bipush 0
      // 12e: aaload
      // 12f: astore 15
      // 131: goto 174
      // 134: aload 14
      // 136: instanceof org/w3c/dom/Document
      // 139: ifeq 14b
      // 13c: aload 14
      // 13e: checkcast org/w3c/dom/Document
      // 141: invokeinterface org/w3c/dom/Document.getDocumentElement ()Lorg/w3c/dom/Element; 1
      // 146: astore 15
      // 148: goto 174
      // 14b: aload 0
      // 14c: getstatic com/l7tech/gateway/common/audit/AssertionMessages.OUTBOUND_SECURE_CONVERSATION_ESTABLISHMENT_FAILURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 14f: bipush 1
      // 150: anewarray 156
      // 153: dup
      // 154: bipush 0
      // 155: aload 13
      // 157: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 15a: astore 36
      // 15c: aload 36
      // 15e: bipush 23
      // 160: aaload
      // 161: swap
      // 162: aload 36
      // 164: bipush 12
      // 166: aaload
      // 167: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 16c: aastore
      // 16d: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 170: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 173: areturn
      // 174: aload 0
      // 175: aload 15
      // 177: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Lorg/w3c/dom/Element;)Ljava/lang/String;
      // 17a: astore 12
      // 17c: aload 12
      // 17e: ifnonnull 190
      // 181: aload 15
      // 183: invokestatic com/l7tech/util/DomUtils.findExactlyOneChildElement (Lorg/w3c/dom/Element;)Lorg/w3c/dom/Element;
      // 186: astore 16
      // 188: getstatic com/l7tech/util/SoapConstants.WSSC_NAMESPACE2 Ljava/lang/String;
      // 18b: astore 12
      // 18d: goto 19c
      // 190: aload 15
      // 192: aload 12
      // 194: getstatic com/l7tech/util/SoapConstants.WSSC_ID_EL_NAME Ljava/lang/String;
      // 197: invokestatic com/l7tech/util/DomUtils.findExactlyOneChildElementByName (Lorg/w3c/dom/Element;Ljava/lang/String;Ljava/lang/String;)Lorg/w3c/dom/Element;
      // 19a: astore 16
      // 19c: aload 16
      // 19e: invokestatic com/l7tech/util/DomUtils.getTextValue (Lorg/w3c/dom/Element;)Ljava/lang/String;
      // 1a1: astore 11
      // 1a3: aload 0
      // 1a4: aload 15
      // 1a6: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.b (Lorg/w3c/dom/Element;)Lorg/w3c/dom/Element;
      // 1a9: astore 10
      // 1ab: goto 213
      // 1ae: astore 14
      // 1b0: aload 0
      // 1b1: getstatic com/l7tech/gateway/common/audit/AssertionMessages.OUTBOUND_SECURE_CONVERSATION_ESTABLISHMENT_FAILURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 1b4: bipush 1
      // 1b5: anewarray 156
      // 1b8: dup
      // 1b9: bipush 0
      // 1ba: aload 13
      // 1bc: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 1bf: astore 36
      // 1c1: aload 36
      // 1c3: bipush 0
      // 1c4: aaload
      // 1c5: swap
      // 1c6: aload 36
      // 1c8: bipush 15
      // 1ca: aaload
      // 1cb: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 1d0: aastore
      // 1d1: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 1d4: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 1d7: areturn
      // 1d8: astore 14
      // 1da: aload 0
      // 1db: getstatic com/l7tech/gateway/common/audit/AssertionMessages.OUTBOUND_SECURE_CONVERSATION_ESTABLISHMENT_FAILURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 1de: bipush 1
      // 1df: anewarray 156
      // 1e2: dup
      // 1e3: bipush 0
      // 1e4: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 1e7: astore 36
      // 1e9: aload 36
      // 1eb: bipush 1
      // 1ec: aaload
      // 1ed: aastore
      // 1ee: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 1f1: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 1f4: areturn
      // 1f5: astore 14
      // 1f7: aload 0
      // 1f8: getstatic com/l7tech/gateway/common/audit/AssertionMessages.OUTBOUND_SECURE_CONVERSATION_ESTABLISHMENT_FAILURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 1fb: bipush 1
      // 1fc: anewarray 156
      // 1ff: dup
      // 200: bipush 0
      // 201: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 204: astore 36
      // 206: aload 36
      // 208: bipush 10
      // 20a: aaload
      // 20b: aastore
      // 20c: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 20f: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 212: areturn
      // 213: invokestatic java/lang/System.currentTimeMillis ()J
      // 216: lstore 18
      // 218: aload 0
      // 219: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 21c: checkcast com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation
      // 21f: invokevirtual com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation.getCreationTime ()Ljava/lang/String;
      // 222: aload 8
      // 224: aload 0
      // 225: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 228: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 22b: astore 20
      // 22d: aload 0
      // 22e: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 231: checkcast com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation
      // 234: invokevirtual com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation.getExpirationTime ()Ljava/lang/String;
      // 237: aload 8
      // 239: aload 0
      // 23a: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 23d: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 240: astore 21
      // 242: aload 0
      // 243: aload 20
      // 245: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/String;)Z
      // 248: ifne 285
      // 24b: aload 20
      // 24d: invokestatic com/l7tech/util/ISO8601Date.parse (Ljava/lang/String;)Ljava/util/Date;
      // 250: invokevirtual java/util/Date.getTime ()J
      // 253: lstore 14
      // 255: goto 276
      // 258: astore 22
      // 25a: aload 0
      // 25b: getstatic com/l7tech/gateway/common/audit/AssertionMessages.OUTBOUND_SECURE_CONVERSATION_ESTABLISHMENT_FAILURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 25e: bipush 1
      // 25f: anewarray 156
      // 262: dup
      // 263: bipush 0
      // 264: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 267: astore 36
      // 269: aload 36
      // 26b: bipush 24
      // 26d: aaload
      // 26e: aastore
      // 26f: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 272: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 275: areturn
      // 276: lload 14
      // 278: lload 18
      // 27a: lcmp
      // 27b: ifle 289
      // 27e: lload 18
      // 280: lstore 14
      // 282: goto 289
      // 285: lload 18
      // 287: lstore 14
      // 289: aload 0
      // 28a: aload 21
      // 28c: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/String;)Z
      // 28f: ifne 2bd
      // 292: aload 21
      // 294: invokestatic com/l7tech/util/ISO8601Date.parse (Ljava/lang/String;)Ljava/util/Date;
      // 297: invokevirtual java/util/Date.getTime ()J
      // 29a: lstore 16
      // 29c: goto 2c2
      // 29f: astore 22
      // 2a1: aload 0
      // 2a2: getstatic com/l7tech/gateway/common/audit/AssertionMessages.OUTBOUND_SECURE_CONVERSATION_ESTABLISHMENT_FAILURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 2a5: bipush 1
      // 2a6: anewarray 156
      // 2a9: dup
      // 2aa: bipush 0
      // 2ab: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 2ae: astore 36
      // 2b0: aload 36
      // 2b2: bipush 14
      // 2b4: aaload
      // 2b5: aastore
      // 2b6: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 2b9: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 2bc: areturn
      // 2bd: ldc2_w 9223372036854775807
      // 2c0: lstore 16
      // 2c2: lload 16
      // 2c4: lload 14
      // 2c6: lsub
      // 2c7: lconst_0
      // 2c8: lcmp
      // 2c9: ifge 2e8
      // 2cc: aload 0
      // 2cd: getstatic com/l7tech/gateway/common/audit/AssertionMessages.OUTBOUND_SECURE_CONVERSATION_ESTABLISHMENT_FAILURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 2d0: bipush 1
      // 2d1: anewarray 156
      // 2d4: dup
      // 2d5: bipush 0
      // 2d6: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 2d9: bipush 9
      // 2db: aaload
      // 2dc: aastore
      // 2dd: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 2e0: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 2e3: areturn
      // 2e4: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2e7: athrow
      // 2e8: aload 0
      // 2e9: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.h Lcom/l7tech/util/Config;
      // 2ec: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 2ef: astore 36
      // 2f1: aload 36
      // 2f3: bipush 17
      // 2f5: aaload
      // 2f6: getstatic com/l7tech/util/TimeUnit.MINUTES Lcom/l7tech/util/TimeUnit;
      // 2f9: lconst_1
      // 2fa: invokevirtual com/l7tech/util/TimeUnit.toMillis (J)J
      // 2fd: invokeinterface com/l7tech/util/Config.getTimeUnitProperty (Ljava/lang/String;J)J 4
      // 302: lstore 22
      // 304: lload 16
      // 306: ldc2_w 9223372036854775807
      // 309: lcmp
      // 30a: ifeq 342
      // 30d: lload 16
      // 30f: lload 22
      // 311: lsub
      // 312: lload 14
      // 314: lcmp
      // 315: ifgt 33b
      // 318: goto 31f
      // 31b: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 31e: athrow
      // 31f: aload 0
      // 320: getstatic com/l7tech/gateway/common/audit/AssertionMessages.OUTBOUND_SECURE_CONVERSATION_ESTABLISHMENT_FAILURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 323: bipush 1
      // 324: anewarray 156
      // 327: dup
      // 328: bipush 0
      // 329: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 32c: bipush 13
      // 32e: aaload
      // 32f: aastore
      // 330: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 333: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 336: areturn
      // 337: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 33a: athrow
      // 33b: lload 16
      // 33d: lload 22
      // 33f: lsub
      // 340: lstore 16
      // 342: aload 0
      // 343: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 346: checkcast com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation
      // 349: invokevirtual com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation.isUseSystemDefaultSessionDuration ()Z
      // 34c: ifeq 370
      // 34f: aload 0
      // 350: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.h Lcom/l7tech/util/Config;
      // 353: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 356: astore 36
      // 358: aload 36
      // 35a: bipush 8
      // 35c: aaload
      // 35d: getstatic com/l7tech/util/TimeUnit.HOURS Lcom/l7tech/util/TimeUnit;
      // 360: ldc2_w 2
      // 363: invokevirtual com/l7tech/util/TimeUnit.toMillis (J)J
      // 366: invokeinterface com/l7tech/util/Config.getTimeUnitProperty (Ljava/lang/String;J)J 4
      // 36b: lstore 24
      // 36d: goto 37c
      // 370: aload 0
      // 371: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 374: checkcast com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation
      // 377: invokevirtual com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation.getMaxLifetime ()J
      // 37a: lstore 24
      // 37c: lload 24
      // 37e: lconst_0
      // 37f: lcmp
      // 380: ifle 3ab
      // 383: lload 16
      // 385: lload 14
      // 387: lcmp
      // 388: ifeq 3a4
      // 38b: goto 392
      // 38e: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 391: athrow
      // 392: lload 24
      // 394: lload 16
      // 396: lload 14
      // 398: lsub
      // 399: lcmp
      // 39a: ifge 3ab
      // 39d: goto 3a4
      // 3a0: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3a3: athrow
      // 3a4: lload 14
      // 3a6: lload 24
      // 3a8: ladd
      // 3a9: lstore 16
      // 3ab: lload 16
      // 3ad: lload 18
      // 3af: lcmp
      // 3b0: ifge 3dc
      // 3b3: aload 0
      // 3b4: getstatic com/l7tech/gateway/common/audit/AssertionMessages.OUTBOUND_SECURE_CONVERSATION_ESTABLISHMENT_FAILURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 3b7: bipush 1
      // 3b8: anewarray 156
      // 3bb: dup
      // 3bc: bipush 0
      // 3bd: aload 11
      // 3bf: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 3c2: bipush 2
      // 3c3: aaload
      // 3c4: swap
      // 3c5: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 3c8: bipush 6
      // 3ca: aaload
      // 3cb: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 3d0: aastore
      // 3d1: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 3d4: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 3d7: areturn
      // 3d8: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3db: athrow
      // 3dc: aload 0
      // 3dd: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 3e0: checkcast com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation
      // 3e3: invokevirtual com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation.getFullKey ()Ljava/lang/String;
      // 3e6: aload 8
      // 3e8: aload 0
      // 3e9: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 3ec: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 3ef: astore 26
      // 3f1: aload 0
      // 3f2: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 3f5: checkcast com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation
      // 3f8: invokevirtual com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation.getClientEntropy ()Ljava/lang/String;
      // 3fb: aload 8
      // 3fd: aload 0
      // 3fe: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 401: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 404: astore 27
      // 406: aload 0
      // 407: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 40a: checkcast com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation
      // 40d: invokevirtual com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation.getServerEntropy ()Ljava/lang/String;
      // 410: aload 8
      // 412: aload 0
      // 413: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 416: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 419: astore 28
      // 41b: aload 0
      // 41c: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 41f: checkcast com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation
      // 422: invokevirtual com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation.getKeySize ()Ljava/lang/String;
      // 425: aload 8
      // 427: aload 0
      // 428: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 42b: invokestatic com/l7tech/server/policy/variable/ExpandVariables.process (Ljava/lang/String;Ljava/util/Map;Lcom/l7tech/gateway/common/audit/Audit;)Ljava/lang/String;
      // 42e: astore 29
      // 430: aload 0
      // 431: aload 26
      // 433: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/String;)Z
      // 436: ifeq 441
      // 439: aconst_null
      // 43a: goto 446
      // 43d: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 440: athrow
      // 441: aload 26
      // 443: invokestatic com/l7tech/util/HexUtils.decodeBase64 (Ljava/lang/String;)[B
      // 446: astore 30
      // 448: aload 0
      // 449: aload 27
      // 44b: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/String;)Z
      // 44e: ifeq 459
      // 451: aconst_null
      // 452: goto 45e
      // 455: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 458: athrow
      // 459: aload 27
      // 45b: invokestatic com/l7tech/util/HexUtils.decodeBase64 (Ljava/lang/String;)[B
      // 45e: astore 31
      // 460: aload 0
      // 461: aload 28
      // 463: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/String;)Z
      // 466: ifeq 471
      // 469: aconst_null
      // 46a: goto 476
      // 46d: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 470: athrow
      // 471: aload 28
      // 473: invokestatic com/l7tech/util/HexUtils.decodeBase64 (Ljava/lang/String;)[B
      // 476: astore 32
      // 478: aload 29
      // 47a: invokevirtual java/lang/String.isEmpty ()Z
      // 47d: ifeq 488
      // 480: bipush 0
      // 481: goto 48d
      // 484: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 487: athrow
      // 488: aload 29
      // 48a: invokestatic java/lang/Integer.parseInt (Ljava/lang/String;)I
      // 48d: istore 33
      // 48f: goto 4b3
      // 492: astore 34
      // 494: aload 0
      // 495: getstatic com/l7tech/gateway/common/audit/AssertionMessages.OUTBOUND_SECURE_CONVERSATION_ESTABLISHMENT_FAILURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 498: bipush 1
      // 499: anewarray 156
      // 49c: dup
      // 49d: bipush 0
      // 49e: aload 29
      // 4a0: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.l [Ljava/lang/String;
      // 4a3: bipush 5
      // 4a4: aaload
      // 4a5: swap
      // 4a6: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001" ]
      // 4ab: aastore
      // 4ac: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 4af: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 4b2: areturn
      // 4b3: aload 0
      // 4b4: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 4b7: checkcast com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation
      // 4ba: invokevirtual com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation.isAllowInboundMsgUsingSession ()Z
      // 4bd: ifeq 4e2
      // 4c0: aload 0
      // 4c1: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.j Lcom/l7tech/server/secureconversation/InboundSecureConversationContextManager;
      // 4c4: aload 7
      // 4c6: aload 11
      // 4c8: aload 12
      // 4ca: aload 11
      // 4cc: lload 14
      // 4ce: lload 16
      // 4d0: aload 30
      // 4d2: aload 31
      // 4d4: aload 32
      // 4d6: iload 33
      // 4d8: aload 10
      // 4da: invokevirtual com/l7tech/server/secureconversation/InboundSecureConversationContextManager.createContextForUser (Lcom/l7tech/identity/User;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;JJ[B[B[BILorg/w3c/dom/Element;)Lcom/l7tech/server/secureconversation/SecureConversationSession;
      // 4dd: astore 34
      // 4df: goto 506
      // 4e2: aload 0
      // 4e3: getfield com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.k Lcom/l7tech/server/secureconversation/OutboundSecureConversationContextManager;
      // 4e6: aload 7
      // 4e8: aload 7
      // 4ea: aload 9
      // 4ec: invokestatic com/l7tech/server/secureconversation/OutboundSecureConversationContextManager.newSessionKey (Lcom/l7tech/identity/User;Ljava/lang/String;)Lcom/l7tech/server/secureconversation/OutboundSecureConversationContextManager$OutboundSessionKey;
      // 4ef: aload 12
      // 4f1: aload 11
      // 4f3: lload 14
      // 4f5: lload 16
      // 4f7: aload 30
      // 4f9: aload 31
      // 4fb: aload 32
      // 4fd: iload 33
      // 4ff: aload 10
      // 501: invokevirtual com/l7tech/server/secureconversation/OutboundSecureConversationContextManager.createContextForUser (Lcom/l7tech/identity/User;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;JJ[B[B[BILorg/w3c/dom/Element;)Lcom/l7tech/server/secureconversation/SecureConversationSession;
      // 504: astore 34
      // 506: goto 522
      // 509: astore 35
      // 50b: aload 0
      // 50c: getstatic com/l7tech/gateway/common/audit/AssertionMessages.OUTBOUND_SECURE_CONVERSATION_ESTABLISHMENT_FAILURE Lcom/l7tech/gateway/common/audit/Messages$M;
      // 50f: bipush 1
      // 510: anewarray 156
      // 513: dup
      // 514: bipush 0
      // 515: aload 35
      // 517: invokevirtual com/l7tech/server/secureconversation/SessionCreationException.getMessage ()Ljava/lang/String;
      // 51a: aastore
      // 51b: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 51e: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 521: areturn
      // 522: aload 1
      // 523: getstatic com/l7tech/policy/assertion/xmlsec/EstablishOutboundSecureConversation.VARIABLE_SESSION Ljava/lang/String;
      // 526: aload 34
      // 528: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 52d: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 530: areturn
      // try (120 -> 128): 129 com/l7tech/policy/variable/NoSuchVariableException
      // try (86 -> 93): 93 com/l7tech/policy/variable/NoSuchVariableException
      // try (62 -> 77): 77 com/l7tech/policy/variable/NoSuchVariableException
      // try (42 -> 57): 57 com/l7tech/policy/variable/NoSuchVariableException
      // try (3 -> 18): 18 com/l7tech/policy/variable/NoSuchVariableException
      // try (109 -> 165): 191 com/l7tech/policy/variable/NoSuchVariableException
      // try (166 -> 190): 191 com/l7tech/policy/variable/NoSuchVariableException
      // try (109 -> 165): 213 com/l7tech/util/MissingRequiredElementException
      // try (166 -> 190): 213 com/l7tech/util/MissingRequiredElementException
      // try (109 -> 165): 229 com/l7tech/util/TooManyChildElementsException
      // try (166 -> 190): 229 com/l7tech/util/TooManyChildElementsException
      // try (269 -> 273): 274 java/text/ParseException
      // try (303 -> 307): 308 java/text/ParseException
      // try (532 -> 537): 537 com/l7tech/policy/variable/NoSuchVariableException
      // try (521 -> 527): 527 com/l7tech/policy/variable/NoSuchVariableException
      // try (510 -> 516): 516 com/l7tech/policy/variable/NoSuchVariableException
      // try (499 -> 505): 505 com/l7tech/policy/variable/NoSuchVariableException
      // try (438 -> 461): 461 com/l7tech/policy/variable/NoSuchVariableException
      // try (418 -> 431): 432 com/l7tech/policy/variable/NoSuchVariableException
      // try (414 -> 422): 423 com/l7tech/policy/variable/NoSuchVariableException
      // try (363 -> 385): 385 com/l7tech/policy/variable/NoSuchVariableException
      // try (359 -> 369): 370 com/l7tech/policy/variable/NoSuchVariableException
      // try (326 -> 345): 345 com/l7tech/policy/variable/NoSuchVariableException
      // try (532 -> 542): 543 java/lang/NumberFormatException
      // try (560 -> 598): 599 com/l7tech/server/secureconversation/SessionCreationException
   }

   private boolean a(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: ifnull 15
      // 04: aload 1
      // 05: invokevirtual java/lang/String.trim ()Ljava/lang/String;
      // 08: invokevirtual java/lang/String.isEmpty ()Z
      // 0b: ifeq 1d
      // 0e: goto 15
      // 11: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 14: athrow
      // 15: bipush 1
      // 16: goto 1e
      // 19: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerEstablishOutboundSecureConversation.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1c: athrow
      // 1d: bipush 0
      // 1e: ireturn
      // try (0 -> 6): 7 java/lang/NumberFormatException
      // try (2 -> 11): 11 java/lang/NumberFormatException
   }

   private static Config a(Config var0, Logger var1) {
      ValidatedConfig var2 = new ValidatedConfig(var0, var1);
      String[] var3 = l;
      var2.setMinimumValue(var3[7], 60000L);
      var2.setMaximumValue(var3[8], 86400000L);
      var2.setMinimumValue(var3[4], 0L);
      var2.setMaximumValue(var3[17], g);
      return var2;
   }

   private String a(Element var1) {
      Collection var2 = DomUtils.findAllNamespaces(var1).values();

      for (String var6 : SoapConstants.WSSC_NAMESPACE_ARRAY) {
         try {
            if (var2.contains(var6)) {
               return var6;
            }
         } catch (NumberFormatException var7) {
            throw a(var7);
         }
      }

      return null;
   }

   private Element b(Element var1) {
      Element var2 = null;
      PoolByteArrayOutputStream var3 = null;
      InputStream var4 = null;

      try {
         var3 = new PoolByteArrayOutputStream(2048);
         XmlUtil.canonicalize(var1, var3);
         var4 = var3.toInputStream();
         var2 = XmlUtil.parse(var4).getDocumentElement();

         for (String var6 : SoapUtil.WSU_URIS) {
            var2.removeAttributeNS(var6, SoapUtil.ID_ATTRIBUTE_NAME);
         }
      } catch (IOException var12) {
         Logger var10000 = this.logger;
         Level var10001 = Level.WARNING;
         String var10002 = ExceptionUtils.getMessage(var12);
         String[] var8 = l;
         var10000.log(var10001, var8[20] + var10002 + "'", ExceptionUtils.getDebugException(var12));
      } catch (SAXException var13) {
         this.logger.log(Level.WARNING, l[3] + ExceptionUtils.getMessage(var13) + "'", ExceptionUtils.getDebugException(var13));
      } finally {
         ResourceUtils.closeQuietly(var4);
         ResourceUtils.closeQuietly(var3);
      }

      return var2;
   }

   static {
      String[] var5 = new String[25];
      int var3 = 0;
      String var2 = "=eE\u0014h%\b\u001c\u007fI@b`\b\u0006cTQc4K\u001dbKQu`\u001d\b\u007fIUy,\u000eI%nUv%QI/E=eE\u0014h%\b\u001c\u007fI@b`\b\u0006cTQc4K\u001dbKQu`\u000f\u0006hS\u0014u/\u001fInOZo!\u0002\u0007-AZb`W iEZo)\r\u0000hR\n;%\u0007\f`EZon\u0011=eE\u0014h%\u0018\u001adOZ;h\"-7\u0000*<cAVw%K\u001db\u0000Wi%\n\u001dh\u0000P~4\n\u001dnHQ\u007f`\b\u0006cTQc4K\u001dbKQu`L/\u0006xTVt5\u0005\r#SQx5\u0019\fNOZm%\u0019\u001alT]t.E\u001ahSGr/\u00059\u007fEqc0\u0002\u001btaS~\u0012 cVUw)\u000fIfEM;3\u0002\u0013h\u001a\u0014\u000e@-HUh`\u000e\u0011}IF~$E2\u0006xTVt5\u0005\r#SQx5\u0019\fNOZm%\u0019\u001alT]t.E\rhFUn,\u001f:hSGr/\u0005-xRUo)\u0004\u00072\u0006xTVt5\u0005\r#SQx5\u0019\fNOZm%\u0019\u001alT]t.E\rhFUn,\u001f:hSGr/\u0005-xRUo)\u0004\u0007V cVUw)\u000fI^EGh)\u0004\u0007-t]v%QIyHQ;3\u000e\u001a~I[u`\u000e\u0011}IFz4\u0002\u0006c\u0000@r-\u000eIdS\u0014y%\r\u0006\u007fE\u0014o(\u000eI~EGh)\u0004\u0007-CF~!\u001f\u0000bN\u0014o)\u0006\f#B=eE\u0014h%\b\u001c\u007fI@b`\b\u0006cTQc4K\u001dbKQu`\u0003\b~\u0000Yt2\u000eIyHUu`\u0004\u0007h\u0000\bR$\u000e\u0007yIRr%\u0019W-EX~-\u000e\u0007y\u000e'\u0000cB[n.\u000f:hCAi%(\u0006cVQi3\n\u001ddOZX/\u0005\u001dhX@V!\u0005\bjEF\u001dK$\u0000]h`\u0004\u000f-AZ;5\u0005\u001axPDt2\u001f\fi\u0000@b0\u000eG0:hSGr/\u0005I}RQ6%\u0013\u0019dRM;!\f\f-ELx%\u000e\r~\u0000G~3\u0018\u0000bN\u0014w)\r\fyIY~n'=eE\u0014h%\u0018\u001adOZ;%\u0013\u0019dRUo)\u0004\u0007-T]v%K\u0000~\u0000]u6\n\u0005dD\u001a\u0012K$\u0000Pt%\u0018IcO@;%\u0013\u0000~T\u001a\f\u001ahRB~2(\u0006cF]|/\u0006xTVt5\u0005\r#SQx5\u0019\fNOZm%\u0019\u001alT]t.E\u001ahSGr/\u00059\u007fEqc0\u0002\u001btaS~2'b\u0000Un4\u0003\fcT]x!\u001f\fi\u0000Ah%\u0019IkOAu$K\u0000c\u0000@s%K\u001dlRS~4K\u0004hSGz'\u000eG1*\u007fEP~.\u001f\u0000lLG;.\u0004\u001d-F[n.\u000fIkOF;4\u0003\f-AAo(\u000e\u0007yIWz4\u000e\r-UG~2E*<cAVw%K\u001db\u0000Wi%\n\u001dh\u0000P~4\n\u001dnHQ\u007f`\b\u0006cTQc4K\u001dbKQu`LC=eE\u0014o!\u0019\u000ehT\u0014v%\u0018\u001alGQ;$\u0004\f~\u0000Zt4K\nbN@z)\u0005IlNM;!\u001e\u001deEZo)\b\byI[u`\u0002\u0007kOFv!\u001f\u0000bN\u001a(\u0006xTVt5\u0005\r^EWn2\u000e*bNB~2\u0018\byI[u\u0003\u0004\u0007yELo\r\n\u0007lGQi";
      int var4 = "=eE\u0014h%\b\u001c\u007fI@b`\b\u0006cTQc4K\u001dbKQu`\u001d\b\u007fIUy,\u000eI%nUv%QI/E=eE\u0014h%\b\u001c\u007fI@b`\b\u0006cTQc4K\u001dbKQu`\u000f\u0006hS\u0014u/\u001fInOZo!\u0002\u0007-AZb`W iEZo)\r\u0000hR\n;%\u0007\f`EZon\u0011=eE\u0014h%\u0018\u001adOZ;h\"-7\u0000*<cAVw%K\u001db\u0000Wi%\n\u001dh\u0000P~4\n\u001dnHQ\u007f`\b\u0006cTQc4K\u001dbKQu`L/\u0006xTVt5\u0005\r#SQx5\u0019\fNOZm%\u0019\u001alT]t.E\u001ahSGr/\u00059\u007fEqc0\u0002\u001btaS~\u0012 cVUw)\u000fIfEM;3\u0002\u0013h\u001a\u0014\u000e@-HUh`\u000e\u0011}IF~$E2\u0006xTVt5\u0005\r#SQx5\u0019\fNOZm%\u0019\u001alT]t.E\rhFUn,\u001f:hSGr/\u0005-xRUo)\u0004\u00072\u0006xTVt5\u0005\r#SQx5\u0019\fNOZm%\u0019\u001alT]t.E\rhFUn,\u001f:hSGr/\u0005-xRUo)\u0004\u0007V cVUw)\u000fI^EGh)\u0004\u0007-t]v%QIyHQ;3\u000e\u001a~I[u`\u000e\u0011}IFz4\u0002\u0006c\u0000@r-\u000eIdS\u0014y%\r\u0006\u007fE\u0014o(\u000eI~EGh)\u0004\u0007-CF~!\u001f\u0000bN\u0014o)\u0006\f#B=eE\u0014h%\b\u001c\u007fI@b`\b\u0006cTQc4K\u001dbKQu`\u0003\b~\u0000Yt2\u000eIyHUu`\u0004\u0007h\u0000\bR$\u000e\u0007yIRr%\u0019W-EX~-\u000e\u0007y\u000e'\u0000cB[n.\u000f:hCAi%(\u0006cVQi3\n\u001ddOZX/\u0005\u001dhX@V!\u0005\bjEF\u001dK$\u0000]h`\u0004\u000f-AZ;5\u0005\u001axPDt2\u001f\fi\u0000@b0\u000eG0:hSGr/\u0005I}RQ6%\u0013\u0019dRM;!\f\f-ELx%\u000e\r~\u0000G~3\u0018\u0000bN\u0014w)\r\fyIY~n'=eE\u0014h%\u0018\u001adOZ;%\u0013\u0019dRUo)\u0004\u0007-T]v%K\u0000~\u0000]u6\n\u0005dD\u001a\u0012K$\u0000Pt%\u0018IcO@;%\u0013\u0000~T\u001a\f\u001ahRB~2(\u0006cF]|/\u0006xTVt5\u0005\r#SQx5\u0019\fNOZm%\u0019\u001alT]t.E\u001ahSGr/\u00059\u007fEqc0\u0002\u001btaS~2'b\u0000Un4\u0003\fcT]x!\u001f\fi\u0000Ah%\u0019IkOAu$K\u0000c\u0000@s%K\u001dlRS~4K\u0004hSGz'\u000eG1*\u007fEP~.\u001f\u0000lLG;.\u0004\u001d-F[n.\u000fIkOF;4\u0003\f-AAo(\u000e\u0007yIWz4\u000e\r-UG~2E*<cAVw%K\u001db\u0000Wi%\n\u001dh\u0000P~4\n\u001dnHQ\u007f`\b\u0006cTQc4K\u001dbKQu`LC=eE\u0014o!\u0019\u000ehT\u0014v%\u0018\u001alGQ;$\u0004\f~\u0000Zt4K\nbN@z)\u0005IlNM;!\u001e\u001deEZo)\b\byI[u`\u0002\u0007kOFv!\u001f\u0000bN\u001a(\u0006xTVt5\u0005\r^EWn2\u000e*bNB~2\u0018\byI[u\u0003\u0004\u0007yELo\r\n\u0007lGQi"
         .length();
      char var1 = ',';
      int var7 = -1;

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

         while (true) {
            String var8 = c(var10000, b(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     l = var5;
                     String[] var9 = l;
                     d = l[8];
                     e = var9[17];
                     g = TimeUnit.HOURS.toMillis(2L);
                     return;
                  }

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

                  var2 = "\u000eVv'[\u0016;/LzsQS;5PgbP\u0007x.QxbFS.;LzfJ\u001f=z\u0016]fE\u0016bz\u001c%\u000eVv'[\u0016+)W|i\b\u0010*?_gnG\u001dx.W~b\b\u001a+zW}qI\u001f1>\u0010";
                  var4 = "\u000eVv'[\u0016;/LzsQS;5PgbP\u0007x.QxbFS.;LzfJ\u001f=z\u0016]fE\u0016bz\u001c%\u000eVv'[\u0016+)W|i\b\u0010*?_gnG\u001dx.W~b\b\u001a+zW}qI\u001f1>\u0010"
                     .length();
                  var1 = ',';
                  var7 = -1;
            }

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

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

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

      return var10000;
   }

   private static String c(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 -> 46;
            case 1 -> 74;
            case 2 -> 103;
            case 3 -> 115;
            case 4 -> 92;
            case 5 -> 7;
            default -> 44;
         });
      }

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