logo

pleroma

My custom branche(s) on git.pleroma.social/pleroma/pleroma

chunk-0620.c765c190.js.map (63567B)


      1 {"version":3,"sources":["webpack:///./node_modules/lodash.debounce/index.js","webpack:///./node_modules/numeral/numeral.js"],"names":["global","FUNC_ERROR_TEXT","NAN","symbolTag","reTrim","reIsBadHex","reIsBinary","reIsOctal","freeParseInt","parseInt","freeGlobal","Object","freeSelf","self","root","Function","objectToString","prototype","toString","nativeMax","Math","max","nativeMin","min","now","Date","isObject","value","type","toNumber","isObjectLike","call","isSymbol","other","valueOf","replace","isBinary","test","slice","module","exports","func","wait","options","lastArgs","lastThis","maxWait","result","timerId","lastCallTime","lastInvokeTime","leading","maxing","trailing","TypeError","invokeFunc","time","args","thisArg","undefined","apply","shouldInvoke","timeSinceLastCall","timerExpired","trailingEdge","setTimeout","remainingWait","debounced","isInvoking","arguments","this","leadingEdge","cancel","clearTimeout","flush","__WEBPACK_AMD_DEFINE_FACTORY__","__WEBPACK_AMD_DEFINE_RESULT__","numeral","_","formats","locales","defaults","currentLocale","zeroFormat","nullFormat","defaultFormat","scalePercentBy100","Numeral","input","number","_input","_value","kind","unformatFunction","regexp","isNumeral","isNaN","length","regexps","unformat","match","stringToNumber","Number","version","obj","numberToFormat","format","roundingFunction","leadingCount","abbrForce","abs","int","precision","signed","thousands","output","locale","negP","optDec","abbr","decimal","neg","includes","indexOf","RegExp","abbreviations","trillion","billion","million","thousand","split","toFixed","delimiters","String","i","string","abbreviation","stringOriginal","currency","symbol","pow","search","insert","subString","start","reduce","array","callback","t","len","k","multiplier","x","parts","correctionFactor","Array","accum","next","mn","maxDecimals","optionals","boundedPrecision","optionalsRegExp","power","splitValue","minDecimals","key","toLowerCase","localeData","Error","reset","property","register","name","validate","val","culture","_decimalSep","_thousandSep","_currSymbol","_valArray","_abbrObj","_thousandRegEx","temp","console","warn","trim","e","substr","fn","clone","inputString","formatFunction","round","set","add","corrFactor","curr","currI","O","subtract","multiply","divide","difference","ordinal","b","space","splice","join","base","suffixes","binary","unformatRegex","concat","filter","item","bytes","suffix","bytesMultiplier","symbols","before","after","toExponential","hours","floor","minutes","seconds","timeArray","__webpack_require__"],"mappings":"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","file":"static/js/chunk-0620.c765c190.js","sourcesContent":["/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar NAN = 0 / 0;\n\n/** `Object#toString` result references. */\nvar symbolTag = '[object Symbol]';\n\n/** Used to match leading and trailing whitespace. */\nvar reTrim = /^\\s+|\\s+$/g;\n\n/** Used to detect bad signed hexadecimal string values. */\nvar reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n/** Used to detect binary string values. */\nvar reIsBinary = /^0b[01]+$/i;\n\n/** Used to detect octal string values. */\nvar reIsOctal = /^0o[0-7]+$/i;\n\n/** Built-in method references without a dependency on `root`. */\nvar freeParseInt = parseInt;\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max,\n    nativeMin = Math.min;\n\n/**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n *   console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\nvar now = function() {\n  return root.Date.now();\n};\n\n/**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n *  Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n *  The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n *  Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n *   'leading': true,\n *   'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\nfunction debounce(func, wait, options) {\n  var lastArgs,\n      lastThis,\n      maxWait,\n      result,\n      timerId,\n      lastCallTime,\n      lastInvokeTime = 0,\n      leading = false,\n      maxing = false,\n      trailing = true;\n\n  if (typeof func != 'function') {\n    throw new TypeError(FUNC_ERROR_TEXT);\n  }\n  wait = toNumber(wait) || 0;\n  if (isObject(options)) {\n    leading = !!options.leading;\n    maxing = 'maxWait' in options;\n    maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n    trailing = 'trailing' in options ? !!options.trailing : trailing;\n  }\n\n  function invokeFunc(time) {\n    var args = lastArgs,\n        thisArg = lastThis;\n\n    lastArgs = lastThis = undefined;\n    lastInvokeTime = time;\n    result = func.apply(thisArg, args);\n    return result;\n  }\n\n  function leadingEdge(time) {\n    // Reset any `maxWait` timer.\n    lastInvokeTime = time;\n    // Start the timer for the trailing edge.\n    timerId = setTimeout(timerExpired, wait);\n    // Invoke the leading edge.\n    return leading ? invokeFunc(time) : result;\n  }\n\n  function remainingWait(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime,\n        result = wait - timeSinceLastCall;\n\n    return maxing ? nativeMin(result, maxWait - timeSinceLastInvoke) : result;\n  }\n\n  function shouldInvoke(time) {\n    var timeSinceLastCall = time - lastCallTime,\n        timeSinceLastInvoke = time - lastInvokeTime;\n\n    // Either this is the first call, activity has stopped and we're at the\n    // trailing edge, the system time has gone backwards and we're treating\n    // it as the trailing edge, or we've hit the `maxWait` limit.\n    return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n      (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n  }\n\n  function timerExpired() {\n    var time = now();\n    if (shouldInvoke(time)) {\n      return trailingEdge(time);\n    }\n    // Restart the timer.\n    timerId = setTimeout(timerExpired, remainingWait(time));\n  }\n\n  function trailingEdge(time) {\n    timerId = undefined;\n\n    // Only invoke if we have `lastArgs` which means `func` has been\n    // debounced at least once.\n    if (trailing && lastArgs) {\n      return invokeFunc(time);\n    }\n    lastArgs = lastThis = undefined;\n    return result;\n  }\n\n  function cancel() {\n    if (timerId !== undefined) {\n      clearTimeout(timerId);\n    }\n    lastInvokeTime = 0;\n    lastArgs = lastCallTime = lastThis = timerId = undefined;\n  }\n\n  function flush() {\n    return timerId === undefined ? result : trailingEdge(now());\n  }\n\n  function debounced() {\n    var time = now(),\n        isInvoking = shouldInvoke(time);\n\n    lastArgs = arguments;\n    lastThis = this;\n    lastCallTime = time;\n\n    if (isInvoking) {\n      if (timerId === undefined) {\n        return leadingEdge(lastCallTime);\n      }\n      if (maxing) {\n        // Handle invocations in a tight loop.\n        timerId = setTimeout(timerExpired, wait);\n        return invokeFunc(lastCallTime);\n      }\n    }\n    if (timerId === undefined) {\n      timerId = setTimeout(timerExpired, wait);\n    }\n    return result;\n  }\n  debounced.cancel = cancel;\n  debounced.flush = flush;\n  return debounced;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n  var type = typeof value;\n  return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n  return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n  return typeof value == 'symbol' ||\n    (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\nfunction toNumber(value) {\n  if (typeof value == 'number') {\n    return value;\n  }\n  if (isSymbol(value)) {\n    return NAN;\n  }\n  if (isObject(value)) {\n    var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n    value = isObject(other) ? (other + '') : other;\n  }\n  if (typeof value != 'string') {\n    return value === 0 ? value : +value;\n  }\n  value = value.replace(reTrim, '');\n  var isBinary = reIsBinary.test(value);\n  return (isBinary || reIsOctal.test(value))\n    ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n    : (reIsBadHex.test(value) ? NAN : +value);\n}\n\nmodule.exports = debounce;\n","/*! @preserve\n * numeral.js\n * version : 2.0.6\n * author : Adam Draper\n * license : MIT\n * http://adamwdraper.github.com/Numeral-js/\n */\n\n(function (global, factory) {\n    if (typeof define === 'function' && define.amd) {\n        define(factory);\n    } else if (typeof module === 'object' && module.exports) {\n        module.exports = factory();\n    } else {\n        global.numeral = factory();\n    }\n}(this, function () {\n    /************************************\n        Variables\n    ************************************/\n\n    var numeral,\n        _,\n        VERSION = '2.0.6',\n        formats = {},\n        locales = {},\n        defaults = {\n            currentLocale: 'en',\n            zeroFormat: null,\n            nullFormat: null,\n            defaultFormat: '0,0',\n            scalePercentBy100: true\n        },\n        options = {\n            currentLocale: defaults.currentLocale,\n            zeroFormat: defaults.zeroFormat,\n            nullFormat: defaults.nullFormat,\n            defaultFormat: defaults.defaultFormat,\n            scalePercentBy100: defaults.scalePercentBy100\n        };\n\n\n    /************************************\n        Constructors\n    ************************************/\n\n    // Numeral prototype object\n    function Numeral(input, number) {\n        this._input = input;\n\n        this._value = number;\n    }\n\n    numeral = function(input) {\n        var value,\n            kind,\n            unformatFunction,\n            regexp;\n\n        if (numeral.isNumeral(input)) {\n            value = input.value();\n        } else if (input === 0 || typeof input === 'undefined') {\n            value = 0;\n        } else if (input === null || _.isNaN(input)) {\n            value = null;\n        } else if (typeof input === 'string') {\n            if (options.zeroFormat && input === options.zeroFormat) {\n                value = 0;\n            } else if (options.nullFormat && input === options.nullFormat || !input.replace(/[^0-9]+/g, '').length) {\n                value = null;\n            } else {\n                for (kind in formats) {\n                    regexp = typeof formats[kind].regexps.unformat === 'function' ? formats[kind].regexps.unformat() : formats[kind].regexps.unformat;\n\n                    if (regexp && input.match(regexp)) {\n                        unformatFunction = formats[kind].unformat;\n\n                        break;\n                    }\n                }\n\n                unformatFunction = unformatFunction || numeral._.stringToNumber;\n\n                value = unformatFunction(input);\n            }\n        } else {\n            value = Number(input)|| null;\n        }\n\n        return new Numeral(input, value);\n    };\n\n    // version number\n    numeral.version = VERSION;\n\n    // compare numeral object\n    numeral.isNumeral = function(obj) {\n        return obj instanceof Numeral;\n    };\n\n    // helper functions\n    numeral._ = _ = {\n        // formats numbers separators, decimals places, signs, abbreviations\n        numberToFormat: function(value, format, roundingFunction) {\n            var locale = locales[numeral.options.currentLocale],\n                negP = false,\n                optDec = false,\n                leadingCount = 0,\n                abbr = '',\n                trillion = 1000000000000,\n                billion = 1000000000,\n                million = 1000000,\n                thousand = 1000,\n                decimal = '',\n                neg = false,\n                abbrForce, // force abbreviation\n                abs,\n                min,\n                max,\n                power,\n                int,\n                precision,\n                signed,\n                thousands,\n                output;\n\n            // make sure we never format a null value\n            value = value || 0;\n\n            abs = Math.abs(value);\n\n            // see if we should use parentheses for negative number or if we should prefix with a sign\n            // if both are present we default to parentheses\n            if (numeral._.includes(format, '(')) {\n                negP = true;\n                format = format.replace(/[\\(|\\)]/g, '');\n            } else if (numeral._.includes(format, '+') || numeral._.includes(format, '-')) {\n                signed = numeral._.includes(format, '+') ? format.indexOf('+') : value < 0 ? format.indexOf('-') : -1;\n                format = format.replace(/[\\+|\\-]/g, '');\n            }\n\n            // see if abbreviation is wanted\n            if (numeral._.includes(format, 'a')) {\n                abbrForce = format.match(/a(k|m|b|t)?/);\n\n                abbrForce = abbrForce ? abbrForce[1] : false;\n\n                // check for space before abbreviation\n                if (numeral._.includes(format, ' a')) {\n                    abbr = ' ';\n                }\n\n                format = format.replace(new RegExp(abbr + 'a[kmbt]?'), '');\n\n                if (abs >= trillion && !abbrForce || abbrForce === 't') {\n                    // trillion\n                    abbr += locale.abbreviations.trillion;\n                    value = value / trillion;\n                } else if (abs < trillion && abs >= billion && !abbrForce || abbrForce === 'b') {\n                    // billion\n                    abbr += locale.abbreviations.billion;\n                    value = value / billion;\n                } else if (abs < billion && abs >= million && !abbrForce || abbrForce === 'm') {\n                    // million\n                    abbr += locale.abbreviations.million;\n                    value = value / million;\n                } else if (abs < million && abs >= thousand && !abbrForce || abbrForce === 'k') {\n                    // thousand\n                    abbr += locale.abbreviations.thousand;\n                    value = value / thousand;\n                }\n            }\n\n            // check for optional decimals\n            if (numeral._.includes(format, '[.]')) {\n                optDec = true;\n                format = format.replace('[.]', '.');\n            }\n\n            // break number and format\n            int = value.toString().split('.')[0];\n            precision = format.split('.')[1];\n            thousands = format.indexOf(',');\n            leadingCount = (format.split('.')[0].split(',')[0].match(/0/g) || []).length;\n\n            if (precision) {\n                if (numeral._.includes(precision, '[')) {\n                    precision = precision.replace(']', '');\n                    precision = precision.split('[');\n                    decimal = numeral._.toFixed(value, (precision[0].length + precision[1].length), roundingFunction, precision[1].length);\n                } else {\n                    decimal = numeral._.toFixed(value, precision.length, roundingFunction);\n                }\n\n                int = decimal.split('.')[0];\n\n                if (numeral._.includes(decimal, '.')) {\n                    decimal = locale.delimiters.decimal + decimal.split('.')[1];\n                } else {\n                    decimal = '';\n                }\n\n                if (optDec && Number(decimal.slice(1)) === 0) {\n                    decimal = '';\n                }\n            } else {\n                int = numeral._.toFixed(value, 0, roundingFunction);\n            }\n\n            // check abbreviation again after rounding\n            if (abbr && !abbrForce && Number(int) >= 1000 && abbr !== locale.abbreviations.trillion) {\n                int = String(Number(int) / 1000);\n\n                switch (abbr) {\n                    case locale.abbreviations.thousand:\n                        abbr = locale.abbreviations.million;\n                        break;\n                    case locale.abbreviations.million:\n                        abbr = locale.abbreviations.billion;\n                        break;\n                    case locale.abbreviations.billion:\n                        abbr = locale.abbreviations.trillion;\n                        break;\n                }\n            }\n\n\n            // format number\n            if (numeral._.includes(int, '-')) {\n                int = int.slice(1);\n                neg = true;\n            }\n\n            if (int.length < leadingCount) {\n                for (var i = leadingCount - int.length; i > 0; i--) {\n                    int = '0' + int;\n                }\n            }\n\n            if (thousands > -1) {\n                int = int.toString().replace(/(\\d)(?=(\\d{3})+(?!\\d))/g, '$1' + locale.delimiters.thousands);\n            }\n\n            if (format.indexOf('.') === 0) {\n                int = '';\n            }\n\n            output = int + decimal + (abbr ? abbr : '');\n\n            if (negP) {\n                output = (negP && neg ? '(' : '') + output + (negP && neg ? ')' : '');\n            } else {\n                if (signed >= 0) {\n                    output = signed === 0 ? (neg ? '-' : '+') + output : output + (neg ? '-' : '+');\n                } else if (neg) {\n                    output = '-' + output;\n                }\n            }\n\n            return output;\n        },\n        // unformats numbers separators, decimals places, signs, abbreviations\n        stringToNumber: function(string) {\n            var locale = locales[options.currentLocale],\n                stringOriginal = string,\n                abbreviations = {\n                    thousand: 3,\n                    million: 6,\n                    billion: 9,\n                    trillion: 12\n                },\n                abbreviation,\n                value,\n                i,\n                regexp;\n\n            if (options.zeroFormat && string === options.zeroFormat) {\n                value = 0;\n            } else if (options.nullFormat && string === options.nullFormat || !string.replace(/[^0-9]+/g, '').length) {\n                value = null;\n            } else {\n                value = 1;\n\n                if (locale.delimiters.decimal !== '.') {\n                    string = string.replace(/\\./g, '').replace(locale.delimiters.decimal, '.');\n                }\n\n                for (abbreviation in abbreviations) {\n                    regexp = new RegExp('[^a-zA-Z]' + locale.abbreviations[abbreviation] + '(?:\\\\)|(\\\\' + locale.currency.symbol + ')?(?:\\\\))?)?$');\n\n                    if (stringOriginal.match(regexp)) {\n                        value *= Math.pow(10, abbreviations[abbreviation]);\n                        break;\n                    }\n                }\n\n                // check for negative number\n                value *= (string.split('-').length + Math.min(string.split('(').length - 1, string.split(')').length - 1)) % 2 ? 1 : -1;\n\n                // remove non numbers\n                string = string.replace(/[^0-9\\.]+/g, '');\n\n                value *= Number(string);\n            }\n\n            return value;\n        },\n        isNaN: function(value) {\n            return typeof value === 'number' && isNaN(value);\n        },\n        includes: function(string, search) {\n            return string.indexOf(search) !== -1;\n        },\n        insert: function(string, subString, start) {\n            return string.slice(0, start) + subString + string.slice(start);\n        },\n        reduce: function(array, callback /*, initialValue*/) {\n            if (this === null) {\n                throw new TypeError('Array.prototype.reduce called on null or undefined');\n            }\n\n            if (typeof callback !== 'function') {\n                throw new TypeError(callback + ' is not a function');\n            }\n\n            var t = Object(array),\n                len = t.length >>> 0,\n                k = 0,\n                value;\n\n            if (arguments.length === 3) {\n                value = arguments[2];\n            } else {\n                while (k < len && !(k in t)) {\n                    k++;\n                }\n\n                if (k >= len) {\n                    throw new TypeError('Reduce of empty array with no initial value');\n                }\n\n                value = t[k++];\n            }\n            for (; k < len; k++) {\n                if (k in t) {\n                    value = callback(value, t[k], k, t);\n                }\n            }\n            return value;\n        },\n        /**\n         * Computes the multiplier necessary to make x >= 1,\n         * effectively eliminating miscalculations caused by\n         * finite precision.\n         */\n        multiplier: function (x) {\n            var parts = x.toString().split('.');\n\n            return parts.length < 2 ? 1 : Math.pow(10, parts[1].length);\n        },\n        /**\n         * Given a variable number of arguments, returns the maximum\n         * multiplier that must be used to normalize an operation involving\n         * all of them.\n         */\n        correctionFactor: function () {\n            var args = Array.prototype.slice.call(arguments);\n\n            return args.reduce(function(accum, next) {\n                var mn = _.multiplier(next);\n                return accum > mn ? accum : mn;\n            }, 1);\n        },\n        /**\n         * Implementation of toFixed() that treats floats more like decimals\n         *\n         * Fixes binary rounding issues (eg. (0.615).toFixed(2) === '0.61') that present\n         * problems for accounting- and finance-related software.\n         */\n        toFixed: function(value, maxDecimals, roundingFunction, optionals) {\n            var splitValue = value.toString().split('.'),\n                minDecimals = maxDecimals - (optionals || 0),\n                boundedPrecision,\n                optionalsRegExp,\n                power,\n                output;\n\n            // Use the smallest precision value possible to avoid errors from floating point representation\n            if (splitValue.length === 2) {\n              boundedPrecision = Math.min(Math.max(splitValue[1].length, minDecimals), maxDecimals);\n            } else {\n              boundedPrecision = minDecimals;\n            }\n\n            power = Math.pow(10, boundedPrecision);\n\n            // Multiply up by precision, round accurately, then divide and use native toFixed():\n            output = (roundingFunction(value + 'e+' + boundedPrecision) / power).toFixed(boundedPrecision);\n\n            if (optionals > maxDecimals - boundedPrecision) {\n                optionalsRegExp = new RegExp('\\\\.?0{1,' + (optionals - (maxDecimals - boundedPrecision)) + '}$');\n                output = output.replace(optionalsRegExp, '');\n            }\n\n            return output;\n        }\n    };\n\n    // avaliable options\n    numeral.options = options;\n\n    // avaliable formats\n    numeral.formats = formats;\n\n    // avaliable formats\n    numeral.locales = locales;\n\n    // This function sets the current locale.  If\n    // no arguments are passed in, it will simply return the current global\n    // locale key.\n    numeral.locale = function(key) {\n        if (key) {\n            options.currentLocale = key.toLowerCase();\n        }\n\n        return options.currentLocale;\n    };\n\n    // This function provides access to the loaded locale data.  If\n    // no arguments are passed in, it will simply return the current\n    // global locale object.\n    numeral.localeData = function(key) {\n        if (!key) {\n            return locales[options.currentLocale];\n        }\n\n        key = key.toLowerCase();\n\n        if (!locales[key]) {\n            throw new Error('Unknown locale : ' + key);\n        }\n\n        return locales[key];\n    };\n\n    numeral.reset = function() {\n        for (var property in defaults) {\n            options[property] = defaults[property];\n        }\n    };\n\n    numeral.zeroFormat = function(format) {\n        options.zeroFormat = typeof(format) === 'string' ? format : null;\n    };\n\n    numeral.nullFormat = function (format) {\n        options.nullFormat = typeof(format) === 'string' ? format : null;\n    };\n\n    numeral.defaultFormat = function(format) {\n        options.defaultFormat = typeof(format) === 'string' ? format : '0.0';\n    };\n\n    numeral.register = function(type, name, format) {\n        name = name.toLowerCase();\n\n        if (this[type + 's'][name]) {\n            throw new TypeError(name + ' ' + type + ' already registered.');\n        }\n\n        this[type + 's'][name] = format;\n\n        return format;\n    };\n\n\n    numeral.validate = function(val, culture) {\n        var _decimalSep,\n            _thousandSep,\n            _currSymbol,\n            _valArray,\n            _abbrObj,\n            _thousandRegEx,\n            localeData,\n            temp;\n\n        //coerce val to string\n        if (typeof val !== 'string') {\n            val += '';\n\n            if (console.warn) {\n                console.warn('Numeral.js: Value is not string. It has been co-erced to: ', val);\n            }\n        }\n\n        //trim whitespaces from either sides\n        val = val.trim();\n\n        //if val is just digits return true\n        if (!!val.match(/^\\d+$/)) {\n            return true;\n        }\n\n        //if val is empty return false\n        if (val === '') {\n            return false;\n        }\n\n        //get the decimal and thousands separator from numeral.localeData\n        try {\n            //check if the culture is understood by numeral. if not, default it to current locale\n            localeData = numeral.localeData(culture);\n        } catch (e) {\n            localeData = numeral.localeData(numeral.locale());\n        }\n\n        //setup the delimiters and currency symbol based on culture/locale\n        _currSymbol = localeData.currency.symbol;\n        _abbrObj = localeData.abbreviations;\n        _decimalSep = localeData.delimiters.decimal;\n        if (localeData.delimiters.thousands === '.') {\n            _thousandSep = '\\\\.';\n        } else {\n            _thousandSep = localeData.delimiters.thousands;\n        }\n\n        // validating currency symbol\n        temp = val.match(/^[^\\d]+/);\n        if (temp !== null) {\n            val = val.substr(1);\n            if (temp[0] !== _currSymbol) {\n                return false;\n            }\n        }\n\n        //validating abbreviation symbol\n        temp = val.match(/[^\\d]+$/);\n        if (temp !== null) {\n            val = val.slice(0, -1);\n            if (temp[0] !== _abbrObj.thousand && temp[0] !== _abbrObj.million && temp[0] !== _abbrObj.billion && temp[0] !== _abbrObj.trillion) {\n                return false;\n            }\n        }\n\n        _thousandRegEx = new RegExp(_thousandSep + '{2}');\n\n        if (!val.match(/[^\\d.,]/g)) {\n            _valArray = val.split(_decimalSep);\n            if (_valArray.length > 2) {\n                return false;\n            } else {\n                if (_valArray.length < 2) {\n                    return ( !! _valArray[0].match(/^\\d+.*\\d$/) && !_valArray[0].match(_thousandRegEx));\n                } else {\n                    if (_valArray[0].length === 1) {\n                        return ( !! _valArray[0].match(/^\\d+$/) && !_valArray[0].match(_thousandRegEx) && !! _valArray[1].match(/^\\d+$/));\n                    } else {\n                        return ( !! _valArray[0].match(/^\\d+.*\\d$/) && !_valArray[0].match(_thousandRegEx) && !! _valArray[1].match(/^\\d+$/));\n                    }\n                }\n            }\n        }\n\n        return false;\n    };\n\n\n    /************************************\n        Numeral Prototype\n    ************************************/\n\n    numeral.fn = Numeral.prototype = {\n        clone: function() {\n            return numeral(this);\n        },\n        format: function(inputString, roundingFunction) {\n            var value = this._value,\n                format = inputString || options.defaultFormat,\n                kind,\n                output,\n                formatFunction;\n\n            // make sure we have a roundingFunction\n            roundingFunction = roundingFunction || Math.round;\n\n            // format based on value\n            if (value === 0 && options.zeroFormat !== null) {\n                output = options.zeroFormat;\n            } else if (value === null && options.nullFormat !== null) {\n                output = options.nullFormat;\n            } else {\n                for (kind in formats) {\n                    if (format.match(formats[kind].regexps.format)) {\n                        formatFunction = formats[kind].format;\n\n                        break;\n                    }\n                }\n\n                formatFunction = formatFunction || numeral._.numberToFormat;\n\n                output = formatFunction(value, format, roundingFunction);\n            }\n\n            return output;\n        },\n        value: function() {\n            return this._value;\n        },\n        input: function() {\n            return this._input;\n        },\n        set: function(value) {\n            this._value = Number(value);\n\n            return this;\n        },\n        add: function(value) {\n            var corrFactor = _.correctionFactor.call(null, this._value, value);\n\n            function cback(accum, curr, currI, O) {\n                return accum + Math.round(corrFactor * curr);\n            }\n\n            this._value = _.reduce([this._value, value], cback, 0) / corrFactor;\n\n            return this;\n        },\n        subtract: function(value) {\n            var corrFactor = _.correctionFactor.call(null, this._value, value);\n\n            function cback(accum, curr, currI, O) {\n                return accum - Math.round(corrFactor * curr);\n            }\n\n            this._value = _.reduce([value], cback, Math.round(this._value * corrFactor)) / corrFactor;\n\n            return this;\n        },\n        multiply: function(value) {\n            function cback(accum, curr, currI, O) {\n                var corrFactor = _.correctionFactor(accum, curr);\n                return Math.round(accum * corrFactor) * Math.round(curr * corrFactor) / Math.round(corrFactor * corrFactor);\n            }\n\n            this._value = _.reduce([this._value, value], cback, 1);\n\n            return this;\n        },\n        divide: function(value) {\n            function cback(accum, curr, currI, O) {\n                var corrFactor = _.correctionFactor(accum, curr);\n                return Math.round(accum * corrFactor) / Math.round(curr * corrFactor);\n            }\n\n            this._value = _.reduce([this._value, value], cback);\n\n            return this;\n        },\n        difference: function(value) {\n            return Math.abs(numeral(this._value).subtract(value).value());\n        }\n    };\n\n    /************************************\n        Default Locale && Format\n    ************************************/\n\n    numeral.register('locale', 'en', {\n        delimiters: {\n            thousands: ',',\n            decimal: '.'\n        },\n        abbreviations: {\n            thousand: 'k',\n            million: 'm',\n            billion: 'b',\n            trillion: 't'\n        },\n        ordinal: function(number) {\n            var b = number % 10;\n            return (~~(number % 100 / 10) === 1) ? 'th' :\n                (b === 1) ? 'st' :\n                (b === 2) ? 'nd' :\n                (b === 3) ? 'rd' : 'th';\n        },\n        currency: {\n            symbol: '$'\n        }\n    });\n\n    \n\n(function() {\n        numeral.register('format', 'bps', {\n            regexps: {\n                format: /(BPS)/,\n                unformat: /(BPS)/\n            },\n            format: function(value, format, roundingFunction) {\n                var space = numeral._.includes(format, ' BPS') ? ' ' : '',\n                    output;\n\n                value = value * 10000;\n\n                // check for space before BPS\n                format = format.replace(/\\s?BPS/, '');\n\n                output = numeral._.numberToFormat(value, format, roundingFunction);\n\n                if (numeral._.includes(output, ')')) {\n                    output = output.split('');\n\n                    output.splice(-1, 0, space + 'BPS');\n\n                    output = output.join('');\n                } else {\n                    output = output + space + 'BPS';\n                }\n\n                return output;\n            },\n            unformat: function(string) {\n                return +(numeral._.stringToNumber(string) * 0.0001).toFixed(15);\n            }\n        });\n})();\n\n\n(function() {\n        var decimal = {\n            base: 1000,\n            suffixes: ['B', 'KB', 'MB', 'GB', 'TB', 'PB', 'EB', 'ZB', 'YB']\n        },\n        binary = {\n            base: 1024,\n            suffixes: ['B', 'KiB', 'MiB', 'GiB', 'TiB', 'PiB', 'EiB', 'ZiB', 'YiB']\n        };\n\n    var allSuffixes =  decimal.suffixes.concat(binary.suffixes.filter(function (item) {\n            return decimal.suffixes.indexOf(item) < 0;\n        }));\n        var unformatRegex = allSuffixes.join('|');\n        // Allow support for BPS (http://www.investopedia.com/terms/b/basispoint.asp)\n        unformatRegex = '(' + unformatRegex.replace('B', 'B(?!PS)') + ')';\n\n    numeral.register('format', 'bytes', {\n        regexps: {\n            format: /([0\\s]i?b)/,\n            unformat: new RegExp(unformatRegex)\n        },\n        format: function(value, format, roundingFunction) {\n            var output,\n                bytes = numeral._.includes(format, 'ib') ? binary : decimal,\n                suffix = numeral._.includes(format, ' b') || numeral._.includes(format, ' ib') ? ' ' : '',\n                power,\n                min,\n                max;\n\n            // check for space before\n            format = format.replace(/\\s?i?b/, '');\n\n            for (power = 0; power <= bytes.suffixes.length; power++) {\n                min = Math.pow(bytes.base, power);\n                max = Math.pow(bytes.base, power + 1);\n\n                if (value === null || value === 0 || value >= min && value < max) {\n                    suffix += bytes.suffixes[power];\n\n                    if (min > 0) {\n                        value = value / min;\n                    }\n\n                    break;\n                }\n            }\n\n            output = numeral._.numberToFormat(value, format, roundingFunction);\n\n            return output + suffix;\n        },\n        unformat: function(string) {\n            var value = numeral._.stringToNumber(string),\n                power,\n                bytesMultiplier;\n\n            if (value) {\n                for (power = decimal.suffixes.length - 1; power >= 0; power--) {\n                    if (numeral._.includes(string, decimal.suffixes[power])) {\n                        bytesMultiplier = Math.pow(decimal.base, power);\n\n                        break;\n                    }\n\n                    if (numeral._.includes(string, binary.suffixes[power])) {\n                        bytesMultiplier = Math.pow(binary.base, power);\n\n                        break;\n                    }\n                }\n\n                value *= (bytesMultiplier || 1);\n            }\n\n            return value;\n        }\n    });\n})();\n\n\n(function() {\n        numeral.register('format', 'currency', {\n        regexps: {\n            format: /(\\$)/\n        },\n        format: function(value, format, roundingFunction) {\n            var locale = numeral.locales[numeral.options.currentLocale],\n                symbols = {\n                    before: format.match(/^([\\+|\\-|\\(|\\s|\\$]*)/)[0],\n                    after: format.match(/([\\+|\\-|\\)|\\s|\\$]*)$/)[0]\n                },\n                output,\n                symbol,\n                i;\n\n            // strip format of spaces and $\n            format = format.replace(/\\s?\\$\\s?/, '');\n\n            // format the number\n            output = numeral._.numberToFormat(value, format, roundingFunction);\n\n            // update the before and after based on value\n            if (value >= 0) {\n                symbols.before = symbols.before.replace(/[\\-\\(]/, '');\n                symbols.after = symbols.after.replace(/[\\-\\)]/, '');\n            } else if (value < 0 && (!numeral._.includes(symbols.before, '-') && !numeral._.includes(symbols.before, '('))) {\n                symbols.before = '-' + symbols.before;\n            }\n\n            // loop through each before symbol\n            for (i = 0; i < symbols.before.length; i++) {\n                symbol = symbols.before[i];\n\n                switch (symbol) {\n                    case '$':\n                        output = numeral._.insert(output, locale.currency.symbol, i);\n                        break;\n                    case ' ':\n                        output = numeral._.insert(output, ' ', i + locale.currency.symbol.length - 1);\n                        break;\n                }\n            }\n\n            // loop through each after symbol\n            for (i = symbols.after.length - 1; i >= 0; i--) {\n                symbol = symbols.after[i];\n\n                switch (symbol) {\n                    case '$':\n                        output = i === symbols.after.length - 1 ? output + locale.currency.symbol : numeral._.insert(output, locale.currency.symbol, -(symbols.after.length - (1 + i)));\n                        break;\n                    case ' ':\n                        output = i === symbols.after.length - 1 ? output + ' ' : numeral._.insert(output, ' ', -(symbols.after.length - (1 + i) + locale.currency.symbol.length - 1));\n                        break;\n                }\n            }\n\n\n            return output;\n        }\n    });\n})();\n\n\n(function() {\n        numeral.register('format', 'exponential', {\n        regexps: {\n            format: /(e\\+|e-)/,\n            unformat: /(e\\+|e-)/\n        },\n        format: function(value, format, roundingFunction) {\n            var output,\n                exponential = typeof value === 'number' && !numeral._.isNaN(value) ? value.toExponential() : '0e+0',\n                parts = exponential.split('e');\n\n            format = format.replace(/e[\\+|\\-]{1}0/, '');\n\n            output = numeral._.numberToFormat(Number(parts[0]), format, roundingFunction);\n\n            return output + 'e' + parts[1];\n        },\n        unformat: function(string) {\n            var parts = numeral._.includes(string, 'e+') ? string.split('e+') : string.split('e-'),\n                value = Number(parts[0]),\n                power = Number(parts[1]);\n\n            power = numeral._.includes(string, 'e-') ? power *= -1 : power;\n\n            function cback(accum, curr, currI, O) {\n                var corrFactor = numeral._.correctionFactor(accum, curr),\n                    num = (accum * corrFactor) * (curr * corrFactor) / (corrFactor * corrFactor);\n                return num;\n            }\n\n            return numeral._.reduce([value, Math.pow(10, power)], cback, 1);\n        }\n    });\n})();\n\n\n(function() {\n        numeral.register('format', 'ordinal', {\n        regexps: {\n            format: /(o)/\n        },\n        format: function(value, format, roundingFunction) {\n            var locale = numeral.locales[numeral.options.currentLocale],\n                output,\n                ordinal = numeral._.includes(format, ' o') ? ' ' : '';\n\n            // check for space before\n            format = format.replace(/\\s?o/, '');\n\n            ordinal += locale.ordinal(value);\n\n            output = numeral._.numberToFormat(value, format, roundingFunction);\n\n            return output + ordinal;\n        }\n    });\n})();\n\n\n(function() {\n        numeral.register('format', 'percentage', {\n        regexps: {\n            format: /(%)/,\n            unformat: /(%)/\n        },\n        format: function(value, format, roundingFunction) {\n            var space = numeral._.includes(format, ' %') ? ' ' : '',\n                output;\n\n            if (numeral.options.scalePercentBy100) {\n                value = value * 100;\n            }\n\n            // check for space before %\n            format = format.replace(/\\s?\\%/, '');\n\n            output = numeral._.numberToFormat(value, format, roundingFunction);\n\n            if (numeral._.includes(output, ')')) {\n                output = output.split('');\n\n                output.splice(-1, 0, space + '%');\n\n                output = output.join('');\n            } else {\n                output = output + space + '%';\n            }\n\n            return output;\n        },\n        unformat: function(string) {\n            var number = numeral._.stringToNumber(string);\n            if (numeral.options.scalePercentBy100) {\n                return number * 0.01;\n            }\n            return number;\n        }\n    });\n})();\n\n\n(function() {\n        numeral.register('format', 'time', {\n        regexps: {\n            format: /(:)/,\n            unformat: /(:)/\n        },\n        format: function(value, format, roundingFunction) {\n            var hours = Math.floor(value / 60 / 60),\n                minutes = Math.floor((value - (hours * 60 * 60)) / 60),\n                seconds = Math.round(value - (hours * 60 * 60) - (minutes * 60));\n\n            return hours + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds);\n        },\n        unformat: function(string) {\n            var timeArray = string.split(':'),\n                seconds = 0;\n\n            // turn hours and minutes into seconds and add them all up\n            if (timeArray.length === 3) {\n                // hours\n                seconds = seconds + (Number(timeArray[0]) * 60 * 60);\n                // minutes\n                seconds = seconds + (Number(timeArray[1]) * 60);\n                // seconds\n                seconds = seconds + Number(timeArray[2]);\n            } else if (timeArray.length === 2) {\n                // minutes\n                seconds = seconds + (Number(timeArray[0]) * 60);\n                // seconds\n                seconds = seconds + Number(timeArray[1]);\n            }\n            return Number(seconds);\n        }\n    });\n})();\n\nreturn numeral;\n}));\n"],"sourceRoot":""}