package com.l7tech.external.assertions.gatewaymanagement.server;

import com.l7tech.gateway.api.AssertionSecurityZoneMO;
import com.l7tech.gateway.common.security.rbac.OperationType;
import com.l7tech.objectmodel.ObjectModelException;
import com.l7tech.policy.AssertionAccess;
import com.l7tech.util.Either;
import java.util.Map;

class c implements ResourceFactorySupport.TransactionalCallback<Either<ResourceFactory.ResourceNotFoundException, AssertionSecurityZoneMO>> {
   final Map val$selectorMap;
   final AssertionSecurityZoneResourceFactory this$0;
   private static final String a;

   c(AssertionSecurityZoneResourceFactory var1, Map var2) {
      this.this$0 = var1;
      this.val$selectorMap = var2;
   }

   public Either<ResourceFactory.ResourceNotFoundException, AssertionSecurityZoneMO> execute() throws ObjectModelException {
      try {
         EntityManagerResourceFactory.EntityBag var1 = this.this$0.selectEntityBag(this.val$selectorMap);
         if (!this.this$0.p.isAssertionRegistered(((AssertionAccess)var1.getEntity()).getName())) {
            return Either.left(new ResourceFactory.ResourceNotFoundException(a + ((AssertionAccess)var1.getEntity()).getName()));
         }

         this.this$0.checkPermitted(OperationType.READ, null, var1.getEntity());
         return Either.right(this.this$0.identify(this.this$0.asResource(var1), (AssertionAccess)var1.getEntity()));
      } catch (ResourceFactory.ResourceNotFoundException var2) {
         return Either.left(var2);
      }
   }

   static {
      String var10002 = a(29, a("j%=k%a D8ng$5'D\"n|2r X\"+|2qs\u000b"));
      byte var10001 = -1;
      a = var10002;
   }

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

      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 -> 54;
            case 1 -> 75;
            case 2 -> 83;
            case 3 -> 19;
            case 4 -> 74;
            case 5 -> 8;
            default -> 84;
         });
      }

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