package com.l7tech.server;

import com.l7tech.gateway.common.audit.AdminAuditRecord;
import com.l7tech.gateway.common.audit.AuditDetail;
import com.l7tech.gateway.common.audit.MessageSummaryAuditRecord;
import com.l7tech.gateway.common.audit.SystemAuditRecord;
import com.l7tech.gateway.common.cluster.ClusterNodeInfo;
import com.l7tech.gateway.common.cluster.ServiceUsage;
import com.l7tech.gateway.common.mapping.MessageContextMappingKeys;
import com.l7tech.gateway.common.mapping.MessageContextMappingValues;
import com.l7tech.gateway.common.module.ServerModuleFileData;
import com.l7tech.gateway.common.module.ServerModuleFileState;
import com.l7tech.gateway.common.security.rbac.AttributePredicate;
import com.l7tech.gateway.common.security.rbac.EntityFolderAncestryPredicate;
import com.l7tech.gateway.common.security.rbac.FolderPredicate;
import com.l7tech.gateway.common.security.rbac.ObjectIdentityPredicate;
import com.l7tech.gateway.common.security.rbac.Permission;
import com.l7tech.gateway.common.security.rbac.RoleAssignment;
import com.l7tech.gateway.common.security.rbac.ScopePredicate;
import com.l7tech.gateway.common.security.rbac.SecurityZonePredicate;
import com.l7tech.gateway.common.service.MetricsBin;
import com.l7tech.gateway.common.service.MetricsBinDetail;
import com.l7tech.gateway.common.transport.email.EmailListenerState;
import com.l7tech.gateway.common.uddi.UDDIProxiedService;
import com.l7tech.identity.GroupMembership;
import com.l7tech.identity.LogonInfo;
import com.l7tech.identity.cert.CertEntryRow;
import com.l7tech.objectmodel.Entity;
import com.l7tech.policy.PolicyVersion;
import com.l7tech.server.event.EntityChangeSet;
import com.l7tech.server.event.GroupMembershipEvent;
import com.l7tech.server.event.GroupMembershipEventInfo;
import com.l7tech.server.event.UserCertEvent;
import com.l7tech.server.event.UserCertEventInfo;
import com.l7tech.server.event.admin.AdminEvent;
import com.l7tech.server.event.admin.Created;
import com.l7tech.server.event.admin.Deleted;
import com.l7tech.server.event.admin.PolicyVersionCreated;
import com.l7tech.server.uddi.UDDIBusinessServiceStatus;
import com.l7tech.server.uddi.UDDIRegistrySubscription;
import com.l7tech.server.wsdm.subscription.Subscription;
import java.io.Serializable;
import java.util.HashSet;
import java.util.Iterator;
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
import org.hibernate.CallbackException;
import org.hibernate.EntityMode;
import org.hibernate.Interceptor;
import org.hibernate.Transaction;
import org.hibernate.collection.spi.PersistentCollection;
import org.hibernate.type.Type;
import org.springframework.context.support.ApplicationObjectSupport;

public class PersistenceEventInterceptor extends ApplicationObjectSupport implements Interceptor {
   private static Logger a;
   private final Set<String> b = new HashSet<>();
   private final Set<String> c;
   private static final String[] d;

   public PersistenceEventInterceptor() {
      this.b.add(AdminAuditRecord.class.getName());
      this.b.add(SystemAuditRecord.class.getName());
      this.b.add(MessageSummaryAuditRecord.class.getName());
      this.b.add(AuditDetail.class.getName());
      this.b.add(MetricsBin.class.getName());
      this.b.add(MetricsBinDetail.class.getName());
      this.b.add(ServiceUsage.class.getName());
      this.b.add(Subscription.class.getName());
      this.b.add(MessageContextMappingKeys.class.getName());
      this.b.add(MessageContextMappingValues.class.getName());
      this.b.add(LogonInfo.class.getName());
      this.b.add(EmailListenerState.class.getName());
      this.b.add(RoleAssignment.class.getName());
      String[] var1 = d;
      this.b.add(var1[11]);
      this.b.add(var1[2]);
      this.b.add(UDDIRegistrySubscription.class.getName());
      this.b.add(UDDIBusinessServiceStatus.class.getName());
      this.b.add(ServerModuleFileState.class.getName());
      this.b.add(ServerModuleFileData.class.getName());
      this.c = new HashSet<>();
      this.c.add(ClusterNodeInfo.class.getName());
      this.c.add(Permission.class.getName());
      this.c.add(ScopePredicate.class.getName());
      this.c.add(ObjectIdentityPredicate.class.getName());
      this.c.add(AttributePredicate.class.getName());
      this.c.add(FolderPredicate.class.getName());
      this.c.add(EntityFolderAncestryPredicate.class.getName());
      this.c.add(SecurityZonePredicate.class.getName());
      this.c.add(UDDIProxiedService.class.getName());
      this.c.add(var1[17]);
      this.c.add(var1[10]);
      this.c.add(var1[5]);
   }

   private boolean a(Object param1) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: instanceof com/l7tech/objectmodel/PersistentEntity
      // 04: ifeq 21
      // 07: aload 0
      // 08: getfield com/l7tech/server/PersistenceEventInterceptor.b Ljava/util/Set;
      // 0b: aload 1
      // 0c: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 0f: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 12: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 17: ifeq 29
      // 1a: goto 21
      // 1d: invokestatic com/l7tech/server/PersistenceEventInterceptor.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 20: athrow
      // 21: bipush 1
      // 22: goto 2a
      // 25: invokestatic com/l7tech/server/PersistenceEventInterceptor.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 28: athrow
      // 29: bipush 0
      // 2a: ireturn
      // try (0 -> 10): 11 java/lang/IllegalStateException
      // try (3 -> 15): 15 java/lang/IllegalStateException
   }

   public Set<String> getIgnoredClassNames() {
      return this.b;
   }

   public Set<String> getNoAuditClassNames() {
      return this.c;
   }

   private AdminEvent a(Object param1, AdminEvent param2) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: invokestatic com/l7tech/server/audit/AuditContextUtils.isSystem ()Z
      // 03: ifne 30
      // 06: aload 0
      // 07: getfield com/l7tech/server/PersistenceEventInterceptor.c Ljava/util/Set;
      // 0a: aload 1
      // 0b: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 0e: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 11: invokeinterface java/util/Set.contains (Ljava/lang/Object;)Z 2
      // 16: ifne 30
      // 19: goto 20
      // 1c: invokestatic com/l7tech/server/PersistenceEventInterceptor.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 1f: athrow
      // 20: aload 0
      // 21: aload 1
      // 22: aload 2
      // 23: invokevirtual com/l7tech/server/PersistenceEventInterceptor.b (Ljava/lang/Object;Lcom/l7tech/server/event/admin/AdminEvent;)Z
      // 26: ifeq 3c
      // 29: goto 30
      // 2c: invokestatic com/l7tech/server/PersistenceEventInterceptor.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 2f: athrow
      // 30: aload 2
      // 31: bipush 1
      // 32: invokevirtual com/l7tech/server/event/admin/AdminEvent.setAuditIgnore (Z)V
      // 35: goto 3c
      // 38: invokestatic com/l7tech/server/PersistenceEventInterceptor.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 3b: athrow
      // 3c: aload 2
      // 3d: areturn
      // try (0 -> 9): 10 java/lang/IllegalStateException
      // try (2 -> 17): 18 java/lang/IllegalStateException
      // try (12 -> 23): 24 java/lang/IllegalStateException
   }

   private boolean b(Object param1, AdminEvent param2) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: instanceof com/l7tech/gateway/common/module/ServerModuleFile
      // 04: ifeq 2b
      // 07: aload 2
      // 08: instanceof com/l7tech/server/event/admin/Created
      // 0b: ifne 23
      // 0e: goto 15
      // 11: invokestatic com/l7tech/server/PersistenceEventInterceptor.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 14: athrow
      // 15: aload 2
      // 16: instanceof com/l7tech/server/event/admin/Deleted
      // 19: ifeq 2b
      // 1c: goto 23
      // 1f: invokestatic com/l7tech/server/PersistenceEventInterceptor.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 22: athrow
      // 23: bipush 1
      // 24: goto 2c
      // 27: invokestatic com/l7tech/server/PersistenceEventInterceptor.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 2a: athrow
      // 2b: bipush 0
      // 2c: ireturn
      // try (0 -> 6): 7 java/lang/IllegalStateException
      // try (3 -> 12): 13 java/lang/IllegalStateException
      // try (9 -> 17): 17 java/lang/IllegalStateException
   }

   public boolean onSave(Object var1, Serializable var2, Object[] var3, String[] var4, Type[] var5) throws CallbackException {
      try {
         if (!this.a(var1)) {
            a.log(Level.FINE, d[8] + var1.getClass().getName() + " " + var2);
            this.getApplicationContext().publishEvent(this.a(var1, this.d(var1)));
         }

         return false;
      } catch (CallbackException var6) {
         throw a(var6);
      }
   }

   public void onDelete(Object var1, Serializable var2, Object[] var3, String[] var4, Type[] var5) throws CallbackException {
      try {
         if (!this.a(var1)) {
            a.log(Level.FINE, d[7] + var1.getClass().getName() + " " + var2);
            this.getApplicationContext().publishEvent(this.a(var1, this.c(var1)));
         }
      } catch (CallbackException var6) {
         throw a(var6);
      }
   }

   public boolean onFlushDirty(Object var1, Serializable var2, Object[] var3, Object[] var4, String[] var5, Type[] var6) throws CallbackException {
      if (!this.a(var1)) {
         a.log(Level.FINE, d[9] + var1.getClass().getName() + " " + var2);
         EntityChangeSet var7 = new EntityChangeSet(var5, var4, var3);
         this.getApplicationContext().publishEvent(this.a(var1, this.a(var1, var7)));
      }

      return false;
   }

   public void onCollectionRecreate(Object var1, Serializable var2) throws CallbackException {
      this.b(var1);
   }

   public void onCollectionRemove(Object var1, Serializable var2) throws CallbackException {
      this.b(var1);
   }

   public void onCollectionUpdate(Object var1, Serializable var2) throws CallbackException {
      this.b(var1);
   }

   private void b(Object var1) {
      if (var1 instanceof PersistentCollection var2 && var2.getOwner() instanceof Entity var4 && !this.a(var4)) {
         Logger var10000 = a;
         Level var10001 = Level.FINE;
         String var10002 = var4.getClass().getName();
         String var10003 = var4.getId();
         String[] var10 = d;
         var10000.log(var10001, var10[16] + var10002 + " " + var10003);
         String[] var5 = new String[]{var2.getRole()};
         String[] var6 = new String[]{var10[13]};
         String[] var7 = new String[]{var10[6]};
         EntityChangeSet var8 = new EntityChangeSet(var5, var6, var7);
         AdminEvent var9 = this.a(var4, var8);
         var9.setAuditIgnore(true);
         this.getApplicationContext().publishEvent(this.a(var4, var9));
      }
   }

   private AdminEvent c(Object var1) {
      try {
         if (var1 instanceof GroupMembership) {
            return new GroupMembershipEvent(new GroupMembershipEventInfo((GroupMembership)var1, d[19], this.getApplicationContext()));
         }
      } catch (IllegalStateException var4) {
         throw a(var4);
      }

      try {
         if (var1 instanceof CertEntryRow) {
            return new UserCertEvent(new UserCertEventInfo((CertEntryRow)var1, d[0], null, this.getApplicationContext()));
         }
      } catch (IllegalStateException var2) {
         throw a(var2);
      }

      try {
         if (var1 instanceof Entity) {
            return new Deleted((Entity)var1);
         }
      } catch (IllegalStateException var3) {
         throw a(var3);
      }

      throw new IllegalStateException(d[1] + var1.getClass().getName());
   }

   private AdminEvent d(Object var1) {
      try {
         if (var1 instanceof CertEntryRow) {
            return new UserCertEvent(new UserCertEventInfo((CertEntryRow)var1, d[12], null, this.getApplicationContext()));
         }
      } catch (IllegalStateException var3) {
         throw a(var3);
      }

      try {
         if (var1 instanceof GroupMembership) {
            return new GroupMembershipEvent(new GroupMembershipEventInfo((GroupMembership)var1, d[3], this.getApplicationContext()));
         }
      } catch (IllegalStateException var5) {
         throw a(var5);
      }

      try {
         if (var1 instanceof PolicyVersion) {
            return new PolicyVersionCreated((PolicyVersion)var1);
         }
      } catch (IllegalStateException var2) {
         throw a(var2);
      }

      try {
         if (var1 instanceof Entity) {
            return new Created((Entity)var1);
         }
      } catch (IllegalStateException var4) {
         throw a(var4);
      }

      throw new IllegalStateException(d[18] + var1.getClass().getName());
   }

   private AdminEvent a(Object param1, EntityChangeSet param2) {
      // $VF: Couldn't be decompiled
      // Please report this to the Vineflower issue tracker, at https://github.com/Vineflower/vineflower/issues with a copy of the class file (if you have the rights to distribute it!)
      // java.lang.RuntimeException: parsing failure!
      //   at org.jetbrains.java.decompiler.modules.decompiler.decompose.DomHelper.parseGraph(DomHelper.java:211)
      //   at org.jetbrains.java.decompiler.main.rels.MethodProcessor.codeToJava(MethodProcessor.java:174)
      //
      // Bytecode:
      // 00: aload 1
      // 01: instanceof com/l7tech/identity/cert/CertEntryRow
      // 04: ifeq 35
      // 07: invokestatic com/l7tech/server/audit/AuditContextUtils.isSystem ()Z
      // 0a: ifne 35
      // 0d: goto 14
      // 10: invokestatic com/l7tech/server/PersistenceEventInterceptor.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 13: athrow
      // 14: new com/l7tech/server/event/UserCertEvent
      // 17: dup
      // 18: new com/l7tech/server/event/UserCertEventInfo
      // 1b: dup
      // 1c: aload 1
      // 1d: checkcast com/l7tech/identity/cert/CertEntryRow
      // 20: getstatic com/l7tech/server/PersistenceEventInterceptor.d [Ljava/lang/String;
      // 23: bipush 4
      // 24: aaload
      // 25: aload 2
      // 26: aload 0
      // 27: invokevirtual com/l7tech/server/PersistenceEventInterceptor.getApplicationContext ()Lorg/springframework/context/ApplicationContext;
      // 2a: invokespecial com/l7tech/server/event/UserCertEventInfo.<init> (Lcom/l7tech/identity/cert/CertEntryRow;Ljava/lang/String;Lcom/l7tech/server/event/EntityChangeSet;Lorg/springframework/context/ApplicationContext;)V
      // 2d: invokespecial com/l7tech/server/event/UserCertEvent.<init> (Lcom/l7tech/server/event/UserCertEventInfo;)V
      // 30: areturn
      // 31: invokestatic com/l7tech/server/PersistenceEventInterceptor.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 34: athrow
      // 35: aload 1
      // 36: instanceof com/l7tech/identity/GroupMembership
      // 39: ifeq 5d
      // 3c: new com/l7tech/server/event/GroupMembershipEvent
      // 3f: dup
      // 40: new com/l7tech/server/event/GroupMembershipEventInfo
      // 43: dup
      // 44: aload 1
      // 45: checkcast com/l7tech/identity/GroupMembership
      // 48: getstatic com/l7tech/server/PersistenceEventInterceptor.d [Ljava/lang/String;
      // 4b: bipush 14
      // 4d: aaload
      // 4e: aload 0
      // 4f: invokevirtual com/l7tech/server/PersistenceEventInterceptor.getApplicationContext ()Lorg/springframework/context/ApplicationContext;
      // 52: invokespecial com/l7tech/server/event/GroupMembershipEventInfo.<init> (Lcom/l7tech/identity/GroupMembership;Ljava/lang/String;Lorg/springframework/context/ApplicationContext;)V
      // 55: invokespecial com/l7tech/server/event/GroupMembershipEvent.<init> (Lcom/l7tech/server/event/GroupMembershipEventInfo;)V
      // 58: areturn
      // 59: invokestatic com/l7tech/server/PersistenceEventInterceptor.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 5c: athrow
      // 5d: aload 1
      // 5e: instanceof com/l7tech/policy/PolicyVersion
      // 61: ifeq 75
      // 64: new com/l7tech/server/event/admin/PolicyVersionUpdated
      // 67: dup
      // 68: aload 1
      // 69: checkcast com/l7tech/policy/PolicyVersion
      // 6c: aload 2
      // 6d: invokespecial com/l7tech/server/event/admin/PolicyVersionUpdated.<init> (Lcom/l7tech/policy/PolicyVersion;Lcom/l7tech/server/event/EntityChangeSet;)V
      // 70: areturn
      // 71: invokestatic com/l7tech/server/PersistenceEventInterceptor.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 74: athrow
      // 75: aload 1
      // 76: instanceof com/l7tech/objectmodel/Entity
      // 79: ifeq 8d
      // 7c: new com/l7tech/server/event/admin/Updated
      // 7f: dup
      // 80: aload 1
      // 81: checkcast com/l7tech/objectmodel/Entity
      // 84: aload 2
      // 85: invokespecial com/l7tech/server/event/admin/Updated.<init> (Lcom/l7tech/objectmodel/Entity;Lcom/l7tech/server/event/EntityChangeSet;)V
      // 88: areturn
      // 89: invokestatic com/l7tech/server/PersistenceEventInterceptor.a (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
      // 8c: athrow
      // 8d: new java/lang/IllegalStateException
      // 90: dup
      // 91: aload 1
      // 92: invokevirtual java/lang/Object.getClass ()Ljava/lang/Class;
      // 95: invokevirtual java/lang/Class.getName ()Ljava/lang/String;
      // 98: getstatic com/l7tech/server/PersistenceEventInterceptor.d [Ljava/lang/String;
      // 9b: bipush 15
      // 9d: aaload
      // 9e: swap
      // 9f: 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" ]
      // a4: invokespecial java/lang/IllegalStateException.<init> (Ljava/lang/String;)V
      // a7: athrow
      // try (0 -> 5): 6 java/lang/IllegalStateException
      // try (3 -> 23): 23 java/lang/IllegalStateException
      // try (25 -> 42): 42 java/lang/IllegalStateException
      // try (44 -> 54): 54 java/lang/IllegalStateException
      // try (56 -> 66): 66 java/lang/IllegalStateException
   }

   public boolean onLoad(Object var1, Serializable var2, Object[] var3, String[] var4, Type[] var5) throws CallbackException {
      return false;
   }

   public void preFlush(Iterator var1) throws CallbackException {
   }

   public void postFlush(Iterator var1) throws CallbackException {
   }

   public Boolean isTransient(Object var1) {
      return null;
   }

   public int[] findDirty(Object var1, Serializable var2, Object[] var3, Object[] var4, String[] var5, Type[] var6) {
      return null;
   }

   public Object instantiate(String var1, EntityMode var2, Serializable var3) throws CallbackException {
      return null;
   }

   public String getEntityName(Object var1) throws CallbackException {
      return null;
   }

   public Object getEntity(String var1, Serializable var2) throws CallbackException {
      return null;
   }

   public void afterTransactionBegin(Transaction var1) {
   }

   public void beforeTransactionCompletion(Transaction var1) {
   }

   public void afterTransactionCompletion(Transaction var1) {
   }

   public String onPrepareStatement(String var1) {
      return var1;
   }

   static {
      String[] var5 = new String[20];
      int var3 = 0;
      String var2 = "OK\u0019\u001e+\u0007X!~O\u001aV)BQ\\E\u0011Q<BxXB\u0011\u00058\u0006\u001cXX\u0011\u001f)BZR\\T\u0010}6^A\u0019_1UHXM\u001c_.\u0007NKK\u0006_8\u000fO\u0013C\u001d\u0016/\u0003HTA\u001a_\u0010\u000b[OO\u0000\u00182\fq\\^\u0004\u00183\u0005nXM\u001b\u00039\u0005\\J\u0010\u00149\u0007H^\u0010\u0010)\u0007X>^A\u0019_1UHXM\u001c_.\u0007NKK\u0006_8\u000fO\u0013C\u001b\u001f4\u0016SOG\u001a\u0016s'RIG\u0000\b\u0010\rRTZ\u001b\u00034\f[m\\\u001b\u00018\u0010HD}\u0011\u0005(\u0012\ffM\u001b\u001d1\u0007_IG\u001b\u001f\u0000\byK\u0018\u0014)\u0007X\u001d\b~\\\u0011\u0010)\u0007X\u001d\bh^\u0010\u0010)\u0007X\u001d<^A\u0019_1UHXM\u001c_.\u0007NKK\u0006_8\u000fO\u0013C\u001b\u001f4\u0016SOG\u001a\u0016s1OZm\u0018\u0004.\u0016YO`\u001b\u00054\u0004U^O\u0000\u00182\foXZ\u0001\u0001<^A\u0019_1UHXM\u001c_.\u0007NKK\u0006_8\u000fO\u0013]\u0000\u00103\u0006]OJ\u0006\u0014-\rNI]Z\")\u0003RYO\u0006\u0015\u000f\u0007LR\\\u00000/\u0016U[O\u0017\u0005\u0005\\J\u0010\u00149\ffM\u001b\u001d1\u0007_IG\u001b\u001f\u0000\u0007H^\u0010\u0010)\u0007X\"~O\u001aV)BQ\\E\u0011Q<\f\u001ch^\u0010\u0010)\u0007X\u001dK\u0002\u00143\u0016\u001c[A\u0006Q<B\u0016h^\u0010\u0010)\u0007X\u001dM\u001b\u001d1\u0007_IG\u001b\u001f}\u000bR\u001dA^A\u0019_1UHXM\u001c_.\u0007NKK\u0006_8\u000fO\u0013C\u001b\u001f4\u0016SOG\u001a\u0016s1ENZ\u0011\u001c\u0010\rRTZ\u001b\u00034\f[sA\u0000\u0018;\u000b_\\Z\u001d\u001e30IQK";
      int var4 = "OK\u0019\u001e+\u0007X!~O\u001aV)BQ\\E\u0011Q<BxXB\u0011\u00058\u0006\u001cXX\u0011\u001f)BZR\\T\u0010}6^A\u0019_1UHXM\u001c_.\u0007NKK\u0006_8\u000fO\u0013C\u001d\u0016/\u0003HTA\u001a_\u0010\u000b[OO\u0000\u00182\fq\\^\u0004\u00183\u0005nXM\u001b\u00039\u0005\\J\u0010\u00149\u0007H^\u0010\u0010)\u0007X>^A\u0019_1UHXM\u001c_.\u0007NKK\u0006_8\u000fO\u0013C\u001b\u001f4\u0016SOG\u001a\u0016s'RIG\u0000\b\u0010\rRTZ\u001b\u00034\f[m\\\u001b\u00018\u0010HD}\u0011\u0005(\u0012\ffM\u001b\u001d1\u0007_IG\u001b\u001f\u0000\byK\u0018\u0014)\u0007X\u001d\b~\\\u0011\u0010)\u0007X\u001d\bh^\u0010\u0010)\u0007X\u001d<^A\u0019_1UHXM\u001c_.\u0007NKK\u0006_8\u000fO\u0013C\u001b\u001f4\u0016SOG\u001a\u0016s1OZm\u0018\u0004.\u0016YO`\u001b\u00054\u0004U^O\u0000\u00182\foXZ\u0001\u0001<^A\u0019_1UHXM\u001c_.\u0007NKK\u0006_8\u000fO\u0013]\u0000\u00103\u0006]OJ\u0006\u0014-\rNI]Z\")\u0003RYO\u0006\u0015\u000f\u0007LR\\\u00000/\u0016U[O\u0017\u0005\u0005\\J\u0010\u00149\ffM\u001b\u001d1\u0007_IG\u001b\u001f\u0000\u0007H^\u0010\u0010)\u0007X\"~O\u001aV)BQ\\E\u0011Q<\f\u001ch^\u0010\u0010)\u0007X\u001dK\u0002\u00143\u0016\u001c[A\u0006Q<B\u0016h^\u0010\u0010)\u0007X\u001dM\u001b\u001d1\u0007_IG\u001b\u001f}\u000bR\u001dA^A\u0019_1UHXM\u001c_.\u0007NKK\u0006_8\u000fO\u0013C\u001b\u001f4\u0016SOG\u001a\u0016s1ENZ\u0011\u001c\u0010\rRTZ\u001b\u00034\f[sA\u0000\u0018;\u000b_\\Z\u001d\u001e30IQK"
         .length();
      char var1 = 7;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 115;
         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) {
                     d = var5;
                     a = Logger.getLogger(PersistenceEventInterceptor.class.getName());
                     return;
                  }

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

                  var2 = "Xi<p\u000fdwzc7w\u001adYim3#\u001e :~~79\u000fd|tzr6[\u0007im?8\r!~";
                  var4 = "Xi<p\u000fdwzc7w\u001adYim3#\u001e :~~79\u000fd|tzr6[\u0007im?8\r!~".length();
                  var1 = '!';
                  var7 = -1;
            }

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

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

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

      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 -> 78;
            case 1 -> 93;
            case 2 -> 7;
            case 3 -> 2;
            case 4 -> 46;
            case 5 -> 17;
            default -> 79;
         });
      }

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