package com.l7tech.server.cluster;

import com.l7tech.gateway.common.cluster.ClusterNodeInfo;
import com.l7tech.server.NodePropertiesLoader;
import com.l7tech.util.CausedIOException;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.HexUtils;
import com.l7tech.util.IOUtils;
import com.l7tech.util.InetAddressUtil;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.IOException;
import java.net.NetworkInterface;
import java.net.SocketException;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
import java.util.Set;
import java.util.UUID;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import org.apache.commons.configuration2.PropertiesConfiguration;
import org.apache.commons.configuration2.builder.BuilderParameters;
import org.apache.commons.configuration2.builder.FileBasedConfigurationBuilder;
import org.apache.commons.configuration2.builder.fluent.Parameters;
import org.apache.commons.configuration2.convert.DefaultListDelimiterHandler;
import org.apache.commons.configuration2.ex.ConfigurationException;
import org.apache.commons.configuration2.io.FileHandler;
import org.springframework.orm.hibernate5.support.HibernateDaoSupport;

public class ClusterIDManager extends HibernateDaoSupport {
   public static final String DEFAULT_NETWORK_INTERFACE;
   private static final Set<String> a;
   private static final Logger b;
   private static final String c;
   private static final String d;
   private static final String e;
   private static final String f;
   private static final String g;
   private static Pattern h;
   private static final String i;
   private static final String j;
   private static final String k;
   private final NodePropertiesLoader l;
   private String m;
   private static final String[] n;

   public ClusterIDManager(NodePropertiesLoader var1) {
      this.l = var1;
   }

   public String thisNodeId() {
      if (this.m != null) {
         return this.m;
      }

      String[] var13 = n;
      String var1 = this.loadNodeProperty(var13[24]);
      if (var1 != null) {
         b.config(var13[9] + var1 + var13[23]);
      }

      try {
         Collection var2 = this.getMacs();
         ArrayList var3 = new ArrayList();
         if (var1 != null) {
            var3.add(var1);
         }

         String var4 = null;

         for (String var6 : var2) {
            if (var4 == null) {
               var4 = var6;
            }

            var3.add(c(var6));
         }

         for (String var17 : var3) {
            ClusterNodeInfo var7 = this.d(var17);
            if (var7 != null) {
               Logger var10000 = b;
               String var10001 = var7.getName();
               String var10 = var7.getAddress();
               String var11 = var7.getNodeIdentifier();
               String var12 = var10001;
               var13 = n;
               var10000.config(var13[27] + var12 + var13[34] + var11 + var13[17] + var10 + ")");
               this.m = var7.getNodeIdentifier();
               break;
            }
         }

         this.m = var1;
         if (this.m == null) {
            this.m = a();
         }
      } finally {
         if (var1 == null) {
            String var9 = this.m;
            if (var9 != null) {
               this.f(var9);
            }
         }
      }

      return this.m;
   }

   public Collection<String> getMacs() {
      ArrayList var1 = new ArrayList();
      String[] var4 = n;
      String var2 = ConfigFactory.getProperty(var4[37]);
      if (var2 != null && var2.length() > 0) {
         var1.add(var2);
      } else {
         var4 = n;
         b.fine(var4[28]);
      }

      if (var1.isEmpty()) {
         var4 = n;
         String var3 = this.loadNodeProperty(var4[1]);
         if (var3 != null && var3.length() > 0) {
            var1.add(var3);
         } else {
            var4 = n;
            b.fine(var4[25]);
         }
      }

      if (var1.isEmpty()) {
         var4 = n;
         var1.addAll(e(var4[43]));
         if (var1.isEmpty()) {
            b.fine(var4[42]);
         }
      }

      if (var1.isEmpty()) {
         var1.addAll(b());
         if (var1.isEmpty()) {
            var4 = n;
            b.fine(var4[21]);
         }
      }

      if (var1.isEmpty()) {
         var1.addAll(c());
         if (var1.isEmpty()) {
            var4 = n;
            b.fine(var4[26]);
         }
      }

      b.config(n[16] + var1);
      return var1;
   }

   static String a(String param0) {
      // $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: aconst_null
      // 01: astore 1
      // 02: invokestatic java/net/NetworkInterface.getNetworkInterfaces ()Ljava/util/Enumeration;
      // 05: invokestatic java/util/Collections.list (Ljava/util/Enumeration;)Ljava/util/ArrayList;
      // 08: invokevirtual java/util/ArrayList.iterator ()Ljava/util/Iterator;
      // 0b: astore 2
      // 0c: aload 2
      // 0d: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 12: ifeq 7c
      // 15: aload 2
      // 16: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 1b: checkcast java/net/NetworkInterface
      // 1e: astore 3
      // 1f: aload 3
      // 20: invokevirtual java/net/NetworkInterface.getHardwareAddress ()[B
      // 23: astore 4
      // 25: aload 4
      // 27: ifnull 79
      // 2a: aload 0
      // 2b: ifnull 48
      // 2e: goto 35
      // 31: invokestatic com/l7tech/server/cluster/ClusterIDManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 34: athrow
      // 35: aload 0
      // 36: aload 4
      // 38: invokestatic com/l7tech/util/InetAddressUtil.formatMac ([B)Ljava/lang/String;
      // 3b: invokevirtual java/lang/String.equalsIgnoreCase (Ljava/lang/String;)Z
      // 3e: ifeq 79
      // 41: goto 48
      // 44: invokestatic com/l7tech/server/cluster/ClusterIDManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 47: athrow
      // 48: aload 3
      // 49: invokevirtual java/net/NetworkInterface.getInetAddresses ()Ljava/util/Enumeration;
      // 4c: invokestatic java/util/Collections.list (Ljava/util/Enumeration;)Ljava/util/ArrayList;
      // 4f: astore 5
      // 51: aload 5
      // 53: invokeinterface java/util/Collection.isEmpty ()Z 1
      // 58: ifne 6e
      // 5b: aload 5
      // 5d: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 62: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 67: checkcast java/net/InetAddress
      // 6a: invokevirtual java/net/InetAddress.getHostAddress ()Ljava/lang/String;
      // 6d: astore 1
      // 6e: aload 0
      // 6f: ifnull 79
      // 72: goto 7c
      // 75: invokestatic com/l7tech/server/cluster/ClusterIDManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 78: athrow
      // 79: goto 0c
      // 7c: goto a6
      // 7f: astore 2
      // 80: getstatic com/l7tech/server/cluster/ClusterIDManager.b Ljava/util/logging/Logger;
      // 83: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 86: aload 2
      // 87: invokevirtual java/net/SocketException.getMessage ()Ljava/lang/String;
      // 8a: getstatic com/l7tech/server/cluster/ClusterIDManager.n [Ljava/lang/String;
      // 8d: astore 6
      // 8f: aload 6
      // 91: bipush 46
      // 93: aaload
      // 94: swap
      // 95: aload 6
      // 97: bipush 23
      // 99: aaload
      // 9a: 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" ]
      // 9f: aload 2
      // a0: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // a3: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // a6: aload 1
      // a7: areturn
      // try (44 -> 47): 47 java/net/SocketException
      // try (18 -> 28): 29 java/net/SocketException
      // try (16 -> 20): 21 java/net/SocketException
      // try (2 -> 50): 51 java/net/SocketException
   }

   static String[] b(String var0) {
      return Pattern.compile(n[11], 8).split(var0);
   }

   private static String a() {
      return UUID.randomUUID().toString().replace("-", "");
   }

   private static String c(String var0) {
      String var1 = var0 + n[12];
      byte[] var2 = HexUtils.encodeUtf8(var1);
      byte[] var3 = HexUtils.getMd5Digest(var2);
      return HexUtils.encodeMd5Digest(var3).toLowerCase();
   }

   private ClusterNodeInfo d(String var1) {
      try {
         return (ClusterNodeInfo)this.getHibernateTemplate().execute(new t(this, var1));
      } catch (Exception var4) {
         String var3 = n[18];
         b.log(Level.WARNING, var3, var4);
         return null;
      }
   }

   private static Collection<String> e(String var0) {
      ArrayList var1 = new ArrayList();

      try {
         NetworkInterface var6 = NetworkInterface.getByName(var0);

         try {
            if (var6 != null) {
               var1.add(InetAddressUtil.formatMac(var6.getHardwareAddress()));
            }
         } catch (SocketException var4) {
            throw a(var4);
         }
      } catch (SocketException var5) {
         SocketException var2 = var5;

         try {
            if (b.isLoggable(Level.WARNING)) {
               b.log(Level.WARNING, n[3] + var0 + n[33] + var2.getMessage() + n[23], ExceptionUtils.getDebugException(var2));
            }
         } catch (SocketException var3) {
            throw a(var3);
         }
      }

      return var1;
   }

   // $VF: Could not verify finally blocks. A semaphore variable has been added to preserve control flow.
   // 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!)
   private static Collection<String> b() {
      Process var0 = null;
      BufferedInputStream var1 = null;
      String var2 = null;
      ArrayList var3 = new ArrayList();

      try {
         boolean var19 = false /* VF: Semaphore variable */;

         try {
            var19 = true;
            Runtime var34 = Runtime.getRuntime();
            String[] var30 = n;
            var0 = var34.exec(var30[13]);
            var1 = new BufferedInputStream(var0.getInputStream());
            byte[] var4 = IOUtils.slurpStream(var1);
            var2 = new String(var4);
            var0.waitFor();
            var19 = false;
         } finally {
            if (var19) {
               try {
                  if (var1 != null) {
                     var1.close();
                  }
               } catch (IOException var20) {
                  throw a(var20);
               }

               try {
                  if (var0 != null) {
                     var0.destroy();
                  }
               } catch (IOException var23) {
                  throw a(var23);
               }
            }
         }

         if (var1 != null) {
            var1.close();
         }

         try {
            if (var0 != null) {
               var0.destroy();
            }
         } catch (IOException var21) {
            throw a(var21);
         }
      } catch (IOException var25) {
         Logger var33 = b;
         Level var35 = Level.FINE;
         String var36 = var25.getMessage();
         String[] var29 = n;
         var33.log(var35, var29[0] + var36 + var29[23], ExceptionUtils.getDebugException(var25));
      } catch (InterruptedException var26) {
         Logger var10000 = b;
         Level var10001 = Level.FINE;
         String var10002 = var26.getMessage();
         String[] var11 = n;
         var10000.log(var10001, var11[29] + var10002 + var11[23], ExceptionUtils.getDebugException(var26));
      }

      try {
         if (var2 == null) {
            return Collections.emptyList();
         }
      } catch (IOException var22) {
         throw a(var22);
      }

      String[] var27 = b(var2);

      for (String var8 : var27) {
         Matcher var9 = h.matcher(var8);
         if (var9.matches()) {
            String var10 = var9.group(1);
            var10 = var10.replace('-', ':');
            var3.add(var10);
         }
      }

      return var3;
   }

   private static Collection<String> c() {
      // $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/util/ArrayList
      // 03: dup
      // 04: invokespecial java/util/ArrayList.<init> ()V
      // 07: astore 0
      // 08: invokestatic java/net/NetworkInterface.getNetworkInterfaces ()Ljava/util/Enumeration;
      // 0b: invokestatic java/util/Collections.list (Ljava/util/Enumeration;)Ljava/util/ArrayList;
      // 0e: invokevirtual java/util/ArrayList.iterator ()Ljava/util/Iterator;
      // 11: astore 1
      // 12: aload 1
      // 13: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 18: ifeq 6e
      // 1b: aload 1
      // 1c: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 21: checkcast java/net/NetworkInterface
      // 24: astore 2
      // 25: aload 2
      // 26: astore 3
      // 27: aload 3
      // 28: ifnull 6b
      // 2b: aload 3
      // 2c: invokevirtual java/net/NetworkInterface.isVirtual ()Z
      // 2f: ifeq 4f
      // 32: goto 39
      // 35: invokestatic com/l7tech/server/cluster/ClusterIDManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 38: athrow
      // 39: aload 3
      // 3a: invokevirtual java/net/NetworkInterface.getParent ()Ljava/net/NetworkInterface;
      // 3d: ifnull 4f
      // 40: goto 47
      // 43: invokestatic com/l7tech/server/cluster/ClusterIDManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 46: athrow
      // 47: aload 3
      // 48: invokevirtual java/net/NetworkInterface.getParent ()Ljava/net/NetworkInterface;
      // 4b: astore 3
      // 4c: goto 2b
      // 4f: aload 3
      // 50: invokevirtual java/net/NetworkInterface.getHardwareAddress ()[B
      // 53: astore 4
      // 55: aload 4
      // 57: ifnull 6b
      // 5a: aload 0
      // 5b: aload 4
      // 5d: invokestatic com/l7tech/util/InetAddressUtil.formatMac ([B)Ljava/lang/String;
      // 60: invokevirtual java/util/ArrayList.add (Ljava/lang/Object;)Z
      // 63: pop
      // 64: goto 6b
      // 67: invokestatic com/l7tech/server/cluster/ClusterIDManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6a: athrow
      // 6b: goto 12
      // 6e: goto 98
      // 71: astore 1
      // 72: getstatic com/l7tech/server/cluster/ClusterIDManager.b Ljava/util/logging/Logger;
      // 75: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 78: aload 1
      // 79: invokevirtual java/net/SocketException.getMessage ()Ljava/lang/String;
      // 7c: getstatic com/l7tech/server/cluster/ClusterIDManager.n [Ljava/lang/String;
      // 7f: astore 5
      // 81: aload 5
      // 83: bipush 36
      // 85: aaload
      // 86: swap
      // 87: aload 5
      // 89: bipush 23
      // 8b: aaload
      // 8c: 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" ]
      // 91: aload 1
      // 92: invokestatic com/l7tech/util/ExceptionUtils.getDebugException (Ljava/lang/Throwable;)Ljava/lang/Throwable;
      // 95: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 98: aload 0
      // 99: areturn
      // try (38 -> 45): 46 java/net/SocketException
      // try (19 -> 28): 29 java/net/SocketException
      // try (17 -> 22): 23 java/net/SocketException
      // try (4 -> 49): 50 java/net/SocketException
   }

   public String loadNodeProperty(String param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 000: aload 0
      // 001: getfield com/l7tech/server/cluster/ClusterIDManager.l Lcom/l7tech/server/NodePropertiesLoader;
      // 004: aload 1
      // 005: aconst_null
      // 006: invokeinterface com/l7tech/server/NodePropertiesLoader.getProperty (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String; 3
      // 00b: astore 2
      // 00c: aconst_null
      // 00d: aload 2
      // 00e: if_acmpeq 017
      // 011: aload 2
      // 012: areturn
      // 013: invokestatic com/l7tech/server/cluster/ClusterIDManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 016: athrow
      // 017: aload 0
      // 018: getfield com/l7tech/server/cluster/ClusterIDManager.l Lcom/l7tech/server/NodePropertiesLoader;
      // 01b: invokeinterface com/l7tech/server/NodePropertiesLoader.isDiskless ()Z 1
      // 020: ifeq 07b
      // 023: getstatic com/l7tech/server/cluster/ClusterIDManager.a Ljava/util/Set;
      // 026: aload 1
      // 027: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 02c: ifeq 059
      // 02f: goto 036
      // 032: invokestatic com/l7tech/server/cluster/ClusterIDManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 035: athrow
      // 036: getstatic com/l7tech/server/cluster/ClusterIDManager.b Ljava/util/logging/Logger;
      // 039: getstatic java/util/logging/Level.FINE Ljava/util/logging/Level;
      // 03c: aload 1
      // 03d: getstatic com/l7tech/server/cluster/ClusterIDManager.n [Ljava/lang/String;
      // 040: bipush 40
      // 042: aaload
      // 043: swap
      // 044: getstatic com/l7tech/server/cluster/ClusterIDManager.n [Ljava/lang/String;
      // 047: bipush 7
      // 049: aaload
      // 04a: 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" ]
      // 04f: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 052: goto 113
      // 055: invokestatic com/l7tech/server/cluster/ClusterIDManager.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 058: athrow
      // 059: getstatic com/l7tech/server/cluster/ClusterIDManager.b Ljava/util/logging/Logger;
      // 05c: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 05f: aload 1
      // 060: getstatic com/l7tech/server/cluster/ClusterIDManager.n [Ljava/lang/String;
      // 063: astore 10
      // 065: aload 10
      // 067: bipush 14
      // 069: aaload
      // 06a: swap
      // 06b: aload 10
      // 06d: bipush 38
      // 06f: aaload
      // 070: 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" ]
      // 075: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;)V
      // 078: goto 113
      // 07b: getstatic com/l7tech/server/cluster/ClusterIDManager.n [Ljava/lang/String;
      // 07e: astore 10
      // 080: aload 10
      // 082: bipush 22
      // 084: aaload
      // 085: invokestatic com/l7tech/util/ConfigFactory.getProperty (Ljava/lang/String;)Ljava/lang/String;
      // 088: astore 3
      // 089: aload 3
      // 08a: ifnull 107
      // 08d: new java/io/File
      // 090: dup
      // 091: aload 3
      // 092: invokespecial java/io/File.<init> (Ljava/lang/String;)V
      // 095: astore 4
      // 097: new java/io/File
      // 09a: dup
      // 09b: aload 4
      // 09d: aload 10
      // 09f: bipush 47
      // 0a1: aaload
      // 0a2: invokespecial java/io/File.<init> (Ljava/io/File;Ljava/lang/String;)V
      // 0a5: astore 5
      // 0a7: aload 5
      // 0a9: invokevirtual java/io/File.isFile ()Z
      // 0ac: ifeq 104
      // 0af: new java/util/Properties
      // 0b2: dup
      // 0b3: invokespecial java/util/Properties.<init> ()V
      // 0b6: astore 6
      // 0b8: aconst_null
      // 0b9: astore 7
      // 0bb: aload 6
      // 0bd: new java/io/FileInputStream
      // 0c0: dup
      // 0c1: aload 5
      // 0c3: invokespecial java/io/FileInputStream.<init> (Ljava/io/File;)V
      // 0c6: dup
      // 0c7: astore 7
      // 0c9: invokevirtual java/util/Properties.load (Ljava/io/InputStream;)V
      // 0cc: aload 6
      // 0ce: aload 1
      // 0cf: invokevirtual java/util/Properties.getProperty (Ljava/lang/String;)Ljava/lang/String;
      // 0d2: astore 2
      // 0d3: aload 7
      // 0d5: invokestatic com/l7tech/util/ResourceUtils.closeQuietly (Ljava/io/Closeable;)V
      // 0d8: goto 104
      // 0db: astore 8
      // 0dd: getstatic com/l7tech/server/cluster/ClusterIDManager.b Ljava/util/logging/Logger;
      // 0e0: getstatic java/util/logging/Level.WARNING Ljava/util/logging/Level;
      // 0e3: getstatic com/l7tech/server/cluster/ClusterIDManager.n [Ljava/lang/String;
      // 0e6: astore 10
      // 0e8: aload 10
      // 0ea: bipush 15
      // 0ec: aaload
      // 0ed: aload 8
      // 0ef: invokevirtual java/util/logging/Logger.log (Ljava/util/logging/Level;Ljava/lang/String;Ljava/lang/Throwable;)V
      // 0f2: aload 7
      // 0f4: invokestatic com/l7tech/util/ResourceUtils.closeQuietly (Ljava/io/Closeable;)V
      // 0f7: goto 104
      // 0fa: astore 9
      // 0fc: aload 7
      // 0fe: invokestatic com/l7tech/util/ResourceUtils.closeQuietly (Ljava/io/Closeable;)V
      // 101: aload 9
      // 103: athrow
      // 104: goto 113
      // 107: getstatic com/l7tech/server/cluster/ClusterIDManager.b Ljava/util/logging/Logger;
      // 10a: getstatic com/l7tech/server/cluster/ClusterIDManager.n [Ljava/lang/String;
      // 10d: bipush 31
      // 10f: aaload
      // 110: invokevirtual java/util/logging/Logger.warning (Ljava/lang/String;)V
      // 113: aload 2
      // 114: areturn
      // try (17 -> 37): 37 java/io/IOException
      // try (13 -> 21): 22 java/io/IOException
      // try (6 -> 11): 11 java/io/IOException
      // try (85 -> 97): 100 java/io/IOException
      // try (85 -> 97): 113 null
      // try (100 -> 110): 113 null
      // try (113 -> 114): 113 null
   }

   private void f(String var1) {
      try {
         if (this.l.isDiskless()) {
            b.warning(n[39]);
            return;
         }
      } catch (ConfigurationException var10) {
         throw a(var10);
      }

      String[] var8 = n;
      b.config(var8[48] + var1 + var8[8]);
      String var2 = ConfigFactory.getProperty(var8[41]);
      if (var2 != null) {
         File var3 = new File(var2);
         File var4 = new File(var3, var8[44]);
         if (var3.isDirectory()) {
            try {
               FileBasedConfigurationBuilder var5 = new FileBasedConfigurationBuilder(PropertiesConfiguration.class);
               var5.configure(
                  new BuilderParameters[]{(BuilderParameters)new Parameters().properties().setListDelimiterHandler(new DefaultListDelimiterHandler('\u0000'))}
               );
               var5.setAutoSave(false);

               PropertiesConfiguration var6;
               try {
                  var6 = (PropertiesConfiguration)var5.getConfiguration();
               } catch (ConfigurationException var9) {
                  var8 = n;
                  throw new CausedIOException(var8[35], var9);
               }

               FileHandler var7 = new FileHandler(var6);

               try {
                  if (var4.isFile()) {
                     var7.load(var4);
                  }
               } catch (ConfigurationException var11) {
                  throw a(var11);
               }

               var8 = n;
               var6.setProperty(var8[5], var1);
               var7.save(var4);
            } catch (IOException var12) {
               var8 = n;
               b.log(Level.WARNING, var8[45], var12);
            } catch (ConfigurationException var13) {
               var8 = n;
               b.log(Level.WARNING, var8[20], var13);
            }
         } else {
            var8 = n;
            b.warning(var8[30]);
         }
      } else {
         b.warning(n[10]);
      }
   }

   static {
      String[] var5 = new String[52];
      int var3 = 0;
      String var2 = "`\u0016%F8 D@\u0010#@$g\u0003L\u00144F$fJBDp\u0010K\u000b3LdcOP\u0017#L8.ND\u0007'\u000bOmu9*\u000by\u0013\u000b^g\\Ty\u0013zu=\\T\b8 u=-\u007fR8 \u0004\u0016w\u007fRMy\u0003 `\u0016%F8 D@\u0010#@$g\u0003K\u0001#^%rH\u0005\r9]/rED\u00072\t\u0010K\u000b3LdcOP\u0017#L8.ND\u0007\u0007K\u000b3LdiG\fF\b\"Z>eQz\r9O%\u0011\u0002D>ZjnLQD3L,iM@\u0000y\u0002\u0002J\u001bi\u000b6M/d\u0003K\u000b3LjiG@\n#@,iFWD>Zj';f\u000b\"E. MJ\u0010wM/tFW\t>G/ @J\n1@-uQD\u0010>F$ GL\u00162J>oQ\\D#FjsBS\u0001wG%dFL\u0000y\u0002\u0001O\t\b\u00002O+uOQ;\rL\u00144F$fJBDxH&l\u001ck\u000b9\u0004%pWL\u000b9H& mJ\u00002\t:rLU\u0001%]3 \u0004\u001e`\u0016%F8 OJ\u00053@$g\u0003K\u000b3LjpQJ\u00142[>iFVJ\u0015p\u0017>G- ND\u0007wH.dQ@\u0017$L9:\u0003\u0005\tD\u001eYp\u001f@\u0016%F8 Q@\u0010%@/vJK\u0003wJ&uPQ\u0001%\t9tBQ\u0011$%\u0005\u0013?L8e\u0003F\b\"Z>eQz\r9O%.MJ\u00002`.eMQ\r1@/r\u0003\u0018D\u001e`\u0016%F8 PQ\u000b%@$g\u0003K\u000b3LjpQJ\u00142[>iFVJ%f\u00059G%t\u0003B\u0001#\t'a@\u0005\u00053M8ePVD1[%m\u0003L\u00144F$fJBJ!F\u000b:\u0007&7W@\u0007?\u00079eQS\u0001%\u0007)oMC\r0m#rFF\u00108[3\u0002\u0002J\u0007K\u000b3LdiGGk\u000b3LjmBFD6M.rFV\u0017wG%dF\u0005\u00002O#nFAD>GjnLA\u0001yY8oS@\u0016#@/s\u000f\u0005\u0017<@:pJK\u0003w]\"iP\u0005\u00178\\8cF\u000b!f\u00059G%t\u0003B\u0001#\t'a@\u0005\u00053M8ePVD1[%m\u0003o\u0005!Hd\rp\u0017>G- P@\u0016!L8 Nf\u00059G%t\u0003B\u0001#\t'a@\u0005\u00053M8ePVD1[%m\u0003V\u001d$]/m\u0003U\u00168Y/rW\\D\u007f\u000e)oN\u000b\b`]/cK\u000b\u0007;\\9tFWJ:H)AGA\u00162Z9'\n\u000b\u0018`\u0016%F8 D@\u0010#@$g\u0003L\u00144F$fJBDp;f\u000b\"E. MJ\u0010wM/tFW\t>G/ @J\n1@-uQD\u0010>F$ GL\u00162J>oQ\\D#FjsBS\u0001wG%dFL\u0000y,f\u000b\"E. MJ\u0010wM/tFW\t>G/ @J\n1@-uQD\u0010>F$ GL\u00162J>oQ\\J\bV\u00170v/tK\u0015\u0002\u0005C\u0005\u0005L\u001eMp\u0019f\u00059G%t\u0003B\u0001#\t)oMC\r0\\8aWL\u000b9\u0007\"`\u0016%F8 D@\u0010#@$g\u0003K\u0001#^%rH\u0005\r9]/rED\u00072Zj'\u001dF\u000b:\u0007&7W@\u0007?\u0007)lVV\u00102[dmBF%3M8ePV\u0011\u0002D>ZjnLQD3L,iM@\u0000yMf\u000b\"E. MJ\u0010wZ>oQ@D9F.e\u0003L\u00002G>iEL\u0001%\t>o\u0003K\u000b3LdpQJ\u00142[>iFVDz\t.iPN\b2Z9 @J\n1@- FK\u00055E/d\r\u0018j\u0014#@%nBID\u0019F.e\u0003U\u00168Y/rW\\Dp!F\u000b:\u0007&7W@\u0007?\u00079eQS\u0001%\u0007)oMC\r0m#rFF\u00108[3-f\u00059G%t\u0003B\u0001#\t'a@\u0005\u00053M8ePVD8OjsPB;2]\"0\u0003C\u00168DjJBS\u0005y\bV\u00170v/tK\u0015\u000fK\u000b3LdpQJ\u00142[>iFV\u001e`\u0016%F8 OJ\u00053@$g\u0003K\u000b3LjpQJ\u00142[>iFVJ\"`\u0016%F8 D@\u0010#@$g\u0003K\u0001#^%rH\u0005\r9]/rED\u00072Zj'\u000fK\u000b3LdpQJ\u00142[>iFV\u0019v\u00108[#nD\u0005\n8M/ JA\u00019]#fJ@\u0016w\u000e\u000eK\u000b3L\u0003dFK\u0010>O#eQ";
      int var4 = "`\u0016%F8 D@\u0010#@$g\u0003L\u00144F$fJBDp\u0010K\u000b3LdcOP\u0017#L8.ND\u0007'\u000bOmu9*\u000by\u0013\u000b^g\\Ty\u0013zu=\\T\b8 u=-\u007fR8 \u0004\u0016w\u007fRMy\u0003 `\u0016%F8 D@\u0010#@$g\u0003K\u0001#^%rH\u0005\r9]/rED\u00072\t\u0010K\u000b3LdcOP\u0017#L8.ND\u0007\u0007K\u000b3LdiG\fF\b\"Z>eQz\r9O%\u0011\u0002D>ZjnLQD3L,iM@\u0000y\u0002\u0002J\u001bi\u000b6M/d\u0003K\u000b3LjiG@\n#@,iFWD>Zj';f\u000b\"E. MJ\u0010wM/tFW\t>G/ @J\n1@-uQD\u0010>F$ GL\u00162J>oQ\\D#FjsBS\u0001wG%dFL\u0000y\u0002\u0001O\t\b\u00002O+uOQ;\rL\u00144F$fJBDxH&l\u001ck\u000b9\u0004%pWL\u000b9H& mJ\u00002\t:rLU\u0001%]3 \u0004\u001e`\u0016%F8 OJ\u00053@$g\u0003K\u000b3LjpQJ\u00142[>iFVJ\u0015p\u0017>G- ND\u0007wH.dQ@\u0017$L9:\u0003\u0005\tD\u001eYp\u001f@\u0016%F8 Q@\u0010%@/vJK\u0003wJ&uPQ\u0001%\t9tBQ\u0011$%\u0005\u0013?L8e\u0003F\b\"Z>eQz\r9O%.MJ\u00002`.eMQ\r1@/r\u0003\u0018D\u001e`\u0016%F8 PQ\u000b%@$g\u0003K\u000b3LjpQJ\u00142[>iFVJ%f\u00059G%t\u0003B\u0001#\t'a@\u0005\u00053M8ePVD1[%m\u0003L\u00144F$fJBJ!F\u000b:\u0007&7W@\u0007?\u00079eQS\u0001%\u0007)oMC\r0m#rFF\u00108[3\u0002\u0002J\u0007K\u000b3LdiGGk\u000b3LjmBFD6M.rFV\u0017wG%dF\u0005\u00002O#nFAD>GjnLA\u0001yY8oS@\u0016#@/s\u000f\u0005\u0017<@:pJK\u0003w]\"iP\u0005\u00178\\8cF\u000b!f\u00059G%t\u0003B\u0001#\t'a@\u0005\u00053M8ePVD1[%m\u0003o\u0005!Hd\rp\u0017>G- P@\u0016!L8 Nf\u00059G%t\u0003B\u0001#\t'a@\u0005\u00053M8ePVD1[%m\u0003V\u001d$]/m\u0003U\u00168Y/rW\\D\u007f\u000e)oN\u000b\b`]/cK\u000b\u0007;\\9tFWJ:H)AGA\u00162Z9'\n\u000b\u0018`\u0016%F8 D@\u0010#@$g\u0003L\u00144F$fJBDp;f\u000b\"E. MJ\u0010wM/tFW\t>G/ @J\n1@-uQD\u0010>F$ GL\u00162J>oQ\\D#FjsBS\u0001wG%dFL\u0000y,f\u000b\"E. MJ\u0010wM/tFW\t>G/ @J\n1@-uQD\u0010>F$ GL\u00162J>oQ\\J\bV\u00170v/tK\u0015\u0002\u0005C\u0005\u0005L\u001eMp\u0019f\u00059G%t\u0003B\u0001#\t)oMC\r0\\8aWL\u000b9\u0007\"`\u0016%F8 D@\u0010#@$g\u0003K\u0001#^%rH\u0005\r9]/rED\u00072Zj'\u001dF\u000b:\u0007&7W@\u0007?\u0007)lVV\u00102[dmBF%3M8ePV\u0011\u0002D>ZjnLQD3L,iM@\u0000yMf\u000b\"E. MJ\u0010wZ>oQ@D9F.e\u0003L\u00002G>iEL\u0001%\t>o\u0003K\u000b3LdpQJ\u00142[>iFVDz\t.iPN\b2Z9 @J\n1@- FK\u00055E/d\r\u0018j\u0014#@%nBID\u0019F.e\u0003U\u00168Y/rW\\Dp!F\u000b:\u0007&7W@\u0007?\u00079eQS\u0001%\u0007)oMC\r0m#rFF\u00108[3-f\u00059G%t\u0003B\u0001#\t'a@\u0005\u00053M8ePVD8OjsPB;2]\"0\u0003C\u00168DjJBS\u0005y\bV\u00170v/tK\u0015\u000fK\u000b3LdpQJ\u00142[>iFV\u001e`\u0016%F8 OJ\u00053@$g\u0003K\u000b3LjpQJ\u00142[>iFVJ\"`\u0016%F8 D@\u0010#@$g\u0003K\u0001#^%rH\u0005\r9]/rED\u00072Zj'\u000fK\u000b3LdpQJ\u00142[>iFV\u0019v\u00108[#nD\u0005\n8M/ JA\u00019]#fJ@\u0016w\u000e\u000eK\u000b3L\u0003dFK\u0010>O#eQ"
         .length();
      char var1 = 24;
      int var7 = -1;

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

         while (true) {
            String var9 = a(var10000, g(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var9;
                  if ((var7 += var1) >= var4) {
                     n = var5;
                     String[] var10 = n;
                     e = n[24];
                     c = var10[22];
                     g = var10[51];
                     f = var10[4];
                     d = var10[47];
                     j = var10[49];
                     i = var10[6];
                     DEFAULT_NETWORK_INTERFACE = var10[32];
                     String[] var8 = n;
                     a = Set.of(var8[4]);
                     b = Logger.getLogger(ClusterIDManager.class.getName());
                     h = Pattern.compile(var8[2], 32);
                     k = var8[50] + ClusterNodeInfo.class.getName() + var8[19];
                     return;
                  }

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

                  var2 = "\t\\r\u000e )\u0005\u001a]i\u0006r\u0015\u0000\u0001HrCi$I\fB|\u0010sj\u001d\fApMl}\u001d\nMuMc&\u001c\u001cZx\u0011.'\b\foy\u0007r/\u001a\u001c";
                  var4 = "\t\\r\u000e )\u0005\u001a]i\u0006r\u0015\u0000\u0001HrCi$I\fB|\u0010sj\u001d\fApMl}\u001d\nMuMc&\u001c\u001cZx\u0011.'\b\foy\u0007r/\u001a\u001c"
                     .length();
                  var1 = 27;
                  var7 = -1;
            }

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

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

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

      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 -> 13;
            case 1 -> 76;
            case 2 -> 127;
            case 3 -> 1;
            case 4 -> 98;
            case 5 -> 40;
            default -> 11;
         });
      }

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