package com.l7tech.server.telemetry;

import com.l7tech.util.ValidationUtils;
import java.net.InetSocketAddress;
import java.net.Proxy;
import java.net.Proxy.Type;
import java.util.logging.Level;
import java.util.logging.Logger;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import okhttp3.Credentials;
import okhttp3.OkHttpClient;
import okhttp3.OkHttpClient.Builder;

public class GatewaySegmentClientFactory {
   public static final String PROXY_URL_PATTERN;
   private static final Logger a;
   public static final String EMPTY_PORT;
   private static final String[] b;

   private GatewaySegmentClientFactory() {
   }

   public static OkHttpClient create(String var0, String var1, String var2) {
      Builder var3 = new Builder();
      if (a(var0)) {
         a(var3, var0, var1, var2);
      }

      return var3.build();
   }

   private static void a(Builder var0, String var1, String var2, String var3) {
      String[] var10 = b;
      Pattern var4 = Pattern.compile(var10[6]);
      Matcher var5 = var4.matcher(var1);
      if (!var5.find() && !ValidationUtils.isValidUrl(var1)) {
         a.log(Level.WARNING, var10[3], var1);
      } else {
         String var10000 = var5.group(1);
         var10 = b;
         String var6 = var10000.replace(var10[5], "");
         String var7 = var5.group(2);
         String var8 = var5.group(3);
         if (var7 != null && !var7.isEmpty()) {
            if (var8 != null && !var8.isEmpty()) {
               var8 = var8.replace(":", "");
            } else {
               var8 = b[0];
            }

            Proxy var9 = new Proxy(Type.HTTP, new InetSocketAddress(var7, Integer.parseInt(var8)));
            var0.proxy(var9);
            if (var2 != null && !var2.isEmpty()) {
               var0.proxyAuthenticator((var2x, var3x) -> {
                  String var4x = Credentials.basic(var2, var3);
                  return var3x.request().newBuilder().header(b[7], var4x).build();
               });
            }
         } else {
            var10 = b;
            a.log(Level.WARNING, var10[1], var1);
         }
      }
   }

   private static boolean a(String var0) {
      return var0 != null && !var0.isEmpty();
   }

   static {
      String[] var5 = new String[8];
      int var3 = 0;
      String var2 = "dDa\u0001\u001aGj@H3$\u0010\u0014w\u000e\u0006';\u0019\u0014eP[r*\u0014Zp\u000fRr+\u0010\u0014{\rV&0[\u0014N\u0012I*0UW\u007f\u000eH==UV{@E='\u0013]y\u0015T7-[\u0014J\u0005J7$\u0010@l\u0019\u00066(\u0001U>\rG+i\u001b[j@D7i\u0006Qp\u0014\b\u0002dDU\u0019\u0007[f\u0019\u0006\u0007\u001b9\u0014eP[r \u0006\u0014w\u000eP3%\u001cP0@v &\rM>\u0003G<'\u001a@>\u0002Cr*\u001aZx\tA';\u0010P0@r7%\u0010Y{\u0014T+i\u0011Uj\u0001\u0006?(\f\u0014p\u000fRr+\u0010\u0014m\u0005H&g a\u001d@j\u0010UmsZ\u001b7H}\fs+\u001bCJ\u000fzs)P4I\u0019zg_\u001d!\u0003sZ\u001b";
      int var4 = "dDa\u0001\u001aGj@H3$\u0010\u0014w\u000e\u0006';\u0019\u0014eP[r*\u0014Zp\u000fRr+\u0010\u0014{\rV&0[\u0014N\u0012I*0UW\u007f\u000eH==UV{@E='\u0013]y\u0015T7-[\u0014J\u0005J7$\u0010@l\u0019\u00066(\u0001U>\rG+i\u001b[j@D7i\u0006Qp\u0014\b\u0002dDU\u0019\u0007[f\u0019\u0006\u0007\u001b9\u0014eP[r \u0006\u0014w\u000eP3%\u001cP0@v &\rM>\u0003G<'\u001a@>\u0002Cr*\u001aZx\tA';\u0010P0@r7%\u0010Y{\u0014T+i\u0011Uj\u0001\u0006?(\f\u0014p\u000fRr+\u0010\u0014m\u0005H&g a\u001d@j\u0010UmsZ\u001b7H}\fs+\u001bCJ\u000fzs)P4I\u0019zg_\u001d!\u0003sZ\u001b"
         .length();
      char var1 = 2;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 37;
         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) {
                     b = var5;
                     String[] var9 = b;
                     PROXY_URL_PATTERN = b[4];
                     EMPTY_PORT = var9[2];
                     a = Logger.getLogger(GatewaySegmentClientFactory.class.getName());
                     return;
                  }

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

                  var2 = "W+v\\&c[El-\u0001~K:E\u001d-u|9LE\u001ff\u0002\u007f/LQi+\u0017\u0013/1mP/=%\n7jG$y\u001e\u001e7kG8";
                  var4 = "W+v\\&c[El-\u0001~K:E\u001d-u|9LE\u001ff\u0002\u007f/LQi+\u0017\u0013/1mP/=%\n7jG$y\u001e\u001e7kG8".length();
                  var1 = ' ';
                  var7 = -1;
            }

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

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

      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 -> 108;
            case 1 -> 80;
            case 2 -> 17;
            case 3 -> 59;
            case 4 -> 69;
            case 5 -> 3;
            default -> 119;
         });
      }

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