import m from "./_SetCache.js";
import u from "./_arrayIncludes.js";
import A from "./_arrayIncludesWith.js";
import S from "./_cacheHas.js";
import p from "./_createSet.js";
import y from "./_setToArray.js";
var I = m, g = u, w = A, C = S, R = p, b = y, q = 200;
function E(f, e, h) {
  var t = -1, a = g, o = f.length, l = !0, i = [], r = i;
  if (h)
    l = !1, a = w;
  else if (o >= q) {
    var _ = e ? null : R(f);
    if (_)
      return b(_);
    l = !1, a = C, r = new I();
  } else
    r = e ? [] : i;
  r:
    for (; ++t < o; ) {
      var s = f[t], n = e ? e(s) : s;
      if (s = h || s !== 0 ? s : 0, l && n === n) {
        for (var c = r.length; c--; )
          if (r[c] === n)
            continue r;
        e && r.push(n), i.push(s);
      } else
        a(r, n, h) || (r !== i && r.push(n), i.push(s));
    }
  return i;
}
var x = E;
export {
  x as default
};
//# sourceMappingURL=_baseUniq.js.map
