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

import com.l7tech.kerberos.KerberosServiceTicket;
import com.l7tech.policy.assertion.AssertionStatus;
import com.l7tech.policy.assertion.PolicyAssertionException;
import com.l7tech.policy.assertion.xmlsec.RequestWssKerberos;
import com.l7tech.security.xml.SecurityTokenResolver;
import com.l7tech.security.xml.processor.SecurityContextFinder;
import com.l7tech.server.message.PolicyEnforcementContext;
import com.l7tech.server.policy.assertion.AbstractServerAssertion;
import com.l7tech.server.security.kerberos.KerberosSessionContextManager;
import com.l7tech.util.Config;
import java.io.IOException;
import org.springframework.context.ApplicationContext;

public class ServerRequestWssKerberos extends AbstractServerAssertion<RequestWssKerberos> {
   private final Config d;
   private final SecurityTokenResolver e;
   private final SecurityContextFinder f;
   private final KerberosSessionContextManager g;
   private RequestWssKerberos h;
   private static final String[] j;

   public ServerRequestWssKerberos(RequestWssKerberos var1, ApplicationContext var2) {
      super(var1);
      this.h = var1;
      String[] var3 = j;
      this.d = (Config)var2.getBean(var3[7], Config.class);
      this.e = (SecurityTokenResolver)var2.getBean(var3[4], SecurityTokenResolver.class);
      this.f = (SecurityContextFinder)var2.getBean(var3[6], SecurityContextFinder.class);
      this.g = (KerberosSessionContextManager)var2.getBean(var3[0], KerberosSessionContextManager.class);
   }

   @Override
   public AssertionStatus checkRequest(PolicyEnforcementContext param1) 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 0
      // 001: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.h Lcom/l7tech/policy/assertion/xmlsec/RequestWssKerberos;
      // 004: invokestatic com/l7tech/policy/assertion/xmlsec/SecurityHeaderAddressableSupport.isLocalRecipient (Lcom/l7tech/policy/assertion/Assertion;)Z
      // 007: ifne 019
      // 00a: aload 0
      // 00b: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUESTWSS_NOT_FOR_US Lcom/l7tech/gateway/common/audit/Messages$M;
      // 00e: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 011: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 014: areturn
      // 015: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 018: athrow
      // 019: aload 1
      // 01a: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 01f: invokevirtual com/l7tech/message/Message.isSoap ()Z
      // 022: ifne 034
      // 025: aload 0
      // 026: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUEST_WSS_KERBEROS_NON_SOAP Lcom/l7tech/gateway/common/audit/Messages$M;
      // 029: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 02c: getstatic com/l7tech/policy/assertion/AssertionStatus.BAD_REQUEST Lcom/l7tech/policy/assertion/AssertionStatus;
      // 02f: areturn
      // 030: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 033: athrow
      // 034: aload 0
      // 035: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.d Lcom/l7tech/util/Config;
      // 038: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.j [Ljava/lang/String;
      // 03b: astore 11
      // 03d: aload 11
      // 03f: bipush 1
      // 040: aaload
      // 041: bipush 1
      // 042: invokeinterface com/l7tech/util/Config.getBooleanProperty (Ljava/lang/String;Z)Z 3
      // 047: ifne 05c
      // 04a: aload 1
      // 04b: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 050: invokevirtual com/l7tech/message/Message.getSecurityKnob ()Lcom/l7tech/message/SecurityKnob;
      // 053: invokeinterface com/l7tech/message/SecurityKnob.getProcessorResult ()Lcom/l7tech/security/xml/processor/ProcessorResult; 1
      // 058: astore 2
      // 059: goto 07d
      // 05c: aload 1
      // 05d: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 062: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.j [Ljava/lang/String;
      // 065: astore 11
      // 067: aload 11
      // 069: bipush 9
      // 06b: aaload
      // 06c: aload 0
      // 06d: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.e Lcom/l7tech/security/xml/SecurityTokenResolver;
      // 070: aload 0
      // 071: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.f Lcom/l7tech/security/xml/processor/SecurityContextFinder;
      // 074: aload 0
      // 075: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.getAudit ()Lcom/l7tech/gateway/common/audit/Audit;
      // 078: aconst_null
      // 079: invokestatic com/l7tech/server/util/WSSecurityProcessorUtils.getWssResults (Lcom/l7tech/message/Message;Ljava/lang/String;Lcom/l7tech/security/xml/SecurityTokenResolver;Lcom/l7tech/security/xml/processor/SecurityContextFinder;Lcom/l7tech/gateway/common/audit/Audit;Lcom/l7tech/util/Functions$Unary;)Lcom/l7tech/security/xml/processor/ProcessorResult;
      // 07c: astore 2
      // 07d: goto 08a
      // 080: astore 3
      // 081: new com/l7tech/util/CausedIOException
      // 084: dup
      // 085: aload 3
      // 086: invokespecial com/l7tech/util/CausedIOException.<init> (Ljava/lang/Throwable;)V
      // 089: athrow
      // 08a: aload 2
      // 08b: ifnonnull 0a9
      // 08e: aload 0
      // 08f: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUESTWSS_NO_SECURITY Lcom/l7tech/gateway/common/audit/Messages$M;
      // 092: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 095: aload 1
      // 096: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setRequestPolicyViolated ()V 1
      // 09b: aload 1
      // 09c: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setAuthenticationMissing ()V 1
      // 0a1: getstatic com/l7tech/policy/assertion/AssertionStatus.FALSIFIED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 0a4: areturn
      // 0a5: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0a8: athrow
      // 0a9: aload 2
      // 0aa: invokeinterface com/l7tech/security/xml/processor/ProcessorResult.getXmlSecurityTokens ()[Lcom/l7tech/security/token/XmlSecurityToken; 1
      // 0af: astore 3
      // 0b0: aload 3
      // 0b1: ifnonnull 0c9
      // 0b4: aload 0
      // 0b5: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUEST_WSS_KERBEROS_NO_TOKEN Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0b8: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 0bb: aload 1
      // 0bc: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setAuthenticationMissing ()V 1
      // 0c1: getstatic com/l7tech/policy/assertion/AssertionStatus.AUTH_REQUIRED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 0c4: areturn
      // 0c5: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0c8: athrow
      // 0c9: aload 0
      // 0ca: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.h Lcom/l7tech/policy/assertion/xmlsec/RequestWssKerberos;
      // 0cd: invokevirtual com/l7tech/policy/assertion/xmlsec/RequestWssKerberos.getServicePrincipalName ()Ljava/lang/String;
      // 0d0: astore 4
      // 0d2: aload 4
      // 0d4: ifnonnull 11f
      // 0d7: aload 1
      // 0d8: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 0dd: ldc com/l7tech/message/HttpRequestKnob
      // 0df: invokevirtual com/l7tech/message/Message.getKnob (Ljava/lang/Class;)Ljava/lang/Object;
      // 0e2: checkcast com/l7tech/message/HttpRequestKnob
      // 0e5: astore 5
      // 0e7: aload 5
      // 0e9: ifnull 0fa
      // 0ec: aload 5
      // 0ee: invokeinterface com/l7tech/message/HttpRequestKnob.getRequestURL ()Ljava/net/URL; 1
      // 0f3: goto 0fb
      // 0f6: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0f9: athrow
      // 0fa: aconst_null
      // 0fb: astore 6
      // 0fd: aload 5
      // 0ff: ifnull 110
      // 102: aload 5
      // 104: invokeinterface com/l7tech/message/HttpRequestKnob.getRemoteAddress ()Ljava/lang/String; 1
      // 109: goto 111
      // 10c: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 10f: athrow
      // 110: aconst_null
      // 111: astore 7
      // 113: aload 6
      // 115: aload 7
      // 117: invokestatic com/l7tech/kerberos/KerberosUtils.extractSpnFromRequest (Ljava/net/URL;Ljava/lang/String;)Ljava/lang/String;
      // 11a: invokestatic com/l7tech/kerberos/KerberosUtils.toGssName (Ljava/lang/String;)Ljava/lang/String;
      // 11d: astore 4
      // 11f: aconst_null
      // 120: astore 5
      // 122: aload 3
      // 123: astore 6
      // 125: aload 6
      // 127: arraylength
      // 128: istore 7
      // 12a: bipush 0
      // 12b: istore 8
      // 12d: iload 8
      // 12f: iload 7
      // 131: if_icmpge 1b5
      // 134: aload 6
      // 136: iload 8
      // 138: aaload
      // 139: astore 9
      // 13b: aload 9
      // 13d: instanceof com/l7tech/security/token/KerberosSigningSecurityToken
      // 140: ifeq 1af
      // 143: aload 9
      // 145: checkcast com/l7tech/security/token/KerberosSigningSecurityToken
      // 148: astore 10
      // 14a: aload 0
      // 14b: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.d Lcom/l7tech/util/Config;
      // 14e: getstatic com/l7tech/security/xml/processor/WssProcessorImpl.KRB5_USE_SPN_FROM_TICKET_PROP Ljava/lang/String;
      // 151: bipush 0
      // 152: invokeinterface com/l7tech/util/Config.getBooleanProperty (Ljava/lang/String;Z)Z 3
      // 157: ifne 1ab
      // 15a: aload 4
      // 15c: aload 10
      // 15e: invokeinterface com/l7tech/security/token/KerberosSigningSecurityToken.getServiceTicket ()Lcom/l7tech/kerberos/KerberosServiceTicket; 1
      // 163: invokevirtual com/l7tech/kerberos/KerberosServiceTicket.getServicePrincipalName ()Ljava/lang/String;
      // 166: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 169: ifne 1a4
      // 16c: goto 173
      // 16f: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 172: athrow
      // 173: aload 0
      // 174: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.logger Ljava/util/logging/Logger;
      // 177: aload 4
      // 179: aload 10
      // 17b: invokeinterface com/l7tech/security/token/KerberosSigningSecurityToken.getServiceTicket ()Lcom/l7tech/kerberos/KerberosServiceTicket; 1
      // 180: invokevirtual com/l7tech/kerberos/KerberosServiceTicket.getServicePrincipalName ()Ljava/lang/String;
      // 183: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.j [Ljava/lang/String;
      // 186: bipush 5
      // 187: aaload
      // 188: dup_x2
      // 189: pop
      // 18a: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.j [Ljava/lang/String;
      // 18d: bipush 2
      // 18e: aaload
      // 18f: swap
      // 190: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.j [Ljava/lang/String;
      // 193: bipush 3
      // 194: aaload
      // 195: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001\u0001\u0001" ]
      // 19a: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 19d: goto 1af
      // 1a0: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1a3: athrow
      // 1a4: aload 10
      // 1a6: astore 5
      // 1a8: goto 1af
      // 1ab: aload 10
      // 1ad: astore 5
      // 1af: iinc 8 1
      // 1b2: goto 12d
      // 1b5: aload 5
      // 1b7: ifnull 299
      // 1ba: aload 5
      // 1bc: invokeinterface com/l7tech/security/token/KerberosSigningSecurityToken.getServiceTicket ()Lcom/l7tech/kerberos/KerberosServiceTicket; 1
      // 1c1: astore 6
      // 1c3: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.i Z
      // 1c6: ifne 1e1
      // 1c9: aload 6
      // 1cb: ifnonnull 1e1
      // 1ce: goto 1d5
      // 1d1: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d4: athrow
      // 1d5: new java/lang/AssertionError
      // 1d8: dup
      // 1d9: invokespecial java/lang/AssertionError.<init> ()V
      // 1dc: athrow
      // 1dd: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1e0: athrow
      // 1e1: aload 5
      // 1e3: aload 0
      // 1e4: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.assertion Lcom/l7tech/policy/assertion/Assertion;
      // 1e7: checkcast com/l7tech/policy/assertion/xmlsec/RequestWssKerberos
      // 1ea: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 1ed: invokestatic com/l7tech/policy/assertion/credential/LoginCredentials.makeLoginCredentials (Lcom/l7tech/security/token/SecurityToken;Ljava/lang/Class;)Lcom/l7tech/policy/assertion/credential/LoginCredentials;
      // 1f0: astore 7
      // 1f2: aload 1
      // 1f3: aload 1
      // 1f4: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getRequest ()Lcom/l7tech/message/Message; 1
      // 1f9: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.getAuthenticationContext (Lcom/l7tech/message/Message;)Lcom/l7tech/server/message/AuthenticationContext; 2
      // 1fe: aload 7
      // 200: invokevirtual com/l7tech/server/message/AuthenticationContext.addCredentials (Lcom/l7tech/policy/assertion/credential/LoginCredentials;)V
      // 203: aload 1
      // 204: getstatic com/l7tech/policy/assertion/xmlsec/RequestWssKerberos.KERBEROS_REALM Ljava/lang/String;
      // 207: aload 0
      // 208: aload 6
      // 20a: invokevirtual com/l7tech/kerberos/KerberosServiceTicket.getClientPrincipalName ()Ljava/lang/String;
      // 20d: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.a (Ljava/lang/String;)Ljava/lang/String;
      // 210: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 215: aload 0
      // 216: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUEST_WSS_KERBEROS_GOT_TICKET Lcom/l7tech/gateway/common/audit/Messages$M;
      // 219: bipush 1
      // 21a: anewarray 155
      // 21d: dup
      // 21e: bipush 0
      // 21f: aload 6
      // 221: invokevirtual com/l7tech/kerberos/KerberosServiceTicket.getClientPrincipalName ()Ljava/lang/String;
      // 224: aastore
      // 225: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V
      // 228: aload 6
      // 22a: invokevirtual com/l7tech/kerberos/KerberosServiceTicket.getGSSAPReqTicket ()Lcom/l7tech/kerberos/KerberosGSSAPReqTicket;
      // 22d: invokestatic com/l7tech/kerberos/KerberosUtils.getSessionIdentifier (Lcom/l7tech/kerberos/KerberosGSSAPReqTicket;)Ljava/lang/String;
      // 230: astore 8
      // 232: aload 0
      // 233: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.g Lcom/l7tech/server/security/kerberos/KerberosSessionContextManager;
      // 236: aload 8
      // 238: invokevirtual com/l7tech/server/security/kerberos/KerberosSessionContextManager.getSession (Ljava/lang/String;)Lcom/l7tech/server/security/kerberos/KerberosSession;
      // 23b: ifnonnull 26f
      // 23e: aload 0
      // 23f: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.g Lcom/l7tech/server/security/kerberos/KerberosSessionContextManager;
      // 242: aload 8
      // 244: aload 6
      // 246: invokevirtual com/l7tech/kerberos/KerberosServiceTicket.getExpiry ()J
      // 249: aload 7
      // 24b: aload 6
      // 24d: invokevirtual com/l7tech/kerberos/KerberosServiceTicket.getKey ()[B
      // 250: invokevirtual com/l7tech/server/security/kerberos/KerberosSessionContextManager.createSession (Ljava/lang/String;JLcom/l7tech/policy/assertion/credential/LoginCredentials;[B)Lcom/l7tech/server/security/kerberos/KerberosSession;
      // 253: pop
      // 254: goto 26f
      // 257: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 25a: athrow
      // 25b: astore 9
      // 25d: aload 0
      // 25e: getfield com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.logger Ljava/util/logging/Logger;
      // 261: getstatic java/util/logging/Level.SEVERE Ljava/util/logging/Level;
      // 264: getstatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.j [Ljava/lang/String;
      // 267: bipush 8
      // 269: aaload
      // 26a: aload 9
      // 26c: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 26f: aload 6
      // 271: invokevirtual com/l7tech/kerberos/KerberosServiceTicket.getEncData ()Lorg/jaaslounge/decoding/kerberos/KerberosEncData;
      // 274: astore 9
      // 276: aconst_null
      // 277: aload 9
      // 279: if_acmpeq 28e
      // 27c: aload 1
      // 27d: getstatic com/l7tech/policy/assertion/xmlsec/RequestWssKerberos.KERBEROS_DATA Ljava/lang/String;
      // 280: aload 9
      // 282: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setVariable (Ljava/lang/String;Ljava/lang/Object;)V 3
      // 287: goto 28e
      // 28a: invokestatic com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 28d: athrow
      // 28e: aload 0
      // 28f: aload 1
      // 290: aload 6
      // 292: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.a (Lcom/l7tech/server/message/PolicyEnforcementContext;Lcom/l7tech/kerberos/KerberosServiceTicket;)V
      // 295: getstatic com/l7tech/policy/assertion/AssertionStatus.NONE Lcom/l7tech/policy/assertion/AssertionStatus;
      // 298: areturn
      // 299: aload 0
      // 29a: getstatic com/l7tech/gateway/common/audit/AssertionMessages.REQUEST_WSS_KERBEROS_NO_TICKET Lcom/l7tech/gateway/common/audit/Messages$M;
      // 29d: invokevirtual com/l7tech/server/policy/assertion/xmlsec/ServerRequestWssKerberos.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;)V
      // 2a0: aload 1
      // 2a1: invokeinterface com/l7tech/server/message/PolicyEnforcementContext.setAuthenticationMissing ()V 1
      // 2a6: getstatic com/l7tech/policy/assertion/AssertionStatus.AUTH_REQUIRED Lcom/l7tech/policy/assertion/AssertionStatus;
      // 2a9: areturn
      // try (0 -> 9): 9 org/xml/sax/SAXException
      // try (11 -> 19): 55 org/xml/sax/SAXException
      // try (11 -> 20): 20 com/l7tech/server/security/kerberos/KerberosSessionContextManager$DuplicateSessionException
      // try (22 -> 54): 55 org/xml/sax/SAXException
      // try (197 -> 206): 206 org/xml/sax/SAXException
      // try (195 -> 199): 200 org/xml/sax/SAXException
      // try (151 -> 181): 181 org/xml/sax/SAXException
      // try (145 -> 157): 158 org/xml/sax/SAXException
      // try (109 -> 114): 114 org/xml/sax/SAXException
      // try (100 -> 105): 105 org/xml/sax/SAXException
      // try (77 -> 86): 86 org/xml/sax/SAXException
      // try (61 -> 72): 72 org/xml/sax/SAXException
      // try (247 -> 257): 260 com/l7tech/server/security/kerberos/KerberosSessionContextManager$DuplicateSessionException
      // try (242 -> 258): 258 org/xml/sax/SAXException
      // try (272 -> 279): 280 org/xml/sax/SAXException
   }

   private void a(PolicyEnforcementContext var1, KerberosServiceTicket var2) {
      var1.addDeferredAssertion(this, new b(this, this.h, var2));
   }

   private String a(String var1) {
      String var2 = "";
      int var3 = var1.lastIndexOf("@");
      if (var3 > -1) {
         var2 = var1.substring(var3 + 1);
      }

      return var2;
   }

   static {
      String[] var5 = new String[10];
      int var3 = 0;
      String var2 = "EQFaoK\u0010]gQpyP\u0010@w[m~\\\u0007ZyUmk^\u001a\\-YGG-zK\u0010MQGpeKQKZUaf\\;KRQqx\\\u001b|QEvoJ\u000b~F[`oJ\fGZS\u0004\t\u0018\u0014$\u0003\t\u001d\u001a\u0015]QWvxP\u000bW`[hoW-KG[o|\\\r0gSZlxP\u0011I\u0014\u007ffx[\u001a\\[G#y\\\f]][m*_\u0010\\\u0014UmeM\u0017KF\u0014poK\tGWQ#\"\u001e\u0015]QWvxP\u000bWw[m~\\\u0007Zr]mn\\\r\f]QFuoK<AZRjm";
      int var4 = "EQFaoK\u0010]gQpyP\u0010@w[m~\\\u0007ZyUmk^\u001a\\-YGG-zK\u0010MQGpeKQKZUaf\\;KRQqx\\\u001b|QEvoJ\u000b~F[`oJ\fGZS\u0004\t\u0018\u0014$\u0003\t\u001d\u001a\u0015]QWvxP\u000bW`[hoW-KG[o|\\\r0gSZlxP\u0011I\u0014\u007ffx[\u001a\\[G#y\\\f]][m*_\u0010\\\u0014UmeM\u0017KF\u0014poK\tGWQ#\"\u001e\u0015]QWvxP\u000bWw[m~\\\u0007Zr]mn\\\r\f]QFuoK<AZRjm"
         .length();
      char var1 = 29;
      int var7 = -1;

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

         while (true) {
            String var8 = b(var10000, b(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     j = var5;
                     i = !ServerRequestWssKerberos.class.desiredAssertionStatus();
                     return;
                  }

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

                  var2 = "t_Zq}D\u0000DO\nnqT\u0012YED=\u007fB\u0018\u0010OXo{UAGBOs4D\u0013UK^tz@A[OX\u007fqU\u000eC\nYxgT\b_D\u0004\u0007bO[hqT\u0015";
                  var4 = "t_Zq}D\u0000DO\nnqT\u0012YED=\u007fB\u0018\u0010OXo{UAGBOs4D\u0013UK^tz@A[OX\u007fqU\u000eC\nYxgT\b_D\u0004\u0007bO[hqT\u0015"
                     .length();
                  var1 = ';';
                  var7 = -1;
            }

            var10000 = 50;
            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] ^ 83);
      }

      return var10000;
   }

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

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 2;
            case 1 -> 24;
            case 2 -> 24;
            case 3 -> 47;
            case 4 -> 38;
            case 5 -> 21;
            default -> 83;
         });
      }

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