{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./core/src/files/iedavclient.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/underscore/modules/index.js","webpack:///./node_modules/underscore/modules/index-default.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","dav","Client","_","extend","request","method","url","headers","body","ii","self","this","xhr","xhrProvider","userName","Authorization","btoa","password","open","resolveUrl","setRequestHeader","undefined","send","Promise","fulfill","reject","onreadystatechange","readyState","resultBody","response","status","parseMultiStatus","responseXML","ontimeout","Error","_getElementsByTagName","node","resolver","parts","split","tagName","namespace","DOMParser","parseFromString","getElementsByTagNameNS","getElementsByTagName","doc","result","foo","xmlNamespaces","responses","length","responseNode","href","propStat","hrefNode","textContent","text","propStatNodes","j","propStatNode","statusNode","properties","propNode","k","childNodes","prop","_parsePropNode","namespaceURI","localName","baseName","push","g","Function","e","window","root","global","ArrayProto","Array","ObjProto","SymbolProto","slice","toString","nativeIsArray","isArray","nativeKeys","keys","nativeCreate","_isNaN","isNaN","_isFinite","isFinite","Ctor","obj","_wrapped","VERSION","optimizeCb","func","context","argCount","index","collection","accumulator","apply","arguments","baseIteratee","identity","isFunction","isObject","matcher","iteratee","Infinity","cb","restArguments","startIndex","Math","max","rest","args","baseCreate","shallowProperty","_has","path","deepGet","MAX_ARRAY_INDEX","pow","getLength","isArrayLike","each","_keys","map","results","currentKey","createReduce","dir","reducer","memo","initial","reduce","reduceRight","find","predicate","findIndex","findKey","filter","list","negate","every","some","contains","item","fromIndex","guard","values","indexOf","invoke","contextPath","pluck","where","attrs","findWhere","computed","lastComputed","v","min","shuffle","sample","random","clone","last","rand","temp","sortBy","criteria","sort","left","right","a","b","group","behavior","partition","groupBy","indexBy","countBy","reStrSymbol","toArray","isString","match","size","pass","first","array","compact","Boolean","_flatten","input","shallow","strict","output","idx","isArguments","len","flatten","without","otherArrays","difference","uniq","isSorted","isBoolean","seen","union","arrays","intersection","argsLength","unzip","zip","createPredicateIndexFinder","findLastIndex","sortedIndex","low","high","mid","floor","createIndexFinder","predicateFind","lastIndexOf","range","start","stop","step","ceil","chunk","count","executeBound","sourceFunc","boundFunc","callingContext","TypeError","bound","callArgs","concat","partial","boundArgs","placeholder","position","bindAll","memoize","hasher","cache","address","delay","wait","setTimeout","defer","throttle","options","timeout","previous","later","leading","now","throttled","_now","remaining","clearTimeout","trailing","cancel","debounce","immediate","debounced","callNow","wrap","wrapper","compose","after","times","before","once","hasEnumBug","propertyIsEnumerable","nonEnumerableProps","collectNonEnumProps","nonEnumIdx","constructor","proto","allKeys","mapObject","pairs","invert","functions","names","createAssigner","keysFunc","defaults","source","extendOwn","keyInObj","pick","omit","String","props","tap","interceptor","isMatch","eq","aStack","bStack","type","className","valueOf","areArrays","aCtor","bCtor","pop","deepEq","isEqual","isEmpty","isElement","nodeType","tagTester","isNumber","isDate","isRegExp","isError","isSymbol","isMap","isWeakMap","isSet","isWeakSet","nodelist","document","parseFloat","isNull","isUndefined","has","constant","noop","propertyOf","accum","Int8Array","Date","getTime","escapeMap","unescapeMap","createEscaper","escaper","join","testRegexp","RegExp","replaceRegexp","string","test","replace","escape","unescape","fallback","idCounter","uniqueId","prefix","id","templateSettings","evaluate","interpolate","noMatch","escapes","escapeRegExp","escapeChar","template","settings","oldSettings","render","offset","variable","data","argument","chain","instance","_chain","chainResult","mixin","toJSON"],"mappings":"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","file":"files_iedavclient.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 1075);\n","/* eslint-disable */\n/*\n * Copyright (c) 2015\n *\n * This file is licensed under the Affero General Public License version 3\n * or later.\n *\n * See the COPYING-README file.\n *\n */\n\n/* global dav */\n(function(dav) {\n\n\t/**\n\t * Override davclient.js methods with IE-compatible logic\n\t */\n\tdav.Client.prototype = _.extend({}, dav.Client.prototype, {\n\n\t\t/**\n\t\t * Performs a HTTP request, and returns a Promise\n\t\t *\n\t\t * @param {string} method HTTP method\n\t\t * @param {string} url Relative or absolute url\n\t\t * @param {Object} headers HTTP headers as an object.\n\t\t * @param {string} body HTTP request body.\n\t\t * @returns {Promise}\n\t\t */\n\t\trequest: function(method, url, headers, body) {\n\n\t\t\tconst self = this\n\t\t\tconst xhr = this.xhrProvider()\n\t\t\theaders = headers || {}\n\n\t\t\tif (this.userName) {\n\t\t\t\theaders.Authorization = 'Basic ' + btoa(this.userName + ':' + this.password)\n\t\t\t\t// xhr.open(method, this.resolveUrl(url), true, this.userName, this.password);\n\t\t\t}\n\t\t\txhr.open(method, this.resolveUrl(url), true)\n\t\t\tlet ii\n\t\t\tfor (ii in headers) {\n\t\t\t\txhr.setRequestHeader(ii, headers[ii])\n\t\t\t}\n\n\t\t\tif (body === undefined) {\n\t\t\t\txhr.send()\n\t\t\t} else {\n\t\t\t\txhr.send(body)\n\t\t\t}\n\n\t\t\treturn new Promise(function(fulfill, reject) {\n\n\t\t\t\txhr.onreadystatechange = function() {\n\n\t\t\t\t\tif (xhr.readyState !== 4) {\n\t\t\t\t\t\treturn\n\t\t\t\t\t}\n\n\t\t\t\t\tlet resultBody = xhr.response\n\t\t\t\t\tif (xhr.status === 207) {\n\t\t\t\t\t\tresultBody = self.parseMultiStatus(xhr.responseXML)\n\t\t\t\t\t}\n\n\t\t\t\t\tfulfill({\n\t\t\t\t\t\tbody: resultBody,\n\t\t\t\t\t\tstatus: xhr.status,\n\t\t\t\t\t\txhr: xhr,\n\t\t\t\t\t})\n\n\t\t\t\t}\n\n\t\t\t\txhr.ontimeout = function() {\n\n\t\t\t\t\treject(new Error('Timeout exceeded'))\n\n\t\t\t\t}\n\n\t\t\t})\n\n\t\t},\n\n\t\t_getElementsByTagName: function(node, name, resolver) {\n\t\t\tconst parts = name.split(':')\n\t\t\tconst tagName = parts[1]\n\t\t\tconst namespace = resolver(parts[0])\n\t\t\t// make sure we can get elements\n\t\t\tif (typeof node === 'string') {\n\t\t\t\tconst parser = new DOMParser()\n\t\t\t\tnode = parser.parseFromString(node, 'text/xml')\n\t\t\t}\n\t\t\tif (node.getElementsByTagNameNS) {\n\t\t\t\treturn node.getElementsByTagNameNS(namespace, tagName)\n\t\t\t}\n\t\t\treturn node.getElementsByTagName(name)\n\t\t},\n\n\t\t/**\n\t\t * Parses a multi-status response body.\n\t\t *\n\t\t * @param {string} xmlBody\n\t\t * @param {Array}\n\t\t */\n\t\tparseMultiStatus: function(doc) {\n\t\t\tconst result = []\n\t\t\tconst resolver = function(foo) {\n\t\t\t\tlet ii\n\t\t\t\tfor (ii in this.xmlNamespaces) {\n\t\t\t\t\tif (this.xmlNamespaces[ii] === foo) {\n\t\t\t\t\t\treturn ii\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}.bind(this)\n\n\t\t\tconst responses = this._getElementsByTagName(doc, 'd:response', resolver)\n\t\t\tlet i\n\t\t\tfor (i = 0; i < responses.length; i++) {\n\t\t\t\tconst responseNode = responses[i]\n\t\t\t\tconst response = {\n\t\t\t\t\thref: null,\n\t\t\t\t\tpropStat: [],\n\t\t\t\t}\n\n\t\t\t\tconst hrefNode = this._getElementsByTagName(responseNode, 'd:href', resolver)[0]\n\n\t\t\t\tresponse.href = hrefNode.textContent || hrefNode.text\n\n\t\t\t\tconst propStatNodes = this._getElementsByTagName(responseNode, 'd:propstat', resolver)\n\t\t\t\tlet j = 0\n\n\t\t\t\tfor (j = 0; j < propStatNodes.length; j++) {\n\t\t\t\t\tconst propStatNode = propStatNodes[j]\n\t\t\t\t\tconst statusNode = this._getElementsByTagName(propStatNode, 'd:status', resolver)[0]\n\n\t\t\t\t\tconst propStat = {\n\t\t\t\t\t\tstatus: statusNode.textContent || statusNode.text,\n\t\t\t\t\t\tproperties: [],\n\t\t\t\t\t}\n\n\t\t\t\t\tconst propNode = this._getElementsByTagName(propStatNode, 'd:prop', resolver)[0]\n\t\t\t\t\tif (!propNode) {\n\t\t\t\t\t\tcontinue\n\t\t\t\t\t}\n\t\t\t\t\tlet k = 0\n\t\t\t\t\tfor (k = 0; k < propNode.childNodes.length; k++) {\n\t\t\t\t\t\tconst prop = propNode.childNodes[k]\n\t\t\t\t\t\tconst value = this._parsePropNode(prop)\n\t\t\t\t\t\tpropStat.properties['{' + prop.namespaceURI + '}' + (prop.localName || prop.baseName)] = value\n\n\t\t\t\t\t}\n\t\t\t\t\tresponse.propStat.push(propStat)\n\t\t\t\t}\n\n\t\t\t\tresult.push(response)\n\t\t\t}\n\n\t\t\treturn result\n\n\t\t},\n\n\t})\n\n})(dav)\n\n\n/*** EXPORTS FROM exports-loader ***/\nmodule.exports = dav;","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","// Underscore.js 1.10.2\n// https://underscorejs.org\n// (c) 2009-2020 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n// Underscore may be freely distributed under the MIT license.\n\n// Baseline setup\n// --------------\n\n// Establish the root object, `window` (`self`) in the browser, `global`\n// on the server, or `this` in some virtual machines. We use `self`\n// instead of `window` for `WebWorker` support.\nvar root = typeof self == 'object' && self.self === self && self ||\n typeof global == 'object' && global.global === global && global ||\n Function('return this')() ||\n {};\n\n// Save bytes in the minified (but not gzipped) version:\nvar ArrayProto = Array.prototype, ObjProto = Object.prototype;\nvar SymbolProto = typeof Symbol !== 'undefined' ? Symbol.prototype : null;\n\n// Create quick reference variables for speed access to core prototypes.\nvar push = ArrayProto.push,\n slice = ArrayProto.slice,\n toString = ObjProto.toString,\n hasOwnProperty = ObjProto.hasOwnProperty;\n\n// All **ECMAScript 5** native function implementations that we hope to use\n// are declared here.\nvar nativeIsArray = Array.isArray,\n nativeKeys = Object.keys,\n nativeCreate = Object.create;\n\n// Create references to these builtin functions because we override them.\nvar _isNaN = root.isNaN,\n _isFinite = root.isFinite;\n\n// Naked function reference for surrogate-prototype-swapping.\nvar Ctor = function(){};\n\n// The Underscore object. All exported functions below are added to it in the\n// modules/index-all.js using the mixin function.\nexport default function _(obj) {\n if (obj instanceof _) return obj;\n if (!(this instanceof _)) return new _(obj);\n this._wrapped = obj;\n}\n\n// Current version.\nexport var VERSION = _.VERSION = '1.10.2';\n\n// Internal function that returns an efficient (for current engines) version\n// of the passed-in callback, to be repeatedly applied in other Underscore\n// functions.\nfunction optimizeCb(func, context, argCount) {\n if (context === void 0) return func;\n switch (argCount == null ? 3 : argCount) {\n case 1: return function(value) {\n return func.call(context, value);\n };\n // The 2-argument case is omitted because we’re not using it.\n case 3: return function(value, index, collection) {\n return func.call(context, value, index, collection);\n };\n case 4: return function(accumulator, value, index, collection) {\n return func.call(context, accumulator, value, index, collection);\n };\n }\n return function() {\n return func.apply(context, arguments);\n };\n}\n\n// An internal function to generate callbacks that can be applied to each\n// element in a collection, returning the desired result — either `identity`,\n// an arbitrary callback, a property matcher, or a property accessor.\nfunction baseIteratee(value, context, argCount) {\n if (value == null) return identity;\n if (isFunction(value)) return optimizeCb(value, context, argCount);\n if (isObject(value) && !isArray(value)) return matcher(value);\n return property(value);\n}\n\n// External wrapper for our callback generator. Users may customize\n// `_.iteratee` if they want additional predicate/iteratee shorthand styles.\n// This abstraction hides the internal-only argCount argument.\n_.iteratee = iteratee;\nexport function iteratee(value, context) {\n return baseIteratee(value, context, Infinity);\n}\n\n// The function we actually call internally. It invokes _.iteratee if\n// overridden, otherwise baseIteratee.\nfunction cb(value, context, argCount) {\n if (_.iteratee !== iteratee) return _.iteratee(value, context);\n return baseIteratee(value, context, argCount);\n}\n\n// Some functions take a variable number of arguments, or a few expected\n// arguments at the beginning and then a variable number of values to operate\n// on. This helper accumulates all remaining arguments past the function’s\n// argument length (or an explicit `startIndex`), into an array that becomes\n// the last argument. Similar to ES6’s \"rest parameter\".\nexport function restArguments(func, startIndex) {\n startIndex = startIndex == null ? func.length - 1 : +startIndex;\n return function() {\n var length = Math.max(arguments.length - startIndex, 0),\n rest = Array(length),\n index = 0;\n for (; index < length; index++) {\n rest[index] = arguments[index + startIndex];\n }\n switch (startIndex) {\n case 0: return func.call(this, rest);\n case 1: return func.call(this, arguments[0], rest);\n case 2: return func.call(this, arguments[0], arguments[1], rest);\n }\n var args = Array(startIndex + 1);\n for (index = 0; index < startIndex; index++) {\n args[index] = arguments[index];\n }\n args[startIndex] = rest;\n return func.apply(this, args);\n };\n}\n\n// An internal function for creating a new object that inherits from another.\nfunction baseCreate(prototype) {\n if (!isObject(prototype)) return {};\n if (nativeCreate) return nativeCreate(prototype);\n Ctor.prototype = prototype;\n var result = new Ctor;\n Ctor.prototype = null;\n return result;\n}\n\nfunction shallowProperty(key) {\n return function(obj) {\n return obj == null ? void 0 : obj[key];\n };\n}\n\nfunction _has(obj, path) {\n return obj != null && hasOwnProperty.call(obj, path);\n}\n\nfunction deepGet(obj, path) {\n var length = path.length;\n for (var i = 0; i < length; i++) {\n if (obj == null) return void 0;\n obj = obj[path[i]];\n }\n return length ? obj : void 0;\n}\n\n// Helper for collection methods to determine whether a collection\n// should be iterated as an array or as an object.\n// Related: https://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength\n// Avoids a very nasty iOS 8 JIT bug on ARM-64. #2094\nvar MAX_ARRAY_INDEX = Math.pow(2, 53) - 1;\nvar getLength = shallowProperty('length');\nfunction isArrayLike(collection) {\n var length = getLength(collection);\n return typeof length == 'number' && length >= 0 && length <= MAX_ARRAY_INDEX;\n}\n\n// Collection Functions\n// --------------------\n\n// The cornerstone, an `each` implementation, aka `forEach`.\n// Handles raw objects in addition to array-likes. Treats all\n// sparse array-likes as if they were dense.\nexport function each(obj, iteratee, context) {\n iteratee = optimizeCb(iteratee, context);\n var i, length;\n if (isArrayLike(obj)) {\n for (i = 0, length = obj.length; i < length; i++) {\n iteratee(obj[i], i, obj);\n }\n } else {\n var _keys = keys(obj);\n for (i = 0, length = _keys.length; i < length; i++) {\n iteratee(obj[_keys[i]], _keys[i], obj);\n }\n }\n return obj;\n}\nexport { each as forEach };\n\n// Return the results of applying the iteratee to each element.\nexport function map(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n results = Array(length);\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n results[index] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\nexport { map as collect };\n\n// Create a reducing function iterating left or right.\nfunction createReduce(dir) {\n // Wrap code that reassigns argument variables in a separate function than\n // the one that accesses `arguments.length` to avoid a perf hit. (#1991)\n var reducer = function(obj, iteratee, memo, initial) {\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length,\n index = dir > 0 ? 0 : length - 1;\n if (!initial) {\n memo = obj[_keys ? _keys[index] : index];\n index += dir;\n }\n for (; index >= 0 && index < length; index += dir) {\n var currentKey = _keys ? _keys[index] : index;\n memo = iteratee(memo, obj[currentKey], currentKey, obj);\n }\n return memo;\n };\n\n return function(obj, iteratee, memo, context) {\n var initial = arguments.length >= 3;\n return reducer(obj, optimizeCb(iteratee, context, 4), memo, initial);\n };\n}\n\n// **Reduce** builds up a single result from a list of values, aka `inject`,\n// or `foldl`.\nexport var reduce = createReduce(1);\nexport { reduce as foldl, reduce as inject };\n\n// The right-associative version of reduce, also known as `foldr`.\nexport var reduceRight = createReduce(-1);\nexport { reduceRight as foldr };\n\n// Return the first value which passes a truth test.\nexport function find(obj, predicate, context) {\n var keyFinder = isArrayLike(obj) ? findIndex : findKey;\n var key = keyFinder(obj, predicate, context);\n if (key !== void 0 && key !== -1) return obj[key];\n}\nexport { find as detect };\n\n// Return all the elements that pass a truth test.\nexport function filter(obj, predicate, context) {\n var results = [];\n predicate = cb(predicate, context);\n each(obj, function(value, index, list) {\n if (predicate(value, index, list)) results.push(value);\n });\n return results;\n}\nexport { filter as select };\n\n// Return all the elements for which a truth test fails.\nexport function reject(obj, predicate, context) {\n return filter(obj, negate(cb(predicate)), context);\n}\n\n// Determine whether all of the elements match a truth test.\nexport function every(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (!predicate(obj[currentKey], currentKey, obj)) return false;\n }\n return true;\n}\nexport { every as all };\n\n// Determine if at least one element in the object matches a truth test.\nexport function some(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = !isArrayLike(obj) && keys(obj),\n length = (_keys || obj).length;\n for (var index = 0; index < length; index++) {\n var currentKey = _keys ? _keys[index] : index;\n if (predicate(obj[currentKey], currentKey, obj)) return true;\n }\n return false;\n}\nexport { some as any };\n\n// Determine if the array or object contains a given item (using `===`).\nexport function contains(obj, item, fromIndex, guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n if (typeof fromIndex != 'number' || guard) fromIndex = 0;\n return indexOf(obj, item, fromIndex) >= 0;\n}\nexport { contains as includes, contains as include };\n\n// Invoke a method (with arguments) on every item in a collection.\nexport var invoke = restArguments(function(obj, path, args) {\n var contextPath, func;\n if (isFunction(path)) {\n func = path;\n } else if (isArray(path)) {\n contextPath = path.slice(0, -1);\n path = path[path.length - 1];\n }\n return map(obj, function(context) {\n var method = func;\n if (!method) {\n if (contextPath && contextPath.length) {\n context = deepGet(context, contextPath);\n }\n if (context == null) return void 0;\n method = context[path];\n }\n return method == null ? method : method.apply(context, args);\n });\n});\n\n// Convenience version of a common use case of `map`: fetching a property.\nexport function pluck(obj, key) {\n return map(obj, property(key));\n}\n\n// Convenience version of a common use case of `filter`: selecting only objects\n// containing specific `key:value` pairs.\nexport function where(obj, attrs) {\n return filter(obj, matcher(attrs));\n}\n\n// Convenience version of a common use case of `find`: getting the first object\n// containing specific `key:value` pairs.\nexport function findWhere(obj, attrs) {\n return find(obj, matcher(attrs));\n}\n\n// Return the maximum element (or element-based computation).\nexport function max(obj, iteratee, context) {\n var result = -Infinity, lastComputed = -Infinity,\n value, computed;\n if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value > result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed > lastComputed || computed === -Infinity && result === -Infinity) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n}\n\n// Return the minimum element (or element-based computation).\nexport function min(obj, iteratee, context) {\n var result = Infinity, lastComputed = Infinity,\n value, computed;\n if (iteratee == null || typeof iteratee == 'number' && typeof obj[0] != 'object' && obj != null) {\n obj = isArrayLike(obj) ? obj : values(obj);\n for (var i = 0, length = obj.length; i < length; i++) {\n value = obj[i];\n if (value != null && value < result) {\n result = value;\n }\n }\n } else {\n iteratee = cb(iteratee, context);\n each(obj, function(v, index, list) {\n computed = iteratee(v, index, list);\n if (computed < lastComputed || computed === Infinity && result === Infinity) {\n result = v;\n lastComputed = computed;\n }\n });\n }\n return result;\n}\n\n// Shuffle a collection.\nexport function shuffle(obj) {\n return sample(obj, Infinity);\n}\n\n// Sample **n** random values from a collection using the modern version of the\n// [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher–Yates_shuffle).\n// If **n** is not specified, returns a single random element.\n// The internal `guard` argument allows it to work with `map`.\nexport function sample(obj, n, guard) {\n if (n == null || guard) {\n if (!isArrayLike(obj)) obj = values(obj);\n return obj[random(obj.length - 1)];\n }\n var sample = isArrayLike(obj) ? clone(obj) : values(obj);\n var length = getLength(sample);\n n = Math.max(Math.min(n, length), 0);\n var last = length - 1;\n for (var index = 0; index < n; index++) {\n var rand = random(index, last);\n var temp = sample[index];\n sample[index] = sample[rand];\n sample[rand] = temp;\n }\n return sample.slice(0, n);\n}\n\n// Sort the object's values by a criterion produced by an iteratee.\nexport function sortBy(obj, iteratee, context) {\n var index = 0;\n iteratee = cb(iteratee, context);\n return pluck(map(obj, function(value, key, list) {\n return {\n value: value,\n index: index++,\n criteria: iteratee(value, key, list)\n };\n }).sort(function(left, right) {\n var a = left.criteria;\n var b = right.criteria;\n if (a !== b) {\n if (a > b || a === void 0) return 1;\n if (a < b || b === void 0) return -1;\n }\n return left.index - right.index;\n }), 'value');\n}\n\n// An internal function used for aggregate \"group by\" operations.\nfunction group(behavior, partition) {\n return function(obj, iteratee, context) {\n var result = partition ? [[], []] : {};\n iteratee = cb(iteratee, context);\n each(obj, function(value, index) {\n var key = iteratee(value, index, obj);\n behavior(result, value, key);\n });\n return result;\n };\n}\n\n// Groups the object's values by a criterion. Pass either a string attribute\n// to group by, or a function that returns the criterion.\nexport var groupBy = group(function(result, value, key) {\n if (_has(result, key)) result[key].push(value); else result[key] = [value];\n});\n\n// Indexes the object's values by a criterion, similar to `groupBy`, but for\n// when you know that your index values will be unique.\nexport var indexBy = group(function(result, value, key) {\n result[key] = value;\n});\n\n// Counts instances of an object that group by a certain criterion. Pass\n// either a string attribute to count by, or a function that returns the\n// criterion.\nexport var countBy = group(function(result, value, key) {\n if (_has(result, key)) result[key]++; else result[key] = 1;\n});\n\nvar reStrSymbol = /[^\\ud800-\\udfff]|[\\ud800-\\udbff][\\udc00-\\udfff]|[\\ud800-\\udfff]/g;\n// Safely create a real, live array from anything iterable.\nexport function toArray(obj) {\n if (!obj) return [];\n if (isArray(obj)) return slice.call(obj);\n if (isString(obj)) {\n // Keep surrogate pair characters together\n return obj.match(reStrSymbol);\n }\n if (isArrayLike(obj)) return map(obj, identity);\n return values(obj);\n}\n\n// Return the number of elements in an object.\nexport function size(obj) {\n if (obj == null) return 0;\n return isArrayLike(obj) ? obj.length : keys(obj).length;\n}\n\n// Split a collection into two arrays: one whose elements all satisfy the given\n// predicate, and one whose elements all do not satisfy the predicate.\nexport var partition = group(function(result, value, pass) {\n result[pass ? 0 : 1].push(value);\n}, true);\n\n// Array Functions\n// ---------------\n\n// Get the first element of an array. Passing **n** will return the first N\n// values in the array. The **guard** check allows it to work with `map`.\nexport function first(array, n, guard) {\n if (array == null || array.length < 1) return n == null ? void 0 : [];\n if (n == null || guard) return array[0];\n return initial(array, array.length - n);\n}\nexport { first as head, first as take };\n\n// Returns everything but the last entry of the array. Especially useful on\n// the arguments object. Passing **n** will return all the values in\n// the array, excluding the last N.\nexport function initial(array, n, guard) {\n return slice.call(array, 0, Math.max(0, array.length - (n == null || guard ? 1 : n)));\n}\n\n// Get the last element of an array. Passing **n** will return the last N\n// values in the array.\nexport function last(array, n, guard) {\n if (array == null || array.length < 1) return n == null ? void 0 : [];\n if (n == null || guard) return array[array.length - 1];\n return rest(array, Math.max(0, array.length - n));\n}\n\n// Returns everything but the first entry of the array. Especially useful on\n// the arguments object. Passing an **n** will return the rest N values in the\n// array.\nexport function rest(array, n, guard) {\n return slice.call(array, n == null || guard ? 1 : n);\n}\nexport { rest as tail, rest as drop };\n\n// Trim out all falsy values from an array.\nexport function compact(array) {\n return filter(array, Boolean);\n}\n\n// Internal implementation of a recursive `flatten` function.\nfunction _flatten(input, shallow, strict, output) {\n output = output || [];\n var idx = output.length;\n for (var i = 0, length = getLength(input); i < length; i++) {\n var value = input[i];\n if (isArrayLike(value) && (isArray(value) || isArguments(value))) {\n // Flatten current level of array or arguments object.\n if (shallow) {\n var j = 0, len = value.length;\n while (j < len) output[idx++] = value[j++];\n } else {\n _flatten(value, shallow, strict, output);\n idx = output.length;\n }\n } else if (!strict) {\n output[idx++] = value;\n }\n }\n return output;\n}\n\n// Flatten out an array, either recursively (by default), or just one level.\nexport function flatten(array, shallow) {\n return _flatten(array, shallow, false);\n}\n\n// Return a version of the array that does not contain the specified value(s).\nexport var without = restArguments(function(array, otherArrays) {\n return difference(array, otherArrays);\n});\n\n// Produce a duplicate-free version of the array. If the array has already\n// been sorted, you have the option of using a faster algorithm.\n// The faster algorithm will not work with an iteratee if the iteratee\n// is not a one-to-one function, so providing an iteratee will disable\n// the faster algorithm.\nexport function uniq(array, isSorted, iteratee, context) {\n if (!isBoolean(isSorted)) {\n context = iteratee;\n iteratee = isSorted;\n isSorted = false;\n }\n if (iteratee != null) iteratee = cb(iteratee, context);\n var result = [];\n var seen = [];\n for (var i = 0, length = getLength(array); i < length; i++) {\n var value = array[i],\n computed = iteratee ? iteratee(value, i, array) : value;\n if (isSorted && !iteratee) {\n if (!i || seen !== computed) result.push(value);\n seen = computed;\n } else if (iteratee) {\n if (!contains(seen, computed)) {\n seen.push(computed);\n result.push(value);\n }\n } else if (!contains(result, value)) {\n result.push(value);\n }\n }\n return result;\n}\nexport { uniq as unique };\n\n// Produce an array that contains the union: each distinct element from all of\n// the passed-in arrays.\nexport var union = restArguments(function(arrays) {\n return uniq(_flatten(arrays, true, true));\n});\n\n// Produce an array that contains every item shared between all the\n// passed-in arrays.\nexport function intersection(array) {\n var result = [];\n var argsLength = arguments.length;\n for (var i = 0, length = getLength(array); i < length; i++) {\n var item = array[i];\n if (contains(result, item)) continue;\n var j;\n for (j = 1; j < argsLength; j++) {\n if (!contains(arguments[j], item)) break;\n }\n if (j === argsLength) result.push(item);\n }\n return result;\n}\n\n// Take the difference between one array and a number of other arrays.\n// Only the elements present in just the first array will remain.\nexport var difference = restArguments(function(array, rest) {\n rest = _flatten(rest, true, true);\n return filter(array, function(value){\n return !contains(rest, value);\n });\n});\n\n// Complement of zip. Unzip accepts an array of arrays and groups\n// each array's elements on shared indices.\nexport function unzip(array) {\n var length = array && max(array, getLength).length || 0;\n var result = Array(length);\n\n for (var index = 0; index < length; index++) {\n result[index] = pluck(array, index);\n }\n return result;\n}\n\n// Zip together multiple lists into a single array -- elements that share\n// an index go together.\nexport var zip = restArguments(unzip);\n\n// Converts lists into objects. Pass either a single array of `[key, value]`\n// pairs, or two parallel arrays of the same length -- one of keys, and one of\n// the corresponding values. Passing by pairs is the reverse of pairs.\nexport function object(list, values) {\n var result = {};\n for (var i = 0, length = getLength(list); i < length; i++) {\n if (values) {\n result[list[i]] = values[i];\n } else {\n result[list[i][0]] = list[i][1];\n }\n }\n return result;\n}\n\n// Generator function to create the findIndex and findLastIndex functions.\nfunction createPredicateIndexFinder(dir) {\n return function(array, predicate, context) {\n predicate = cb(predicate, context);\n var length = getLength(array);\n var index = dir > 0 ? 0 : length - 1;\n for (; index >= 0 && index < length; index += dir) {\n if (predicate(array[index], index, array)) return index;\n }\n return -1;\n };\n}\n\n// Returns the first index on an array-like that passes a predicate test.\nexport var findIndex = createPredicateIndexFinder(1);\nexport var findLastIndex = createPredicateIndexFinder(-1);\n\n// Use a comparator function to figure out the smallest index at which\n// an object should be inserted so as to maintain order. Uses binary search.\nexport function sortedIndex(array, obj, iteratee, context) {\n iteratee = cb(iteratee, context, 1);\n var value = iteratee(obj);\n var low = 0, high = getLength(array);\n while (low < high) {\n var mid = Math.floor((low + high) / 2);\n if (iteratee(array[mid]) < value) low = mid + 1; else high = mid;\n }\n return low;\n}\n\n// Generator function to create the indexOf and lastIndexOf functions.\nfunction createIndexFinder(dir, predicateFind, sortedIndex) {\n return function(array, item, idx) {\n var i = 0, length = getLength(array);\n if (typeof idx == 'number') {\n if (dir > 0) {\n i = idx >= 0 ? idx : Math.max(idx + length, i);\n } else {\n length = idx >= 0 ? Math.min(idx + 1, length) : idx + length + 1;\n }\n } else if (sortedIndex && idx && length) {\n idx = sortedIndex(array, item);\n return array[idx] === item ? idx : -1;\n }\n if (item !== item) {\n idx = predicateFind(slice.call(array, i, length), isNaN);\n return idx >= 0 ? idx + i : -1;\n }\n for (idx = dir > 0 ? i : length - 1; idx >= 0 && idx < length; idx += dir) {\n if (array[idx] === item) return idx;\n }\n return -1;\n };\n}\n\n// Return the position of the first occurrence of an item in an array,\n// or -1 if the item is not included in the array.\n// If the array is large and already in sort order, pass `true`\n// for **isSorted** to use binary search.\nexport var indexOf = createIndexFinder(1, findIndex, sortedIndex);\nexport var lastIndexOf = createIndexFinder(-1, findLastIndex);\n\n// Generate an integer Array containing an arithmetic progression. A port of\n// the native Python `range()` function. See\n// [the Python documentation](https://docs.python.org/library/functions.html#range).\nexport function range(start, stop, step) {\n if (stop == null) {\n stop = start || 0;\n start = 0;\n }\n if (!step) {\n step = stop < start ? -1 : 1;\n }\n\n var length = Math.max(Math.ceil((stop - start) / step), 0);\n var range = Array(length);\n\n for (var idx = 0; idx < length; idx++, start += step) {\n range[idx] = start;\n }\n\n return range;\n}\n\n// Chunk a single array into multiple arrays, each containing `count` or fewer\n// items.\nexport function chunk(array, count) {\n if (count == null || count < 1) return [];\n var result = [];\n var i = 0, length = array.length;\n while (i < length) {\n result.push(slice.call(array, i, i += count));\n }\n return result;\n}\n\n// Function (ahem) Functions\n// ------------------\n\n// Determines whether to execute a function as a constructor\n// or a normal function with the provided arguments.\nfunction executeBound(sourceFunc, boundFunc, context, callingContext, args) {\n if (!(callingContext instanceof boundFunc)) return sourceFunc.apply(context, args);\n var self = baseCreate(sourceFunc.prototype);\n var result = sourceFunc.apply(self, args);\n if (isObject(result)) return result;\n return self;\n}\n\n// Create a function bound to a given object (assigning `this`, and arguments,\n// optionally). Delegates to **ECMAScript 5**'s native `Function.bind` if\n// available.\nexport var bind = restArguments(function(func, context, args) {\n if (!isFunction(func)) throw new TypeError('Bind must be called on a function');\n var bound = restArguments(function(callArgs) {\n return executeBound(func, bound, context, this, args.concat(callArgs));\n });\n return bound;\n});\n\n// Partially apply a function by creating a version that has had some of its\n// arguments pre-filled, without changing its dynamic `this` context. _ acts\n// as a placeholder by default, allowing any combination of arguments to be\n// pre-filled. Set `partial.placeholder` for a custom placeholder argument.\nexport var partial = restArguments(function(func, boundArgs) {\n var placeholder = partial.placeholder;\n var bound = function() {\n var position = 0, length = boundArgs.length;\n var args = Array(length);\n for (var i = 0; i < length; i++) {\n args[i] = boundArgs[i] === placeholder ? arguments[position++] : boundArgs[i];\n }\n while (position < arguments.length) args.push(arguments[position++]);\n return executeBound(func, bound, this, this, args);\n };\n return bound;\n});\n\npartial.placeholder = _;\n\n// Bind a number of an object's methods to that object. Remaining arguments\n// are the method names to be bound. Useful for ensuring that all callbacks\n// defined on an object belong to it.\nexport var bindAll = restArguments(function(obj, _keys) {\n _keys = _flatten(_keys, false, false);\n var index = _keys.length;\n if (index < 1) throw new Error('bindAll must be passed function names');\n while (index--) {\n var key = _keys[index];\n obj[key] = bind(obj[key], obj);\n }\n});\n\n// Memoize an expensive function by storing its results.\nexport function memoize(func, hasher) {\n var memoize = function(key) {\n var cache = memoize.cache;\n var address = '' + (hasher ? hasher.apply(this, arguments) : key);\n if (!_has(cache, address)) cache[address] = func.apply(this, arguments);\n return cache[address];\n };\n memoize.cache = {};\n return memoize;\n}\n\n// Delays a function for the given number of milliseconds, and then calls\n// it with the arguments supplied.\nexport var delay = restArguments(function(func, wait, args) {\n return setTimeout(function() {\n return func.apply(null, args);\n }, wait);\n});\n\n// Defers a function, scheduling it to run after the current call stack has\n// cleared.\nexport var defer = partial(delay, _, 1);\n\n// Returns a function, that, when invoked, will only be triggered at most once\n// during a given window of time. Normally, the throttled function will run\n// as much as it can, without ever going more than once per `wait` duration;\n// but if you'd like to disable the execution on the leading edge, pass\n// `{leading: false}`. To disable execution on the trailing edge, ditto.\nexport function throttle(func, wait, options) {\n var timeout, context, args, result;\n var previous = 0;\n if (!options) options = {};\n\n var later = function() {\n previous = options.leading === false ? 0 : now();\n timeout = null;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n };\n\n var throttled = function() {\n var _now = now();\n if (!previous && options.leading === false) previous = _now;\n var remaining = wait - (_now - previous);\n context = this;\n args = arguments;\n if (remaining <= 0 || remaining > wait) {\n if (timeout) {\n clearTimeout(timeout);\n timeout = null;\n }\n previous = _now;\n result = func.apply(context, args);\n if (!timeout) context = args = null;\n } else if (!timeout && options.trailing !== false) {\n timeout = setTimeout(later, remaining);\n }\n return result;\n };\n\n throttled.cancel = function() {\n clearTimeout(timeout);\n previous = 0;\n timeout = context = args = null;\n };\n\n return throttled;\n}\n\n// Returns a function, that, as long as it continues to be invoked, will not\n// be triggered. The function will be called after it stops being called for\n// N milliseconds. If `immediate` is passed, trigger the function on the\n// leading edge, instead of the trailing.\nexport function debounce(func, wait, immediate) {\n var timeout, result;\n\n var later = function(context, args) {\n timeout = null;\n if (args) result = func.apply(context, args);\n };\n\n var debounced = restArguments(function(args) {\n if (timeout) clearTimeout(timeout);\n if (immediate) {\n var callNow = !timeout;\n timeout = setTimeout(later, wait);\n if (callNow) result = func.apply(this, args);\n } else {\n timeout = delay(later, wait, this, args);\n }\n\n return result;\n });\n\n debounced.cancel = function() {\n clearTimeout(timeout);\n timeout = null;\n };\n\n return debounced;\n}\n\n// Returns the first function passed as an argument to the second,\n// allowing you to adjust arguments, run code before and after, and\n// conditionally execute the original function.\nexport function wrap(func, wrapper) {\n return partial(wrapper, func);\n}\n\n// Returns a negated version of the passed-in predicate.\nexport function negate(predicate) {\n return function() {\n return !predicate.apply(this, arguments);\n };\n}\n\n// Returns a function that is the composition of a list of functions, each\n// consuming the return value of the function that follows.\nexport function compose() {\n var args = arguments;\n var start = args.length - 1;\n return function() {\n var i = start;\n var result = args[start].apply(this, arguments);\n while (i--) result = args[i].call(this, result);\n return result;\n };\n}\n\n// Returns a function that will only be executed on and after the Nth call.\nexport function after(times, func) {\n return function() {\n if (--times < 1) {\n return func.apply(this, arguments);\n }\n };\n}\n\n// Returns a function that will only be executed up to (but not including) the Nth call.\nexport function before(times, func) {\n var memo;\n return function() {\n if (--times > 0) {\n memo = func.apply(this, arguments);\n }\n if (times <= 1) func = null;\n return memo;\n };\n}\n\n// Returns a function that will be executed at most one time, no matter how\n// often you call it. Useful for lazy initialization.\nexport var once = partial(before, 2);\n\n// Object Functions\n// ----------------\n\n// Keys in IE < 9 that won't be iterated by `for key in ...` and thus missed.\nvar hasEnumBug = !{toString: null}.propertyIsEnumerable('toString');\nvar nonEnumerableProps = ['valueOf', 'isPrototypeOf', 'toString',\n 'propertyIsEnumerable', 'hasOwnProperty', 'toLocaleString'];\n\nfunction collectNonEnumProps(obj, _keys) {\n var nonEnumIdx = nonEnumerableProps.length;\n var constructor = obj.constructor;\n var proto = isFunction(constructor) && constructor.prototype || ObjProto;\n\n // Constructor is a special case.\n var prop = 'constructor';\n if (_has(obj, prop) && !contains(_keys, prop)) _keys.push(prop);\n\n while (nonEnumIdx--) {\n prop = nonEnumerableProps[nonEnumIdx];\n if (prop in obj && obj[prop] !== proto[prop] && !contains(_keys, prop)) {\n _keys.push(prop);\n }\n }\n}\n\n// Retrieve the names of an object's own properties.\n// Delegates to **ECMAScript 5**'s native `Object.keys`.\nexport function keys(obj) {\n if (!isObject(obj)) return [];\n if (nativeKeys) return nativeKeys(obj);\n var _keys = [];\n for (var key in obj) if (_has(obj, key)) _keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, _keys);\n return _keys;\n}\n\n// Retrieve all the property names of an object.\nexport function allKeys(obj) {\n if (!isObject(obj)) return [];\n var _keys = [];\n for (var key in obj) _keys.push(key);\n // Ahem, IE < 9.\n if (hasEnumBug) collectNonEnumProps(obj, _keys);\n return _keys;\n}\n\n// Retrieve the values of an object's properties.\nexport function values(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var values = Array(length);\n for (var i = 0; i < length; i++) {\n values[i] = obj[_keys[i]];\n }\n return values;\n}\n\n// Returns the results of applying the iteratee to each element of the object.\n// In contrast to map it returns an object.\nexport function mapObject(obj, iteratee, context) {\n iteratee = cb(iteratee, context);\n var _keys = keys(obj),\n length = _keys.length,\n results = {};\n for (var index = 0; index < length; index++) {\n var currentKey = _keys[index];\n results[currentKey] = iteratee(obj[currentKey], currentKey, obj);\n }\n return results;\n}\n\n// Convert an object into a list of `[key, value]` pairs.\n// The opposite of object.\nexport function pairs(obj) {\n var _keys = keys(obj);\n var length = _keys.length;\n var pairs = Array(length);\n for (var i = 0; i < length; i++) {\n pairs[i] = [_keys[i], obj[_keys[i]]];\n }\n return pairs;\n}\n\n// Invert the keys and values of an object. The values must be serializable.\nexport function invert(obj) {\n var result = {};\n var _keys = keys(obj);\n for (var i = 0, length = _keys.length; i < length; i++) {\n result[obj[_keys[i]]] = _keys[i];\n }\n return result;\n}\n\n// Return a sorted list of the function names available on the object.\nexport function functions(obj) {\n var names = [];\n for (var key in obj) {\n if (isFunction(obj[key])) names.push(key);\n }\n return names.sort();\n}\nexport { functions as methods };\n\n// An internal function for creating assigner functions.\nfunction createAssigner(keysFunc, defaults) {\n return function(obj) {\n var length = arguments.length;\n if (defaults) obj = Object(obj);\n if (length < 2 || obj == null) return obj;\n for (var index = 1; index < length; index++) {\n var source = arguments[index],\n _keys = keysFunc(source),\n l = _keys.length;\n for (var i = 0; i < l; i++) {\n var key = _keys[i];\n if (!defaults || obj[key] === void 0) obj[key] = source[key];\n }\n }\n return obj;\n };\n}\n\n// Extend a given object with all the properties in passed-in object(s).\nexport var extend = createAssigner(allKeys);\n\n// Assigns a given object with all the own properties in the passed-in object(s).\n// (https://developer.mozilla.org/docs/Web/JavaScript/Reference/Global_Objects/Object/assign)\nexport var extendOwn = createAssigner(keys);\nexport { extendOwn as assign };\n\n// Returns the first key on an object that passes a predicate test.\nexport function findKey(obj, predicate, context) {\n predicate = cb(predicate, context);\n var _keys = keys(obj), key;\n for (var i = 0, length = _keys.length; i < length; i++) {\n key = _keys[i];\n if (predicate(obj[key], key, obj)) return key;\n }\n}\n\n// Internal pick helper function to determine if `obj` has key `key`.\nfunction keyInObj(value, key, obj) {\n return key in obj;\n}\n\n// Return a copy of the object only containing the whitelisted properties.\nexport var pick = restArguments(function(obj, _keys) {\n var result = {}, iteratee = _keys[0];\n if (obj == null) return result;\n if (isFunction(iteratee)) {\n if (_keys.length > 1) iteratee = optimizeCb(iteratee, _keys[1]);\n _keys = allKeys(obj);\n } else {\n iteratee = keyInObj;\n _keys = _flatten(_keys, false, false);\n obj = Object(obj);\n }\n for (var i = 0, length = _keys.length; i < length; i++) {\n var key = _keys[i];\n var value = obj[key];\n if (iteratee(value, key, obj)) result[key] = value;\n }\n return result;\n});\n\n// Return a copy of the object without the blacklisted properties.\nexport var omit = restArguments(function(obj, _keys) {\n var iteratee = _keys[0], context;\n if (isFunction(iteratee)) {\n iteratee = negate(iteratee);\n if (_keys.length > 1) context = _keys[1];\n } else {\n _keys = map(_flatten(_keys, false, false), String);\n iteratee = function(value, key) {\n return !contains(_keys, key);\n };\n }\n return pick(obj, iteratee, context);\n});\n\n// Fill in a given object with default properties.\nexport var defaults = createAssigner(allKeys, true);\n\n// Creates an object that inherits from the given prototype object.\n// If additional properties are provided then they will be added to the\n// created object.\nexport function create(prototype, props) {\n var result = baseCreate(prototype);\n if (props) extendOwn(result, props);\n return result;\n}\n\n// Create a (shallow-cloned) duplicate of an object.\nexport function clone(obj) {\n if (!isObject(obj)) return obj;\n return isArray(obj) ? obj.slice() : extend({}, obj);\n}\n\n// Invokes interceptor with the obj, and then returns obj.\n// The primary purpose of this method is to \"tap into\" a method chain, in\n// order to perform operations on intermediate results within the chain.\nexport function tap(obj, interceptor) {\n interceptor(obj);\n return obj;\n}\n\n// Returns whether an object has a given set of `key:value` pairs.\nexport function isMatch(object, attrs) {\n var _keys = keys(attrs), length = _keys.length;\n if (object == null) return !length;\n var obj = Object(object);\n for (var i = 0; i < length; i++) {\n var key = _keys[i];\n if (attrs[key] !== obj[key] || !(key in obj)) return false;\n }\n return true;\n}\n\n\n// Internal recursive comparison function for `isEqual`.\nfunction eq(a, b, aStack, bStack) {\n // Identical objects are equal. `0 === -0`, but they aren't identical.\n // See the [Harmony `egal` proposal](https://wiki.ecmascript.org/doku.php?id=harmony:egal).\n if (a === b) return a !== 0 || 1 / a === 1 / b;\n // `null` or `undefined` only equal to itself (strict comparison).\n if (a == null || b == null) return false;\n // `NaN`s are equivalent, but non-reflexive.\n if (a !== a) return b !== b;\n // Exhaust primitive checks\n var type = typeof a;\n if (type !== 'function' && type !== 'object' && typeof b != 'object') return false;\n return deepEq(a, b, aStack, bStack);\n}\n\n// Internal recursive comparison function for `isEqual`.\nfunction deepEq(a, b, aStack, bStack) {\n // Unwrap any wrapped objects.\n if (a instanceof _) a = a._wrapped;\n if (b instanceof _) b = b._wrapped;\n // Compare `[[Class]]` names.\n var className = toString.call(a);\n if (className !== toString.call(b)) return false;\n switch (className) {\n // Strings, numbers, regular expressions, dates, and booleans are compared by value.\n case '[object RegExp]':\n // RegExps are coerced to strings for comparison (Note: '' + /a/i === '/a/i')\n case '[object String]':\n // Primitives and their corresponding object wrappers are equivalent; thus, `\"5\"` is\n // equivalent to `new String(\"5\")`.\n return '' + a === '' + b;\n case '[object Number]':\n // `NaN`s are equivalent, but non-reflexive.\n // Object(NaN) is equivalent to NaN.\n if (+a !== +a) return +b !== +b;\n // An `egal` comparison is performed for other numeric values.\n return +a === 0 ? 1 / +a === 1 / b : +a === +b;\n case '[object Date]':\n case '[object Boolean]':\n // Coerce dates and booleans to numeric primitive values. Dates are compared by their\n // millisecond representations. Note that invalid dates with millisecond representations\n // of `NaN` are not equivalent.\n return +a === +b;\n case '[object Symbol]':\n return SymbolProto.valueOf.call(a) === SymbolProto.valueOf.call(b);\n }\n\n var areArrays = className === '[object Array]';\n if (!areArrays) {\n if (typeof a != 'object' || typeof b != 'object') return false;\n\n // Objects with different constructors are not equivalent, but `Object`s or `Array`s\n // from different frames are.\n var aCtor = a.constructor, bCtor = b.constructor;\n if (aCtor !== bCtor && !(isFunction(aCtor) && aCtor instanceof aCtor &&\n isFunction(bCtor) && bCtor instanceof bCtor)\n && ('constructor' in a && 'constructor' in b)) {\n return false;\n }\n }\n // Assume equality for cyclic structures. The algorithm for detecting cyclic\n // structures is adapted from ES 5.1 section 15.12.3, abstract operation `JO`.\n\n // Initializing stack of traversed objects.\n // It's done here since we only need them for objects and arrays comparison.\n aStack = aStack || [];\n bStack = bStack || [];\n var length = aStack.length;\n while (length--) {\n // Linear search. Performance is inversely proportional to the number of\n // unique nested structures.\n if (aStack[length] === a) return bStack[length] === b;\n }\n\n // Add the first object to the stack of traversed objects.\n aStack.push(a);\n bStack.push(b);\n\n // Recursively compare objects and arrays.\n if (areArrays) {\n // Compare array lengths to determine if a deep comparison is necessary.\n length = a.length;\n if (length !== b.length) return false;\n // Deep compare the contents, ignoring non-numeric properties.\n while (length--) {\n if (!eq(a[length], b[length], aStack, bStack)) return false;\n }\n } else {\n // Deep compare objects.\n var _keys = keys(a), key;\n length = _keys.length;\n // Ensure that both objects contain the same number of properties before comparing deep equality.\n if (keys(b).length !== length) return false;\n while (length--) {\n // Deep compare each member\n key = _keys[length];\n if (!(_has(b, key) && eq(a[key], b[key], aStack, bStack))) return false;\n }\n }\n // Remove the first object from the stack of traversed objects.\n aStack.pop();\n bStack.pop();\n return true;\n}\n\n// Perform a deep comparison to check if two objects are equal.\nexport function isEqual(a, b) {\n return eq(a, b);\n}\n\n// Is a given array, string, or object empty?\n// An \"empty\" object has no enumerable own-properties.\nexport function isEmpty(obj) {\n if (obj == null) return true;\n if (isArrayLike(obj) && (isArray(obj) || isString(obj) || isArguments(obj))) return obj.length === 0;\n return keys(obj).length === 0;\n}\n\n// Is a given value a DOM element?\nexport function isElement(obj) {\n return !!(obj && obj.nodeType === 1);\n}\n\n// Internal function for creating a toString-based type tester.\nfunction tagTester(name) {\n return function(obj) {\n return toString.call(obj) === '[object ' + name + ']';\n };\n}\n\n// Is a given value an array?\n// Delegates to ECMA5's native Array.isArray\nexport var isArray = nativeIsArray || tagTester('Array');\n\n// Is a given variable an object?\nexport function isObject(obj) {\n var type = typeof obj;\n return type === 'function' || type === 'object' && !!obj;\n}\n\n// Add some isType methods: isArguments, isFunction, isString, isNumber, isDate, isRegExp, isError, isMap, isWeakMap, isSet, isWeakSet.\nexport var isArguments = tagTester('Arguments');\nexport var isFunction = tagTester('Function');\nexport var isString = tagTester('String');\nexport var isNumber = tagTester('Number');\nexport var isDate = tagTester('Date');\nexport var isRegExp = tagTester('RegExp');\nexport var isError = tagTester('Error');\nexport var isSymbol = tagTester('Symbol');\nexport var isMap = tagTester('Map');\nexport var isWeakMap = tagTester('WeakMap');\nexport var isSet = tagTester('Set');\nexport var isWeakSet = tagTester('WeakSet');\n\n// Define a fallback version of the method in browsers (ahem, IE < 9), where\n// there isn't any inspectable \"Arguments\" type.\n(function() {\n if (!isArguments(arguments)) {\n isArguments = function(obj) {\n return _has(obj, 'callee');\n };\n }\n}());\n\n// Optimize `isFunction` if appropriate. Work around some typeof bugs in old v8,\n// IE 11 (#1621), Safari 8 (#1929), and PhantomJS (#2236).\nvar nodelist = root.document && root.document.childNodes;\nif (typeof /./ != 'function' && typeof Int8Array != 'object' && typeof nodelist != 'function') {\n isFunction = function(obj) {\n return typeof obj == 'function' || false;\n };\n}\n\n// Is a given object a finite number?\nexport function isFinite(obj) {\n return !isSymbol(obj) && _isFinite(obj) && !_isNaN(parseFloat(obj));\n}\n\n// Is the given value `NaN`?\nexport function isNaN(obj) {\n return isNumber(obj) && _isNaN(obj);\n}\n\n// Is a given value a boolean?\nexport function isBoolean(obj) {\n return obj === true || obj === false || toString.call(obj) === '[object Boolean]';\n}\n\n// Is a given value equal to null?\nexport function isNull(obj) {\n return obj === null;\n}\n\n// Is a given variable undefined?\nexport function isUndefined(obj) {\n return obj === void 0;\n}\n\n// Shortcut function for checking if an object has a given property directly\n// on itself (in other words, not on a prototype).\nexport function has(obj, path) {\n if (!isArray(path)) {\n return _has(obj, path);\n }\n var length = path.length;\n for (var i = 0; i < length; i++) {\n var key = path[i];\n if (obj == null || !hasOwnProperty.call(obj, key)) {\n return false;\n }\n obj = obj[key];\n }\n return !!length;\n}\n\n// Utility Functions\n// -----------------\n\n// Keep the identity function around for default iteratees.\nexport function identity(value) {\n return value;\n}\n\n// Predicate-generating functions. Often useful outside of Underscore.\nexport function constant(value) {\n return function() {\n return value;\n };\n}\n\nexport function noop(){}\n\n// Creates a function that, when passed an object, will traverse that object’s\n// properties down the given `path`, specified as an array of keys or indexes.\nexport function property(path) {\n if (!isArray(path)) {\n return shallowProperty(path);\n }\n return function(obj) {\n return deepGet(obj, path);\n };\n}\n\n// Generates a function for a given object that returns a given property.\nexport function propertyOf(obj) {\n if (obj == null) {\n return function(){};\n }\n return function(path) {\n return !isArray(path) ? obj[path] : deepGet(obj, path);\n };\n}\n\n// Returns a predicate for checking whether an object has a given set of\n// `key:value` pairs.\nexport function matcher(attrs) {\n attrs = extendOwn({}, attrs);\n return function(obj) {\n return isMatch(obj, attrs);\n };\n}\nexport { matcher as matches };\n\n// Run a function **n** times.\nexport function times(n, iteratee, context) {\n var accum = Array(Math.max(0, n));\n iteratee = optimizeCb(iteratee, context, 1);\n for (var i = 0; i < n; i++) accum[i] = iteratee(i);\n return accum;\n}\n\n// Return a random integer between min and max (inclusive).\nexport function random(min, max) {\n if (max == null) {\n max = min;\n min = 0;\n }\n return min + Math.floor(Math.random() * (max - min + 1));\n}\n\n// A (possibly faster) way to get the current timestamp as an integer.\nexport var now = Date.now || function() {\n return new Date().getTime();\n};\n\n// List of HTML entities for escaping.\nvar escapeMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '`': '`'\n};\nvar unescapeMap = invert(escapeMap);\n\n// Functions for escaping and unescaping strings to/from HTML interpolation.\nfunction createEscaper(map) {\n var escaper = function(match) {\n return map[match];\n };\n // Regexes for identifying a key that needs to be escaped.\n var source = '(?:' + keys(map).join('|') + ')';\n var testRegexp = RegExp(source);\n var replaceRegexp = RegExp(source, 'g');\n return function(string) {\n string = string == null ? '' : '' + string;\n return testRegexp.test(string) ? string.replace(replaceRegexp, escaper) : string;\n };\n}\nexport var escape = createEscaper(escapeMap);\nexport var unescape = createEscaper(unescapeMap);\n\n// Traverses the children of `obj` along `path`. If a child is a function, it\n// is invoked with its parent as context. Returns the value of the final\n// child, or `fallback` if any child is undefined.\nexport function result(obj, path, fallback) {\n if (!isArray(path)) path = [path];\n var length = path.length;\n if (!length) {\n return isFunction(fallback) ? fallback.call(obj) : fallback;\n }\n for (var i = 0; i < length; i++) {\n var prop = obj == null ? void 0 : obj[path[i]];\n if (prop === void 0) {\n prop = fallback;\n i = length; // Ensure we don't continue iterating.\n }\n obj = isFunction(prop) ? prop.call(obj) : prop;\n }\n return obj;\n}\n\n// Generate a unique integer id (unique within the entire client session).\n// Useful for temporary DOM ids.\nvar idCounter = 0;\nexport function uniqueId(prefix) {\n var id = ++idCounter + '';\n return prefix ? prefix + id : id;\n}\n\n// By default, Underscore uses ERB-style template delimiters, change the\n// following template settings to use alternative delimiters.\nexport var templateSettings = _.templateSettings = {\n evaluate: /<%([\\s\\S]+?)%>/g,\n interpolate: /<%=([\\s\\S]+?)%>/g,\n escape: /<%-([\\s\\S]+?)%>/g\n};\n\n// When customizing `templateSettings`, if you don't want to define an\n// interpolation, evaluation or escaping regex, we need one that is\n// guaranteed not to match.\nvar noMatch = /(.)^/;\n\n// Certain characters need to be escaped so that they can be put into a\n// string literal.\nvar escapes = {\n \"'\": \"'\",\n '\\\\': '\\\\',\n '\\r': 'r',\n '\\n': 'n',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n};\n\nvar escapeRegExp = /\\\\|'|\\r|\\n|\\u2028|\\u2029/g;\n\nvar escapeChar = function(match) {\n return '\\\\' + escapes[match];\n};\n\n// JavaScript micro-templating, similar to John Resig's implementation.\n// Underscore templating handles arbitrary delimiters, preserves whitespace,\n// and correctly escapes quotes within interpolated code.\n// NB: `oldSettings` only exists for backwards compatibility.\nexport function template(text, settings, oldSettings) {\n if (!settings && oldSettings) settings = oldSettings;\n settings = defaults({}, settings, _.templateSettings);\n\n // Combine delimiters into one regular expression via alternation.\n var matcher = RegExp([\n (settings.escape || noMatch).source,\n (settings.interpolate || noMatch).source,\n (settings.evaluate || noMatch).source\n ].join('|') + '|$', 'g');\n\n // Compile the template source, escaping string literals appropriately.\n var index = 0;\n var source = \"__p+='\";\n text.replace(matcher, function(match, escape, interpolate, evaluate, offset) {\n source += text.slice(index, offset).replace(escapeRegExp, escapeChar);\n index = offset + match.length;\n\n if (escape) {\n source += \"'+\\n((__t=(\" + escape + \"))==null?'':_.escape(__t))+\\n'\";\n } else if (interpolate) {\n source += \"'+\\n((__t=(\" + interpolate + \"))==null?'':__t)+\\n'\";\n } else if (evaluate) {\n source += \"';\\n\" + evaluate + \"\\n__p+='\";\n }\n\n // Adobe VMs need the match returned to produce the correct offset.\n return match;\n });\n source += \"';\\n\";\n\n // If a variable is not specified, place data values in local scope.\n if (!settings.variable) source = 'with(obj||{}){\\n' + source + '}\\n';\n\n source = \"var __t,__p='',__j=Array.prototype.join,\" +\n \"print=function(){__p+=__j.call(arguments,'');};\\n\" +\n source + 'return __p;\\n';\n\n var render;\n try {\n render = new Function(settings.variable || 'obj', '_', source);\n } catch (e) {\n e.source = source;\n throw e;\n }\n\n var template = function(data) {\n return render.call(this, data, _);\n };\n\n // Provide the compiled source as a convenience for precompilation.\n var argument = settings.variable || 'obj';\n template.source = 'function(' + argument + '){\\n' + source + '}';\n\n return template;\n}\n\n// Add a \"chain\" function. Start chaining a wrapped Underscore object.\nexport function chain(obj) {\n var instance = _(obj);\n instance._chain = true;\n return instance;\n}\n\n// OOP\n// ---------------\n// If Underscore is called as a function, it returns a wrapped object that\n// can be used OO-style. This wrapper holds altered versions of all the\n// underscore functions. Wrapped objects may be chained.\n\n// Helper function to continue chaining intermediate results.\nfunction chainResult(instance, obj) {\n return instance._chain ? _(obj).chain() : obj;\n}\n\n// Add your own custom functions to the Underscore object.\nexport function mixin(obj) {\n each(functions(obj), function(name) {\n var func = _[name] = obj[name];\n _.prototype[name] = function() {\n var args = [this._wrapped];\n push.apply(args, arguments);\n return chainResult(this, func.apply(_, args));\n };\n });\n return _;\n}\n\n// Add all mutator Array functions to the wrapper.\neach(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n var obj = this._wrapped;\n method.apply(obj, arguments);\n if ((name === 'shift' || name === 'splice') && obj.length === 0) delete obj[0];\n return chainResult(this, obj);\n };\n});\n\n// Add all accessor Array functions to the wrapper.\neach(['concat', 'join', 'slice'], function(name) {\n var method = ArrayProto[name];\n _.prototype[name] = function() {\n return chainResult(this, method.apply(this._wrapped, arguments));\n };\n});\n\n// Extracts the result from a wrapped and chained object.\n_.prototype.value = function() {\n return this._wrapped;\n};\n\n// Provide unwrapping proxy for some methods used in engine operations\n// such as arithmetic and JSON stringification.\n_.prototype.valueOf = _.prototype.toJSON = _.prototype.value;\n\n_.prototype.toString = function() {\n return String(this._wrapped);\n};\n","import * as allExports from './index.js';\nimport { mixin } from './index.js';\n\n// Add all of the Underscore functions to the wrapper object.\nvar _ = mixin(allExports);\n// Legacy Node.js API\n_._ = _;\n// Export the Underscore API.\nexport default _;\n"],"sourceRoot":""}