package com.l7tech.server.admin;

import com.l7tech.gateway.common.LicenseException;
import com.l7tech.gateway.common.LicenseManager;
import com.l7tech.gateway.common.admin.AdminSessionValidationRuntimeException;
import com.l7tech.gateway.common.admin.Administrative;
import com.l7tech.gateway.common.admin.LicenseRuntimeException;
import com.l7tech.gateway.common.spring.remoting.RemotingProvider;
import com.l7tech.gateway.common.spring.remoting.http.SecureHttpInvokerServiceExporter.SecurityCallback;
import com.l7tech.identity.AuthenticationException;
import com.l7tech.identity.User;
import com.l7tech.objectmodel.ObjectModelException;
import com.l7tech.server.DefaultKey;
import com.l7tech.server.cluster.ClusterInfoManager;
import com.l7tech.server.util.JaasUtils;
import com.l7tech.util.ExceptionUtils;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.security.auth.Subject;

public class AdminRemotingProvider implements RemotingProvider<Administrative>, SecurityCallback {
   public final String FACILITY_ADMIN;
   public final String FACILITY_CLUSTER;
   private static final Logger a;
   private final LicenseManager b;
   private final AdminSessionManager c;
   private final ClusterInfoManager d;
   private final DefaultKey e;
   private static final String[] f;

   public AdminRemotingProvider(LicenseManager var1, AdminSessionManager var2, ClusterInfoManager var3, DefaultKey var4) {
      String[] var5 = f;
      this.FACILITY_ADMIN = var5[4];
      this.FACILITY_CLUSTER = var5[2];
      this.b = var1;
      this.c = var2;
      this.d = var3;
      this.e = var4;
   }

   public void checkPermitted(Administrative param1, String param2, String param3) {
      // $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: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 03: bipush 16
      // 05: aaload
      // 06: aload 2
      // 07: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0a: ifeq 18
      // 0d: aload 0
      // 0e: invokevirtual com/l7tech/server/admin/AdminRemotingProvider.b ()V
      // 11: goto a6
      // 14: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 17: athrow
      // 18: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 1b: bipush 6
      // 1d: aaload
      // 1e: aload 2
      // 1f: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 22: ifeq 91
      // 25: aload 1
      // 26: ifnull 40
      // 29: goto 30
      // 2c: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 2f: athrow
      // 30: aload 1
      // 31: invokeinterface com/l7tech/gateway/common/admin/Administrative.licensed ()Z 1
      // 36: ifeq 4c
      // 39: goto 40
      // 3c: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 3f: athrow
      // 40: aload 0
      // 41: aload 3
      // 42: invokevirtual com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/String;)V
      // 45: goto 4c
      // 48: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4b: athrow
      // 4c: aload 0
      // 4d: aload 1
      // 4e: ifnull 61
      // 51: aload 1
      // 52: invokeinterface com/l7tech/gateway/common/admin/Administrative.authenticated ()Z 1
      // 57: ifeq 69
      // 5a: goto 61
      // 5d: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 60: athrow
      // 61: bipush 1
      // 62: goto 6a
      // 65: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 68: athrow
      // 69: bipush 0
      // 6a: invokevirtual com/l7tech/server/admin/AdminRemotingProvider.b (Z)V
      // 6d: aload 0
      // 6e: aload 1
      // 6f: ifnull 82
      // 72: aload 1
      // 73: invokeinterface com/l7tech/gateway/common/admin/Administrative.background ()Z 1
      // 78: ifne 8a
      // 7b: goto 82
      // 7e: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 81: athrow
      // 82: bipush 1
      // 83: goto 8b
      // 86: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 89: athrow
      // 8a: bipush 0
      // 8b: invokevirtual com/l7tech/server/admin/AdminRemotingProvider.a (Z)V
      // 8e: goto a6
      // 91: new java/lang/IllegalArgumentException
      // 94: dup
      // 95: aload 2
      // 96: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 99: bipush 8
      // 9b: aaload
      // 9c: swap
      // 9d: 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" ]
      // a2: invokespecial java/lang/IllegalArgumentException.<init> (Ljava/lang/String;)V
      // a5: athrow
      // a6: return
      // try (0 -> 9): 9 java/lang/IllegalArgumentException
      // try (11 -> 19): 20 java/lang/IllegalArgumentException
      // try (17 -> 25): 26 java/lang/IllegalArgumentException
      // try (22 -> 31): 32 java/lang/IllegalArgumentException
      // try (34 -> 40): 41 java/lang/IllegalArgumentException
      // try (37 -> 45): 45 java/lang/IllegalArgumentException
      // try (48 -> 55): 56 java/lang/IllegalArgumentException
      // try (52 -> 60): 60 java/lang/IllegalArgumentException
   }

   private void a(boolean 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: invokestatic com/l7tech/server/util/JaasUtils.getCurrentUser ()Lcom/l7tech/identity/User;
      // 03: astore 2
      // 04: invokestatic com/l7tech/server/admin/AdminLoginHelper.a ()Ljava/lang/String;
      // 07: astore 3
      // 08: aload 2
      // 09: ifnull 31
      // 0c: aload 0
      // 0d: getfield com/l7tech/server/admin/AdminRemotingProvider.c Lcom/l7tech/server/admin/AdminSessionManager;
      // 10: aload 3
      // 11: iload 1
      // 12: invokevirtual com/l7tech/server/admin/AdminSessionManager.isExpired (Ljava/lang/String;Z)Z
      // 15: ifeq 31
      // 18: goto 1f
      // 1b: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1e: athrow
      // 1f: new java/lang/SecurityException
      // 22: dup
      // 23: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 26: bipush 20
      // 28: aaload
      // 29: invokespecial java/lang/SecurityException.<init> (Ljava/lang/String;)V
      // 2c: athrow
      // 2d: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 30: athrow
      // 31: return
      // try (4 -> 12): 13 java/lang/IllegalArgumentException
      // try (6 -> 22): 22 java/lang/IllegalArgumentException
   }

   public void checkSecured() throws IOException {
      try {
         this.a();
      } catch (Exception var2) {
         throw new IOException(ExceptionUtils.getMessage(var2), var2);
      }
   }

   private void a(String var1) {
      try {
         String[] var3 = f;
         this.b.requireFeature(var3[15]);
      } catch (LicenseException var4) {
         a.log(Level.WARNING, f[14] + var1);
         throw new LicenseRuntimeException(var4);
      }
   }

   private void b(boolean 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: invokestatic com/l7tech/gateway/common/spring/remoting/RemoteUtils.getHttpServletRequest ()Ljakarta/servlet/http/HttpServletRequest;
      // 03: astore 2
      // 04: aload 2
      // 05: ifnonnull 1a
      // 08: new java/lang/SecurityException
      // 0b: dup
      // 0c: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 0f: bipush 19
      // 11: aaload
      // 12: invokespecial java/lang/SecurityException.<init> (Ljava/lang/String;)V
      // 15: athrow
      // 16: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 19: athrow
      // 1a: aload 2
      // 1b: invokestatic com/l7tech/server/transport/http/HttpTransportModule.getConnector (Ljakarta/servlet/ServletRequest;)Lcom/l7tech/gateway/common/transport/SsgConnector;
      // 1e: astore 3
      // 1f: aload 3
      // 20: ifnonnull 35
      // 23: new java/lang/SecurityException
      // 26: dup
      // 27: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 2a: bipush 24
      // 2c: aaload
      // 2d: invokespecial java/lang/SecurityException.<init> (Ljava/lang/String;)V
      // 30: athrow
      // 31: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 34: athrow
      // 35: aload 3
      // 36: getstatic com/l7tech/gateway/common/transport/SsgConnector$Endpoint.ADMIN_APPLET Lcom/l7tech/gateway/common/transport/SsgConnector$Endpoint;
      // 39: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.offersEndpoint (Lcom/l7tech/gateway/common/transport/SsgConnector$Endpoint;)Z
      // 3c: ifne 6b
      // 3f: aload 3
      // 40: getstatic com/l7tech/gateway/common/transport/SsgConnector$Endpoint.ADMIN_REMOTE_SSM Lcom/l7tech/gateway/common/transport/SsgConnector$Endpoint;
      // 43: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.offersEndpoint (Lcom/l7tech/gateway/common/transport/SsgConnector$Endpoint;)Z
      // 46: ifne 6b
      // 49: goto 50
      // 4c: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 4f: athrow
      // 50: new java/lang/SecurityException
      // 53: dup
      // 54: aload 3
      // 55: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.getPort ()I
      // 58: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 5b: bipush 3
      // 5c: aaload
      // 5d: swap
      // 5e: invokedynamic makeConcatWithConstants (Ljava/lang/String;I)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" ]
      // 63: invokespecial java/lang/SecurityException.<init> (Ljava/lang/String;)V
      // 66: athrow
      // 67: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6a: athrow
      // 6b: iload 1
      // 6c: ifeq 7a
      // 6f: aload 0
      // 70: invokevirtual com/l7tech/server/admin/AdminRemotingProvider.a ()V
      // 73: goto 7a
      // 76: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 79: athrow
      // 7a: return
      // try (2 -> 11): 11 java/lang/IllegalArgumentException
      // try (16 -> 25): 25 java/lang/IllegalArgumentException
      // try (27 -> 35): 36 java/lang/IllegalArgumentException
      // try (31 -> 49): 49 java/lang/IllegalArgumentException
      // try (51 -> 55): 56 java/lang/IllegalArgumentException
   }

   private void a() {
      Subject var1 = JaasUtils.getCurrentSubject();

      try {
         if (var1 == null) {
            throw new SecurityException(f[1]);
         }
      } catch (ObjectModelException var5) {
         throw a(var5);
      }

      if (var1.getPrincipals(User.class).isEmpty()) {
         String var2 = AdminLoginHelper.a(var1);

         try {
            if (var2 == null) {
               throw new SecurityException(f[5]);
            }
         } catch (ObjectModelException var9) {
            throw a(var9);
         }

         try {
            User var3 = this.c.resumeSession(var2);

            try {
               if (var3 != null) {
                  var1.getPrincipals().add(var3);
                  return;
               }
            } catch (ObjectModelException var6) {
               throw a(var6);
            }

            String[] var10 = f;
            throw new SecurityException(var10[17]);
         } catch (ObjectModelException var7) {
            Logger var10000 = a;
            Level var10001 = Level.WARNING;
            String var10002 = ExceptionUtils.getMessage(var7);
            String[] var4 = f;
            var10000.log(var10001, var4[0] + var10002 + var4[22], var7);
         } catch (AuthenticationException var8) {
            throw new AdminSessionValidationRuntimeException(f[11]);
         }
      }
   }

   private void b() {
      // $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/admin/AdminRemotingProvider.d Lcom/l7tech/server/cluster/ClusterInfoManager;
      // 004: ifnonnull 019
      // 007: new java/lang/SecurityException
      // 00a: dup
      // 00b: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 00e: bipush 12
      // 010: aaload
      // 011: invokespecial java/lang/SecurityException.<init> (Ljava/lang/String;)V
      // 014: athrow
      // 015: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 018: athrow
      // 019: invokestatic com/l7tech/gateway/common/spring/remoting/RemoteUtils.getHttpServletRequest ()Ljakarta/servlet/http/HttpServletRequest;
      // 01c: astore 1
      // 01d: aload 1
      // 01e: ifnonnull 033
      // 021: new java/lang/SecurityException
      // 024: dup
      // 025: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 028: bipush 7
      // 02a: aaload
      // 02b: invokespecial java/lang/SecurityException.<init> (Ljava/lang/String;)V
      // 02e: athrow
      // 02f: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 032: athrow
      // 033: aload 1
      // 034: invokestatic com/l7tech/server/transport/http/HttpTransportModule.getConnector (Ljakarta/servlet/ServletRequest;)Lcom/l7tech/gateway/common/transport/SsgConnector;
      // 037: astore 2
      // 038: aload 2
      // 039: ifnonnull 04e
      // 03c: new java/lang/SecurityException
      // 03f: dup
      // 040: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 043: bipush 18
      // 045: aaload
      // 046: invokespecial java/lang/SecurityException.<init> (Ljava/lang/String;)V
      // 049: athrow
      // 04a: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 04d: athrow
      // 04e: aload 2
      // 04f: getstatic com/l7tech/gateway/common/transport/SsgConnector$Endpoint.NODE_COMMUNICATION Lcom/l7tech/gateway/common/transport/SsgConnector$Endpoint;
      // 052: invokevirtual com/l7tech/gateway/common/transport/SsgConnector.offersEndpoint (Lcom/l7tech/gateway/common/transport/SsgConnector$Endpoint;)Z
      // 055: ifne 06a
      // 058: new java/lang/SecurityException
      // 05b: dup
      // 05c: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 05f: bipush 21
      // 061: aaload
      // 062: invokespecial java/lang/SecurityException.<init> (Ljava/lang/String;)V
      // 065: athrow
      // 066: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 069: athrow
      // 06a: invokestatic com/l7tech/gateway/common/spring/remoting/RemoteUtils.getClientCertificate ()Ljava/security/cert/X509Certificate;
      // 06d: astore 3
      // 06e: aload 3
      // 06f: ifnull 08c
      // 072: aload 0
      // 073: getfield com/l7tech/server/admin/AdminRemotingProvider.e Lcom/l7tech/server/DefaultKey;
      // 076: invokeinterface com/l7tech/server/DefaultKey.getServerSslInfo ()Lcom/l7tech/gateway/common/security/keystore/SsgKeyEntry; 1
      // 07b: invokevirtual com/l7tech/gateway/common/security/keystore/SsgKeyEntry.getCertificate ()Ljava/security/cert/X509Certificate;
      // 07e: aload 3
      // 07f: invokestatic com/l7tech/common/io/CertUtils.certsAreEqual (Ljava/security/cert/X509Certificate;Ljava/security/cert/X509Certificate;)Z
      // 082: ifne 09e
      // 085: goto 08c
      // 088: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 08b: athrow
      // 08c: new java/lang/SecurityException
      // 08f: dup
      // 090: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 093: bipush 25
      // 095: aaload
      // 096: invokespecial java/lang/SecurityException.<init> (Ljava/lang/String;)V
      // 099: athrow
      // 09a: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 09d: athrow
      // 09e: invokestatic com/l7tech/gateway/common/spring/remoting/RemoteUtils.getClientHost ()Ljava/lang/String;
      // 0a1: invokestatic java/net/InetAddress.getByName (Ljava/lang/String;)Ljava/net/InetAddress;
      // 0a4: astore 4
      // 0a6: bipush 0
      // 0a7: istore 5
      // 0a9: aload 0
      // 0aa: getfield com/l7tech/server/admin/AdminRemotingProvider.d Lcom/l7tech/server/cluster/ClusterInfoManager;
      // 0ad: invokeinterface com/l7tech/server/cluster/ClusterInfoManager.retrieveClusterStatus ()Ljava/util/Collection; 1
      // 0b2: astore 6
      // 0b4: aload 6
      // 0b6: invokeinterface java/util/Collection.iterator ()Ljava/util/Iterator; 1
      // 0bb: astore 7
      // 0bd: aload 7
      // 0bf: invokeinterface java/util/Iterator.hasNext ()Z 1
      // 0c4: ifeq 0f5
      // 0c7: aload 7
      // 0c9: invokeinterface java/util/Iterator.next ()Ljava/lang/Object; 1
      // 0ce: astore 8
      // 0d0: aload 8
      // 0d2: checkcast com/l7tech/gateway/common/cluster/ClusterNodeInfo
      // 0d5: astore 9
      // 0d7: aload 9
      // 0d9: invokevirtual com/l7tech/gateway/common/cluster/ClusterNodeInfo.getAddress ()Ljava/lang/String;
      // 0dc: astore 10
      // 0de: aload 10
      // 0e0: invokestatic java/net/InetAddress.getByName (Ljava/lang/String;)Ljava/net/InetAddress;
      // 0e3: astore 11
      // 0e5: aload 11
      // 0e7: aload 4
      // 0e9: invokevirtual java/net/InetAddress.equals (Ljava/lang/Object;)Z
      // 0ec: ifeq 0f2
      // 0ef: bipush 1
      // 0f0: istore 5
      // 0f2: goto 0bd
      // 0f5: iload 5
      // 0f7: ifne 11d
      // 0fa: new java/lang/SecurityException
      // 0fd: dup
      // 0fe: aload 4
      // 100: invokestatic java/lang/String.valueOf (Ljava/lang/Object;)Ljava/lang/String;
      // 103: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 106: bipush 13
      // 108: aaload
      // 109: swap
      // 10a: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 10d: bipush 23
      // 10f: aaload
      // 110: 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" ]
      // 115: invokespecial java/lang/SecurityException.<init> (Ljava/lang/String;)V
      // 118: athrow
      // 119: invokestatic com/l7tech/server/admin/AdminRemotingProvider.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 11c: athrow
      // 11d: goto 16c
      // 120: astore 1
      // 121: new java/lang/SecurityException
      // 124: dup
      // 125: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 128: astore 12
      // 12a: aload 12
      // 12c: bipush 9
      // 12e: aaload
      // 12f: aload 1
      // 130: invokespecial java/lang/SecurityException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 133: athrow
      // 134: astore 1
      // 135: new java/lang/SecurityException
      // 138: dup
      // 139: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 13c: astore 12
      // 13e: aload 12
      // 140: bipush 10
      // 142: aaload
      // 143: aload 1
      // 144: invokespecial java/lang/SecurityException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 147: athrow
      // 148: astore 1
      // 149: new java/lang/SecurityException
      // 14c: dup
      // 14d: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 150: astore 12
      // 152: aload 12
      // 154: bipush 10
      // 156: aaload
      // 157: aload 1
      // 158: invokespecial java/lang/SecurityException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 15b: athrow
      // 15c: astore 1
      // 15d: new java/lang/SecurityException
      // 160: dup
      // 161: getstatic com/l7tech/server/admin/AdminRemotingProvider.f [Ljava/lang/String;
      // 164: bipush 10
      // 166: aaload
      // 167: aload 1
      // 168: invokespecial java/lang/SecurityException.<init> (Ljava/lang/String;Ljava/lang/Throwable;)V
      // 16b: athrow
      // 16c: return
      // try (109 -> 125): 125 java/net/UnknownHostException
      // try (56 -> 73): 73 java/net/UnknownHostException
      // try (54 -> 63): 64 java/net/UnknownHostException
      // try (39 -> 50): 50 java/net/UnknownHostException
      // try (28 -> 37): 37 java/net/UnknownHostException
      // try (14 -> 23): 23 java/net/UnknownHostException
      // try (0 -> 10): 10 java/net/UnknownHostException
      // try (12 -> 127): 128 java/net/UnknownHostException
      // try (12 -> 127): 139 java/rmi/server/ServerNotActiveException
      // try (12 -> 127): 150 com/l7tech/objectmodel/FindException
      // try (12 -> 127): 161 java/io/IOException
   }

   static {
      String[] var5 = new String[26];
      int var3 = 0;
      String var2 = "+/EN9\t,\u000b.BL\"G9N<SL\"G7\u001d)E@?@(\u000b}BR.[~\u001d8DR\"F0Nz) 2\u0017R>K4\u000b>C\u0001;H-\u001d8S\rkH+\u001a5RO?@=\u000f)^N%\t8\u000f4[D/\u0007\u0007-\u0011br\u001fl\f*/9ZH%\t,\u000b,BD8]~\u00002C\u0001;L,\u00034CU.M~\u00013\u0017U#@-N-XS?\u0005~\u0005/\u0019zh\u0005)/9ZH%\t,\u000b,BD8]~\n4D@'E1\u00198S\u001bkG1N>ED/L0\u001a4VM8\u0007\u0005/\u0019zh\u00058-1BR?L,N/RP>L-\u001a}SH8H2\u00022@D/\u0013~ 2\u0017S.X+\u000b.C\u0001(F0\u001a8OUkH(\u000f4[@)E;\u0011;3\\O$^0N;VB\"E7\u001a$\u0017.-1BR?L,N4YW$J?\u001a4XOkM;\u00004REg\t+\u0000<UM.\t*\u0001}TI.J5N\u0014g\u000f.-1BR?L,N4YW$J?\u001a4XOkM;\u00004REg\t+\u0000<UM.\t*\u0001}TI.J5N\u0014g\u000f\u0012>8EL\"Z-\u00072Y\u0001/L0\u00078S\u000f\"-1BR?L,N4YW$J?\u001a4XO8\t0\u0001)\u0017Q.[3\u0007)CD/\u0007.-1BR?L,N4YW$J?\u001a4XOkM;\u00004REkO1\u001c}YN%\u0004=\u0002(DU.[~\u0007-\u0017\u00062\"4TD%Z;N>_D(B7\u0000:\u0017G*@2\u000b9\u0017V#L0N4YW$B7\u0000:\u0017U#L~\u00038CI$MrN\r\u001d8EW\"J;T\u001cSL\"G\u0007-\u0011br\u001fl\f,/9ZH%\t,\u000b,BD8]~\n4D@'E1\u00198S\u001bkZ;\u001d.^N%\t0\u0001)\u0017G$\\0\nsW-1BR?L,N/RP>L-\u001a}SH8H2\u00022@D/\u0013~;3VC'L~\u001a2\u0017E.];\u001c0^O.\t)\u00064TIkJ1\u00003RB?F,N)_H8\t,\u000b,BD8]~\r<ZDk@0N2Y6/9ZH%\t,\u000b,BD8]~\n4D@'E1\u00198S\u001bkg1N/RP>L-\u001a}TN%];\u0016)\u0017@=H7\u0002<UM.\u000f=8DR\"F0N8OQ\"[;\n\"<8FT.Z*N3XUkY;\u001c0^U?L:N2Y\u0001?A7\u001d}GN9]\u0002Is\u0002Is";
      int var4 = "+/EN9\t,\u000b.BL\"G9N<SL\"G7\u001d)E@?@(\u000b}BR.[~\u001d8DR\"F0Nz) 2\u0017R>K4\u000b>C\u0001;H-\u001d8S\rkH+\u001a5RO?@=\u000f)^N%\t8\u000f4[D/\u0007\u0007-\u0011br\u001fl\f*/9ZH%\t,\u000b,BD8]~\u00002C\u0001;L,\u00034CU.M~\u00013\u0017U#@-N-XS?\u0005~\u0005/\u0019zh\u0005)/9ZH%\t,\u000b,BD8]~\n4D@'E1\u00198S\u001bkG1N>ED/L0\u001a4VM8\u0007\u0005/\u0019zh\u00058-1BR?L,N/RP>L-\u001a}SH8H2\u00022@D/\u0013~ 2\u0017S.X+\u000b.C\u0001(F0\u001a8OUkH(\u000f4[@)E;\u0011;3\\O$^0N;VB\"E7\u001a$\u0017.-1BR?L,N4YW$J?\u001a4XOkM;\u00004REg\t+\u0000<UM.\t*\u0001}TI.J5N\u0014g\u000f.-1BR?L,N4YW$J?\u001a4XOkM;\u00004REg\t+\u0000<UM.\t*\u0001}TI.J5N\u0014g\u000f\u0012>8EL\"Z-\u00072Y\u0001/L0\u00078S\u000f\"-1BR?L,N4YW$J?\u001a4XO8\t0\u0001)\u0017Q.[3\u0007)CD/\u0007.-1BR?L,N4YW$J?\u001a4XOkM;\u00004REkO1\u001c}YN%\u0004=\u0002(DU.[~\u0007-\u0017\u00062\"4TD%Z;N>_D(B7\u0000:\u0017G*@2\u000b9\u0017V#L0N4YW$B7\u0000:\u0017U#L~\u00038CI$MrN\r\u001d8EW\"J;T\u001cSL\"G\u0007-\u0011br\u001fl\f,/9ZH%\t,\u000b,BD8]~\n4D@'E1\u00198S\u001bkZ;\u001d.^N%\t0\u0001)\u0017G$\\0\nsW-1BR?L,N/RP>L-\u001a}SH8H2\u00022@D/\u0013~;3VC'L~\u001a2\u0017E.];\u001c0^O.\t)\u00064TIkJ1\u00003RB?F,N)_H8\t,\u000b,BD8]~\r<ZDk@0N2Y6/9ZH%\t,\u000b,BD8]~\n4D@'E1\u00198S\u001bkg1N/RP>L-\u001a}TN%];\u0016)\u0017@=H7\u0002<UM.\u000f=8DR\"F0N8OQ\"[;\n\"<8FT.Z*N3XUkY;\u001c0^U?L:N2Y\u0001?A7\u001d}GN9]\u0002Is\u0002Is"
         .length();
      char var1 = ',';
      int var7 = -1;

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

         while (true) {
            String var8 = a(var10000, b(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     f = var5;
                     a = Logger.getLogger(AdminRemotingProvider.class.getName());
                     return;
                  }

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

                  var2 = "\u001e\bky\u00148\u001d:\u001dsu\tlO;\u0005uq\u0016t\u0000(\tb*ZM\u0001>\u000ejuZl\u0000\u007f\bcd\u001fj\u00026\u0002c0\rp\u0006<\u0004&s\u0015v\u0001:\u000fr\u007f\b8\u001b7\u0005u0\b}\u001e*\tudZ{\u000e2\t&y\u00148\u00001;\u001c\u0000sc\u000e}\u001d\u007f\u001eca\u000f}\u001c+Lby\ty\u00033\u0003qu\u001e#O2\u0005uc\u0013v\b\u007f\u0003t0\u0013v\u0019>\u0000otZ{\u001d:\bc~\u000eq\u000e3\u001f(";
                  var4 = "\u001e\bky\u00148\u001d:\u001dsu\tlO;\u0005uq\u0016t\u0000(\tb*ZM\u0001>\u000ejuZl\u0000\u007f\bcd\u001fj\u00026\u0002c0\rp\u0006<\u0004&s\u0015v\u0001:\u000fr\u007f\b8\u001b7\u0005u0\b}\u001e*\tudZ{\u000e2\t&y\u00148\u00001;\u001c\u0000sc\u000e}\u001d\u007f\u001eca\u000f}\u001c+Lby\ty\u00033\u0003qu\u001e#O2\u0005uc\u0013v\b\u007f\u0003t0\u0013v\u0019>\u0000otZ{\u001d:\bc~\u000eq\u000e3\u001f("
                     .length();
                  var1 = 'U';
                  var7 = -1;
            }

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

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

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

      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 -> 42;
            case 1 -> 25;
            case 2 -> 115;
            case 3 -> 101;
            case 4 -> 15;
            case 5 -> 109;
            default -> 26;
         });
      }

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