import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.IOException;
import java.util.Iterator;
import java.util.LinkedHashMap;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

@aa(
   a = {am.class}
)
public class aj implements am {
   private static final Pattern a;
   private Map<String, Long> b;
   private long c;
   private Map<String, n<Long, Long>> d;
   private long e;
   private static final long f = 10L;
   private static final Pattern g;
   private static final String[] h;

   private Map<String, Long> a() throws IOException {
      LinkedHashMap var1 = new LinkedHashMap();
      File var2 = new File(h[2]);

      try {
         if (!var2.exists()) {
            return var1;
         }
      } catch (IOException var12) {
         throw var12;
      }

      BufferedReader var3 = new BufferedReader(new FileReader(var2));

      try {
         for(String var4 = var3.readLine(); var4 != null; var4 = var3.readLine()) {
            Matcher var5 = a.matcher(var4);

            try {
               if (var5.matches()) {
                  var1.put(var5.group(1), Long.parseLong(var5.group(2)));
               }
            } catch (IOException var10) {
               throw var10;
            }
         }
      } finally {
         var3.close();
      }

      return var1;
   }

   private Map<String, n<Long, Long>> b() throws IOException {
      LinkedHashMap var1 = new LinkedHashMap();
      File var2 = new File(h[0]);

      try {
         if (!var2.exists()) {
            return var1;
         }
      } catch (IOException var12) {
         throw var12;
      }

      BufferedReader var3 = new BufferedReader(new FileReader(var2));

      try {
         for(String var4 = var3.readLine(); var4 != null; var4 = var3.readLine()) {
            Matcher var5 = g.matcher(var4);

            try {
               if (var5.matches()) {
                  var1.put(var5.group(1), new n(Long.parseLong(var5.group(2)), Long.parseLong(var5.group(3))));
               }
            } catch (IOException var10) {
               throw var10;
            }
         }
      } finally {
         var3.close();
      }

      return var1;
   }

   public void a(k<ak> var1) {
      this.b(var1);
      this.c(var1);
   }

   protected void b(k<ak> var1) {
      try {
         Map var2 = this.a();
         long var3 = System.currentTimeMillis() - this.c;
         this.c = System.currentTimeMillis();
         if (this.b != null) {
            Iterator var5 = var2.entrySet().iterator();

            while(var5.hasNext()) {
               Map.Entry var6 = (Map.Entry)var5.next();
               Long var7 = (Long)this.b.get(var6.getKey());
               if (var7 != null) {
                  double var8 = (double)(((Long)var6.getValue() - var7) * 10L) / (double)var3;
                  var1.a((Object)(new ar(h[1], (String)var6.getKey(), "%", var8 * 100.0)));
               }
            }
         }

         this.b = var2;
      } catch (IOException var10) {
         var10.printStackTrace();
      }

   }

   protected void c(k<ak> param1) {
      // $FF: Couldn't be decompiled
   }

   static {
      String[] var10000 = new String[9];
      char[] var10003 = "h!\"+hh597`4%10x".toCharArray();
      int var10005 = var10003.length;
      int var1 = 0;
      char[] var10004 = var10003;
      int var6 = var10005;
      char[] var2;
      int var3;
      char[] var5;
      char[] var8;
      char var9;
      byte var10;
      char[] var10001;
      int var10002;
      int var10006;
      char var10007;
      byte var10008;
      if (var10005 <= 1) {
         var8 = var10003;
         var10006 = var1;
         var10007 = var10003[var1];
         switch (var1 % 5) {
            case 0:
               var10008 = 71;
               break;
            case 1:
               var10008 = 81;
               break;
            case 2:
               var10008 = 80;
               break;
            case 3:
               var10008 = 68;
               break;
            default:
               var10008 = 11;
         }
      } else {
         var10004 = var10003;
         var6 = var10005;
         if (var10005 <= var1) {
            label3117: {
               var10000[0] = (new String(var10003)).intern();
               var10003 = "\u0014\b\u0003".toCharArray();
               var10005 = var10003.length;
               var1 = 0;
               var10004 = var10003;
               var6 = var10005;
               if (var10005 <= 1) {
                  var8 = var10003;
                  var10006 = var1;
               } else {
                  var10004 = var10003;
                  var6 = var10005;
                  if (var10005 <= var1) {
                     break label3117;
                  }

                  var8 = var10003;
                  var10006 = var1;
               }

               while(true) {
                  var10007 = var8[var10006];
                  switch (var1 % 5) {
                     case 0:
                        var10008 = 71;
                        break;
                     case 1:
                        var10008 = 81;
                        break;
                     case 2:
                        var10008 = 80;
                        break;
                     case 3:
                        var10008 = 68;
                        break;
                     default:
                        var10008 = 11;
                  }

                  var8[var10006] = (char)(var10007 ^ var10008);
                  ++var1;
                  if (var6 == 0) {
                     var10006 = var6;
                     var8 = var10004;
                  } else {
                     if (var6 <= var1) {
                        break;
                     }

                     var8 = var10004;
                     var10006 = var1;
                  }
               }
            }

            var10000[1] = (new String(var10004)).intern();
            var10003 = "h!\"+hh\"$%\u007f".toCharArray();
            var10005 = var10003.length;
            var1 = 0;
            var10004 = var10003;
            var6 = var10005;
            if (var10005 <= 1) {
               var8 = var10003;
               var10006 = var1;
               var10007 = var10003[var1];
               switch (var1 % 5) {
                  case 0:
                     var10008 = 71;
                     break;
                  case 1:
                     var10008 = 81;
                     break;
                  case 2:
                     var10008 = 80;
                     break;
                  case 3:
                     var10008 = 68;
                     break;
                  default:
                     var10008 = 11;
               }
            } else {
               var10004 = var10003;
               var6 = var10005;
               if (var10005 <= var1) {
                  label3185: {
                     var10000[2] = (new String(var10003)).intern();
                     var10003 = "j#5%o4".toCharArray();
                     var10005 = var10003.length;
                     var1 = 0;
                     var10004 = var10003;
                     var6 = var10005;
                     if (var10005 <= 1) {
                        var8 = var10003;
                        var10006 = var1;
                     } else {
                        var10004 = var10003;
                        var6 = var10005;
                        if (var10005 <= var1) {
                           break label3185;
                        }

                        var8 = var10003;
                        var10006 = var1;
                     }

                     while(true) {
                        var10007 = var8[var10006];
                        switch (var1 % 5) {
                           case 0:
                              var10008 = 71;
                              break;
                           case 1:
                              var10008 = 81;
                              break;
                           case 2:
                              var10008 = 80;
                              break;
                           case 3:
                              var10008 = 68;
                              break;
                           default:
                              var10008 = 11;
                        }

                        var8[var10006] = (char)(var10007 ^ var10008);
                        ++var1;
                        if (var6 == 0) {
                           var10006 = var6;
                           var8 = var10004;
                        } else {
                           if (var6 <= var1) {
                              break;
                           }

                           var8 = var10004;
                           var10006 = var1;
                        }
                     }
                  }

                  var10000[3] = (new String(var10004)).intern();
                  var10003 = "v~#".toCharArray();
                  var10005 = var10003.length;
                  var1 = 0;
                  var10004 = var10003;
                  var6 = var10005;
                  if (var10005 <= 1) {
                     var8 = var10003;
                     var10006 = var1;
                     var10007 = var10003[var1];
                     switch (var1 % 5) {
                        case 0:
                           var10008 = 71;
                           break;
                        case 1:
                           var10008 = 81;
                           break;
                        case 2:
                           var10008 = 80;
                           break;
                        case 3:
                           var10008 = 68;
                           break;
                        default:
                           var10008 = 11;
                     }
                  } else {
                     var10004 = var10003;
                     var6 = var10005;
                     if (var10005 <= var1) {
                        label3253: {
                           var10000[4] = (new String(var10003)).intern();
                           var10003 = "j&\"-\u007f\"\"".toCharArray();
                           var10005 = var10003.length;
                           var1 = 0;
                           var10004 = var10003;
                           var6 = var10005;
                           if (var10005 <= 1) {
                              var8 = var10003;
                              var10006 = var1;
                           } else {
                              var10004 = var10003;
                              var6 = var10005;
                              if (var10005 <= var1) {
                                 break label3253;
                              }

                              var8 = var10003;
                              var10006 = var1;
                           }

                           while(true) {
                              var10007 = var8[var10006];
                              switch (var1 % 5) {
                                 case 0:
                                    var10008 = 71;
                                    break;
                                 case 1:
                                    var10008 = 81;
                                    break;
                                 case 2:
                                    var10008 = 80;
                                    break;
                                 case 3:
                                    var10008 = 68;
                                    break;
                                 default:
                                    var10008 = 11;
                              }

                              var8[var10006] = (char)(var10007 ^ var10008);
                              ++var1;
                              if (var6 == 0) {
                                 var10006 = var6;
                                 var8 = var10004;
                              } else {
                                 if (var6 <= var1) {
                                    break;
                                 }

                                 var8 = var10004;
                                 var10006 = var1;
                              }
                           }
                        }

                        var10000[5] = (new String(var10004)).intern();
                        var10003 = "\u0014\b\u0003".toCharArray();
                        var10005 = var10003.length;
                        var1 = 0;
                        var10004 = var10003;
                        var6 = var10005;
                        if (var10005 <= 1) {
                           var8 = var10003;
                           var10006 = var1;
                           var10007 = var10003[var1];
                           switch (var1 % 5) {
                              case 0:
                                 var10008 = 71;
                                 break;
                              case 1:
                                 var10008 = 81;
                                 break;
                              case 2:
                                 var10008 = 80;
                                 break;
                              case 3:
                                 var10008 = 68;
                                 break;
                              default:
                                 var10008 = 11;
                           }
                        } else {
                           var10004 = var10003;
                           var6 = var10005;
                           if (var10005 <= var1) {
                              label3321: {
                                 var10000[6] = (new String(var10003)).intern();
                                 var10003 = "v~#".toCharArray();
                                 var10005 = var10003.length;
                                 var1 = 0;
                                 var10004 = var10003;
                                 var6 = var10005;
                                 if (var10005 <= 1) {
                                    var8 = var10003;
                                    var10006 = var1;
                                 } else {
                                    var10004 = var10003;
                                    var6 = var10005;
                                    if (var10005 <= var1) {
                                       break label3321;
                                    }

                                    var8 = var10003;
                                    var10006 = var1;
                                 }

                                 while(true) {
                                    var10007 = var8[var10006];
                                    switch (var1 % 5) {
                                       case 0:
                                          var10008 = 71;
                                          break;
                                       case 1:
                                          var10008 = 81;
                                          break;
                                       case 2:
                                          var10008 = 80;
                                          break;
                                       case 3:
                                          var10008 = 68;
                                          break;
                                       default:
                                          var10008 = 11;
                                    }

                                    var8[var10006] = (char)(var10007 ^ var10008);
                                    ++var1;
                                    if (var6 == 0) {
                                       var10006 = var6;
                                       var8 = var10004;
                                    } else {
                                       if (var6 <= var1) {
                                          break;
                                       }

                                       var8 = var10004;
                                       var10006 = var1;
                                    }
                                 }
                              }

                              var10000[7] = (new String(var10004)).intern();
                              var10003 = "\u0014\b\u0003".toCharArray();
                              var10005 = var10003.length;
                              var1 = 0;
                              var10004 = var10003;
                              var6 = var10005;
                              if (var10005 <= 1) {
                                 var8 = var10003;
                                 var10006 = var1;
                                 var10007 = var10003[var1];
                                 switch (var1 % 5) {
                                    case 0:
                                       var10008 = 71;
                                       break;
                                    case 1:
                                       var10008 = 81;
                                       break;
                                    case 2:
                                       var10008 = 80;
                                       break;
                                    case 3:
                                       var10008 = 68;
                                       break;
                                    default:
                                       var10008 = 11;
                                 }
                              } else {
                                 var10004 = var10003;
                                 var6 = var10005;
                                 if (var10005 <= var1) {
                                    label3389: {
                                       var10000[8] = (new String(var10003)).intern();
                                       h = var10000;
                                       var2 = "o2 1W#zyd o\r4o\"iz".toCharArray();
                                       var10002 = var2.length;
                                       var1 = 0;
                                       var10001 = var2;
                                       var3 = var10002;
                                       if (var10002 <= 1) {
                                          var5 = var2;
                                          var6 = var1;
                                       } else {
                                          var10001 = var2;
                                          var3 = var10002;
                                          if (var10002 <= var1) {
                                             break label3389;
                                          }

                                          var5 = var2;
                                          var6 = var1;
                                       }

                                       while(true) {
                                          var9 = var5[var6];
                                          switch (var1 % 5) {
                                             case 0:
                                                var10 = 71;
                                                break;
                                             case 1:
                                                var10 = 81;
                                                break;
                                             case 2:
                                                var10 = 80;
                                                break;
                                             case 3:
                                                var10 = 68;
                                                break;
                                             default:
                                                var10 = 11;
                                          }

                                          var5[var6] = (char)(var9 ^ var10);
                                          ++var1;
                                          if (var3 == 0) {
                                             var6 = var3;
                                             var5 = var10001;
                                          } else {
                                             if (var3 <= var1) {
                                                break;
                                             }

                                             var5 = var10001;
                                             var6 = var1;
                                          }
                                       }
                                    }

                                    a = Pattern.compile((new String(var10001)).intern());
                                    var2 = "gz\f  gz\f  gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray();
                                    var10002 = var2.length;
                                    var1 = 0;
                                    var10001 = var2;
                                    var3 = var10002;
                                    if (var10002 <= 1) {
                                       var5 = var2;
                                       var6 = var1;
                                    } else {
                                       var10001 = var2;
                                       var3 = var10002;
                                       if (var10002 <= var1) {
                                          g = Pattern.compile((new String(var2)).intern());
                                          return;
                                       }

                                       var5 = var2;
                                       var6 = var1;
                                    }

                                    while(true) {
                                       var9 = var5[var6];
                                       switch (var1 % 5) {
                                          case 0:
                                             var10 = 71;
                                             break;
                                          case 1:
                                             var10 = 81;
                                             break;
                                          case 2:
                                             var10 = 80;
                                             break;
                                          case 3:
                                             var10 = 68;
                                             break;
                                          default:
                                             var10 = 11;
                                       }

                                       var5[var6] = (char)(var9 ^ var10);
                                       ++var1;
                                       if (var3 == 0) {
                                          var6 = var3;
                                          var5 = var10001;
                                       } else {
                                          if (var3 <= var1) {
                                             g = Pattern.compile((new String(var10001)).intern());
                                             return;
                                          }

                                          var5 = var10001;
                                          var6 = var1;
                                       }
                                    }
                                 }

                                 var8 = var10003;
                                 var10006 = var1;
                                 var10007 = var10003[var1];
                                 switch (var1 % 5) {
                                    case 0:
                                       var10008 = 71;
                                       break;
                                    case 1:
                                       var10008 = 81;
                                       break;
                                    case 2:
                                       var10008 = 80;
                                       break;
                                    case 3:
                                       var10008 = 68;
                                       break;
                                    default:
                                       var10008 = 11;
                                 }
                              }

                              while(true) {
                                 while(true) {
                                    var8[var10006] = (char)(var10007 ^ var10008);
                                    ++var1;
                                    if (var6 == 0) {
                                       var10006 = var6;
                                       var8 = var10004;
                                       var10007 = var10004[var6];
                                       switch (var1 % 5) {
                                          case 0:
                                             var10008 = 71;
                                             break;
                                          case 1:
                                             var10008 = 81;
                                             break;
                                          case 2:
                                             var10008 = 80;
                                             break;
                                          case 3:
                                             var10008 = 68;
                                             break;
                                          default:
                                             var10008 = 11;
                                       }
                                    } else {
                                       if (var6 <= var1) {
                                          label3497: {
                                             var10000[8] = (new String(var10004)).intern();
                                             h = var10000;
                                             var2 = "o2 1W#zyd o\r4o\"iz".toCharArray();
                                             var10002 = var2.length;
                                             var1 = 0;
                                             var10001 = var2;
                                             var3 = var10002;
                                             if (var10002 <= 1) {
                                                var5 = var2;
                                                var6 = var1;
                                             } else {
                                                var10001 = var2;
                                                var3 = var10002;
                                                if (var10002 <= var1) {
                                                   break label3497;
                                                }

                                                var5 = var2;
                                                var6 = var1;
                                             }

                                             while(true) {
                                                var9 = var5[var6];
                                                switch (var1 % 5) {
                                                   case 0:
                                                      var10 = 71;
                                                      break;
                                                   case 1:
                                                      var10 = 81;
                                                      break;
                                                   case 2:
                                                      var10 = 80;
                                                      break;
                                                   case 3:
                                                      var10 = 68;
                                                      break;
                                                   default:
                                                      var10 = 11;
                                                }

                                                var5[var6] = (char)(var9 ^ var10);
                                                ++var1;
                                                if (var3 == 0) {
                                                   var6 = var3;
                                                   var5 = var10001;
                                                } else {
                                                   if (var3 <= var1) {
                                                      break;
                                                   }

                                                   var5 = var10001;
                                                   var6 = var1;
                                                }
                                             }
                                          }

                                          a = Pattern.compile((new String(var10001)).intern());
                                          var2 = "gz\f  gz\f  gzx\u001fjj+\ro\"gzx\u0018olxpoW#zpo#\u001b5{m%m".toCharArray();
                                          var10002 = var2.length;
                                          var1 = 0;
                                          var10001 = var2;
                                          var3 = var10002;
                                          if (var10002 <= 1) {
                                             var5 = var2;
                                             var6 = var1;
                                          } else {
                                             var10001 = var2;
                                             var3 = var10002;
                                             if (var10002 <= var1) {
                                                g = Pattern.compile((new String(var2)).intern());
                                                return;
                                             }

                                             var5 = var2;
                                             var6 = var1;
                                          }

                                          while(true) {
                                             var9 = var5[var6];
                                             switch (var1 % 5) {
                                                case 0:
                                                   var10 = 71;
                                                   break;
                                                case 1:
                                                   var10 = 81;
                                                   break;
                                                case 2:
                                                   var10 = 80;
                                                   break;
                                                case 3:
                                                   var10 = 68;
                                                   break;
                                                default:
                                                   var10 = 11;
                                             }

                                             var5[var6] = (char)(var9 ^ var10);
                                             ++var1;
                                             if (var3 == 0) {
                                                var6 = var3;
                                                var5 = var10001;
                                             } else {
                                                if (var3 <= var1) {
                                                   g = Pattern.compile((new String(var10001)).intern());
                                                   return;
                                                }

                                                var5 = var10001;
                                                var6 = var1;
                                             }
                                          }
                                       }

                                       var8 = var10004;
                                       var10006 = var1;
