// Decompiled with JetBrains decompiler
// Type: A.I
// Assembly: RansomGuard, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
// MVID: 37652FF6-4FF5-4E76-944D-E6CA5073036F
// Assembly location: RansomGuard.dll inside C:\Users\WDAGUtilityAccount\Desktop\RansomGuard.exe)

using System;
using System.Collections.Concurrent;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;

#nullable enable
namespace A;

internal static class I
{
  private static readonly ConcurrentDictionary<string, string> bs = new ConcurrentDictionary<string, string>((IEqualityComparer<string>) StringComparer.Ordinal);

  public static string A(string? value)
  {
    return string.IsNullOrEmpty(value) ? string.Empty : I.bs.GetOrAdd(value, (Func<string, string>) (([In] obj0) => obj0));
  }

  public static void A(int _param0 = 10000)
  {
    if (I.bs.Count <= _param0)
      return;
    List<KeyValuePair<string, string>> list = Enumerable.ToList<KeyValuePair<string, string>>(Enumerable.Take<KeyValuePair<string, string>>((IEnumerable<KeyValuePair<string, string>>) I.bs, _param0 / 2));
    I.bs.Clear();
    foreach (KeyValuePair<string, string> keyValuePair in list)
      I.bs[keyValuePair.Key] = keyValuePair.Value;
  }

  [SpecialName]
  public static int A() => I.bs.Count;
}
