package com.l7tech.server.transport.http;

import com.l7tech.gateway.common.Component;
import com.l7tech.gateway.common.LicenseManager;
import com.l7tech.gateway.common.audit.SystemMessages;
import com.l7tech.gateway.common.security.keystore.SsgKeyEntry;
import com.l7tech.gateway.common.transport.SsgConnector;
import com.l7tech.gateway.common.transport.TransportDescriptor;
import com.l7tech.gateway.common.transport.SsgConnector.Endpoint;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.objectmodel.SaveException;
import com.l7tech.server.DefaultKey;
import com.l7tech.server.LifecycleException;
import com.l7tech.server.ServerConfig;
import com.l7tech.server.audit.AuditContextUtils;
import com.l7tech.server.event.EntityInvalidationEvent;
import com.l7tech.server.event.system.ReadyForMessages;
import com.l7tech.server.event.system.TransportEvent;
import com.l7tech.server.identity.cert.TrustedCertServices;
import com.l7tech.server.security.keystore.KeystoreFile;
import com.l7tech.server.service.BundleBootstrapCompleteEvent;
import com.l7tech.server.tomcat.SsgAbstractHttp11JsseProtocol;
import com.l7tech.server.tomcat.SsgHttpConstants;
import com.l7tech.server.transport.ListenerException;
import com.l7tech.server.transport.SsgConnectorActivationEvent;
import com.l7tech.server.transport.SsgConnectorDeactivationEvent;
import com.l7tech.server.transport.SsgConnectorManager;
import com.l7tech.server.transport.TransportModule;
import com.l7tech.server.transport.http.websocket.SsgWebSocketManager;
import com.l7tech.util.CollectionUtils;
import com.l7tech.util.Config;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.MasterPasswordManager;
import com.l7tech.util.Pair;
import com.l7tech.util.SyspropUtil;
import com.l7tech.util.ValidationUtils;
import com.l7tech.util.Functions.UnaryVoid;
import jakarta.servlet.ServletRequest;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.io.IOException;
import java.lang.ref.Reference;
import java.lang.ref.WeakReference;
import java.security.KeyStoreException;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.EnumSet;
import java.util.Map;
import java.util.Set;
import java.util.Map.Entry;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicLong;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.apache.catalina.Executor;
import org.apache.catalina.connector.Connector;
import org.apache.catalina.core.StandardThreadExecutor;
import org.apache.catalina.startup.Tomcat;
import org.jetbrains.annotations.Nullable;
import org.jetbrains.annotations.VisibleForTesting;
import org.springframework.context.ApplicationContext;
import org.springframework.context.ApplicationEvent;

public class HttpTransportModule extends TransportModule implements PropertyChangeListener {
   private static final Logger l;
   public static final String CONNECTOR_ATTR_TRANSPORT_MODULE_ID;
   public static final String CONNECTOR_ATTR_CONNECTOR_OID;
   public static final String INIT_PARAM_INSTANCE_ID;
   static final String m;
   static final String n;
   static final String o;
   private static final String p;
   private static final String q;
   private static final String r;
   private static final String s;
   @VisibleForTesting
   static final String t;
   private static final String u;
   private static final String v;
   protected static final String HSTS_CONNECTOR_PROPERTY;
   private static final String w;
   private static final String x;
   private static final AtomicLong y;
   private static final Map<Long, Reference<HttpTransportModule>> z;
   static boolean A;
   static final String B;
   static SsgConnector C;
   static HttpTransportModule D;
   private final long E;
   private final Set<String> F;
   private final AtomicBoolean G;
   private final AtomicBoolean H;
   private final AtomicInteger I;
   private final ServerConfig J;
   private final MasterPasswordManager K;
   private final Map<Goid, Pair<SsgConnector, Connector>> L;
   private final Map<Goid, AtomicInteger> M;
   private final Map<Goid, Integer> N;
   private final AtomicLong O;
   private Tomcat P;
   private StandardThreadExecutor Q;
   private static final String[] T;

   public HttpTransportModule(
      ServerConfig var1, MasterPasswordManager var2, DefaultKey var3, LicenseManager var4, SsgConnectorManager var5, TrustedCertServices var6
   ) {
      String[] var7 = T;
      super(var7[47], Component.GW_HTTPRECV, l, var7[80], var4, var5, var6, var3, var1);
      this.F = CollectionUtils.caseInsensitiveSet(new String[]{SsgConnector.SCHEME_HTTP, SsgConnector.SCHEME_HTTPS});
      this.G = new AtomicBoolean(false);
      this.H = new AtomicBoolean(false);
      this.I = new AtomicInteger();
      this.L = new ConcurrentHashMap<>();
      this.M = new ConcurrentHashMap<>();
      this.N = new ConcurrentHashMap<>();
      this.O = new AtomicLong();
      this.J = var1;
      this.K = var2;
      this.E = y.getAndIncrement();
      z.put(this.E, new WeakReference<>(this));
   }

   private void a() throws LifecycleException {
      // $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/transport/http/HttpTransportModule.G Ljava/util/concurrent/atomic/AtomicBoolean;
      // 004: bipush 0
      // 005: bipush 1
      // 006: invokevirtual java/util/concurrent/atomic/AtomicBoolean.compareAndSet (ZZ)Z
      // 009: ifne 011
      // 00c: return
      // 00d: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 010: athrow
      // 011: invokestatic org/apache/catalina/webresources/TomcatURLStreamHandlerFactory.disable ()Z
      // 014: pop
      // 015: invokestatic jakarta/security/auth/message/config/AuthConfigFactory.getFactory ()Ljakarta/security/auth/message/config/AuthConfigFactory;
      // 018: pop
      // 019: aload 0
      // 01a: new org/apache/catalina/startup/Tomcat
      // 01d: dup
      // 01e: invokespecial org/apache/catalina/startup/Tomcat.<init> ()V
      // 021: putfield com/l7tech/server/transport/http/HttpTransportModule.P Lorg/apache/catalina/startup/Tomcat;
      // 024: aload 0
      // 025: getfield com/l7tech/server/transport/http/HttpTransportModule.P Lorg/apache/catalina/startup/Tomcat;
      // 028: invokestatic com/l7tech/util/InetAddressUtil.getLocalHostName ()Ljava/lang/String;
      // 02b: invokevirtual org/apache/catalina/startup/Tomcat.setHostname (Ljava/lang/String;)V
      // 02e: aload 0
      // 02f: getfield com/l7tech/server/transport/http/HttpTransportModule.P Lorg/apache/catalina/startup/Tomcat;
      // 032: getstatic com/l7tech/server/transport/http/HttpTransportModule.T [Ljava/lang/String;
      // 035: astore 13
      // 037: aload 13
      // 039: bipush 14
      // 03b: aaload
      // 03c: invokestatic java/lang/System.getProperty (Ljava/lang/String;)Ljava/lang/String;
      // 03f: invokevirtual org/apache/catalina/startup/Tomcat.setBaseDir (Ljava/lang/String;)V
      // 042: aload 0
      // 043: getfield com/l7tech/server/transport/http/HttpTransportModule.P Lorg/apache/catalina/startup/Tomcat;
      // 046: invokevirtual org/apache/catalina/startup/Tomcat.getServer ()Lorg/apache/catalina/Server;
      // 049: pop
      // 04a: aload 0
      // 04b: getfield com/l7tech/server/transport/http/HttpTransportModule.P Lorg/apache/catalina/startup/Tomcat;
      // 04e: invokevirtual org/apache/catalina/startup/Tomcat.enableNaming ()V
      // 051: aload 0
      // 052: getfield com/l7tech/server/transport/http/HttpTransportModule.P Lorg/apache/catalina/startup/Tomcat;
      // 055: bipush 0
      // 056: invokevirtual org/apache/catalina/startup/Tomcat.setAddDefaultWebXmlToWebapp (Z)V
      // 059: aload 0
      // 05a: getfield com/l7tech/server/transport/http/HttpTransportModule.J Lcom/l7tech/server/ServerConfig;
      // 05d: aload 13
      // 05f: bipush 20
      // 061: aaload
      // 062: sipush 200
      // 065: invokevirtual com/l7tech/server/ServerConfig.getIntProperty (Ljava/lang/String;I)I
      // 068: istore 1
      // 069: aload 0
      // 06a: getfield com/l7tech/server/transport/http/HttpTransportModule.J Lcom/l7tech/server/ServerConfig;
      // 06d: aload 13
      // 06f: bipush 35
      // 071: aaload
      // 072: iload 1
      // 073: bipush 2
      // 074: idiv
      // 075: invokevirtual com/l7tech/server/ServerConfig.getIntProperty (Ljava/lang/String;I)I
      // 078: istore 2
      // 079: aload 0
      // 07a: aload 0
      // 07b: aload 13
      // 07d: bipush 59
      // 07f: aaload
      // 080: iload 2
      // 081: iload 1
      // 082: invokevirtual com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/String;II)Lorg/apache/catalina/core/StandardThreadExecutor;
      // 085: putfield com/l7tech/server/transport/http/HttpTransportModule.Q Lorg/apache/catalina/core/StandardThreadExecutor;
      // 088: aload 0
      // 089: getfield com/l7tech/server/transport/http/HttpTransportModule.P Lorg/apache/catalina/startup/Tomcat;
      // 08c: invokevirtual org/apache/catalina/startup/Tomcat.getService ()Lorg/apache/catalina/Service;
      // 08f: aload 0
      // 090: getfield com/l7tech/server/transport/http/HttpTransportModule.Q Lorg/apache/catalina/core/StandardThreadExecutor;
      // 093: invokeinterface org/apache/catalina/Service.addExecutor (Lorg/apache/catalina/Executor;)V 2
      // 098: aload 0
      // 099: getfield com/l7tech/server/transport/http/HttpTransportModule.P Lorg/apache/catalina/startup/Tomcat;
      // 09c: invokevirtual org/apache/catalina/startup/Tomcat.getEngine ()Lorg/apache/catalina/Engine;
      // 09f: astore 3
      // 0a0: aload 3
      // 0a1: aload 13
      // 0a3: bipush 86
      // 0a5: aaload
      // 0a6: invokeinterface org/apache/catalina/Engine.setName (Ljava/lang/String;)V 2
      // 0ab: aload 3
      // 0ac: invokestatic com/l7tech/util/InetAddressUtil.getLocalHostName ()Ljava/lang/String;
      // 0af: invokeinterface org/apache/catalina/Engine.setDefaultHost (Ljava/lang/String;)V 2
      // 0b4: aload 3
      // 0b5: aload 0
      // 0b6: getfield com/l7tech/server/transport/http/HttpTransportModule.P Lorg/apache/catalina/startup/Tomcat;
      // 0b9: invokevirtual org/apache/catalina/startup/Tomcat.getService ()Lorg/apache/catalina/Service;
      // 0bc: invokeinterface org/apache/catalina/Engine.setService (Lorg/apache/catalina/Service;)V 2
      // 0c1: aload 0
      // 0c2: getfield com/l7tech/server/transport/http/HttpTransportModule.J Lcom/l7tech/server/ServerConfig;
      // 0c5: aload 13
      // 0c7: bipush 111
      // 0c9: aaload
      // 0ca: aconst_null
      // 0cb: bipush 0
      // 0cc: invokevirtual com/l7tech/server/ServerConfig.getLocalDirectoryProperty (Ljava/lang/String;Ljava/lang/String;Z)Ljava/io/File;
      // 0cf: astore 4
      // 0d1: aload 4
      // 0d3: ifnonnull 0e7
      // 0d6: new com/l7tech/server/LifecycleException
      // 0d9: dup
      // 0da: aload 13
      // 0dc: bipush 56
      // 0de: aaload
      // 0df: invokespecial com/l7tech/server/LifecycleException.<init> (Ljava/lang/String;)V
      // 0e2: athrow
      // 0e3: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0e6: athrow
      // 0e7: aload 4
      // 0e9: invokevirtual java/io/File.exists ()Z
      // 0ec: ifeq 0fe
      // 0ef: aload 4
      // 0f1: invokevirtual java/io/File.isDirectory ()Z
      // 0f4: ifne 11b
      // 0f7: goto 0fe
      // 0fa: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 0fd: athrow
      // 0fe: new com/l7tech/server/LifecycleException
      // 101: dup
      // 102: aload 4
      // 104: invokevirtual java/io/File.getPath ()Ljava/lang/String;
      // 107: getstatic com/l7tech/server/transport/http/HttpTransportModule.T [Ljava/lang/String;
      // 10a: bipush 123
      // 10c: aaload
      // 10d: swap
      // 10e: 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" ]
      // 113: invokespecial com/l7tech/server/LifecycleException.<init> (Ljava/lang/String;)V
      // 116: athrow
      // 117: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11a: athrow
      // 11b: aload 4
      // 11d: invokevirtual java/io/File.getAbsolutePath ()Ljava/lang/String;
      // 120: astore 5
      // 122: aload 0
      // 123: getfield com/l7tech/server/transport/http/HttpTransportModule.P Lorg/apache/catalina/startup/Tomcat;
      // 126: invokevirtual org/apache/catalina/startup/Tomcat.getHost ()Lorg/apache/catalina/Host;
      // 129: astore 6
      // 12b: aload 6
      // 12d: aload 5
      // 12f: invokeinterface org/apache/catalina/Host.setAppBase (Ljava/lang/String;)V 2
      // 134: aload 6
      // 136: invokeinterface org/apache/catalina/Host.getPipeline ()Lorg/apache/catalina/Pipeline; 1
      // 13b: new com/l7tech/server/tomcat/ConnectionIdValve
      // 13e: dup
      // 13f: aload 0
      // 140: invokespecial com/l7tech/server/tomcat/ConnectionIdValve.<init> (Lcom/l7tech/server/transport/http/HttpTransportModule;)V
      // 143: invokeinterface org/apache/catalina/Pipeline.addValve (Lorg/apache/catalina/Valve;)V 2
      // 148: aload 6
      // 14a: invokeinterface org/apache/catalina/Host.getPipeline ()Lorg/apache/catalina/Pipeline; 1
      // 14f: new com/l7tech/server/tomcat/ResponseKillerValve
      // 152: dup
      // 153: invokespecial com/l7tech/server/tomcat/ResponseKillerValve.<init> ()V
      // 156: invokeinterface org/apache/catalina/Pipeline.addValve (Lorg/apache/catalina/Valve;)V 2
      // 15b: aload 6
      // 15d: checkcast org/apache/catalina/core/StandardHost
      // 160: ldc com/l7tech/server/tomcat/SsgErrorReportValve
      // 162: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 165: invokevirtual org/apache/catalina/core/StandardHost.setErrorReportValveClass (Ljava/lang/String;)V
      // 168: aload 0
      // 169: getfield com/l7tech/server/transport/http/HttpTransportModule.P Lorg/apache/catalina/startup/Tomcat;
      // 16c: aload 6
      // 16e: ldc ""
      // 170: aload 5
      // 172: new com/l7tech/server/tomcat/SsgContextConfig
      // 175: dup
      // 176: aload 0
      // 177: invokevirtual com/l7tech/server/transport/http/HttpTransportModule.getApplicationContext ()Lorg/springframework/context/ApplicationContext;
      // 17a: getstatic com/l7tech/server/transport/http/HttpTransportModule.T [Ljava/lang/String;
      // 17d: astore 13
      // 17f: aload 13
      // 181: bipush 50
      // 183: aaload
      // 184: invokeinterface org/springframework/context/ApplicationContext.containsBean (Ljava/lang/String;)Z 2
      // 189: invokespecial com/l7tech/server/tomcat/SsgContextConfig.<init> (Z)V
      // 18c: invokevirtual org/apache/catalina/startup/Tomcat.addWebapp (Lorg/apache/catalina/Host;Ljava/lang/String;Ljava/lang/String;Lorg/apache/catalina/LifecycleListener;)Lorg/apache/catalina/Context;
      // 18f: checkcast org/apache/catalina/core/StandardContext
      // 192: astore 7
      // 194: aload 0
      // 195: getfield com/l7tech/server/transport/http/HttpTransportModule.J Lcom/l7tech/server/ServerConfig;
      // 198: aload 13
      // 19a: sipush 138
      // 19d: aaload
      // 19e: invokevirtual com/l7tech/server/ServerConfig.getProperty (Ljava/lang/String;)Ljava/lang/String;
      // 1a1: astore 8
      // 1a3: aload 7
      // 1a5: aload 8
      // 1a7: invokevirtual org/apache/catalina/core/StandardContext.setSessionCookieName (Ljava/lang/String;)V
      // 1aa: aload 0
      // 1ab: getfield com/l7tech/server/transport/http/HttpTransportModule.J Lcom/l7tech/server/ServerConfig;
      // 1ae: aload 13
      // 1b0: sipush 141
      // 1b3: aaload
      // 1b4: invokevirtual com/l7tech/server/ServerConfig.getProperty (Ljava/lang/String;)Ljava/lang/String;
      // 1b7: astore 9
      // 1b9: aload 9
      // 1bb: ifnull 1d9
      // 1be: aload 7
      // 1c0: aload 9
      // 1c2: getstatic java/io/File.separatorChar C
      // 1c5: aload 13
      // 1c7: bipush 39
      // 1c9: aaload
      // 1ca: invokedynamic makeConcatWithConstants (Ljava/lang/String;CLjava/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" ]
      // 1cf: invokevirtual org/apache/catalina/core/StandardContext.setWorkDir (Ljava/lang/String;)V
      // 1d2: goto 1d9
      // 1d5: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1d8: athrow
      // 1d9: aload 7
      // 1db: new com/l7tech/server/transport/http/q
      // 1de: dup
      // 1df: aload 0
      // 1e0: invokespecial com/l7tech/server/transport/http/q.<init> (Lcom/l7tech/server/transport/http/HttpTransportModule;)V
      // 1e3: invokevirtual org/apache/catalina/core/StandardContext.setManager (Lorg/apache/catalina/Manager;)V
      // 1e6: aload 7
      // 1e8: getstatic com/l7tech/server/transport/http/HttpTransportModule.T [Ljava/lang/String;
      // 1eb: astore 13
      // 1ed: aload 13
      // 1ef: bipush 1
      // 1f0: aaload
      // 1f1: aload 0
      // 1f2: getfield com/l7tech/server/transport/http/HttpTransportModule.E J
      // 1f5: invokestatic java/lang/Long.toString (J)Ljava/lang/String;
      // 1f8: invokevirtual org/apache/catalina/core/StandardContext.addParameter (Ljava/lang/String;Ljava/lang/String;)V
      // 1fb: aload 7
      // 1fd: aload 13
      // 1ff: bipush 23
      // 201: aaload
      // 202: invokevirtual org/apache/catalina/core/StandardContext.setName (Ljava/lang/String;)V
      // 205: aload 7
      // 207: aload 13
      // 209: bipush 112
      // 20b: aaload
      // 20c: aload 13
      // 20e: bipush 9
      // 210: aaload
      // 211: invokevirtual org/apache/catalina/core/StandardContext.addMimeMapping (Ljava/lang/String;Ljava/lang/String;)V
      // 214: aload 7
      // 216: aload 13
      // 218: bipush 28
      // 21a: aaload
      // 21b: aload 13
      // 21d: sipush 133
      // 220: aaload
      // 221: invokevirtual org/apache/catalina/core/StandardContext.addMimeMapping (Ljava/lang/String;Ljava/lang/String;)V
      // 224: aload 7
      // 226: aload 13
      // 228: bipush 127
      // 22a: aaload
      // 22b: aload 13
      // 22d: bipush 17
      // 22f: aaload
      // 230: invokevirtual org/apache/catalina/core/StandardContext.addMimeMapping (Ljava/lang/String;Ljava/lang/String;)V
      // 233: aload 7
      // 235: aload 13
      // 237: bipush 37
      // 239: aaload
      // 23a: aload 13
      // 23c: bipush 61
      // 23e: aaload
      // 23f: invokevirtual org/apache/catalina/core/StandardContext.addMimeMapping (Ljava/lang/String;Ljava/lang/String;)V
      // 242: aload 7
      // 244: aload 13
      // 246: bipush 12
      // 248: aaload
      // 249: aload 13
      // 24b: bipush 77
      // 24d: aaload
      // 24e: invokevirtual org/apache/catalina/core/StandardContext.addMimeMapping (Ljava/lang/String;Ljava/lang/String;)V
      // 251: aload 7
      // 253: aload 13
      // 255: bipush 70
      // 257: aaload
      // 258: aload 13
      // 25a: bipush 24
      // 25c: aaload
      // 25d: invokevirtual org/apache/catalina/core/StandardContext.addMimeMapping (Ljava/lang/String;Ljava/lang/String;)V
      // 260: aload 7
      // 262: aload 13
      // 264: bipush 43
      // 266: aaload
      // 267: aload 13
      // 269: sipush 137
      // 26c: aaload
      // 26d: invokevirtual org/apache/catalina/core/StandardContext.addMimeMapping (Ljava/lang/String;Ljava/lang/String;)V
      // 270: aload 7
      // 272: aload 13
      // 274: bipush 73
      // 276: aaload
      // 277: aload 13
      // 279: sipush 142
      // 27c: aaload
      // 27d: invokevirtual org/apache/catalina/core/StandardContext.addMimeMapping (Ljava/lang/String;Ljava/lang/String;)V
      // 280: aload 7
      // 282: aload 13
      // 284: bipush 41
      // 286: aaload
      // 287: aload 13
      // 289: sipush 131
      // 28c: aaload
      // 28d: invokevirtual org/apache/catalina/core/StandardContext.addMimeMapping (Ljava/lang/String;Ljava/lang/String;)V
      // 290: aload 7
      // 292: invokevirtual org/apache/catalina/core/StandardContext.createWrapper ()Lorg/apache/catalina/Wrapper;
      // 295: checkcast org/apache/catalina/core/StandardWrapper
      // 298: astore 10
      // 29a: aload 10
      // 29c: ldc com/l7tech/server/transport/http/SsgDefaultServlet
      // 29e: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 2a1: invokevirtual org/apache/catalina/core/StandardWrapper.setServletClass (Ljava/lang/String;)V
      // 2a4: aload 10
      // 2a6: aload 13
      // 2a8: bipush 76
      // 2aa: aaload
      // 2ab: invokevirtual org/apache/catalina/core/StandardWrapper.setName (Ljava/lang/String;)V
      // 2ae: aload 10
      // 2b0: bipush 1
      // 2b1: invokevirtual org/apache/catalina/core/StandardWrapper.setLoadOnStartup (I)V
      // 2b4: aload 7
      // 2b6: aload 10
      // 2b8: invokevirtual org/apache/catalina/core/StandardContext.addChild (Lorg/apache/catalina/Container;)V
      // 2bb: aload 7
      // 2bd: ldc "/"
      // 2bf: aload 13
      // 2c1: bipush 68
      // 2c3: aaload
      // 2c4: invokevirtual org/apache/catalina/core/StandardContext.addServletMappingDecoded (Ljava/lang/String;Ljava/lang/String;)V
      // 2c7: new org/apache/catalina/webresources/StandardRoot
      // 2ca: dup
      // 2cb: aload 7
      // 2cd: invokespecial org/apache/catalina/webresources/StandardRoot.<init> (Lorg/apache/catalina/Context;)V
      // 2d0: astore 11
      // 2d2: aload 7
      // 2d4: aload 11
      // 2d6: invokevirtual org/apache/catalina/core/StandardContext.setResources (Lorg/apache/catalina/WebResourceRoot;)V
      // 2d9: aload 7
      // 2db: new com/l7tech/server/tomcat/SsgNopTomcatJarScanner
      // 2de: dup
      // 2df: invokespecial com/l7tech/server/tomcat/SsgNopTomcatJarScanner.<init> ()V
      // 2e2: invokevirtual org/apache/catalina/core/StandardContext.setJarScanner (Lorg/apache/tomcat/JarScanner;)V
      // 2e5: aload 7
      // 2e7: aload 0
      // 2e8: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 2eb: invokevirtual java/lang/Class.getClassLoader ()Ljava/lang/ClassLoader;
      // 2ee: invokevirtual org/apache/catalina/core/StandardContext.setParentClassLoader (Ljava/lang/ClassLoader;)V
      // 2f1: new org/apache/catalina/loader/WebappLoader
      // 2f4: dup
      // 2f5: invokespecial org/apache/catalina/loader/WebappLoader.<init> ()V
      // 2f8: astore 12
      // 2fa: aload 12
      // 2fc: aload 7
      // 2fe: invokevirtual org/apache/catalina/core/StandardContext.getDelegate ()Z
      // 301: invokevirtual org/apache/catalina/loader/WebappLoader.setDelegate (Z)V
      // 304: aload 12
      // 306: ldc com/l7tech/server/transport/http/HttpTransportModuleWebappClassLoader
      // 308: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 30b: invokevirtual org/apache/catalina/loader/WebappLoader.setLoaderClass (Ljava/lang/String;)V
      // 30e: aload 7
      // 310: aload 12
      // 312: invokevirtual org/apache/catalina/core/StandardContext.setLoader (Lorg/apache/catalina/Loader;)V
      // 315: aload 6
      // 317: aload 7
      // 319: invokeinterface org/apache/catalina/Host.addChild (Lorg/apache/catalina/Container;)V 2
      // 31e: return
      // try (0 -> 7): 7 com/l7tech/server/LifecycleException
      // try (101 -> 110): 110 com/l7tech/server/LifecycleException
      // try (112 -> 118): 119 com/l7tech/server/LifecycleException
      // try (115 -> 132): 132 com/l7tech/server/LifecycleException
      // try (198 -> 208): 209 com/l7tech/server/LifecycleException
   }

   @Override
   public boolean isLicensed() {
      return true;
   }

   @Override
   public void propertyChange(PropertyChangeEvent var1) {
      try {
         if (this.Q == null) {
            return;
         }
      } catch (org.apache.catalina.LifecycleException var10) {
         throw a(var10);
      }

      String var2 = var1.getPropertyName();

      try {
         if (!T[27].equals(var2) && !T[124].equals(var2)) {
            return;
         }
      } catch (org.apache.catalina.LifecycleException var9) {
         throw a(var9);
      }

      try {
         String[] var14 = T;
         int var3 = this.J.getIntProperty(var14[20], 200);
         int var12 = this.J.getIntProperty(var14[35], var3 / 2);
         Pair var5 = this.a(var12, var3);
         var12 = (Integer)var5.left;
         var3 = (Integer)var5.right;

         label31: {
            try {
               l.info(var14[51] + var12 + var14[117] + var3);
               if (var3 > this.Q.getMaxThreads()) {
                  this.Q.setMaxThreads(var3);
                  this.Q.setMinSpareThreads(var12);
                  break label31;
               }
            } catch (org.apache.catalina.LifecycleException var7) {
               throw a(var7);
            }

            this.Q.setMinSpareThreads(var12);
            this.Q.setMaxThreads(var3);
         }

         this.Q.stop();
         this.Q.start();
      } catch (org.apache.catalina.LifecycleException var8) {
         String var10000 = var1.getPropertyName();
         String var10001 = ExceptionUtils.getMessage(var8);
         String[] var6 = T;
         String var4 = var6[100] + var10000 + var6[116] + var10001;
         l.log(Level.SEVERE, var4, var8);
         this.getApplicationContext().publishEvent(new TransportEvent(this, Component.GW_HTTPRECV, null, Level.WARNING, var6[53], var4));
      }
   }

   private Pair<Integer, Integer> a(int var1, int var2) {
      label38: {
         try {
            if (var2 >= 1 && var2 <= 100000) {
               break label38;
            }
         } catch (RuntimeException var4) {
            throw a(var4);
         }

         var2 = 40;
      }

      label30: {
         try {
            if (var1 >= 0 || var1 <= -1000) {
               break label30;
            }
         } catch (RuntimeException var3) {
            throw a(var3);
         }

         var1 = var2 / Math.abs(var1);
      }

      if (var1 < 1) {
         var1 = 1;
      } else if (var1 > var2) {
         var1 = var2;
      }

      return new Pair(var1, var2);
   }

   private StandardThreadExecutor a(String var1, int var2, int var3) {
      Pair var4 = this.a(var2, var3);
      var2 = (Integer)var4.left;
      var3 = (Integer)var4.right;
      StandardThreadExecutor var5 = new StandardThreadExecutor();
      var5.setName(var1);
      var5.setDaemon(true);
      String[] var6 = T;
      var5.setMaxIdleTime(this.J.getIntProperty(var6[96], 60000));
      var5.setMaxThreads(var3);
      var5.setMinSpareThreads(var2);
      var5.setNamePrefix(var6[99] + var1 + "-");
      return var5;
   }

   void b() throws LifecycleException {
      try {
         if (!this.H.compareAndSet(false, true)) {
            return;
         }
      } catch (org.apache.catalina.LifecycleException var14) {
         throw a(var14);
      }

      boolean var1 = false;

      try {
         this.a();
         String[] var15 = T;
         this.logger.log(Level.INFO, var15[143], w);
         this.P.start();
         this.Q.start();
         var1 = true;
      } catch (org.apache.catalina.LifecycleException var11) {
         String var10000 = ExceptionUtils.getMessage(var11);
         String[] var5 = T;
         String var3 = var5[125] + var10000;
         this.auditError(var5[40], var3, ExceptionUtils.getDebugException(var11));
         throw new LifecycleException(var11);
      } finally {
         try {
            if (!var1) {
               this.H.set(false);
            }
         } catch (org.apache.catalina.LifecycleException var12) {
            throw a(var12);
         }
      }
   }

   @Override
   protected void doStop() throws LifecycleException {
      try {
         if (!this.H.get()) {
            return;
         }
      } catch (Exception var9) {
         throw a(var9);
      }

      try {
         for (Goid var3 : new ArrayList<>(this.L.keySet())) {
            this.removeConnector(var3);
         }
      } catch (Exception var8) {
         String[] var5 = T;
         this.auditError(var5[16], var5[81], var8);
      }

      try {
         this.P.getServer();
         this.P.stop();
         this.H.set(false);
         this.d();

         for (Executor var4 : this.P.getService().findExecutors()) {
            try {
               if (var4 != null) {
                  var4.stop();
               }
            } catch (Exception var6) {
               throw a(var6);
            }
         }
      } catch (org.apache.catalina.LifecycleException var7) {
         throw new LifecycleException(var7);
      }
   }

   @Override
   protected void doClose() throws LifecycleException {
      try {
         this.stop();
         this.P.destroy();
      } catch (org.apache.catalina.LifecycleException var5) {
         throw new LifecycleException(var5);
      } finally {
         z.remove(this.E);
      }
   }

   private void a(boolean var1) throws ListenerException {
      boolean var2 = AuditContextUtils.isSystem();
      String[] var9 = T;
      boolean var3 = this.J.getBooleanProperty(var9[3], false);

      try {
         if (var3) {
            SyspropUtil.setProperty(var9[8], String.valueOf(var3));
         }
      } catch (FindException var19) {
         throw a(var19);
      }

      try {
         AuditContextUtils.setSystem(true);
         Collection var4 = this.ssgConnectorManager.findAll();
         boolean var5 = false;

         for (SsgConnector var7 : var4) {
            try {
               if (!var7.isEnabled() || !this.connectorIsOwnedByThisModule(var7)) {
                  continue;
               }
            } catch (FindException var15) {
               throw a(var15);
            }

            var5 = true;
            this.a(var1, var7);
         }

         try {
            if (!var5) {
               this.b(var1);
            }
         } catch (FindException var16) {
            throw a(var16);
         }

         this.a(var4, var1);
      } catch (FindException var17) {
         throw new ListenerException(T[5] + ExceptionUtils.getMessage(var17), var17);
      } finally {
         AuditContextUtils.setSystem(var2);
      }
   }

   private void a(boolean var1, SsgConnector var2) {
      try {
         if (!var1) {
            return;
         }
      } catch (ListenerException var8) {
         throw a(var8);
      }

      try {
         this.addConnector(var2);
      } catch (ListenerException var6) {
         String[] var10 = T;
         this.auditError(
            var10[16], String.format(var10[49], var2.getScheme(), var2.getPort(), ExceptionUtils.getMessage(var6)), ExceptionUtils.getDebugException(var6)
         );
      } catch (Exception var7) {
         String var10000 = ExceptionUtils.getMessage(var7);
         String[] var5 = T;
         Exception var4;
         if (var10000.contains(var5[72])) {
            var4 = (Exception)ExceptionUtils.getDebugException(var7);
         } else {
            var4 = var7;
         }

         var5 = T;
         this.auditError(var5[16], String.format(var5[49], var2.getScheme(), var2.getPort(), ExceptionUtils.getMessage(var7)), var4);
      }
   }

   private void b(boolean var1) {
      for (SsgConnector var4 : DefaultHttpConnectors.getDefaultConnectors()) {
         try {
            this.ssgConnectorManager.save(var4);
            if (var1) {
               this.addConnector(var4);
            }
         } catch (SaveException var7) {
            Logger var10000 = l;
            Level var10001 = Level.WARNING;
            String var10002 = ExceptionUtils.getMessage(var7);
            String[] var10 = T;
            var10000.log(var10001, var10[103] + var10002, var7);
         } catch (ListenerException var8) {
            String[] var6 = T;
            l.log(
               Level.WARNING,
               String.format(var6[119], var4.getScheme(), var4.getPort(), ExceptionUtils.getMessage(var8)),
               ExceptionUtils.getDebugException(var8)
            );
         } catch (Exception var9) {
            l.log(Level.WARNING, String.format(T[49], var4.getScheme(), var4.getPort(), ExceptionUtils.getMessage(var9)), var9);
         }
      }
   }

   private void a(Collection<SsgConnector> var1, boolean var2) {
      for (SsgConnector var5 : DefaultHttpConnectors.getRequiredConnectors(var1)) {
         try {
            this.ssgConnectorManager.save(var5);
            if (var2) {
               this.addConnector(var5);
            }
         } catch (SaveException var8) {
            Logger var10000 = l;
            Level var10001 = Level.WARNING;
            String var10002 = ExceptionUtils.getMessage(var8);
            String[] var11 = T;
            var10000.log(var10001, var11[15] + var10002, var8);
         } catch (ListenerException var9) {
            String[] var7 = T;
            l.log(
               Level.WARNING,
               String.format(var7[49], var5.getScheme(), var5.getPort(), ExceptionUtils.getMessage(var9)),
               ExceptionUtils.getDebugException(var9)
            );
         } catch (Exception var10) {
            l.log(Level.WARNING, String.format(T[49], var5.getScheme(), var5.getPort(), ExceptionUtils.getMessage(var10)), var10);
         }
      }
   }

   @Override
   protected void addConnector(SsgConnector var1) throws ListenerException {
      try {
         if (var1.getGoid().equals(SsgConnector.DEFAULT_GOID)) {
            throw new ListenerException(T[91]);
         }
      } catch (ListenerException var9) {
         throw a(var9);
      }

      try {
         if (this.isCurrent(var1.getGoid(), var1.getVersion())) {
            return;
         }
      } catch (ListenerException var5) {
         throw a(var5);
      }

      try {
         this.removeConnector(var1.getGoid());
         if (!this.connectorIsOwnedByThisModule(var1)) {
            return;
         }
      } catch (ListenerException var8) {
         throw a(var8);
      }

      var1 = var1.getReadOnlyCopy();
      Map var2 = this.a(var1);
      String[] var4 = T;
      var2.remove(var4[36]);
      String var3 = var1.getScheme();

      label57: {
         try {
            if (SsgConnector.SCHEME_HTTP.equals(var3)) {
               this.a(var1, var1.getPort(), var2);
               break label57;
            }
         } catch (ListenerException var7) {
            throw a(var7);
         }

         try {
            if (SsgConnector.SCHEME_HTTPS.equals(var3)) {
               this.b(var1, var1.getPort(), var2);
               break label57;
            }
         } catch (ListenerException var6) {
            throw a(var6);
         }

         l.log(Level.WARNING, T[48] + var3);
      }

      this.c(var1);
   }

   @Override
   protected boolean isCurrent(Goid param1, int 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:
      // 00: aload 0
      // 01: getfield com/l7tech/server/transport/http/HttpTransportModule.L Ljava/util/Map;
      // 04: aload 1
      // 05: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 0a: checkcast com/l7tech/util/Pair
      // 0d: astore 4
      // 0f: aload 4
      // 11: ifnull 32
      // 14: aload 4
      // 16: getfield com/l7tech/util/Pair.left Ljava/lang/Object;
      // 19: checkcast com/l7tech/gateway/common/transport/SsgConnector
      // 1c: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.getVersion ()I
      // 1f: iload 2
      // 20: if_icmpne 32
      // 23: goto 2a
      // 26: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 29: athrow
      // 2a: bipush 1
      // 2b: goto 33
      // 2e: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 31: athrow
      // 32: bipush 0
      // 33: istore 3
      // 34: iload 3
      // 35: ireturn
      // try (6 -> 14): 15 java/lang/RuntimeException
      // try (8 -> 19): 19 java/lang/RuntimeException
   }

   @VisibleForTesting
   Map<String, Object> a(SsgConnector param1) throws ListenerException {
      // $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: new java/util/LinkedHashMap
      // 003: dup
      // 004: invokespecial java/util/LinkedHashMap.<init> ()V
      // 007: astore 2
      // 008: aload 2
      // 009: getstatic com/l7tech/server/transport/http/HttpTransportModule.T [Ljava/lang/String;
      // 00c: astore 9
      // 00e: aload 9
      // 010: bipush 57
      // 012: aaload
      // 013: aload 9
      // 015: bipush 29
      // 017: aaload
      // 018: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 01d: pop
      // 01e: aload 2
      // 01f: aload 9
      // 021: bipush 64
      // 023: aaload
      // 024: aload 9
      // 026: bipush 60
      // 028: aaload
      // 029: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 02e: pop
      // 02f: aload 2
      // 030: aload 9
      // 032: bipush 33
      // 034: aaload
      // 035: aload 9
      // 037: bipush 78
      // 039: aaload
      // 03a: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 03f: pop
      // 040: aload 2
      // 041: aload 9
      // 043: bipush 10
      // 045: aaload
      // 046: aload 9
      // 048: bipush 122
      // 04a: aaload
      // 04b: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 050: pop
      // 051: aload 1
      // 052: getstatic com/l7tech/gateway/common/transport/SsgConnector.PROP_BIND_ADDRESS Ljava/lang/String;
      // 055: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.getProperty (Ljava/lang/String;)Ljava/lang/String;
      // 058: astore 3
      // 059: aload 3
      // 05a: ifnull 06b
      // 05d: aload 3
      // 05e: invokestatic com/l7tech/util/InetAddressUtil.isAnyHostAddress (Ljava/lang/String;)Z
      // 061: ifeq 07f
      // 064: goto 06b
      // 067: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 06a: athrow
      // 06b: aload 2
      // 06c: getstatic com/l7tech/server/transport/http/HttpTransportModule.T [Ljava/lang/String;
      // 06f: bipush 52
      // 071: aaload
      // 072: invokeinterface java/util/Map.remove (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 077: pop
      // 078: goto 09e
      // 07b: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 07e: athrow
      // 07f: aload 2
      // 080: getstatic com/l7tech/server/transport/http/HttpTransportModule.T [Ljava/lang/String;
      // 083: astore 9
      // 085: aload 9
      // 087: bipush 104
      // 089: aaload
      // 08a: aload 0
      // 08b: getfield com/l7tech/server/transport/http/HttpTransportModule.ssgConnectorManager Lcom/l7tech/server/transport/SsgConnectorManager;
      // 08e: aload 3
      // 08f: aload 1
      // 090: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.getPort ()I
      // 093: invokeinterface com/l7tech/server/transport/SsgConnectorManager.translateBindAddress (Ljava/lang/String;I)Ljava/lang/String; 3
      // 098: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 09d: pop
      // 09e: aload 2
      // 09f: getstatic com/l7tech/server/transport/http/HttpTransportModule.T [Ljava/lang/String;
      // 0a2: astore 9
      // 0a4: aload 9
      // 0a6: bipush 6
      // 0a8: aaload
      // 0a9: aload 0
      // 0aa: getfield com/l7tech/server/transport/http/HttpTransportModule.E J
      // 0ad: invokestatic java/lang/Long.toString (J)Ljava/lang/String;
      // 0b0: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 0b5: pop
      // 0b6: aload 2
      // 0b7: aload 9
      // 0b9: bipush 54
      // 0bb: aaload
      // 0bc: aload 1
      // 0bd: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 0c0: invokevirtual com/l7tech/objectmodel/Goid.toString ()Ljava/lang/String;
      // 0c3: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 0c8: pop
      // 0c9: getstatic com/l7tech/gateway/common/transport/SsgConnector.SCHEME_HTTPS Ljava/lang/String;
      // 0cc: aload 1
      // 0cd: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.getScheme ()Ljava/lang/String;
      // 0d0: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0d3: ifeq 158
      // 0d6: aload 2
      // 0d7: aload 9
      // 0d9: bipush 32
      // 0db: aaload
      // 0dc: aload 9
      // 0de: bipush 7
      // 0e0: aaload
      // 0e1: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 0e6: pop
      // 0e7: aload 2
      // 0e8: aload 9
      // 0ea: bipush 38
      // 0ec: aaload
      // 0ed: aload 1
      // 0ee: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.isSecure ()Z
      // 0f1: invokestatic java/lang/Boolean.toString (Z)Ljava/lang/String;
      // 0f4: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 0f9: pop
      // 0fa: aload 1
      // 0fb: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.getClientAuth ()I
      // 0fe: istore 4
      // 100: iload 4
      // 102: bipush 1
      // 103: if_icmpne 11c
      // 106: aload 2
      // 107: aload 9
      // 109: bipush 115
      // 10b: aaload
      // 10c: getstatic org/apache/tomcat/util/net/SSLHostConfig$CertificateVerification.REQUIRED Lorg/apache/tomcat/util/net/SSLHostConfig$CertificateVerification;
      // 10f: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 114: pop
      // 115: goto 155
      // 118: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11b: athrow
      // 11c: iload 4
      // 11e: bipush 2
      // 11f: if_icmpne 139
      // 122: aload 2
      // 123: getstatic com/l7tech/server/transport/http/HttpTransportModule.T [Ljava/lang/String;
      // 126: bipush 69
      // 128: aaload
      // 129: getstatic org/apache/tomcat/util/net/SSLHostConfig$CertificateVerification.OPTIONAL Lorg/apache/tomcat/util/net/SSLHostConfig$CertificateVerification;
      // 12c: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 131: pop
      // 132: goto 155
      // 135: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 138: athrow
      // 139: iload 4
      // 13b: ifne 155
      // 13e: aload 2
      // 13f: getstatic com/l7tech/server/transport/http/HttpTransportModule.T [Ljava/lang/String;
      // 142: bipush 69
      // 144: aaload
      // 145: getstatic org/apache/tomcat/util/net/SSLHostConfig$CertificateVerification.NONE Lorg/apache/tomcat/util/net/SSLHostConfig$CertificateVerification;
      // 148: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 14d: pop
      // 14e: goto 155
      // 151: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 154: athrow
      // 155: goto 16e
      // 158: aload 2
      // 159: getstatic com/l7tech/server/transport/http/HttpTransportModule.T [Ljava/lang/String;
      // 15c: astore 9
      // 15e: aload 9
      // 160: bipush 101
      // 162: aaload
      // 163: aload 9
      // 165: bipush 25
      // 167: aaload
      // 168: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 16d: pop
      // 16e: bipush 5
      // 16f: anewarray 832
      // 172: dup
      // 173: bipush 0
      // 174: getstatic com/l7tech/gateway/common/transport/SsgConnector.PROP_BIND_ADDRESS Ljava/lang/String;
      // 177: aastore
      // 178: dup
      // 179: bipush 1
      // 17a: getstatic com/l7tech/gateway/common/transport/SsgConnector.PROP_PORT_RANGE_START Ljava/lang/String;
      // 17d: aastore
      // 17e: dup
      // 17f: bipush 2
      // 180: getstatic com/l7tech/gateway/common/transport/SsgConnector.PROP_PORT_RANGE_COUNT Ljava/lang/String;
      // 183: aastore
      // 184: dup
      // 185: bipush 3
      // 186: getstatic com/l7tech/gateway/common/transport/SsgConnector.PROP_TLS_CIPHERLIST Ljava/lang/String;
      // 189: aastore
      // 18a: dup
      // 18b: bipush 4
      // 18c: getstatic com/l7tech/gateway/common/transport/SsgConnector.PROP_TLS_PROTOCOLS Ljava/lang/String;
      // 18f: aastore
      // 190: invokestatic java/util/Arrays.asList ([Ljava/lang/Object;)Ljava/util/List;
      // 193: astore 4
      // 195: aload 1
      // 196: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.getPropertyNames ()Ljava/util/List;
      // 199: astore 5
      // 19b: aload 5
      // 19d: invokeinterface java/util/List.iterator ()Ljava/util/Iterator; 1
      // 1a2: astore 6
      // 1a4: aload 6
      // 1a6: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 1ab: ifeq 1ef
      // 1ae: aload 6
      // 1b0: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 1b5: checkcast java/lang/String
      // 1b8: astore 7
      // 1ba: aload 4
      // 1bc: aload 7
      // 1be: invokeinterface java/util/List.contains (Ljava/lang/Object;)Z 2
      // 1c3: ifeq 1cd
      // 1c6: goto 1a4
      // 1c9: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1cc: athrow
      // 1cd: aload 1
      // 1ce: aload 7
      // 1d0: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.getProperty (Ljava/lang/String;)Ljava/lang/String;
      // 1d3: astore 8
      // 1d5: aload 8
      // 1d7: ifnull 1ec
      // 1da: aload 2
      // 1db: aload 7
      // 1dd: aload 8
      // 1df: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 1e4: pop
      // 1e5: goto 1ec
      // 1e8: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1eb: athrow
      // 1ec: goto 1a4
      // 1ef: aload 2
      // 1f0: areturn
      // try (46 -> 51): 52 com/l7tech/server/transport/ListenerException
      // try (48 -> 61): 61 com/l7tech/server/transport/ListenerException
      // try (123 -> 134): 134 com/l7tech/server/transport/ListenerException
      // try (136 -> 147): 147 com/l7tech/server/transport/ListenerException
      // try (149 -> 158): 159 com/l7tech/server/transport/ListenerException
      // try (210 -> 215): 215 com/l7tech/server/transport/ListenerException
      // try (221 -> 228): 229 com/l7tech/server/transport/ListenerException
   }

   @Override
   protected void removeConnector(Goid var1) {
      Pair var2 = this.L.remove(var1);

      try {
         if (var2 == null) {
            return;
         }
      } catch (Exception var9) {
         throw a(var9);
      }

      Connector var3 = (Connector)var2.right;
      this.auditStop(((SsgConnector)var2.left).getScheme(), this.describe((SsgConnector)var2.left));
      this.P.getService().removeConnector(var3);

      try {
         var3.destroy();
      } catch (Exception var8) {
         String var10001 = ((SsgConnector)var2.left).getScheme();
         int var10002 = ((SsgConnector)var2.left).getPort();
         String var10003 = ExceptionUtils.getMessage(var8);
         String[] var6 = T;
         this.auditError(var10001, var6[13] + var10002 + var6[116] + var10003, var8);
      }

      Executor var4 = this.P.getService().getExecutor(this.b((SsgConnector)var2.left));
      if (var4 != null) {
         this.P.getService().removeExecutor(var4);

         try {
            var4.stop();
         } catch (Exception var7) {
            String var11 = ((SsgConnector)var2.left).getScheme();
            int var12 = ((SsgConnector)var2.left).getPort();
            String var13 = ExceptionUtils.getMessage(var7);
            String[] var10 = T;
            this.auditError(var11, var10[79] + var12 + var10[116] + var13, var7);
         }
      }

      this.d((SsgConnector)var2.left);
   }

   @Override
   protected Set<String> getSupportedSchemes() {
      return this.F;
   }

   @Override
   public void init() {
      try {
         this.a();
      } catch (LifecycleException var2) {
         throw new RuntimeException(var2);
      }
   }

   @Override
   protected void doStart() throws LifecycleException {
      try {
         if (this.isStarted()) {
            return;
         }
      } catch (LifecycleException var1) {
         throw a(var1);
      }

      this.c();
      this.b();
   }

   @Override
   public boolean isStarted() {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 0
      // 01: invokevirtual com/l7tech/server/transport/http/HttpTransportModule.isStartingByAnotherThread ()Z
      // 04: ifne 2b
      // 07: aload 0
      // 08: invokevirtual com/l7tech/server/transport/http/HttpTransportModule.isStoppingByAnotherThread ()Z
      // 0b: ifne 2b
      // 0e: goto 15
      // 11: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 14: athrow
      // 15: aload 0
      // 16: invokespecial com/l7tech/server/transport/TransportModule.isStarted ()Z
      // 19: ifeq 2b
      // 1c: goto 23
      // 1f: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 22: athrow
      // 23: bipush 1
      // 24: goto 2c
      // 27: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2a: athrow
      // 2b: bipush 0
      // 2c: ireturn
      // try (0 -> 6): 7 java/lang/RuntimeException
      // try (3 -> 12): 13 java/lang/RuntimeException
      // try (9 -> 17): 17 java/lang/RuntimeException
   }

   @Override
   public void onApplicationEvent(ApplicationEvent var1) {
      try {
         if (TransportModule.isEventIgnorable(var1)) {
            return;
         }
      } catch (ListenerException var10) {
         throw a(var10);
      }

      try {
         super.onApplicationEvent(var1);
         if (!this.isStarted()) {
            return;
         }
      } catch (ListenerException var5) {
         throw a(var5);
      }

      label80: {
         label62: {
            ListenerException var2;
            try {
               if (!(var1 instanceof ReadyForMessages)) {
                  break label62;
               }

               try {
                  this.a(true);
                  break label80;
               } catch (ListenerException var8) {
                  var2 = var8;
               }
            } catch (RuntimeException var9) {
               throw a(var9);
            }

            String[] var3 = T;
            l.log(Level.SEVERE, var3[109], var2);
            break label80;
         }

         ListenerException var12;
         label81: {
            try {
               if (var1 instanceof BundleBootstrapCompleteEvent) {
                  try {
                     this.a(false);
                     return;
                  } catch (ListenerException var6) {
                     var12 = var6;
                     break label81;
                  }
               }
            } catch (RuntimeException var7) {
               throw a(var7);
            }

            if (var1 instanceof EntityInvalidationEvent var11) {
               try {
                  if (var11.getEntityClass().isAssignableFrom(KeystoreFile.class)) {
                     this.a(T[130]);
                     return;
                  }
               } catch (ListenerException var4) {
                  throw a(var4);
               }
            }

            return;
         }

         String[] var13 = T;
         l.log(Level.SEVERE, var13[26], var12);
         return;
      }

      SsgWebSocketManager.postInitInstance(this.getApplicationContext());
   }

   @Override
   public ApplicationContext getApplicationContext() {
      return super.getApplicationContext();
   }

   private void a(SsgConnector var1, int var2, Map<String, Object> var3) throws ListenerException {
      Connector var4 = new Connector(x);
      SsgAbstractHttp11JsseProtocol var5 = (SsgAbstractHttp11JsseProtocol)var4.getProtocolHandler();
      var4.setPort(var2);
      var4.setEnableLookups(false);
      a(var4, var3);
      var5.setSsgDefinitions(this, var1, this.J);
      var5.setExecutor(this.a(this.b(var1), var1));
      this.a(var1, var4);
   }

   private void b(SsgConnector var1, int var2, Map<String, Object> var3) throws ListenerException {
      Connector var4 = new Connector(x);
      SsgAbstractHttp11JsseProtocol var5 = (SsgAbstractHttp11JsseProtocol)var4.getProtocolHandler();
      var4.setPort(var2);
      String[] var8 = T;
      var4.setScheme(var8[92]);
      var4.setProperty(var8[2], var8[120]);
      var4.setSecure(true);
      var4.setEnableLookups(false);
      var5.setSsgDefinitions(this, var1, this.J);
      Object var6 = var3.get(var8[129]);

      label22: {
         try {
            if (var6 == null || !this.K.looksLikeEncryptedPassword(var6.toString())) {
               break label22;
            }
         } catch (ParseException var10) {
            throw a(var10);
         }

         try {
            char[] var7 = this.K.decryptPassword(var6.toString());
            var8 = T;
            var3.put(var8[94], new String(var7));
         } catch (ParseException var9) {
            Logger var10000 = l;
            Level var10001 = Level.WARNING;
            String var10002 = ExceptionUtils.getMessage(var9);
            var8 = T;
            var10000.log(var10001, var8[21] + var10002);
            var3.remove(var8[94]);
         }
      }

      a(var4, var3);
      var5.setExecutor(this.a(this.b(var1), var1));
      this.a(var1, var4);
   }

   private String b(SsgConnector 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: new java/lang/StringBuilder
      // 03: dup
      // 04: invokespecial java/lang/StringBuilder.<init> ()V
      // 07: astore 2
      // 08: aload 2
      // 09: getstatic com/l7tech/server/transport/http/HttpTransportModule.T [Ljava/lang/String;
      // 0c: astore 7
      // 0e: aload 7
      // 10: bipush 4
      // 11: aaload
      // 12: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 15: pop
      // 16: aload 1
      // 17: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.getName ()Ljava/lang/String;
      // 1a: invokevirtual java/lang/String.toLowerCase ()Ljava/lang/String;
      // 1d: invokevirtual java/lang/String.toCharArray ()[C
      // 20: astore 3
      // 21: aload 3
      // 22: arraylength
      // 23: istore 4
      // 25: bipush 0
      // 26: istore 5
      // 28: iload 5
      // 2a: iload 4
      // 2c: if_icmpge 7a
      // 2f: aload 3
      // 30: iload 5
      // 32: caload
      // 33: istore 6
      // 35: iload 6
      // 37: bipush 48
      // 39: if_icmplt 4a
      // 3c: iload 6
      // 3e: bipush 57
      // 40: if_icmple 66
      // 43: goto 4a
      // 46: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 49: athrow
      // 4a: iload 6
      // 4c: bipush 97
      // 4e: if_icmplt 74
      // 51: goto 58
      // 54: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 57: athrow
      // 58: iload 6
      // 5a: bipush 122
      // 5c: if_icmpgt 74
      // 5f: goto 66
      // 62: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 65: athrow
      // 66: aload 2
      // 67: iload 6
      // 69: invokevirtual java/lang/StringBuilder.append (C)Ljava/lang/StringBuilder;
      // 6c: pop
      // 6d: goto 74
      // 70: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 73: athrow
      // 74: iinc 5 1
      // 77: goto 28
      // 7a: aload 2
      // 7b: ldc "-"
      // 7d: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 80: pop
      // 81: aload 2
      // 82: aload 1
      // 83: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 86: invokevirtual java/lang/StringBuilder.append (Ljava/lang/Object;)Ljava/lang/StringBuilder;
      // 89: pop
      // 8a: aload 2
      // 8b: getstatic com/l7tech/server/transport/http/HttpTransportModule.T [Ljava/lang/String;
      // 8e: bipush 0
      // 8f: aaload
      // 90: invokevirtual java/lang/StringBuilder.append (Ljava/lang/String;)Ljava/lang/StringBuilder;
      // 93: pop
      // 94: aload 2
      // 95: invokevirtual java/lang/StringBuilder.toString ()Ljava/lang/String;
      // 98: areturn
      // try (29 -> 35): 36 java/lang/RuntimeException
      // try (32 -> 41): 42 java/lang/RuntimeException
      // try (38 -> 47): 48 java/lang/RuntimeException
      // try (44 -> 54): 55 java/lang/RuntimeException
   }

   private java.util.concurrent.Executor a(String var1, SsgConnector var2) throws ListenerException {
      StandardThreadExecutor var3 = this.Q;
      String var4 = var2.getProperty(SsgConnector.PROP_THREAD_POOL_SIZE);
      if (var4 != null) {
         try {
            int var5 = Integer.parseInt(var4);
            var3 = this.a(var1, var5, var5);
            var3.start();
            this.P.getService().addExecutor(var3);
         } catch (NumberFormatException var7) {
            Logger var10000 = l;
            String var10 = var2.getName();
            String[] var9 = T;
            var10000.warning(var9[30] + var4 + var9[135] + var10 + var9[46]);
         } catch (org.apache.catalina.LifecycleException var8) {
            int var10002 = var2.getPort();
            String var10003 = ExceptionUtils.getMessage(var8);
            String[] var6 = T;
            throw new ListenerException(var6[19] + var10002 + var6[108] + var10003 + var6[95]);
         }
      }

      return var3;
   }

   private void c() {
      String[] var3 = T;
      TransportDescriptor var1 = new TransportDescriptor(var3[98], false);
      var1.setHttpBased(true);
      var1.setSupportsHardwiredServiceResolution(true);
      var1.setSupportsSpecifiedContentType(true);
      var1.setSupportedEndpoints(
         EnumSet.of(
            Endpoint.MESSAGE_INPUT, Endpoint.POLICYDISCO, Endpoint.PING, Endpoint.STS, Endpoint.WSDLPROXY, Endpoint.SNMPQUERY, Endpoint.NODE_COMMUNICATION
         )
      );
      var1.setCustomPropertiesPanelClassname(var3[74]);
      this.ssgConnectorManager.registerTransportProtocol(var1, this);
      TransportDescriptor var2 = new TransportDescriptor(var3[87], true);
      var2.setHttpBased(true);
      var2.setSupportsHardwiredServiceResolution(true);
      var2.setSupportsSpecifiedContentType(true);
      var2.setSupportedEndpoints(EnumSet.allOf(Endpoint.class));
      var2.setCustomPropertiesPanelClassname(var3[110]);
      this.ssgConnectorManager.registerTransportProtocol(var2, this);
   }

   private void d() {
      this.ssgConnectorManager.unregisterTransportProtocol(SsgConnector.SCHEME_HTTP);
      this.ssgConnectorManager.unregisterTransportProtocol(SsgConnector.SCHEME_HTTPS);
   }

   private void a(SsgConnector var1, Connector var2) throws ListenerException {
      try {
         if (this.L.putIfAbsent(var1.getGoid(), new Pair(var1, var2)) != null) {
            return;
         }
      } catch (org.apache.catalina.LifecycleException var12) {
         throw a(var12);
      }

      int var3 = var1.getIntProperty(SsgConnector.PROP_THREAD_POOL_SIZE, 0);

      AtomicInteger var10000;
      label42: {
         try {
            if (var3 == 0) {
               var10000 = this.I;
               break label42;
            }
         } catch (org.apache.catalina.LifecycleException var11) {
            throw a(var11);
         }

         var10000 = new AtomicInteger();
      }

      AtomicInteger var4 = var10000;
      this.M.put(var1.getGoid(), var4);
      int var5 = var1.getIntProperty(SsgConnector.PROP_CONCURRENCY_WARNING_THRESHOLD, 0);

      label34: {
         try {
            if (var5 > 0) {
               this.N.put(var1.getGoid(), var5);
               break label34;
            }
         } catch (org.apache.catalina.LifecycleException var10) {
            throw a(var10);
         }

         this.N.remove(var1.getGoid());
      }

      this.P.getService().addConnector(var2);

      try {
         this.auditStart(var1.getScheme(), this.describe(var1));
         var2.start();
      } catch (org.apache.catalina.LifecycleException var9) {
         this.P.getService().removeConnector(var2);
         String var13 = this.describe(var1);
         String var10001 = ExceptionUtils.getMessage(var9);
         String[] var8 = T;
         String var7 = var8[44] + var13 + var8[75] + var10001;
         this.auditError(var1.getScheme(), var7, ExceptionUtils.getDebugException(var9));
         throw new ListenerException(var7, var9);
      }
   }

   static void a(Connector var0, Map<String, Object> var1) {
      try {
         if (a(T[88], var1, "")) {
            var1.put(T[83], e());
         }
      } catch (RuntimeException var7) {
         throw a(var7);
      }

      for (Entry var3 : var1.entrySet()) {
         try {
            if (T[114].equalsIgnoreCase((String)var3.getKey())) {
               var0.setEnableLookups(Boolean.valueOf(String.valueOf(var3.getValue())));
               continue;
            }
         } catch (RuntimeException var6) {
            throw a(var6);
         }

         try {
            if (T[11].equalsIgnoreCase((String)var3.getKey())) {
               a(var3.getValue(), new h(var0));
               continue;
            }
         } catch (RuntimeException var4) {
            throw a(var4);
         }

         try {
            if (T[34].equalsIgnoreCase((String)var3.getKey())) {
               a(var3.getValue(), new i(var0));
               continue;
            }
         } catch (RuntimeException var5) {
            throw a(var5);
         }

         var0.setProperty((String)var3.getKey(), String.valueOf(var3.getValue()));
      }
   }

   private static boolean a(String var0, Map<String, Object> var1, Object var2) {
      Object var3 = var1.get(var0);

      try {
         if (var3 == null) {
            return true;
         }
      } catch (RuntimeException var4) {
         throw a(var4);
      }

      if (var3 instanceof String) {
         var3 = ((String)var3).trim();
      }

      return var3.equals(var2);
   }

   private static String e() {
      String[] var1 = T;
      String var0 = ConfigFactory.getProperty(var1[121]);

      try {
         if (var0 != null && !var0.isBlank()) {
            return var0;
         }
      } catch (RuntimeException var2) {
         throw a(var2);
      }

      return T[82];
   }

   private static void a(Object var0, UnaryVoid<Integer> var1) {
      String var2 = String.valueOf(var0).trim();

      try {
         if (ValidationUtils.isValidInteger(var2, false, Integer.MIN_VALUE, Integer.MAX_VALUE)) {
            var1.call(Integer.parseInt(var2));
         }
      } catch (RuntimeException var3) {
         throw a(var3);
      }
   }

   public long getInstanceId() {
      return this.E;
   }

   public static SsgConnector getConnector(ServletRequest var0) {
      try {
         if (A) {
            return C;
         }
      } catch (RuntimeException var9) {
         throw a(var9);
      }

      String[] var5 = T;
      Goid var1 = (Goid)var0.getAttribute(var5[71]);

      try {
         if (var1 == null) {
            l.log(Level.WARNING, String.format(var5[126], var5[118]));
            return null;
         }
      } catch (RuntimeException var8) {
         throw a(var8);
      }

      var5 = T;
      Long var2 = (Long)var0.getAttribute(var5[67]);
      HttpTransportModule var3 = getInstance(var2);

      try {
         if (var3 == null) {
            l.log(Level.WARNING, String.format(var5[42], var5[136]));
            return null;
         }
      } catch (RuntimeException var7) {
         throw a(var7);
      }

      Pair var4 = var3.L.get(var1);

      try {
         if (var4 == null) {
            l.log(Level.WARNING, String.format(T[42], T[18] + var1));
            return null;
         }
      } catch (RuntimeException var6) {
         throw a(var6);
      }

      return (SsgConnector)var4.left;
   }

   public static void requireEndpoint(ServletRequest var0, Endpoint var1) throws ListenerException {
      requireEndpoint(getConnector(var0), var1);
   }

   public static void requireEndpoint(SsgConnector var0, Endpoint var1) throws ListenerException {
      try {
         if (var0 == null) {
            throw new ListenerException(T[45]);
         }
      } catch (ListenerException var3) {
         throw a(var3);
      }

      try {
         if (!var0.offersEndpoint(var1)) {
            throw new ListenerException(T[134]);
         }
      } catch (ListenerException var2) {
         throw a(var2);
      }
   }

   public static String getConfiguredHstsHeader(@Nullable SsgConnector var0, Config var1) {
      if (var0 != null) {
         String[] var3 = T;
         String var2 = var0.getProperty(var3[139]);

         try {
            if (var2 != null) {
               return var2;
            }
         } catch (RuntimeException var4) {
            throw a(var4);
         }

         var3 = T;
         return var1.getProperty(var3[66]);
      } else {
         return var1.getProperty(T[140]);
      }
   }

   public static boolean addHstsHeaderIfRequired(HttpServletResponse param0, @Nullable SsgConnector param1, Config 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:
      // 00: aload 1
      // 01: ifnull 12
      // 04: aload 1
      // 05: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.isSecure ()Z
      // 08: ifeq 3f
      // 0b: goto 12
      // 0e: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11: athrow
      // 12: aload 1
      // 13: aload 2
      // 14: invokestatic com/l7tech/server/transport/http/HttpTransportModule.getConfiguredHstsHeader (Lcom/l7tech/gateway/common/transport/SsgConnector;Lcom/l7tech/util/Config;)Ljava/lang/String;
      // 17: astore 3
      // 18: aload 3
      // 19: ifnull 3f
      // 1c: aload 0
      // 1d: getstatic com/l7tech/common/http/HttpConstants.HSTS_HEADER Ljava/lang/String;
      // 20: invokeinterface jakarta/servlet/http/HttpServletResponse.containsHeader (Ljava/lang/String;)Z 2
      // 25: ifne 3f
      // 28: goto 2f
      // 2b: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2e: athrow
      // 2f: aload 0
      // 30: getstatic com/l7tech/common/http/HttpConstants.HSTS_HEADER Ljava/lang/String;
      // 33: aload 3
      // 34: invokeinterface jakarta/servlet/http/HttpServletResponse.addHeader (Ljava/lang/String;Ljava/lang/String;)V 3
      // 39: bipush 1
      // 3a: ireturn
      // 3b: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3e: athrow
      // 3f: bipush 0
      // 40: ireturn
      // try (0 -> 5): 6 java/lang/RuntimeException
      // try (12 -> 18): 19 java/lang/RuntimeException
      // try (14 -> 27): 27 java/lang/RuntimeException
   }

   public static boolean addHstsResponseHeaderIfRequired(HttpServletRequest var0, HttpServletResponse var1, @Nullable SsgConnector var2, Config var3) {
      try {
         return var0.isSecure() ? addHstsHeaderIfRequired(var1, var2, var3) : false;
      } catch (RuntimeException var4) {
         throw a(var4);
      }
   }

   public SsgConnector getActiveSsgConnectorByGoid(Goid var1) throws ListenerException {
      Pair var2 = this.L.get(var1);

      try {
         if (var2 == null) {
            throw new ListenerException(T[90] + var1);
         }
      } catch (ListenerException var3) {
         throw a(var3);
      }

      return (SsgConnector)var2.left;
   }

   public Connector getActiveConnectorByGoid(Goid var1) throws ListenerException {
      Pair var2 = this.L.get(var1);

      try {
         if (var2 == null) {
            throw new ListenerException(T[22] + var1);
         }
      } catch (ListenerException var3) {
         throw a(var3);
      }

      return (Connector)var2.right;
   }

   public static HttpTransportModule getInstance(long var0) {
      try {
         if (A) {
            return D;
         }
      } catch (RuntimeException var4) {
         throw a(var4);
      }

      Reference var2 = z.get(var0);

      try {
         if (var2 == null) {
            return null;
         }
      } catch (RuntimeException var3) {
         throw a(var3);
      }

      return (HttpTransportModule)var2.get();
   }

   private void c(SsgConnector var1) {
      this.getApplicationContext().publishEvent(new SsgConnectorActivationEvent(this, var1));
   }

   private void d(SsgConnector var1) {
      this.getApplicationContext().publishEvent(new SsgConnectorDeactivationEvent(this, var1));
   }

   @Override
   public Config getServerConfig() {
      return this.J;
   }

   @Override
   public void reportMisconfiguredConnector(Goid var1) {
      Pair var2 = this.L.get(var1);

      String var10;
      label31: {
         try {
            if (var2 == null) {
               var10 = null;
               break label31;
            }
         } catch (RuntimeException var8) {
            throw a(var8);
         }

         try {
            if (var2.left == null) {
               var10 = null;
               break label31;
            }
         } catch (RuntimeException var7) {
            throw a(var7);
         }

         int var10000 = ((SsgConnector)var2.left).getPort();
         String[] var6 = T;
         var10 = var6[58] + var10000 + ")";
      }

      String var3 = var10;
      Logger var11 = l;
      Level var10001 = Level.WARNING;
      String var10002 = String.valueOf(var1);
      String var4 = var3;
      String var5 = var10002;
      String[] var9 = T;
      var11.log(var10001, var9[62] + var5 + var4 + var9[93]);
      this.removeConnector(var1);
   }

   public int incrementConcurrencyForConnector(Goid 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 0
      // 01: getfield com/l7tech/server/transport/http/HttpTransportModule.M Ljava/util/Map;
      // 04: aload 1
      // 05: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 0a: checkcast java/util/concurrent/atomic/AtomicInteger
      // 0d: astore 2
      // 0e: aconst_null
      // 0f: aload 2
      // 10: if_acmpne 18
      // 13: aload 0
      // 14: getfield com/l7tech/server/transport/http/HttpTransportModule.I Ljava/util/concurrent/atomic/AtomicInteger;
      // 17: astore 2
      // 18: aload 2
      // 19: invokevirtual java/util/concurrent/atomic/AtomicInteger.incrementAndGet ()I
      // 1c: istore 3
      // 1d: aload 0
      // 1e: getfield com/l7tech/server/transport/http/HttpTransportModule.N Ljava/util/Map;
      // 21: aload 1
      // 22: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 27: checkcast java/lang/Integer
      // 2a: astore 4
      // 2c: aload 4
      // 2e: ifnull 4e
      // 31: iload 3
      // 32: aload 4
      // 34: invokevirtual java/lang/Integer.intValue ()I
      // 37: if_icmplt 4e
      // 3a: goto 41
      // 3d: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 40: athrow
      // 41: aload 0
      // 42: aload 1
      // 43: iload 3
      // 44: invokevirtual com/l7tech/server/transport/http/HttpTransportModule.a (Lcom/l7tech/objectmodel/Goid;I)V
      // 47: goto 4e
      // 4a: invokestatic com/l7tech/server/transport/http/HttpTransportModule.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4d: athrow
      // 4e: iload 3
      // 4f: ireturn
      // try (21 -> 27): 28 java/lang/RuntimeException
      // try (23 -> 34): 35 java/lang/RuntimeException
   }

   private void a(Goid var1, int var2) {
      String[] var11 = T;
      int var3 = ConfigFactory.getIntProperty(var11[132], 60);
      long var4 = System.currentTimeMillis();
      long var6 = this.O.get();
      long var8 = var4 - var6;

      try {
         if (var8 < 1000L * var3) {
            l.finer(var11[63]);
            return;
         }
      } catch (RuntimeException var12) {
         throw a(var12);
      }

      if (var6 == this.O.getAndSet(var4)) {
         var11 = T;
         TransportEvent var10 = new TransportEvent(this, this.component, null, Level.INFO, var11[113], var11[65] + var2);
         this.auditTransportEvent(var10, SystemMessages.CONNECTOR_CONCURRENCY_WARNING, new String[]{var1.toString(), String.valueOf(var2)}, null);
      }
   }

   public int decrementConcurrencyForConnector(Goid var1) {
      AtomicInteger var2 = this.M.get(var1);
      if (null == var2) {
         var2 = this.I;
      }

      return var2.decrementAndGet();
   }

   @Override
   protected void onDefaultSslKeyReload() {
      this.a(T[97]);
   }

   private void a(String var1) {
      try {
         if (!this.isStarted()) {
            return;
         }
      } catch (RuntimeException var2) {
         throw a(var2);
      }

      this.L.forEach((var1x, var2x) -> {
         SsgConnector var10000 = (SsgConnector)var2x.left;
         String[] var4 = T;
         if (var10000.getBooleanProperty(var4[55])) {
            l.log(Level.WARNING, var4[106], new Object[]{((SsgConnector)var2x.left).getName(), var1});
            SsgAbstractHttp11JsseProtocol var3 = (SsgAbstractHttp11JsseProtocol)((Connector)var2x.right).getProtocolHandler();
            var3.reloadSslHostConfigs();
         }
      });
   }

   @Override
   public SsgKeyEntry getKeyEntry(SsgConnector var1) throws ListenerException {
      try {
         DefaultKey var2 = this.getDefaultKey();

         try {
            if (var1.getKeystoreGoid() == null) {
               return var2.getLatestServerSslInfo();
            }
         } catch (IOException var4) {
            throw a(var4);
         }

         return var2.lookupKeyByKeyAlias(var1.getKeyAlias(), var1.getKeystoreGoid());
      } catch (IOException var5) {
         String var10002 = ExceptionUtils.getMessage(var5);
         String[] var3 = T;
         throw new ListenerException(var3[89] + var10002, var5);
      } catch (KeyStoreException | FindException var6) {
         throw new ListenerException(T[102] + ExceptionUtils.getMessage(var6), var6);
      }
   }

   static {
      String[] var5 = new String[144];
      int var3 = 0;
      String var2 = "Sa\u00155L0A\u0011v\u001d\u0016p\u0019 {7T\u0010w\u001d?]1x\u0011`\u0018<J\f[\rp\f>L |\u001a\n-W!\u0015A$W\u0012a\t\u0015\u0017kC8[1E?h\u0001?X\u0007T\u001do\u001e<N6]\n\u001dk\u0003>J&A\u0011v@#+j\f2C \u0015\nkM6F+Q^m\u00039[,T\u0012$\u000e?A+P\u001dp\u0002\"\\\u007f\u0015\u001d\u0016p\u0019 {7T\u0010w\u001d?]1x\u0011`\u0018<J\f[\rp\f>L |\u001a-\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~[*X\u001de\u0019~|6R-W!\u0019B5Y\u001bi\b>[$A\u0017k\u0003;\u0011v\n~N5T\u001dl\b~L$A\u001fh\u0004>NkV\u0011j\u00035L1Z\f*.?V*A\u001bE\t1_1P\f*,\u001cc\nb!F,\u0013d\u0016y?W%\t\u0017i\f7JjR\u0017b\u000b\u001fg\u000e5_1v\u0011q\u0003$\u0011\u0013e\u0015\u0000N7T\u0013a\u00195]\u0006Z\u000bj\u0019\u0003\u0016p\u0000.;|\u000e5_1\\\u0011jM'G,Y\u001b$\t5\\1G\u0011}\u0004>HeV\u0011j\u00035L1Z\f$\u000b?]eE\u0011v\u0019p\b\u000bw\b\"\u0001!\\\f)+j\f2C \u0015\nkM#N3P^v\b!Z,G\u001b`M3@+[\u001bg\u0019?]eA\u0011$)\u0012\u0015e\u00076P9\u0000\u0007\u0016\u001c\n\u0017i\f7Jj_\u000ea\n@\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~\\6R=k\u0003>J&A\u0011v\"9K\u007f\u00150kM1L1\\\baM3@+[\u001bg\u0019?]eB\u0017p\u0005p@,Q^'+j\f2C \u0015\nkM#[$G\n$%\u0004{\u0015f^h\u0004#[ [\u001bvM?AeE\u0011v\u0019p\u0018\u0017k%$[5e\u0011k\u0001\u001dN=v\u0011j\u000e%]7P\u0010g\u0014i+j\f2C \u0015\nkM4J&G\u0007t\u0019pJ+V\f}\u001d$J!\u0015\u000ee\u001e#X*G\u001a$\u0004>\u000f6P\fr\b\"\u0001=X\u0012$@}\u000f#T\u0012h\u0004>HeW\u001fg\u0006p[*\u0015\u000ee\u001e#X*G\u001a$\u000b\"@(\u0015\u0015a\u0014#[*G\u001b*\u001d\"@5P\fp\u00045\\\u007f\u0015$0kM1L1\\\baM3@+[\u001bg\u0019?]eP\u0006m\u001e$\\eB\u0017p\u0005p@,Q^\u0003\rw\n\t\na\u0015$\u0000-A\u0013h\u0005L4]`\u001f\u001f+j\f2C \u0015\nkM#[$G\n$%\u0004{\u0015\u0015\u001dk\u0003>J&A\u0011v\u001e\u0018\u0017k%$[5e\u0011k\u0001\u001dN=v\u0011j\u000e%]7P\u0010g\u0014\u0003\u000ej\n\u0003O1]#7c\u0003?],[\u0019$\u0004>Y$Y\u0017`M$G7P\u001f`M @*Y^w\u0004*Je\u0012(\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~] F\u000ek\u0003#Jk]\u001be\t5]kF\u001bv\u001b5]\u0011-W!\u0019B5Y\u001bi\b>[$A\u0017k\u0003\u0014\u001am\u001e1M)P+t\u0001?N!a\u0017i\b?Z1\u000b\u0013e\u0015\u0000@6A-m\u00175\u0019\u0017k%$[5e\u0011k\u0001\u001dF+f\u000ee\u001f5{-G\u001be\t#\u0006\rg\u00055B \u0004\u0014t\b7\u0006\ra\u000e%] \u0004\tk\u001f;\u00076P9\u0000\u0007\u0016\u001c\u0003\u001dw\u001e ,a\u001c%J6A^h\f3D6\u0015\be\u00019KeT\np\u001f9M0A\u001b$H#\u0003\u0006i\u0001\u0010+j\f2C \u0015\nkM#[$G\n$10kM3@+[\u001bg\u0019?]eB\u001fwM6@0[\u001a$\u000b?]eA\u0016aM#_ V\u0017b\u00045KeG\u001bu\u00185\\1\u001b\u0002Y*\u00156P9\u0000\u000f\u0011G\u001fj\u001e @7A^I\u00024Z)PB6p\u0019 {7T\u0010w\u001d?]1x\u0011`\u0018<Je\\\r$\u00047A*G\u0017j\npA*[SL9\u0004\u007fmfW$\u000e?A+P\u001dp\u0002\"\u000f2\\\nlM#L-P\u0013aM++j\f2C \u0015\nkM#[$G\n$H#\u000f&Z\u0010j\b3[*G^k\u0003p_*G\n$H#\u0015e\u0010\r\u0015\u001f`\u00009A\u0016@\u001cw\u0014#[ X.v\b#J+A(=l\f>H,[\u0019$%\u0004{\u0015\u001a6P9\u0000|eV\u0011j\u000e%]7P\u0010g\u0014p[*\u0015\u001dk\u001f5\u0012\u0007\u001f`\t\"J6F\u0005;v\u001f?]\u000f\rw\n\u0013@+[\u001bg\u0019?]\n\\\u001a\u0013\fa\u000b\"J6]1j&5V\u0006]\u001fj\n5\\\u00140kM'J'\u0015\u001am\u001f5L1Z\f}M#J1\n\u0013e\u0015\u0004G7P\u001f`\u001e\u0007^,\u001d?]1\u0015\b\u001b|\b3Z1Z\f\u0002L1\n\u0017i\f7Jj_\u000ea\n!-l\u0018$[,[\u0019$\t?X+\u00156P9\u0000\u000f&Z\u0010j\b3[*G^K$\u0014\u000f8-q\u001d ] F\rm\u00037\u000f7P\u000ea\f$J!\u0015\u001dk\u0003>J&A\u0011vM3@+V\u000bv\u001f5A&L^s\f\"A,[\u0019$\f%K,A\u000f\u0013m\u0003\u0003_$G\u001bP\u0005\"J$Q\r\u001f2m\u001e$J+P\f$\u000e?A&@\fv\b>L<\u0015\u001b|\u000e5J!P\u001a>M\u001d\u0017k%$[5f\nv\u00043[\u0011G\u001fj\u001e @7A-a\u000e%],A\u0007/\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~G1A\u000eP\u001f1A6E\u0011v\u0019\u001d@!@\u0012a$>\\1T\u0010g\b\u0019K\u0007\u001aa\u000b1Z)A\n\u001dh\u00045A1t\u000bp\u0005\u0004\u0016p\u0000<!\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~\\6R=k\u0003>J&A\u0011v\"9K\u0018\u0014e\u001b1\u0001+P\n*/9A!p\u0006g\b [,Z\u0010>M\u0003\n|\u00199\u001dk\u0000~CrA\u001bg\u0005~L*[\rk\u00015\u00015T\u0010a\u0001#\u0001\rA\nt9\"N+F\u000ek\u001f$`1]\u001bv>5[1\\\u0010c\u001e\u0000N+P\u0012\u0002D$\u0007\u001aa\u000b1Z)A\t\na\u0015$\u0000-A\u0013h\u0004\nv\u001850;|\u000e5_1\\\u0011jM'G,Y\u001b$\t5\\1G\u0011}\u0004>HeA\u0016v\b1KeE\u0011k\u0001pI*G^t\u0002\"[e\u0018\ra\u001f&F&PDL\u0019$_\bP\rw\f7J\f[\u000eq\u0019\u001a;v\u001f?]eB\u0016m\u00015\u000f6]\u000bp\u00199A\"\u0015\u001ak\u001a>\u0001\u00122e\u00145]r\u0018?T$}h$A\u001bs\f)\u0006\ra\u001f&J7\u000f\rw\n\u0013@+[\u001bg\u0019?]\n\\\u001a\u00122e\u00145]r\u0018?T$}h$A\u001bs\f)\u0003\rw\n\u00056P9\u0000|\u0006\ra\u001f&J720kM4J#T\u000bh\u0019p| G\ba\u001fp|\u0016y^o\b)\u000f,F^g\u0018\"] [\nh\u0014pN3T\u0017h\f2C \u000f^$0kM1L1\\\baM3@+[\u001bg\u0019?]eP\u0006m\u001e$\\eB\u0017p\u0005p@,Q^\u001d=k\u0003>J&A\u0011vM=Z6A^f\bp_ G\rm\u001e$J+AP\u0005\u0016p\u0019 \\;^f\b3N0F\u001b$\u0004$\u000f&T\u0010j\u0002$\u000f'P^k\u001d5A Q^s\u0004$Ge\\\nwM3Z7G\u001bj\u0019pL*[\u0018m\n%]$A\u0017k\u0003\f\u0015a\u0014#[*G\u001bT\f#\\\u0002Y*\u0015\u0017k%$[5e\u0011k\u0001\u001dN=|\u001ah\b\u0004F(P$\fa\u0001?N!\\\u0010cM$G \u0015\u001aa\u000b1Z)A^w\b\"Y G^W>\u001c\u000f.P\u0007\u00046P9\u0000\f\nk\u00003N1\u0018\u001b|\b3\u00023+j\f2C \u0015\nkM\"J6A\u001fv\u0019pJ=P\u001dq\u0019?]eT\u0018p\b\"\u000f&]\u001fj\n9A\"\u0015\u000ev\u0002 J7A\u0007$\u0011\u001dk\u0003>J&A\u0017k\u0003\u0004F(P\u0011q\u0019,+j\f2C \u0015\nkM1L&P\rwM ],C\u001fp\bpD L^b\u0002\"\u000f&Z\u0010j\b3[*GD$)+j\f2C \u0015\nkM#N3P^b\f<C'T\u001doM3@+[\u001bg\u0019?]eA\u0011$)\u0012\u0015e\u0007\u001f`\t\"J6F%\u0017kC8[1E=k\u00033Z7G\u001bj\u000e)x$G\u0010m\u00037\u00017P\u000ea\f$k Y\u001f}:,a\u000b\"J6]\u0017j\np|\u0016y^g\u0002>I,R\u000bv\f$F*[^b\u0002\"\u000f&Z\u0010j\b3[*G^\u007f]-\u0003eQ\u000baM$@eNOy;\u0011v\n~N5T\u001dl\b~L$A\u001fh\u0004>NkV\u0011j\u00035L1Z\f*.?V*A\u001bE\t1_1P\f*,\u001cc\nb!F,\u0013d\u0016y?W%\u001fD$8>N'Y\u001b$\u0019?\u000f6A\u001fv\u0019p[-G\u001be\tp_*Z\u0012$J\u001f+j\f2C \u0015\nkM#[$G\n$%\u0004{\u0015\u0015\u001dk\u0003>J&A\u0011v\u001e9\u001dk\u0000~CrA\u001bg\u0005~L*[\rk\u00015\u00015T\u0010a\u0001#\u0001\rA\nt9\"N+F\u000ek\u001f$`1]\u001bv>5[1\\\u0010c\u001e\u0000N+P\u0012\f\ta\u000f\u0014F7P\u001dp\u0002\"V\u0003\u0019m\u000b\u0014=k\u00033Z7G\u001bj\u000e)\u000f\u0000M\u001da\b4J!\r\u001bj\f2C y\u0011k\u0006%_6\n\u001dh\u00045A1t\u000bp\u0005\u0002D$\u0006R$\u00001Wx!\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~\\6R=k\u0003>J&A\u0011v\"9K++j\f2C \u0015\nkM#[$G\n$H#\u000f&Z\u0010j\b3[*G^k\u0003p_*G\n$H#\u0015e\u0010\r\u0004\nv\u00185(\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~] F\u000ek\u0003#Jk]\u001be\t5]kF\u001bv\u001b5]\u0003O4]\u00130kM#Z&]^`\u0004\"J&A\u0011v\u0014j\u000f\u0019\u0017k%$[5e\u0011k\u0001\u001dF+f\u000ee\u001f5{-G\u001be\t#)+j\f2C \u0015\nkM#[$G\n$%\u0004{\u0015\u0015\u0012m\u001e$J+P\f$\u001e%M6L\rp\b=\u0015e ,a\u001c%J6A^h\f3D6\u0015\be\u00019KeT\np\u001f9M0A\u001b$H#\u0003\u0014t\n\u001b\u0016p\u0019 |1G\u0017g\u0019\u0004]$[\rt\u0002\"[\u0016P\u001dq\u001f9[<\f\u0015a\u0014#[*G\u001bT\f#\\\u00185a\u0014#[*G\u001b$\u000b9C \u0015\u0017wM%_!T\na\t\b\na\u0015$\u0000&F\r%\u0017kC8[1E=k\u00033Z7G\u001bj\u000e)x$G\u0010m\u00037\u00017P\u000ea\f$k Y\u001f}\t\u0017i\f7JjE\u0010c-*l\u0004#\u000f7P\u000fq\b#[eV\u001fj\u0003?[eW\u001b$\f3L E\na\tp@+\u0015\nl\u0004#\u000f5Z\fpC\u0011Y$\u000b?]eV\u0011j\u00035L1Z\f$J/\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~G1A\u000eP\u001f1A6E\u0011v\u0019\u001d@!@\u0012a$>\\1T\u0010g\b\u0019K\b\na\u0015$\u0000=X\u0012\u000f\u0016p\u0019 | F\rm\u0002>a$X\u001b\u001b\u0016p\u0019 |1G\u0017g\u0019\u0004]$[\rt\u0002\"[\u0016P\u001dq\u001f9[<\u001d\u0017k%$[5f\nv\u00043[\u0011G\u001fj\u001e @7A-a\u000e%],A\u0007\f\be\u001f\u0014F7P\u001dp\u0002\"V";
      int var4 = "Sa\u00155L0A\u0011v\u001d\u0016p\u0019 {7T\u0010w\u001d?]1x\u0011`\u0018<J\f[\rp\f>L |\u001a\n-W!\u0015A$W\u0012a\t\u0015\u0017kC8[1E?h\u0001?X\u0007T\u001do\u001e<N6]\n\u001dk\u0003>J&A\u0011v@#+j\f2C \u0015\nkM6F+Q^m\u00039[,T\u0012$\u000e?A+P\u001dp\u0002\"\\\u007f\u0015\u001d\u0016p\u0019 {7T\u0010w\u001d?]1x\u0011`\u0018<J\f[\rp\f>L |\u001a-\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~[*X\u001de\u0019~|6R-W!\u0019B5Y\u001bi\b>[$A\u0017k\u0003;\u0011v\n~N5T\u001dl\b~L$A\u001fh\u0004>NkV\u0011j\u00035L1Z\f*.?V*A\u001bE\t1_1P\f*,\u001cc\nb!F,\u0013d\u0016y?W%\t\u0017i\f7JjR\u0017b\u000b\u001fg\u000e5_1v\u0011q\u0003$\u0011\u0013e\u0015\u0000N7T\u0013a\u00195]\u0006Z\u000bj\u0019\u0003\u0016p\u0000.;|\u000e5_1\\\u0011jM'G,Y\u001b$\t5\\1G\u0011}\u0004>HeV\u0011j\u00035L1Z\f$\u000b?]eE\u0011v\u0019p\b\u000bw\b\"\u0001!\\\f)+j\f2C \u0015\nkM#N3P^v\b!Z,G\u001b`M3@+[\u001bg\u0019?]eA\u0011$)\u0012\u0015e\u00076P9\u0000\u0007\u0016\u001c\n\u0017i\f7Jj_\u000ea\n@\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~\\6R=k\u0003>J&A\u0011v\"9K\u007f\u00150kM1L1\\\baM3@+[\u001bg\u0019?]eB\u0017p\u0005p@,Q^'+j\f2C \u0015\nkM#[$G\n$%\u0004{\u0015f^h\u0004#[ [\u001bvM?AeE\u0011v\u0019p\u0018\u0017k%$[5e\u0011k\u0001\u001dN=v\u0011j\u000e%]7P\u0010g\u0014i+j\f2C \u0015\nkM4J&G\u0007t\u0019pJ+V\f}\u001d$J!\u0015\u000ee\u001e#X*G\u001a$\u0004>\u000f6P\fr\b\"\u0001=X\u0012$@}\u000f#T\u0012h\u0004>HeW\u001fg\u0006p[*\u0015\u000ee\u001e#X*G\u001a$\u000b\"@(\u0015\u0015a\u0014#[*G\u001b*\u001d\"@5P\fp\u00045\\\u007f\u0015$0kM1L1\\\baM3@+[\u001bg\u0019?]eP\u0006m\u001e$\\eB\u0017p\u0005p@,Q^\u0003\rw\n\t\na\u0015$\u0000-A\u0013h\u0005L4]`\u001f\u001f+j\f2C \u0015\nkM#[$G\n$%\u0004{\u0015\u0015\u001dk\u0003>J&A\u0011v\u001e\u0018\u0017k%$[5e\u0011k\u0001\u001dN=v\u0011j\u000e%]7P\u0010g\u0014\u0003\u000ej\n\u0003O1]#7c\u0003?],[\u0019$\u0004>Y$Y\u0017`M$G7P\u001f`M @*Y^w\u0004*Je\u0012(\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~] F\u000ek\u0003#Jk]\u001be\t5]kF\u001bv\u001b5]\u0011-W!\u0019B5Y\u001bi\b>[$A\u0017k\u0003\u0014\u001am\u001e1M)P+t\u0001?N!a\u0017i\b?Z1\u000b\u0013e\u0015\u0000@6A-m\u00175\u0019\u0017k%$[5e\u0011k\u0001\u001dF+f\u000ee\u001f5{-G\u001be\t#\u0006\rg\u00055B \u0004\u0014t\b7\u0006\ra\u000e%] \u0004\tk\u001f;\u00076P9\u0000\u0007\u0016\u001c\u0003\u001dw\u001e ,a\u001c%J6A^h\f3D6\u0015\be\u00019KeT\np\u001f9M0A\u001b$H#\u0003\u0006i\u0001\u0010+j\f2C \u0015\nkM#[$G\n$10kM3@+[\u001bg\u0019?]eB\u001fwM6@0[\u001a$\u000b?]eA\u0016aM#_ V\u0017b\u00045KeG\u001bu\u00185\\1\u001b\u0002Y*\u00156P9\u0000\u000f\u0011G\u001fj\u001e @7A^I\u00024Z)PB6p\u0019 {7T\u0010w\u001d?]1x\u0011`\u0018<Je\\\r$\u00047A*G\u0017j\npA*[SL9\u0004\u007fmfW$\u000e?A+P\u001dp\u0002\"\u000f2\\\nlM#L-P\u0013aM++j\f2C \u0015\nkM#[$G\n$H#\u000f&Z\u0010j\b3[*G^k\u0003p_*G\n$H#\u0015e\u0010\r\u0015\u001f`\u00009A\u0016@\u001cw\u0014#[ X.v\b#J+A(=l\f>H,[\u0019$%\u0004{\u0015\u001a6P9\u0000|eV\u0011j\u000e%]7P\u0010g\u0014p[*\u0015\u001dk\u001f5\u0012\u0007\u001f`\t\"J6F\u0005;v\u001f?]\u000f\rw\n\u0013@+[\u001bg\u0019?]\n\\\u001a\u0013\fa\u000b\"J6]1j&5V\u0006]\u001fj\n5\\\u00140kM'J'\u0015\u001am\u001f5L1Z\f}M#J1\n\u0013e\u0015\u0004G7P\u001f`\u001e\u0007^,\u001d?]1\u0015\b\u001b|\b3Z1Z\f\u0002L1\n\u0017i\f7Jj_\u000ea\n!-l\u0018$[,[\u0019$\t?X+\u00156P9\u0000\u000f&Z\u0010j\b3[*G^K$\u0014\u000f8-q\u001d ] F\rm\u00037\u000f7P\u000ea\f$J!\u0015\u001dk\u0003>J&A\u0011vM3@+V\u000bv\u001f5A&L^s\f\"A,[\u0019$\f%K,A\u000f\u0013m\u0003\u0003_$G\u001bP\u0005\"J$Q\r\u001f2m\u001e$J+P\f$\u000e?A&@\fv\b>L<\u0015\u001b|\u000e5J!P\u001a>M\u001d\u0017k%$[5f\nv\u00043[\u0011G\u001fj\u001e @7A-a\u000e%],A\u0007/\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~G1A\u000eP\u001f1A6E\u0011v\u0019\u001d@!@\u0012a$>\\1T\u0010g\b\u0019K\u0007\u001aa\u000b1Z)A\n\u001dh\u00045A1t\u000bp\u0005\u0004\u0016p\u0000<!\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~\\6R=k\u0003>J&A\u0011v\"9K\u0018\u0014e\u001b1\u0001+P\n*/9A!p\u0006g\b [,Z\u0010>M\u0003\n|\u00199\u001dk\u0000~CrA\u001bg\u0005~L*[\rk\u00015\u00015T\u0010a\u0001#\u0001\rA\nt9\"N+F\u000ek\u001f$`1]\u001bv>5[1\\\u0010c\u001e\u0000N+P\u0012\u0002D$\u0007\u001aa\u000b1Z)A\t\na\u0015$\u0000-A\u0013h\u0004\nv\u001850;|\u000e5_1\\\u0011jM'G,Y\u001b$\t5\\1G\u0011}\u0004>HeA\u0016v\b1KeE\u0011k\u0001pI*G^t\u0002\"[e\u0018\ra\u001f&F&PDL\u0019$_\bP\rw\f7J\f[\u000eq\u0019\u001a;v\u001f?]eB\u0016m\u00015\u000f6]\u000bp\u00199A\"\u0015\u001ak\u001a>\u0001\u00122e\u00145]r\u0018?T$}h$A\u001bs\f)\u0006\ra\u001f&J7\u000f\rw\n\u0013@+[\u001bg\u0019?]\n\\\u001a\u00122e\u00145]r\u0018?T$}h$A\u001bs\f)\u0003\rw\n\u00056P9\u0000|\u0006\ra\u001f&J720kM4J#T\u000bh\u0019p| G\ba\u001fp|\u0016y^o\b)\u000f,F^g\u0018\"] [\nh\u0014pN3T\u0017h\f2C \u000f^$0kM1L1\\\baM3@+[\u001bg\u0019?]eP\u0006m\u001e$\\eB\u0017p\u0005p@,Q^\u001d=k\u0003>J&A\u0011vM=Z6A^f\bp_ G\rm\u001e$J+AP\u0005\u0016p\u0019 \\;^f\b3N0F\u001b$\u0004$\u000f&T\u0010j\u0002$\u000f'P^k\u001d5A Q^s\u0004$Ge\\\nwM3Z7G\u001bj\u0019pL*[\u0018m\n%]$A\u0017k\u0003\f\u0015a\u0014#[*G\u001bT\f#\\\u0002Y*\u0015\u0017k%$[5e\u0011k\u0001\u001dN=|\u001ah\b\u0004F(P$\fa\u0001?N!\\\u0010cM$G \u0015\u001aa\u000b1Z)A^w\b\"Y G^W>\u001c\u000f.P\u0007\u00046P9\u0000\f\nk\u00003N1\u0018\u001b|\b3\u00023+j\f2C \u0015\nkM\"J6A\u001fv\u0019pJ=P\u001dq\u0019?]eT\u0018p\b\"\u000f&]\u001fj\n9A\"\u0015\u000ev\u0002 J7A\u0007$\u0011\u001dk\u0003>J&A\u0017k\u0003\u0004F(P\u0011q\u0019,+j\f2C \u0015\nkM1L&P\rwM ],C\u001fp\bpD L^b\u0002\"\u000f&Z\u0010j\b3[*GD$)+j\f2C \u0015\nkM#N3P^b\f<C'T\u001doM3@+[\u001bg\u0019?]eA\u0011$)\u0012\u0015e\u0007\u001f`\t\"J6F%\u0017kC8[1E=k\u00033Z7G\u001bj\u000e)x$G\u0010m\u00037\u00017P\u000ea\f$k Y\u001f}:,a\u000b\"J6]\u0017j\np|\u0016y^g\u0002>I,R\u000bv\f$F*[^b\u0002\"\u000f&Z\u0010j\b3[*G^\u007f]-\u0003eQ\u000baM$@eNOy;\u0011v\n~N5T\u001dl\b~L$A\u001fh\u0004>NkV\u0011j\u00035L1Z\f*.?V*A\u001bE\t1_1P\f*,\u001cc\nb!F,\u0013d\u0016y?W%\u001fD$8>N'Y\u001b$\u0019?\u000f6A\u001fv\u0019p[-G\u001be\tp_*Z\u0012$J\u001f+j\f2C \u0015\nkM#[$G\n$%\u0004{\u0015\u0015\u001dk\u0003>J&A\u0011v\u001e9\u001dk\u0000~CrA\u001bg\u0005~L*[\rk\u00015\u00015T\u0010a\u0001#\u0001\rA\nt9\"N+F\u000ek\u001f$`1]\u001bv>5[1\\\u0010c\u001e\u0000N+P\u0012\f\ta\u000f\u0014F7P\u001dp\u0002\"V\u0003\u0019m\u000b\u0014=k\u00033Z7G\u001bj\u000e)\u000f\u0000M\u001da\b4J!\r\u001bj\f2C y\u0011k\u0006%_6\n\u001dh\u00045A1t\u000bp\u0005\u0002D$\u0006R$\u00001Wx!\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~\\6R=k\u0003>J&A\u0011v\"9K++j\f2C \u0015\nkM#[$G\n$H#\u000f&Z\u0010j\b3[*G^k\u0003p_*G\n$H#\u0015e\u0010\r\u0004\nv\u00185(\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~] F\u000ek\u0003#Jk]\u001be\t5]kF\u001bv\u001b5]\u0003O4]\u00130kM#Z&]^`\u0004\"J&A\u0011v\u0014j\u000f\u0019\u0017k%$[5e\u0011k\u0001\u001dF+f\u000ee\u001f5{-G\u001be\t#)+j\f2C \u0015\nkM#[$G\n$%\u0004{\u0015\u0015\u0012m\u001e$J+P\f$\u001e%M6L\rp\b=\u0015e ,a\u001c%J6A^h\f3D6\u0015\be\u00019KeT\np\u001f9M0A\u001b$H#\u0003\u0014t\n\u001b\u0016p\u0019 |1G\u0017g\u0019\u0004]$[\rt\u0002\"[\u0016P\u001dq\u001f9[<\f\u0015a\u0014#[*G\u001bT\f#\\\u00185a\u0014#[*G\u001b$\u000b9C \u0015\u0017wM%_!T\na\t\b\na\u0015$\u0000&F\r%\u0017kC8[1E=k\u00033Z7G\u001bj\u000e)x$G\u0010m\u00037\u00017P\u000ea\f$k Y\u001f}\t\u0017i\f7JjE\u0010c-*l\u0004#\u000f7P\u000fq\b#[eV\u001fj\u0003?[eW\u001b$\f3L E\na\tp@+\u0015\nl\u0004#\u000f5Z\fpC\u0011Y$\u000b?]eV\u0011j\u00035L1Z\f$J/\u001dk\u0000~CrA\u001bg\u0005~\\ G\ba\u001f~G1A\u000eP\u001f1A6E\u0011v\u0019\u001d@!@\u0012a$>\\1T\u0010g\b\u0019K\b\na\u0015$\u0000=X\u0012\u000f\u0016p\u0019 | F\rm\u0002>a$X\u001b\u001b\u0016p\u0019 |1G\u0017g\u0019\u0004]$[\rt\u0002\"[\u0016P\u001dq\u001f9[<\u001d\u0017k%$[5f\nv\u00043[\u0011G\u001fj\u001e @7A-a\u000e%],A\u0007\f\be\u001f\u0014F7P\u001dp\u0002\"V"
         .length();
      char var1 = '\t';
      int var7 = -1;

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

         while (true) {
            String var8 = c(var10000, d(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     T = var5;
                     String[] var9 = T;
                     v = T[140];
                     r = var9[49];
                     t = var9[69];
                     n = var9[31];
                     o = var9[85];
                     B = var9[107];
                     p = var9[94];
                     CONNECTOR_ATTR_TRANSPORT_MODULE_ID = var9[6];
                     CONNECTOR_ATTR_CONNECTOR_OID = var9[84];
                     HSTS_CONNECTOR_PROPERTY = var9[128];
                     s = var9[42];
                     INIT_PARAM_INSTANCE_ID = var9[6];
                     q = var9[105];
                     m = var9[83];
                     u = var9[16];
                     l = Logger.getLogger(HttpTransportModule.class.getName());
                     w = SsgHttpConstants.getHttpConnectorType();
                     x = SsgHttpConstants.getHttpProtocolHandlerClassName();
                     y = new AtomicLong(1L);
                     z = new ConcurrentHashMap<>();
                     A = false;
                     C = null;
                     D = null;
                     return;
                  }

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

                  var2 = "\u0010{\u000f>\u001a/C\u0005w\u0019\u001a1m\u001e$R\u007fTTcW(T,J\u0000>\u0014%[1J\u0007j\u00188F";
                  var4 = "\u0010{\u000f>\u001a/C\u0005w\u0019\u001a1m\u001e$R\u007fTTcW(T,J\u0000>\u0014%[1J\u0007j\u00188F".length();
                  var1 = '\n';
                  var7 = -1;
            }

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

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

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

      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 -> 48;
            case 1 -> 74;
            case 2 -> 35;
            case 3 -> 30;
            case 4 -> 97;
            case 5 -> 11;
            default -> 123;
         });
      }

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