package com.l7tech.server.polback;

import com.l7tech.objectmodel.encass.EncapsulatedAssertionConfig;
import com.l7tech.objectmodel.polback.PolicyBackedService;
import com.l7tech.objectmodel.polback.PolicyBackedServiceOperation;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;

class c implements InvocationHandler {
   final PolicyBackedService val$instanceImpl;
   final d val$template;
   final PolicyBackedServiceRegistry this$0;
   private static final String[] a;

   c(PolicyBackedServiceRegistry var1, PolicyBackedService var2, d var3) {
      this.this$0 = var1;
      this.val$instanceImpl = var2;
      this.val$template = var3;
   }

   @Override
   public Object invoke(Object var1, Method var2, Object[] var3) throws Throwable {
      String var4 = var2.getName();
      String var5 = this.val$instanceImpl.getName();
      PolicyBackedServiceOperation var6 = null;

      for (PolicyBackedServiceOperation var9 : this.val$instanceImpl.getOperations()) {
         if (var4.equalsIgnoreCase(var9.getName())) {
            var6 = var9;
            break;
         }
      }

      try {
         if (null == var6) {
            throw new UnsupportedOperationException(a[0] + var4 + a[2] + var5);
         }
      } catch (Throwable var15) {
         throw a(var15);
      }

      EncapsulatedAssertionConfig var16 = null;
      EncapsulatedAssertionConfig[] var17 = this.val$template.b;

      for (EncapsulatedAssertionConfig var13 : var17) {
         if (var4.equalsIgnoreCase(var13.getName())) {
            var16 = var13;
            break;
         }
      }

      try {
         if (null == var16) {
            throw new UnsupportedOperationException(a[3] + var4 + a[1] + var5);
         }
      } catch (Throwable var14) {
         throw a(var14);
      }

      return this.this$0.a(var2, var3, var6.getPolicyGoid(), var6.getName(), var16.getArgumentDescriptors(), var16.getResultDescriptors(), null);
   }

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

   static {
      String[] var5 = new String[4];
      int var3 = 0;
      String var2 = "rHS\u000bZan]S\u001a\u000bD$zSUS\tOptSCS\nKiyX\u00072\u001cD\u001c\nLm{IU\u0016\u0000\nmr\u001cS\u0016\tZh}HBS\u0002Ev<LH\u001f\rI}1^F\u0010\u000fO`<OB\u0001\u0012Cgy\u001c";
      int var4 = "rHS\u000bZan]S\u001a\u000bD$zSUS\tOptSCS\nKiyX\u00072\u001cD\u001c\nLm{IU\u0016\u0000\nmr\u001cS\u0016\tZh}HBS\u0002Ev<LH\u001f\rI}1^F\u0010\u000fO`<OB\u0001\u0012Cgy\u001c"
         .length();
      char var1 = 30;
      int var7 = -1;

      label24:
      while (true) {
         byte var10000 = 24;
         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) {
                     a = var5;
                     return;
                  }

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

                  var2 = "k3k};\u001a\f>\"aw}\u001a\u0005k k\u007f4\u0010\u0012f2ep6\u0016\u000fk#aa+\u001a\b.p\u0013\u0005?$|-\u0016\u0019*$m|3S\u0005*=aw}";
                  var4 = "k3k};\u001a\f>\"aw}\u001a\u0005k k\u007f4\u0010\u0012f2ep6\u0016\u000fk#aa+\u001a\b.p\u0013\u0005?$|-\u0016\u0019*$m|3S\u0005*=aw}"
                     .length();
                  var1 = '%';
                  var7 = -1;
            }

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

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

      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 -> 36;
            case 1 -> 63;
            case 2 -> 107;
            case 3 -> 124;
            case 4 -> 50;
            case 5 -> 28;
            default -> 4;
         });
      }

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