| 12345678910111213141516171819202122232425262728293031 | "use strict";var value    = require("../../object/valid-value")  , aFrom    = require("../from")  , toArray  = require("../to-array")  , contains = require("./contains")  , byLength = require("./_compare-by-length")  , filter   = Array.prototype.filter  , push     = Array.prototype.push;module.exports = function (/* …lists*/) {	var lists, seen, result;	if (!arguments.length) return aFrom(this);	push.apply(lists = [this], arguments);	lists.forEach(value);	seen = [];	result = [];	lists.sort(byLength).forEach(function (list) {		result = result			.filter(function (item) {				return !contains.call(list, item);			})			.concat(				filter.call(list, function (item) {					return !contains.call(seen, item);				})			);		push.apply(seen, toArray(list));	});	return result;};
 |