package com.l7tech.server.jdbc;

import com.l7tech.gateway.common.audit.AssertionMessages;
import com.l7tech.gateway.common.audit.Audit;
import com.l7tech.gateway.common.audit.LoggingAudit;
import com.l7tech.gateway.common.audit.Messages.M;
import com.l7tech.gateway.common.jdbc.InvalidPropertyException;
import com.l7tech.gateway.common.jdbc.JdbcConnection;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.server.policy.variable.ExpandVariables;
import com.l7tech.util.BeanUtils;
import com.l7tech.util.Config;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.Functions;
import com.l7tech.util.Pair;
import com.l7tech.util.Functions.Unary;
import com.mchange.v2.c3p0.ComboPooledDataSource;
import jakarta.inject.Inject;
import java.beans.PropertyDescriptor;
import java.sql.SQLException;
import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Properties;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicLong;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.naming.NamingException;
import javax.sql.DataSource;
import org.jetbrains.annotations.NotNull;
import org.springframework.beans.factory.InitializingBean;

public class JdbcConnectionPoolManager implements InitializingBean {
   private static final Logger a;
   private static final long b;
   private static final long c;
   private static final String[] d;
   private final HashMap<String, Goid> e;
   private static final String f;
   private final Audit g;
   private final JdbcConnectionManager h;
   private final Map<String, DataSource> i;
   @Inject
   private Config config;
   private final Map<DataSource, AtomicLong> j;
   private static final String[] k;

   public JdbcConnectionPoolManager(@NotNull JdbcConnectionManager var1) {
      if (var1 == null) {
         a(0);
      }

      super();
      this.e = new HashMap<>();
      this.g = new LoggingAudit(a);
      this.i = new ConcurrentHashMap<>();
      this.j = new ConcurrentHashMap<>();
      this.h = var1;
   }

   public void afterPropertiesSet() throws Exception {
      String[] var5 = k;
      a.info(var5[8]);

      Collection var1;
      try {
         var1 = this.h.findAll();
      } catch (FindException var7) {
         Audit var10000 = this.g;
         M var10001 = AssertionMessages.JDBC_CANNOT_START_POOLING;
         String[] var10002 = new String[1];
         var5 = k;
         var10002[0] = var5[3];
         var10000.logAndAudit(var10001, var10002);
         return;
      }

      for (JdbcConnection var3 : var1) {
         try {
            this.updateConnectionPool(var3, false);
         } catch (Throwable var6) {
            this.g.logAndAudit(AssertionMessages.JDBC_CANNOT_CONFIG_CONNECTION_POOL, new String[]{var3.getName(), var6.getClass().getSimpleName() + k[17]});
         }
      }
   }

   public DataSource getDataSource(String param1) throws NamingException, SQLException {
      // $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/jdbc/JdbcConnectionPoolManager.i Ljava/util/Map;
      // 04: aload 1
      // 05: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 0a: checkcast javax/sql/DataSource
      // 0d: astore 2
      // 0e: aload 2
      // 0f: ifnonnull 30
      // 12: new javax/naming/NamingException
      // 15: dup
      // 16: aload 1
      // 17: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.k [Ljava/lang/String;
      // 1a: bipush 39
      // 1c: aaload
      // 1d: swap
      // 1e: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.k [Ljava/lang/String;
      // 21: bipush 5
      // 22: aaload
      // 23: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 28: invokespecial javax/naming/NamingException.<init> (Ljava/lang/String;)V
      // 2b: athrow
      // 2c: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 2f: athrow
      // 30: aload 2
      // 31: instanceof com/mchange/v2/c3p0/ComboPooledDataSource
      // 34: ifeq 88
      // 37: aload 0
      // 38: aload 2
      // 39: invokevirtual com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljavax/sql/DataSource;)Z
      // 3c: ifeq 88
      // 3f: goto 46
      // 42: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 45: athrow
      // 46: aload 2
      // 47: checkcast com/mchange/v2/c3p0/ComboPooledDataSource
      // 4a: astore 3
      // 4b: aload 3
      // 4c: invokevirtual com/mchange/v2/c3p0/ComboPooledDataSource.getNumConnectionsAllUsers ()I
      // 4f: ifne 83
      // 52: invokestatic java/lang/System.currentTimeMillis ()J
      // 55: aload 3
      // 56: invokevirtual com/mchange/v2/c3p0/ComboPooledDataSource.getStartTimeMillisDefaultUser ()J
      // 59: lsub
      // 5a: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.b J
      // 5d: lcmp
      // 5e: ifle 83
      // 61: goto 68
      // 64: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 67: athrow
      // 68: new java/sql/SQLException
      // 6b: dup
      // 6c: aload 1
      // 6d: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.k [Ljava/lang/String;
      // 70: bipush 23
      // 72: aaload
      // 73: swap
      // 74: ldc "'"
      // 76: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 7b: invokespecial java/sql/SQLException.<init> (Ljava/lang/String;)V
      // 7e: athrow
      // 7f: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 82: athrow
      // 83: aload 0
      // 84: aload 2
      // 85: invokevirtual com/l7tech/server/jdbc/JdbcConnectionPoolManager.b (Ljavax/sql/DataSource;)V
      // 88: aload 2
      // 89: areturn
      // try (6 -> 21): 21 javax/naming/NamingException
      // try (23 -> 30): 31 javax/naming/NamingException
      // try (36 -> 46): 47 javax/naming/NamingException
      // try (39 -> 60): 60 javax/naming/NamingException
   }

   private boolean a(DataSource 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/jdbc/JdbcConnectionPoolManager.j 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/AtomicLong
      // 0d: astore 2
      // 0e: aload 2
      // 0f: ifnull 38
      // 12: aload 2
      // 13: invokevirtual java/util/concurrent/atomic/AtomicLong.get ()J
      // 16: lconst_0
      // 17: lcmp
      // 18: ifeq 38
      // 1b: goto 22
      // 1e: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 21: athrow
      // 22: invokestatic java/lang/System.currentTimeMillis ()J
      // 25: aload 2
      // 26: invokevirtual java/util/concurrent/atomic/AtomicLong.get ()J
      // 29: lsub
      // 2a: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.c J
      // 2d: lcmp
      // 2e: ifle 40
      // 31: goto 38
      // 34: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 37: athrow
      // 38: bipush 1
      // 39: goto 41
      // 3c: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 3f: athrow
      // 40: bipush 0
      // 41: ireturn
      // try (6 -> 13): 14 java/lang/RuntimeException
      // try (8 -> 23): 24 java/lang/RuntimeException
      // try (16 -> 28): 28 java/lang/RuntimeException
   }

   private void b(DataSource var1) {
      AtomicLong var2 = this.j.get(var1);

      try {
         if (var2 == null) {
            this.j.put(var1, new AtomicLong(System.currentTimeMillis()));
            return;
         }
      } catch (RuntimeException var3) {
         throw a(var3);
      }

      var2.set(System.currentTimeMillis());
   }

   public Pair<ComboPooledDataSource, String> updateConnectionPool(JdbcConnection param1, boolean param2) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 1
      // 001: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.isEnabled ()Z
      // 004: ifne 041
      // 007: iload 2
      // 008: ifne 041
      // 00b: goto 012
      // 00e: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 011: athrow
      // 012: aload 0
      // 013: aload 1
      // 014: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getName ()Ljava/lang/String;
      // 017: bipush 0
      // 018: invokevirtual com/l7tech/server/jdbc/JdbcConnectionPoolManager.deleteConnectionPool (Ljava/lang/String;Z)Z
      // 01b: pop
      // 01c: aload 0
      // 01d: getfield com/l7tech/server/jdbc/JdbcConnectionPoolManager.g Lcom/l7tech/gateway/common/audit/Audit;
      // 020: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JDBC_CONNECTION_DISABLED Lcom/l7tech/gateway/common/audit/Messages$M;
      // 023: bipush 1
      // 024: anewarray 1
      // 027: dup
      // 028: bipush 0
      // 029: aload 1
      // 02a: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getName ()Ljava/lang/String;
      // 02d: aastore
      // 02e: invokeinterface com/l7tech/gateway/common/audit/Audit.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V 3
      // 033: new com/l7tech/util/Pair
      // 036: dup
      // 037: aconst_null
      // 038: aconst_null
      // 039: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 03c: areturn
      // 03d: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 040: athrow
      // 041: new com/l7tech/server/jdbc/k
      // 044: dup
      // 045: aload 1
      // 046: invokespecial com/l7tech/server/jdbc/k.<init> (Lcom/l7tech/gateway/common/jdbc/JdbcConnection;)V
      // 049: astore 3
      // 04a: bipush 0
      // 04b: istore 5
      // 04d: aload 3
      // 04e: invokevirtual com/l7tech/server/jdbc/k.getJdbcUrl ()Ljava/lang/String;
      // 051: invokestatic java/sql/DriverManager.getDriver (Ljava/lang/String;)Ljava/sql/Driver;
      // 054: invokeinterface java/sql/Driver.getClass ()Ljava/lang/Class; 1
      // 059: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 05c: astore 4
      // 05e: bipush 1
      // 05f: istore 5
      // 061: goto 06c
      // 064: astore 6
      // 066: aload 1
      // 067: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getDriverClass ()Ljava/lang/String;
      // 06a: astore 4
      // 06c: aload 0
      // 06d: getfield com/l7tech/server/jdbc/JdbcConnectionPoolManager.h Lcom/l7tech/server/jdbc/JdbcConnectionManager;
      // 070: aload 4
      // 072: invokeinterface com/l7tech/server/jdbc/JdbcConnectionManager.isDriverClassSupported (Ljava/lang/String;)Z 2
      // 077: ifne 10e
      // 07a: iload 5
      // 07c: ifeq 09b
      // 07f: goto 086
      // 082: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 085: athrow
      // 086: aload 4
      // 088: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.k [Ljava/lang/String;
      // 08b: bipush 22
      // 08d: aaload
      // 08e: swap
      // 08f: 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" ]
      // 094: goto 0b2
      // 097: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 09a: athrow
      // 09b: aload 4
      // 09d: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.k [Ljava/lang/String;
      // 0a0: astore 10
      // 0a2: aload 10
      // 0a4: bipush 31
      // 0a6: aaload
      // 0a7: swap
      // 0a8: aload 10
      // 0aa: bipush 34
      // 0ac: aaload
      // 0ad: invokedynamic makeConcatWithConstants (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; bsm=java/lang/invoke/StringConcatFactory.makeConcatWithConstants (Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/invoke/CallSite; args=[ "\u0001\u0001\u0001" ]
      // 0b2: astore 6
      // 0b4: aload 0
      // 0b5: getfield com/l7tech/server/jdbc/JdbcConnectionPoolManager.config Lcom/l7tech/util/Config;
      // 0b8: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.k [Ljava/lang/String;
      // 0bb: bipush 24
      // 0bd: aaload
      // 0be: bipush 1
      // 0bf: invokeinterface com/l7tech/util/Config.getBooleanProperty (Ljava/lang/String;Z)Z 3
      // 0c4: ifeq 0f2
      // 0c7: aload 0
      // 0c8: getfield com/l7tech/server/jdbc/JdbcConnectionPoolManager.g Lcom/l7tech/gateway/common/audit/Audit;
      // 0cb: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JDBC_CANNOT_CONFIG_CONNECTION_POOL Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0ce: bipush 2
      // 0cf: anewarray 1
      // 0d2: dup
      // 0d3: bipush 0
      // 0d4: aload 1
      // 0d5: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getName ()Ljava/lang/String;
      // 0d8: aastore
      // 0d9: dup
      // 0da: bipush 1
      // 0db: aload 6
      // 0dd: aastore
      // 0de: invokeinterface com/l7tech/gateway/common/audit/Audit.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V 3
      // 0e3: new com/l7tech/util/Pair
      // 0e6: dup
      // 0e7: aconst_null
      // 0e8: aload 6
      // 0ea: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 0ed: areturn
      // 0ee: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0f1: athrow
      // 0f2: aload 0
      // 0f3: getfield com/l7tech/server/jdbc/JdbcConnectionPoolManager.g Lcom/l7tech/gateway/common/audit/Audit;
      // 0f6: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JDBC_CONNECTION_POOL_NON_WHITE_LISTED_DRIVER Lcom/l7tech/gateway/common/audit/Messages$M;
      // 0f9: bipush 2
      // 0fa: anewarray 1
      // 0fd: dup
      // 0fe: bipush 0
      // 0ff: aload 4
      // 101: aastore
      // 102: dup
      // 103: bipush 1
      // 104: aload 1
      // 105: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getName ()Ljava/lang/String;
      // 108: aastore
      // 109: invokeinterface com/l7tech/gateway/common/audit/Audit.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V 3
      // 10e: aload 0
      // 10f: getfield com/l7tech/server/jdbc/JdbcConnectionPoolManager.i Ljava/util/Map;
      // 112: aload 1
      // 113: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getName ()Ljava/lang/String;
      // 116: invokeinterface java/util/Map.get (Ljava/lang/Object;)Ljava/lang/Object; 2
      // 11b: checkcast javax/sql/DataSource
      // 11e: astore 6
      // 120: aload 6
      // 122: ifnull 1dd
      // 125: iload 2
      // 126: ifne 1dd
      // 129: goto 130
      // 12c: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 12f: athrow
      // 130: aload 6
      // 132: instanceof com/mchange/v2/c3p0/ComboPooledDataSource
      // 135: ifeq 1ae
      // 138: goto 13f
      // 13b: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 13e: athrow
      // 13f: aload 0
      // 140: aload 6
      // 142: checkcast com/mchange/v2/c3p0/ComboPooledDataSource
      // 145: aload 3
      // 146: invokevirtual com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Lcom/mchange/v2/c3p0/ComboPooledDataSource;Lcom/l7tech/server/jdbc/k;)V
      // 149: goto 180
      // 14c: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 14f: athrow
      // 150: astore 7
      // 152: aload 7
      // 154: invokevirtual java/lang/Exception.getMessage ()Ljava/lang/String;
      // 157: astore 8
      // 159: aload 0
      // 15a: getfield com/l7tech/server/jdbc/JdbcConnectionPoolManager.g Lcom/l7tech/gateway/common/audit/Audit;
      // 15d: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JDBC_CANNOT_CONFIG_CONNECTION_POOL Lcom/l7tech/gateway/common/audit/Messages$M;
      // 160: bipush 2
      // 161: anewarray 1
      // 164: dup
      // 165: bipush 0
      // 166: aload 1
      // 167: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getName ()Ljava/lang/String;
      // 16a: aastore
      // 16b: dup
      // 16c: bipush 1
      // 16d: aload 8
      // 16f: aastore
      // 170: invokeinterface com/l7tech/gateway/common/audit/Audit.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V 3
      // 175: new com/l7tech/util/Pair
      // 178: dup
      // 179: aconst_null
      // 17a: aload 8
      // 17c: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 17f: areturn
      // 180: aload 0
      // 181: getfield com/l7tech/server/jdbc/JdbcConnectionPoolManager.i Ljava/util/Map;
      // 184: aload 1
      // 185: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getName ()Ljava/lang/String;
      // 188: aload 6
      // 18a: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 18f: pop
      // 190: aload 0
      // 191: getfield com/l7tech/server/jdbc/JdbcConnectionPoolManager.e Ljava/util/HashMap;
      // 194: aload 1
      // 195: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getName ()Ljava/lang/String;
      // 198: aload 1
      // 199: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 19c: invokevirtual java/util/HashMap.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
      // 19f: pop
      // 1a0: new com/l7tech/util/Pair
      // 1a3: dup
      // 1a4: aload 6
      // 1a6: checkcast com/mchange/v2/c3p0/ComboPooledDataSource
      // 1a9: aconst_null
      // 1aa: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 1ad: areturn
      // 1ae: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.k [Ljava/lang/String;
      // 1b1: bipush 29
      // 1b3: aaload
      // 1b4: astore 7
      // 1b6: aload 0
      // 1b7: getfield com/l7tech/server/jdbc/JdbcConnectionPoolManager.g Lcom/l7tech/gateway/common/audit/Audit;
      // 1ba: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JDBC_CANNOT_CONFIG_CONNECTION_POOL Lcom/l7tech/gateway/common/audit/Messages$M;
      // 1bd: bipush 2
      // 1be: anewarray 1
      // 1c1: dup
      // 1c2: bipush 0
      // 1c3: aload 1
      // 1c4: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getName ()Ljava/lang/String;
      // 1c7: aastore
      // 1c8: dup
      // 1c9: bipush 1
      // 1ca: aload 7
      // 1cc: aastore
      // 1cd: invokeinterface com/l7tech/gateway/common/audit/Audit.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V 3
      // 1d2: new com/l7tech/util/Pair
      // 1d5: dup
      // 1d6: aconst_null
      // 1d7: aload 7
      // 1d9: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 1dc: areturn
      // 1dd: new com/mchange/v2/c3p0/ComboPooledDataSource
      // 1e0: dup
      // 1e1: invokespecial com/mchange/v2/c3p0/ComboPooledDataSource.<init> ()V
      // 1e4: astore 7
      // 1e6: aload 0
      // 1e7: aload 7
      // 1e9: aload 3
      // 1ea: invokevirtual com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Lcom/mchange/v2/c3p0/ComboPooledDataSource;Lcom/l7tech/server/jdbc/k;)V
      // 1ed: goto 220
      // 1f0: astore 8
      // 1f2: aload 8
      // 1f4: invokevirtual java/lang/Exception.getMessage ()Ljava/lang/String;
      // 1f7: astore 9
      // 1f9: aload 0
      // 1fa: getfield com/l7tech/server/jdbc/JdbcConnectionPoolManager.g Lcom/l7tech/gateway/common/audit/Audit;
      // 1fd: getstatic com/l7tech/gateway/common/audit/AssertionMessages.JDBC_CANNOT_CONFIG_CONNECTION_POOL Lcom/l7tech/gateway/common/audit/Messages$M;
      // 200: bipush 2
      // 201: anewarray 1
      // 204: dup
      // 205: bipush 0
      // 206: aload 1
      // 207: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getName ()Ljava/lang/String;
      // 20a: aastore
      // 20b: dup
      // 20c: bipush 1
      // 20d: aload 9
      // 20f: aastore
      // 210: invokeinterface com/l7tech/gateway/common/audit/Audit.logAndAudit (Lcom/l7tech/gateway/common/audit/AuditDetailMessage;[Ljava/lang/String;)V 3
      // 215: new com/l7tech/util/Pair
      // 218: dup
      // 219: aconst_null
      // 21a: aload 9
      // 21c: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 21f: areturn
      // 220: iload 2
      // 221: ifne 24b
      // 224: aload 0
      // 225: getfield com/l7tech/server/jdbc/JdbcConnectionPoolManager.i Ljava/util/Map;
      // 228: aload 1
      // 229: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getName ()Ljava/lang/String;
      // 22c: aload 7
      // 22e: invokeinterface java/util/Map.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object; 3
      // 233: pop
      // 234: aload 0
      // 235: getfield com/l7tech/server/jdbc/JdbcConnectionPoolManager.e Ljava/util/HashMap;
      // 238: aload 1
      // 239: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getName ()Ljava/lang/String;
      // 23c: aload 1
      // 23d: invokevirtual com/l7tech/gateway/common/jdbc/JdbcConnection.getGoid ()Lcom/l7tech/objectmodel/Goid;
      // 240: invokevirtual java/util/HashMap.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
      // 243: pop
      // 244: goto 24b
      // 247: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 24a: athrow
      // 24b: new com/l7tech/util/Pair
      // 24e: dup
      // 24f: aload 7
      // 251: aconst_null
      // 252: invokespecial com/l7tech/util/Pair.<init> (Ljava/lang/Object;Ljava/lang/Object;)V
      // 255: areturn
      // try (3 -> 31): 31 java/sql/SQLException
      // try (0 -> 5): 6 java/sql/SQLException
      // try (40 -> 48): 49 java/sql/SQLException
      // try (139 -> 147): 148 java/sql/SQLException
      // try (137 -> 141): 142 java/sql/SQLException
      // try (84 -> 113): 113 java/sql/SQLException
      // try (58 -> 70): 70 java/sql/SQLException
      // try (53 -> 60): 61 java/sql/SQLException
      // try (150 -> 155): 158 com/l7tech/gateway/common/jdbc/InvalidPropertyException
      // try (150 -> 155): 158 com/l7tech/objectmodel/FindException
      // try (144 -> 156): 156 java/sql/SQLException
      // try (234 -> 238): 239 com/l7tech/gateway/common/jdbc/InvalidPropertyException
      // try (234 -> 238): 239 com/l7tech/objectmodel/FindException
      // try (264 -> 281): 282 java/sql/SQLException
   }

   public ComboPooledDataSource getTestConnectionPool(JdbcConnection var1) throws InvalidPropertyException {
      Pair var2;
      try {
         var2 = this.updateConnectionPool(var1, true);
      } catch (Throwable var6) {
         String var10002 = var6.getClass().getSimpleName();
         String[] var4 = k;
         throw new RuntimeException(var10002 + var4[30]);
      }

      try {
         if (var2.right != null) {
            throw new InvalidPropertyException((String)var2.right);
         }
      } catch (Throwable var5) {
         throw a(var5);
      }

      try {
         if (var2.left == null) {
            throw new IllegalStateException(k[26]);
         }
      } catch (Throwable var7) {
         throw a(var7);
      }

      return (ComboPooledDataSource)var2.left;
   }

   public boolean deleteConnectionPool(String var1) {
      return this.deleteConnectionPool(var1, true);
   }

   public boolean deleteConnectionPool(String var1, boolean var2) {
      ComboPooledDataSource var3 = (ComboPooledDataSource)this.i.get(var1);

      label30: {
         try {
            if (var3 != null) {
               break label30;
            }

            if (!var2) {
               return false;
            }
         } catch (RuntimeException var5) {
            throw a(var5);
         }

         String var4 = k[0] + var1;
         this.g.logAndAudit(AssertionMessages.JDBC_CANNOT_DELETE_CONNECTION_POOL, new String[]{var1, var4});
         return false;
      }

      var3.close();
      this.i.remove(var1);
      this.e.remove(var1);
      this.g.logAndAudit(AssertionMessages.JDBC_DELETED_CONNECTION_POOL, new String[]{var1});
      return true;
   }

   private void a(ComboPooledDataSource param1, k param2) throws InvalidPropertyException, FindException {
      // $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 2
      // 001: invokevirtual com/l7tech/server/jdbc/k.getDriverClass ()Ljava/lang/String;
      // 004: invokestatic com/l7tech/server/policy/variable/ExpandVariables.processEnvVar (Ljava/lang/String;)Ljava/lang/String;
      // 007: astore 3
      // 008: aload 1
      // 009: aload 3
      // 00a: invokevirtual com/mchange/v2/c3p0/ComboPooledDataSource.setDriverClass (Ljava/lang/String;)V
      // 00d: goto 024
      // 010: astore 4
      // 012: new com/l7tech/gateway/common/jdbc/InvalidPropertyException
      // 015: dup
      // 016: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.k [Ljava/lang/String;
      // 019: astore 8
      // 01b: aload 8
      // 01d: bipush 13
      // 01f: aaload
      // 020: invokespecial com/l7tech/gateway/common/jdbc/InvalidPropertyException.<init> (Ljava/lang/String;)V
      // 023: athrow
      // 024: aload 2
      // 025: invokevirtual com/l7tech/server/jdbc/k.getJdbcUrl ()Ljava/lang/String;
      // 028: invokestatic com/l7tech/server/policy/variable/ExpandVariables.processEnvVar (Ljava/lang/String;)Ljava/lang/String;
      // 02b: astore 4
      // 02d: aload 1
      // 02e: aload 4
      // 030: invokevirtual com/mchange/v2/c3p0/ComboPooledDataSource.setJdbcUrl (Ljava/lang/String;)V
      // 033: aload 1
      // 034: aload 2
      // 035: invokevirtual com/l7tech/server/jdbc/k.getMinPoolSize ()I
      // 038: invokevirtual com/mchange/v2/c3p0/ComboPooledDataSource.setInitialPoolSize (I)V
      // 03b: aload 1
      // 03c: aload 2
      // 03d: invokevirtual com/l7tech/server/jdbc/k.getMinPoolSize ()I
      // 040: invokevirtual com/mchange/v2/c3p0/ComboPooledDataSource.setMinPoolSize (I)V
      // 043: aload 1
      // 044: aload 2
      // 045: invokevirtual com/l7tech/server/jdbc/k.getMaxPoolSize ()I
      // 048: invokevirtual com/mchange/v2/c3p0/ComboPooledDataSource.setMaxPoolSize (I)V
      // 04b: aload 1
      // 04c: bipush 120
      // 04e: invokevirtual com/mchange/v2/c3p0/ComboPooledDataSource.setMaxIdleTime (I)V
      // 051: aload 2
      // 052: invokevirtual com/l7tech/server/jdbc/k.getMaxPoolSize ()I
      // 055: aload 2
      // 056: invokevirtual com/l7tech/server/jdbc/k.getMinPoolSize ()I
      // 059: isub
      // 05a: bipush 10
      // 05c: idiv
      // 05d: istore 5
      // 05f: iload 5
      // 061: ifgt 067
      // 064: bipush 1
      // 065: istore 5
      // 067: aload 1
      // 068: iload 5
      // 06a: invokevirtual com/mchange/v2/c3p0/ComboPooledDataSource.setAcquireIncrement (I)V
      // 06d: aload 0
      // 06e: aload 1
      // 06f: aload 2
      // 070: invokevirtual com/l7tech/server/jdbc/JdbcConnectionPoolManager.b (Lcom/mchange/v2/c3p0/ComboPooledDataSource;Lcom/l7tech/server/jdbc/k;)Ljava/util/Properties;
      // 073: astore 6
      // 075: ldc com/mysql/cj/jdbc/Driver
      // 077: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 07a: aload 3
      // 07b: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 07e: ifne 094
      // 081: ldc com/mysql/jdbc/Driver
      // 083: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 086: aload 3
      // 087: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 08a: ifeq 0d7
      // 08d: goto 094
      // 090: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 093: athrow
      // 094: aload 6
      // 096: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.k [Ljava/lang/String;
      // 099: bipush 38
      // 09b: aaload
      // 09c: invokevirtual java/util/Properties.containsKey (Ljava/lang/Object;)Z
      // 09f: ifne 0d7
      // 0a2: goto 0a9
      // 0a5: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0a8: athrow
      // 0a9: aload 4
      // 0ab: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.k [Ljava/lang/String;
      // 0ae: bipush 7
      // 0b0: aaload
      // 0b1: invokevirtual java/lang/String.contains (Ljava/lang/CharSequence;)Z
      // 0b4: ifne 0d7
      // 0b7: goto 0be
      // 0ba: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0bd: athrow
      // 0be: aload 6
      // 0c0: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.k [Ljava/lang/String;
      // 0c3: bipush 7
      // 0c5: aaload
      // 0c6: getstatic java/lang/Boolean.FALSE Ljava/lang/Boolean;
      // 0c9: invokevirtual java/lang/Boolean.toString ()Ljava/lang/String;
      // 0cc: invokevirtual java/util/Properties.put (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
      // 0cf: pop
      // 0d0: goto 0d7
      // 0d3: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0d6: athrow
      // 0d7: aload 1
      // 0d8: aload 6
      // 0da: invokevirtual com/mchange/v2/c3p0/ComboPooledDataSource.setProperties (Ljava/util/Properties;)V
      // 0dd: aload 2
      // 0de: invokevirtual com/l7tech/server/jdbc/k.getUserName ()Ljava/lang/String;
      // 0e1: invokestatic com/l7tech/server/policy/variable/ExpandVariables.processEnvVar (Ljava/lang/String;)Ljava/lang/String;
      // 0e4: astore 7
      // 0e6: aload 7
      // 0e8: ifnull 11f
      // 0eb: aload 7
      // 0ed: invokevirtual java/lang/String.isEmpty ()Z
      // 0f0: ifne 11f
      // 0f3: goto 0fa
      // 0f6: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 0f9: athrow
      // 0fa: aload 1
      // 0fb: aload 7
      // 0fd: invokevirtual com/mchange/v2/c3p0/ComboPooledDataSource.setUser (Ljava/lang/String;)V
      // 100: aload 1
      // 101: new com/l7tech/gateway/common/audit/LoggingAudit
      // 104: dup
      // 105: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a Ljava/util/logging/Logger;
      // 108: invokespecial com/l7tech/gateway/common/audit/LoggingAudit.<init> (Ljava/util/logging/Logger;)V
      // 10b: aload 2
      // 10c: invokevirtual com/l7tech/server/jdbc/k.getPassword ()Ljava/lang/String;
      // 10f: invokestatic com/l7tech/server/policy/variable/ExpandVariables.processEnvVar (Ljava/lang/String;)Ljava/lang/String;
      // 112: invokestatic com/l7tech/server/policy/variable/ServerVariables.expandSinglePasswordOnlyVariable (Lcom/l7tech/gateway/common/audit/Audit;Ljava/lang/String;)Ljava/lang/String;
      // 115: invokevirtual com/mchange/v2/c3p0/ComboPooledDataSource.setPassword (Ljava/lang/String;)V
      // 118: goto 11f
      // 11b: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 11e: athrow
      // 11f: return
      // try (4 -> 7): 8 java/beans/PropertyVetoException
      // try (60 -> 70): 71 java/beans/PropertyVetoException
      // try (65 -> 79): 80 java/beans/PropertyVetoException
      // try (73 -> 88): 89 java/beans/PropertyVetoException
      // try (82 -> 99): 100 java/beans/PropertyVetoException
      // try (109 -> 114): 115 java/beans/PropertyVetoException
      // try (111 -> 130): 131 java/beans/PropertyVetoException
   }

   private Properties b(ComboPooledDataSource var1, k var2) throws InvalidPropertyException {
      Properties var3 = new Properties();
      Map var4 = var2.getAdditionalProperties();
      Set var5 = BeanUtils.omitProperties(BeanUtils.getProperties(ComboPooledDataSource.class), d);

      for (String var7 : var4.keySet()) {
         String var8 = (String)var4.get(var7);
         String var10000 = var7.toLowerCase();
         String[] var11 = k;
         if (var10000.startsWith(var11[21])) {
            String var9 = var7.substring(5).toLowerCase();
            PropertyDescriptor var10 = (PropertyDescriptor)Functions.grepFirst(var5, Functions.equality(this.a(), var9));

            try {
               if (var10 != null) {
                  this.a(var1, var10, var7, var8, var2.getName());
                  continue;
               }
            } catch (InvalidPropertyException var12) {
               throw a(var12);
            }

            a.log(Level.WARNING, k[2], new Object[]{var7, var2.getName()});
         } else {
            var3.put(var7, ExpandVariables.processEnvVar(var8));
         }
      }

      return var3;
   }

   private void a(ComboPooledDataSource param1, PropertyDescriptor param2, String param3, String param4, String param5) throws InvalidPropertyException {
      // $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 2
      // 01: invokevirtual java/beans/PropertyDescriptor.getPropertyType ()Ljava/lang/Class;
      // 04: ldc java/lang/String
      // 06: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 09: ifeq 25
      // 0c: aload 2
      // 0d: invokevirtual java/beans/PropertyDescriptor.getWriteMethod ()Ljava/lang/reflect/Method;
      // 10: aload 1
      // 11: bipush 1
      // 12: anewarray 503
      // 15: dup
      // 16: bipush 0
      // 17: aload 4
      // 19: aastore
      // 1a: invokevirtual java/lang/reflect/Method.invoke (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
      // 1d: pop
      // 1e: goto bc
      // 21: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 24: athrow
      // 25: aload 2
      // 26: invokevirtual java/beans/PropertyDescriptor.getPropertyType ()Ljava/lang/Class;
      // 29: ldc java/lang/Integer
      // 2b: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 2e: ifne 45
      // 31: aload 2
      // 32: invokevirtual java/beans/PropertyDescriptor.getPropertyType ()Ljava/lang/Class;
      // 35: getstatic java/lang/Integer.TYPE Ljava/lang/Class;
      // 38: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 3b: ifeq 61
      // 3e: goto 45
      // 41: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 44: athrow
      // 45: aload 2
      // 46: invokevirtual java/beans/PropertyDescriptor.getWriteMethod ()Ljava/lang/reflect/Method;
      // 49: aload 1
      // 4a: bipush 1
      // 4b: anewarray 503
      // 4e: dup
      // 4f: bipush 0
      // 50: aload 4
      // 52: invokestatic java/lang/Integer.valueOf (Ljava/lang/String;)Ljava/lang/Integer;
      // 55: aastore
      // 56: invokevirtual java/lang/reflect/Method.invoke (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
      // 59: pop
      // 5a: goto bc
      // 5d: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 60: athrow
      // 61: aload 2
      // 62: invokevirtual java/beans/PropertyDescriptor.getPropertyType ()Ljava/lang/Class;
      // 65: ldc java/lang/Boolean
      // 67: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 6a: ifne 81
      // 6d: aload 2
      // 6e: invokevirtual java/beans/PropertyDescriptor.getPropertyType ()Ljava/lang/Class;
      // 71: getstatic java/lang/Boolean.TYPE Ljava/lang/Class;
      // 74: invokevirtual java/lang/Class.isAssignableFrom (Ljava/lang/Class;)Z
      // 77: ifeq 9d
      // 7a: goto 81
      // 7d: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 80: athrow
      // 81: aload 2
      // 82: invokevirtual java/beans/PropertyDescriptor.getWriteMethod ()Ljava/lang/reflect/Method;
      // 85: aload 1
      // 86: bipush 1
      // 87: anewarray 503
      // 8a: dup
      // 8b: bipush 0
      // 8c: aload 4
      // 8e: invokestatic java/lang/Boolean.valueOf (Ljava/lang/String;)Ljava/lang/Boolean;
      // 91: aastore
      // 92: invokevirtual java/lang/reflect/Method.invoke (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
      // 95: pop
      // 96: goto bc
      // 99: invokestatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 9c: athrow
      // 9d: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.a Ljava/util/logging/Logger;
      // a0: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // a3: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.k [Ljava/lang/String;
      // a6: astore 7
      // a8: aload 7
      // aa: bipush 4
      // ab: aaload
      // ac: bipush 2
      // ad: anewarray 503
      // b0: dup
      // b1: bipush 0
      // b2: aload 3
      // b3: aastore
      // b4: dup
      // b5: bipush 1
      // b6: aload 5
      // b8: aastore
      // b9: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;[Ljava/lang/Object;)V
      // bc: goto f1
      // bf: astore 6
      // c1: new com/l7tech/gateway/common/jdbc/InvalidPropertyException
      // c4: dup
      // c5: aload 3
      // c6: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.k [Ljava/lang/String;
      // c9: astore 7
      // cb: aload 7
      // cd: bipush 9
      // cf: aaload
      // d0: swap
      // d1: 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" ]
      // d6: invokespecial com/l7tech/gateway/common/jdbc/InvalidPropertyException.<init> (Ljava/lang/String;)V
      // d9: athrow
      // da: astore 6
      // dc: new com/l7tech/gateway/common/jdbc/InvalidPropertyException
      // df: dup
      // e0: aload 3
      // e1: getstatic com/l7tech/server/jdbc/JdbcConnectionPoolManager.k [Ljava/lang/String;
      // e4: bipush 27
      // e6: aaload
      // e7: swap
      // e8: 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" ]
      // ed: invokespecial com/l7tech/gateway/common/jdbc/InvalidPropertyException.<init> (Ljava/lang/String;)V
      // f0: athrow
      // f1: return
      // try (52 -> 73): 73 java/lang/NumberFormatException
      // try (47 -> 57): 58 java/lang/NumberFormatException
      // try (24 -> 45): 45 java/lang/NumberFormatException
      // try (19 -> 29): 30 java/lang/NumberFormatException
      // try (0 -> 17): 17 java/lang/NumberFormatException
      // try (0 -> 93): 94 java/lang/NumberFormatException
      // try (0 -> 93): 107 java/lang/reflect/InvocationTargetException
      // try (0 -> 93): 107 java/lang/IllegalAccessException
   }

   private Unary<String, PropertyDescriptor> a() {
      return new j(this);
   }

   public String getConnectionName(Goid var1) {
      for (String var3 : this.e.keySet()) {
         try {
            if (this.e.get(var3).equals(var1)) {
               return var3;
            }
         } catch (RuntimeException var4) {
            throw a(var4);
         }
      }

      return null;
   }

   static {
      String[] var5 = new String[40];
      int var3 = 0;
      String var2 = "\u0003\"ILA\\@)?PVC\\Mf4ZWR\\_)%I@V\\N?pZ\u0003y8n\u0005pXL]\u0012I%$RL]\\B'=^\u000f\u0013\u0018%?UMV\u001fX/?Us\\\u0013@\u00021OB`\u0013Y43^=\u000f7ULA\u0015B!pNMX\u0012C1>\u001b`\u0000,\u001cf ILC\u0019^2)\u001b\u0004H\u0001\u000bf6TQ\u00136h\u0004\u0013\u001b@\\\u0012B#3OJ\\\u0012\fa+F\u0004\u001d f%UBQ\u0010If$T\u0003U\u0015B\"pqgq?\f%?UMV\u001fX/?UPG\u000f7ULA\u0015B!px\u0010cL\f6\"TSV\u000eX?p\u001cXN[\f ?I\u0003y8n\u0005pXL]\u0012I%$RL]\\\u000b=-\u001c\u0003\u001b\tB5%KS\\\u000eX#4\u001bWJ\fIo\u001dap_LV\u000f\f(?O\u0003V\u0004E5$\u001bJ]\\X.5\u001bS\\\u0013@h>\u0007\"\\V^\u0019B2p]LA\\l\b?OmF\u0010@f ZQR\u0011I25I\u0003\u0014Y_apTE\u0013Y_huH\u0003^\t_2pULG\\N#pUV_\u0010\u00063#^p`0%\u000f>RWZ\u001d@/*RMT\\f\u0002\u0012x\u0003P\u0013B(5XWZ\u0013Bf TL_\u0015B!~\u001a\u000f>MB_\u0015Hf9UWV\u001bI4pKQ\\\fI4$B\u000f\u00130%?V\r_KX#3S\r@\u0019^05I\rY\u0018N%~KL\\\u0010o)>UFP\bE)>xKV\u001fG\u000b9UbT\u0019\u00043#^Q\u0006z9UJGB\u001d\u000f>MB_\u0015Hf ILC\u0019^2)\u0017\u0003W\u000eE05I`_\u001d_5\u0007,4Y@f\u000e@\u000b\"\"RUV\u000eo*1HP\n6\"TSV\u000eX/5H\u0007f?X@F\u000e_\u000b+1Cs\\\u0013@\u00159AF\u00153#^Q|\nI4\"RGV\u000fm5\u0003OQZ\u0012K\u000f/>RWZ\u001d@\u0016?TO`\u0015V#\u0005%cK\u0013\u001d3\f\u0014y`\u0013)~\npIF@\u0013@05_\u0003G\u0013\f3>HVC\fC4$^G\u00136h\u0004\u0013\u001bgA\u0015Z#\"\u001b@_\u001d_5p\u001e\b?\u001b@\\\u0012B#3OJ\\\u0012_f1MBZ\u0010M$<^\u0003U\u0013^fw,,4Y@p\u0013B(5XWZ\u0013Bh4IJE\u0019^\u0005<ZP@R[.9OF\u007f\u0015_2\u0006ZOZ\u0018M25\r6\"TSV\u000eX?\u0013B@_\u0019+\u000f<WFT\u001d@f\u0003OBG\u0019\u0016f4ZWR\\_)%I@V\\A3#O\u0003]\u0013Xf2^\u0003]\t@*\u0012\u000f>MB_\u0015Hf ILC\u0019^2)\u0017\u0003\b61HPD\u0013^\"'\u00128^\u0003P\u0013B(5XWZ\u0013Bf TL_\\E5pULG\\Mf\u0013\bs\u0003\\\\)?W\r\u0007f?X@F\u000e_\u0012\f\u0014y`\u00138^/&^Q\u0013\u001f@'#H\u0003\u000b+9Us\\\u0013@\u00159AF\u0015,4Y@p\u0013B(5XWZ\u0013B\u000b1UBT\u0019^\u0012f9H\u0003]\u0013Xf#NSC\u0013^25_\r\t*?\\tA\u0015X#\"5%?V\r_KX#3S\r@\u0019^05I\rY\u0018N%~KL\\\u0010o)>UFP\bE)>xKV\u001fG\u000b9Uj]\bI4&ZO0%?V\f_KX#3S\f@\u0019^05I\fY\u0018N%\u007fqGQ\u001fo)>UFP\bE)>kL\\\u0010a'>ZDV\u000e";
      int var4 = "\u0003\"ILA\\@)?PVC\\Mf4ZWR\\_)%I@V\\N?pZ\u0003y8n\u0005pXL]\u0012I%$RL]\\B'=^\u000f\u0013\u0018%?UMV\u001fX/?Us\\\u0013@\u00021OB`\u0013Y43^=\u000f7ULA\u0015B!pNMX\u0012C1>\u001b`\u0000,\u001cf ILC\u0019^2)\u001b\u0004H\u0001\u000bf6TQ\u00136h\u0004\u0013\u001b@\\\u0012B#3OJ\\\u0012\fa+F\u0004\u001d f%UBQ\u0010If$T\u0003U\u0015B\"pqgq?\f%?UMV\u001fX/?UPG\u000f7ULA\u0015B!px\u0010cL\f6\"TSV\u000eX?p\u001cXN[\f ?I\u0003y8n\u0005pXL]\u0012I%$RL]\\\u000b=-\u001c\u0003\u001b\tB5%KS\\\u000eX#4\u001bWJ\fIo\u001dap_LV\u000f\f(?O\u0003V\u0004E5$\u001bJ]\\X.5\u001bS\\\u0013@h>\u0007\"\\V^\u0019B2p]LA\\l\b?OmF\u0010@f ZQR\u0011I25I\u0003\u0014Y_apTE\u0013Y_huH\u0003^\t_2pULG\\N#pUV_\u0010\u00063#^p`0%\u000f>RWZ\u001d@/*RMT\\f\u0002\u0012x\u0003P\u0013B(5XWZ\u0013Bf TL_\u0015B!~\u001a\u000f>MB_\u0015Hf9UWV\u001bI4pKQ\\\fI4$B\u000f\u00130%?V\r_KX#3S\r@\u0019^05I\rY\u0018N%~KL\\\u0010o)>UFP\bE)>xKV\u001fG\u000b9UbT\u0019\u00043#^Q\u0006z9UJGB\u001d\u000f>MB_\u0015Hf ILC\u0019^2)\u0017\u0003W\u000eE05I`_\u001d_5\u0007,4Y@f\u000e@\u000b\"\"RUV\u000eo*1HP\n6\"TSV\u000eX/5H\u0007f?X@F\u000e_\u000b+1Cs\\\u0013@\u00159AF\u00153#^Q|\nI4\"RGV\u000fm5\u0003OQZ\u0012K\u000f/>RWZ\u001d@\u0016?TO`\u0015V#\u0005%cK\u0013\u001d3\f\u0014y`\u0013)~\npIF@\u0013@05_\u0003G\u0013\f3>HVC\fC4$^G\u00136h\u0004\u0013\u001bgA\u0015Z#\"\u001b@_\u001d_5p\u001e\b?\u001b@\\\u0012B#3OJ\\\u0012_f1MBZ\u0010M$<^\u0003U\u0013^fw,,4Y@p\u0013B(5XWZ\u0013Bh4IJE\u0019^\u0005<ZP@R[.9OF\u007f\u0015_2\u0006ZOZ\u0018M25\r6\"TSV\u000eX?\u0013B@_\u0019+\u000f<WFT\u001d@f\u0003OBG\u0019\u0016f4ZWR\\_)%I@V\\A3#O\u0003]\u0013Xf2^\u0003]\t@*\u0012\u000f>MB_\u0015Hf ILC\u0019^2)\u0017\u0003\b61HPD\u0013^\"'\u00128^\u0003P\u0013B(5XWZ\u0013Bf TL_\\E5pULG\\Mf\u0013\bs\u0003\\\\)?W\r\u0007f?X@F\u000e_\u0012\f\u0014y`\u00138^/&^Q\u0013\u001f@'#H\u0003\u000b+9Us\\\u0013@\u00159AF\u0015,4Y@p\u0013B(5XWZ\u0013B\u000b1UBT\u0019^\u0012f9H\u0003]\u0013Xf#NSC\u0013^25_\r\t*?\\tA\u0015X#\"5%?V\r_KX#3S\r@\u0019^05I\rY\u0018N%~KL\\\u0010o)>UFP\bE)>xKV\u001fG\u000b9Uj]\bI4&ZO0%?V\f_KX#3S\f@\u0019^05I\fY\u0018N%\u007fqGQ\u001fo)>UFP\bE)>kL\\\u0010a'>ZDV\u000e"
         .length();
      char var1 = '6';
      int var7 = -1;

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

         while (true) {
            String var9 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var9;
                  if ((var7 += var1) >= var4) {
                     k = var5;
                     f = k[7];
                     a = Logger.getLogger(JdbcConnectionPoolManager.class.getName());
                     String[] var8 = k;
                     b = ConfigFactory.getLongProperty(var8[10], 30000L);
                     c = ConfigFactory.getLongProperty(var8[36], 15000L);
                     d = new String[]{var8[1], var8[15], var8[20], var8[14], var8[35], var8[18], var8[32], var8[28], var8[16], var8[25], var8[11], var8[19]};
                     return;
                  }

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

                  var2 = "sc\u001e0 p\u0011E\u007f\u0015\r\u0016_\u0018o\u007f\u0015C\u001d]\u0001c0\\";
                  var4 = "sc\u001e0 p\u0011E\u007f\u0015\r\u0016_\u0018o\u007f\u0015C\u001d]\u0001c0\\".length();
                  var1 = 6;
                  var7 = -1;
            }

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

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

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

      return var10000;
   }

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

      for (int var2 = 0; var10000 > var2; var2++) {
         var10001[var2] = (char)(var10001[var2] ^ var10002 ^ switch (var2 % 7) {
            case 0 -> 99;
            case 1 -> 117;
            case 2 -> 30;
            case 3 -> 6;
            case 4 -> 22;
            case 5 -> 89;
            default -> 9;
         });
      }

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