{"version":3,"sources":["webpack:///./node_modules/numeral/numeral.js"],"names":["_numeral","_","decimal","binary","unformatRegex","formats","locales","defaults","currentLocale","zeroFormat","nullFormat","defaultFormat","scalePercentBy100","options","Numeral","input","number","this","_input","_value","value","kind","unformatFunction","regexp","isNumeral","isNaN","replace","length","regexps","unformat","match","stringToNumber","Number","version","obj","numberToFormat","format","roundingFunction","leadingCount","abbrForce","abs","int","precision","signed","thousands","output","locale","negP","optDec","abbr","neg","Math","includes","indexOf","RegExp","abbreviations","trillion","billion","million","thousand","toString","split","toFixed","delimiters","slice","String","i","string","abbreviation","stringOriginal","currency","symbol","pow","min","_isNaN","_x","apply","arguments","search","insert","subString","start","reduce","array","callback","TypeError","t","Object","len","k","multiplier","x","parts","correctionFactor","args","Array","prototype","call","accum","next","mn","maxDecimals","optionals","boundedPrecision","optionalsRegExp","power","splitValue","minDecimals","max","key","toLowerCase","localeData","Error","reset","property","register","type","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","_format","space","splice","join","base","suffixes","concat","filter","item","_format2","bytes","suffix","bytesMultiplier","_format3","symbols","before","after","_format4","toExponential","_format5","_format6","_format7","hours","floor","minutes","seconds","timeArray"],"mappings":"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","file":"7306b9c2a746c56e23fe6de44bb1c0542f0bc6bc-259ecfc5217875e5e1d4.js","sourcesContent":["/*! @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(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 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 Constructors\n ************************************/\n // Numeral prototype object\n\n\n function Numeral(input, number) {\n this._input = input;\n this._value = number;\n }\n\n _numeral = function numeral(input) {\n var value, kind, unformatFunction, 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 break;\n }\n }\n\n unformatFunction = unformatFunction || _numeral._.stringToNumber;\n value = unformatFunction(input);\n }\n } else {\n value = Number(input) || null;\n }\n\n return new Numeral(input, value);\n }; // version number\n\n\n _numeral.version = VERSION; // compare numeral object\n\n _numeral.isNumeral = function (obj) {\n return obj instanceof Numeral;\n }; // helper functions\n\n\n _numeral._ = _ = {\n // formats numbers separators, decimals places, signs, abbreviations\n numberToFormat: function numberToFormat(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,\n // force abbreviation\n abs,\n min,\n max,\n power,\n int,\n precision,\n signed,\n thousands,\n output; // make sure we never format a null value\n\n value = value || 0;\n abs = Math.abs(value); // 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\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 } // see if abbreviation is wanted\n\n\n if (_numeral._.includes(format, 'a')) {\n abbrForce = format.match(/a(k|m|b|t)?/);\n abbrForce = abbrForce ? abbrForce[1] : false; // check for space before abbreviation\n\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 } // check for optional decimals\n\n\n if (_numeral._.includes(format, '[.]')) {\n optDec = true;\n format = format.replace('[.]', '.');\n } // break number and format\n\n\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 } // check abbreviation again after rounding\n\n\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\n case locale.abbreviations.million:\n abbr = locale.abbreviations.billion;\n break;\n\n case locale.abbreviations.billion:\n abbr = locale.abbreviations.trillion;\n break;\n }\n } // format number\n\n\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 stringToNumber(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 } // check for negative number\n\n\n value *= (string.split('-').length + Math.min(string.split('(').length - 1, string.split(')').length - 1)) % 2 ? 1 : -1; // remove non numbers\n\n string = string.replace(/[^0-9\\.]+/g, '');\n value *= Number(string);\n }\n\n return value;\n },\n isNaN: function (_isNaN) {\n function isNaN(_x) {\n return _isNaN.apply(this, arguments);\n }\n\n isNaN.toString = function () {\n return _isNaN.toString();\n };\n\n return isNaN;\n }(function (value) {\n return typeof value === 'number' && isNaN(value);\n }),\n includes: function includes(string, search) {\n return string.indexOf(search) !== -1;\n },\n insert: function insert(string, subString, start) {\n return string.slice(0, start) + subString + string.slice(start);\n },\n reduce: function reduce(array, callback\n /*, initialValue*/\n ) {\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\n for (; k < len; k++) {\n if (k in t) {\n value = callback(value, t[k], k, t);\n }\n }\n\n return value;\n },\n\n /**\n * Computes the multiplier necessary to make x >= 1,\n * effectively eliminating miscalculations caused by\n * finite precision.\n */\n multiplier: function multiplier(x) {\n var parts = x.toString().split('.');\n return parts.length < 2 ? 1 : Math.pow(10, parts[1].length);\n },\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 correctionFactor() {\n var args = Array.prototype.slice.call(arguments);\n return args.reduce(function (accum, next) {\n var mn = _.multiplier(next);\n\n return accum > mn ? accum : mn;\n }, 1);\n },\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 toFixed(value, maxDecimals, roundingFunction, optionals) {\n var splitValue = value.toString().split('.'),\n minDecimals = maxDecimals - (optionals || 0),\n boundedPrecision,\n optionalsRegExp,\n power,\n output; // Use the smallest precision value possible to avoid errors from floating point representation\n\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); // Multiply up by precision, round accurately, then divide and use native toFixed():\n\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 }; // avaliable options\n\n _numeral.options = options; // avaliable formats\n\n _numeral.formats = formats; // avaliable formats\n\n _numeral.locales = locales; // This function sets the current locale. If\n // no arguments are passed in, it will simply return the current global\n // locale key.\n\n _numeral.locale = function (key) {\n if (key) {\n options.currentLocale = key.toLowerCase();\n }\n\n return options.currentLocale;\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\n\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 return format;\n };\n\n _numeral.validate = function (val, culture) {\n var _decimalSep, _thousandSep, _currSymbol, _valArray, _abbrObj, _thousandRegEx, localeData, temp; //coerce val to string\n\n\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 } //trim whitespaces from either sides\n\n\n val = val.trim(); //if val is just digits return true\n\n if (!!val.match(/^\\d+$/)) {\n return true;\n } //if val is empty return false\n\n\n if (val === '') {\n return false;\n } //get the decimal and thousands separator from numeral.localeData\n\n\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 } //setup the delimiters and currency symbol based on culture/locale\n\n\n _currSymbol = localeData.currency.symbol;\n _abbrObj = localeData.abbreviations;\n _decimalSep = localeData.delimiters.decimal;\n\n if (localeData.delimiters.thousands === '.') {\n _thousandSep = '\\\\.';\n } else {\n _thousandSep = localeData.delimiters.thousands;\n } // validating currency symbol\n\n\n temp = val.match(/^[^\\d]+/);\n\n if (temp !== null) {\n val = val.substr(1);\n\n if (temp[0] !== _currSymbol) {\n return false;\n }\n } //validating abbreviation symbol\n\n\n temp = val.match(/[^\\d]+$/);\n\n if (temp !== null) {\n val = val.slice(0, -1);\n\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\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 Numeral Prototype\n ************************************/\n\n\n _numeral.fn = Numeral.prototype = {\n clone: function clone() {\n return _numeral(this);\n },\n format: function format(inputString, roundingFunction) {\n var value = this._value,\n format = inputString || options.defaultFormat,\n kind,\n output,\n formatFunction; // make sure we have a roundingFunction\n\n roundingFunction = roundingFunction || Math.round; // format based on value\n\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 break;\n }\n }\n\n formatFunction = formatFunction || _numeral._.numberToFormat;\n output = formatFunction(value, format, roundingFunction);\n }\n\n return output;\n },\n value: function value() {\n return this._value;\n },\n input: function input() {\n return this._input;\n },\n set: function set(value) {\n this._value = Number(value);\n return this;\n },\n add: function add(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 return this;\n },\n subtract: function subtract(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 return this;\n },\n multiply: function multiply(value) {\n function cback(accum, curr, currI, O) {\n var corrFactor = _.correctionFactor(accum, curr);\n\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 return this;\n },\n divide: function divide(value) {\n function cback(accum, curr, currI, O) {\n var corrFactor = _.correctionFactor(accum, curr);\n\n return Math.round(accum * corrFactor) / Math.round(curr * corrFactor);\n }\n\n this._value = _.reduce([this._value, value], cback);\n return this;\n },\n difference: function difference(value) {\n return Math.abs(_numeral(this._value).subtract(value).value());\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 ordinal(number) {\n var b = number % 10;\n return ~~(number % 100 / 10) === 1 ? 'th' : b === 1 ? 'st' : b === 2 ? 'nd' : b === 3 ? 'rd' : 'th';\n },\n currency: {\n symbol: '$'\n }\n });\n\n (function () {\n _numeral.register('format', 'bps', {\n regexps: {\n format: /(BPS)/,\n unformat: /(BPS)/\n },\n format: function format(value, _format, roundingFunction) {\n var space = _numeral._.includes(_format, ' BPS') ? ' ' : '',\n output;\n value = value * 10000; // check for space before BPS\n\n _format = _format.replace(/\\s?BPS/, '');\n output = _numeral._.numberToFormat(value, _format, roundingFunction);\n\n if (_numeral._.includes(output, ')')) {\n output = output.split('');\n output.splice(-1, 0, space + 'BPS');\n output = output.join('');\n } else {\n output = output + space + 'BPS';\n }\n\n return output;\n },\n unformat: function unformat(string) {\n return +(_numeral._.stringToNumber(string) * 0.0001).toFixed(15);\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 var allSuffixes = decimal.suffixes.concat(binary.suffixes.filter(function (item) {\n return decimal.suffixes.indexOf(item) < 0;\n }));\n var unformatRegex = allSuffixes.join('|'); // Allow support for BPS (http://www.investopedia.com/terms/b/basispoint.asp)\n\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 format(value, _format2, roundingFunction) {\n var output,\n bytes = _numeral._.includes(_format2, 'ib') ? binary : decimal,\n suffix = _numeral._.includes(_format2, ' b') || _numeral._.includes(_format2, ' ib') ? ' ' : '',\n power,\n min,\n max; // check for space before\n\n _format2 = _format2.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, _format2, roundingFunction);\n return output + suffix;\n },\n unformat: function unformat(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 break;\n }\n\n if (_numeral._.includes(string, binary.suffixes[power])) {\n bytesMultiplier = Math.pow(binary.base, power);\n break;\n }\n }\n\n value *= bytesMultiplier || 1;\n }\n\n return value;\n }\n });\n })();\n\n (function () {\n _numeral.register('format', 'currency', {\n regexps: {\n format: /(\\$)/\n },\n format: function format(value, _format3, roundingFunction) {\n var locale = _numeral.locales[_numeral.options.currentLocale],\n symbols = {\n before: _format3.match(/^([\\+|\\-|\\(|\\s|\\$]*)/)[0],\n after: _format3.match(/([\\+|\\-|\\)|\\s|\\$]*)$/)[0]\n },\n output,\n symbol,\n i; // strip format of spaces and $\n\n _format3 = _format3.replace(/\\s?\\$\\s?/, ''); // format the number\n\n output = _numeral._.numberToFormat(value, _format3, roundingFunction); // update the before and after based on value\n\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 } // loop through each before symbol\n\n\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\n case ' ':\n output = _numeral._.insert(output, ' ', i + locale.currency.symbol.length - 1);\n break;\n }\n } // loop through each after symbol\n\n\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\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 return output;\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 format(value, _format4, roundingFunction) {\n var output,\n exponential = typeof value === 'number' && !_numeral._.isNaN(value) ? value.toExponential() : '0e+0',\n parts = exponential.split('e');\n _format4 = _format4.replace(/e[\\+|\\-]{1}0/, '');\n output = _numeral._.numberToFormat(Number(parts[0]), _format4, roundingFunction);\n return output + 'e' + parts[1];\n },\n unformat: function unformat(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 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\n return num;\n }\n\n return _numeral._.reduce([value, Math.pow(10, power)], cback, 1);\n }\n });\n })();\n\n (function () {\n _numeral.register('format', 'ordinal', {\n regexps: {\n format: /(o)/\n },\n format: function format(value, _format5, roundingFunction) {\n var locale = _numeral.locales[_numeral.options.currentLocale],\n output,\n ordinal = _numeral._.includes(_format5, ' o') ? ' ' : ''; // check for space before\n\n _format5 = _format5.replace(/\\s?o/, '');\n ordinal += locale.ordinal(value);\n output = _numeral._.numberToFormat(value, _format5, roundingFunction);\n return output + ordinal;\n }\n });\n })();\n\n (function () {\n _numeral.register('format', 'percentage', {\n regexps: {\n format: /(%)/,\n unformat: /(%)/\n },\n format: function format(value, _format6, roundingFunction) {\n var space = _numeral._.includes(_format6, ' %') ? ' ' : '',\n output;\n\n if (_numeral.options.scalePercentBy100) {\n value = value * 100;\n } // check for space before %\n\n\n _format6 = _format6.replace(/\\s?\\%/, '');\n output = _numeral._.numberToFormat(value, _format6, roundingFunction);\n\n if (_numeral._.includes(output, ')')) {\n output = output.split('');\n output.splice(-1, 0, space + '%');\n output = output.join('');\n } else {\n output = output + space + '%';\n }\n\n return output;\n },\n unformat: function unformat(string) {\n var number = _numeral._.stringToNumber(string);\n\n if (_numeral.options.scalePercentBy100) {\n return number * 0.01;\n }\n\n return number;\n }\n });\n })();\n\n (function () {\n _numeral.register('format', 'time', {\n regexps: {\n format: /(:)/,\n unformat: /(:)/\n },\n format: function format(value, _format7, 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 return hours + ':' + (minutes < 10 ? '0' + minutes : minutes) + ':' + (seconds < 10 ? '0' + seconds : seconds);\n },\n unformat: function unformat(string) {\n var timeArray = string.split(':'),\n seconds = 0; // turn hours and minutes into seconds and add them all up\n\n if (timeArray.length === 3) {\n // hours\n seconds = seconds + Number(timeArray[0]) * 60 * 60; // minutes\n\n seconds = seconds + Number(timeArray[1]) * 60; // seconds\n\n seconds = seconds + Number(timeArray[2]);\n } else if (timeArray.length === 2) {\n // minutes\n seconds = seconds + Number(timeArray[0]) * 60; // seconds\n\n seconds = seconds + Number(timeArray[1]);\n }\n\n return Number(seconds);\n }\n });\n })();\n\n return _numeral;\n});"],"sourceRoot":""}