package com.l7tech.server.service;

import com.l7tech.gateway.common.mapping.MessageContextMapping;
import com.l7tech.gateway.common.service.MetricsBin;
import com.l7tech.gateway.common.service.PublishedService;
import com.l7tech.gateway.common.service.ServiceHeader;
import com.l7tech.gateway.common.service.ServiceState;
import com.l7tech.identity.User;
import com.l7tech.objectmodel.FindException;
import com.l7tech.objectmodel.Goid;
import com.l7tech.server.event.EntityInvalidationEvent;
import com.l7tech.server.util.ManagedTimer;
import com.l7tech.server.util.PostStartupApplicationListener;
import com.l7tech.util.Config;
import com.l7tech.util.ConfigFactory;
import com.l7tech.util.ExceptionUtils;
import com.l7tech.util.TimeUnit;
import jakarta.annotation.PostConstruct;
import jakarta.annotation.PreDestroy;
import jakarta.inject.Inject;
import jakarta.inject.Named;
import java.beans.PropertyChangeEvent;
import java.beans.PropertyChangeListener;
import java.text.MessageFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Random;
import java.util.concurrent.ArrayBlockingQueue;
import java.util.concurrent.BlockingQueue;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.springframework.context.ApplicationEvent;

public class ServiceMetricsServicesImpl implements ServiceMetricsServices, PostStartupApplicationListener, PropertyChangeListener {
   private static final Logger a;
   private static final Random b;
   private static final long c;
   @Inject
   private ServiceMetricsManager serviceMetricsManager;
   private final String d;
   @Inject
   @Named("managedBackgroundTimer")
   private ManagedTimer timer;
   @Inject
   private Config config;
   private int e;
   private Map<Goid, ServiceState> f = new ConcurrentHashMap<>();
   private final AtomicBoolean g = new AtomicBoolean(false);
   private final Object h = new Object();
   private au i;
   private av j;
   private as k;
   private at l;
   private at m;
   private at n;
   private ae o;
   private Thread p;
   private static final BlockingQueue<ServiceMetrics.MetricsCollectorSet> q;
   private final Map<Goid, ServiceMetrics> r = new HashMap<>();
   private final Object s = new Object();
   private AtomicBoolean t = new AtomicBoolean(false);
   private static final String[] u;

   public ServiceMetricsServicesImpl(String var1) {
      this.d = var1;
   }

   @PostConstruct
   void a() throws Exception {
      Config var10000 = this.e();
      String[] var2 = u;
      int var1 = var10000.getIntProperty(var2[19], 5000);

      label43: {
         try {
            if (var1 <= 300000 && var1 >= 1000) {
               break label43;
            }
         } catch (Exception var5) {
            throw a(var5);
         }

         var2 = u;
         a.warning(String.format(var2[11], var1, 1000, 300000, 5000));
         var1 = 5000;
      }

      label35: {
         try {
            this.e = var1;
            if (this.e().getBooleanProperty(u[12], false)) {
               this.c();
               break label35;
            }
         } catch (Exception var4) {
            throw a(var4);
         }

         var2 = u;
         a.info(var2[27]);
      }

      try {
         if (this.e().getBooleanProperty(u[35], false)) {
            this.t.set(true);
            return;
         }
      } catch (Exception var3) {
         throw a(var3);
      }

      this.t.set(false);
      a.info(u[2]);
   }

   @PreDestroy
   void b() throws Exception {
      this.d();
   }

   @Override
   public boolean isEnabled() {
      return this.g.get();
   }

   @Override
   public int getFineInterval() {
      return this.e;
   }

   @Override
   public void trackServiceMetrics(Goid var1) {
      this.a(var1);
   }

   @Override
   public void addRequest(Goid param1, String param2, User param3, List<MessageContextMapping> param4, boolean param5, boolean param6, int param7, int param8) {
      // $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: aload 1
      // 02: invokevirtual com/l7tech/server/service/ServiceMetricsServicesImpl.a (Lcom/l7tech/objectmodel/Goid;)Lcom/l7tech/server/service/ServiceMetrics;
      // 05: astore 9
      // 07: aload 9
      // 09: ifnull 45
      // 0c: aload 0
      // 0d: getfield com/l7tech/server/service/ServiceMetricsServicesImpl.t Ljava/util/concurrent/atomic/AtomicBoolean;
      // 10: invokevirtual java/util/concurrent/atomic/AtomicBoolean.get ()Z
      // 13: ifeq 35
      // 16: goto 1d
      // 19: invokestatic com/l7tech/server/service/ServiceMetricsServicesImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 1c: athrow
      // 1d: aload 9
      // 1f: aload 2
      // 20: aload 3
      // 21: aload 4
      // 23: iload 5
      // 25: iload 6
      // 27: iload 7
      // 29: iload 8
      // 2b: invokevirtual com/l7tech/server/service/ServiceMetrics.addRequest (Ljava/lang/String;Lcom/l7tech/identity/User;Ljava/util/List;ZZII)V
      // 2e: goto 45
      // 31: invokestatic com/l7tech/server/service/ServiceMetricsServicesImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 34: athrow
      // 35: aload 9
      // 37: aconst_null
      // 38: aconst_null
      // 39: aconst_null
      // 3a: iload 5
      // 3c: iload 6
      // 3e: iload 7
      // 40: iload 8
      // 42: invokevirtual com/l7tech/server/service/ServiceMetrics.addRequest (Ljava/lang/String;Lcom/l7tech/identity/User;Ljava/util/List;ZZII)V
      // 45: return
      // try (4 -> 10): 11 java/lang/NumberFormatException
      // try (6 -> 23): 23 java/lang/NumberFormatException
   }

   ServiceMetrics a(Goid var1) {
      if (this.isEnabled()) {
         synchronized (this.s) {
            ServiceMetrics var2;
            if (!this.r.containsKey(var1)) {
               var2 = new ServiceMetrics(var1);
               this.r.put(var1, var2);
            } else {
               var2 = this.r.get(var1);
            }

            return var2;
         }
      } else {
         return null;
      }
   }

   private void c() {
      synchronized (this.h) {
         if (!this.g.get()) {
            if (this.timer == null) {
               String[] var27 = u;
               a.log(Level.WARNING, var27[0]);
            } else {
               String[] var17 = u;
               a.info(var17[24]);
               long var2 = System.currentTimeMillis();
               a.config(var17[21] + this.e + var17[28]);
               Date var4 = new Date(MetricsBin.periodEndFor(0, this.e, var2));
               this.i = new au(this);
               this.timer.scheduleAtFixedRate(this.i, var4, this.e);
               a.config(var17[32] + var4);
               long var5 = 15000L * b.nextInt(10);
               Date var7 = new Date(MetricsBin.periodEndFor(1, 0, var2) + var5);
               this.j = new av(this);
               this.timer.scheduleAtFixedRate(this.j, var7, 3600000L);
               a.config(var17[3] + var7);
               Date var8 = new Date(MetricsBin.periodEndFor(2, 0, var2) + c);
               this.k = new as(this);
               this.timer.schedule(this.k, var8);
               a.config(var17[33] + var8);

               try {
                  synchronized (this.s) {
                     for (ServiceHeader var12 : this.serviceMetricsManager.findAllServiceHeaders()) {
                        Goid var13 = var12.getGoid();
                        ServiceMetrics var14 = new ServiceMetrics(var12.getGoid());

                        Map var28;
                        Goid var29;
                        ServiceState var30;
                        label46: {
                           try {
                              this.r.put(var13, var14);
                              var28 = this.f;
                              var29 = var13;
                              if (var12.isDisabled()) {
                                 var30 = ServiceState.DISABLED;
                                 break label46;
                              }
                           } catch (FindException var18) {
                              throw a(var18);
                           }

                           var30 = ServiceState.ENABLED;
                        }

                        var28.put(var29, var30);
                     }
                  }
               } catch (FindException var20) {
                  Logger var10000 = a;
                  Level var10001 = Level.WARNING;
                  String var10002 = var20.getMessage();
                  var17 = u;
                  var10000.log(var10001, var17[6] + var10002, ExceptionUtils.getDebugException(var20));
               }

               this.o = new ae(this);
               this.p = new Thread(this.o, this.o.getClass().getName());
               this.p.start();
               var17 = u;
               long var22 = a(var17[25], 3900000L, 3900000L, 3900000L);
               long var23 = a(var17[13], 86700000L, 2678400000L, 604800000L);
               long var24 = a(var17[15], 2678400000L, 315360000000L, 31536000000L);
               this.l = new at(this, var22, 0);
               this.timer.schedule(this.l, 60000L, 300000L);
               a.config(var17[20] + new Date(System.currentTimeMillis() + 60000L));
               this.m = new at(this, var23, 1);
               this.timer.schedule(this.m, 900000L, 43200000L);
               a.config(var17[1] + new Date(System.currentTimeMillis() + 900000L));
               this.n = new at(this, var24, 2);
               this.timer.schedule(this.n, 3600000L, 86400000L);
               a.config(var17[29] + new Date(System.currentTimeMillis() + 3600000L));
               this.g.set(true);
            }
         }
      }
   }

   private void d() {
      synchronized (this.h) {
         if (this.g.get()) {
            String[] var5 = u;
            a.info(var5[14]);

            try {
               if (this.i != null) {
                  this.i.cancel();
                  this.i = null;
               }

               try {
                  if (this.j != null) {
                     this.j.cancel();
                     this.j.doRun();
                     this.j = null;
                  }
               } catch (InterruptedException var10) {
                  throw a(var10);
               }

               try {
                  if (this.k != null) {
                     this.k.cancel();
                     this.k.a(false);
                     this.k = null;
                  }
               } catch (InterruptedException var15) {
                  throw a(var15);
               }

               try {
                  if (this.l != null) {
                     this.l.cancel();
                     this.l = null;
                  }
               } catch (InterruptedException var9) {
                  throw a(var9);
               }

               try {
                  if (this.m != null) {
                     this.m.cancel();
                     this.m = null;
                  }
               } catch (InterruptedException var14) {
                  throw a(var14);
               }

               try {
                  if (this.n != null) {
                     this.n.cancel();
                     this.n = null;
                  }
               } catch (InterruptedException var8) {
                  throw a(var8);
               }

               try {
                  if (this.o != null) {
                     this.o.quit();
                  }
               } catch (InterruptedException var13) {
                  throw a(var13);
               }

               try {
                  if (this.p != null) {
                     this.p.interrupt();
                     this.p = null;
                  }
               } catch (InterruptedException var7) {
                  throw a(var7);
               }

               if (this.o != null) {
                  try {
                     try {
                        while (q.size() != 0) {
                           this.o.a();
                        }
                     } catch (NumberFormatException var11) {
                        throw a(var11);
                     }
                  } catch (InterruptedException var12) {
                     var5 = u;
                     a.info(var5[4]);
                  }

                  this.o = null;
               }
            } catch (Exception var16) {
               a.log(Level.WARNING, u[31], var16);
            }

            synchronized (this.s) {
               this.r.clear();
            }

            this.g.set(false);
         }
      }
   }

   private static long a(String var0, long var1, long var3, long var5) {
      String var7 = ConfigFactory.getProperty(var0);
      if (var7 == null) {
         String var10 = var0;
         long var11 = var5;
         String[] var30 = u;
         a.info(var30[18] + var11 + var30[9] + var10);
         return var5;
      }

      try {
         long var8 = Long.parseLong(var7);
         if (var8 < var1) {
            String var13 = var0;
            long var14 = var8;
            long var16 = var1;
            String[] var29 = u;
            a.warning(var29[23] + var16 + var29[16] + var14 + var29[34] + var13);
            return var1;
         } else if (var8 > var3) {
            String var18 = var0;
            long var19 = var8;
            long var21 = var3;
            String[] var28 = u;
            a.warning(var28[36] + var21 + var28[17] + var19 + var28[22] + var18);
            return var3;
         } else {
            return var8;
         }
      } catch (NumberFormatException var27) {
         String var23 = var0;
         long var24 = var5;
         String[] var26 = u;
         a.info(var26[7] + var24 + var26[26] + var23);
         return var5;
      }
   }

   @Override
   public void onApplicationEvent(ApplicationEvent var1) {
      try {
         if (!(var1 instanceof EntityInvalidationEvent)) {
            return;
         }
      } catch (FindException var11) {
         throw a(var11);
      }

      EntityInvalidationEvent var2 = (EntityInvalidationEvent)var1;

      try {
         if (!PublishedService.class.isAssignableFrom(var2.getEntityClass())) {
            return;
         }
      } catch (FindException var10) {
         throw a(var10);
      }

      for (int var3 = 0; var3 < var2.getEntityOperations().length; var3++) {
         char var4 = var2.getEntityOperations()[var3];
         Goid var5 = var2.getEntityIds()[var3];

         label47: {
            FindException var6;
            try {
               switch (var4) {
                  case 'C':
                  case 'U':
                     try {
                        this.f.put(var5, this.serviceMetricsManager.getCreatedOrUpdatedServiceState(var5));
                        continue;
                     } catch (FindException var8) {
                        var6 = var8;
                        break;
                     }
                  case 'D':
                     break label47;
                  default:
                     continue;
               }
            } catch (NumberFormatException var9) {
               throw a(var9);
            }

            try {
               if (a.isLoggable(Level.WARNING)) {
                  a.log(Level.WARNING, MessageFormat.format(u[30], var5), var6);
               }
               continue;
            } catch (FindException var7) {
               throw a(var7);
            }
         }

         this.f.put(var5, ServiceState.DELETED);
      }
   }

   @Override
   public void propertyChange(PropertyChangeEvent 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: getstatic com/l7tech/server/service/ServiceMetricsServicesImpl.u [Ljava/lang/String;
      // 03: bipush 10
      // 05: aaload
      // 06: aload 1
      // 07: invokevirtual java/beans/PropertyChangeEvent.getPropertyName ()Ljava/lang/String;
      // 0a: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 0d: ifeq 36
      // 10: aload 1
      // 11: invokevirtual java/beans/PropertyChangeEvent.getNewValue ()Ljava/lang/Object;
      // 14: checkcast java/lang/String
      // 17: invokestatic java/lang/Boolean.valueOf (Ljava/lang/String;)Ljava/lang/Boolean;
      // 1a: invokevirtual java/lang/Boolean.booleanValue ()Z
      // 1d: ifeq 32
      // 20: goto 27
      // 23: invokestatic com/l7tech/server/service/ServiceMetricsServicesImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 26: athrow
      // 27: aload 0
      // 28: invokevirtual com/l7tech/server/service/ServiceMetricsServicesImpl.c ()V
      // 2b: goto 36
      // 2e: invokestatic com/l7tech/server/service/ServiceMetricsServicesImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 31: athrow
      // 32: aload 0
      // 33: invokevirtual com/l7tech/server/service/ServiceMetricsServicesImpl.d ()V
      // 36: getstatic com/l7tech/server/service/ServiceMetricsServicesImpl.u [Ljava/lang/String;
      // 39: bipush 5
      // 3a: aaload
      // 3b: aload 1
      // 3c: invokevirtual java/beans/PropertyChangeEvent.getPropertyName ()Ljava/lang/String;
      // 3f: invokevirtual java/lang/String.equals (Ljava/lang/Object;)Z
      // 42: ifeq 7f
      // 45: aload 1
      // 46: invokevirtual java/beans/PropertyChangeEvent.getNewValue ()Ljava/lang/Object;
      // 49: checkcast java/lang/String
      // 4c: invokestatic java/lang/Boolean.valueOf (Ljava/lang/String;)Ljava/lang/Boolean;
      // 4f: invokevirtual java/lang/Boolean.booleanValue ()Z
      // 52: ifeq 6b
      // 55: goto 5c
      // 58: invokestatic com/l7tech/server/service/ServiceMetricsServicesImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 5b: athrow
      // 5c: aload 0
      // 5d: getfield com/l7tech/server/service/ServiceMetricsServicesImpl.t Ljava/util/concurrent/atomic/AtomicBoolean;
      // 60: bipush 1
      // 61: invokevirtual java/util/concurrent/atomic/AtomicBoolean.set (Z)V
      // 64: goto 7f
      // 67: invokestatic com/l7tech/server/service/ServiceMetricsServicesImpl.a (Ljava/lang/Exception;)Ljava/lang/Exception;
      // 6a: athrow
      // 6b: aload 0
      // 6c: getfield com/l7tech/server/service/ServiceMetricsServicesImpl.t Ljava/util/concurrent/atomic/AtomicBoolean;
      // 6f: bipush 0
      // 70: invokevirtual java/util/concurrent/atomic/AtomicBoolean.set (Z)V
      // 73: getstatic com/l7tech/server/service/ServiceMetricsServicesImpl.a Ljava/util/logging/Logger;
      // 76: getstatic com/l7tech/server/service/ServiceMetricsServicesImpl.u [Ljava/lang/String;
      // 79: bipush 8
      // 7b: aaload
      // 7c: invokevirtual java/util/logging/Logger.info (Ljava/lang/String;)V
      // 7f: return
      // try (0 -> 13): 14 java/lang/NumberFormatException
      // try (7 -> 19): 19 java/lang/NumberFormatException
      // try (23 -> 36): 37 java/lang/NumberFormatException
      // try (30 -> 44): 44 java/lang/NumberFormatException
   }

   private Config e() {
      try {
         if (this.config != null) {
            return this.config;
         }
      } catch (NumberFormatException var1) {
         throw a(var1);
      }

      return ConfigFactory.getCachedConfig();
   }

   static {
      String[] var5 = new String[37];
      int var3 = 0;
      String var2 = "E}_-W\u0010Md|\u001e*U\u0014\u000f|v\u001e<^\u0007\u001byp[oV\u0010\u0019bz]<\u001bX@0gW\"^\u0007M~|JoB\u0010\u00190`[;8CpV*_\u0000\u0001uw\u001e)R\u0007\u001ed3Z*W\u0010\u0019y|PoO\u0014\u001e{3X IU\u0005\u007ffL#BU\u0000ugL&XU\u000fy}MoZ\u0001MIQwZ&U\u0012M}vM<Z\u0012\b0pQ!O\u0010\u0015d3S.K\u0005\u0004~tMoO\u001aMCvL9R\u0016\b0^[;I\u001c\u000ec3W<\u001b\u0016\u0018ba[!O\u0019\u00140wW<Z\u0017\u0001uw\u0010(CpV*_\u0000\u0001uw\u001e)R\u0007\u001ed3V N\u0007\u0001i3_=X\u001d\u0004fv\u001e;Z\u0006\u00060uQ=\u001b!VzP.WU\u001fe}\u001e ]U\u000b|fM'^\u0007My}J*I\u0007\u0018`g[+\u0015#sfM;T\u0018\bb^_?K\u001c\u0003w=_+_!\u0002CvL9R\u0016\b]vJ=R\u0016\u001eoVrW#^\u0011Md|\u001e)^\u0001\u000ex3R&H\u0001M\u007fu\u001e?N\u0017\u0001y`V*_U\u001euaH&X\u0010C0^[;I\u001c\u000e0qW!HU\nu}[=Z\u0001\u0004\u007f}\u001e8R\u0019\u00010}Q;\u001b\u0006\u0019qaJoN\u001b\u0019y\u007f\u001e=^\u0004\u0018u`J<\u001b\u0014\u001fbzH*\u0015U.qfM*\u0001U\u0015E`W!\\U\tuu_:W\u0001MfrR:^UEIQwZ&U\u0012M}vM<Z\u0012\b0pQ!O\u0010\u0015d3S.K\u0005\u0004~tMoO\u001aMCvL9R\u0016\b0^[;I\u001c\u000ec3W<\u001b\u0016\u0018ba[!O\u0019\u00140wW<Z\u0017\u0001uw\u0010\u001f93X IU\u0000y`M&U\u0012McjM;^\u0018M`aQ?^\u0007\u0019i)\u001e\u0015cvL9R\u0016\b]vJ=R\u0016\u001eU}_-W\u0010\tUS|P)R\u0012\u0018bvZoV\u0010\u0019bz]<}\u001c\u0003uZP;^\u0007\u001bq\u007f\u001ej_U\u0004c3Q:OU\u0002v3J'^U\u001bq\u007fW+\u001b\u0007\f~t[o\u0013P\t=6Zf\u0000U\u0018czP(\u001b\u0011\bvrK#OUHt\u0015cvL9R\u0016\b]vJ=R\u0016\u001eU}_-W\u0010\t's|SaWB\u0019upVaH\u0010\u001ffz]*\u0015\u0018\bdaW,H[\u0000qkv N\u0007\u0001iRY*%TzM.Y\u0019\u0004~t\u001e<^\u0007\u001byp[oV\u0010\u0019bz]<\u001b\u0016\u0002|\u007f[,O\u001c\u0002~=&s|SaWB\u0019upVaH\u0010\u001ffz]*\u0015\u0018\bdaW,H[\u0000qkz.R\u0019\u0014Qt[\u001c93Q!\u001b\u0006\u0014cg[\"\u001b\u0005\u001f\u007fc[=O\fMfrR:^UE\u001c93Q!\u001b\u0006\u0014cg[\"\u001b\u0005\u001f\u007fc[=O\fMfrR:^UE\u0015E`W!\\U\tuu_:W\u0001MfrR:^UE\u0013}vJ=R\u0016\u001eVzP*r\u001b\u0019uaH.WACpV*_\u0000\u0001uw\u001e)R\u0007\u001ed3Z*W\u0010\u0019y|PoO\u0014\u001e{3X IU\u000by}[oI\u0010\u001e\u007f\u007fK;R\u001a\u00030~[;I\u001c\u000e0qW!HU\fd3 VzP*\u001b\u0007\bc|R:O\u001c\u0002~3\\&UU\u0004~g[=M\u0014\u00010zMo\u00039)\u001e\u001bY~N H\u001c\u0003w3R L\u0010\u001f0pQ!H\u0001\u001fqzP;\u001b]$U}_-W\u001c\u0003w3M*I\u0003\u0004sv\u001e\"^\u0001\u001fypMoX\u001a\u0001|v];R\u001a\u0003>%s|SaWB\u0019upVaH\u0010\u001ffz]*\u0015\u0018\bdaW,H[\u0000qkx&U\u0010,wv#93X IU\u0003\u007f}\u0013!N\u0018\bbz]oH\f\u001edvSoK\u0007\u0002`vL;BOM1CvL9R\u0016\b0~[;I\u001c\u000ec3] W\u0019\bsgW UU\u0004c3]:I\u0007\b~gR6\u001b\u0011\u0004cr\\#^\u0011C\u00030~M7CpV*_\u0000\u0001uw\u001e)R\u0007\u001ed3Z*W\u0010\u0019y|PoO\u0014\u001e{3X IU\tqzR6\u001b\u0018\bdaW,\u001b\u0017\u0004~`\u001e.OU+E}_-W\u0010Md|\u001e)R\u001b\t0pL*Z\u0001\bt<K?_\u0014\u0019uw\u001e<^\u0007\u001byp[o\u0018\u000e]m:SrK(S\u0001Muk]*K\u0001\u0004\u007f}\u001e8S\u001c\u0001u3Z&H\u0014\u000f|zP(\u001b&\bbeW,^8\bdaW,HU\u000e\u007f\u007fR*X\u0001\u0004\u007f}&CpV*_\u0000\u0001uw\u001e)R\u0007\u001ed3X&U\u0010Mqa]'R\u0003\b0g_<PU\u000b\u007fa\u001e'CpV*_\u0000\u0001uw\u001e)R\u0007\u001ed3Z.R\u0019\u00140rL,S\u001c\u001bu3J.H\u001eMv|Lo\u00039)\u001e";
      int var4 = "E}_-W\u0010Md|\u001e*U\u0014\u000f|v\u001e<^\u0007\u001byp[oV\u0010\u0019bz]<\u001bX@0gW\"^\u0007M~|JoB\u0010\u00190`[;8CpV*_\u0000\u0001uw\u001e)R\u0007\u001ed3Z*W\u0010\u0019y|PoO\u0014\u001e{3X IU\u0005\u007ffL#BU\u0000ugL&XU\u000fy}MoZ\u0001MIQwZ&U\u0012M}vM<Z\u0012\b0pQ!O\u0010\u0015d3S.K\u0005\u0004~tMoO\u001aMCvL9R\u0016\b0^[;I\u001c\u000ec3W<\u001b\u0016\u0018ba[!O\u0019\u00140wW<Z\u0017\u0001uw\u0010(CpV*_\u0000\u0001uw\u001e)R\u0007\u001ed3V N\u0007\u0001i3_=X\u001d\u0004fv\u001e;Z\u0006\u00060uQ=\u001b!VzP.WU\u001fe}\u001e ]U\u000b|fM'^\u0007My}J*I\u0007\u0018`g[+\u0015#sfM;T\u0018\bb^_?K\u001c\u0003w=_+_!\u0002CvL9R\u0016\b]vJ=R\u0016\u001eoVrW#^\u0011Md|\u001e)^\u0001\u000ex3R&H\u0001M\u007fu\u001e?N\u0017\u0001y`V*_U\u001euaH&X\u0010C0^[;I\u001c\u000e0qW!HU\nu}[=Z\u0001\u0004\u007f}\u001e8R\u0019\u00010}Q;\u001b\u0006\u0019qaJoN\u001b\u0019y\u007f\u001e=^\u0004\u0018u`J<\u001b\u0014\u001fbzH*\u0015U.qfM*\u0001U\u0015E`W!\\U\tuu_:W\u0001MfrR:^UEIQwZ&U\u0012M}vM<Z\u0012\b0pQ!O\u0010\u0015d3S.K\u0005\u0004~tMoO\u001aMCvL9R\u0016\b0^[;I\u001c\u000ec3W<\u001b\u0016\u0018ba[!O\u0019\u00140wW<Z\u0017\u0001uw\u0010\u001f93X IU\u0000y`M&U\u0012McjM;^\u0018M`aQ?^\u0007\u0019i)\u001e\u0015cvL9R\u0016\b]vJ=R\u0016\u001eU}_-W\u0010\tUS|P)R\u0012\u0018bvZoV\u0010\u0019bz]<}\u001c\u0003uZP;^\u0007\u001bq\u007f\u001ej_U\u0004c3Q:OU\u0002v3J'^U\u001bq\u007fW+\u001b\u0007\f~t[o\u0013P\t=6Zf\u0000U\u0018czP(\u001b\u0011\bvrK#OUHt\u0015cvL9R\u0016\b]vJ=R\u0016\u001eU}_-W\u0010\t's|SaWB\u0019upVaH\u0010\u001ffz]*\u0015\u0018\bdaW,H[\u0000qkv N\u0007\u0001iRY*%TzM.Y\u0019\u0004~t\u001e<^\u0007\u001byp[oV\u0010\u0019bz]<\u001b\u0016\u0002|\u007f[,O\u001c\u0002~=&s|SaWB\u0019upVaH\u0010\u001ffz]*\u0015\u0018\bdaW,H[\u0000qkz.R\u0019\u0014Qt[\u001c93Q!\u001b\u0006\u0014cg[\"\u001b\u0005\u001f\u007fc[=O\fMfrR:^UE\u001c93Q!\u001b\u0006\u0014cg[\"\u001b\u0005\u001f\u007fc[=O\fMfrR:^UE\u0015E`W!\\U\tuu_:W\u0001MfrR:^UE\u0013}vJ=R\u0016\u001eVzP*r\u001b\u0019uaH.WACpV*_\u0000\u0001uw\u001e)R\u0007\u001ed3Z*W\u0010\u0019y|PoO\u0014\u001e{3X IU\u000by}[oI\u0010\u001e\u007f\u007fK;R\u001a\u00030~[;I\u001c\u000e0qW!HU\fd3 VzP*\u001b\u0007\bc|R:O\u001c\u0002~3\\&UU\u0004~g[=M\u0014\u00010zMo\u00039)\u001e\u001bY~N H\u001c\u0003w3R L\u0010\u001f0pQ!H\u0001\u001fqzP;\u001b]$U}_-W\u001c\u0003w3M*I\u0003\u0004sv\u001e\"^\u0001\u001fypMoX\u001a\u0001|v];R\u001a\u0003>%s|SaWB\u0019upVaH\u0010\u001ffz]*\u0015\u0018\bdaW,H[\u0000qkx&U\u0010,wv#93X IU\u0003\u007f}\u0013!N\u0018\bbz]oH\f\u001edvSoK\u0007\u0002`vL;BOM1CvL9R\u0016\b0~[;I\u001c\u000ec3] W\u0019\bsgW UU\u0004c3]:I\u0007\b~gR6\u001b\u0011\u0004cr\\#^\u0011C\u00030~M7CpV*_\u0000\u0001uw\u001e)R\u0007\u001ed3Z*W\u0010\u0019y|PoO\u0014\u001e{3X IU\tqzR6\u001b\u0018\bdaW,\u001b\u0017\u0004~`\u001e.OU+E}_-W\u0010Md|\u001e)R\u001b\t0pL*Z\u0001\bt<K?_\u0014\u0019uw\u001e<^\u0007\u001byp[o\u0018\u000e]m:SrK(S\u0001Muk]*K\u0001\u0004\u007f}\u001e8S\u001c\u0001u3Z&H\u0014\u000f|zP(\u001b&\bbeW,^8\bdaW,HU\u000e\u007f\u007fR*X\u0001\u0004\u007f}&CpV*_\u0000\u0001uw\u001e)R\u0007\u001ed3X&U\u0010Mqa]'R\u0003\b0g_<PU\u000b\u007fa\u001e'CpV*_\u0000\u0001uw\u001e)R\u0007\u001ed3Z.R\u0019\u00140rL,S\u001c\u001bu3J.H\u001eMv|Lo\u00039)\u001e"
         .length();
      char var1 = '5';
      int var7 = -1;

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

         while (true) {
            String var8 = a(var10000, a(var10001));
            switch (var10002) {
               case 0:
                  var5[var3++] = var8;
                  if ((var7 += var1) >= var4) {
                     u = var5;
                     a = Logger.getLogger(ServiceMetricsServicesImpl.class.getName());
                     b = new Random();
                     c = TimeUnit.MINUTES.toMillis(1L) * 5L;
                     q = new ArrayBlockingQueue<>(500);
                     return;
                  }

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

                  var2 = "|iB4[\u0017\u0007mQP0D\u0013\fx2P$P.\rLyC6]\u0019\u0007RyE2]\u0019\u0011\u001bVqA/G\u0013\fx<D0D\u001f\u0010?\u007f^.G\u000e\u0010~u_4\u0014R";
                  var4 = "|iB4[\u0017\u0007mQP0D\u0013\fx2P$P.\rLyC6]\u0019\u0007RyE2]\u0019\u0011\u001bVqA/G\u0013\fx<D0D\u001f\u0010?\u007f^.G\u000e\u0010~u_4\u0014R"
                     .length();
                  var1 = '#';
                  var7 = -1;
            }

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

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

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

      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 -> 81;
            case 1 -> 82;
            case 2 -> 127;
            case 3 -> 14;
            case 4 -> 122;
            case 5 -> 52;
            default -> 44;
         });
      }

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