| 39390 | u |
| 39391 | ) |
| 39392 | } |
| 39393 | function _equals(s, o, i, a) { |
| 39394 | if (Zo(s, o)) return !0 |
| 39395 | var u = ra(s) |
| 39396 | if (u !== ra(o)) return !1 |
| 39397 | if ( |
| 39398 | 'function' == typeof s['fantasy-land/equals'] || |
| 39399 | 'function' == typeof o['fantasy-land/equals'] |
| 39400 | ) |
| 39401 | return ( |
| 39402 | 'function' == typeof s['fantasy-land/equals'] && |
| 39403 | s['fantasy-land/equals'](o) && |
| 39404 | 'function' == typeof o['fantasy-land/equals'] && |
| 39405 | o['fantasy-land/equals'](s) |
| 39406 | ) |
| 39407 | if ('function' == typeof s.equals || 'function' == typeof o.equals) |
| 39408 | return ( |
| 39409 | 'function' == typeof s.equals && |
| 39410 | s.equals(o) && |
| 39411 | 'function' == typeof o.equals && |
| 39412 | o.equals(s) |
| 39413 | ) |
| 39414 | switch (u) { |
| 39415 | case 'Arguments': |
| 39416 | case 'Array': |
| 39417 | case 'Object': |
| 39418 | if ( |
| 39419 | 'function' == typeof s.constructor && |
| 39420 | 'Promise' === |
| 39421 | (function _functionName(s) { |
| 39422 | var o = String(s).match(/^function (\w*)/) |
| 39423 | return null == o ? '' : o[1] |
| 39424 | })(s.constructor) |
| 39425 | ) |
| 39426 | return s === o |
| 39427 | break |
| 39428 | case 'Boolean': |
| 39429 | case 'Number': |
| 39430 | case 'String': |
| 39431 | if (typeof s != typeof o || !Zo(s.valueOf(), o.valueOf())) return !1 |
| 39432 | break |
| 39433 | case 'Date': |
| 39434 | if (!Zo(s.valueOf(), o.valueOf())) return !1 |
| 39435 | break |
| 39436 | case 'Error': |
| 39437 | return s.name === o.name && s.message === o.message |
| 39438 | case 'RegExp': |
| 39439 | if ( |
| 39440 | s.source !== o.source || |
| 39441 | s.global !== o.global || |
| 39442 | s.ignoreCase !== o.ignoreCase || |
| 39443 | s.multiline !== o.multiline || |
| 39444 | s.sticky !== o.sticky || |
| 39445 | s.unicode !== o.unicode |
| 39446 | ) |
| 39447 | return !1 |
| 39448 | } |
| 39449 | for (var _ = i.length - 1; _ >= 0; ) { |