package com.l7tech.policy.validator;

import com.l7tech.policy.AssertionPath;
import com.l7tech.policy.PolicyValidatorResult;
import com.l7tech.policy.assertion.RemoteIpRange;
import com.l7tech.policy.variable.Syntax;

public class RemoteIpRangeValidator implements AssertionValidator {
   private final RemoteIpRange a;
   private boolean b;
   private static final String c;

   public RemoteIpRangeValidator(RemoteIpRange var1) {
      this.a = var1;
      if (var1.getStartIp() != null) {
         this.b = Syntax.getReferencedNames(var1.getStartIp()).length > 0;
      }
   }

   @Override
   public void validate(AssertionPath var1, PolicyValidationContext var2, PolicyValidatorResult var3) {
      if (this.b) {
         var3.addWarning(new PolicyValidatorResult.Warning(this.a, c, null));
      }
   }

   static {
      String var10002 = a(
         107,
         a(
            "m\u0016A\"\u0019\u0001GW\u000b\\)\u0006U\u0004N\u0004Z%\u001fCH]EA\"^UL]Ea\u001c^`@\\\u0017M?\r\u0001vY\u000bO)^LEAEZ)\rTHLEA\"^hJN\u0004D%\u001a\u0001mhEi(\u001aSAK\u0016\b\u001e\u001fOC]"
         )
      );
      byte var10001 = -1;
      c = var10002;
   }

   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 -> 83;
            case 1 -> 14;
            case 2 -> 67;
            case 3 -> 39;
            case 4 -> 21;
            case 5 -> 74;
            default -> 79;
         });
      }

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