// Metro module 5888 (f5889). import * as _arrayIncludes from "./arrayIncludes"; import * as _arrayIncludesWith from "./arrayIncludesWith"; import * as _Module5894 from "./Module5894"; import * as _setToArray from "./setToArray"; import * as _cacheHas from "./cacheHas"; import * as _SetCache from "./SetCache"; module.exports = function baseUniq(a0, a1, a2) { let r5, r9, r48; let r8 = _arrayIncludes; const length = a0.length; const r25 = []; if (a2) { r8 = _arrayIncludesWith; r5 = false; r9 = r25; } else if (length >= 200) { const r17 = a1 ? null : _Module5894(a0); if (r17) { return _setToArray(r17); } r8 = _cacheHas; r9 = new _SetCache(); r5 = false; } else { r9 = a1 ? [] : r25; r5 = true; } const r6 = 0 < length; let r34 = 0; if (r6) { do { const r35 = a0[r34]; const r1 = r34; const r36 = a1 ? a1(r35) : r35; const r37 = a2 ? r35 : r35 !== 0 ? r35 : 0; L29: { if (r5 && r36 == r36) { const r44 = +r9.length; let r45 = r44 - 1; if (r44) { do { const r46 = r9[r45]; const r47 = r45; if (r46 === r36) { break L29; } r48 = +r47; r45 = r48 - 1; } while (r48); } if (a1) { r9.push(r36); } r25.push(r37); } else if (!r8(r9, r36, a2)) { if (r9 !== r25) { r9.push(r36); } r25.push(r37); } } r34 = r1 + 1; } while (r34 < length); } return r25; };