PageSourceSearch

https://www.stads-koffyhuis.nl/bower_components/moment/min/moment-with-locales.js?m=1608556317

js stads-koffyhuis.nl collected 2026-10-05 10:29:37 UTC 423,555 bytes, 11,412 lines download raw bytes

vendor: 102,236 bytes, lines 1-3141
1;(function (global, factory) {
2    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :
3    typeof define === 'function' && define.amd ? define(factory) :
4    global.moment = factory()
5}(this, function () { 'use strict';
6
7    var hookCallback;
8
9    function utils_hooks__hooks () {
10        return hookCallback.apply(null, arguments);
11    }
12
13    // This is done to register the method called with moment()
14    // without creating circular dependencies.
15    function setHookCallback (callback) {
16        hookCallback = callback;
17    }
18
19    function isArray(input) {
20        return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';
21    }
22
23    function isDate(input) {
24        return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';
25    }
26
27    function map(arr, fn) {
28        var res = [], i;
29        for (i = 0; i < arr.length; ++i) {
30            res.push(fn(arr[i], i));
31        }
32        return res;
33    }
34
35    function hasOwnProp(a, b) {
36        return Object.prototype.hasOwnProperty.call(a, b);
37    }
38
39    function extend(a, b) {
40        for (var i in b) {
41            if (hasOwnProp(b, i)) {
42                a[i] = b[i];
43            }
44        }
45
46        if (hasOwnProp(b, 'toString')) {
47            a.toString = b.toString;
48        }
49
50        if (hasOwnProp(b, 'valueOf')) {
51            a.valueOf = b.valueOf;
52        }
53
54        return a;
55    }
56
57    function create_utc__createUTC (input, format, locale, strict) {
58        return createLocalOrUTC(input, format, locale, strict, true).utc();
59    }
60
61    function defaultParsingFlags() {
62        // We need to deep clone this object.
63        return {
64            empty           : false,
65            unusedTokens    : [],
66            unusedInput     : [],
67            overflow        : -2,
68            charsLeftOver   : 0,
69            nullInput       : false,
70            invalidMonth    : null,
71            invalidFormat   : false,
72            userInvalidated : false,
73            iso             : false
74        };
75    }
76
77    function getParsingFlags(m) {
78        if (m._pf == null) {
79            m._pf = defaultParsingFlags();
80        }
81        return m._pf;
82    }
83
84    function valid__isValid(m) {
85        if (m._isValid == null) {
86            var flags = getParsingFlags(m);
87            m._isValid = !isNaN(m._d.getTime()) &&
88                flags.overflow < 0 &&
89                !flags.empty &&
90                !flags.invalidMonth &&
91                !flags.invalidWeekday &&
92                !flags.nullInput &&
93                !flags.invalidFormat &&
94                !flags.userInvalidated;
95
96            if (m._strict) {
97                m._isValid = m._isValid &&
98                    flags.charsLeftOver === 0 &&
99                    flags.unusedTokens.length === 0 &&
100                    flags.bigHour === undefined;
101            }
102        }
103        return m._isValid;
104    }
105
106    function valid__createInvalid (flags) {
107        var m = create_utc__createUTC(NaN);
108        if (flags != null) {
109            extend(getParsingFlags(m), flags);
110        }
111        else {
112            getParsingFlags(m).userInvalidated = true;
113        }
114
115        return m;
116    }
117
118    function isUndefined(input) {
119        return input === void 0;
120    }
121
122    // Plugins that add properties should also add the key here (null value),
123    // so we can properly clone ourselves.
124    var momentProperties = utils_hooks__hooks.momentProperties = [];
125
126    function copyConfig(to, from) {
127        var i, prop, val;
128
129        if (!isUndefined(from._isAMomentObject)) {
130            to._isAMomentObject = from._isAMomentObject;
131        }
132        if (!isUndefined(from._i)) {
133            to._i = from._i;
134        }
135        if (!isUndefined(from._f)) {
136            to._f = from._f;
137        }
138        if (!isUndefined(from._l)) {
139            to._l = from._l;
140        }
141        if (!isUndefined(from._strict)) {
142            to._strict = from._strict;
143        }
144        if (!isUndefined(from._tzm)) {
145            to._tzm = from._tzm;
146        }
147        if (!isUndefined(from._isUTC)) {
148            to._isUTC = from._isUTC;
149        }
150        if (!isUndefined(from._offset)) {
151            to._offset = from._offset;
152        }
153        if (!isUndefined(from._pf)) {
154            to._pf = getParsingFlags(from);
155        }
156        if (!isUndefined(from._locale)) {
157            to._locale = from._locale;
158        }
159
160        if (momentProperties.length > 0) {
161            for (i in momentProperties) {
162                prop = momentProperties[i];
163                val = from[prop];
164                if (!isUndefined(val)) {
165                    to[prop] = val;
166                }
167            }
168        }
169
170        return to;
171    }
172
173    var updateInProgress = false;
174
175    // Moment prototype object
176    function Moment(config) {
177        copyConfig(this, config);
178        this._d = new Date(config._d != null ? config._d.getTime() : NaN);
179        // Prevent infinite loop in case updateOffset creates new moment
180        // objects.
181        if (updateInProgress === false) {
182            updateInProgress = true;
183            utils_hooks__hooks.updateOffset(this);
184            updateInProgress = false;
185        }
186    }
187
188    function isMoment (obj) {
189        return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);
190    }
191
192    function absFloor (number) {
193        if (number < 0) {
194            return Math.ceil(number);
195        } else {
196            return Math.floor(number);
197        }
198    }
199
200    function toInt(argumentForCoercion) {
201        var coercedNumber = +argumentForCoercion,
202            value = 0;
203
204        if (coercedNumber !== 0 && isFinite(coercedNumber)) {
205            value = absFloor(coercedNumber);
206        }
207
208        return value;
209    }
210
211    // compare two arrays, return the number of differences
212    function compareArrays(array1, array2, dontConvert) {
213        var len = Math.min(array1.length, array2.length),
214            lengthDiff = Math.abs(array1.length - array2.length),
215            diffs = 0,
216            i;
217        for (i = 0; i < len; i++) {
218            if ((dontConvert && array1[i] !== array2[i]) ||
219                (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
220                diffs++;
221            }
222        }
223        return diffs + lengthDiff;
224    }
225
226    function warn(msg) {
227        if (utils_hooks__hooks.suppressDeprecationWarnings === false &&
228                (typeof console !==  'undefined') && console.warn) {
229            console.warn('Deprecation warning: ' + msg);
230        }
231    }
232
233    function deprecate(msg, fn) {
234        var firstTime = true;
235
236        return extend(function () {
237            if (firstTime) {
238                warn(msg + '\nArguments: ' + Array.prototype.slice.call(arguments).join(', ') + '\n' + (new Error()).stack);
239                firstTime = false;
240            }
241            return fn.apply(this, arguments);
242        }, fn);
243    }
244
245    var deprecations = {};
246
247    function deprecateSimple(name, msg) {
248        if (!deprecations[name]) {
249            warn(msg);
250            deprecations[name] = true;
251        }
252    }
253
254    utils_hooks__hooks.suppressDeprecationWarnings = false;
255
256    function isFunction(input) {
257        return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';
258    }
259
260    function isObject(input) {
261        return Object.prototype.toString.call(input) === '[object Object]';
262    }
263
264    function locale_set__set (config) {
265        var prop, i;
266        for (i in config) {
267            prop = config[i];
268            if (isFunction(prop)) {
269                this[i] = prop;
270            } else {
271                this['_' + i] = prop;
272            }
273        }
274        this._config = config;
275        // Lenient ordinal parsing accepts just a number in addition to
276        // number + (possibly) stuff coming from _ordinalParseLenient.
277        this._ordinalParseLenient = new RegExp(this._ordinalParse.source + '|' + (/\d{1,2}/).source);
278    }
279
280    function mergeConfigs(parentConfig, childConfig) {
281        var res = extend({}, parentConfig), prop;
282        for (prop in childConfig) {
283            if (hasOwnProp(childConfig, prop)) {
284                if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {
285                    res[prop] = {};
286                    extend(res[prop], parentConfig[prop]);
287                    extend(res[prop], childConfig[prop]);
288                } else if (childConfig[prop] != null) {
289                    res[prop] = childConfig[prop];
290                } else {
291                    delete res[prop];
292                }
293            }
294        }
295        return res;
296    }
297
298    function Locale(config) {
299        if (config != null) {
300            this.set(config);
301        }
302    }
303
304    // internal storage for locale config files
305    var locales = {};
306    var globalLocale;
307
308    function normalizeLocale(key) {
309        return key ? key.toLowerCase().replace('_', '-') : key;
310    }
311
312    // pick the locale from the array
313    // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
314    // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
315    function chooseLocale(names) {
316        var i = 0, j, next, locale, split;
317
318        while (i < names.length) {
319            split = normalizeLocale(names[i]).split('-');
320            j = split.length;
321            next = normalizeLocale(names[i + 1]);
322            next = next ? next.split('-') : null;
323            while (j > 0) {
324                locale = loadLocale(split.slice(0, j).join('-'));
325                if (locale) {
326                    return locale;
327                }
328                if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
329                    //the next array item is better than a shallower substring of this one
330                    break;
331                }
332                j--;
333            }
334            i++;
335        }
336        return null;
337    }
338
339    function loadLocale(name) {
340        var oldLocale = null;
341        // TODO: Find a better way to register and load all the locales in Node
342        if (!locales[name] && (typeof module !== 'undefined') &&
343                module && module.exports) {
344            try {
345                oldLocale = globalLocale._abbr;
346                require('./locale/' + name);
347                // because defineLocale currently also sets the global locale, we
348                // want to undo that for lazy loaded locales
349                locale_locales__getSetGlobalLocale(oldLocale);
350            } catch (e) { }
351        }
352        return locales[name];
353    }
354
355    // This function will load locale and then set the global locale.  If
356    // no arguments are passed in, it will simply return the current global
357    // locale key.
358    function locale_locales__getSetGlobalLocale (key, values) {
359        var data;
360        if (key) {
361            if (isUndefined(values)) {
362                data = locale_locales__getLocale(key);
363            }
364            else {
365                data = defineLocale(key, values);
366            }
367
368            if (data) {
369                // moment.duration._locale = moment._locale = data;
370                globalLocale = data;
371            }
372        }
373
374        return globalLocale._abbr;
375    }
376
377    function defineLocale (name, config) {
378        if (config !== null) {
379            config.abbr = name;
380            if (locales[name] != null) {
381                deprecateSimple('defineLocaleOverride',
382                        'use moment.updateLocale(localeName, config) to change ' +
383                        'an existing locale. moment.defineLocale(localeName, ' +
384                        'config) should only be used for creating a new locale');
385                config = mergeConfigs(locales[name]._config, config);
386            } else if (config.parentLocale != null) {
387                if (locales[config.parentLocale] != null) {
388                    config = mergeConfigs(locales[config.parentLocale]._config, config);
389                } else {
390                    // treat as if there is no base config
391                    deprecateSimple('parentLocaleUndefined',
392                            'specified parentLocale is not defined yet');
393                }
394            }
395            locales[name] = new Locale(config);
396
397            // backwards compat for now: also set the locale
398            locale_locales__getSetGlobalLocale(name);
399
400            return locales[name];
401        } else {
402            // useful for testing
403            delete locales[name];
404            return null;
405        }
406    }
407
408    function updateLocale(name, config) {
409        if (config != null) {
410            var locale;
411            if (locales[name] != null) {
412                config = mergeConfigs(locales[name]._config, config);
413            }
414            locale = new Locale(config);
415            locale.parentLocale = locales[name];
416            locales[name] = locale;
417
418            // backwards compat for now: also set the locale
419            locale_locales__getSetGlobalLocale(name);
420        } else {
421            // pass null for config to unupdate, useful for tests
422            if (locales[name] != null) {
423                if (locales[name].parentLocale != null) {
424                    locales[name] = locales[name].parentLocale;
425                } else if (locales[name] != null) {
426                    delete locales[name];
427                }
428            }
429        }
430        return locales[name];
431    }
432
433    // returns locale data
434    function locale_locales__getLocale (key) {
435        var locale;
436
437        if (key && key._locale && key._locale._abbr) {
438            key = key._locale._abbr;
439        }
440
441        if (!key) {
442            return globalLocale;
443        }
444
445        if (!isArray(key)) {
446            //short-circuit everything else
447            locale = loadLocale(key);
448            if (locale) {
449                return locale;
450            }
451            key = [key];
452        }
453
454        return chooseLocale(key);
455    }
456
457    function locale_locales__listLocales() {
458        return Object.keys(locales);
459    }
460
461    var aliases = {};
462
463    function addUnitAlias (unit, shorthand) {
464        var lowerCase = unit.toLowerCase();
465        aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;
466    }
467
468    function normalizeUnits(units) {
469        return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;
470    }
471
472    function normalizeObjectUnits(inputObject) {
473        var normalizedInput = {},
474            normalizedProp,
475            prop;
476
477        for (prop in inputObject) {
478            if (hasOwnProp(inputObject, prop)) {
479                normalizedProp = normalizeUnits(prop);
480                if (normalizedProp) {
481                    normalizedInput[normalizedProp] = inputObject[prop];
482                }
483            }
484        }
485
486        return normalizedInput;
487    }
488
489    function makeGetSet (unit, keepTime) {
490        return function (value) {
491            if (value != null) {
492                get_set__set(this, unit, value);
493                utils_hooks__hooks.updateOffset(this, keepTime);
494                return this;
495            } else {
496                return get_set__get(this, unit);
497            }
498        };
499    }
500
501    function get_set__get (mom, unit) {
502        return mom.isValid() ?
503            mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;
504    }
505
506    function get_set__set (mom, unit, value) {
507        if (mom.isValid()) {
508            mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
509        }
510    }
511
512    // MOMENTS
513
514    function getSet (units, value) {
515        var unit;
516        if (typeof units === 'object') {
517            for (unit in units) {
518                this.set(unit, units[unit]);
519            }
520        } else {
521            units = normalizeUnits(units);
522            if (isFunction(this[units])) {
523                return this[units](value);
524            }
525        }
526        return this;
527    }
528
529    function zeroFill(number, targetLength, forceSign) {
530        var absNumber = '' + Math.abs(number),
531            zerosToFill = targetLength - absNumber.length,
532            sign = number >= 0;
533        return (sign ? (forceSign ? '+' : '') : '-') +
534            Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;
535    }
536
537    var formattingTokens = /(\[[^\[]*\])|(\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;
538
539    var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g;
540
541    var formatFunctions = {};
542
543    var formatTokenFunctions = {};
544
545    // token:    'M'
546    // padded:   ['MM', 2]
547    // ordinal:  'Mo'
548    // callback: function () { this.month() + 1 }
549    function addFormatToken (token, padded, ordinal, callback) {
550        var func = callback;
551        if (typeof callback === 'string') {
552            func = function () {
553                return this[callback]();
554            };
555        }
556        if (token) {
557            formatTokenFunctions[token] = func;
558        }
559        if (padded) {
560            formatTokenFunctions[padded[0]] = function () {
561                return zeroFill(func.apply(this, arguments), padded[1], padded[2]);
562            };
563        }
564        if (ordinal) {
565            formatTokenFunctions[ordinal] = function () {
566                return this.localeData().ordinal(func.apply(this, arguments), token);
567            };
568        }
569    }
570
571    function removeFormattingTokens(input) {
572        if (input.match(/\[[\s\S]/)) {
573            return input.replace(/^\[|\]$/g, '');
574        }
575        return input.replace(/\\/g, '');
576    }
577
578    function makeFormatFunction(format) {
579        var array = format.match(formattingTokens), i, length;
580
581        for (i = 0, length = array.length; i < length; i++) {
582            if (formatTokenFunctions[array[i]]) {
583                array[i] = formatTokenFunctions[array[i]];
584            } else {
585                array[i] = removeFormattingTokens(array[i]);
586            }
587        }
588
589        return function (mom) {
590            var output = '';
591            for (i = 0; i < length; i++) {
592                output += array[i] instanceof Function ? array[i].call(mom, format) : array[i];
593            }
594            return output;
595        };
596    }
597
598    // format date using native date object
599    function formatMoment(m, format) {
600        if (!m.isValid()) {
601            return m.localeData().invalidDate();
602        }
603
604        format = expandFormat(format, m.localeData());
605        formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);
606
607        return formatFunctions[format](m);
608    }
609
610    function expandFormat(format, locale) {
611        var i = 5;
612
613        function replaceLongDateFormatTokens(input) {
614            return locale.longDateFormat(input) || input;
615        }
616
617        localFormattingTokens.lastIndex = 0;
618        while (i >= 0 && localFormattingTokens.test(format)) {
619            format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
620            localFormattingTokens.lastIndex = 0;
621            i -= 1;
622        }
623
624        return format;
625    }
626
627    var match1         = /\d/;            //       0 - 9
628    var match2         = /\d\d/;          //      00 - 99
629    var match3         = /\d{3}/;         //     000 - 999
630    var match4         = /\d{4}/;         //    0000 - 9999
631    var match6         = /[+-]?\d{6}/;    // -999999 - 999999
632    var match1to2      = /\d\d?/;         //       0 - 99
633    var match3to4      = /\d\d\d\d?/;     //     999 - 9999
634    var match5to6      = /\d\d\d\d\d\d?/; //   99999 - 999999
635    var match1to3      = /\d{1,3}/;       //       0 - 999
636    var match1to4      = /\d{1,4}/;       //       0 - 9999
637    var match1to6      = /[+-]?\d{1,6}/;  // -999999 - 999999
638
639    var matchUnsigned  = /\d+/;           //       0 - inf
640    var matchSigned    = /[+-]?\d+/;      //    -inf - inf
641
642    var matchOffset    = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z
643    var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z
644
645    var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123
646
647    // any word (or two) characters or numbers including two/three word month in arabic.
648    // includes scottish gaelic two word and hyphenated months
649    var matchWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i;
650
651
652    var regexes = {};
653
654    function addRegexToken (token, regex, strictRegex) {
655        regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {
656            return (isStrict && strictRegex) ? strictRegex : regex;
657        };
658    }
659
660    function getParseRegexForToken (token, config) {
661        if (!hasOwnProp(regexes, token)) {
662            return new RegExp(unescapeFormat(token));
663        }
664
665        return regexes[token](config._strict, config._locale);
666    }
667
668    // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
669    function unescapeFormat(s) {
670        return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
671            return p1 || p2 || p3 || p4;
672        }));
673    }
674
675    function regexEscape(s) {
676        return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
677    }
678
679    var tokens = {};
680
681    function addParseToken (token, callback) {
682        var i, func = callback;
683        if (typeof token === 'string') {
684            token = [token];
685        }
686        if (typeof callback === 'number') {
687            func = function (input, array) {
688                array[callback] = toInt(input);
689            };
690        }
691        for (i = 0; i < token.length; i++) {
692            tokens[token[i]] = func;
693        }
694    }
695
696    function addWeekParseToken (token, callback) {
697        addParseToken(token, function (input, array, config, token) {
698            config._w = config._w || {};
699            callback(input, config._w, config, token);
700        });
701    }
702
703    function addTimeToArrayFromToken(token, input, config) {
704        if (input != null && hasOwnProp(tokens, token)) {
705            tokens[token](input, config._a, config, token);
706        }
707    }
708
709    var YEAR = 0;
710    var MONTH = 1;
711    var DATE = 2;
712    var HOUR = 3;
713    var MINUTE = 4;
714    var SECOND = 5;
715    var MILLISECOND = 6;
716    var WEEK = 7;
717    var WEEKDAY = 8;
718
719    function daysInMonth(year, month) {
720        return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();
721    }
722
723    // FORMATTING
724
725    addFormatToken('M', ['MM', 2], 'Mo', function () {
726        return this.month() + 1;
727    });
728
729    addFormatToken('MMM', 0, 0, function (format) {
730        return this.localeData().monthsShort(this, format);
731    });
732
733    addFormatToken('MMMM', 0, 0, function (format) {
734        return this.localeData().months(this, format);
735    });
736
737    // ALIASES
738
739    addUnitAlias('month', 'M');
740
741    // PARSING
742
743    addRegexToken('M',    match1to2);
744    addRegexToken('MM',   match1to2, match2);
745    addRegexToken('MMM',  function (isStrict, locale) {
746        return locale.monthsShortRegex(isStrict);
747    });
748    addRegexToken('MMMM', function (isStrict, locale) {
749        return locale.monthsRegex(isStrict);
750    });
751
752    addParseToken(['M', 'MM'], function (input, array) {
753        array[MONTH] = toInt(input) - 1;
754    });
755
756    addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {
757        var month = config._locale.monthsParse(input, token, config._strict);
758        // if we didn't find a month name, mark the date as invalid.
759        if (month != null) {
760            array[MONTH] = month;
761        } else {
762            getParsingFlags(config).invalidMonth = input;
763        }
764    });
765
766    // LOCALES
767
768    var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/;
769    var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');
770    function localeMonths (m, format) {
771        return isArray(this._months) ? this._months[m.month()] :
772            this._months[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];
773    }
774
775    var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');
776    function localeMonthsShort (m, format) {
777        return isArray(this._monthsShort) ? this._monthsShort[m.month()] :
778            this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];
779    }
780
781    function localeMonthsParse (monthName, format, strict) {
782        var i, mom, regex;
783
784        if (!this._monthsParse) {
785            this._monthsParse = [];
786            this._longMonthsParse = [];
787            this._shortMonthsParse = [];
788        }
789
790        for (i = 0; i < 12; i++) {
791            // make the regex if we don't have it already
792            mom = create_utc__createUTC([2000, i]);
793            if (strict && !this._longMonthsParse[i]) {
794                this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');
795                this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');
796            }
797            if (!strict && !this._monthsParse[i]) {
798                regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
799                this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
800            }
801            // test the regex
802            if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {
803                return i;
804            } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {
805                return i;
806            } else if (!strict && this._monthsParse[i].test(monthName)) {
807                return i;
808            }
809        }
810    }
811
812    // MOMENTS
813
814    function setMonth (mom, value) {
815        var dayOfMonth;
816
817        if (!mom.isValid()) {
818            // No op
819            return mom;
820        }
821
822        if (typeof value === 'string') {
823            if (/^\d+$/.test(value)) {
824                value = toInt(value);
825            } else {
826                value = mom.localeData().monthsParse(value);
827                // TODO: Another silent failure?
828                if (typeof value !== 'number') {
829                    return mom;
830                }
831            }
832        }
833
834        dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));
835        mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
836        return mom;
837    }
838
839    function getSetMonth (value) {
840        if (value != null) {
841            setMonth(this, value);
842            utils_hooks__hooks.updateOffset(this, true);
843            return this;
844        } else {
845            return get_set__get(this, 'Month');
846        }
847    }
848
849    function getDaysInMonth () {
850        return daysInMonth(this.year(), this.month());
851    }
852
853    var defaultMonthsShortRegex = matchWord;
854    function monthsShortRegex (isStrict) {
855        if (this._monthsParseExact) {
856            if (!hasOwnProp(this, '_monthsRegex')) {
857                computeMonthsParse.call(this);
858            }
859            if (isStrict) {
860                return this._monthsShortStrictRegex;
861            } else {
862                return this._monthsShortRegex;
863            }
864        } else {
865            return this._monthsShortStrictRegex && isStrict ?
866                this._monthsShortStrictRegex : this._monthsShortRegex;
867        }
868    }
869
870    var defaultMonthsRegex = matchWord;
871    function monthsRegex (isStrict) {
872        if (this._monthsParseExact) {
873            if (!hasOwnProp(this, '_monthsRegex')) {
874                computeMonthsParse.call(this);
875            }
876            if (isStrict) {
877                return this._monthsStrictRegex;
878            } else {
879                return this._monthsRegex;
880            }
881        } else {
882            return this._monthsStrictRegex && isStrict ?
883                this._monthsStrictRegex : this._monthsRegex;
884        }
885    }
886
887    function computeMonthsParse () {
888        function cmpLenRev(a, b) {
889            return b.length - a.length;
890        }
891
892        var shortPieces = [], longPieces = [], mixedPieces = [],
893            i, mom;
894        for (i = 0; i < 12; i++) {
895            // make the regex if we don't have it already
896            mom = create_utc__createUTC([2000, i]);
897            shortPieces.push(this.monthsShort(mom, ''));
898            longPieces.push(this.months(mom, ''));
899            mixedPieces.push(this.months(mom, ''));
900            mixedPieces.push(this.monthsShort(mom, ''));
901        }
902        // Sorting makes sure if one month (or abbr) is a prefix of another it
903        // will match the longer piece.
904        shortPieces.sort(cmpLenRev);
905        longPieces.sort(cmpLenRev);
906        mixedPieces.sort(cmpLenRev);
907        for (i = 0; i < 12; i++) {
908            shortPieces[i] = regexEscape(shortPieces[i]);
909            longPieces[i] = regexEscape(longPieces[i]);
910            mixedPieces[i] = regexEscape(mixedPieces[i]);
911        }
912
913        this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');
914        this._monthsShortRegex = this._monthsRegex;
915        this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')$', 'i');
916        this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')$', 'i');
917    }
918
919    function checkOverflow (m) {
920        var overflow;
921        var a = m._a;
922
923        if (a && getParsingFlags(m).overflow === -2) {
924            overflow =
925                a[MONTH]       < 0 || a[MONTH]       > 11  ? MONTH :
926                a[DATE]        < 1 || a[DATE]        > daysInMonth(a[YEAR], a[MONTH]) ? DATE :
927                a[HOUR]        < 0 || a[HOUR]        > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :
928                a[MINUTE]      < 0 || a[MINUTE]      > 59  ? MINUTE :
929                a[SECOND]      < 0 || a[SECOND]      > 59  ? SECOND :
930                a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :
931                -1;
932
933            if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
934                overflow = DATE;
935            }
936            if (getParsingFlags(m)._overflowWeeks && overflow === -1) {
937                overflow = WEEK;
938            }
939            if (getParsingFlags(m)._overflowWeekday && overflow === -1) {
940                overflow = WEEKDAY;
941            }
942
943            getParsingFlags(m).overflow = overflow;
944        }
945
946        return m;
947    }
948
949    // iso 8601 regex
950    // 0000-00-00 0000-W00 or 0000-W00-0 + T + 00 or 00:00 or 00:00:00 or 00:00:00.000 + +00:00 or +0000 or +00)
951    var extendedIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/;
952    var basicIsoRegex = /^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?/;
953
954    var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/;
955
956    var isoDates = [
957        ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/],
958        ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/],
959        ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/],
960        ['GGGG-[W]WW', /\d{4}-W\d\d/, false],
961        ['YYYY-DDD', /\d{4}-\d{3}/],
962        ['YYYY-MM', /\d{4}-\d\d/, false],
963        ['YYYYYYMMDD', /[+-]\d{10}/],
964        ['YYYYMMDD', /\d{8}/],
965        // YYYYMM is NOT allowed by the standard
966        ['GGGG[W]WWE', /\d{4}W\d{3}/],
967        ['GGGG[W]WW', /\d{4}W\d{2}/, false],
968        ['YYYYDDD', /\d{7}/]
969    ];
970
971    // iso time formats and regexes
972    var isoTimes = [
973        ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/],
974        ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/],
975        ['HH:mm:ss', /\d\d:\d\d:\d\d/],
976        ['HH:mm', /\d\d:\d\d/],
977        ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/],
978        ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/],
979        ['HHmmss', /\d\d\d\d\d\d/],
980        ['HHmm', /\d\d\d\d/],
981        ['HH', /\d\d/]
982    ];
983
984    var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i;
985
986    // date from iso format
987    function configFromISO(config) {
988        var i, l,
989            string = config._i,
990            match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),
991            allowTime, dateFormat, timeFormat, tzFormat;
992
993        if (match) {
994            getParsingFlags(config).iso = true;
995
996            for (i = 0, l = isoDates.length; i < l; i++) {
997                if (isoDates[i][1].exec(match[1])) {
998                    dateFormat = isoDates[i][0];
999                    allowTime = isoDates[i][2] !== false;
1000                    break;
1001                }
1002            }
1003            if (dateFormat == null) {
1004                config._isValid = false;
1005                return;
1006            }
1007            if (match[3]) {
1008                for (i = 0, l = isoTimes.length; i < l; i++) {
1009                    if (isoTimes[i][1].exec(match[3])) {
1010                        // match[2] should be 'T' or space
1011                        timeFormat = (match[2] || ' ') + isoTimes[i][0];
1012                        break;
1013                    }
1014                }
1015                if (timeFormat == null) {
1016                    config._isValid = false;
1017                    return;
1018                }
1019            }
1020            if (!allowTime && timeFormat != null) {
1021                config._isValid = false;
1022                return;
1023            }
1024            if (match[4]) {
1025                if (tzRegex.exec(match[4])) {
1026                    tzFormat = 'Z';
1027                } else {
1028                    config._isValid = false;
1029                    return;
1030                }
1031            }
1032            config._f = dateFormat + (timeFormat || '') + (tzFormat || '');
1033            configFromStringAndFormat(config);
1034        } else {
1035            config._isValid = false;
1036        }
1037    }
1038
1039    // date from iso format or fallback
1040    function configFromString(config) {
1041        var matched = aspNetJsonRegex.exec(config._i);
1042
1043        if (matched !== null) {
1044            config._d = new Date(+matched[1]);
1045            return;
1046        }
1047
1048        configFromISO(config);
1049        if (config._isValid === false) {
1050            delete config._isValid;
1051            utils_hooks__hooks.createFromInputFallback(config);
1052        }
1053    }
1054
1055    utils_hooks__hooks.createFromInputFallback = deprecate(
1056        'moment construction falls back to js Date. This is ' +
1057        'discouraged and will be removed in upcoming major ' +
1058        'release. Please refer to ' +
1059        'https://github.com/moment/moment/issues/1407 for more info.',
1060        function (config) {
1061            config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));
1062        }
1063    );
1064
1065    function createDate (y, m, d, h, M, s, ms) {
1066        //can't just apply() to create a date:
1067        //http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
1068        var date = new Date(y, m, d, h, M, s, ms);
1069
1070        //the date constructor remaps years 0-99 to 1900-1999
1071        if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {
1072            date.setFullYear(y);
1073        }
1074        return date;
1075    }
1076
1077    function createUTCDate (y) {
1078        var date = new Date(Date.UTC.apply(null, arguments));
1079
1080        //the Date.UTC function remaps years 0-99 to 1900-1999
1081        if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {
1082            date.setUTCFullYear(y);
1083        }
1084        return date;
1085    }
1086
1087    // FORMATTING
1088
1089    addFormatToken('Y', 0, 0, function () {
1090        var y = this.year();
1091        return y <= 9999 ? '' + y : '+' + y;
1092    });
1093
1094    addFormatToken(0, ['YY', 2], 0, function () {
1095        return this.year() % 100;
1096    });
1097
1098    addFormatToken(0, ['YYYY',   4],       0, 'year');
1099    addFormatToken(0, ['YYYYY',  5],       0, 'year');
1100    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');
1101
1102    // ALIASES
1103
1104    addUnitAlias('year', 'y');
1105
1106    // PARSING
1107
1108    addRegexToken('Y',      matchSigned);
1109    addRegexToken('YY',     match1to2, match2);
1110    addRegexToken('YYYY',   match1to4, match4);
1111    addRegexToken('YYYYY',  match1to6, match6);
1112    addRegexToken('YYYYYY', match1to6, match6);
1113
1114    addParseToken(['YYYYY', 'YYYYYY'], YEAR);
1115    addParseToken('YYYY', function (input, array) {
1116        array[YEAR] = input.length === 2 ? utils_hooks__hooks.parseTwoDigitYear(input) : toInt(input);
1117    });
1118    addParseToken('YY', function (input, array) {
1119        array[YEAR] = utils_hooks__hooks.parseTwoDigitYear(input);
1120    });
1121    addParseToken('Y', function (input, array) {
1122        array[YEAR] = parseInt(input, 10);
1123    });
1124
1125    // HELPERS
1126
1127    function daysInYear(year) {
1128        return isLeapYear(year) ? 366 : 365;
1129    }
1130
1131    function isLeapYear(year) {
1132        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
1133    }
1134
1135    // HOOKS
1136
1137    utils_hooks__hooks.parseTwoDigitYear = function (input) {
1138        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
1139    };
1140
1141    // MOMENTS
1142
1143    var getSetYear = makeGetSet('FullYear', false);
1144
1145    function getIsLeapYear () {
1146        return isLeapYear(this.year());
1147    }
1148
1149    // start-of-first-week - start-of-year
1150    function firstWeekOffset(year, dow, doy) {
1151        var // first-week day -- which january is always in the first week (4 for iso, 1 for other)
1152            fwd = 7 + dow - doy,
1153            // first-week day local weekday -- which local weekday is fwd
1154            fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;
1155
1156        return -fwdlw + fwd - 1;
1157    }
1158
1159    //http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
1160    function dayOfYearFromWeeks(year, week, weekday, dow, doy) {
1161        var localWeekday = (7 + weekday - dow) % 7,
1162            weekOffset = firstWeekOffset(year, dow, doy),
1163            dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,
1164            resYear, resDayOfYear;
1165
1166        if (dayOfYear <= 0) {
1167            resYear = year - 1;
1168            resDayOfYear = daysInYear(resYear) + dayOfYear;
1169        } else if (dayOfYear > daysInYear(year)) {
1170            resYear = year + 1;
1171            resDayOfYear = dayOfYear - daysInYear(year);
1172        } else {
1173            resYear = year;
1174            resDayOfYear = dayOfYear;
1175        }
1176
1177        return {
1178            year: resYear,
1179            dayOfYear: resDayOfYear
1180        };
1181    }
1182
1183    function weekOfYear(mom, dow, doy) {
1184        var weekOffset = firstWeekOffset(mom.year(), dow, doy),
1185            week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,
1186            resWeek, resYear;
1187
1188        if (week < 1) {
1189            resYear = mom.year() - 1;
1190            resWeek = week + weeksInYear(resYear, dow, doy);
1191        } else if (week > weeksInYear(mom.year(), dow, doy)) {
1192            resWeek = week - weeksInYear(mom.year(), dow, doy);
1193            resYear = mom.year() + 1;
1194        } else {
1195            resYear = mom.year();
1196            resWeek = week;
1197        }
1198
1199        return {
1200            week: resWeek,
1201            year: resYear
1202        };
1203    }
1204
1205    function weeksInYear(year, dow, doy) {
1206        var weekOffset = firstWeekOffset(year, dow, doy),
1207            weekOffsetNext = firstWeekOffset(year + 1, dow, doy);
1208        return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;
1209    }
1210
1211    // Pick the first defined of two or three arguments.
1212    function defaults(a, b, c) {
1213        if (a != null) {
1214            return a;
1215        }
1216        if (b != null) {
1217            return b;
1218        }
1219        return c;
1220    }
1221
1222    function currentDateArray(config) {
1223        // hooks is actually the exported moment object
1224        var nowValue = new Date(utils_hooks__hooks.now());
1225        if (config._useUTC) {
1226            return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];
1227        }
1228        return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];
1229    }
1230
1231    // convert an array to a date.
1232    // the array should mirror the parameters below
1233    // note: all values past the year are optional and will default to the lowest possible value.
1234    // [year, month, day , hour, minute, second, millisecond]
1235    function configFromArray (config) {
1236        var i, date, input = [], currentDate, yearToUse;
1237
1238        if (config._d) {
1239            return;
1240        }
1241
1242        currentDate = currentDateArray(config);
1243
1244        //compute day of the year from weeks and weekdays
1245        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
1246            dayOfYearFromWeekInfo(config);
1247        }
1248
1249        //if the day of the year is set, figure out what it is
1250        if (config._dayOfYear) {
1251            yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);
1252
1253            if (config._dayOfYear > daysInYear(yearToUse)) {
1254                getParsingFlags(config)._overflowDayOfYear = true;
1255            }
1256
1257            date = createUTCDate(yearToUse, 0, config._dayOfYear);
1258            config._a[MONTH] = date.getUTCMonth();
1259            config._a[DATE] = date.getUTCDate();
1260        }
1261
1262        // Default to current date.
1263        // * if no year, month, day of month are given, default to today
1264        // * if day of month is given, default month and year
1265        // * if month is given, default only year
1266        // * if year is given, don't default anything
1267        for (i = 0; i < 3 && config._a[i] == null; ++i) {
1268            config._a[i] = input[i] = currentDate[i];
1269        }
1270
1271        // Zero out whatever was not defaulted, including time
1272        for (; i < 7; i++) {
1273            config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
1274        }
1275
1276        // Check for 24:00:00.000
1277        if (config._a[HOUR] === 24 &&
1278                config._a[MINUTE] === 0 &&
1279                config._a[SECOND] === 0 &&
1280                config._a[MILLISECOND] === 0) {
1281            config._nextDay = true;
1282            config._a[HOUR] = 0;
1283        }
1284
1285        config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);
1286        // Apply timezone offset from input. The actual utcOffset can be changed
1287        // with parseZone.
1288        if (config._tzm != null) {
1289            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);
1290        }
1291
1292        if (config._nextDay) {
1293            config._a[HOUR] = 24;
1294        }
1295    }
1296
1297    function dayOfYearFromWeekInfo(config) {
1298        var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;
1299
1300        w = config._w;
1301        if (w.GG != null || w.W != null || w.E != null) {
1302            dow = 1;
1303            doy = 4;
1304
1305            // TODO: We need to take the current isoWeekYear, but that depends on
1306            // how we interpret now (local, utc, fixed offset). So create
1307            // a now version of current config (take local/utc/offset flags, and
1308            // create now).
1309            weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(local__createLocal(), 1, 4).year);
1310            week = defaults(w.W, 1);
1311            weekday = defaults(w.E, 1);
1312            if (weekday < 1 || weekday > 7) {
1313                weekdayOverflow = true;
1314            }
1315        } else {
1316            dow = config._locale._week.dow;
1317            doy = config._locale._week.doy;
1318
1319            weekYear = defaults(w.gg, config._a[YEAR], weekOfYear(local__createLocal(), dow, doy).year);
1320            week = defaults(w.w, 1);
1321
1322            if (w.d != null) {
1323                // weekday -- low day numbers are considered next week
1324                weekday = w.d;
1325                if (weekday < 0 || weekday > 6) {
1326                    weekdayOverflow = true;
1327                }
1328            } else if (w.e != null) {
1329                // local weekday -- counting starts from begining of week
1330                weekday = w.e + dow;
1331                if (w.e < 0 || w.e > 6) {
1332                    weekdayOverflow = true;
1333                }
1334            } else {
1335                // default to begining of week
1336                weekday = dow;
1337            }
1338        }
1339        if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {
1340            getParsingFlags(config)._overflowWeeks = true;
1341        } else if (weekdayOverflow != null) {
1342            getParsingFlags(config)._overflowWeekday = true;
1343        } else {
1344            temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);
1345            config._a[YEAR] = temp.year;
1346            config._dayOfYear = temp.dayOfYear;
1347        }
1348    }
1349
1350    // constant that refers to the ISO standard
1351    utils_hooks__hooks.ISO_8601 = function () {};
1352
1353    // date from string and format string
1354    function configFromStringAndFormat(config) {
1355        // TODO: Move this to another part of the creation flow to prevent circular deps
1356        if (config._f === utils_hooks__hooks.ISO_8601) {
1357            configFromISO(config);
1358            return;
1359        }
1360
1361        config._a = [];
1362        getParsingFlags(config).empty = true;
1363
1364        // This array is used to make a Date, either with `new Date` or `Date.UTC`
1365        var string = '' + config._i,
1366            i, parsedInput, tokens, token, skipped,
1367            stringLength = string.length,
1368            totalParsedInputLength = 0;
1369
1370        tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];
1371
1372        for (i = 0; i < tokens.length; i++) {
1373            token = tokens[i];
1374            parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
1375            // console.log('token', token, 'parsedInput', parsedInput,
1376            //         'regex', getParseRegexForToken(token, config));
1377            if (parsedInput) {
1378                skipped = string.substr(0, string.indexOf(parsedInput));
1379                if (skipped.length > 0) {
1380                    getParsingFlags(config).unusedInput.push(skipped);
1381                }
1382                string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
1383                totalParsedInputLength += parsedInput.length;
1384            }
1385            // don't parse if it's not a known token
1386            if (formatTokenFunctions[token]) {
1387                if (parsedInput) {
1388                    getParsingFlags(config).empty = false;
1389                }
1390                else {
1391                    getParsingFlags(config).unusedTokens.push(token);
1392                }
1393                addTimeToArrayFromToken(token, parsedInput, config);
1394            }
1395            else if (config._strict && !parsedInput) {
1396                getParsingFlags(config).unusedTokens.push(token);
1397            }
1398        }
1399
1400        // add remaining unparsed input length to the string
1401        getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;
1402        if (string.length > 0) {
1403            getParsingFlags(config).unusedInput.push(string);
1404        }
1405
1406        // clear _12h flag if hour is <= 12
1407        if (getParsingFlags(config).bigHour === true &&
1408                config._a[HOUR] <= 12 &&
1409                config._a[HOUR] > 0) {
1410            getParsingFlags(config).bigHour = undefined;
1411        }
1412        // handle meridiem
1413        config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);
1414
1415        configFromArray(config);
1416        checkOverflow(config);
1417    }
1418
1419
1420    function meridiemFixWrap (locale, hour, meridiem) {
1421        var isPm;
1422
1423        if (meridiem == null) {
1424            // nothing to do
1425            return hour;
1426        }
1427        if (locale.meridiemHour != null) {
1428            return locale.meridiemHour(hour, meridiem);
1429        } else if (locale.isPM != null) {
1430            // Fallback
1431            isPm = locale.isPM(meridiem);
1432            if (isPm && hour < 12) {
1433                hour += 12;
1434            }
1435            if (!isPm && hour === 12) {
1436                hour = 0;
1437            }
1438            return hour;
1439        } else {
1440            // this is not supposed to happen
1441            return hour;
1442        }
1443    }
1444
1445    // date from string and array of format strings
1446    function configFromStringAndArray(config) {
1447        var tempConfig,
1448            bestMoment,
1449
1450            scoreToBeat,
1451            i,
1452            currentScore;
1453
1454        if (config._f.length === 0) {
1455            getParsingFlags(config).invalidFormat = true;
1456            config._d = new Date(NaN);
1457            return;
1458        }
1459
1460        for (i = 0; i < config._f.length; i++) {
1461            currentScore = 0;
1462            tempConfig = copyConfig({}, config);
1463            if (config._useUTC != null) {
1464                tempConfig._useUTC = config._useUTC;
1465            }
1466            tempConfig._f = config._f[i];
1467            configFromStringAndFormat(tempConfig);
1468
1469            if (!valid__isValid(tempConfig)) {
1470                continue;
1471            }
1472
1473            // if there is any input that was not parsed add a penalty for that format
1474            currentScore += getParsingFlags(tempConfig).charsLeftOver;
1475
1476            //or tokens
1477            currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;
1478
1479            getParsingFlags(tempConfig).score = currentScore;
1480
1481            if (scoreToBeat == null || currentScore < scoreToBeat) {
1482                scoreToBeat = currentScore;
1483                bestMoment = tempConfig;
1484            }
1485        }
1486
1487        extend(config, bestMoment || tempConfig);
1488    }
1489
1490    function configFromObject(config) {
1491        if (config._d) {
1492            return;
1493        }
1494
1495        var i = normalizeObjectUnits(config._i);
1496        config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {
1497            return obj && parseInt(obj, 10);
1498        });
1499
1500        configFromArray(config);
1501    }
1502
1503    function createFromConfig (config) {
1504        var res = new Moment(checkOverflow(prepareConfig(config)));
1505        if (res._nextDay) {
1506            // Adding is smart enough around DST
1507            res.add(1, 'd');
1508            res._nextDay = undefined;
1509        }
1510
1511        return res;
1512    }
1513
1514    function prepareConfig (config) {
1515        var input = config._i,
1516            format = config._f;
1517
1518        config._locale = config._locale || locale_locales__getLocale(config._l);
1519
1520        if (input === null || (format === undefined && input === '')) {
1521            return valid__createInvalid({nullInput: true});
1522        }
1523
1524        if (typeof input === 'string') {
1525            config._i = input = config._locale.preparse(input);
1526        }
1527
1528        if (isMoment(input)) {
1529            return new Moment(checkOverflow(input));
1530        } else if (isArray(format)) {
1531            configFromStringAndArray(config);
1532        } else if (format) {
1533            configFromStringAndFormat(config);
1534        } else if (isDate(input)) {
1535            config._d = input;
1536        } else {
1537            configFromInput(config);
1538        }
1539
1540        if (!valid__isValid(config)) {
1541            config._d = null;
1542        }
1543
1544        return config;
1545    }
1546
1547    function configFromInput(config) {
1548        var input = config._i;
1549        if (input === undefined) {
1550            config._d = new Date(utils_hooks__hooks.now());
1551        } else if (isDate(input)) {
1552            config._d = new Date(+input);
1553        } else if (typeof input === 'string') {
1554            configFromString(config);
1555        } else if (isArray(input)) {
1556            config._a = map(input.slice(0), function (obj) {
1557                return parseInt(obj, 10);
1558            });
1559            configFromArray(config);
1560        } else if (typeof(input) === 'object') {
1561            configFromObject(config);
1562        } else if (typeof(input) === 'number') {
1563            // from milliseconds
1564            config._d = new Date(input);
1565        } else {
1566            utils_hooks__hooks.createFromInputFallback(config);
1567        }
1568    }
1569
1570    function createLocalOrUTC (input, format, locale, strict, isUTC) {
1571        var c = {};
1572
1573        if (typeof(locale) === 'boolean') {
1574            strict = locale;
1575            locale = undefined;
1576        }
1577        // object construction must be done this way.
1578        // https://github.com/moment/moment/issues/1423
1579        c._isAMomentObject = true;
1580        c._useUTC = c._isUTC = isUTC;
1581        c._l = locale;
1582        c._i = input;
1583        c._f = format;
1584        c._strict = strict;
1585
1586        return createFromConfig(c);
1587    }
1588
1589    function local__createLocal (input, format, locale, strict) {
1590        return createLocalOrUTC(input, format, locale, strict, false);
1591    }
1592
1593    var prototypeMin = deprecate(
1594         'moment().min is deprecated, use moment.max instead. https://github.com/moment/moment/issues/1548',
1595         function () {
1596             var other = local__createLocal.apply(null, arguments);
1597             if (this.isValid() && other.isValid()) {
1598                 return other < this ? this : other;
1599             } else {
1600                 return valid__createInvalid();
1601             }
1602         }
1603     );
1604
1605    var prototypeMax = deprecate(
1606        'moment().max is deprecated, use moment.min instead. https://github.com/moment/moment/issues/1548',
1607        function () {
1608            var other = local__createLocal.apply(null, arguments);
1609            if (this.isValid() && other.isValid()) {
1610                return other > this ? this : other;
1611            } else {
1612                return valid__createInvalid();
1613            }
1614        }
1615    );
1616
1617    // Pick a moment m from moments so that m[fn](other) is true for all
1618    // other. This relies on the function fn to be transitive.
1619    //
1620    // moments should either be an array of moment objects or an array, whose
1621    // first element is an array of moment objects.
1622    function pickBy(fn, moments) {
1623        var res, i;
1624        if (moments.length === 1 && isArray(moments[0])) {
1625            moments = moments[0];
1626        }
1627        if (!moments.length) {
1628            return local__createLocal();
1629        }
1630        res = moments[0];
1631        for (i = 1; i < moments.length; ++i) {
1632            if (!moments[i].isValid() || moments[i][fn](res)) {
1633                res = moments[i];
1634            }
1635        }
1636        return res;
1637    }
1638
1639    // TODO: Use [].sort instead?
1640    function min () {
1641        var args = [].slice.call(arguments, 0);
1642
1643        return pickBy('isBefore', args);
1644    }
1645
1646    function max () {
1647        var args = [].slice.call(arguments, 0);
1648
1649        return pickBy('isAfter', args);
1650    }
1651
1652    var now = function () {
1653        return Date.now ? Date.now() : +(new Date());
1654    };
1655
1656    function Duration (duration) {
1657        var normalizedInput = normalizeObjectUnits(duration),
1658            years = normalizedInput.year || 0,
1659            quarters = normalizedInput.quarter || 0,
1660            months = normalizedInput.month || 0,
1661            weeks = normalizedInput.week || 0,
1662            days = normalizedInput.day || 0,
1663            hours = normalizedInput.hour || 0,
1664            minutes = normalizedInput.minute || 0,
1665            seconds = normalizedInput.second || 0,
1666            milliseconds = normalizedInput.millisecond || 0;
1667
1668        // representation for dateAddRemove
1669        this._milliseconds = +milliseconds +
1670            seconds * 1e3 + // 1000
1671            minutes * 6e4 + // 1000 * 60
1672            hours * 36e5; // 1000 * 60 * 60
1673        // Because of dateAddRemove treats 24 hours as different from a
1674        // day when working around DST, we need to store them separately
1675        this._days = +days +
1676            weeks * 7;
1677        // It is impossible translate months into days without knowing
1678        // which months you are are talking about, so we have to store
1679        // it separately.
1680        this._months = +months +
1681            quarters * 3 +
1682            years * 12;
1683
1684        this._data = {};
1685
1686        this._locale = locale_locales__getLocale();
1687
1688        this._bubble();
1689    }
1690
1691    function isDuration (obj) {
1692        return obj instanceof Duration;
1693    }
1694
1695    // FORMATTING
1696
1697    function offset (token, separator) {
1698        addFormatToken(token, 0, 0, function () {
1699            var offset = this.utcOffset();
1700            var sign = '+';
1701            if (offset < 0) {
1702                offset = -offset;
1703                sign = '-';
1704            }
1705            return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);
1706        });
1707    }
1708
1709    offset('Z', ':');
1710    offset('ZZ', '');
1711
1712    // PARSING
1713
1714    addRegexToken('Z',  matchShortOffset);
1715    addRegexToken('ZZ', matchShortOffset);
1716    addParseToken(['Z', 'ZZ'], function (input, array, config) {
1717        config._useUTC = true;
1718        config._tzm = offsetFromString(matchShortOffset, input);
1719    });
1720
1721    // HELPERS
1722
1723    // timezone chunker
1724    // '+10:00' > ['10',  '00']
1725    // '-1530'  > ['-15', '30']
1726    var chunkOffset = /([\+\-]|\d\d)/gi;
1727
1728    function offsetFromString(matcher, string) {
1729        var matches = ((string || '').match(matcher) || []);
1730        var chunk   = matches[matches.length - 1] || [];
1731        var parts   = (chunk + '').match(chunkOffset) || ['-', 0, 0];
1732        var minutes = +(parts[1] * 60) + toInt(parts[2]);
1733
1734        return parts[0] === '+' ? minutes : -minutes;
1735    }
1736
1737    // Return a moment from input, that is local/utc/zone equivalent to model.
1738    function cloneWithOffset(input, model) {
1739        var res, diff;
1740        if (model._isUTC) {
1741            res = model.clone();
1742            diff = (isMoment(input) || isDate(input) ? +input : +local__createLocal(input)) - (+res);
1743            // Use low-level api, because this fn is low-level api.
1744            res._d.setTime(+res._d + diff);
1745            utils_hooks__hooks.updateOffset(res, false);
1746            return res;
1747        } else {
1748            return local__createLocal(input).local();
1749        }
1750    }
1751
1752    function getDateOffset (m) {
1753        // On Firefox.24 Date#getTimezoneOffset returns a floating point.
1754        // https://github.com/moment/moment/pull/1871
1755        return -Math.round(m._d.getTimezoneOffset() / 15) * 15;
1756    }
1757
1758    // HOOKS
1759
1760    // This function will be called whenever a moment is mutated.
1761    // It is intended to keep the offset in sync with the timezone.
1762    utils_hooks__hooks.updateOffset = function () {};
1763
1764    // MOMENTS
1765
1766    // keepLocalTime = true means only change the timezone, without
1767    // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->
1768    // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset
1769    // +0200, so we adjust the time as needed, to be valid.
1770    //
1771    // Keeping the time actually adds/subtracts (one hour)
1772    // from the actual represented time. That is why we call updateOffset
1773    // a second time. In case it wants us to change the offset again
1774    // _changeInProgress == true case, then we have to adjust, because
1775    // there is no such time in the given timezone.
1776    function getSetOffset (input, keepLocalTime) {
1777        var offset = this._offset || 0,
1778            localAdjust;
1779        if (!this.isValid()) {
1780            return input != null ? this : NaN;
1781        }
1782        if (input != null) {
1783            if (typeof input === 'string') {
1784                input = offsetFromString(matchShortOffset, input);
1785            } else if (Math.abs(input) < 16) {
1786                input = input * 60;
1787            }
1788            if (!this._isUTC && keepLocalTime) {
1789                localAdjust = getDateOffset(this);
1790            }
1791            this._offset = input;
1792            this._isUTC = true;
1793            if (localAdjust != null) {
1794                this.add(localAdjust, 'm');
1795            }
1796            if (offset !== input) {
1797                if (!keepLocalTime || this._changeInProgress) {
1798                    add_subtract__addSubtract(this, create__createDuration(input - offset, 'm'), 1, false);
1799                } else if (!this._changeInProgress) {
1800                    this._changeInProgress = true;
1801                    utils_hooks__hooks.updateOffset(this, true);
1802                    this._changeInProgress = null;
1803                }
1804            }
1805            return this;
1806        } else {
1807            return this._isUTC ? offset : getDateOffset(this);
1808        }
1809    }
1810
1811    function getSetZone (input, keepLocalTime) {
1812        if (input != null) {
1813            if (typeof input !== 'string') {
1814                input = -input;
1815            }
1816
1817            this.utcOffset(input, keepLocalTime);
1818
1819            return this;
1820        } else {
1821            return -this.utcOffset();
1822        }
1823    }
1824
1825    function setOffsetToUTC (keepLocalTime) {
1826        return this.utcOffset(0, keepLocalTime);
1827    }
1828
1829    function setOffsetToLocal (keepLocalTime) {
1830        if (this._isUTC) {
1831            this.utcOffset(0, keepLocalTime);
1832            this._isUTC = false;
1833
1834            if (keepLocalTime) {
1835                this.subtract(getDateOffset(this), 'm');
1836            }
1837        }
1838        return this;
1839    }
1840
1841    function setOffsetToParsedOffset () {
1842        if (this._tzm) {
1843            this.utcOffset(this._tzm);
1844        } else if (typeof this._i === 'string') {
1845            this.utcOffset(offsetFromString(matchOffset, this._i));
1846        }
1847        return this;
1848    }
1849
1850    function hasAlignedHourOffset (input) {
1851        if (!this.isValid()) {
1852            return false;
1853        }
1854        input = input ? local__createLocal(input).utcOffset() : 0;
1855
1856        return (this.utcOffset() - input) % 60 === 0;
1857    }
1858
1859    function isDaylightSavingTime () {
1860        return (
1861            this.utcOffset() > this.clone().month(0).utcOffset() ||
1862            this.utcOffset() > this.clone().month(5).utcOffset()
1863        );
1864    }
1865
1866    function isDaylightSavingTimeShifted () {
1867        if (!isUndefined(this._isDSTShifted)) {
1868            return this._isDSTShifted;
1869        }
1870
1871        var c = {};
1872
1873        copyConfig(c, this);
1874        c = prepareConfig(c);
1875
1876        if (c._a) {
1877            var other = c._isUTC ? create_utc__createUTC(c._a) : local__createLocal(c._a);
1878            this._isDSTShifted = this.isValid() &&
1879                compareArrays(c._a, other.toArray()) > 0;
1880        } else {
1881            this._isDSTShifted = false;
1882        }
1883
1884        return this._isDSTShifted;
1885    }
1886
1887    function isLocal () {
1888        return this.isValid() ? !this._isUTC : false;
1889    }
1890
1891    function isUtcOffset () {
1892        return this.isValid() ? this._isUTC : false;
1893    }
1894
1895    function isUtc () {
1896        return this.isValid() ? this._isUTC && this._offset === 0 : false;
1897    }
1898
1899    // ASP.NET json date format regex
1900    var aspNetRegex = /^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?\d*)?$/;
1901
1902    // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
1903    // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
1904    // and further modified to allow for strings containing both week and day
1905    var isoRegex = /^(-)?P(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)W)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?$/;
1906
1907    function create__createDuration (input, key) {
1908        var duration = input,
1909            // matching against regexp is expensive, do it on demand
1910            match = null,
1911            sign,
1912            ret,
1913            diffRes;
1914
1915        if (isDuration(input)) {
1916            duration = {
1917                ms : input._milliseconds,
1918                d  : input._days,
1919                M  : input._months
1920            };
1921        } else if (typeof input === 'number') {
1922            duration = {};
1923            if (key) {
1924                duration[key] = input;
1925            } else {
1926                duration.milliseconds = input;
1927            }
1928        } else if (!!(match = aspNetRegex.exec(input))) {
1929            sign = (match[1] === '-') ? -1 : 1;
1930            duration = {
1931                y  : 0,
1932                d  : toInt(match[DATE])        * sign,
1933                h  : toInt(match[HOUR])        * sign,
1934                m  : toInt(match[MINUTE])      * sign,
1935                s  : toInt(match[SECOND])      * sign,
1936                ms : toInt(match[MILLISECOND]) * sign
1937            };
1938        } else if (!!(match = isoRegex.exec(input))) {
1939            sign = (match[1] === '-') ? -1 : 1;
1940            duration = {
1941                y : parseIso(match[2], sign),
1942                M : parseIso(match[3], sign),
1943                w : parseIso(match[4], sign),
1944                d : parseIso(match[5], sign),
1945                h : parseIso(match[6], sign),
1946                m : parseIso(match[7], sign),
1947                s : parseIso(match[8], sign)
1948            };
1949        } else if (duration == null) {// checks for null or undefined
1950            duration = {};
1951        } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {
1952            diffRes = momentsDifference(local__createLocal(duration.from), local__createLocal(duration.to));
1953
1954            duration = {};
1955            duration.ms = diffRes.milliseconds;
1956            duration.M = diffRes.months;
1957        }
1958
1959        ret = new Duration(duration);
1960
1961        if (isDuration(input) && hasOwnProp(input, '_locale')) {
1962            ret._locale = input._locale;
1963        }
1964
1965        return ret;
1966    }
1967
1968    create__createDuration.fn = Duration.prototype;
1969
1970    function parseIso (inp, sign) {
1971        // We'd normally use ~~inp for this, but unfortunately it also
1972        // converts floats to ints.
1973        // inp may be undefined, so careful calling replace on it.
1974        var res = inp && parseFloat(inp.replace(',', '.'));
1975        // apply sign while we're at it
1976        return (isNaN(res) ? 0 : res) * sign;
1977    }
1978
1979    function positiveMomentsDifference(base, other) {
1980        var res = {milliseconds: 0, months: 0};
1981
1982        res.months = other.month() - base.month() +
1983            (other.year() - base.year()) * 12;
1984        if (base.clone().add(res.months, 'M').isAfter(other)) {
1985            --res.months;
1986        }
1987
1988        res.milliseconds = +other - +(base.clone().add(res.months, 'M'));
1989
1990        return res;
1991    }
1992
1993    function momentsDifference(base, other) {
1994        var res;
1995        if (!(base.isValid() && other.isValid())) {
1996            return {milliseconds: 0, months: 0};
1997        }
1998
1999        other = cloneWithOffset(other, base);
2000        if (base.isBefore(other)) {
2001            res = positiveMomentsDifference(base, other);
2002        } else {
2003            res = positiveMomentsDifference(other, base);
2004            res.milliseconds = -res.milliseconds;
2005            res.months = -res.months;
2006        }
2007
2008        return res;
2009    }
2010
2011    function absRound (number) {
2012        if (number < 0) {
2013            return Math.round(-1 * number) * -1;
2014        } else {
2015            return Math.round(number);
2016        }
2017    }
2018
2019    // TODO: remove 'name' arg after deprecation is removed
2020    function createAdder(direction, name) {
2021        return function (val, period) {
2022            var dur, tmp;
2023            //invert the arguments, but complain about it
2024            if (period !== null && !isNaN(+period)) {
2025                deprecateSimple(name, 'moment().' + name  + '(period, number) is deprecated. Please use moment().' + name + '(number, period).');
2026                tmp = val; val = period; period = tmp;
2027            }
2028
2029            val = typeof val === 'string' ? +val : val;
2030            dur = create__createDuration(val, period);
2031            add_subtract__addSubtract(this, dur, direction);
2032            return this;
2033        };
2034    }
2035
2036    function add_subtract__addSubtract (mom, duration, isAdding, updateOffset) {
2037        var milliseconds = duration._milliseconds,
2038            days = absRound(duration._days),
2039            months = absRound(duration._months);
2040
2041        if (!mom.isValid()) {
2042            // No op
2043            return;
2044        }
2045
2046        updateOffset = updateOffset == null ? true : updateOffset;
2047
2048        if (milliseconds) {
2049            mom._d.setTime(+mom._d + milliseconds * isAdding);
2050        }
2051        if (days) {
2052            get_set__set(mom, 'Date', get_set__get(mom, 'Date') + days * isAdding);
2053        }
2054        if (months) {
2055            setMonth(mom, get_set__get(mom, 'Month') + months * isAdding);
2056        }
2057        if (updateOffset) {
2058            utils_hooks__hooks.updateOffset(mom, days || months);
2059        }
2060    }
2061
2062    var add_subtract__add      = createAdder(1, 'add');
2063    var add_subtract__subtract = createAdder(-1, 'subtract');
2064
2065    function moment_calendar__calendar (time, formats) {
2066        // We want to compare the start of today, vs this.
2067        // Getting start-of-today depends on whether we're local/utc/offset or not.
2068        var now = time || local__createLocal(),
2069            sod = cloneWithOffset(now, this).startOf('day'),
2070            diff = this.diff(sod, 'days', true),
2071            format = diff < -6 ? 'sameElse' :
2072                diff < -1 ? 'lastWeek' :
2073                diff < 0 ? 'lastDay' :
2074                diff < 1 ? 'sameDay' :
2075                diff < 2 ? 'nextDay' :
2076                diff < 7 ? 'nextWeek' : 'sameElse';
2077
2078        var output = formats && (isFunction(formats[format]) ? formats[format]() : formats[format]);
2079
2080        return this.format(output || this.localeData().calendar(format, this, local__createLocal(now)));
2081    }
2082
2083    function clone () {
2084        return new Moment(this);
2085    }
2086
2087    function isAfter (input, units) {
2088        var localInput = isMoment(input) ? input : local__createLocal(input);
2089        if (!(this.isValid() && localInput.isValid())) {
2090            return false;
2091        }
2092        units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');
2093        if (units === 'millisecond') {
2094            return +this > +localInput;
2095        } else {
2096            return +localInput < +this.clone().startOf(units);
2097        }
2098    }
2099
2100    function isBefore (input, units) {
2101        var localInput = isMoment(input) ? input : local__createLocal(input);
2102        if (!(this.isValid() && localInput.isValid())) {
2103            return false;
2104        }
2105        units = normalizeUnits(!isUndefined(units) ? units : 'millisecond');
2106        if (units === 'millisecond') {
2107            return +this < +localInput;
2108        } else {
2109            return +this.clone().endOf(units) < +localInput;
2110        }
2111    }
2112
2113    function isBetween (from, to, units) {
2114        return this.isAfter(from, units) && this.isBefore(to, units);
2115    }
2116
2117    function isSame (input, units) {
2118        var localInput = isMoment(input) ? input : local__createLocal(input),
2119            inputMs;
2120        if (!(this.isValid() && localInput.isValid())) {
2121            return false;
2122        }
2123        units = normalizeUnits(units || 'millisecond');
2124        if (units === 'millisecond') {
2125            return +this === +localInput;
2126        } else {
2127            inputMs = +localInput;
2128            return +(this.clone().startOf(units)) <= inputMs && inputMs <= +(this.clone().endOf(units));
2129        }
2130    }
2131
2132    function isSameOrAfter (input, units) {
2133        return this.isSame(input, units) || this.isAfter(input,units);
2134    }
2135
2136    function isSameOrBefore (input, units) {
2137        return this.isSame(input, units) || this.isBefore(input,units);
2138    }
2139
2140    function diff (input, units, asFloat) {
2141        var that,
2142            zoneDelta,
2143            delta, output;
2144
2145        if (!this.isValid()) {
2146            return NaN;
2147        }
2148
2149        that = cloneWithOffset(input, this);
2150
2151        if (!that.isValid()) {
2152            return NaN;
2153        }
2154
2155        zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;
2156
2157        units = normalizeUnits(units);
2158
2159        if (units === 'year' || units === 'month' || units === 'quarter') {
2160            output = monthDiff(this, that);
2161            if (units === 'quarter') {
2162                output = output / 3;
2163            } else if (units === 'year') {
2164                output = output / 12;
2165            }
2166        } else {
2167            delta = this - that;
2168            output = units === 'second' ? delta / 1e3 : // 1000
2169                units === 'minute' ? delta / 6e4 : // 1000 * 60
2170                units === 'hour' ? delta / 36e5 : // 1000 * 60 * 60
2171                units === 'day' ? (delta - zoneDelta) / 864e5 : // 1000 * 60 * 60 * 24, negate dst
2172                units === 'week' ? (delta - zoneDelta) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst
2173                delta;
2174        }
2175        return asFloat ? output : absFloor(output);
2176    }
2177
2178    function monthDiff (a, b) {
2179        // difference in months
2180        var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),
2181            // b is in (anchor - 1 month, anchor + 1 month)
2182            anchor = a.clone().add(wholeMonthDiff, 'months'),
2183            anchor2, adjust;
2184
2185        if (b - anchor < 0) {
2186            anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');
2187            // linear across the month
2188            adjust = (b - anchor) / (anchor - anchor2);
2189        } else {
2190            anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');
2191            // linear across the month
2192            adjust = (b - anchor) / (anchor2 - anchor);
2193        }
2194
2195        return -(wholeMonthDiff + adjust);
2196    }
2197
2198    utils_hooks__hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';
2199
2200    function toString () {
2201        return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');
2202    }
2203
2204    function moment_format__toISOString () {
2205        var m = this.clone().utc();
2206        if (0 < m.year() && m.year() <= 9999) {
2207            if (isFunction(Date.prototype.toISOString)) {
2208                // native implementation is ~50x faster, use it when we can
2209                return this.toDate().toISOString();
2210            } else {
2211                return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
2212            }
2213        } else {
2214            return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
2215        }
2216    }
2217
2218    function moment_format__format (inputString) {
2219        var output = formatMoment(this, inputString || utils_hooks__hooks.defaultFormat);
2220        return this.localeData().postformat(output);
2221    }
2222
2223    function from (time, withoutSuffix) {
2224        if (this.isValid() &&
2225                ((isMoment(time) && time.isValid()) ||
2226                 local__createLocal(time).isValid())) {
2227            return create__createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);
2228        } else {
2229            return this.localeData().invalidDate();
2230        }
2231    }
2232
2233    function fromNow (withoutSuffix) {
2234        return this.from(local__createLocal(), withoutSuffix);
2235    }
2236
2237    function to (time, withoutSuffix) {
2238        if (this.isValid() &&
2239                ((isMoment(time) && time.isValid()) ||
2240                 local__createLocal(time).isValid())) {
2241            return create__createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);
2242        } else {
2243            return this.localeData().invalidDate();
2244        }
2245    }
2246
2247    function toNow (withoutSuffix) {
2248        return this.to(local__createLocal(), withoutSuffix);
2249    }
2250
2251    // If passed a locale key, it will set the locale for this
2252    // instance.  Otherwise, it will return the locale configuration
2253    // variables for this instance.
2254    function locale (key) {
2255        var newLocaleData;
2256
2257        if (key === undefined) {
2258            return this._locale._abbr;
2259        } else {
2260            newLocaleData = locale_locales__getLocale(key);
2261            if (newLocaleData != null) {
2262                this._locale = newLocaleData;
2263            }
2264            return this;
2265        }
2266    }
2267
2268    var lang = deprecate(
2269        'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',
2270        function (key) {
2271            if (key === undefined) {
2272                return this.localeData();
2273            } else {
2274                return this.locale(key);
2275            }
2276        }
2277    );
2278
2279    function localeData () {
2280        return this._locale;
2281    }
2282
2283    function startOf (units) {
2284        units = normalizeUnits(units);
2285        // the following switch intentionally omits break keywords
2286        // to utilize falling through the cases.
2287        switch (units) {
2288        case 'year':
2289            this.month(0);
2290            /* falls through */
2291        case 'quarter':
2292        case 'month':
2293            this.date(1);
2294            /* falls through */
2295        case 'week':
2296        case 'isoWeek':
2297        case 'day':
2298            this.hours(0);
2299            /* falls through */
2300        case 'hour':
2301            this.minutes(0);
2302            /* falls through */
2303        case 'minute':
2304            this.seconds(0);
2305            /* falls through */
2306        case 'second':
2307            this.milliseconds(0);
2308        }
2309
2310        // weeks are a special case
2311        if (units === 'week') {
2312            this.weekday(0);
2313        }
2314        if (units === 'isoWeek') {
2315            this.isoWeekday(1);
2316        }
2317
2318        // quarters are also special
2319        if (units === 'quarter') {
2320            this.month(Math.floor(this.month() / 3) * 3);
2321        }
2322
2323        return this;
2324    }
2325
2326    function endOf (units) {
2327        units = normalizeUnits(units);
2328        if (units === undefined || units === 'millisecond') {
2329            return this;
2330        }
2331        return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');
2332    }
2333
2334    function to_type__valueOf () {
2335        return +this._d - ((this._offset || 0) * 60000);
2336    }
2337
2338    function unix () {
2339        return Math.floor(+this / 1000);
2340    }
2341
2342    function toDate () {
2343        return this._offset ? new Date(+this) : this._d;
2344    }
2345
2346    function toArray () {
2347        var m = this;
2348        return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];
2349    }
2350
2351    function toObject () {
2352        var m = this;
2353        return {
2354            years: m.year(),
2355            months: m.month(),
2356            date: m.date(),
2357            hours: m.hours(),
2358            minutes: m.minutes(),
2359            seconds: m.seconds(),
2360            milliseconds: m.milliseconds()
2361        };
2362    }
2363
2364    function toJSON () {
2365        // new Date(NaN).toJSON() === null
2366        return this.isValid() ? this.toISOString() : null;
2367    }
2368
2369    function moment_valid__isValid () {
2370        return valid__isValid(this);
2371    }
2372
2373    function parsingFlags () {
2374        return extend({}, getParsingFlags(this));
2375    }
2376
2377    function invalidAt () {
2378        return getParsingFlags(this).overflow;
2379    }
2380
2381    function creationData() {
2382        return {
2383            input: this._i,
2384            format: this._f,
2385            locale: this._locale,
2386            isUTC: this._isUTC,
2387            strict: this._strict
2388        };
2389    }
2390
2391    // FORMATTING
2392
2393    addFormatToken(0, ['gg', 2], 0, function () {
2394        return this.weekYear() % 100;
2395    });
2396
2397    addFormatToken(0, ['GG', 2], 0, function () {
2398        return this.isoWeekYear() % 100;
2399    });
2400
2401    function addWeekYearFormatToken (token, getter) {
2402        addFormatToken(0, [token, token.length], 0, getter);
2403    }
2404
2405    addWeekYearFormatToken('gggg',     'weekYear');
2406    addWeekYearFormatToken('ggggg',    'weekYear');
2407    addWeekYearFormatToken('GGGG',  'isoWeekYear');
2408    addWeekYearFormatToken('GGGGG', 'isoWeekYear');
2409
2410    // ALIASES
2411
2412    addUnitAlias('weekYear', 'gg');
2413    addUnitAlias('isoWeekYear', 'GG');
2414
2415    // PARSING
2416
2417    addRegexToken('G',      matchSigned);
2418    addRegexToken('g',      matchSigned);
2419    addRegexToken('GG',     match1to2, match2);
2420    addRegexToken('gg',     match1to2, match2);
2421    addRegexToken('GGGG',   match1to4, match4);
2422    addRegexToken('gggg',   match1to4, match4);
2423    addRegexToken('GGGGG',  match1to6, match6);
2424    addRegexToken('ggggg',  match1to6, match6);
2425
2426    addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {
2427        week[token.substr(0, 2)] = toInt(input);
2428    });
2429
2430    addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {
2431        week[token] = utils_hooks__hooks.parseTwoDigitYear(input);
2432    });
2433
2434    // MOMENTS
2435
2436    function getSetWeekYear (input) {
2437        return getSetWeekYearHelper.call(this,
2438                input,
2439                this.week(),
2440                this.weekday(),
2441                this.localeData()._week.dow,
2442                this.localeData()._week.doy);
2443    }
2444
2445    function getSetISOWeekYear (input) {
2446        return getSetWeekYearHelper.call(this,
2447                input, this.isoWeek(), this.isoWeekday(), 1, 4);
2448    }
2449
2450    function getISOWeeksInYear () {
2451        return weeksInYear(this.year(), 1, 4);
2452    }
2453
2454    function getWeeksInYear () {
2455        var weekInfo = this.localeData()._week;
2456        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
2457    }
2458
2459    function getSetWeekYearHelper(input, week, weekday, dow, doy) {
2460        var weeksTarget;
2461        if (input == null) {
2462            return weekOfYear(this, dow, doy).year;
2463        } else {
2464            weeksTarget = weeksInYear(input, dow, doy);
2465            if (week > weeksTarget) {
2466                week = weeksTarget;
2467            }
2468            return setWeekAll.call(this, input, week, weekday, dow, doy);
2469        }
2470    }
2471
2472    function setWeekAll(weekYear, week, weekday, dow, doy) {
2473        var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),
2474            date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);
2475
2476        this.year(date.getUTCFullYear());
2477        this.month(date.getUTCMonth());
2478        this.date(date.getUTCDate());
2479        return this;
2480    }
2481
2482    // FORMATTING
2483
2484    addFormatToken('Q', 0, 'Qo', 'quarter');
2485
2486    // ALIASES
2487
2488    addUnitAlias('quarter', 'Q');
2489
2490    // PARSING
2491
2492    addRegexToken('Q', match1);
2493    addParseToken('Q', function (input, array) {
2494        array[MONTH] = (toInt(input) - 1) * 3;
2495    });
2496
2497    // MOMENTS
2498
2499    function getSetQuarter (input) {
2500        return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
2501    }
2502
2503    // FORMATTING
2504
2505    addFormatToken('w', ['ww', 2], 'wo', 'week');
2506    addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');
2507
2508    // ALIASES
2509
2510    addUnitAlias('week', 'w');
2511    addUnitAlias('isoWeek', 'W');
2512
2513    // PARSING
2514
2515    addRegexToken('w',  match1to2);
2516    addRegexToken('ww', match1to2, match2);
2517    addRegexToken('W',  match1to2);
2518    addRegexToken('WW', match1to2, match2);
2519
2520    addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {
2521        week[token.substr(0, 1)] = toInt(input);
2522    });
2523
2524    // HELPERS
2525
2526    // LOCALES
2527
2528    function localeWeek (mom) {
2529        return weekOfYear(mom, this._week.dow, this._week.doy).week;
2530    }
2531
2532    var defaultLocaleWeek = {
2533        dow : 0, // Sunday is the first day of the week.
2534        doy : 6  // The week that contains Jan 1st is the first week of the year.
2535    };
2536
2537    function localeFirstDayOfWeek () {
2538        return this._week.dow;
2539    }
2540
2541    function localeFirstDayOfYear () {
2542        return this._week.doy;
2543    }
2544
2545    // MOMENTS
2546
2547    function getSetWeek (input) {
2548        var week = this.localeData().week(this);
2549        return input == null ? week : this.add((input - week) * 7, 'd');
2550    }
2551
2552    function getSetISOWeek (input) {
2553        var week = weekOfYear(this, 1, 4).week;
2554        return input == null ? week : this.add((input - week) * 7, 'd');
2555    }
2556
2557    // FORMATTING
2558
2559    addFormatToken('D', ['DD', 2], 'Do', 'date');
2560
2561    // ALIASES
2562
2563    addUnitAlias('date', 'D');
2564
2565    // PARSING
2566
2567    addRegexToken('D',  match1to2);
2568    addRegexToken('DD', match1to2, match2);
2569    addRegexToken('Do', function (isStrict, locale) {
2570        return isStrict ? locale._ordinalParse : locale._ordinalParseLenient;
2571    });
2572
2573    addParseToken(['D', 'DD'], DATE);
2574    addParseToken('Do', function (input, array) {
2575        array[DATE] = toInt(input.match(match1to2)[0], 10);
2576    });
2577
2578    // MOMENTS
2579
2580    var getSetDayOfMonth = makeGetSet('Date', true);
2581
2582    // FORMATTING
2583
2584    addFormatToken('d', 0, 'do', 'day');
2585
2586    addFormatToken('dd', 0, 0, function (format) {
2587        return this.localeData().weekdaysMin(this, format);
2588    });
2589
2590    addFormatToken('ddd', 0, 0, function (format) {
2591        return this.localeData().weekdaysShort(this, format);
2592    });
2593
2594    addFormatToken('dddd', 0, 0, function (format) {
2595        return this.localeData().weekdays(this, format);
2596    });
2597
2598    addFormatToken('e', 0, 0, 'weekday');
2599    addFormatToken('E', 0, 0, 'isoWeekday');
2600
2601    // ALIASES
2602
2603    addUnitAlias('day', 'd');
2604    addUnitAlias('weekday', 'e');
2605    addUnitAlias('isoWeekday', 'E');
2606
2607    // PARSING
2608
2609    addRegexToken('d',    match1to2);
2610    addRegexToken('e',    match1to2);
2611    addRegexToken('E',    match1to2);
2612    addRegexToken('dd',   matchWord);
2613    addRegexToken('ddd',  matchWord);
2614    addRegexToken('dddd', matchWord);
2615
2616    addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {
2617        var weekday = config._locale.weekdaysParse(input, token, config._strict);
2618        // if we didn't get a weekday name, mark the date as invalid
2619        if (weekday != null) {
2620            week.d = weekday;
2621        } else {
2622            getParsingFlags(config).invalidWeekday = input;
2623        }
2624    });
2625
2626    addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {
2627        week[token] = toInt(input);
2628    });
2629
2630    // HELPERS
2631
2632    function parseWeekday(input, locale) {
2633        if (typeof input !== 'string') {
2634            return input;
2635        }
2636
2637        if (!isNaN(input)) {
2638            return parseInt(input, 10);
2639        }
2640
2641        input = locale.weekdaysParse(input);
2642        if (typeof input === 'number') {
2643            return input;
2644        }
2645
2646        return null;
2647    }
2648
2649    // LOCALES
2650
2651    var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');
2652    function localeWeekdays (m, format) {
2653        return isArray(this._weekdays) ? this._weekdays[m.day()] :
2654            this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];
2655    }
2656
2657    var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');
2658    function localeWeekdaysShort (m) {
2659        return this._weekdaysShort[m.day()];
2660    }
2661
2662    var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');
2663    function localeWeekdaysMin (m) {
2664        return this._weekdaysMin[m.day()];
2665    }
2666
2667    function localeWeekdaysParse (weekdayName, format, strict) {
2668        var i, mom, regex;
2669
2670        if (!this._weekdaysParse) {
2671            this._weekdaysParse = [];
2672            this._minWeekdaysParse = [];
2673            this._shortWeekdaysParse = [];
2674            this._fullWeekdaysParse = [];
2675        }
2676
2677        for (i = 0; i < 7; i++) {
2678            // make the regex if we don't have it already
2679
2680            mom = local__createLocal([2000, 1]).day(i);
2681            if (strict && !this._fullWeekdaysParse[i]) {
2682                this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\.?') + '$', 'i');
2683                this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\.?') + '$', 'i');
2684                this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\.?') + '$', 'i');
2685            }
2686            if (!this._weekdaysParse[i]) {
2687                regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
2688                this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
2689            }
2690            // test the regex
2691            if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {
2692                return i;
2693            } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {
2694                return i;
2695            } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {
2696                return i;
2697            } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {
2698                return i;
2699            }
2700        }
2701    }
2702
2703    // MOMENTS
2704
2705    function getSetDayOfWeek (input) {
2706        if (!this.isValid()) {
2707            return input != null ? this : NaN;
2708        }
2709        var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
2710        if (input != null) {
2711            input = parseWeekday(input, this.localeData());
2712            return this.add(input - day, 'd');
2713        } else {
2714            return day;
2715        }
2716    }
2717
2718    function getSetLocaleDayOfWeek (input) {
2719        if (!this.isValid()) {
2720            return input != null ? this : NaN;
2721        }
2722        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;
2723        return input == null ? weekday : this.add(input - weekday, 'd');
2724    }
2725
2726    function getSetISODayOfWeek (input) {
2727        if (!this.isValid()) {
2728            return input != null ? this : NaN;
2729        }
2730        // behaves the same as moment#day except
2731        // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
2732        // as a setter, sunday should belong to the previous week.
2733        return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7);
2734    }
2735
2736    // FORMATTING
2737
2738    addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');
2739
2740    // ALIASES
2741
2742    addUnitAlias('dayOfYear', 'DDD');
2743
2744    // PARSING
2745
2746    addRegexToken('DDD',  match1to3);
2747    addRegexToken('DDDD', match3);
2748    addParseToken(['DDD', 'DDDD'], function (input, array, config) {
2749        config._dayOfYear = toInt(input);
2750    });
2751
2752    // HELPERS
2753
2754    // MOMENTS
2755
2756    function getSetDayOfYear (input) {
2757        var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;
2758        return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');
2759    }
2760
2761    // FORMATTING
2762
2763    function hFormat() {
2764        return this.hours() % 12 || 12;
2765    }
2766
2767    addFormatToken('H', ['HH', 2], 0, 'hour');
2768    addFormatToken('h', ['hh', 2], 0, hFormat);
2769
2770    addFormatToken('hmm', 0, 0, function () {
2771        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);
2772    });
2773
2774    addFormatToken('hmmss', 0, 0, function () {
2775        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +
2776            zeroFill(this.seconds(), 2);
2777    });
2778
2779    addFormatToken('Hmm', 0, 0, function () {
2780        return '' + this.hours() + zeroFill(this.minutes(), 2);
2781    });
2782
2783    addFormatToken('Hmmss', 0, 0, function () {
2784        return '' + this.hours() + zeroFill(this.minutes(), 2) +
2785            zeroFill(this.seconds(), 2);
2786    });
2787
2788    function meridiem (token, lowercase) {
2789        addFormatToken(token, 0, 0, function () {
2790            return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);
2791        });
2792    }
2793
2794    meridiem('a', true);
2795    meridiem('A', false);
2796
2797    // ALIASES
2798
2799    addUnitAlias('hour', 'h');
2800
2801    // PARSING
2802
2803    function matchMeridiem (isStrict, locale) {
2804        return locale._meridiemParse;
2805    }
2806
2807    addRegexToken('a',  matchMeridiem);
2808    addRegexToken('A',  matchMeridiem);
2809    addRegexToken('H',  match1to2);
2810    addRegexToken('h',  match1to2);
2811    addRegexToken('HH', match1to2, match2);
2812    addRegexToken('hh', match1to2, match2);
2813
2814    addRegexToken('hmm', match3to4);
2815    addRegexToken('hmmss', match5to6);
2816    addRegexToken('Hmm', match3to4);
2817    addRegexToken('Hmmss', match5to6);
2818
2819    addParseToken(['H', 'HH'], HOUR);
2820    addParseToken(['a', 'A'], function (input, array, config) {
2821        config._isPm = config._locale.isPM(input);
2822        config._meridiem = input;
2823    });
2824    addParseToken(['h', 'hh'], function (input, array, config) {
2825        array[HOUR] = toInt(input);
2826        getParsingFlags(config).bigHour = true;
2827    });
2828    addParseToken('hmm', function (input, array, config) {
2829        var pos = input.length - 2;
2830        array[HOUR] = toInt(input.substr(0, pos));
2831        array[MINUTE] = toInt(input.substr(pos));
2832        getParsingFlags(config).bigHour = true;
2833    });
2834    addParseToken('hmmss', function (input, array, config) {
2835        var pos1 = input.length - 4;
2836        var pos2 = input.length - 2;
2837        array[HOUR] = toInt(input.substr(0, pos1));
2838        array[MINUTE] = toInt(input.substr(pos1, 2));
2839        array[SECOND] = toInt(input.substr(pos2));
2840        getParsingFlags(config).bigHour = true;
2841    });
2842    addParseToken('Hmm', function (input, array, config) {
2843        var pos = input.length - 2;
2844        array[HOUR] = toInt(input.substr(0, pos));
2845        array[MINUTE] = toInt(input.substr(pos));
2846    });
2847    addParseToken('Hmmss', function (input, array, config) {
2848        var pos1 = input.length - 4;
2849        var pos2 = input.length - 2;
2850        array[HOUR] = toInt(input.substr(0, pos1));
2851        array[MINUTE] = toInt(input.substr(pos1, 2));
2852        array[SECOND] = toInt(input.substr(pos2));
2853    });
2854
2855    // LOCALES
2856
2857    function localeIsPM (input) {
2858        // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
2859        // Using charAt should be more compatible.
2860        return ((input + '').toLowerCase().charAt(0) === 'p');
2861    }
2862
2863    var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i;
2864    function localeMeridiem (hours, minutes, isLower) {
2865        if (hours > 11) {
2866            return isLower ? 'pm' : 'PM';
2867        } else {
2868            return isLower ? 'am' : 'AM';
2869        }
2870    }
2871
2872
2873    // MOMENTS
2874
2875    // Setting the hour should keep the time, because the user explicitly
2876    // specified which hour he wants. So trying to maintain the same hour (in
2877    // a new timezone) makes sense. Adding/subtracting hours does not follow
2878    // this rule.
2879    var getSetHour = makeGetSet('Hours', true);
2880
2881    // FORMATTING
2882
2883    addFormatToken('m', ['mm', 2], 0, 'minute');
2884
2885    // ALIASES
2886
2887    addUnitAlias('minute', 'm');
2888
2889    // PARSING
2890
2891    addRegexToken('m',  match1to2);
2892    addRegexToken('mm', match1to2, match2);
2893    addParseToken(['m', 'mm'], MINUTE);
2894
2895    // MOMENTS
2896
2897    var getSetMinute = makeGetSet('Minutes', false);
2898
2899    // FORMATTING
2900
2901    addFormatToken('s', ['ss', 2], 0, 'second');
2902
2903    // ALIASES
2904
2905    addUnitAlias('second', 's');
2906
2907    // PARSING
2908
2909    addRegexToken('s',  match1to2);
2910    addRegexToken('ss', match1to2, match2);
2911    addParseToken(['s', 'ss'], SECOND);
2912
2913    // MOMENTS
2914
2915    var getSetSecond = makeGetSet('Seconds', false);
2916
2917    // FORMATTING
2918
2919    addFormatToken('S', 0, 0, function () {
2920        return ~~(this.millisecond() / 100);
2921    });
2922
2923    addFormatToken(0, ['SS', 2], 0, function () {
2924        return ~~(this.millisecond() / 10);
2925    });
2926
2927    addFormatToken(0, ['SSS', 3], 0, 'millisecond');
2928    addFormatToken(0, ['SSSS', 4], 0, function () {
2929        return this.millisecond() * 10;
2930    });
2931    addFormatToken(0, ['SSSSS', 5], 0, function () {
2932        return this.millisecond() * 100;
2933    });
2934    addFormatToken(0, ['SSSSSS', 6], 0, function () {
2935        return this.millisecond() * 1000;
2936    });
2937    addFormatToken(0, ['SSSSSSS', 7], 0, function () {
2938        return this.millisecond() * 10000;
2939    });
2940    addFormatToken(0, ['SSSSSSSS', 8], 0, function () {
2941        return this.millisecond() * 100000;
2942    });
2943    addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {
2944        return this.millisecond() * 1000000;
2945    });
2946
2947
2948    // ALIASES
2949
2950    addUnitAlias('millisecond', 'ms');
2951
2952    // PARSING
2953
2954    addRegexToken('S',    match1to3, match1);
2955    addRegexToken('SS',   match1to3, match2);
2956    addRegexToken('SSS',  match1to3, match3);
2957
2958    var token;
2959    for (token = 'SSSS'; token.length <= 9; token += 'S') {
2960        addRegexToken(token, matchUnsigned);
2961    }
2962
2963    function parseMs(input, array) {
2964        array[MILLISECOND] = toInt(('0.' + input) * 1000);
2965    }
2966
2967    for (token = 'S'; token.length <= 9; token += 'S') {
2968        addParseToken(token, parseMs);
2969    }
2970    // MOMENTS
2971
2972    var getSetMillisecond = makeGetSet('Milliseconds', false);
2973
2974    // FORMATTING
2975
2976    addFormatToken('z',  0, 0, 'zoneAbbr');
2977    addFormatToken('zz', 0, 0, 'zoneName');
2978
2979    // MOMENTS
2980
2981    function getZoneAbbr () {
2982        return this._isUTC ? 'UTC' : '';
2983    }
2984
2985    function getZoneName () {
2986        return this._isUTC ? 'Coordinated Universal Time' : '';
2987    }
2988
2989    var momentPrototype__proto = Moment.prototype;
2990
2991    momentPrototype__proto.add               = add_subtract__add;
2992    momentPrototype__proto.calendar          = moment_calendar__calendar;
2993    momentPrototype__proto.clone             = clone;
2994    momentPrototype__proto.diff              = diff;
2995    momentPrototype__proto.endOf             = endOf;
2996    momentPrototype__proto.format            = moment_format__format;
2997    momentPrototype__proto.from              = from;
2998    momentPrototype__proto.fromNow           = fromNow;
2999    momentPrototype__proto.to                = to;
3000    momentPrototype__proto.toNow             = toNow;
3001    momentPrototype__proto.get               = getSet;
3002    momentPrototype__proto.invalidAt         = invalidAt;
3003    momentPrototype__proto.isAfter           = isAfter;
3004    momentPrototype__proto.isBefore          = isBefore;
3005    momentPrototype__proto.isBetween         = isBetween;
3006    momentPrototype__proto.isSame            = isSame;
3007    momentPrototype__proto.isSameOrAfter     = isSameOrAfter;
3008    momentPrototype__proto.isSameOrBefore    = isSameOrBefore;
3009    momentPrototype__proto.isValid           = moment_valid__isValid;
3010    momentPrototype__proto.lang              = lang;
3011    momentPrototype__proto.locale            = locale;
3012    momentPrototype__proto.localeData        = localeData;
3013    momentPrototype__proto.max               = prototypeMax;
3014    momentPrototype__proto.min               = prototypeMin;
3015    momentPrototype__proto.parsingFlags      = parsingFlags;
3016    momentPrototype__proto.set               = getSet;
3017    momentPrototype__proto.startOf           = startOf;
3018    momentPrototype__proto.subtract          = add_subtract__subtract;
3019    momentPrototype__proto.toArray           = toArray;
3020    momentPrototype__proto.toObject          = toObject;
3021    momentPrototype__proto.toDate            = toDate;
3022    momentPrototype__proto.toISOString       = moment_format__toISOString;
3023    momentPrototype__proto.toJSON            = toJSON;
3024    momentPrototype__proto.toString          = toString;
3025    momentPrototype__proto.unix              = unix;
3026    momentPrototype__proto.valueOf           = to_type__valueOf;
3027    momentPrototype__proto.creationData      = creationData;
3028
3029    // Year
3030    momentPrototype__proto.year       = getSetYear;
3031    momentPrototype__proto.isLeapYear = getIsLeapYear;
3032
3033    // Week Year
3034    momentPrototype__proto.weekYear    = getSetWeekYear;
3035    momentPrototype__proto.isoWeekYear = getSetISOWeekYear;
3036
3037    // Quarter
3038    momentPrototype__proto.quarter = momentPrototype__proto.quarters = getSetQuarter;
3039
3040    // Month
3041    momentPrototype__proto.month       = getSetMonth;
3042    momentPrototype__proto.daysInMonth = getDaysInMonth;
3043
3044    // Week
3045    momentPrototype__proto.week           = momentPrototype__proto.weeks        = getSetWeek;
3046    momentPrototype__proto.isoWeek        = momentPrototype__proto.isoWeeks     = getSetISOWeek;
3047    momentPrototype__proto.weeksInYear    = getWeeksInYear;
3048    momentPrototype__proto.isoWeeksInYear = getISOWeeksInYear;
3049
3050    // Day
3051    momentPrototype__proto.date       = getSetDayOfMonth;
3052    momentPrototype__proto.day        = momentPrototype__proto.days             = getSetDayOfWeek;
3053    momentPrototype__proto.weekday    = getSetLocaleDayOfWeek;
3054    momentPrototype__proto.isoWeekday = getSetISODayOfWeek;
3055    momentPrototype__proto.dayOfYear  = getSetDayOfYear;
3056
3057    // Hour
3058    momentPrototype__proto.hour = momentPrototype__proto.hours = getSetHour;
3059
3060    // Minute
3061    momentPrototype__proto.minute = momentPrototype__proto.minutes = getSetMinute;
3062
3063    // Second
3064    momentPrototype__proto.second = momentPrototype__proto.seconds = getSetSecond;
3065
3066    // Millisecond
3067    momentPrototype__proto.millisecond = momentPrototype__proto.milliseconds = getSetMillisecond;
3068
3069    // Offset
3070    momentPrototype__proto.utcOffset            = getSetOffset;
3071    momentPrototype__proto.utc                  = setOffsetToUTC;
3072    momentPrototype__proto.local                = setOffsetToLocal;
3073    momentPrototype__proto.parseZone            = setOffsetToParsedOffset;
3074    momentPrototype__proto.hasAlignedHourOffset = hasAlignedHourOffset;
3075    momentPrototype__proto.isDST                = isDaylightSavingTime;
3076    momentPrototype__proto.isDSTShifted         = isDaylightSavingTimeShifted;
3077    momentPrototype__proto.isLocal              = isLocal;
3078    momentPrototype__proto.isUtcOffset          = isUtcOffset;
3079    momentPrototype__proto.isUtc                = isUtc;
3080    momentPrototype__proto.isUTC                = isUtc;
3081
3082    // Timezone
3083    momentPrototype__proto.zoneAbbr = getZoneAbbr;
3084    momentPrototype__proto.zoneName = getZoneName;
3085
3086    // Deprecations
3087    momentPrototype__proto.dates  = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);
3088    momentPrototype__proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);
3089    momentPrototype__proto.years  = deprecate('years accessor is deprecated. Use year instead', getSetYear);
3090    momentPrototype__proto.zone   = deprecate('moment().zone is deprecated, use moment().utcOffset instead. https://github.com/moment/moment/issues/1779', getSetZone);
3091
3092    var momentPrototype = momentPrototype__proto;
3093
3094    function moment_moment__createUnix (input) {
3095        return local__createLocal(input * 1000);
3096    }
3097
3098    function moment_moment__createInZone () {
3099        return local__createLocal.apply(null, arguments).parseZone();
3100    }
3101
3102    var defaultCalendar = {
3103        sameDay : '[Today at] LT',
3104        nextDay : '[Tomorrow at] LT',
3105        nextWeek : 'dddd [at] LT',
3106        lastDay : '[Yesterday at] LT',
3107        lastWeek : '[Last] dddd [at] LT',
3108        sameElse : 'L'
3109    };
3110
3111    function locale_calendar__calendar (key, mom, now) {
3112        var output = this._calendar[key];
3113        return isFunction(output) ? output.call(mom, now) : output;
3114    }
3115
3116    var defaultLongDateFormat = {
3117        LTS  : 'h:mm:ss A',
3118        LT   : 'h:mm A',
3119        L    : 'MM/DD/YYYY',
3120        LL   : 'MMMM D, YYYY',
3121        LLL  : 'MMMM D, YYYY h:mm A',
3122        LLLL : 'dddd, MMMM D, YYYY h:mm A'
3123    };
3124
3125    function longDateFormat (key) {
3126        var format = this._longDateFormat[key],
3127            formatUpper = this._longDateFormat[key.toUpperCase()];
3128
3129        if (format || !formatUpper) {
3130            return format;
3131        }
3132
3133        this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {
3134            return val.slice(1);
3135        });
3136
3137        return this._longDateFormat[key];
3138    }
3139
3140    var defaultInvalidDate = 'Invalid date';
3141
vendor: 6,375 bytes, lines 3142-3319
3142    function invalidDate () {
3143        return this._invalidDate;
3144    }
3145
3146    var defaultOrdinal = '%d';
3147    var defaultOrdinalParse = /\d{1,2}/;
3148
3149    function ordinal (number) {
3150        return this._ordinal.replace('%d', number);
3151    }
3152
3153    function preParsePostFormat (string) {
3154        return string;
3155    }
3156
3157    var defaultRelativeTime = {
3158        future : 'in %s',
3159        past   : '%s ago',
3160        s  : 'a few seconds',
3161        m  : 'a minute',
3162        mm : '%d minutes',
3163        h  : 'an hour',
3164        hh : '%d hours',
3165        d  : 'a day',
3166        dd : '%d days',
3167        M  : 'a month',
3168        MM : '%d months',
3169        y  : 'a year',
3170        yy : '%d years'
3171    };
3172
3173    function relative__relativeTime (number, withoutSuffix, string, isFuture) {
3174        var output = this._relativeTime[string];
3175        return (isFunction(output)) ?
3176            output(number, withoutSuffix, string, isFuture) :
3177            output.replace(/%d/i, number);
3178    }
3179
3180    function pastFuture (diff, output) {
3181        var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
3182        return isFunction(format) ? format(output) : format.replace(/%s/i, output);
3183    }
3184
3185    var prototype__proto = Locale.prototype;
3186
3187    prototype__proto._calendar       = defaultCalendar;
3188    prototype__proto.calendar        = locale_calendar__calendar;
3189    prototype__proto._longDateFormat = defaultLongDateFormat;
3190    prototype__proto.longDateFormat  = longDateFormat;
3191    prototype__proto._invalidDate    = defaultInvalidDate;
3192    prototype__proto.invalidDate     = invalidDate;
3193    prototype__proto._ordinal        = defaultOrdinal;
3194    prototype__proto.ordinal         = ordinal;
3195    prototype__proto._ordinalParse   = defaultOrdinalParse;
3196    prototype__proto.preparse        = preParsePostFormat;
3197    prototype__proto.postformat      = preParsePostFormat;
3198    prototype__proto._relativeTime   = defaultRelativeTime;
3199    prototype__proto.relativeTime    = relative__relativeTime;
3200    prototype__proto.pastFuture      = pastFuture;
3201    prototype__proto.set             = locale_set__set;
3202
3203    // Month
3204    prototype__proto.months            =        localeMonths;
3205    prototype__proto._months           = defaultLocaleMonths;
3206    prototype__proto.monthsShort       =        localeMonthsShort;
3207    prototype__proto._monthsShort      = defaultLocaleMonthsShort;
3208    prototype__proto.monthsParse       =        localeMonthsParse;
3209    prototype__proto._monthsRegex      = defaultMonthsRegex;
3210    prototype__proto.monthsRegex       = monthsRegex;
3211    prototype__proto._monthsShortRegex = defaultMonthsShortRegex;
3212    prototype__proto.monthsShortRegex  = monthsShortRegex;
3213
3214    // Week
3215    prototype__proto.week = localeWeek;
3216    prototype__proto._week = defaultLocaleWeek;
3217    prototype__proto.firstDayOfYear = localeFirstDayOfYear;
3218    prototype__proto.firstDayOfWeek = localeFirstDayOfWeek;
3219
3220    // Day of Week
3221    prototype__proto.weekdays       =        localeWeekdays;
3222    prototype__proto._weekdays      = defaultLocaleWeekdays;
3223    prototype__proto.weekdaysMin    =        localeWeekdaysMin;
3224    prototype__proto._weekdaysMin   = defaultLocaleWeekdaysMin;
3225    prototype__proto.weekdaysShort  =        localeWeekdaysShort;
3226    prototype__proto._weekdaysShort = defaultLocaleWeekdaysShort;
3227    prototype__proto.weekdaysParse  =        localeWeekdaysParse;
3228
3229    // Hours
3230    prototype__proto.isPM = localeIsPM;
3231    prototype__proto._meridiemParse = defaultLocaleMeridiemParse;
3232    prototype__proto.meridiem = localeMeridiem;
3233
3234    function lists__get (format, index, field, setter) {
3235        var locale = locale_locales__getLocale();
3236        var utc = create_utc__createUTC().set(setter, index);
3237        return locale[field](utc, format);
3238    }
3239
3240    function list (format, index, field, count, setter) {
3241        if (typeof format === 'number') {
3242            index = format;
3243            format = undefined;
3244        }
3245
3246        format = format || '';
3247
3248        if (index != null) {
3249            return lists__get(format, index, field, setter);
3250        }
3251
3252        var i;
3253        var out = [];
3254        for (i = 0; i < count; i++) {
3255            out[i] = lists__get(format, i, field, setter);
3256        }
3257        return out;
3258    }
3259
3260    function lists__listMonths (format, index) {
3261        return list(format, index, 'months', 12, 'month');
3262    }
3263
3264    function lists__listMonthsShort (format, index) {
3265        return list(format, index, 'monthsShort', 12, 'month');
3266    }
3267
3268    function lists__listWeekdays (format, index) {
3269        return list(format, index, 'weekdays', 7, 'day');
3270    }
3271
3272    function lists__listWeekdaysShort (format, index) {
3273        return list(format, index, 'weekdaysShort', 7, 'day');
3274    }
3275
3276    function lists__listWeekdaysMin (format, index) {
3277        return list(format, index, 'weekdaysMin', 7, 'day');
3278    }
3279
3280    locale_locales__getSetGlobalLocale('en', {
3281        ordinalParse: /\d{1,2}(th|st|nd|rd)/,
3282        ordinal : function (number) {
3283            var b = number % 10,
3284                output = (toInt(number % 100 / 10) === 1) ? 'th' :
3285                (b === 1) ? 'st' :
3286                (b === 2) ? 'nd' :
3287                (b === 3) ? 'rd' : 'th';
3288            return number + output;
3289        }
3290    });
3291
3292    // Side effect imports
3293    utils_hooks__hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', locale_locales__getSetGlobalLocale);
3294    utils_hooks__hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', locale_locales__getLocale);
3295
3296    var mathAbs = Math.abs;
3297
3298    function duration_abs__abs () {
3299        var data           = this._data;
3300
3301        this._milliseconds = mathAbs(this._milliseconds);
3302        this._days         = mathAbs(this._days);
3303        this._months       = mathAbs(this._months);
3304
3305        data.milliseconds  = mathAbs(data.milliseconds);
3306        data.seconds       = mathAbs(data.seconds);
3307        data.minutes       = mathAbs(data.minutes);
3308        data.hours         = mathAbs(data.hours);
3309        data.months        = mathAbs(data.months);
3310        data.years         = mathAbs(data.years);
3311
3312        return this;
3313    }
3314
3315    function duration_add_subtract__addSubtract (duration, input, value, direction) {
3316        var other = create__createDuration(input, value);
3317
3318        duration._milliseconds += direction * other._milliseconds;
3319        duration._days         += direction * other._days;
vendor: 15,257 bytes, lines 3320-3724
3320        duration._months       += direction * other._months;
3321
3322        return duration._bubble();
3323    }
3324
3325    // supports only 2.0-style add(1, 's') or add(duration)
3326    function duration_add_subtract__add (input, value) {
3327        return duration_add_subtract__addSubtract(this, input, value, 1);
3328    }
3329
3330    // supports only 2.0-style subtract(1, 's') or subtract(duration)
3331    function duration_add_subtract__subtract (input, value) {
3332        return duration_add_subtract__addSubtract(this, input, value, -1);
3333    }
3334
3335    function absCeil (number) {
3336        if (number < 0) {
3337            return Math.floor(number);
3338        } else {
3339            return Math.ceil(number);
3340        }
3341    }
3342
3343    function bubble () {
3344        var milliseconds = this._milliseconds;
3345        var days         = this._days;
3346        var months       = this._months;
3347        var data         = this._data;
3348        var seconds, minutes, hours, years, monthsFromDays;
3349
3350        // if we have a mix of positive and negative values, bubble down first
3351        // check: https://github.com/moment/moment/issues/2166
3352        if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||
3353                (milliseconds <= 0 && days <= 0 && months <= 0))) {
3354            milliseconds += absCeil(monthsToDays(months) + days) * 864e5;
3355            days = 0;
3356            months = 0;
3357        }
3358
3359        // The following code bubbles up values, see the tests for
3360        // examples of what that means.
3361        data.milliseconds = milliseconds % 1000;
3362
3363        seconds           = absFloor(milliseconds / 1000);
3364        data.seconds      = seconds % 60;
3365
3366        minutes           = absFloor(seconds / 60);
3367        data.minutes      = minutes % 60;
3368
3369        hours             = absFloor(minutes / 60);
3370        data.hours        = hours % 24;
3371
3372        days += absFloor(hours / 24);
3373
3374        // convert days to months
3375        monthsFromDays = absFloor(daysToMonths(days));
3376        months += monthsFromDays;
3377        days -= absCeil(monthsToDays(monthsFromDays));
3378
3379        // 12 months -> 1 year
3380        years = absFloor(months / 12);
3381        months %= 12;
3382
3383        data.days   = days;
3384        data.months = months;
3385        data.years  = years;
3386
3387        return this;
3388    }
3389
3390    function daysToMonths (days) {
3391        // 400 years have 146097 days (taking into account leap year rules)
3392        // 400 years have 12 months === 4800
3393        return days * 4800 / 146097;
3394    }
3395
3396    function monthsToDays (months) {
3397        // the reverse of daysToMonths
3398        return months * 146097 / 4800;
3399    }
3400
3401    function as (units) {
3402        var days;
3403        var months;
3404        var milliseconds = this._milliseconds;
3405
3406        units = normalizeUnits(units);
3407
3408        if (units === 'month' || units === 'year') {
3409            days   = this._days   + milliseconds / 864e5;
3410            months = this._months + daysToMonths(days);
3411            return units === 'month' ? months : months / 12;
3412        } else {
3413            // handle milliseconds separately because of floating point math errors (issue #1867)
3414            days = this._days + Math.round(monthsToDays(this._months));
3415            switch (units) {
3416                case 'week'   : return days / 7     + milliseconds / 6048e5;
3417                case 'day'    : return days         + milliseconds / 864e5;
3418                case 'hour'   : return days * 24    + milliseconds / 36e5;
3419                case 'minute' : return days * 1440  + milliseconds / 6e4;
3420                case 'second' : return days * 86400 + milliseconds / 1000;
3421                // Math.floor prevents floating point math errors here
3422                case 'millisecond': return Math.floor(days * 864e5) + milliseconds;
3423                default: throw new Error('Unknown unit ' + units);
3424            }
3425        }
3426    }
3427
3428    // TODO: Use this.as('ms')?
3429    function duration_as__valueOf () {
3430        return (
3431            this._milliseconds +
3432            this._days * 864e5 +
3433            (this._months % 12) * 2592e6 +
3434            toInt(this._months / 12) * 31536e6
3435        );
3436    }
3437
3438    function makeAs (alias) {
3439        return function () {
3440            return this.as(alias);
3441        };
3442    }
3443
3444    var asMilliseconds = makeAs('ms');
3445    var asSeconds      = makeAs('s');
3446    var asMinutes      = makeAs('m');
3447    var asHours        = makeAs('h');
3448    var asDays         = makeAs('d');
3449    var asWeeks        = makeAs('w');
3450    var asMonths       = makeAs('M');
3451    var asYears        = makeAs('y');
3452
3453    function duration_get__get (units) {
3454        units = normalizeUnits(units);
3455        return this[units + 's']();
3456    }
3457
3458    function makeGetter(name) {
3459        return function () {
3460            return this._data[name];
3461        };
3462    }
3463
3464    var milliseconds = makeGetter('milliseconds');
3465    var seconds      = makeGetter('seconds');
3466    var minutes      = makeGetter('minutes');
3467    var hours        = makeGetter('hours');
3468    var days         = makeGetter('days');
3469    var duration_get__months       = makeGetter('months');
3470    var years        = makeGetter('years');
3471
3472    function weeks () {
3473        return absFloor(this.days() / 7);
3474    }
3475
3476    var round = Math.round;
3477    var thresholds = {
3478        s: 45,  // seconds to minute
3479        m: 45,  // minutes to hour
3480        h: 22,  // hours to day
3481        d: 26,  // days to month
3482        M: 11   // months to year
3483    };
3484
3485    // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
3486    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {
3487        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
3488    }
3489
3490    function duration_humanize__relativeTime (posNegDuration, withoutSuffix, locale) {
3491        var duration = create__createDuration(posNegDuration).abs();
3492        var seconds  = round(duration.as('s'));
3493        var minutes  = round(duration.as('m'));
3494        var hours    = round(duration.as('h'));
3495        var days     = round(duration.as('d'));
3496        var months   = round(duration.as('M'));
3497        var years    = round(duration.as('y'));
3498
3499        var a = seconds < thresholds.s && ['s', seconds]  ||
3500                minutes <= 1           && ['m']           ||
3501                minutes < thresholds.m && ['mm', minutes] ||
3502                hours   <= 1           && ['h']           ||
3503                hours   < thresholds.h && ['hh', hours]   ||
3504                days    <= 1           && ['d']           ||
3505                days    < thresholds.d && ['dd', days]    ||
3506                months  <= 1           && ['M']           ||
3507                months  < thresholds.M && ['MM', months]  ||
3508                years   <= 1           && ['y']           || ['yy', years];
3509
3510        a[2] = withoutSuffix;
3511        a[3] = +posNegDuration > 0;
3512        a[4] = locale;
3513        return substituteTimeAgo.apply(null, a);
3514    }
3515
3516    // This function allows you to set a threshold for relative time strings
3517    function duration_humanize__getSetRelativeTimeThreshold (threshold, limit) {
3518        if (thresholds[threshold] === undefined) {
3519            return false;
3520        }
3521        if (limit === undefined) {
3522            return thresholds[threshold];
3523        }
3524        thresholds[threshold] = limit;
3525        return true;
3526    }
3527
3528    function humanize (withSuffix) {
3529        var locale = this.localeData();
3530        var output = duration_humanize__relativeTime(this, !withSuffix, locale);
3531
3532        if (withSuffix) {
3533            output = locale.pastFuture(+this, output);
3534        }
3535
3536        return locale.postformat(output);
3537    }
3538
3539    var iso_string__abs = Math.abs;
3540
3541    function iso_string__toISOString() {
3542        // for ISO strings we do not use the normal bubbling rules:
3543        //  * milliseconds bubble up until they become hours
3544        //  * days do not bubble at all
3545        //  * months bubble up until they become years
3546        // This is because there is no context-free conversion between hours and days
3547        // (think of clock changes)
3548        // and also not between days and months (28-31 days per month)
3549        var seconds = iso_string__abs(this._milliseconds) / 1000;
3550        var days         = iso_string__abs(this._days);
3551        var months       = iso_string__abs(this._months);
3552        var minutes, hours, years;
3553
3554        // 3600 seconds -> 60 minutes -> 1 hour
3555        minutes           = absFloor(seconds / 60);
3556        hours             = absFloor(minutes / 60);
3557        seconds %= 60;
3558        minutes %= 60;
3559
3560        // 12 months -> 1 year
3561        years  = absFloor(months / 12);
3562        months %= 12;
3563
3564
3565        // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
3566        var Y = years;
3567        var M = months;
3568        var D = days;
3569        var h = hours;
3570        var m = minutes;
3571        var s = seconds;
3572        var total = this.asSeconds();
3573
3574        if (!total) {
3575            // this is the same as C#'s (Noda) and python (isodate)...
3576            // but not other JS (goog.date)
3577            return 'P0D';
3578        }
3579
3580        return (total < 0 ? '-' : '') +
3581            'P' +
3582            (Y ? Y + 'Y' : '') +
3583            (M ? M + 'M' : '') +
3584            (D ? D + 'D' : '') +
3585            ((h || m || s) ? 'T' : '') +
3586            (h ? h + 'H' : '') +
3587            (m ? m + 'M' : '') +
3588            (s ? s + 'S' : '');
3589    }
3590
3591    var duration_prototype__proto = Duration.prototype;
3592
3593    duration_prototype__proto.abs            = duration_abs__abs;
3594    duration_prototype__proto.add            = duration_add_subtract__add;
3595    duration_prototype__proto.subtract       = duration_add_subtract__subtract;
3596    duration_prototype__proto.as             = as;
3597    duration_prototype__proto.asMilliseconds = asMilliseconds;
3598    duration_prototype__proto.asSeconds      = asSeconds;
3599    duration_prototype__proto.asMinutes      = asMinutes;
3600    duration_prototype__proto.asHours        = asHours;
3601    duration_prototype__proto.asDays         = asDays;
3602    duration_prototype__proto.asWeeks        = asWeeks;
3603    duration_prototype__proto.asMonths       = asMonths;
3604    duration_prototype__proto.asYears        = asYears;
3605    duration_prototype__proto.valueOf        = duration_as__valueOf;
3606    duration_prototype__proto._bubble        = bubble;
3607    duration_prototype__proto.get            = duration_get__get;
3608    duration_prototype__proto.milliseconds   = milliseconds;
3609    duration_prototype__proto.seconds        = seconds;
3610    duration_prototype__proto.minutes        = minutes;
3611    duration_prototype__proto.hours          = hours;
3612    duration_prototype__proto.days           = days;
3613    duration_prototype__proto.weeks          = weeks;
3614    duration_prototype__proto.months         = duration_get__months;
3615    duration_prototype__proto.years          = years;
3616    duration_prototype__proto.humanize       = humanize;
3617    duration_prototype__proto.toISOString    = iso_string__toISOString;
3618    duration_prototype__proto.toString       = iso_string__toISOString;
3619    duration_prototype__proto.toJSON         = iso_string__toISOString;
3620    duration_prototype__proto.locale         = locale;
3621    duration_prototype__proto.localeData     = localeData;
3622
3623    // Deprecations
3624    duration_prototype__proto.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', iso_string__toISOString);
3625    duration_prototype__proto.lang = lang;
3626
3627    // Side effect imports
3628
3629    // FORMATTING
3630
3631    addFormatToken('X', 0, 0, 'unix');
3632    addFormatToken('x', 0, 0, 'valueOf');
3633
3634    // PARSING
3635
3636    addRegexToken('x', matchSigned);
3637    addRegexToken('X', matchTimestamp);
3638    addParseToken('X', function (input, array, config) {
3639        config._d = new Date(parseFloat(input, 10) * 1000);
3640    });
3641    addParseToken('x', function (input, array, config) {
3642        config._d = new Date(toInt(input));
3643    });
3644
3645    // Side effect imports
3646
3647    ;
3648
3649    //! moment.js
3650    //! version : 2.12.0
3651    //! authors : Tim Wood, Iskren Chernev, Moment.js contributors
3652    //! license : MIT
3653    //! momentjs.com
3654
3655    utils_hooks__hooks.version = '2.12.0';
3656
3657    setHookCallback(local__createLocal);
3658
3659    utils_hooks__hooks.fn                    = momentPrototype;
3660    utils_hooks__hooks.min                   = min;
3661    utils_hooks__hooks.max                   = max;
3662    utils_hooks__hooks.now                   = now;
3663    utils_hooks__hooks.utc                   = create_utc__createUTC;
3664    utils_hooks__hooks.unix                  = moment_moment__createUnix;
3665    utils_hooks__hooks.months                = lists__listMonths;
3666    utils_hooks__hooks.isDate                = isDate;
3667    utils_hooks__hooks.locale                = locale_locales__getSetGlobalLocale;
3668    utils_hooks__hooks.invalid               = valid__createInvalid;
3669    utils_hooks__hooks.duration              = create__createDuration;
3670    utils_hooks__hooks.isMoment              = isMoment;
3671    utils_hooks__hooks.weekdays              = lists__listWeekdays;
3672    utils_hooks__hooks.parseZone             = moment_moment__createInZone;
3673    utils_hooks__hooks.localeData            = locale_locales__getLocale;
3674    utils_hooks__hooks.isDuration            = isDuration;
3675    utils_hooks__hooks.monthsShort           = lists__listMonthsShort;
3676    utils_hooks__hooks.weekdaysMin           = lists__listWeekdaysMin;
3677    utils_hooks__hooks.defineLocale          = defineLocale;
3678    utils_hooks__hooks.updateLocale          = updateLocale;
3679    utils_hooks__hooks.locales               = locale_locales__listLocales;
3680    utils_hooks__hooks.weekdaysShort         = lists__listWeekdaysShort;
3681    utils_hooks__hooks.normalizeUnits        = normalizeUnits;
3682    utils_hooks__hooks.relativeTimeThreshold = duration_humanize__getSetRelativeTimeThreshold;
3683    utils_hooks__hooks.prototype             = momentPrototype;
3684
3685    var moment__default = utils_hooks__hooks;
3686
3687    //! moment.js locale configuration
3688    //! locale : afrikaans (af)
3689    //! author : Werner Mollentze : https://github.com/wernerm
3690
3691    var af = moment__default.defineLocale('af', {
3692        months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),
3693        monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),
3694        weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),
3695        weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),
3696        weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),
3697        meridiemParse: /vm|nm/i,
3698        isPM : function (input) {
3699            return /^nm$/i.test(input);
3700        },
3701        meridiem : function (hours, minutes, isLower) {
3702            if (hours < 12) {
3703                return isLower ? 'vm' : 'VM';
3704            } else {
3705                return isLower ? 'nm' : 'NM';
3706            }
3707        },
3708        longDateFormat : {
3709            LT : 'HH:mm',
3710            LTS : 'HH:mm:ss',
3711            L : 'DD/MM/YYYY',
3712            LL : 'D MMMM YYYY',
3713            LLL : 'D MMMM YYYY HH:mm',
3714            LLLL : 'dddd, D MMMM YYYY HH:mm'
3715        },
3716        calendar : {
3717            sameDay : '[Vandag om] LT',
3718            nextDay : '[Môre om] LT',
3719            nextWeek : 'dddd [om] LT',
3720            lastDay : '[Gister om] LT',
3721            lastWeek : '[Laas] dddd [om] LT',
3722            sameElse : 'L'
3723        },
3724        relativeTime : {
vendor: 51,151 bytes, lines 3725-5052
3725            future : 'oor %s',
3726            past : '%s gelede',
3727            s : '\'n paar sekondes',
3728            m : '\'n minuut',
3729            mm : '%d minute',
3730            h : '\'n uur',
3731            hh : '%d ure',
3732            d : '\'n dag',
3733            dd : '%d dae',
3734            M : '\'n maand',
3735            MM : '%d maande',
3736            y : '\'n jaar',
3737            yy : '%d jaar'
3738        },
3739        ordinalParse: /\d{1,2}(ste|de)/,
3740        ordinal : function (number) {
3741            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter
3742        },
3743        week : {
3744            dow : 1, // Maandag is die eerste dag van die week.
3745            doy : 4  // Die week wat die 4de Januarie bevat is die eerste week van die jaar.
3746        }
3747    });
3748
3749    //! moment.js locale configuration
3750    //! locale : Moroccan Arabic (ar-ma)
3751    //! author : ElFadili Yassine : https://github.com/ElFadiliY
3752    //! author : Abdel Said : https://github.com/abdelsaid
3753
3754    var ar_ma = moment__default.defineLocale('ar-ma', {
3755        months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
3756        monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),
3757        weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
3758        weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),
3759        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
3760        longDateFormat : {
3761            LT : 'HH:mm',
3762            LTS : 'HH:mm:ss',
3763            L : 'DD/MM/YYYY',
3764            LL : 'D MMMM YYYY',
3765            LLL : 'D MMMM YYYY HH:mm',
3766            LLLL : 'dddd D MMMM YYYY HH:mm'
3767        },
3768        calendar : {
3769            sameDay: '[اليوم على الساعة] LT',
3770            nextDay: '[غدا على الساعة] LT',
3771            nextWeek: 'dddd [على الساعة] LT',
3772            lastDay: '[أمس على الساعة] LT',
3773            lastWeek: 'dddd [على الساعة] LT',
3774            sameElse: 'L'
3775        },
3776        relativeTime : {
3777            future : 'في %s',
3778            past : 'منذ %s',
3779            s : 'ثوان',
3780            m : 'دقيقة',
3781            mm : '%d دقائق',
3782            h : 'ساعة',
3783            hh : '%d ساعات',
3784            d : 'يوم',
3785            dd : '%d أيام',
3786            M : 'شهر',
3787            MM : '%d أشهر',
3788            y : 'سنة',
3789            yy : '%d سنوات'
3790        },
3791        week : {
3792            dow : 6, // Saturday is the first day of the week.
3793            doy : 12  // The week that contains Jan 1st is the first week of the year.
3794        }
3795    });
3796
3797    //! moment.js locale configuration
3798    //! locale : Arabic Saudi Arabia (ar-sa)
3799    //! author : Suhail Alkowaileet : https://github.com/xsoh
3800
3801    var ar_sa__symbolMap = {
3802        '1': 'Ù¡',
3803        '2': 'Ù¢',
3804        '3': 'Ù£',
3805        '4': 'Ù¤',
3806        '5': 'Ù¥',
3807        '6': 'Ù¦',
3808        '7': 'Ù§',
3809        '8': 'Ù¨',
3810        '9': 'Ù©',
3811        '0': 'Ù '
3812    }, ar_sa__numberMap = {
3813        'Ù¡': '1',
3814        'Ù¢': '2',
3815        'Ù£': '3',
3816        'Ù¤': '4',
3817        'Ù¥': '5',
3818        'Ù¦': '6',
3819        'Ù§': '7',
3820        'Ù¨': '8',
3821        'Ù©': '9',
3822        'Ù ': '0'
3823    };
3824
3825    var ar_sa = moment__default.defineLocale('ar-sa', {
3826        months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
3827        monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
3828        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
3829        weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
3830        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
3831        longDateFormat : {
3832            LT : 'HH:mm',
3833            LTS : 'HH:mm:ss',
3834            L : 'DD/MM/YYYY',
3835            LL : 'D MMMM YYYY',
3836            LLL : 'D MMMM YYYY HH:mm',
3837            LLLL : 'dddd D MMMM YYYY HH:mm'
3838        },
3839        meridiemParse: /ص|م/,
3840        isPM : function (input) {
3841            return 'م' === input;
3842        },
3843        meridiem : function (hour, minute, isLower) {
3844            if (hour < 12) {
3845                return 'ص';
3846            } else {
3847                return 'م';
3848            }
3849        },
3850        calendar : {
3851            sameDay: '[اليوم على الساعة] LT',
3852            nextDay: '[غدا على الساعة] LT',
3853            nextWeek: 'dddd [على الساعة] LT',
3854            lastDay: '[أمس على الساعة] LT',
3855            lastWeek: 'dddd [على الساعة] LT',
3856            sameElse: 'L'
3857        },
3858        relativeTime : {
3859            future : 'في %s',
3860            past : 'منذ %s',
3861            s : 'ثوان',
3862            m : 'دقيقة',
3863            mm : '%d دقائق',
3864            h : 'ساعة',
3865            hh : '%d ساعات',
3866            d : 'يوم',
3867            dd : '%d أيام',
3868            M : 'شهر',
3869            MM : '%d أشهر',
3870            y : 'سنة',
3871            yy : '%d سنوات'
3872        },
3873        preparse: function (string) {
3874            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
3875                return ar_sa__numberMap[match];
3876            }).replace(/،/g, ',');
3877        },
3878        postformat: function (string) {
3879            return string.replace(/\d/g, function (match) {
3880                return ar_sa__symbolMap[match];
3881            }).replace(/,/g, '،');
3882        },
3883        week : {
3884            dow : 6, // Saturday is the first day of the week.
3885            doy : 12  // The week that contains Jan 1st is the first week of the year.
3886        }
3887    });
3888
3889    //! moment.js locale configuration
3890    //! locale  : Tunisian Arabic (ar-tn)
3891
3892    var ar_tn = moment__default.defineLocale('ar-tn', {
3893        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
3894        monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),
3895        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
3896        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
3897        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),
3898        longDateFormat: {
3899            LT: 'HH:mm',
3900            LTS: 'HH:mm:ss',
3901            L: 'DD/MM/YYYY',
3902            LL: 'D MMMM YYYY',
3903            LLL: 'D MMMM YYYY HH:mm',
3904            LLLL: 'dddd D MMMM YYYY HH:mm'
3905        },
3906        calendar: {
3907            sameDay: '[اليوم على الساعة] LT',
3908            nextDay: '[غدا على الساعة] LT',
3909            nextWeek: 'dddd [على الساعة] LT',
3910            lastDay: '[أمس على الساعة] LT',
3911            lastWeek: 'dddd [على الساعة] LT',
3912            sameElse: 'L'
3913        },
3914        relativeTime: {
3915            future: 'في %s',
3916            past: 'منذ %s',
3917            s: 'ثوان',
3918            m: 'دقيقة',
3919            mm: '%d دقائق',
3920            h: 'ساعة',
3921            hh: '%d ساعات',
3922            d: 'يوم',
3923            dd: '%d أيام',
3924            M: 'شهر',
3925            MM: '%d أشهر',
3926            y: 'سنة',
3927            yy: '%d سنوات'
3928        },
3929        week: {
3930            dow: 1, // Monday is the first day of the week.
3931            doy: 4 // The week that contains Jan 4th is the first week of the year.
3932        }
3933    });
3934
3935    //! moment.js locale configuration
3936    //! Locale: Arabic (ar)
3937    //! Author: Abdel Said: https://github.com/abdelsaid
3938    //! Changes in months, weekdays: Ahmed Elkhatib
3939    //! Native plural forms: forabi https://github.com/forabi
3940
3941    var ar__symbolMap = {
3942        '1': 'Ù¡',
3943        '2': 'Ù¢',
3944        '3': 'Ù£',
3945        '4': 'Ù¤',
3946        '5': 'Ù¥',
3947        '6': 'Ù¦',
3948        '7': 'Ù§',
3949        '8': 'Ù¨',
3950        '9': 'Ù©',
3951        '0': 'Ù '
3952    }, ar__numberMap = {
3953        'Ù¡': '1',
3954        'Ù¢': '2',
3955        'Ù£': '3',
3956        'Ù¤': '4',
3957        'Ù¥': '5',
3958        'Ù¦': '6',
3959        'Ù§': '7',
3960        'Ù¨': '8',
3961        'Ù©': '9',
3962        'Ù ': '0'
3963    }, pluralForm = function (n) {
3964        return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;
3965    }, plurals = {
3966        s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],
3967        m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],
3968        h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],
3969        d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],
3970        M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],
3971        y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']
3972    }, pluralize = function (u) {
3973        return function (number, withoutSuffix, string, isFuture) {
3974            var f = pluralForm(number),
3975                str = plurals[u][pluralForm(number)];
3976            if (f === 2) {
3977                str = str[withoutSuffix ? 0 : 1];
3978            }
3979            return str.replace(/%d/i, number);
3980        };
3981    }, ar__months = [
3982        'كانون الثاني يناير',
3983        'شباط فبراير',
3984        'آذار مارس',
3985        'نيسان أبريل',
3986        'أيار مايو',
3987        'حزيران يونيو',
3988        'تموز يوليو',
3989        'آب أغسطس',
3990        'أيلول سبتمبر',
3991        'تشرين الأول أكتوبر',
3992        'تشرين الثاني نوفمبر',
3993        'كانون الأول ديسمبر'
3994    ];
3995
3996    var ar = moment__default.defineLocale('ar', {
3997        months : ar__months,
3998        monthsShort : ar__months,
3999        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),
4000        weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),
4001        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),
4002        longDateFormat : {
4003            LT : 'HH:mm',
4004            LTS : 'HH:mm:ss',
4005            L : 'D/\u200FM/\u200FYYYY',
4006            LL : 'D MMMM YYYY',
4007            LLL : 'D MMMM YYYY HH:mm',
4008            LLLL : 'dddd D MMMM YYYY HH:mm'
4009        },
4010        meridiemParse: /ص|م/,
4011        isPM : function (input) {
4012            return 'م' === input;
4013        },
4014        meridiem : function (hour, minute, isLower) {
4015            if (hour < 12) {
4016                return 'ص';
4017            } else {
4018                return 'م';
4019            }
4020        },
4021        calendar : {
4022            sameDay: '[اليوم عند الساعة] LT',
4023            nextDay: '[غدًا عند الساعة] LT',
4024            nextWeek: 'dddd [عند الساعة] LT',
4025            lastDay: '[أمس عند الساعة] LT',
4026            lastWeek: 'dddd [عند الساعة] LT',
4027            sameElse: 'L'
4028        },
4029        relativeTime : {
4030            future : 'بعد %s',
4031            past : 'منذ %s',
4032            s : pluralize('s'),
4033            m : pluralize('m'),
4034            mm : pluralize('m'),
4035            h : pluralize('h'),
4036            hh : pluralize('h'),
4037            d : pluralize('d'),
4038            dd : pluralize('d'),
4039            M : pluralize('M'),
4040            MM : pluralize('M'),
4041            y : pluralize('y'),
4042            yy : pluralize('y')
4043        },
4044        preparse: function (string) {
4045            return string.replace(/\u200f/g, '').replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {
4046                return ar__numberMap[match];
4047            }).replace(/،/g, ',');
4048        },
4049        postformat: function (string) {
4050            return string.replace(/\d/g, function (match) {
4051                return ar__symbolMap[match];
4052            }).replace(/,/g, '،');
4053        },
4054        week : {
4055            dow : 6, // Saturday is the first day of the week.
4056            doy : 12  // The week that contains Jan 1st is the first week of the year.
4057        }
4058    });
4059
4060    //! moment.js locale configuration
4061    //! locale : azerbaijani (az)
4062    //! author : topchiyev : https://github.com/topchiyev
4063
4064    var az__suffixes = {
4065        1: '-inci',
4066        5: '-inci',
4067        8: '-inci',
4068        70: '-inci',
4069        80: '-inci',
4070        2: '-nci',
4071        7: '-nci',
4072        20: '-nci',
4073        50: '-nci',
4074        3: '-üncü',
4075        4: '-üncü',
4076        100: '-üncü',
4077        6: '-ncı',
4078        9: '-uncu',
4079        10: '-uncu',
4080        30: '-uncu',
4081        60: '-ıncı',
4082        90: '-ıncı'
4083    };
4084
4085    var az = moment__default.defineLocale('az', {
4086        months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),
4087        monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),
4088        weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),
4089        weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),
4090        weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),
4091        longDateFormat : {
4092            LT : 'HH:mm',
4093            LTS : 'HH:mm:ss',
4094            L : 'DD.MM.YYYY',
4095            LL : 'D MMMM YYYY',
4096            LLL : 'D MMMM YYYY HH:mm',
4097            LLLL : 'dddd, D MMMM YYYY HH:mm'
4098        },
4099        calendar : {
4100            sameDay : '[bugün saat] LT',
4101            nextDay : '[sabah saat] LT',
4102            nextWeek : '[gələn həftə] dddd [saat] LT',
4103            lastDay : '[dünən] LT',
4104            lastWeek : '[keçən həftə] dddd [saat] LT',
4105            sameElse : 'L'
4106        },
4107        relativeTime : {
4108            future : '%s sonra',
4109            past : '%s əvvəl',
4110            s : 'birneçə saniyyə',
4111            m : 'bir dəqiqə',
4112            mm : '%d dəqiqə',
4113            h : 'bir saat',
4114            hh : '%d saat',
4115            d : 'bir gün',
4116            dd : '%d gün',
4117            M : 'bir ay',
4118            MM : '%d ay',
4119            y : 'bir il',
4120            yy : '%d il'
4121        },
4122        meridiemParse: /gecə|səhər|gündüz|axşam/,
4123        isPM : function (input) {
4124            return /^(gündüz|axşam)$/.test(input);
4125        },
4126        meridiem : function (hour, minute, isLower) {
4127            if (hour < 4) {
4128                return 'gecə';
4129            } else if (hour < 12) {
4130                return 'səhər';
4131            } else if (hour < 17) {
4132                return 'gündüz';
4133            } else {
4134                return 'axşam';
4135            }
4136        },
4137        ordinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,
4138        ordinal : function (number) {
4139            if (number === 0) {  // special case for zero
4140                return number + '-ıncı';
4141            }
4142            var a = number % 10,
4143                b = number % 100 - a,
4144                c = number >= 100 ? 100 : null;
4145            return number + (az__suffixes[a] || az__suffixes[b] || az__suffixes[c]);
4146        },
4147        week : {
4148            dow : 1, // Monday is the first day of the week.
4149            doy : 7  // The week that contains Jan 1st is the first week of the year.
4150        }
4151    });
4152
4153    //! moment.js locale configuration
4154    //! locale : belarusian (be)
4155    //! author : Dmitry Demidov : https://github.com/demidov91
4156    //! author: Praleska: http://praleska.pro/
4157    //! Author : Menelion Elensúle : https://github.com/Oire
4158
4159    function be__plural(word, num) {
4160        var forms = word.split('_');
4161        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
4162    }
4163    function be__relativeTimeWithPlural(number, withoutSuffix, key) {
4164        var format = {
4165            'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',
4166            'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',
4167            'dd': 'дзень_дні_дзён',
4168            'MM': 'месяц_месяцы_месяцаў',
4169            'yy': 'год_гады_гадоў'
4170        };
4171        if (key === 'm') {
4172            return withoutSuffix ? 'хвіліна' : 'хвіліну';
4173        }
4174        else if (key === 'h') {
4175            return withoutSuffix ? 'гадзіна' : 'гадзіну';
4176        }
4177        else {
4178            return number + ' ' + be__plural(format[key], +number);
4179        }
4180    }
4181
4182    var be = moment__default.defineLocale('be', {
4183        months : {
4184            format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),
4185            standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')
4186        },
4187        monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),
4188        weekdays : {
4189            format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),
4190            standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),
4191            isFormat: /\[ ?[Вв] ?(?:мінулую|наступную)? ?\] ?dddd/
4192        },
4193        weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
4194        weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),
4195        longDateFormat : {
4196            LT : 'HH:mm',
4197            LTS : 'HH:mm:ss',
4198            L : 'DD.MM.YYYY',
4199            LL : 'D MMMM YYYY г.',
4200            LLL : 'D MMMM YYYY г., HH:mm',
4201            LLLL : 'dddd, D MMMM YYYY г., HH:mm'
4202        },
4203        calendar : {
4204            sameDay: '[Сёння ў] LT',
4205            nextDay: '[Заўтра ў] LT',
4206            lastDay: '[Учора ў] LT',
4207            nextWeek: function () {
4208                return '[У] dddd [ў] LT';
4209            },
4210            lastWeek: function () {
4211                switch (this.day()) {
4212                case 0:
4213                case 3:
4214                case 5:
4215                case 6:
4216                    return '[У мінулую] dddd [ў] LT';
4217                case 1:
4218                case 2:
4219                case 4:
4220                    return '[У мінулы] dddd [ў] LT';
4221                }
4222            },
4223            sameElse: 'L'
4224        },
4225        relativeTime : {
4226            future : 'праз %s',
4227            past : '%s таму',
4228            s : 'некалькі секунд',
4229            m : be__relativeTimeWithPlural,
4230            mm : be__relativeTimeWithPlural,
4231            h : be__relativeTimeWithPlural,
4232            hh : be__relativeTimeWithPlural,
4233            d : 'дзень',
4234            dd : be__relativeTimeWithPlural,
4235            M : 'месяц',
4236            MM : be__relativeTimeWithPlural,
4237            y : 'год',
4238            yy : be__relativeTimeWithPlural
4239        },
4240        meridiemParse: /ночы|раніцы|дня|вечара/,
4241        isPM : function (input) {
4242            return /^(дня|вечара)$/.test(input);
4243        },
4244        meridiem : function (hour, minute, isLower) {
4245            if (hour < 4) {
4246                return 'ночы';
4247            } else if (hour < 12) {
4248                return 'раніцы';
4249            } else if (hour < 17) {
4250                return 'дня';
4251            } else {
4252                return 'вечара';
4253            }
4254        },
4255        ordinalParse: /\d{1,2}-(і|ы|га)/,
4256        ordinal: function (number, period) {
4257            switch (period) {
4258            case 'M':
4259            case 'd':
4260            case 'DDD':
4261            case 'w':
4262            case 'W':
4263                return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';
4264            case 'D':
4265                return number + '-га';
4266            default:
4267                return number;
4268            }
4269        },
4270        week : {
4271            dow : 1, // Monday is the first day of the week.
4272            doy : 7  // The week that contains Jan 1st is the first week of the year.
4273        }
4274    });
4275
4276    //! moment.js locale configuration
4277    //! locale : bulgarian (bg)
4278    //! author : Krasen Borisov : https://github.com/kraz
4279
4280    var bg = moment__default.defineLocale('bg', {
4281        months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),
4282        monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),
4283        weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),
4284        weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),
4285        weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
4286        longDateFormat : {
4287            LT : 'H:mm',
4288            LTS : 'H:mm:ss',
4289            L : 'D.MM.YYYY',
4290            LL : 'D MMMM YYYY',
4291            LLL : 'D MMMM YYYY H:mm',
4292            LLLL : 'dddd, D MMMM YYYY H:mm'
4293        },
4294        calendar : {
4295            sameDay : '[Днес в] LT',
4296            nextDay : '[Утре в] LT',
4297            nextWeek : 'dddd [в] LT',
4298            lastDay : '[Вчера в] LT',
4299            lastWeek : function () {
4300                switch (this.day()) {
4301                case 0:
4302                case 3:
4303                case 6:
4304                    return '[В изминалата] dddd [в] LT';
4305                case 1:
4306                case 2:
4307                case 4:
4308                case 5:
4309                    return '[В изминалия] dddd [в] LT';
4310                }
4311            },
4312            sameElse : 'L'
4313        },
4314        relativeTime : {
4315            future : 'след %s',
4316            past : 'преди %s',
4317            s : 'няколко секунди',
4318            m : 'минута',
4319            mm : '%d минути',
4320            h : 'час',
4321            hh : '%d часа',
4322            d : 'ден',
4323            dd : '%d дни',
4324            M : 'месец',
4325            MM : '%d месеца',
4326            y : 'година',
4327            yy : '%d години'
4328        },
4329        ordinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
4330        ordinal : function (number) {
4331            var lastDigit = number % 10,
4332                last2Digits = number % 100;
4333            if (number === 0) {
4334                return number + '-ев';
4335            } else if (last2Digits === 0) {
4336                return number + '-ен';
4337            } else if (last2Digits > 10 && last2Digits < 20) {
4338                return number + '-ти';
4339            } else if (lastDigit === 1) {
4340                return number + '-ви';
4341            } else if (lastDigit === 2) {
4342                return number + '-ри';
4343            } else if (lastDigit === 7 || lastDigit === 8) {
4344                return number + '-ми';
4345            } else {
4346                return number + '-ти';
4347            }
4348        },
4349        week : {
4350            dow : 1, // Monday is the first day of the week.
4351            doy : 7  // The week that contains Jan 1st is the first week of the year.
4352        }
4353    });
4354
4355    //! moment.js locale configuration
4356    //! locale : Bengali (bn)
4357    //! author : Kaushik Gandhi : https://github.com/kaushikgandhi
4358
4359    var bn__symbolMap = {
4360        '1': 'à§§',
4361        '2': '২',
4362        '3': 'à§©',
4363        '4': '৪',
4364        '5': 'à§«',
4365        '6': '৬',
4366        '7': 'à§­',
4367        '8': 'à§®',
4368        '9': '৯',
4369        '0': '০'
4370    },
4371    bn__numberMap = {
4372        'à§§': '1',
4373        '২': '2',
4374        'à§©': '3',
4375        '৪': '4',
4376        'à§«': '5',
4377        '৬': '6',
4378        'à§­': '7',
4379        'à§®': '8',
4380        '৯': '9',
4381        '০': '0'
4382    };
4383
4384    var bn = moment__default.defineLocale('bn', {
4385        months : 'জানুয়ারী_ফেবুয়ারী_মার্চ_এপ্রিল_মে_জুন_জুলাই_অগাস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),
4386        monthsShort : 'জানু_ফেব_মার্চ_এপর_মে_জুন_জুল_অগ_সেপ্ট_অক্টো_নভ_ডিসেম্'.split('_'),
4387        weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পত্তিবার_শুক্রবার_শনিবার'.split('_'),
4388        weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পত্তি_শুক্র_শনি'.split('_'),
4389        weekdaysMin : 'রব_সম_মঙ্গ_বু_ব্রিহ_শু_শনি'.split('_'),
4390        longDateFormat : {
4391            LT : 'A h:mm সময়',
4392            LTS : 'A h:mm:ss সময়',
4393            L : 'DD/MM/YYYY',
4394            LL : 'D MMMM YYYY',
4395            LLL : 'D MMMM YYYY, A h:mm সময়',
4396            LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'
4397        },
4398        calendar : {
4399            sameDay : '[আজ] LT',
4400            nextDay : '[আগামীকাল] LT',
4401            nextWeek : 'dddd, LT',
4402            lastDay : '[গতকাল] LT',
4403            lastWeek : '[গত] dddd, LT',
4404            sameElse : 'L'
4405        },
4406        relativeTime : {
4407            future : '%s পরে',
4408            past : '%s আগে',
4409            s : 'কয়েক সেকেন্ড',
4410            m : 'এক মিনিট',
4411            mm : '%d মিনিট',
4412            h : 'এক ঘন্টা',
4413            hh : '%d ঘন্টা',
4414            d : 'এক দিন',
4415            dd : '%d দিন',
4416            M : 'এক মাস',
4417            MM : '%d মাস',
4418            y : 'এক বছর',
4419            yy : '%d বছর'
4420        },
4421        preparse: function (string) {
4422            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {
4423                return bn__numberMap[match];
4424            });
4425        },
4426        postformat: function (string) {
4427            return string.replace(/\d/g, function (match) {
4428                return bn__symbolMap[match];
4429            });
4430        },
4431        meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,
4432        meridiemHour : function (hour, meridiem) {
4433            if (hour === 12) {
4434                hour = 0;
4435            }
4436            if ((meridiem === 'রাত' && hour >= 4) ||
4437                    (meridiem === 'দুপুর' && hour < 5) ||
4438                    meridiem === 'বিকাল') {
4439                return hour + 12;
4440            } else {
4441                return hour;
4442            }
4443        },
4444        meridiem : function (hour, minute, isLower) {
4445            if (hour < 4) {
4446                return 'রাত';
4447            } else if (hour < 10) {
4448                return 'সকাল';
4449            } else if (hour < 17) {
4450                return 'দুপুর';
4451            } else if (hour < 20) {
4452                return 'বিকাল';
4453            } else {
4454                return 'রাত';
4455            }
4456        },
4457        week : {
4458            dow : 0, // Sunday is the first day of the week.
4459            doy : 6  // The week that contains Jan 1st is the first week of the year.
4460        }
4461    });
4462
4463    //! moment.js locale configuration
4464    //! locale : tibetan (bo)
4465    //! author : Thupten N. Chakrishar : https://github.com/vajradog
4466
4467    var bo__symbolMap = {
4468        '1': '༡',
4469        '2': '༢',
4470        '3': '༣',
4471        '4': '༤',
4472        '5': '༥',
4473        '6': '༦',
4474        '7': '༧',
4475        '8': '༨',
4476        '9': '༩',
4477        '0': '༠'
4478    },
4479    bo__numberMap = {
4480        '༡': '1',
4481        '༢': '2',
4482        '༣': '3',
4483        '༤': '4',
4484        '༥': '5',
4485        '༦': '6',
4486        '༧': '7',
4487        '༨': '8',
4488        '༩': '9',
4489        '༠': '0'
4490    };
4491
4492    var bo = moment__default.defineLocale('bo', {
4493        months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
4494        monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),
4495        weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),
4496        weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
4497        weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),
4498        longDateFormat : {
4499            LT : 'A h:mm',
4500            LTS : 'A h:mm:ss',
4501            L : 'DD/MM/YYYY',
4502            LL : 'D MMMM YYYY',
4503            LLL : 'D MMMM YYYY, A h:mm',
4504            LLLL : 'dddd, D MMMM YYYY, A h:mm'
4505        },
4506        calendar : {
4507            sameDay : '[དི་རིང] LT',
4508            nextDay : '[སང་ཉིན] LT',
4509            nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',
4510            lastDay : '[ཁ་སང] LT',
4511            lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',
4512            sameElse : 'L'
4513        },
4514        relativeTime : {
4515            future : '%s ལ་',
4516            past : '%s སྔན་ལ',
4517            s : 'ལམ་སང',
4518            m : 'སྐར་མ་གཅིག',
4519            mm : '%d སྐར་མ',
4520            h : 'ཆུ་ཚོད་གཅིག',
4521            hh : '%d ཆུ་ཚོད',
4522            d : 'ཉིན་གཅིག',
4523            dd : '%d ཉིན་',
4524            M : 'ཟླ་བ་གཅིག',
4525            MM : '%d ཟླ་བ',
4526            y : 'ལོ་གཅིག',
4527            yy : '%d ལོ'
4528        },
4529        preparse: function (string) {
4530            return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {
4531                return bo__numberMap[match];
4532            });
4533        },
4534        postformat: function (string) {
4535            return string.replace(/\d/g, function (match) {
4536                return bo__symbolMap[match];
4537            });
4538        },
4539        meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,
4540        meridiemHour : function (hour, meridiem) {
4541            if (hour === 12) {
4542                hour = 0;
4543            }
4544            if ((meridiem === 'མཚན་མོ' && hour >= 4) ||
4545                    (meridiem === 'ཉིན་གུང' && hour < 5) ||
4546                    meridiem === 'དགོང་དག') {
4547                return hour + 12;
4548            } else {
4549                return hour;
4550            }
4551        },
4552        meridiem : function (hour, minute, isLower) {
4553            if (hour < 4) {
4554                return 'མཚན་མོ';
4555            } else if (hour < 10) {
4556                return 'ཞོགས་ཀས';
4557            } else if (hour < 17) {
4558                return 'ཉིན་གུང';
4559            } else if (hour < 20) {
4560                return 'དགོང་དག';
4561            } else {
4562                return 'མཚན་མོ';
4563            }
4564        },
4565        week : {
4566            dow : 0, // Sunday is the first day of the week.
4567            doy : 6  // The week that contains Jan 1st is the first week of the year.
4568        }
4569    });
4570
4571    //! moment.js locale configuration
4572    //! locale : breton (br)
4573    //! author : Jean-Baptiste Le Duigou : https://github.com/jbleduigou
4574
4575    function relativeTimeWithMutation(number, withoutSuffix, key) {
4576        var format = {
4577            'mm': 'munutenn',
4578            'MM': 'miz',
4579            'dd': 'devezh'
4580        };
4581        return number + ' ' + mutation(format[key], number);
4582    }
4583    function specialMutationForYears(number) {
4584        switch (lastNumber(number)) {
4585        case 1:
4586        case 3:
4587        case 4:
4588        case 5:
4589        case 9:
4590            return number + ' bloaz';
4591        default:
4592            return number + ' vloaz';
4593        }
4594    }
4595    function lastNumber(number) {
4596        if (number > 9) {
4597            return lastNumber(number % 10);
4598        }
4599        return number;
4600    }
4601    function mutation(text, number) {
4602        if (number === 2) {
4603            return softMutation(text);
4604        }
4605        return text;
4606    }
4607    function softMutation(text) {
4608        var mutationTable = {
4609            'm': 'v',
4610            'b': 'v',
4611            'd': 'z'
4612        };
4613        if (mutationTable[text.charAt(0)] === undefined) {
4614            return text;
4615        }
4616        return mutationTable[text.charAt(0)] + text.substring(1);
4617    }
4618
4619    var br = moment__default.defineLocale('br', {
4620        months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),
4621        monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),
4622        weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'),
4623        weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),
4624        weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),
4625        longDateFormat : {
4626            LT : 'h[e]mm A',
4627            LTS : 'h[e]mm:ss A',
4628            L : 'DD/MM/YYYY',
4629            LL : 'D [a viz] MMMM YYYY',
4630            LLL : 'D [a viz] MMMM YYYY h[e]mm A',
4631            LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'
4632        },
4633        calendar : {
4634            sameDay : '[Hiziv da] LT',
4635            nextDay : '[Warc\'hoazh da] LT',
4636            nextWeek : 'dddd [da] LT',
4637            lastDay : '[Dec\'h da] LT',
4638            lastWeek : 'dddd [paset da] LT',
4639            sameElse : 'L'
4640        },
4641        relativeTime : {
4642            future : 'a-benn %s',
4643            past : '%s \'zo',
4644            s : 'un nebeud segondennoù',
4645            m : 'ur vunutenn',
4646            mm : relativeTimeWithMutation,
4647            h : 'un eur',
4648            hh : '%d eur',
4649            d : 'un devezh',
4650            dd : relativeTimeWithMutation,
4651            M : 'ur miz',
4652            MM : relativeTimeWithMutation,
4653            y : 'ur bloaz',
4654            yy : specialMutationForYears
4655        },
4656        ordinalParse: /\d{1,2}(añ|vet)/,
4657        ordinal : function (number) {
4658            var output = (number === 1) ? 'añ' : 'vet';
4659            return number + output;
4660        },
4661        week : {
4662            dow : 1, // Monday is the first day of the week.
4663            doy : 4  // The week that contains Jan 4th is the first week of the year.
4664        }
4665    });
4666
4667    //! moment.js locale configuration
4668    //! locale : bosnian (bs)
4669    //! author : Nedim Cholich : https://github.com/frontyard
4670    //! based on (hr) translation by Bojan Marković
4671
4672    function bs__translate(number, withoutSuffix, key) {
4673        var result = number + ' ';
4674        switch (key) {
4675        case 'm':
4676            return withoutSuffix ? 'jedna minuta' : 'jedne minute';
4677        case 'mm':
4678            if (number === 1) {
4679                result += 'minuta';
4680            } else if (number === 2 || number === 3 || number === 4) {
4681                result += 'minute';
4682            } else {
4683                result += 'minuta';
4684            }
4685            return result;
4686        case 'h':
4687            return withoutSuffix ? 'jedan sat' : 'jednog sata';
4688        case 'hh':
4689            if (number === 1) {
4690                result += 'sat';
4691            } else if (number === 2 || number === 3 || number === 4) {
4692                result += 'sata';
4693            } else {
4694                result += 'sati';
4695            }
4696            return result;
4697        case 'dd':
4698            if (number === 1) {
4699                result += 'dan';
4700            } else {
4701                result += 'dana';
4702            }
4703            return result;
4704        case 'MM':
4705            if (number === 1) {
4706                result += 'mjesec';
4707            } else if (number === 2 || number === 3 || number === 4) {
4708                result += 'mjeseca';
4709            } else {
4710                result += 'mjeseci';
4711            }
4712            return result;
4713        case 'yy':
4714            if (number === 1) {
4715                result += 'godina';
4716            } else if (number === 2 || number === 3 || number === 4) {
4717                result += 'godine';
4718            } else {
4719                result += 'godina';
4720            }
4721            return result;
4722        }
4723    }
4724
4725    var bs = moment__default.defineLocale('bs', {
4726        months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),
4727        monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),
4728        weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
4729        weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
4730        weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
4731        longDateFormat : {
4732            LT : 'H:mm',
4733            LTS : 'H:mm:ss',
4734            L : 'DD. MM. YYYY',
4735            LL : 'D. MMMM YYYY',
4736            LLL : 'D. MMMM YYYY H:mm',
4737            LLLL : 'dddd, D. MMMM YYYY H:mm'
4738        },
4739        calendar : {
4740            sameDay  : '[danas u] LT',
4741            nextDay  : '[sutra u] LT',
4742            nextWeek : function () {
4743                switch (this.day()) {
4744                case 0:
4745                    return '[u] [nedjelju] [u] LT';
4746                case 3:
4747                    return '[u] [srijedu] [u] LT';
4748                case 6:
4749                    return '[u] [subotu] [u] LT';
4750                case 1:
4751                case 2:
4752                case 4:
4753                case 5:
4754                    return '[u] dddd [u] LT';
4755                }
4756            },
4757            lastDay  : '[jučer u] LT',
4758            lastWeek : function () {
4759                switch (this.day()) {
4760                case 0:
4761                case 3:
4762                    return '[prošlu] dddd [u] LT';
4763                case 6:
4764                    return '[prošle] [subote] [u] LT';
4765                case 1:
4766                case 2:
4767                case 4:
4768                case 5:
4769                    return '[prošli] dddd [u] LT';
4770                }
4771            },
4772            sameElse : 'L'
4773        },
4774        relativeTime : {
4775            future : 'za %s',
4776            past   : 'prije %s',
4777            s      : 'par sekundi',
4778            m      : bs__translate,
4779            mm     : bs__translate,
4780            h      : bs__translate,
4781            hh     : bs__translate,
4782            d      : 'dan',
4783            dd     : bs__translate,
4784            M      : 'mjesec',
4785            MM     : bs__translate,
4786            y      : 'godinu',
4787            yy     : bs__translate
4788        },
4789        ordinalParse: /\d{1,2}\./,
4790        ordinal : '%d.',
4791        week : {
4792            dow : 1, // Monday is the first day of the week.
4793            doy : 7  // The week that contains Jan 1st is the first week of the year.
4794        }
4795    });
4796
4797    //! moment.js locale configuration
4798    //! locale : catalan (ca)
4799    //! author : Juan G. Hurtado : https://github.com/juanghurtado
4800
4801    var ca = moment__default.defineLocale('ca', {
4802        months : 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),
4803        monthsShort : 'gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.'.split('_'),
4804        weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),
4805        weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),
4806        weekdaysMin : 'Dg_Dl_Dt_Dc_Dj_Dv_Ds'.split('_'),
4807        longDateFormat : {
4808            LT : 'H:mm',
4809            LTS : 'H:mm:ss',
4810            L : 'DD/MM/YYYY',
4811            LL : 'D MMMM YYYY',
4812            LLL : 'D MMMM YYYY H:mm',
4813            LLLL : 'dddd D MMMM YYYY H:mm'
4814        },
4815        calendar : {
4816            sameDay : function () {
4817                return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
4818            },
4819            nextDay : function () {
4820                return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
4821            },
4822            nextWeek : function () {
4823                return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
4824            },
4825            lastDay : function () {
4826                return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
4827            },
4828            lastWeek : function () {
4829                return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';
4830            },
4831            sameElse : 'L'
4832        },
4833        relativeTime : {
4834            future : 'en %s',
4835            past : 'fa %s',
4836            s : 'uns segons',
4837            m : 'un minut',
4838            mm : '%d minuts',
4839            h : 'una hora',
4840            hh : '%d hores',
4841            d : 'un dia',
4842            dd : '%d dies',
4843            M : 'un mes',
4844            MM : '%d mesos',
4845            y : 'un any',
4846            yy : '%d anys'
4847        },
4848        ordinalParse: /\d{1,2}(r|n|t|è|a)/,
4849        ordinal : function (number, period) {
4850            var output = (number === 1) ? 'r' :
4851                (number === 2) ? 'n' :
4852                (number === 3) ? 'r' :
4853                (number === 4) ? 't' : 'è';
4854            if (period === 'w' || period === 'W') {
4855                output = 'a';
4856            }
4857            return number + output;
4858        },
4859        week : {
4860            dow : 1, // Monday is the first day of the week.
4861            doy : 4  // The week that contains Jan 4th is the first week of the year.
4862        }
4863    });
4864
4865    //! moment.js locale configuration
4866    //! locale : czech (cs)
4867    //! author : petrbela : https://github.com/petrbela
4868
4869    var cs__months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),
4870        cs__monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');
4871    function cs__plural(n) {
4872        return (n > 1) && (n < 5) && (~~(n / 10) !== 1);
4873    }
4874    function cs__translate(number, withoutSuffix, key, isFuture) {
4875        var result = number + ' ';
4876        switch (key) {
4877        case 's':  // a few seconds / in a few seconds / a few seconds ago
4878            return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';
4879        case 'm':  // a minute / in a minute / a minute ago
4880            return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');
4881        case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
4882            if (withoutSuffix || isFuture) {
4883                return result + (cs__plural(number) ? 'minuty' : 'minut');
4884            } else {
4885                return result + 'minutami';
4886            }
4887            break;
4888        case 'h':  // an hour / in an hour / an hour ago
4889            return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
4890        case 'hh': // 9 hours / in 9 hours / 9 hours ago
4891            if (withoutSuffix || isFuture) {
4892                return result + (cs__plural(number) ? 'hodiny' : 'hodin');
4893            } else {
4894                return result + 'hodinami';
4895            }
4896            break;
4897        case 'd':  // a day / in a day / a day ago
4898            return (withoutSuffix || isFuture) ? 'den' : 'dnem';
4899        case 'dd': // 9 days / in 9 days / 9 days ago
4900            if (withoutSuffix || isFuture) {
4901                return result + (cs__plural(number) ? 'dny' : 'dní');
4902            } else {
4903                return result + 'dny';
4904            }
4905            break;
4906        case 'M':  // a month / in a month / a month ago
4907            return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';
4908        case 'MM': // 9 months / in 9 months / 9 months ago
4909            if (withoutSuffix || isFuture) {
4910                return result + (cs__plural(number) ? 'měsíce' : 'měsíců');
4911            } else {
4912                return result + 'měsíci';
4913            }
4914            break;
4915        case 'y':  // a year / in a year / a year ago
4916            return (withoutSuffix || isFuture) ? 'rok' : 'rokem';
4917        case 'yy': // 9 years / in 9 years / 9 years ago
4918            if (withoutSuffix || isFuture) {
4919                return result + (cs__plural(number) ? 'roky' : 'let');
4920            } else {
4921                return result + 'lety';
4922            }
4923            break;
4924        }
4925    }
4926
4927    var cs = moment__default.defineLocale('cs', {
4928        months : cs__months,
4929        monthsShort : cs__monthsShort,
4930        monthsParse : (function (months, monthsShort) {
4931            var i, _monthsParse = [];
4932            for (i = 0; i < 12; i++) {
4933                // use custom parser to solve problem with July (červenec)
4934                _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');
4935            }
4936            return _monthsParse;
4937        }(cs__months, cs__monthsShort)),
4938        shortMonthsParse : (function (monthsShort) {
4939            var i, _shortMonthsParse = [];
4940            for (i = 0; i < 12; i++) {
4941                _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');
4942            }
4943            return _shortMonthsParse;
4944        }(cs__monthsShort)),
4945        longMonthsParse : (function (months) {
4946            var i, _longMonthsParse = [];
4947            for (i = 0; i < 12; i++) {
4948                _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');
4949            }
4950            return _longMonthsParse;
4951        }(cs__months)),
4952        weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),
4953        weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),
4954        weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),
4955        longDateFormat : {
4956            LT: 'H:mm',
4957            LTS : 'H:mm:ss',
4958            L : 'DD.MM.YYYY',
4959            LL : 'D. MMMM YYYY',
4960            LLL : 'D. MMMM YYYY H:mm',
4961            LLLL : 'dddd D. MMMM YYYY H:mm'
4962        },
4963        calendar : {
4964            sameDay: '[dnes v] LT',
4965            nextDay: '[zítra v] LT',
4966            nextWeek: function () {
4967                switch (this.day()) {
4968                case 0:
4969                    return '[v neděli v] LT';
4970                case 1:
4971                case 2:
4972                    return '[v] dddd [v] LT';
4973                case 3:
4974                    return '[ve středu v] LT';
4975                case 4:
4976                    return '[ve čtvrtek v] LT';
4977                case 5:
4978                    return '[v pátek v] LT';
4979                case 6:
4980                    return '[v sobotu v] LT';
4981                }
4982            },
4983            lastDay: '[včera v] LT',
4984            lastWeek: function () {
4985                switch (this.day()) {
4986                case 0:
4987                    return '[minulou neděli v] LT';
4988                case 1:
4989                case 2:
4990                    return '[minulé] dddd [v] LT';
4991                case 3:
4992                    return '[minulou středu v] LT';
4993                case 4:
4994                case 5:
4995                    return '[minulý] dddd [v] LT';
4996                case 6:
4997                    return '[minulou sobotu v] LT';
4998                }
4999            },
5000            sameElse: 'L'
5001        },
5002        relativeTime : {
5003            future : 'za %s',
5004            past : 'před %s',
5005            s : cs__translate,
5006            m : cs__translate,
5007            mm : cs__translate,
5008            h : cs__translate,
5009            hh : cs__translate,
5010            d : cs__translate,
5011            dd : cs__translate,
5012            M : cs__translate,
5013            MM : cs__translate,
5014            y : cs__translate,
5015            yy : cs__translate
5016        },
5017        ordinalParse : /\d{1,2}\./,
5018        ordinal : '%d.',
5019        week : {
5020            dow : 1, // Monday is the first day of the week.
5021            doy : 4  // The week that contains Jan 4th is the first week of the year.
5022        }
5023    });
5024
5025    //! moment.js locale configuration
5026    //! locale : chuvash (cv)
5027    //! author : Anatoly Mironov : https://github.com/mirontoli
5028
5029    var cv = moment__default.defineLocale('cv', {
5030        months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),
5031        monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),
5032        weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),
5033        weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),
5034        weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),
5035        longDateFormat : {
5036            LT : 'HH:mm',
5037            LTS : 'HH:mm:ss',
5038            L : 'DD-MM-YYYY',
5039            LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',
5040            LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',
5041            LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'
5042        },
5043        calendar : {
5044            sameDay: '[Паян] LT [сехетре]',
5045            nextDay: '[Ыран] LT [сехетре]',
5046            lastDay: '[Ӗнер] LT [сехетре]',
5047            nextWeek: '[Ҫитес] dddd LT [сехетре]',
5048            lastWeek: '[Иртнӗ] dddd LT [сехетре]',
5049            sameElse: 'L'
5050        },
5051        relativeTime : {
5052            future : function (output) {
5053                var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';
5054                return output + affix;
5055            },
5056            past : '%s каялла',
5057            s : 'пӗр-ик ҫеккунт',
5058            m : 'пӗр минут',
5059            mm : '%d минут',
5060            h : 'пӗр сехет',
5061            hh : '%d сехет',
5062            d : 'пӗр кун',
5063            dd : '%d кун',
5064            M : 'пӗр уйӑх',
5065            MM : '%d уйӑх',
5066            y : 'пӗр ҫул',
5067            yy : '%d ҫул'
5068        },
5069        ordinalParse: /\d{1,2}-мӗш/,
5070        ordinal : '%d-мӗш',
5071        week : {
5072            dow : 1, // Monday is the first day of the week.
5073            doy : 7  // The week that contains Jan 1st is the first week of the year.
5074        }
5075    });
5076
5077    //! moment.js locale configuration
5078    //! locale : Welsh (cy)
5079    //! author : Robert Allen
5080
5081    var cy = moment__default.defineLocale('cy', {
5082        months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),
5083        monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),
5084        weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),
5085        weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),
5086        weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),
5087        // time formats are the same as en-gb
5088        longDateFormat: {
5089            LT: 'HH:mm',
5090            LTS : 'HH:mm:ss',
5091            L: 'DD/MM/YYYY',
5092            LL: 'D MMMM YYYY',
5093            LLL: 'D MMMM YYYY HH:mm',
5094            LLLL: 'dddd, D MMMM YYYY HH:mm'
5095        },
5096        calendar: {
5097            sameDay: '[Heddiw am] LT',
5098            nextDay: '[Yfory am] LT',
5099            nextWeek: 'dddd [am] LT',
5100            lastDay: '[Ddoe am] LT',
5101            lastWeek: 'dddd [diwethaf am] LT',
5102            sameElse: 'L'
5103        },
5104        relativeTime: {
5105            future: 'mewn %s',
5106            past: '%s yn ôl',
5107            s: 'ychydig eiliadau',
5108            m: 'munud',
5109            mm: '%d munud',
5110            h: 'awr',
5111            hh: '%d awr',
5112            d: 'diwrnod',
5113            dd: '%d diwrnod',
5114            M: 'mis',
5115            MM: '%d mis',
5116            y: 'blwyddyn',
5117            yy: '%d flynedd'
5118        },
5119        ordinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,
5120        // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh
5121        ordinal: function (number) {
5122            var b = number,
5123                output = '',
5124                lookup = [
vendor: 92,599 bytes, lines 5125-7576
5125                    '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed
5126                    'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed
5127                ];
5128            if (b > 20) {
5129                if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {
5130                    output = 'fed'; // not 30ain, 70ain or 90ain
5131                } else {
5132                    output = 'ain';
5133                }
5134            } else if (b > 0) {
5135                output = lookup[b];
5136            }
5137            return number + output;
5138        },
5139        week : {
5140            dow : 1, // Monday is the first day of the week.
5141            doy : 4  // The week that contains Jan 4th is the first week of the year.
5142        }
5143    });
5144
5145    //! moment.js locale configuration
5146    //! locale : danish (da)
5147    //! author : Ulrik Nielsen : https://github.com/mrbase
5148
5149    var da = moment__default.defineLocale('da', {
5150        months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),
5151        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
5152        weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
5153        weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),
5154        weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
5155        longDateFormat : {
5156            LT : 'HH:mm',
5157            LTS : 'HH:mm:ss',
5158            L : 'DD/MM/YYYY',
5159            LL : 'D. MMMM YYYY',
5160            LLL : 'D. MMMM YYYY HH:mm',
5161            LLLL : 'dddd [d.] D. MMMM YYYY HH:mm'
5162        },
5163        calendar : {
5164            sameDay : '[I dag kl.] LT',
5165            nextDay : '[I morgen kl.] LT',
5166            nextWeek : 'dddd [kl.] LT',
5167            lastDay : '[I går kl.] LT',
5168            lastWeek : '[sidste] dddd [kl] LT',
5169            sameElse : 'L'
5170        },
5171        relativeTime : {
5172            future : 'om %s',
5173            past : '%s siden',
5174            s : 'få sekunder',
5175            m : 'et minut',
5176            mm : '%d minutter',
5177            h : 'en time',
5178            hh : '%d timer',
5179            d : 'en dag',
5180            dd : '%d dage',
5181            M : 'en måned',
5182            MM : '%d måneder',
5183            y : 'et år',
5184            yy : '%d år'
5185        },
5186        ordinalParse: /\d{1,2}\./,
5187        ordinal : '%d.',
5188        week : {
5189            dow : 1, // Monday is the first day of the week.
5190            doy : 4  // The week that contains Jan 4th is the first week of the year.
5191        }
5192    });
5193
5194    //! moment.js locale configuration
5195    //! locale : austrian german (de-at)
5196    //! author : lluchs : https://github.com/lluchs
5197    //! author: Menelion Elensúle: https://github.com/Oire
5198    //! author : Martin Groller : https://github.com/MadMG
5199    //! author : Mikolaj Dadela : https://github.com/mik01aj
5200
5201    function de_at__processRelativeTime(number, withoutSuffix, key, isFuture) {
5202        var format = {
5203            'm': ['eine Minute', 'einer Minute'],
5204            'h': ['eine Stunde', 'einer Stunde'],
5205            'd': ['ein Tag', 'einem Tag'],
5206            'dd': [number + ' Tage', number + ' Tagen'],
5207            'M': ['ein Monat', 'einem Monat'],
5208            'MM': [number + ' Monate', number + ' Monaten'],
5209            'y': ['ein Jahr', 'einem Jahr'],
5210            'yy': [number + ' Jahre', number + ' Jahren']
5211        };
5212        return withoutSuffix ? format[key][0] : format[key][1];
5213    }
5214
5215    var de_at = moment__default.defineLocale('de-at', {
5216        months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
5217        monthsShort : 'Jän._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
5218        weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
5219        weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
5220        weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
5221        longDateFormat : {
5222            LT: 'HH:mm',
5223            LTS: 'HH:mm:ss',
5224            L : 'DD.MM.YYYY',
5225            LL : 'D. MMMM YYYY',
5226            LLL : 'D. MMMM YYYY HH:mm',
5227            LLLL : 'dddd, D. MMMM YYYY HH:mm'
5228        },
5229        calendar : {
5230            sameDay: '[heute um] LT [Uhr]',
5231            sameElse: 'L',
5232            nextDay: '[morgen um] LT [Uhr]',
5233            nextWeek: 'dddd [um] LT [Uhr]',
5234            lastDay: '[gestern um] LT [Uhr]',
5235            lastWeek: '[letzten] dddd [um] LT [Uhr]'
5236        },
5237        relativeTime : {
5238            future : 'in %s',
5239            past : 'vor %s',
5240            s : 'ein paar Sekunden',
5241            m : de_at__processRelativeTime,
5242            mm : '%d Minuten',
5243            h : de_at__processRelativeTime,
5244            hh : '%d Stunden',
5245            d : de_at__processRelativeTime,
5246            dd : de_at__processRelativeTime,
5247            M : de_at__processRelativeTime,
5248            MM : de_at__processRelativeTime,
5249            y : de_at__processRelativeTime,
5250            yy : de_at__processRelativeTime
5251        },
5252        ordinalParse: /\d{1,2}\./,
5253        ordinal : '%d.',
5254        week : {
5255            dow : 1, // Monday is the first day of the week.
5256            doy : 4  // The week that contains Jan 4th is the first week of the year.
5257        }
5258    });
5259
5260    //! moment.js locale configuration
5261    //! locale : german (de)
5262    //! author : lluchs : https://github.com/lluchs
5263    //! author: Menelion Elensúle: https://github.com/Oire
5264    //! author : Mikolaj Dadela : https://github.com/mik01aj
5265
5266    function de__processRelativeTime(number, withoutSuffix, key, isFuture) {
5267        var format = {
5268            'm': ['eine Minute', 'einer Minute'],
5269            'h': ['eine Stunde', 'einer Stunde'],
5270            'd': ['ein Tag', 'einem Tag'],
5271            'dd': [number + ' Tage', number + ' Tagen'],
5272            'M': ['ein Monat', 'einem Monat'],
5273            'MM': [number + ' Monate', number + ' Monaten'],
5274            'y': ['ein Jahr', 'einem Jahr'],
5275            'yy': [number + ' Jahre', number + ' Jahren']
5276        };
5277        return withoutSuffix ? format[key][0] : format[key][1];
5278    }
5279
5280    var de = moment__default.defineLocale('de', {
5281        months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
5282        monthsShort : 'Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
5283        weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),
5284        weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),
5285        weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),
5286        longDateFormat : {
5287            LT: 'HH:mm',
5288            LTS: 'HH:mm:ss',
5289            L : 'DD.MM.YYYY',
5290            LL : 'D. MMMM YYYY',
5291            LLL : 'D. MMMM YYYY HH:mm',
5292            LLLL : 'dddd, D. MMMM YYYY HH:mm'
5293        },
5294        calendar : {
5295            sameDay: '[heute um] LT [Uhr]',
5296            sameElse: 'L',
5297            nextDay: '[morgen um] LT [Uhr]',
5298            nextWeek: 'dddd [um] LT [Uhr]',
5299            lastDay: '[gestern um] LT [Uhr]',
5300            lastWeek: '[letzten] dddd [um] LT [Uhr]'
5301        },
5302        relativeTime : {
5303            future : 'in %s',
5304            past : 'vor %s',
5305            s : 'ein paar Sekunden',
5306            m : de__processRelativeTime,
5307            mm : '%d Minuten',
5308            h : de__processRelativeTime,
5309            hh : '%d Stunden',
5310            d : de__processRelativeTime,
5311            dd : de__processRelativeTime,
5312            M : de__processRelativeTime,
5313            MM : de__processRelativeTime,
5314            y : de__processRelativeTime,
5315            yy : de__processRelativeTime
5316        },
5317        ordinalParse: /\d{1,2}\./,
5318        ordinal : '%d.',
5319        week : {
5320            dow : 1, // Monday is the first day of the week.
5321            doy : 4  // The week that contains Jan 4th is the first week of the year.
5322        }
5323    });
5324
5325    //! moment.js locale configuration
5326    //! locale : dhivehi (dv)
5327    //! author : Jawish Hameed : https://github.com/jawish
5328
5329    var dv__months = [
5330        'ޖެނުއަރީ',
5331        'ފެބްރުއަރީ',
5332        'މާރިޗު',
5333        'އޭޕްރީލު',
5334        'މޭ',
5335        'ޖޫން',
5336        'ޖުލައި',
5337        'އޯގަސްޓު',
5338        'ސެޕްޓެމްބަރު',
5339        'އޮކްޓޯބަރު',
5340        'ނޮވެމްބަރު',
5341        'ޑިސެމްބަރު'
5342    ], dv__weekdays = [
5343        'އާދިއްތަ',
5344        'ހޯމަ',
5345        'އަންގާރަ',
5346        'ބުދަ',
5347        'ބުރާސްފަތި',
5348        'ހުކުރު',
5349        'ހޮނިހިރު'
5350    ];
5351
5352    var dv = moment__default.defineLocale('dv', {
5353        months : dv__months,
5354        monthsShort : dv__months,
5355        weekdays : dv__weekdays,
5356        weekdaysShort : dv__weekdays,
5357        weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),
5358        longDateFormat : {
5359
5360            LT : 'HH:mm',
5361            LTS : 'HH:mm:ss',
5362            L : 'D/M/YYYY',
5363            LL : 'D MMMM YYYY',
5364            LLL : 'D MMMM YYYY HH:mm',
5365            LLLL : 'dddd D MMMM YYYY HH:mm'
5366        },
5367        meridiemParse: /މކ|މފ/,
5368        isPM : function (input) {
5369            return 'މފ' === input;
5370        },
5371        meridiem : function (hour, minute, isLower) {
5372            if (hour < 12) {
5373                return 'މކ';
5374            } else {
5375                return 'މފ';
5376            }
5377        },
5378        calendar : {
5379            sameDay : '[މިއަދު] LT',
5380            nextDay : '[މާދަމާ] LT',
5381            nextWeek : 'dddd LT',
5382            lastDay : '[އިއްޔެ] LT',
5383            lastWeek : '[ފާއިތުވި] dddd LT',
5384            sameElse : 'L'
5385        },
5386        relativeTime : {
5387            future : 'ތެރޭގައި %s',
5388            past : 'ކުރިން %s',
5389            s : 'ސިކުންތުކޮޅެއް',
5390            m : 'މިނިޓެއް',
5391            mm : 'މިނިޓު %d',
5392            h : 'ގަޑިއިރެއް',
5393            hh : 'ގަޑިއިރު %d',
5394            d : 'ދުވަހެއް',
5395            dd : 'ދުވަސް %d',
5396            M : 'މަހެއް',
5397            MM : 'މަސް %d',
5398            y : 'އަހަރެއް',
5399            yy : 'އަހަރު %d'
5400        },
5401        preparse: function (string) {
5402            return string.replace(/،/g, ',');
5403        },
5404        postformat: function (string) {
5405            return string.replace(/,/g, '،');
5406        },
5407        week : {
5408            dow : 7,  // Sunday is the first day of the week.
5409            doy : 12  // The week that contains Jan 1st is the first week of the year.
5410        }
5411    });
5412
5413    //! moment.js locale configuration
5414    //! locale : modern greek (el)
5415    //! author : Aggelos Karalias : https://github.com/mehiel
5416
5417    var el = moment__default.defineLocale('el', {
5418        monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),
5419        monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),
5420        months : function (momentToFormat, format) {
5421            if (/D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'
5422                return this._monthsGenitiveEl[momentToFormat.month()];
5423            } else {
5424                return this._monthsNominativeEl[momentToFormat.month()];
5425            }
5426        },
5427        monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),
5428        weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),
5429        weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),
5430        weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),
5431        meridiem : function (hours, minutes, isLower) {
5432            if (hours > 11) {
5433                return isLower ? 'μμ' : 'ΜΜ';
5434            } else {
5435                return isLower ? 'πμ' : 'ΠΜ';
5436            }
5437        },
5438        isPM : function (input) {
5439            return ((input + '').toLowerCase()[0] === 'μ');
5440        },
5441        meridiemParse : /[ΠΜ]\.?Μ?\.?/i,
5442        longDateFormat : {
5443            LT : 'h:mm A',
5444            LTS : 'h:mm:ss A',
5445            L : 'DD/MM/YYYY',
5446            LL : 'D MMMM YYYY',
5447            LLL : 'D MMMM YYYY h:mm A',
5448            LLLL : 'dddd, D MMMM YYYY h:mm A'
5449        },
5450        calendarEl : {
5451            sameDay : '[Σήμερα {}] LT',
5452            nextDay : '[Αύριο {}] LT',
5453            nextWeek : 'dddd [{}] LT',
5454            lastDay : '[Χθες {}] LT',
5455            lastWeek : function () {
5456                switch (this.day()) {
5457                    case 6:
5458                        return '[το προηγούμενο] dddd [{}] LT';
5459                    default:
5460                        return '[την προηγούμενη] dddd [{}] LT';
5461                }
5462            },
5463            sameElse : 'L'
5464        },
5465        calendar : function (key, mom) {
5466            var output = this._calendarEl[key],
5467                hours = mom && mom.hours();
5468            if (isFunction(output)) {
5469                output = output.apply(mom);
5470            }
5471            return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));
5472        },
5473        relativeTime : {
5474            future : 'σε %s',
5475            past : '%s πριν',
5476            s : 'λίγα δευτερόλεπτα',
5477            m : 'ένα λεπτό',
5478            mm : '%d λεπτά',
5479            h : 'μία ώρα',
5480            hh : '%d ώρες',
5481            d : 'μία μέρα',
5482            dd : '%d μέρες',
5483            M : 'ένας μήνας',
5484            MM : '%d μήνες',
5485            y : 'ένας χρόνος',
5486            yy : '%d χρόνια'
5487        },
5488        ordinalParse: /\d{1,2}η/,
5489        ordinal: '%dη',
5490        week : {
5491            dow : 1, // Monday is the first day of the week.
5492            doy : 4  // The week that contains Jan 4st is the first week of the year.
5493        }
5494    });
5495
5496    //! moment.js locale configuration
5497    //! locale : australian english (en-au)
5498
5499    var en_au = moment__default.defineLocale('en-au', {
5500        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
5501        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
5502        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
5503        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
5504        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
5505        longDateFormat : {
5506            LT : 'h:mm A',
5507            LTS : 'h:mm:ss A',
5508            L : 'DD/MM/YYYY',
5509            LL : 'D MMMM YYYY',
5510            LLL : 'D MMMM YYYY h:mm A',
5511            LLLL : 'dddd, D MMMM YYYY h:mm A'
5512        },
5513        calendar : {
5514            sameDay : '[Today at] LT',
5515            nextDay : '[Tomorrow at] LT',
5516            nextWeek : 'dddd [at] LT',
5517            lastDay : '[Yesterday at] LT',
5518            lastWeek : '[Last] dddd [at] LT',
5519            sameElse : 'L'
5520        },
5521        relativeTime : {
5522            future : 'in %s',
5523            past : '%s ago',
5524            s : 'a few seconds',
5525            m : 'a minute',
5526            mm : '%d minutes',
5527            h : 'an hour',
5528            hh : '%d hours',
5529            d : 'a day',
5530            dd : '%d days',
5531            M : 'a month',
5532            MM : '%d months',
5533            y : 'a year',
5534            yy : '%d years'
5535        },
5536        ordinalParse: /\d{1,2}(st|nd|rd|th)/,
5537        ordinal : function (number) {
5538            var b = number % 10,
5539                output = (~~(number % 100 / 10) === 1) ? 'th' :
5540                (b === 1) ? 'st' :
5541                (b === 2) ? 'nd' :
5542                (b === 3) ? 'rd' : 'th';
5543            return number + output;
5544        },
5545        week : {
5546            dow : 1, // Monday is the first day of the week.
5547            doy : 4  // The week that contains Jan 4th is the first week of the year.
5548        }
5549    });
5550
5551    //! moment.js locale configuration
5552    //! locale : canadian english (en-ca)
5553    //! author : Jonathan Abourbih : https://github.com/jonbca
5554
5555    var en_ca = moment__default.defineLocale('en-ca', {
5556        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
5557        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
5558        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
5559        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
5560        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
5561        longDateFormat : {
5562            LT : 'h:mm A',
5563            LTS : 'h:mm:ss A',
5564            L : 'YYYY-MM-DD',
5565            LL : 'MMMM D, YYYY',
5566            LLL : 'MMMM D, YYYY h:mm A',
5567            LLLL : 'dddd, MMMM D, YYYY h:mm A'
5568        },
5569        calendar : {
5570            sameDay : '[Today at] LT',
5571            nextDay : '[Tomorrow at] LT',
5572            nextWeek : 'dddd [at] LT',
5573            lastDay : '[Yesterday at] LT',
5574            lastWeek : '[Last] dddd [at] LT',
5575            sameElse : 'L'
5576        },
5577        relativeTime : {
5578            future : 'in %s',
5579            past : '%s ago',
5580            s : 'a few seconds',
5581            m : 'a minute',
5582            mm : '%d minutes',
5583            h : 'an hour',
5584            hh : '%d hours',
5585            d : 'a day',
5586            dd : '%d days',
5587            M : 'a month',
5588            MM : '%d months',
5589            y : 'a year',
5590            yy : '%d years'
5591        },
5592        ordinalParse: /\d{1,2}(st|nd|rd|th)/,
5593        ordinal : function (number) {
5594            var b = number % 10,
5595                output = (~~(number % 100 / 10) === 1) ? 'th' :
5596                (b === 1) ? 'st' :
5597                (b === 2) ? 'nd' :
5598                (b === 3) ? 'rd' : 'th';
5599            return number + output;
5600        }
5601    });
5602
5603    //! moment.js locale configuration
5604    //! locale : great britain english (en-gb)
5605    //! author : Chris Gedrim : https://github.com/chrisgedrim
5606
5607    var en_gb = moment__default.defineLocale('en-gb', {
5608        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
5609        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
5610        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
5611        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
5612        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
5613        longDateFormat : {
5614            LT : 'HH:mm',
5615            LTS : 'HH:mm:ss',
5616            L : 'DD/MM/YYYY',
5617            LL : 'D MMMM YYYY',
5618            LLL : 'D MMMM YYYY HH:mm',
5619            LLLL : 'dddd, D MMMM YYYY HH:mm'
5620        },
5621        calendar : {
5622            sameDay : '[Today at] LT',
5623            nextDay : '[Tomorrow at] LT',
5624            nextWeek : 'dddd [at] LT',
5625            lastDay : '[Yesterday at] LT',
5626            lastWeek : '[Last] dddd [at] LT',
5627            sameElse : 'L'
5628        },
5629        relativeTime : {
5630            future : 'in %s',
5631            past : '%s ago',
5632            s : 'a few seconds',
5633            m : 'a minute',
5634            mm : '%d minutes',
5635            h : 'an hour',
5636            hh : '%d hours',
5637            d : 'a day',
5638            dd : '%d days',
5639            M : 'a month',
5640            MM : '%d months',
5641            y : 'a year',
5642            yy : '%d years'
5643        },
5644        ordinalParse: /\d{1,2}(st|nd|rd|th)/,
5645        ordinal : function (number) {
5646            var b = number % 10,
5647                output = (~~(number % 100 / 10) === 1) ? 'th' :
5648                (b === 1) ? 'st' :
5649                (b === 2) ? 'nd' :
5650                (b === 3) ? 'rd' : 'th';
5651            return number + output;
5652        },
5653        week : {
5654            dow : 1, // Monday is the first day of the week.
5655            doy : 4  // The week that contains Jan 4th is the first week of the year.
5656        }
5657    });
5658
5659    //! moment.js locale configuration
5660    //! locale : Irish english (en-ie)
5661    //! author : Chris Cartlidge : https://github.com/chriscartlidge
5662
5663    var en_ie = moment__default.defineLocale('en-ie', {
5664        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
5665        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
5666        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
5667        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
5668        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
5669        longDateFormat : {
5670            LT : 'HH:mm',
5671            LTS : 'HH:mm:ss',
5672            L : 'DD-MM-YYYY',
5673            LL : 'D MMMM YYYY',
5674            LLL : 'D MMMM YYYY HH:mm',
5675            LLLL : 'dddd D MMMM YYYY HH:mm'
5676        },
5677        calendar : {
5678            sameDay : '[Today at] LT',
5679            nextDay : '[Tomorrow at] LT',
5680            nextWeek : 'dddd [at] LT',
5681            lastDay : '[Yesterday at] LT',
5682            lastWeek : '[Last] dddd [at] LT',
5683            sameElse : 'L'
5684        },
5685        relativeTime : {
5686            future : 'in %s',
5687            past : '%s ago',
5688            s : 'a few seconds',
5689            m : 'a minute',
5690            mm : '%d minutes',
5691            h : 'an hour',
5692            hh : '%d hours',
5693            d : 'a day',
5694            dd : '%d days',
5695            M : 'a month',
5696            MM : '%d months',
5697            y : 'a year',
5698            yy : '%d years'
5699        },
5700        ordinalParse: /\d{1,2}(st|nd|rd|th)/,
5701        ordinal : function (number) {
5702            var b = number % 10,
5703                output = (~~(number % 100 / 10) === 1) ? 'th' :
5704                (b === 1) ? 'st' :
5705                (b === 2) ? 'nd' :
5706                (b === 3) ? 'rd' : 'th';
5707            return number + output;
5708        },
5709        week : {
5710            dow : 1, // Monday is the first day of the week.
5711            doy : 4  // The week that contains Jan 4th is the first week of the year.
5712        }
5713    });
5714
5715    //! moment.js locale configuration
5716    //! locale : New Zealand english (en-nz)
5717
5718    var en_nz = moment__default.defineLocale('en-nz', {
5719        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),
5720        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),
5721        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),
5722        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),
5723        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),
5724        longDateFormat : {
5725            LT : 'h:mm A',
5726            LTS : 'h:mm:ss A',
5727            L : 'DD/MM/YYYY',
5728            LL : 'D MMMM YYYY',
5729            LLL : 'D MMMM YYYY h:mm A',
5730            LLLL : 'dddd, D MMMM YYYY h:mm A'
5731        },
5732        calendar : {
5733            sameDay : '[Today at] LT',
5734            nextDay : '[Tomorrow at] LT',
5735            nextWeek : 'dddd [at] LT',
5736            lastDay : '[Yesterday at] LT',
5737            lastWeek : '[Last] dddd [at] LT',
5738            sameElse : 'L'
5739        },
5740        relativeTime : {
5741            future : 'in %s',
5742            past : '%s ago',
5743            s : 'a few seconds',
5744            m : 'a minute',
5745            mm : '%d minutes',
5746            h : 'an hour',
5747            hh : '%d hours',
5748            d : 'a day',
5749            dd : '%d days',
5750            M : 'a month',
5751            MM : '%d months',
5752            y : 'a year',
5753            yy : '%d years'
5754        },
5755        ordinalParse: /\d{1,2}(st|nd|rd|th)/,
5756        ordinal : function (number) {
5757            var b = number % 10,
5758                output = (~~(number % 100 / 10) === 1) ? 'th' :
5759                (b === 1) ? 'st' :
5760                (b === 2) ? 'nd' :
5761                (b === 3) ? 'rd' : 'th';
5762            return number + output;
5763        },
5764        week : {
5765            dow : 1, // Monday is the first day of the week.
5766            doy : 4  // The week that contains Jan 4th is the first week of the year.
5767        }
5768    });
5769
5770    //! moment.js locale configuration
5771    //! locale : esperanto (eo)
5772    //! author : Colin Dean : https://github.com/colindean
5773    //! komento: Mi estas malcerta se mi korekte traktis akuzativojn en tiu traduko.
5774    //!          Se ne, bonvolu korekti kaj avizi min por ke mi povas lerni!
5775
5776    var eo = moment__default.defineLocale('eo', {
5777        months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅ­gusto_septembro_oktobro_novembro_decembro'.split('_'),
5778        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aÅ­g_sep_okt_nov_dec'.split('_'),
5779        weekdays : 'Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato'.split('_'),
5780        weekdaysShort : 'Dim_Lun_Mard_Merk_Ä´aÅ­_Ven_Sab'.split('_'),
5781        weekdaysMin : 'Di_Lu_Ma_Me_Ä´a_Ve_Sa'.split('_'),
5782        longDateFormat : {
5783            LT : 'HH:mm',
5784            LTS : 'HH:mm:ss',
5785            L : 'YYYY-MM-DD',
5786            LL : 'D[-an de] MMMM, YYYY',
5787            LLL : 'D[-an de] MMMM, YYYY HH:mm',
5788            LLLL : 'dddd, [la] D[-an de] MMMM, YYYY HH:mm'
5789        },
5790        meridiemParse: /[ap]\.t\.m/i,
5791        isPM: function (input) {
5792            return input.charAt(0).toLowerCase() === 'p';
5793        },
5794        meridiem : function (hours, minutes, isLower) {
5795            if (hours > 11) {
5796                return isLower ? 'p.t.m.' : 'P.T.M.';
5797            } else {
5798                return isLower ? 'a.t.m.' : 'A.T.M.';
5799            }
5800        },
5801        calendar : {
5802            sameDay : '[HodiaÅ­ je] LT',
5803            nextDay : '[MorgaÅ­ je] LT',
5804            nextWeek : 'dddd [je] LT',
5805            lastDay : '[HieraÅ­ je] LT',
5806            lastWeek : '[pasinta] dddd [je] LT',
5807            sameElse : 'L'
5808        },
5809        relativeTime : {
5810            future : 'je %s',
5811            past : 'antaÅ­ %s',
5812            s : 'sekundoj',
5813            m : 'minuto',
5814            mm : '%d minutoj',
5815            h : 'horo',
5816            hh : '%d horoj',
5817            d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo
5818            dd : '%d tagoj',
5819            M : 'monato',
5820            MM : '%d monatoj',
5821            y : 'jaro',
5822            yy : '%d jaroj'
5823        },
5824        ordinalParse: /\d{1,2}a/,
5825        ordinal : '%da',
5826        week : {
5827            dow : 1, // Monday is the first day of the week.
5828            doy : 7  // The week that contains Jan 1st is the first week of the year.
5829        }
5830    });
5831
5832    //! moment.js locale configuration
5833    //! locale : spanish (es)
5834    //! author : Julio Napurí : https://github.com/julionc
5835
5836    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),
5837        es__monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');
5838
5839    var es = moment__default.defineLocale('es', {
5840        months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),
5841        monthsShort : function (m, format) {
5842            if (/-MMM-/.test(format)) {
5843                return es__monthsShort[m.month()];
5844            } else {
5845                return monthsShortDot[m.month()];
5846            }
5847        },
5848        weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),
5849        weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),
5850        weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),
5851        longDateFormat : {
5852            LT : 'H:mm',
5853            LTS : 'H:mm:ss',
5854            L : 'DD/MM/YYYY',
5855            LL : 'D [de] MMMM [de] YYYY',
5856            LLL : 'D [de] MMMM [de] YYYY H:mm',
5857            LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'
5858        },
5859        calendar : {
5860            sameDay : function () {
5861                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
5862            },
5863            nextDay : function () {
5864                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
5865            },
5866            nextWeek : function () {
5867                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
5868            },
5869            lastDay : function () {
5870                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
5871            },
5872            lastWeek : function () {
5873                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';
5874            },
5875            sameElse : 'L'
5876        },
5877        relativeTime : {
5878            future : 'en %s',
5879            past : 'hace %s',
5880            s : 'unos segundos',
5881            m : 'un minuto',
5882            mm : '%d minutos',
5883            h : 'una hora',
5884            hh : '%d horas',
5885            d : 'un día',
5886            dd : '%d días',
5887            M : 'un mes',
5888            MM : '%d meses',
5889            y : 'un año',
5890            yy : '%d años'
5891        },
5892        ordinalParse : /\d{1,2}º/,
5893        ordinal : '%dº',
5894        week : {
5895            dow : 1, // Monday is the first day of the week.
5896            doy : 4  // The week that contains Jan 4th is the first week of the year.
5897        }
5898    });
5899
5900    //! moment.js locale configuration
5901    //! locale : estonian (et)
5902    //! author : Henry Kehlmann : https://github.com/madhenry
5903    //! improvements : Illimar Tambek : https://github.com/ragulka
5904
5905    function et__processRelativeTime(number, withoutSuffix, key, isFuture) {
5906        var format = {
5907            's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],
5908            'm' : ['ühe minuti', 'üks minut'],
5909            'mm': [number + ' minuti', number + ' minutit'],
5910            'h' : ['ühe tunni', 'tund aega', 'üks tund'],
5911            'hh': [number + ' tunni', number + ' tundi'],
5912            'd' : ['ühe päeva', 'üks päev'],
5913            'M' : ['kuu aja', 'kuu aega', 'üks kuu'],
5914            'MM': [number + ' kuu', number + ' kuud'],
5915            'y' : ['ühe aasta', 'aasta', 'üks aasta'],
5916            'yy': [number + ' aasta', number + ' aastat']
5917        };
5918        if (withoutSuffix) {
5919            return format[key][2] ? format[key][2] : format[key][1];
5920        }
5921        return isFuture ? format[key][0] : format[key][1];
5922    }
5923
5924    var et = moment__default.defineLocale('et', {
5925        months        : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),
5926        monthsShort   : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),
5927        weekdays      : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),
5928        weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),
5929        weekdaysMin   : 'P_E_T_K_N_R_L'.split('_'),
5930        longDateFormat : {
5931            LT   : 'H:mm',
5932            LTS : 'H:mm:ss',
5933            L    : 'DD.MM.YYYY',
5934            LL   : 'D. MMMM YYYY',
5935            LLL  : 'D. MMMM YYYY H:mm',
5936            LLLL : 'dddd, D. MMMM YYYY H:mm'
5937        },
5938        calendar : {
5939            sameDay  : '[Täna,] LT',
5940            nextDay  : '[Homme,] LT',
5941            nextWeek : '[Järgmine] dddd LT',
5942            lastDay  : '[Eile,] LT',
5943            lastWeek : '[Eelmine] dddd LT',
5944            sameElse : 'L'
5945        },
5946        relativeTime : {
5947            future : '%s pärast',
5948            past   : '%s tagasi',
5949            s      : et__processRelativeTime,
5950            m      : et__processRelativeTime,
5951            mm     : et__processRelativeTime,
5952            h      : et__processRelativeTime,
5953            hh     : et__processRelativeTime,
5954            d      : et__processRelativeTime,
5955            dd     : '%d päeva',
5956            M      : et__processRelativeTime,
5957            MM     : et__processRelativeTime,
5958            y      : et__processRelativeTime,
5959            yy     : et__processRelativeTime
5960        },
5961        ordinalParse: /\d{1,2}\./,
5962        ordinal : '%d.',
5963        week : {
5964            dow : 1, // Monday is the first day of the week.
5965            doy : 4  // The week that contains Jan 4th is the first week of the year.
5966        }
5967    });
5968
5969    //! moment.js locale configuration
5970    //! locale : euskara (eu)
5971    //! author : Eneko Illarramendi : https://github.com/eillarra
5972
5973    var eu = moment__default.defineLocale('eu', {
5974        months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),
5975        monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),
5976        weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),
5977        weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),
5978        weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),
5979        longDateFormat : {
5980            LT : 'HH:mm',
5981            LTS : 'HH:mm:ss',
5982            L : 'YYYY-MM-DD',
5983            LL : 'YYYY[ko] MMMM[ren] D[a]',
5984            LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',
5985            LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',
5986            l : 'YYYY-M-D',
5987            ll : 'YYYY[ko] MMM D[a]',
5988            lll : 'YYYY[ko] MMM D[a] HH:mm',
5989            llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'
5990        },
5991        calendar : {
5992            sameDay : '[gaur] LT[etan]',
5993            nextDay : '[bihar] LT[etan]',
5994            nextWeek : 'dddd LT[etan]',
5995            lastDay : '[atzo] LT[etan]',
5996            lastWeek : '[aurreko] dddd LT[etan]',
5997            sameElse : 'L'
5998        },
5999        relativeTime : {
6000            future : '%s barru',
6001            past : 'duela %s',
6002            s : 'segundo batzuk',
6003            m : 'minutu bat',
6004            mm : '%d minutu',
6005            h : 'ordu bat',
6006            hh : '%d ordu',
6007            d : 'egun bat',
6008            dd : '%d egun',
6009            M : 'hilabete bat',
6010            MM : '%d hilabete',
6011            y : 'urte bat',
6012            yy : '%d urte'
6013        },
6014        ordinalParse: /\d{1,2}\./,
6015        ordinal : '%d.',
6016        week : {
6017            dow : 1, // Monday is the first day of the week.
6018            doy : 7  // The week that contains Jan 1st is the first week of the year.
6019        }
6020    });
6021
6022    //! moment.js locale configuration
6023    //! locale : Persian (fa)
6024    //! author : Ebrahim Byagowi : https://github.com/ebraminio
6025
6026    var fa__symbolMap = {
6027        '1': 'Û±',
6028        '2': 'Û²',
6029        '3': 'Û³',
6030        '4': 'Û´',
6031        '5': 'Ûµ',
6032        '6': 'Û¶',
6033        '7': 'Û·',
6034        '8': 'Û¸',
6035        '9': 'Û¹',
6036        '0': 'Û°'
6037    }, fa__numberMap = {
6038        'Û±': '1',
6039        'Û²': '2',
6040        'Û³': '3',
6041        'Û´': '4',
6042        'Ûµ': '5',
6043        'Û¶': '6',
6044        'Û·': '7',
6045        'Û¸': '8',
6046        'Û¹': '9',
6047        'Û°': '0'
6048    };
6049
6050    var fa = moment__default.defineLocale('fa', {
6051        months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
6052        monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),
6053        weekdays : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
6054        weekdaysShort : 'یک\u200cشنبه_دوشنبه_سه\u200cشنبه_چهارشنبه_پنج\u200cشنبه_جمعه_شنبه'.split('_'),
6055        weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),
6056        longDateFormat : {
6057            LT : 'HH:mm',
6058            LTS : 'HH:mm:ss',
6059            L : 'DD/MM/YYYY',
6060            LL : 'D MMMM YYYY',
6061            LLL : 'D MMMM YYYY HH:mm',
6062            LLLL : 'dddd, D MMMM YYYY HH:mm'
6063        },
6064        meridiemParse: /قبل از ظهر|بعد از ظهر/,
6065        isPM: function (input) {
6066            return /بعد از ظهر/.test(input);
6067        },
6068        meridiem : function (hour, minute, isLower) {
6069            if (hour < 12) {
6070                return 'قبل از ظهر';
6071            } else {
6072                return 'بعد از ظهر';
6073            }
6074        },
6075        calendar : {
6076            sameDay : '[امروز ساعت] LT',
6077            nextDay : '[فردا ساعت] LT',
6078            nextWeek : 'dddd [ساعت] LT',
6079            lastDay : '[دیروز ساعت] LT',
6080            lastWeek : 'dddd [پیش] [ساعت] LT',
6081            sameElse : 'L'
6082        },
6083        relativeTime : {
6084            future : 'در %s',
6085            past : '%s پیش',
6086            s : 'چندین ثانیه',
6087            m : 'یک دقیقه',
6088            mm : '%d دقیقه',
6089            h : 'یک ساعت',
6090            hh : '%d ساعت',
6091            d : 'یک روز',
6092            dd : '%d روز',
6093            M : 'یک ماه',
6094            MM : '%d ماه',
6095            y : 'یک سال',
6096            yy : '%d سال'
6097        },
6098        preparse: function (string) {
6099            return string.replace(/[Û°-Û¹]/g, function (match) {
6100                return fa__numberMap[match];
6101            }).replace(/،/g, ',');
6102        },
6103        postformat: function (string) {
6104            return string.replace(/\d/g, function (match) {
6105                return fa__symbolMap[match];
6106            }).replace(/,/g, '،');
6107        },
6108        ordinalParse: /\d{1,2}م/,
6109        ordinal : '%dم',
6110        week : {
6111            dow : 6, // Saturday is the first day of the week.
6112            doy : 12 // The week that contains Jan 1st is the first week of the year.
6113        }
6114    });
6115
6116    //! moment.js locale configuration
6117    //! locale : finnish (fi)
6118    //! author : Tarmo Aidantausta : https://github.com/bleadof
6119
6120    var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),
6121        numbersFuture = [
6122            'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',
6123            numbersPast[7], numbersPast[8], numbersPast[9]
6124        ];
6125    function fi__translate(number, withoutSuffix, key, isFuture) {
6126        var result = '';
6127        switch (key) {
6128        case 's':
6129            return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';
6130        case 'm':
6131            return isFuture ? 'minuutin' : 'minuutti';
6132        case 'mm':
6133            result = isFuture ? 'minuutin' : 'minuuttia';
6134            break;
6135        case 'h':
6136            return isFuture ? 'tunnin' : 'tunti';
6137        case 'hh':
6138            result = isFuture ? 'tunnin' : 'tuntia';
6139            break;
6140        case 'd':
6141            return isFuture ? 'päivän' : 'päivä';
6142        case 'dd':
6143            result = isFuture ? 'päivän' : 'päivää';
6144            break;
6145        case 'M':
6146            return isFuture ? 'kuukauden' : 'kuukausi';
6147        case 'MM':
6148            result = isFuture ? 'kuukauden' : 'kuukautta';
6149            break;
6150        case 'y':
6151            return isFuture ? 'vuoden' : 'vuosi';
6152        case 'yy':
6153            result = isFuture ? 'vuoden' : 'vuotta';
6154            break;
6155        }
6156        result = verbalNumber(number, isFuture) + ' ' + result;
6157        return result;
6158    }
6159    function verbalNumber(number, isFuture) {
6160        return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;
6161    }
6162
6163    var fi = moment__default.defineLocale('fi', {
6164        months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),
6165        monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),
6166        weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),
6167        weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),
6168        weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),
6169        longDateFormat : {
6170            LT : 'HH.mm',
6171            LTS : 'HH.mm.ss',
6172            L : 'DD.MM.YYYY',
6173            LL : 'Do MMMM[ta] YYYY',
6174            LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',
6175            LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',
6176            l : 'D.M.YYYY',
6177            ll : 'Do MMM YYYY',
6178            lll : 'Do MMM YYYY, [klo] HH.mm',
6179            llll : 'ddd, Do MMM YYYY, [klo] HH.mm'
6180        },
6181        calendar : {
6182            sameDay : '[tänään] [klo] LT',
6183            nextDay : '[huomenna] [klo] LT',
6184            nextWeek : 'dddd [klo] LT',
6185            lastDay : '[eilen] [klo] LT',
6186            lastWeek : '[viime] dddd[na] [klo] LT',
6187            sameElse : 'L'
6188        },
6189        relativeTime : {
6190            future : '%s päästä',
6191            past : '%s sitten',
6192            s : fi__translate,
6193            m : fi__translate,
6194            mm : fi__translate,
6195            h : fi__translate,
6196            hh : fi__translate,
6197            d : fi__translate,
6198            dd : fi__translate,
6199            M : fi__translate,
6200            MM : fi__translate,
6201            y : fi__translate,
6202            yy : fi__translate
6203        },
6204        ordinalParse: /\d{1,2}\./,
6205        ordinal : '%d.',
6206        week : {
6207            dow : 1, // Monday is the first day of the week.
6208            doy : 4  // The week that contains Jan 4th is the first week of the year.
6209        }
6210    });
6211
6212    //! moment.js locale configuration
6213    //! locale : faroese (fo)
6214    //! author : Ragnar Johannesen : https://github.com/ragnar123
6215
6216    var fo = moment__default.defineLocale('fo', {
6217        months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
6218        monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
6219        weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),
6220        weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),
6221        weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),
6222        longDateFormat : {
6223            LT : 'HH:mm',
6224            LTS : 'HH:mm:ss',
6225            L : 'DD/MM/YYYY',
6226            LL : 'D MMMM YYYY',
6227            LLL : 'D MMMM YYYY HH:mm',
6228            LLLL : 'dddd D. MMMM, YYYY HH:mm'
6229        },
6230        calendar : {
6231            sameDay : '[Í dag kl.] LT',
6232            nextDay : '[Í morgin kl.] LT',
6233            nextWeek : 'dddd [kl.] LT',
6234            lastDay : '[Í gjár kl.] LT',
6235            lastWeek : '[síðstu] dddd [kl] LT',
6236            sameElse : 'L'
6237        },
6238        relativeTime : {
6239            future : 'um %s',
6240            past : '%s síðani',
6241            s : 'fá sekund',
6242            m : 'ein minutt',
6243            mm : '%d minuttir',
6244            h : 'ein tími',
6245            hh : '%d tímar',
6246            d : 'ein dagur',
6247            dd : '%d dagar',
6248            M : 'ein mánaði',
6249            MM : '%d mánaðir',
6250            y : 'eitt ár',
6251            yy : '%d ár'
6252        },
6253        ordinalParse: /\d{1,2}\./,
6254        ordinal : '%d.',
6255        week : {
6256            dow : 1, // Monday is the first day of the week.
6257            doy : 4  // The week that contains Jan 4th is the first week of the year.
6258        }
6259    });
6260
6261    //! moment.js locale configuration
6262    //! locale : canadian french (fr-ca)
6263    //! author : Jonathan Abourbih : https://github.com/jonbca
6264
6265    var fr_ca = moment__default.defineLocale('fr-ca', {
6266        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
6267        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
6268        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
6269        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
6270        weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),
6271        longDateFormat : {
6272            LT : 'HH:mm',
6273            LTS : 'HH:mm:ss',
6274            L : 'YYYY-MM-DD',
6275            LL : 'D MMMM YYYY',
6276            LLL : 'D MMMM YYYY HH:mm',
6277            LLLL : 'dddd D MMMM YYYY HH:mm'
6278        },
6279        calendar : {
6280            sameDay: '[Aujourd\'hui à] LT',
6281            nextDay: '[Demain à] LT',
6282            nextWeek: 'dddd [à] LT',
6283            lastDay: '[Hier à] LT',
6284            lastWeek: 'dddd [dernier à] LT',
6285            sameElse: 'L'
6286        },
6287        relativeTime : {
6288            future : 'dans %s',
6289            past : 'il y a %s',
6290            s : 'quelques secondes',
6291            m : 'une minute',
6292            mm : '%d minutes',
6293            h : 'une heure',
6294            hh : '%d heures',
6295            d : 'un jour',
6296            dd : '%d jours',
6297            M : 'un mois',
6298            MM : '%d mois',
6299            y : 'un an',
6300            yy : '%d ans'
6301        },
6302        ordinalParse: /\d{1,2}(er|e)/,
6303        ordinal : function (number) {
6304            return number + (number === 1 ? 'er' : 'e');
6305        }
6306    });
6307
6308    //! moment.js locale configuration
6309    //! locale : swiss french (fr)
6310    //! author : Gaspard Bucher : https://github.com/gaspard
6311
6312    var fr_ch = moment__default.defineLocale('fr-ch', {
6313        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
6314        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
6315        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
6316        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
6317        weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),
6318        longDateFormat : {
6319            LT : 'HH:mm',
6320            LTS : 'HH:mm:ss',
6321            L : 'DD.MM.YYYY',
6322            LL : 'D MMMM YYYY',
6323            LLL : 'D MMMM YYYY HH:mm',
6324            LLLL : 'dddd D MMMM YYYY HH:mm'
6325        },
6326        calendar : {
6327            sameDay: '[Aujourd\'hui à] LT',
6328            nextDay: '[Demain à] LT',
6329            nextWeek: 'dddd [à] LT',
6330            lastDay: '[Hier à] LT',
6331            lastWeek: 'dddd [dernier à] LT',
6332            sameElse: 'L'
6333        },
6334        relativeTime : {
6335            future : 'dans %s',
6336            past : 'il y a %s',
6337            s : 'quelques secondes',
6338            m : 'une minute',
6339            mm : '%d minutes',
6340            h : 'une heure',
6341            hh : '%d heures',
6342            d : 'un jour',
6343            dd : '%d jours',
6344            M : 'un mois',
6345            MM : '%d mois',
6346            y : 'un an',
6347            yy : '%d ans'
6348        },
6349        ordinalParse: /\d{1,2}(er|e)/,
6350        ordinal : function (number) {
6351            return number + (number === 1 ? 'er' : 'e');
6352        },
6353        week : {
6354            dow : 1, // Monday is the first day of the week.
6355            doy : 4  // The week that contains Jan 4th is the first week of the year.
6356        }
6357    });
6358
6359    //! moment.js locale configuration
6360    //! locale : french (fr)
6361    //! author : John Fischer : https://github.com/jfroffice
6362
6363    var fr = moment__default.defineLocale('fr', {
6364        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),
6365        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),
6366        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),
6367        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),
6368        weekdaysMin : 'Di_Lu_Ma_Me_Je_Ve_Sa'.split('_'),
6369        longDateFormat : {
6370            LT : 'HH:mm',
6371            LTS : 'HH:mm:ss',
6372            L : 'DD/MM/YYYY',
6373            LL : 'D MMMM YYYY',
6374            LLL : 'D MMMM YYYY HH:mm',
6375            LLLL : 'dddd D MMMM YYYY HH:mm'
6376        },
6377        calendar : {
6378            sameDay: '[Aujourd\'hui à] LT',
6379            nextDay: '[Demain à] LT',
6380            nextWeek: 'dddd [à] LT',
6381            lastDay: '[Hier à] LT',
6382            lastWeek: 'dddd [dernier à] LT',
6383            sameElse: 'L'
6384        },
6385        relativeTime : {
6386            future : 'dans %s',
6387            past : 'il y a %s',
6388            s : 'quelques secondes',
6389            m : 'une minute',
6390            mm : '%d minutes',
6391            h : 'une heure',
6392            hh : '%d heures',
6393            d : 'un jour',
6394            dd : '%d jours',
6395            M : 'un mois',
6396            MM : '%d mois',
6397            y : 'un an',
6398            yy : '%d ans'
6399        },
6400        ordinalParse: /\d{1,2}(er|)/,
6401        ordinal : function (number) {
6402            return number + (number === 1 ? 'er' : '');
6403        },
6404        week : {
6405            dow : 1, // Monday is the first day of the week.
6406            doy : 4  // The week that contains Jan 4th is the first week of the year.
6407        }
6408    });
6409
6410    //! moment.js locale configuration
6411    //! locale : frisian (fy)
6412    //! author : Robin van der Vliet : https://github.com/robin0van0der0v
6413
6414    var fy__monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),
6415        fy__monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');
6416
6417    var fy = moment__default.defineLocale('fy', {
6418        months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),
6419        monthsShort : function (m, format) {
6420            if (/-MMM-/.test(format)) {
6421                return fy__monthsShortWithoutDots[m.month()];
6422            } else {
6423                return fy__monthsShortWithDots[m.month()];
6424            }
6425        },
6426        weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),
6427        weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),
6428        weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),
6429        longDateFormat : {
6430            LT : 'HH:mm',
6431            LTS : 'HH:mm:ss',
6432            L : 'DD-MM-YYYY',
6433            LL : 'D MMMM YYYY',
6434            LLL : 'D MMMM YYYY HH:mm',
6435            LLLL : 'dddd D MMMM YYYY HH:mm'
6436        },
6437        calendar : {
6438            sameDay: '[hjoed om] LT',
6439            nextDay: '[moarn om] LT',
6440            nextWeek: 'dddd [om] LT',
6441            lastDay: '[juster om] LT',
6442            lastWeek: '[ôfrûne] dddd [om] LT',
6443            sameElse: 'L'
6444        },
6445        relativeTime : {
6446            future : 'oer %s',
6447            past : '%s lyn',
6448            s : 'in pear sekonden',
6449            m : 'ien minút',
6450            mm : '%d minuten',
6451            h : 'ien oere',
6452            hh : '%d oeren',
6453            d : 'ien dei',
6454            dd : '%d dagen',
6455            M : 'ien moanne',
6456            MM : '%d moannen',
6457            y : 'ien jier',
6458            yy : '%d jierren'
6459        },
6460        ordinalParse: /\d{1,2}(ste|de)/,
6461        ordinal : function (number) {
6462            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
6463        },
6464        week : {
6465            dow : 1, // Monday is the first day of the week.
6466            doy : 4  // The week that contains Jan 4th is the first week of the year.
6467        }
6468    });
6469
6470    //! moment.js locale configuration
6471    //! locale : great britain scottish gealic (gd)
6472    //! author : Jon Ashdown : https://github.com/jonashdown
6473
6474    var gd__months = [
6475        'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'
6476    ];
6477
6478    var gd__monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];
6479
6480    var gd__weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];
6481
6482    var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];
6483
6484    var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];
6485
6486    var gd = moment__default.defineLocale('gd', {
6487        months : gd__months,
6488        monthsShort : gd__monthsShort,
6489        monthsParseExact : true,
6490        weekdays : gd__weekdays,
6491        weekdaysShort : weekdaysShort,
6492        weekdaysMin : weekdaysMin,
6493        longDateFormat : {
6494            LT : 'HH:mm',
6495            LTS : 'HH:mm:ss',
6496            L : 'DD/MM/YYYY',
6497            LL : 'D MMMM YYYY',
6498            LLL : 'D MMMM YYYY HH:mm',
6499            LLLL : 'dddd, D MMMM YYYY HH:mm'
6500        },
6501        calendar : {
6502            sameDay : '[An-diugh aig] LT',
6503            nextDay : '[A-màireach aig] LT',
6504            nextWeek : 'dddd [aig] LT',
6505            lastDay : '[An-dè aig] LT',
6506            lastWeek : 'dddd [seo chaidh] [aig] LT',
6507            sameElse : 'L'
6508        },
6509        relativeTime : {
6510            future : 'ann an %s',
6511            past : 'bho chionn %s',
6512            s : 'beagan diogan',
6513            m : 'mionaid',
6514            mm : '%d mionaidean',
6515            h : 'uair',
6516            hh : '%d uairean',
6517            d : 'latha',
6518            dd : '%d latha',
6519            M : 'mìos',
6520            MM : '%d mìosan',
6521            y : 'bliadhna',
6522            yy : '%d bliadhna'
6523        },
6524        ordinalParse : /\d{1,2}(d|na|mh)/,
6525        ordinal : function (number) {
6526            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';
6527            return number + output;
6528        },
6529        week : {
6530            dow : 1, // Monday is the first day of the week.
6531            doy : 4  // The week that contains Jan 4th is the first week of the year.
6532        }
6533    });
6534
6535    //! moment.js locale configuration
6536    //! locale : galician (gl)
6537    //! author : Juan G. Hurtado : https://github.com/juanghurtado
6538
6539    var gl = moment__default.defineLocale('gl', {
6540        months : 'Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro'.split('_'),
6541        monthsShort : 'Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.'.split('_'),
6542        weekdays : 'Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado'.split('_'),
6543        weekdaysShort : 'Dom._Lun._Mar._Mér._Xov._Ven._Sáb.'.split('_'),
6544        weekdaysMin : 'Do_Lu_Ma_Mé_Xo_Ve_Sá'.split('_'),
6545        longDateFormat : {
6546            LT : 'H:mm',
6547            LTS : 'H:mm:ss',
6548            L : 'DD/MM/YYYY',
6549            LL : 'D MMMM YYYY',
6550            LLL : 'D MMMM YYYY H:mm',
6551            LLLL : 'dddd D MMMM YYYY H:mm'
6552        },
6553        calendar : {
6554            sameDay : function () {
6555                return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
6556            },
6557            nextDay : function () {
6558                return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';
6559            },
6560            nextWeek : function () {
6561                return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
6562            },
6563            lastDay : function () {
6564                return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';
6565            },
6566            lastWeek : function () {
6567                return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';
6568            },
6569            sameElse : 'L'
6570        },
6571        relativeTime : {
6572            future : function (str) {
6573                if (str === 'uns segundos') {
6574                    return 'nuns segundos';
6575                }
6576                return 'en ' + str;
6577            },
6578            past : 'hai %s',
6579            s : 'uns segundos',
6580            m : 'un minuto',
6581            mm : '%d minutos',
6582            h : 'unha hora',
6583            hh : '%d horas',
6584            d : 'un día',
6585            dd : '%d días',
6586            M : 'un mes',
6587            MM : '%d meses',
6588            y : 'un ano',
6589            yy : '%d anos'
6590        },
6591        ordinalParse : /\d{1,2}º/,
6592        ordinal : '%dº',
6593        week : {
6594            dow : 1, // Monday is the first day of the week.
6595            doy : 7  // The week that contains Jan 1st is the first week of the year.
6596        }
6597    });
6598
6599    //! moment.js locale configuration
6600    //! locale : Hebrew (he)
6601    //! author : Tomer Cohen : https://github.com/tomer
6602    //! author : Moshe Simantov : https://github.com/DevelopmentIL
6603    //! author : Tal Ater : https://github.com/TalAter
6604
6605    var he = moment__default.defineLocale('he', {
6606        months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),
6607        monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),
6608        weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),
6609        weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),
6610        weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),
6611        longDateFormat : {
6612            LT : 'HH:mm',
6613            LTS : 'HH:mm:ss',
6614            L : 'DD/MM/YYYY',
6615            LL : 'D [ב]MMMM YYYY',
6616            LLL : 'D [ב]MMMM YYYY HH:mm',
6617            LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',
6618            l : 'D/M/YYYY',
6619            ll : 'D MMM YYYY',
6620            lll : 'D MMM YYYY HH:mm',
6621            llll : 'ddd, D MMM YYYY HH:mm'
6622        },
6623        calendar : {
6624            sameDay : '[היום ב־]LT',
6625            nextDay : '[מחר ב־]LT',
6626            nextWeek : 'dddd [בשעה] LT',
6627            lastDay : '[אתמול ב־]LT',
6628            lastWeek : '[ביום] dddd [האחרון בשעה] LT',
6629            sameElse : 'L'
6630        },
6631        relativeTime : {
6632            future : 'בעוד %s',
6633            past : 'לפני %s',
6634            s : 'מספר שניות',
6635            m : 'דקה',
6636            mm : '%d דקות',
6637            h : 'שעה',
6638            hh : function (number) {
6639                if (number === 2) {
6640                    return 'שעתיים';
6641                }
6642                return number + ' שעות';
6643            },
6644            d : 'יום',
6645            dd : function (number) {
6646                if (number === 2) {
6647                    return 'יומיים';
6648                }
6649                return number + ' ימים';
6650            },
6651            M : 'חודש',
6652            MM : function (number) {
6653                if (number === 2) {
6654                    return 'חודשיים';
6655                }
6656                return number + ' חודשים';
6657            },
6658            y : 'שנה',
6659            yy : function (number) {
6660                if (number === 2) {
6661                    return 'שנתיים';
6662                } else if (number % 10 === 0 && number !== 10) {
6663                    return number + ' שנה';
6664                }
6665                return number + ' שנים';
6666            }
6667        },
6668        meridiemParse: /אחה"צ|לפנה"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,
6669        isPM : function (input) {
6670            return /^(אחה"צ|אחרי הצהריים|בערב)$/.test(input);
6671        },
6672        meridiem : function (hour, minute, isLower) {
6673            if (hour < 5) {
6674                return 'לפנות בוקר';
6675            } else if (hour < 10) {
6676                return 'בבוקר';
6677            } else if (hour < 12) {
6678                return isLower ? 'לפנה"צ' : 'לפני הצהריים';
6679            } else if (hour < 18) {
6680                return isLower ? 'אחה"צ' : 'אחרי הצהריים';
6681            } else {
6682                return 'בערב';
6683            }
6684        }
6685    });
6686
6687    //! moment.js locale configuration
6688    //! locale : hindi (hi)
6689    //! author : Mayank Singhal : https://github.com/mayanksinghal
6690
6691    var hi__symbolMap = {
6692        '1': '१',
6693        '2': '२',
6694        '3': '३',
6695        '4': '४',
6696        '5': '५',
6697        '6': '६',
6698        '7': '७',
6699        '8': '८',
6700        '9': '९',
6701        '0': '०'
6702    },
6703    hi__numberMap = {
6704        '१': '1',
6705        '२': '2',
6706        '३': '3',
6707        '४': '4',
6708        '५': '5',
6709        '६': '6',
6710        '७': '7',
6711        '८': '8',
6712        '९': '9',
6713        '०': '0'
6714    };
6715
6716    var hi = moment__default.defineLocale('hi', {
6717        months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),
6718        monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),
6719        weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
6720        weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),
6721        weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
6722        longDateFormat : {
6723            LT : 'A h:mm बजे',
6724            LTS : 'A h:mm:ss बजे',
6725            L : 'DD/MM/YYYY',
6726            LL : 'D MMMM YYYY',
6727            LLL : 'D MMMM YYYY, A h:mm बजे',
6728            LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'
6729        },
6730        calendar : {
6731            sameDay : '[आज] LT',
6732            nextDay : '[कल] LT',
6733            nextWeek : 'dddd, LT',
6734            lastDay : '[कल] LT',
6735            lastWeek : '[पिछले] dddd, LT',
6736            sameElse : 'L'
6737        },
6738        relativeTime : {
6739            future : '%s में',
6740            past : '%s पहले',
6741            s : 'कुछ ही क्षण',
6742            m : 'एक मिनट',
6743            mm : '%d मिनट',
6744            h : 'एक घंटा',
6745            hh : '%d घंटे',
6746            d : 'एक दिन',
6747            dd : '%d दिन',
6748            M : 'एक महीने',
6749            MM : '%d महीने',
6750            y : 'एक वर्ष',
6751            yy : '%d वर्ष'
6752        },
6753        preparse: function (string) {
6754            return string.replace(/[१२३४५६७८९०]/g, function (match) {
6755                return hi__numberMap[match];
6756            });
6757        },
6758        postformat: function (string) {
6759            return string.replace(/\d/g, function (match) {
6760                return hi__symbolMap[match];
6761            });
6762        },
6763        // Hindi notation for meridiems are quite fuzzy in practice. While there exists
6764        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.
6765        meridiemParse: /रात|सुबह|दोपहर|शाम/,
6766        meridiemHour : function (hour, meridiem) {
6767            if (hour === 12) {
6768                hour = 0;
6769            }
6770            if (meridiem === 'रात') {
6771                return hour < 4 ? hour : hour + 12;
6772            } else if (meridiem === 'सुबह') {
6773                return hour;
6774            } else if (meridiem === 'दोपहर') {
6775                return hour >= 10 ? hour : hour + 12;
6776            } else if (meridiem === 'शाम') {
6777                return hour + 12;
6778            }
6779        },
6780        meridiem : function (hour, minute, isLower) {
6781            if (hour < 4) {
6782                return 'रात';
6783            } else if (hour < 10) {
6784                return 'सुबह';
6785            } else if (hour < 17) {
6786                return 'दोपहर';
6787            } else if (hour < 20) {
6788                return 'शाम';
6789            } else {
6790                return 'रात';
6791            }
6792        },
6793        week : {
6794            dow : 0, // Sunday is the first day of the week.
6795            doy : 6  // The week that contains Jan 1st is the first week of the year.
6796        }
6797    });
6798
6799    //! moment.js locale configuration
6800    //! locale : hrvatski (hr)
6801    //! author : Bojan Marković : https://github.com/bmarkovic
6802
6803    function hr__translate(number, withoutSuffix, key) {
6804        var result = number + ' ';
6805        switch (key) {
6806        case 'm':
6807            return withoutSuffix ? 'jedna minuta' : 'jedne minute';
6808        case 'mm':
6809            if (number === 1) {
6810                result += 'minuta';
6811            } else if (number === 2 || number === 3 || number === 4) {
6812                result += 'minute';
6813            } else {
6814                result += 'minuta';
6815            }
6816            return result;
6817        case 'h':
6818            return withoutSuffix ? 'jedan sat' : 'jednog sata';
6819        case 'hh':
6820            if (number === 1) {
6821                result += 'sat';
6822            } else if (number === 2 || number === 3 || number === 4) {
6823                result += 'sata';
6824            } else {
6825                result += 'sati';
6826            }
6827            return result;
6828        case 'dd':
6829            if (number === 1) {
6830                result += 'dan';
6831            } else {
6832                result += 'dana';
6833            }
6834            return result;
6835        case 'MM':
6836            if (number === 1) {
6837                result += 'mjesec';
6838            } else if (number === 2 || number === 3 || number === 4) {
6839                result += 'mjeseca';
6840            } else {
6841                result += 'mjeseci';
6842            }
6843            return result;
6844        case 'yy':
6845            if (number === 1) {
6846                result += 'godina';
6847            } else if (number === 2 || number === 3 || number === 4) {
6848                result += 'godine';
6849            } else {
6850                result += 'godina';
6851            }
6852            return result;
6853        }
6854    }
6855
6856    var hr = moment__default.defineLocale('hr', {
6857        months : {
6858            format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),
6859            standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')
6860        },
6861        monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),
6862        weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),
6863        weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),
6864        weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),
6865        longDateFormat : {
6866            LT : 'H:mm',
6867            LTS : 'H:mm:ss',
6868            L : 'DD. MM. YYYY',
6869            LL : 'D. MMMM YYYY',
6870            LLL : 'D. MMMM YYYY H:mm',
6871            LLLL : 'dddd, D. MMMM YYYY H:mm'
6872        },
6873        calendar : {
6874            sameDay  : '[danas u] LT',
6875            nextDay  : '[sutra u] LT',
6876            nextWeek : function () {
6877                switch (this.day()) {
6878                case 0:
6879                    return '[u] [nedjelju] [u] LT';
6880                case 3:
6881                    return '[u] [srijedu] [u] LT';
6882                case 6:
6883                    return '[u] [subotu] [u] LT';
6884                case 1:
6885                case 2:
6886                case 4:
6887                case 5:
6888                    return '[u] dddd [u] LT';
6889                }
6890            },
6891            lastDay  : '[jučer u] LT',
6892            lastWeek : function () {
6893                switch (this.day()) {
6894                case 0:
6895                case 3:
6896                    return '[prošlu] dddd [u] LT';
6897                case 6:
6898                    return '[prošle] [subote] [u] LT';
6899                case 1:
6900                case 2:
6901                case 4:
6902                case 5:
6903                    return '[prošli] dddd [u] LT';
6904                }
6905            },
6906            sameElse : 'L'
6907        },
6908        relativeTime : {
6909            future : 'za %s',
6910            past   : 'prije %s',
6911            s      : 'par sekundi',
6912            m      : hr__translate,
6913            mm     : hr__translate,
6914            h      : hr__translate,
6915            hh     : hr__translate,
6916            d      : 'dan',
6917            dd     : hr__translate,
6918            M      : 'mjesec',
6919            MM     : hr__translate,
6920            y      : 'godinu',
6921            yy     : hr__translate
6922        },
6923        ordinalParse: /\d{1,2}\./,
6924        ordinal : '%d.',
6925        week : {
6926            dow : 1, // Monday is the first day of the week.
6927            doy : 7  // The week that contains Jan 1st is the first week of the year.
6928        }
6929    });
6930
6931    //! moment.js locale configuration
6932    //! locale : hungarian (hu)
6933    //! author : Adam Brunner : https://github.com/adambrunner
6934
6935    var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');
6936    function hu__translate(number, withoutSuffix, key, isFuture) {
6937        var num = number,
6938            suffix;
6939        switch (key) {
6940        case 's':
6941            return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';
6942        case 'm':
6943            return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');
6944        case 'mm':
6945            return num + (isFuture || withoutSuffix ? ' perc' : ' perce');
6946        case 'h':
6947            return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');
6948        case 'hh':
6949            return num + (isFuture || withoutSuffix ? ' óra' : ' órája');
6950        case 'd':
6951            return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');
6952        case 'dd':
6953            return num + (isFuture || withoutSuffix ? ' nap' : ' napja');
6954        case 'M':
6955            return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
6956        case 'MM':
6957            return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');
6958        case 'y':
6959            return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');
6960        case 'yy':
6961            return num + (isFuture || withoutSuffix ? ' év' : ' éve');
6962        }
6963        return '';
6964    }
6965    function week(isFuture) {
6966        return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';
6967    }
6968
6969    var hu = moment__default.defineLocale('hu', {
6970        months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),
6971        monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),
6972        weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),
6973        weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),
6974        weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),
6975        longDateFormat : {
6976            LT : 'H:mm',
6977            LTS : 'H:mm:ss',
6978            L : 'YYYY.MM.DD.',
6979            LL : 'YYYY. MMMM D.',
6980            LLL : 'YYYY. MMMM D. H:mm',
6981            LLLL : 'YYYY. MMMM D., dddd H:mm'
6982        },
6983        meridiemParse: /de|du/i,
6984        isPM: function (input) {
6985            return input.charAt(1).toLowerCase() === 'u';
6986        },
6987        meridiem : function (hours, minutes, isLower) {
6988            if (hours < 12) {
6989                return isLower === true ? 'de' : 'DE';
6990            } else {
6991                return isLower === true ? 'du' : 'DU';
6992            }
6993        },
6994        calendar : {
6995            sameDay : '[ma] LT[-kor]',
6996            nextDay : '[holnap] LT[-kor]',
6997            nextWeek : function () {
6998                return week.call(this, true);
6999            },
7000            lastDay : '[tegnap] LT[-kor]',
7001            lastWeek : function () {
7002                return week.call(this, false);
7003            },
7004            sameElse : 'L'
7005        },
7006        relativeTime : {
7007            future : '%s múlva',
7008            past : '%s',
7009            s : hu__translate,
7010            m : hu__translate,
7011            mm : hu__translate,
7012            h : hu__translate,
7013            hh : hu__translate,
7014            d : hu__translate,
7015            dd : hu__translate,
7016            M : hu__translate,
7017            MM : hu__translate,
7018            y : hu__translate,
7019            yy : hu__translate
7020        },
7021        ordinalParse: /\d{1,2}\./,
7022        ordinal : '%d.',
7023        week : {
7024            dow : 1, // Monday is the first day of the week.
7025            doy : 7  // The week that contains Jan 1st is the first week of the year.
7026        }
7027    });
7028
7029    //! moment.js locale configuration
7030    //! locale : Armenian (hy-am)
7031    //! author : Armendarabyan : https://github.com/armendarabyan
7032
7033    var hy_am = moment__default.defineLocale('hy-am', {
7034        months : {
7035            format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),
7036            standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')
7037        },
7038        monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),
7039        weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),
7040        weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
7041        weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),
7042        longDateFormat : {
7043            LT : 'HH:mm',
7044            LTS : 'HH:mm:ss',
7045            L : 'DD.MM.YYYY',
7046            LL : 'D MMMM YYYY Õ©.',
7047            LLL : 'D MMMM YYYY Õ©., HH:mm',
7048            LLLL : 'dddd, D MMMM YYYY Õ©., HH:mm'
7049        },
7050        calendar : {
7051            sameDay: '[այսօր] LT',
7052            nextDay: '[Õ¾Õ¡Õ²Õ¨] LT',
7053            lastDay: '[երեկ] LT',
7054            nextWeek: function () {
7055                return 'dddd [օրը ժամը] LT';
7056            },
7057            lastWeek: function () {
7058                return '[անցած] dddd [օրը ժամը] LT';
7059            },
7060            sameElse: 'L'
7061        },
7062        relativeTime : {
7063            future : '%s Õ°Õ¥Õ¿Õ¸',
7064            past : '%s Õ¡Õ¼Õ¡Õ»',
7065            s : 'մի քանի վայրկյան',
7066            m : 'րոպե',
7067            mm : '%d րոպե',
7068            h : 'ÕªÕ¡Õ´',
7069            hh : '%d ÕªÕ¡Õ´',
7070            d : 'օր',
7071            dd : '%d օր',
7072            M : 'Õ¡Õ´Õ«Õ½',
7073            MM : '%d Õ¡Õ´Õ«Õ½',
7074            y : 'տարի',
7075            yy : '%d տարի'
7076        },
7077        meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,
7078        isPM: function (input) {
7079            return /^(ցերեկվա|երեկոյան)$/.test(input);
7080        },
7081        meridiem : function (hour) {
7082            if (hour < 4) {
7083                return 'գիշերվա';
7084            } else if (hour < 12) {
7085                return 'Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡';
7086            } else if (hour < 17) {
7087                return 'ցերեկվա';
7088            } else {
7089                return 'երեկոյան';
7090            }
7091        },
7092        ordinalParse: /\d{1,2}|\d{1,2}-(ին|րդ)/,
7093        ordinal: function (number, period) {
7094            switch (period) {
7095            case 'DDD':
7096            case 'w':
7097            case 'W':
7098            case 'DDDo':
7099                if (number === 1) {
7100                    return number + '-Õ«Õ¶';
7101                }
7102                return number + '-րդ';
7103            default:
7104                return number;
7105            }
7106        },
7107        week : {
7108            dow : 1, // Monday is the first day of the week.
7109            doy : 7  // The week that contains Jan 1st is the first week of the year.
7110        }
7111    });
7112
7113    //! moment.js locale configuration
7114    //! locale : Bahasa Indonesia (id)
7115    //! author : Mohammad Satrio Utomo : https://github.com/tyok
7116    //! reference: http://id.wikisource.org/wiki/Pedoman_Umum_Ejaan_Bahasa_Indonesia_yang_Disempurnakan
7117
7118    var id = moment__default.defineLocale('id', {
7119        months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),
7120        monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des'.split('_'),
7121        weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),
7122        weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),
7123        weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),
7124        longDateFormat : {
7125            LT : 'HH.mm',
7126            LTS : 'HH.mm.ss',
7127            L : 'DD/MM/YYYY',
7128            LL : 'D MMMM YYYY',
7129            LLL : 'D MMMM YYYY [pukul] HH.mm',
7130            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
7131        },
7132        meridiemParse: /pagi|siang|sore|malam/,
7133        meridiemHour : function (hour, meridiem) {
7134            if (hour === 12) {
7135                hour = 0;
7136            }
7137            if (meridiem === 'pagi') {
7138                return hour;
7139            } else if (meridiem === 'siang') {
7140                return hour >= 11 ? hour : hour + 12;
7141            } else if (meridiem === 'sore' || meridiem === 'malam') {
7142                return hour + 12;
7143            }
7144        },
7145        meridiem : function (hours, minutes, isLower) {
7146            if (hours < 11) {
7147                return 'pagi';
7148            } else if (hours < 15) {
7149                return 'siang';
7150            } else if (hours < 19) {
7151                return 'sore';
7152            } else {
7153                return 'malam';
7154            }
7155        },
7156        calendar : {
7157            sameDay : '[Hari ini pukul] LT',
7158            nextDay : '[Besok pukul] LT',
7159            nextWeek : 'dddd [pukul] LT',
7160            lastDay : '[Kemarin pukul] LT',
7161            lastWeek : 'dddd [lalu pukul] LT',
7162            sameElse : 'L'
7163        },
7164        relativeTime : {
7165            future : 'dalam %s',
7166            past : '%s yang lalu',
7167            s : 'beberapa detik',
7168            m : 'semenit',
7169            mm : '%d menit',
7170            h : 'sejam',
7171            hh : '%d jam',
7172            d : 'sehari',
7173            dd : '%d hari',
7174            M : 'sebulan',
7175            MM : '%d bulan',
7176            y : 'setahun',
7177            yy : '%d tahun'
7178        },
7179        week : {
7180            dow : 1, // Monday is the first day of the week.
7181            doy : 7  // The week that contains Jan 1st is the first week of the year.
7182        }
7183    });
7184
7185    //! moment.js locale configuration
7186    //! locale : icelandic (is)
7187    //! author : Hinrik Örn Sigurðsson : https://github.com/hinrik
7188
7189    function is__plural(n) {
7190        if (n % 100 === 11) {
7191            return true;
7192        } else if (n % 10 === 1) {
7193            return false;
7194        }
7195        return true;
7196    }
7197    function is__translate(number, withoutSuffix, key, isFuture) {
7198        var result = number + ' ';
7199        switch (key) {
7200        case 's':
7201            return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';
7202        case 'm':
7203            return withoutSuffix ? 'mínúta' : 'mínútu';
7204        case 'mm':
7205            if (is__plural(number)) {
7206                return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');
7207            } else if (withoutSuffix) {
7208                return result + 'mínúta';
7209            }
7210            return result + 'mínútu';
7211        case 'hh':
7212            if (is__plural(number)) {
7213                return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');
7214            }
7215            return result + 'klukkustund';
7216        case 'd':
7217            if (withoutSuffix) {
7218                return 'dagur';
7219            }
7220            return isFuture ? 'dag' : 'degi';
7221        case 'dd':
7222            if (is__plural(number)) {
7223                if (withoutSuffix) {
7224                    return result + 'dagar';
7225                }
7226                return result + (isFuture ? 'daga' : 'dögum');
7227            } else if (withoutSuffix) {
7228                return result + 'dagur';
7229            }
7230            return result + (isFuture ? 'dag' : 'degi');
7231        case 'M':
7232            if (withoutSuffix) {
7233                return 'mánuður';
7234            }
7235            return isFuture ? 'mánuð' : 'mánuði';
7236        case 'MM':
7237            if (is__plural(number)) {
7238                if (withoutSuffix) {
7239                    return result + 'mánuðir';
7240                }
7241                return result + (isFuture ? 'mánuði' : 'mánuðum');
7242            } else if (withoutSuffix) {
7243                return result + 'mánuður';
7244            }
7245            return result + (isFuture ? 'mánuð' : 'mánuði');
7246        case 'y':
7247            return withoutSuffix || isFuture ? 'ár' : 'ári';
7248        case 'yy':
7249            if (is__plural(number)) {
7250                return result + (withoutSuffix || isFuture ? 'ár' : 'árum');
7251            }
7252            return result + (withoutSuffix || isFuture ? 'ár' : 'ári');
7253        }
7254    }
7255
7256    var is = moment__default.defineLocale('is', {
7257        months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),
7258        monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),
7259        weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),
7260        weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),
7261        weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),
7262        longDateFormat : {
7263            LT : 'H:mm',
7264            LTS : 'H:mm:ss',
7265            L : 'DD.MM.YYYY',
7266            LL : 'D. MMMM YYYY',
7267            LLL : 'D. MMMM YYYY [kl.] H:mm',
7268            LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'
7269        },
7270        calendar : {
7271            sameDay : '[í dag kl.] LT',
7272            nextDay : '[á morgun kl.] LT',
7273            nextWeek : 'dddd [kl.] LT',
7274            lastDay : '[í gær kl.] LT',
7275            lastWeek : '[síðasta] dddd [kl.] LT',
7276            sameElse : 'L'
7277        },
7278        relativeTime : {
7279            future : 'eftir %s',
7280            past : 'fyrir %s síðan',
7281            s : is__translate,
7282            m : is__translate,
7283            mm : is__translate,
7284            h : 'klukkustund',
7285            hh : is__translate,
7286            d : is__translate,
7287            dd : is__translate,
7288            M : is__translate,
7289            MM : is__translate,
7290            y : is__translate,
7291            yy : is__translate
7292        },
7293        ordinalParse: /\d{1,2}\./,
7294        ordinal : '%d.',
7295        week : {
7296            dow : 1, // Monday is the first day of the week.
7297            doy : 4  // The week that contains Jan 4th is the first week of the year.
7298        }
7299    });
7300
7301    //! moment.js locale configuration
7302    //! locale : italian (it)
7303    //! author : Lorenzo : https://github.com/aliem
7304    //! author: Mattia Larentis: https://github.com/nostalgiaz
7305
7306    var it = moment__default.defineLocale('it', {
7307        months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),
7308        monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),
7309        weekdays : 'Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato'.split('_'),
7310        weekdaysShort : 'Dom_Lun_Mar_Mer_Gio_Ven_Sab'.split('_'),
7311        weekdaysMin : 'Do_Lu_Ma_Me_Gi_Ve_Sa'.split('_'),
7312        longDateFormat : {
7313            LT : 'HH:mm',
7314            LTS : 'HH:mm:ss',
7315            L : 'DD/MM/YYYY',
7316            LL : 'D MMMM YYYY',
7317            LLL : 'D MMMM YYYY HH:mm',
7318            LLLL : 'dddd, D MMMM YYYY HH:mm'
7319        },
7320        calendar : {
7321            sameDay: '[Oggi alle] LT',
7322            nextDay: '[Domani alle] LT',
7323            nextWeek: 'dddd [alle] LT',
7324            lastDay: '[Ieri alle] LT',
7325            lastWeek: function () {
7326                switch (this.day()) {
7327                    case 0:
7328                        return '[la scorsa] dddd [alle] LT';
7329                    default:
7330                        return '[lo scorso] dddd [alle] LT';
7331                }
7332            },
7333            sameElse: 'L'
7334        },
7335        relativeTime : {
7336            future : function (s) {
7337                return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;
7338            },
7339            past : '%s fa',
7340            s : 'alcuni secondi',
7341            m : 'un minuto',
7342            mm : '%d minuti',
7343            h : 'un\'ora',
7344            hh : '%d ore',
7345            d : 'un giorno',
7346            dd : '%d giorni',
7347            M : 'un mese',
7348            MM : '%d mesi',
7349            y : 'un anno',
7350            yy : '%d anni'
7351        },
7352        ordinalParse : /\d{1,2}º/,
7353        ordinal: '%dº',
7354        week : {
7355            dow : 1, // Monday is the first day of the week.
7356            doy : 4  // The week that contains Jan 4th is the first week of the year.
7357        }
7358    });
7359
7360    //! moment.js locale configuration
7361    //! locale : japanese (ja)
7362    //! author : LI Long : https://github.com/baryon
7363
7364    var ja = moment__default.defineLocale('ja', {
7365        months : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
7366        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
7367        weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),
7368        weekdaysShort : '日_月_火_水_木_金_土'.split('_'),
7369        weekdaysMin : '日_月_火_水_木_金_土'.split('_'),
7370        longDateFormat : {
7371            LT : 'Ah時m分',
7372            LTS : 'Ah時m分s秒',
7373            L : 'YYYY/MM/DD',
7374            LL : 'YYYY年M月D日',
7375            LLL : 'YYYY年M月D日Ah時m分',
7376            LLLL : 'YYYY年M月D日Ah時m分 dddd'
7377        },
7378        meridiemParse: /午前|午後/i,
7379        isPM : function (input) {
7380            return input === '午後';
7381        },
7382        meridiem : function (hour, minute, isLower) {
7383            if (hour < 12) {
7384                return '午前';
7385            } else {
7386                return '午後';
7387            }
7388        },
7389        calendar : {
7390            sameDay : '[今日] LT',
7391            nextDay : '[明日] LT',
7392            nextWeek : '[来週]dddd LT',
7393            lastDay : '[昨日] LT',
7394            lastWeek : '[前週]dddd LT',
7395            sameElse : 'L'
7396        },
7397        ordinalParse : /\d{1,2}日/,
7398        ordinal : function (number, period) {
7399            switch (period) {
7400            case 'd':
7401            case 'D':
7402            case 'DDD':
7403                return number + '日';
7404            default:
7405                return number;
7406            }
7407        },
7408        relativeTime : {
7409            future : '%s後',
7410            past : '%s前',
7411            s : '数秒',
7412            m : '1分',
7413            mm : '%d分',
7414            h : '1時間',
7415            hh : '%d時間',
7416            d : '1日',
7417            dd : '%d日',
7418            M : '1ヶ月',
7419            MM : '%dヶ月',
7420            y : '1å¹´',
7421            yy : '%då¹´'
7422        }
7423    });
7424
7425    //! moment.js locale configuration
7426    //! locale : Boso Jowo (jv)
7427    //! author : Rony Lantip : https://github.com/lantip
7428    //! reference: http://jv.wikipedia.org/wiki/Basa_Jawa
7429
7430    var jv = moment__default.defineLocale('jv', {
7431        months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),
7432        monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),
7433        weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),
7434        weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),
7435        weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),
7436        longDateFormat : {
7437            LT : 'HH.mm',
7438            LTS : 'HH.mm.ss',
7439            L : 'DD/MM/YYYY',
7440            LL : 'D MMMM YYYY',
7441            LLL : 'D MMMM YYYY [pukul] HH.mm',
7442            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
7443        },
7444        meridiemParse: /enjing|siyang|sonten|ndalu/,
7445        meridiemHour : function (hour, meridiem) {
7446            if (hour === 12) {
7447                hour = 0;
7448            }
7449            if (meridiem === 'enjing') {
7450                return hour;
7451            } else if (meridiem === 'siyang') {
7452                return hour >= 11 ? hour : hour + 12;
7453            } else if (meridiem === 'sonten' || meridiem === 'ndalu') {
7454                return hour + 12;
7455            }
7456        },
7457        meridiem : function (hours, minutes, isLower) {
7458            if (hours < 11) {
7459                return 'enjing';
7460            } else if (hours < 15) {
7461                return 'siyang';
7462            } else if (hours < 19) {
7463                return 'sonten';
7464            } else {
7465                return 'ndalu';
7466            }
7467        },
7468        calendar : {
7469            sameDay : '[Dinten puniko pukul] LT',
7470            nextDay : '[Mbenjang pukul] LT',
7471            nextWeek : 'dddd [pukul] LT',
7472            lastDay : '[Kala wingi pukul] LT',
7473            lastWeek : 'dddd [kepengker pukul] LT',
7474            sameElse : 'L'
7475        },
7476        relativeTime : {
7477            future : 'wonten ing %s',
7478            past : '%s ingkang kepengker',
7479            s : 'sawetawis detik',
7480            m : 'setunggal menit',
7481            mm : '%d menit',
7482            h : 'setunggal jam',
7483            hh : '%d jam',
7484            d : 'sedinten',
7485            dd : '%d dinten',
7486            M : 'sewulan',
7487            MM : '%d wulan',
7488            y : 'setaun',
7489            yy : '%d taun'
7490        },
7491        week : {
7492            dow : 1, // Monday is the first day of the week.
7493            doy : 7  // The week that contains Jan 1st is the first week of the year.
7494        }
7495    });
7496
7497    //! moment.js locale configuration
7498    //! locale : Georgian (ka)
7499    //! author : Irakli Janiashvili : https://github.com/irakli-janiashvili
7500
7501    var ka = moment__default.defineLocale('ka', {
7502        months : {
7503            standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),
7504            format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')
7505        },
7506        monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),
7507        weekdays : {
7508            standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),
7509            format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),
7510            isFormat: /(წინა|შემდეგ)/
7511        },
7512        weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),
7513        weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),
7514        longDateFormat : {
7515            LT : 'h:mm A',
7516            LTS : 'h:mm:ss A',
7517            L : 'DD/MM/YYYY',
7518            LL : 'D MMMM YYYY',
7519            LLL : 'D MMMM YYYY h:mm A',
7520            LLLL : 'dddd, D MMMM YYYY h:mm A'
7521        },
7522        calendar : {
7523            sameDay : '[დღეს] LT[-ზე]',
7524            nextDay : '[ხვალ] LT[-ზე]',
7525            lastDay : '[გუშინ] LT[-ზე]',
7526            nextWeek : '[შემდეგ] dddd LT[-ზე]',
7527            lastWeek : '[წინა] dddd LT-ზე',
7528            sameElse : 'L'
7529        },
7530        relativeTime : {
7531            future : function (s) {
7532                return (/(წამი|წუთი|საათი|წელი)/).test(s) ?
7533                    s.replace(/ი$/, 'ში') :
7534                    s + 'ში';
7535            },
7536            past : function (s) {
7537                if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {
7538                    return s.replace(/(ი|ე)$/, 'ის წინ');
7539                }
7540                if ((/წელი/).test(s)) {
7541                    return s.replace(/წელი$/, 'წლის წინ');
7542                }
7543            },
7544            s : 'რამდენიმე წამი',
7545            m : 'წუთი',
7546            mm : '%d წუთი',
7547            h : 'საათი',
7548            hh : '%d საათი',
7549            d : 'დღე',
7550            dd : '%d დღე',
7551            M : 'თვე',
7552            MM : '%d თვე',
7553            y : 'წელი',
7554            yy : '%d წელი'
7555        },
7556        ordinalParse: /0|1-ლი|მე-\d{1,2}|\d{1,2}-ე/,
7557        ordinal : function (number) {
7558            if (number === 0) {
7559                return number;
7560            }
7561            if (number === 1) {
7562                return number + '-ლი';
7563            }
7564            if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {
7565                return 'მე-' + number;
7566            }
7567            return number + '-ე';
7568        },
7569        week : {
7570            dow : 1,
7571            doy : 7
7572        }
7573    });
7574
7575    //! moment.js locale configuration
7576    //! locale : kazakh (kk)
vendor: 4,092 bytes, lines 7577-7670
7577    //! authors : Nurlan Rakhimzhanov : https://github.com/nurlan
7578
7579    var kk__suffixes = {
7580        0: '-ші',
7581        1: '-ші',
7582        2: '-ші',
7583        3: '-ші',
7584        4: '-ші',
7585        5: '-ші',
7586        6: '-шы',
7587        7: '-ші',
7588        8: '-ші',
7589        9: '-шы',
7590        10: '-шы',
7591        20: '-шы',
7592        30: '-шы',
7593        40: '-шы',
7594        50: '-ші',
7595        60: '-шы',
7596        70: '-ші',
7597        80: '-ші',
7598        90: '-шы',
7599        100: '-ші'
7600    };
7601
7602    var kk = moment__default.defineLocale('kk', {
7603        months : 'Қаңтар_Ақпан_Наурыз_Сәуір_Мамыр_Маусым_Шілде_Тамыз_Қыркүйек_Қазан_Қараша_Желтоқсан'.split('_'),
7604        monthsShort : 'Қаң_Ақп_Нау_Сәу_Мам_Мау_Шіл_Там_Қыр_Қаз_Қар_Жел'.split('_'),
7605        weekdays : 'Жексенбі_Дүйсенбі_Сейсенбі_Сәрсенбі_Бейсенбі_Жұма_Сенбі'.split('_'),
7606        weekdaysShort : 'Жек_Дүй_Сей_Сәр_Бей_Жұм_Сен'.split('_'),
7607        weekdaysMin : 'Жк_Дй_Сй_Ср_Бй_Жм_Сн'.split('_'),
7608        longDateFormat : {
7609            LT : 'HH:mm',
7610            LTS : 'HH:mm:ss',
7611            L : 'DD.MM.YYYY',
7612            LL : 'D MMMM YYYY',
7613            LLL : 'D MMMM YYYY HH:mm',
7614            LLLL : 'dddd, D MMMM YYYY HH:mm'
7615        },
7616        calendar : {
7617            sameDay : '[Бүгін сағат] LT',
7618            nextDay : '[Ертең сағат] LT',
7619            nextWeek : 'dddd [сағат] LT',
7620            lastDay : '[Кеше сағат] LT',
7621            lastWeek : '[Өткен аптаның] dddd [сағат] LT',
7622            sameElse : 'L'
7623        },
7624        relativeTime : {
7625            future : '%s ішінде',
7626            past : '%s бұрын',
7627            s : 'бірнеше секунд',
7628            m : 'бір минут',
7629            mm : '%d минут',
7630            h : 'бір сағат',
7631            hh : '%d сағат',
7632            d : 'бір күн',
7633            dd : '%d күн',
7634            M : 'бір ай',
7635            MM : '%d ай',
7636            y : 'бір жыл',
7637            yy : '%d жыл'
7638        },
7639        ordinalParse: /\d{1,2}-(ші|шы)/,
7640        ordinal : function (number) {
7641            var a = number % 10,
7642                b = number >= 100 ? 100 : null;
7643            return number + (kk__suffixes[number] || kk__suffixes[a] || kk__suffixes[b]);
7644        },
7645        week : {
7646            dow : 1, // Monday is the first day of the week.
7647            doy : 7  // The week that contains Jan 1st is the first week of the year.
7648        }
7649    });
7650
7651    //! moment.js locale configuration
7652    //! locale : khmer (km)
7653    //! author : Kruy Vanna : https://github.com/kruyvanna
7654
7655    var km = moment__default.defineLocale('km', {
7656        months: 'មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),
7657        monthsShort: 'មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split('_'),
7658        weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
7659        weekdaysShort: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
7660        weekdaysMin: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),
7661        longDateFormat: {
7662            LT: 'HH:mm',
7663            LTS : 'HH:mm:ss',
7664            L: 'DD/MM/YYYY',
7665            LL: 'D MMMM YYYY',
7666            LLL: 'D MMMM YYYY HH:mm',
7667            LLLL: 'dddd, D MMMM YYYY HH:mm'
7668        },
7669        calendar: {
7670            sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',
vendor: 39,258 bytes, lines 7671-8650
7671            nextDay: '[ស្អែក ម៉ោង] LT',
7672            nextWeek: 'dddd [ម៉ោង] LT',
7673            lastDay: '[ម្សិលមិញ ម៉ោង] LT',
7674            lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',
7675            sameElse: 'L'
7676        },
7677        relativeTime: {
7678            future: '%sទៀត',
7679            past: '%sមុន',
7680            s: 'ប៉ុន្មានវិនាទី',
7681            m: 'មួយនាទី',
7682            mm: '%d នាទី',
7683            h: 'មួយម៉ោង',
7684            hh: '%d ម៉ោង',
7685            d: 'មួយថ្ងៃ',
7686            dd: '%d ថ្ងៃ',
7687            M: 'មួយខែ',
7688            MM: '%d ខែ',
7689            y: 'មួយឆ្នាំ',
7690            yy: '%d ឆ្នាំ'
7691        },
7692        week: {
7693            dow: 1, // Monday is the first day of the week.
7694            doy: 4 // The week that contains Jan 4th is the first week of the year.
7695        }
7696    });
7697
7698    //! moment.js locale configuration
7699    //! locale : korean (ko)
7700    //!
7701    //! authors
7702    //!
7703    //! - Kyungwook, Park : https://github.com/kyungw00k
7704    //! - Jeeeyul Lee <[email protected]>
7705
7706    var ko = moment__default.defineLocale('ko', {
7707        months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
7708        monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),
7709        weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),
7710        weekdaysShort : '일_월_화_수_목_금_토'.split('_'),
7711        weekdaysMin : '일_월_화_수_목_금_토'.split('_'),
7712        longDateFormat : {
7713            LT : 'A h시 m분',
7714            LTS : 'A h시 m분 s초',
7715            L : 'YYYY.MM.DD',
7716            LL : 'YYYY년 MMMM D일',
7717            LLL : 'YYYY년 MMMM D일 A h시 m분',
7718            LLLL : 'YYYY년 MMMM D일 dddd A h시 m분'
7719        },
7720        calendar : {
7721            sameDay : '오늘 LT',
7722            nextDay : '내일 LT',
7723            nextWeek : 'dddd LT',
7724            lastDay : '어제 LT',
7725            lastWeek : '지난주 dddd LT',
7726            sameElse : 'L'
7727        },
7728        relativeTime : {
7729            future : '%s 후',
7730            past : '%s 전',
7731            s : '몇초',
7732            ss : '%d초',
7733            m : '일분',
7734            mm : '%d분',
7735            h : '한시간',
7736            hh : '%d시간',
7737            d : '하루',
7738            dd : '%d일',
7739            M : '한달',
7740            MM : '%d달',
7741            y : '일년',
7742            yy : '%d년'
7743        },
7744        ordinalParse : /\d{1,2}일/,
7745        ordinal : '%d일',
7746        meridiemParse : /오전|오후/,
7747        isPM : function (token) {
7748            return token === '오후';
7749        },
7750        meridiem : function (hour, minute, isUpper) {
7751            return hour < 12 ? '오전' : '오후';
7752        }
7753    });
7754
7755    //! moment.js locale configuration
7756    //! locale : Luxembourgish (lb)
7757    //! author : mweimerskirch : https://github.com/mweimerskirch, David Raison : https://github.com/kwisatz
7758
7759    function lb__processRelativeTime(number, withoutSuffix, key, isFuture) {
7760        var format = {
7761            'm': ['eng Minutt', 'enger Minutt'],
7762            'h': ['eng Stonn', 'enger Stonn'],
7763            'd': ['een Dag', 'engem Dag'],
7764            'M': ['ee Mount', 'engem Mount'],
7765            'y': ['ee Joer', 'engem Joer']
7766        };
7767        return withoutSuffix ? format[key][0] : format[key][1];
7768    }
7769    function processFutureTime(string) {
7770        var number = string.substr(0, string.indexOf(' '));
7771        if (eifelerRegelAppliesToNumber(number)) {
7772            return 'a ' + string;
7773        }
7774        return 'an ' + string;
7775    }
7776    function processPastTime(string) {
7777        var number = string.substr(0, string.indexOf(' '));
7778        if (eifelerRegelAppliesToNumber(number)) {
7779            return 'viru ' + string;
7780        }
7781        return 'virun ' + string;
7782    }
7783    /**
7784     * Returns true if the word before the given number loses the '-n' ending.
7785     * e.g. 'an 10 Deeg' but 'a 5 Deeg'
7786     *
7787     * @param number {integer}
7788     * @returns {boolean}
7789     */
7790    function eifelerRegelAppliesToNumber(number) {
7791        number = parseInt(number, 10);
7792        if (isNaN(number)) {
7793            return false;
7794        }
7795        if (number < 0) {
7796            // Negative Number --> always true
7797            return true;
7798        } else if (number < 10) {
7799            // Only 1 digit
7800            if (4 <= number && number <= 7) {
7801                return true;
7802            }
7803            return false;
7804        } else if (number < 100) {
7805            // 2 digits
7806            var lastDigit = number % 10, firstDigit = number / 10;
7807            if (lastDigit === 0) {
7808                return eifelerRegelAppliesToNumber(firstDigit);
7809            }
7810            return eifelerRegelAppliesToNumber(lastDigit);
7811        } else if (number < 10000) {
7812            // 3 or 4 digits --> recursively check first digit
7813            while (number >= 10) {
7814                number = number / 10;
7815            }
7816            return eifelerRegelAppliesToNumber(number);
7817        } else {
7818            // Anything larger than 4 digits: recursively check first n-3 digits
7819            number = number / 1000;
7820            return eifelerRegelAppliesToNumber(number);
7821        }
7822    }
7823
7824    var lb = moment__default.defineLocale('lb', {
7825        months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),
7826        monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),
7827        weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),
7828        weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),
7829        weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),
7830        longDateFormat: {
7831            LT: 'H:mm [Auer]',
7832            LTS: 'H:mm:ss [Auer]',
7833            L: 'DD.MM.YYYY',
7834            LL: 'D. MMMM YYYY',
7835            LLL: 'D. MMMM YYYY H:mm [Auer]',
7836            LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'
7837        },
7838        calendar: {
7839            sameDay: '[Haut um] LT',
7840            sameElse: 'L',
7841            nextDay: '[Muer um] LT',
7842            nextWeek: 'dddd [um] LT',
7843            lastDay: '[Gëschter um] LT',
7844            lastWeek: function () {
7845                // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule
7846                switch (this.day()) {
7847                    case 2:
7848                    case 4:
7849                        return '[Leschten] dddd [um] LT';
7850                    default:
7851                        return '[Leschte] dddd [um] LT';
7852                }
7853            }
7854        },
7855        relativeTime : {
7856            future : processFutureTime,
7857            past : processPastTime,
7858            s : 'e puer Sekonnen',
7859            m : lb__processRelativeTime,
7860            mm : '%d Minutten',
7861            h : lb__processRelativeTime,
7862            hh : '%d Stonnen',
7863            d : lb__processRelativeTime,
7864            dd : '%d Deeg',
7865            M : lb__processRelativeTime,
7866            MM : '%d Méint',
7867            y : lb__processRelativeTime,
7868            yy : '%d Joer'
7869        },
7870        ordinalParse: /\d{1,2}\./,
7871        ordinal: '%d.',
7872        week: {
7873            dow: 1, // Monday is the first day of the week.
7874            doy: 4  // The week that contains Jan 4th is the first week of the year.
7875        }
7876    });
7877
7878    //! moment.js locale configuration
7879    //! locale : lao (lo)
7880    //! author : Ryan Hart : https://github.com/ryanhart2
7881
7882    var lo = moment__default.defineLocale('lo', {
7883        months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
7884        monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),
7885        weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
7886        weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),
7887        weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),
7888        longDateFormat : {
7889            LT : 'HH:mm',
7890            LTS : 'HH:mm:ss',
7891            L : 'DD/MM/YYYY',
7892            LL : 'D MMMM YYYY',
7893            LLL : 'D MMMM YYYY HH:mm',
7894            LLLL : 'ວັນdddd D MMMM YYYY HH:mm'
7895        },
7896        meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,
7897        isPM: function (input) {
7898            return input === 'ຕອນແລງ';
7899        },
7900        meridiem : function (hour, minute, isLower) {
7901            if (hour < 12) {
7902                return 'ຕອນເຊົ້າ';
7903            } else {
7904                return 'ຕອນແລງ';
7905            }
7906        },
7907        calendar : {
7908            sameDay : '[ມື້ນີ້ເວລາ] LT',
7909            nextDay : '[ມື້ອື່ນເວລາ] LT',
7910            nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',
7911            lastDay : '[ມື້ວານນີ້ເວລາ] LT',
7912            lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',
7913            sameElse : 'L'
7914        },
7915        relativeTime : {
7916            future : 'ອີກ %s',
7917            past : '%sຜ່ານມາ',
7918            s : 'ບໍ່ເທົ່າໃດວິນາທີ',
7919            m : '1 ນາທີ',
7920            mm : '%d ນາທີ',
7921            h : '1 ຊົ່ວໂມງ',
7922            hh : '%d ຊົ່ວໂມງ',
7923            d : '1 ມື້',
7924            dd : '%d ມື້',
7925            M : '1 ເດືອນ',
7926            MM : '%d ເດືອນ',
7927            y : '1 ປີ',
7928            yy : '%d ປີ'
7929        },
7930        ordinalParse: /(ທີ່)\d{1,2}/,
7931        ordinal : function (number) {
7932            return 'ທີ່' + number;
7933        }
7934    });
7935
7936    //! moment.js locale configuration
7937    //! locale : Lithuanian (lt)
7938    //! author : Mindaugas Mozūras : https://github.com/mmozuras
7939
7940    var lt__units = {
7941        'm' : 'minutė_minutės_minutę',
7942        'mm': 'minutės_minučių_minutes',
7943        'h' : 'valanda_valandos_valandą',
7944        'hh': 'valandos_valandų_valandas',
7945        'd' : 'diena_dienos_dieną',
7946        'dd': 'dienos_dienų_dienas',
7947        'M' : 'mėnuo_mėnesio_mėnesį',
7948        'MM': 'mėnesiai_mėnesių_mėnesius',
7949        'y' : 'metai_metų_metus',
7950        'yy': 'metai_metų_metus'
7951    };
7952    function translateSeconds(number, withoutSuffix, key, isFuture) {
7953        if (withoutSuffix) {
7954            return 'kelios sekundės';
7955        } else {
7956            return isFuture ? 'kelių sekundžių' : 'kelias sekundes';
7957        }
7958    }
7959    function translateSingular(number, withoutSuffix, key, isFuture) {
7960        return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);
7961    }
7962    function special(number) {
7963        return number % 10 === 0 || (number > 10 && number < 20);
7964    }
7965    function forms(key) {
7966        return lt__units[key].split('_');
7967    }
7968    function lt__translate(number, withoutSuffix, key, isFuture) {
7969        var result = number + ' ';
7970        if (number === 1) {
7971            return result + translateSingular(number, withoutSuffix, key[0], isFuture);
7972        } else if (withoutSuffix) {
7973            return result + (special(number) ? forms(key)[1] : forms(key)[0]);
7974        } else {
7975            if (isFuture) {
7976                return result + forms(key)[1];
7977            } else {
7978                return result + (special(number) ? forms(key)[1] : forms(key)[2]);
7979            }
7980        }
7981    }
7982    var lt = moment__default.defineLocale('lt', {
7983        months : {
7984            format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),
7985            standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_')
7986        },
7987        monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),
7988        weekdays : {
7989            format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),
7990            standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),
7991            isFormat: /dddd HH:mm/
7992        },
7993        weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),
7994        weekdaysMin : 'S_P_A_T_K_Pn_Å '.split('_'),
7995        longDateFormat : {
7996            LT : 'HH:mm',
7997            LTS : 'HH:mm:ss',
7998            L : 'YYYY-MM-DD',
7999            LL : 'YYYY [m.] MMMM D [d.]',
8000            LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
8001            LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',
8002            l : 'YYYY-MM-DD',
8003            ll : 'YYYY [m.] MMMM D [d.]',
8004            lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',
8005            llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'
8006        },
8007        calendar : {
8008            sameDay : '[Å iandien] LT',
8009            nextDay : '[Rytoj] LT',
8010            nextWeek : 'dddd LT',
8011            lastDay : '[Vakar] LT',
8012            lastWeek : '[Praėjusį] dddd LT',
8013            sameElse : 'L'
8014        },
8015        relativeTime : {
8016            future : 'po %s',
8017            past : 'prieš %s',
8018            s : translateSeconds,
8019            m : translateSingular,
8020            mm : lt__translate,
8021            h : translateSingular,
8022            hh : lt__translate,
8023            d : translateSingular,
8024            dd : lt__translate,
8025            M : translateSingular,
8026            MM : lt__translate,
8027            y : translateSingular,
8028            yy : lt__translate
8029        },
8030        ordinalParse: /\d{1,2}-oji/,
8031        ordinal : function (number) {
8032            return number + '-oji';
8033        },
8034        week : {
8035            dow : 1, // Monday is the first day of the week.
8036            doy : 4  // The week that contains Jan 4th is the first week of the year.
8037        }
8038    });
8039
8040    //! moment.js locale configuration
8041    //! locale : latvian (lv)
8042    //! author : Kristaps Karlsons : https://github.com/skakri
8043    //! author : Jānis Elmeris : https://github.com/JanisE
8044
8045    var lv__units = {
8046        'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
8047        'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),
8048        'h': 'stundas_stundām_stunda_stundas'.split('_'),
8049        'hh': 'stundas_stundām_stunda_stundas'.split('_'),
8050        'd': 'dienas_dienām_diena_dienas'.split('_'),
8051        'dd': 'dienas_dienām_diena_dienas'.split('_'),
8052        'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
8053        'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),
8054        'y': 'gada_gadiem_gads_gadi'.split('_'),
8055        'yy': 'gada_gadiem_gads_gadi'.split('_')
8056    };
8057    /**
8058     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.
8059     */
8060    function lv__format(forms, number, withoutSuffix) {
8061        if (withoutSuffix) {
8062            // E.g. "21 minūte", "3 minūtes".
8063            return number % 10 === 1 && number !== 11 ? forms[2] : forms[3];
8064        } else {
8065            // E.g. "21 minūtes" as in "pēc 21 minūtes".
8066            // E.g. "3 minūtēm" as in "pēc 3 minūtēm".
8067            return number % 10 === 1 && number !== 11 ? forms[0] : forms[1];
8068        }
8069    }
8070    function lv__relativeTimeWithPlural(number, withoutSuffix, key) {
8071        return number + ' ' + lv__format(lv__units[key], number, withoutSuffix);
8072    }
8073    function relativeTimeWithSingular(number, withoutSuffix, key) {
8074        return lv__format(lv__units[key], number, withoutSuffix);
8075    }
8076    function relativeSeconds(number, withoutSuffix) {
8077        return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';
8078    }
8079
8080    var lv = moment__default.defineLocale('lv', {
8081        months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),
8082        monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),
8083        weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),
8084        weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),
8085        weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),
8086        longDateFormat : {
8087            LT : 'HH:mm',
8088            LTS : 'HH:mm:ss',
8089            L : 'DD.MM.YYYY.',
8090            LL : 'YYYY. [gada] D. MMMM',
8091            LLL : 'YYYY. [gada] D. MMMM, HH:mm',
8092            LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'
8093        },
8094        calendar : {
8095            sameDay : '[Å odien pulksten] LT',
8096            nextDay : '[Rīt pulksten] LT',
8097            nextWeek : 'dddd [pulksten] LT',
8098            lastDay : '[Vakar pulksten] LT',
8099            lastWeek : '[Pagājušā] dddd [pulksten] LT',
8100            sameElse : 'L'
8101        },
8102        relativeTime : {
8103            future : 'pēc %s',
8104            past : 'pirms %s',
8105            s : relativeSeconds,
8106            m : relativeTimeWithSingular,
8107            mm : lv__relativeTimeWithPlural,
8108            h : relativeTimeWithSingular,
8109            hh : lv__relativeTimeWithPlural,
8110            d : relativeTimeWithSingular,
8111            dd : lv__relativeTimeWithPlural,
8112            M : relativeTimeWithSingular,
8113            MM : lv__relativeTimeWithPlural,
8114            y : relativeTimeWithSingular,
8115            yy : lv__relativeTimeWithPlural
8116        },
8117        ordinalParse: /\d{1,2}\./,
8118        ordinal : '%d.',
8119        week : {
8120            dow : 1, // Monday is the first day of the week.
8121            doy : 4  // The week that contains Jan 4th is the first week of the year.
8122        }
8123    });
8124
8125    //! moment.js locale configuration
8126    //! locale : Montenegrin (me)
8127    //! author : Miodrag Nikač <[email protected]> : https://github.com/miodragnikac
8128
8129    var me__translator = {
8130        words: { //Different grammatical cases
8131            m: ['jedan minut', 'jednog minuta'],
8132            mm: ['minut', 'minuta', 'minuta'],
8133            h: ['jedan sat', 'jednog sata'],
8134            hh: ['sat', 'sata', 'sati'],
8135            dd: ['dan', 'dana', 'dana'],
8136            MM: ['mjesec', 'mjeseca', 'mjeseci'],
8137            yy: ['godina', 'godine', 'godina']
8138        },
8139        correctGrammaticalCase: function (number, wordKey) {
8140            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
8141        },
8142        translate: function (number, withoutSuffix, key) {
8143            var wordKey = me__translator.words[key];
8144            if (key.length === 1) {
8145                return withoutSuffix ? wordKey[0] : wordKey[1];
8146            } else {
8147                return number + ' ' + me__translator.correctGrammaticalCase(number, wordKey);
8148            }
8149        }
8150    };
8151
8152    var me = moment__default.defineLocale('me', {
8153        months: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'],
8154        monthsShort: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun', 'jul', 'avg.', 'sep.', 'okt.', 'nov.', 'dec.'],
8155        weekdays: ['nedjelja', 'ponedjeljak', 'utorak', 'srijeda', 'četvrtak', 'petak', 'subota'],
8156        weekdaysShort: ['ned.', 'pon.', 'uto.', 'sri.', 'čet.', 'pet.', 'sub.'],
8157        weekdaysMin: ['ne', 'po', 'ut', 'sr', 'če', 'pe', 'su'],
8158        longDateFormat: {
8159            LT: 'H:mm',
8160            LTS : 'H:mm:ss',
8161            L: 'DD. MM. YYYY',
8162            LL: 'D. MMMM YYYY',
8163            LLL: 'D. MMMM YYYY H:mm',
8164            LLLL: 'dddd, D. MMMM YYYY H:mm'
8165        },
8166        calendar: {
8167            sameDay: '[danas u] LT',
8168            nextDay: '[sjutra u] LT',
8169
8170            nextWeek: function () {
8171                switch (this.day()) {
8172                case 0:
8173                    return '[u] [nedjelju] [u] LT';
8174                case 3:
8175                    return '[u] [srijedu] [u] LT';
8176                case 6:
8177                    return '[u] [subotu] [u] LT';
8178                case 1:
8179                case 2:
8180                case 4:
8181                case 5:
8182                    return '[u] dddd [u] LT';
8183                }
8184            },
8185            lastDay  : '[juče u] LT',
8186            lastWeek : function () {
8187                var lastWeekDays = [
8188                    '[prošle] [nedjelje] [u] LT',
8189                    '[prošlog] [ponedjeljka] [u] LT',
8190                    '[prošlog] [utorka] [u] LT',
8191                    '[prošle] [srijede] [u] LT',
8192                    '[prošlog] [četvrtka] [u] LT',
8193                    '[prošlog] [petka] [u] LT',
8194                    '[prošle] [subote] [u] LT'
8195                ];
8196                return lastWeekDays[this.day()];
8197            },
8198            sameElse : 'L'
8199        },
8200        relativeTime : {
8201            future : 'za %s',
8202            past   : 'prije %s',
8203            s      : 'nekoliko sekundi',
8204            m      : me__translator.translate,
8205            mm     : me__translator.translate,
8206            h      : me__translator.translate,
8207            hh     : me__translator.translate,
8208            d      : 'dan',
8209            dd     : me__translator.translate,
8210            M      : 'mjesec',
8211            MM     : me__translator.translate,
8212            y      : 'godinu',
8213            yy     : me__translator.translate
8214        },
8215        ordinalParse: /\d{1,2}\./,
8216        ordinal : '%d.',
8217        week : {
8218            dow : 1, // Monday is the first day of the week.
8219            doy : 7  // The week that contains Jan 1st is the first week of the year.
8220        }
8221    });
8222
8223    //! moment.js locale configuration
8224    //! locale : macedonian (mk)
8225    //! author : Borislav Mickov : https://github.com/B0k0
8226
8227    var mk = moment__default.defineLocale('mk', {
8228        months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),
8229        monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),
8230        weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),
8231        weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),
8232        weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),
8233        longDateFormat : {
8234            LT : 'H:mm',
8235            LTS : 'H:mm:ss',
8236            L : 'D.MM.YYYY',
8237            LL : 'D MMMM YYYY',
8238            LLL : 'D MMMM YYYY H:mm',
8239            LLLL : 'dddd, D MMMM YYYY H:mm'
8240        },
8241        calendar : {
8242            sameDay : '[Денес во] LT',
8243            nextDay : '[Утре во] LT',
8244            nextWeek : '[Во] dddd [во] LT',
8245            lastDay : '[Вчера во] LT',
8246            lastWeek : function () {
8247                switch (this.day()) {
8248                case 0:
8249                case 3:
8250                case 6:
8251                    return '[Изминатата] dddd [во] LT';
8252                case 1:
8253                case 2:
8254                case 4:
8255                case 5:
8256                    return '[Изминатиот] dddd [во] LT';
8257                }
8258            },
8259            sameElse : 'L'
8260        },
8261        relativeTime : {
8262            future : 'после %s',
8263            past : 'пред %s',
8264            s : 'неколку секунди',
8265            m : 'минута',
8266            mm : '%d минути',
8267            h : 'час',
8268            hh : '%d часа',
8269            d : 'ден',
8270            dd : '%d дена',
8271            M : 'месец',
8272            MM : '%d месеци',
8273            y : 'година',
8274            yy : '%d години'
8275        },
8276        ordinalParse: /\d{1,2}-(ев|ен|ти|ви|ри|ми)/,
8277        ordinal : function (number) {
8278            var lastDigit = number % 10,
8279                last2Digits = number % 100;
8280            if (number === 0) {
8281                return number + '-ев';
8282            } else if (last2Digits === 0) {
8283                return number + '-ен';
8284            } else if (last2Digits > 10 && last2Digits < 20) {
8285                return number + '-ти';
8286            } else if (lastDigit === 1) {
8287                return number + '-ви';
8288            } else if (lastDigit === 2) {
8289                return number + '-ри';
8290            } else if (lastDigit === 7 || lastDigit === 8) {
8291                return number + '-ми';
8292            } else {
8293                return number + '-ти';
8294            }
8295        },
8296        week : {
8297            dow : 1, // Monday is the first day of the week.
8298            doy : 7  // The week that contains Jan 1st is the first week of the year.
8299        }
8300    });
8301
8302    //! moment.js locale configuration
8303    //! locale : malayalam (ml)
8304    //! author : Floyd Pink : https://github.com/floydpink
8305
8306    var ml = moment__default.defineLocale('ml', {
8307        months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),
8308        monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),
8309        weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),
8310        weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),
8311        weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),
8312        longDateFormat : {
8313            LT : 'A h:mm -നു',
8314            LTS : 'A h:mm:ss -നു',
8315            L : 'DD/MM/YYYY',
8316            LL : 'D MMMM YYYY',
8317            LLL : 'D MMMM YYYY, A h:mm -നു',
8318            LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'
8319        },
8320        calendar : {
8321            sameDay : '[ഇന്ന്] LT',
8322            nextDay : '[നാളെ] LT',
8323            nextWeek : 'dddd, LT',
8324            lastDay : '[ഇന്നലെ] LT',
8325            lastWeek : '[കഴിഞ്ഞ] dddd, LT',
8326            sameElse : 'L'
8327        },
8328        relativeTime : {
8329            future : '%s കഴിഞ്ഞ്',
8330            past : '%s മുൻപ്',
8331            s : 'അൽപ നിമിഷങ്ങൾ',
8332            m : 'ഒരു മിനിറ്റ്',
8333            mm : '%d മിനിറ്റ്',
8334            h : 'ഒരു മണിക്കൂർ',
8335            hh : '%d മണിക്കൂർ',
8336            d : 'ഒരു ദിവസം',
8337            dd : '%d ദിവസം',
8338            M : 'ഒരു മാസം',
8339            MM : '%d മാസം',
8340            y : 'ഒരു വർഷം',
8341            yy : '%d വർഷം'
8342        },
8343        meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,
8344        meridiemHour : function (hour, meridiem) {
8345            if (hour === 12) {
8346                hour = 0;
8347            }
8348            if ((meridiem === 'രാത്രി' && hour >= 4) ||
8349                    meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||
8350                    meridiem === 'വൈകുന്നേരം') {
8351                return hour + 12;
8352            } else {
8353                return hour;
8354            }
8355        },
8356        meridiem : function (hour, minute, isLower) {
8357            if (hour < 4) {
8358                return 'രാത്രി';
8359            } else if (hour < 12) {
8360                return 'രാവിലെ';
8361            } else if (hour < 17) {
8362                return 'ഉച്ച കഴിഞ്ഞ്';
8363            } else if (hour < 20) {
8364                return 'വൈകുന്നേരം';
8365            } else {
8366                return 'രാത്രി';
8367            }
8368        }
8369    });
8370
8371    //! moment.js locale configuration
8372    //! locale : Marathi (mr)
8373    //! author : Harshad Kale : https://github.com/kalehv
8374    //! author : Vivek Athalye : https://github.com/vnathalye
8375
8376    var mr__symbolMap = {
8377        '1': '१',
8378        '2': '२',
8379        '3': '३',
8380        '4': '४',
8381        '5': '५',
8382        '6': '६',
8383        '7': '७',
8384        '8': '८',
8385        '9': '९',
8386        '0': '०'
8387    },
8388    mr__numberMap = {
8389        '१': '1',
8390        '२': '2',
8391        '३': '3',
8392        '४': '4',
8393        '५': '5',
8394        '६': '6',
8395        '७': '7',
8396        '८': '8',
8397        '९': '9',
8398        '०': '0'
8399    };
8400
8401    function relativeTimeMr(number, withoutSuffix, string, isFuture)
8402    {
8403        var output = '';
8404        if (withoutSuffix) {
8405            switch (string) {
8406                case 's': output = 'काही सेकंद'; break;
8407                case 'm': output = 'एक मिनिट'; break;
8408                case 'mm': output = '%d मिनिटे'; break;
8409                case 'h': output = 'एक तास'; break;
8410                case 'hh': output = '%d तास'; break;
8411                case 'd': output = 'एक दिवस'; break;
8412                case 'dd': output = '%d दिवस'; break;
8413                case 'M': output = 'एक महिना'; break;
8414                case 'MM': output = '%d महिने'; break;
8415                case 'y': output = 'एक वर्ष'; break;
8416                case 'yy': output = '%d वर्षे'; break;
8417            }
8418        }
8419        else {
8420            switch (string) {
8421                case 's': output = 'काही सेकंदां'; break;
8422                case 'm': output = 'एका मिनिटा'; break;
8423                case 'mm': output = '%d मिनिटां'; break;
8424                case 'h': output = 'एका तासा'; break;
8425                case 'hh': output = '%d तासां'; break;
8426                case 'd': output = 'एका दिवसा'; break;
8427                case 'dd': output = '%d दिवसां'; break;
8428                case 'M': output = 'एका महिन्या'; break;
8429                case 'MM': output = '%d महिन्यां'; break;
8430                case 'y': output = 'एका वर्षा'; break;
8431                case 'yy': output = '%d वर्षां'; break;
8432            }
8433        }
8434        return output.replace(/%d/i, number);
8435    }
8436
8437    var mr = moment__default.defineLocale('mr', {
8438        months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),
8439        monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),
8440        weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),
8441        weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),
8442        weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),
8443        longDateFormat : {
8444            LT : 'A h:mm वाजता',
8445            LTS : 'A h:mm:ss वाजता',
8446            L : 'DD/MM/YYYY',
8447            LL : 'D MMMM YYYY',
8448            LLL : 'D MMMM YYYY, A h:mm वाजता',
8449            LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'
8450        },
8451        calendar : {
8452            sameDay : '[आज] LT',
8453            nextDay : '[उद्या] LT',
8454            nextWeek : 'dddd, LT',
8455            lastDay : '[काल] LT',
8456            lastWeek: '[मागील] dddd, LT',
8457            sameElse : 'L'
8458        },
8459        relativeTime : {
8460            future: '%sमध्ये',
8461            past: '%sपूर्वी',
8462            s: relativeTimeMr,
8463            m: relativeTimeMr,
8464            mm: relativeTimeMr,
8465            h: relativeTimeMr,
8466            hh: relativeTimeMr,
8467            d: relativeTimeMr,
8468            dd: relativeTimeMr,
8469            M: relativeTimeMr,
8470            MM: relativeTimeMr,
8471            y: relativeTimeMr,
8472            yy: relativeTimeMr
8473        },
8474        preparse: function (string) {
8475            return string.replace(/[१२३४५६७८९०]/g, function (match) {
8476                return mr__numberMap[match];
8477            });
8478        },
8479        postformat: function (string) {
8480            return string.replace(/\d/g, function (match) {
8481                return mr__symbolMap[match];
8482            });
8483        },
8484        meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,
8485        meridiemHour : function (hour, meridiem) {
8486            if (hour === 12) {
8487                hour = 0;
8488            }
8489            if (meridiem === 'रात्री') {
8490                return hour < 4 ? hour : hour + 12;
8491            } else if (meridiem === 'सकाळी') {
8492                return hour;
8493            } else if (meridiem === 'दुपारी') {
8494                return hour >= 10 ? hour : hour + 12;
8495            } else if (meridiem === 'सायंकाळी') {
8496                return hour + 12;
8497            }
8498        },
8499        meridiem: function (hour, minute, isLower) {
8500            if (hour < 4) {
8501                return 'रात्री';
8502            } else if (hour < 10) {
8503                return 'सकाळी';
8504            } else if (hour < 17) {
8505                return 'दुपारी';
8506            } else if (hour < 20) {
8507                return 'सायंकाळी';
8508            } else {
8509                return 'रात्री';
8510            }
8511        },
8512        week : {
8513            dow : 0, // Sunday is the first day of the week.
8514            doy : 6  // The week that contains Jan 1st is the first week of the year.
8515        }
8516    });
8517
8518    //! moment.js locale configuration
8519    //! locale : Bahasa Malaysia (ms-MY)
8520    //! author : Weldan Jamili : https://github.com/weldan
8521
8522    var ms_my = moment__default.defineLocale('ms-my', {
8523        months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
8524        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
8525        weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
8526        weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
8527        weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
8528        longDateFormat : {
8529            LT : 'HH.mm',
8530            LTS : 'HH.mm.ss',
8531            L : 'DD/MM/YYYY',
8532            LL : 'D MMMM YYYY',
8533            LLL : 'D MMMM YYYY [pukul] HH.mm',
8534            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
8535        },
8536        meridiemParse: /pagi|tengahari|petang|malam/,
8537        meridiemHour: function (hour, meridiem) {
8538            if (hour === 12) {
8539                hour = 0;
8540            }
8541            if (meridiem === 'pagi') {
8542                return hour;
8543            } else if (meridiem === 'tengahari') {
8544                return hour >= 11 ? hour : hour + 12;
8545            } else if (meridiem === 'petang' || meridiem === 'malam') {
8546                return hour + 12;
8547            }
8548        },
8549        meridiem : function (hours, minutes, isLower) {
8550            if (hours < 11) {
8551                return 'pagi';
8552            } else if (hours < 15) {
8553                return 'tengahari';
8554            } else if (hours < 19) {
8555                return 'petang';
8556            } else {
8557                return 'malam';
8558            }
8559        },
8560        calendar : {
8561            sameDay : '[Hari ini pukul] LT',
8562            nextDay : '[Esok pukul] LT',
8563            nextWeek : 'dddd [pukul] LT',
8564            lastDay : '[Kelmarin pukul] LT',
8565            lastWeek : 'dddd [lepas pukul] LT',
8566            sameElse : 'L'
8567        },
8568        relativeTime : {
8569            future : 'dalam %s',
8570            past : '%s yang lepas',
8571            s : 'beberapa saat',
8572            m : 'seminit',
8573            mm : '%d minit',
8574            h : 'sejam',
8575            hh : '%d jam',
8576            d : 'sehari',
8577            dd : '%d hari',
8578            M : 'sebulan',
8579            MM : '%d bulan',
8580            y : 'setahun',
8581            yy : '%d tahun'
8582        },
8583        week : {
8584            dow : 1, // Monday is the first day of the week.
8585            doy : 7  // The week that contains Jan 1st is the first week of the year.
8586        }
8587    });
8588
8589    //! moment.js locale configuration
8590    //! locale : Bahasa Malaysia (ms-MY)
8591    //! author : Weldan Jamili : https://github.com/weldan
8592
8593    var locale_ms = moment__default.defineLocale('ms', {
8594        months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),
8595        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),
8596        weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),
8597        weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),
8598        weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),
8599        longDateFormat : {
8600            LT : 'HH.mm',
8601            LTS : 'HH.mm.ss',
8602            L : 'DD/MM/YYYY',
8603            LL : 'D MMMM YYYY',
8604            LLL : 'D MMMM YYYY [pukul] HH.mm',
8605            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'
8606        },
8607        meridiemParse: /pagi|tengahari|petang|malam/,
8608        meridiemHour: function (hour, meridiem) {
8609            if (hour === 12) {
8610                hour = 0;
8611            }
8612            if (meridiem === 'pagi') {
8613                return hour;
8614            } else if (meridiem === 'tengahari') {
8615                return hour >= 11 ? hour : hour + 12;
8616            } else if (meridiem === 'petang' || meridiem === 'malam') {
8617                return hour + 12;
8618            }
8619        },
8620        meridiem : function (hours, minutes, isLower) {
8621            if (hours < 11) {
8622                return 'pagi';
8623            } else if (hours < 15) {
8624                return 'tengahari';
8625            } else if (hours < 19) {
8626                return 'petang';
8627            } else {
8628                return 'malam';
8629            }
8630        },
8631        calendar : {
8632            sameDay : '[Hari ini pukul] LT',
8633            nextDay : '[Esok pukul] LT',
8634            nextWeek : 'dddd [pukul] LT',
8635            lastDay : '[Kelmarin pukul] LT',
8636            lastWeek : 'dddd [lepas pukul] LT',
8637            sameElse : 'L'
8638        },
8639        relativeTime : {
8640            future : 'dalam %s',
8641            past : '%s yang lepas',
8642            s : 'beberapa saat',
8643            m : 'seminit',
8644            mm : '%d minit',
8645            h : 'sejam',
8646            hh : '%d jam',
8647            d : 'sehari',
8648            dd : '%d hari',
8649            M : 'sebulan',
8650            MM : '%d bulan',
8651            y : 'setahun',
8652            yy : '%d tahun'
8653        },
8654        week : {
8655            dow : 1, // Monday is the first day of the week.
8656            doy : 7  // The week that contains Jan 1st is the first week of the year.
8657        }
8658    });
8659
8660    //! moment.js locale configuration
8661    //! locale : Burmese (my)
8662    //! author : Squar team, mysquar.com
8663
8664    var my__symbolMap = {
8665        '1': '၁',
8666        '2': '၂',
8667        '3': '၃',
8668        '4': '၄',
8669        '5': '၅',
8670        '6': '၆',
8671        '7': '၇',
8672        '8': '၈',
8673        '9': '၉',
8674        '0': '၀'
8675    }, my__numberMap = {
8676        '၁': '1',
8677        '၂': '2',
8678        '၃': '3',
8679        '၄': '4',
8680        '၅': '5',
8681        '၆': '6',
8682        '၇': '7',
8683        '၈': '8',
8684        '၉': '9',
8685        '၀': '0'
8686    };
8687
8688    var my = moment__default.defineLocale('my', {
8689        months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),
8690        monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),
8691        weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),
8692        weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
8693        weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),
8694
8695        longDateFormat: {
8696            LT: 'HH:mm',
8697            LTS: 'HH:mm:ss',
8698            L: 'DD/MM/YYYY',
8699            LL: 'D MMMM YYYY',
8700            LLL: 'D MMMM YYYY HH:mm',
8701            LLLL: 'dddd D MMMM YYYY HH:mm'
8702        },
8703        calendar: {
8704            sameDay: '[ယနေ.] LT [မှာ]',
8705            nextDay: '[မနက်ဖြန်] LT [မှာ]',
8706            nextWeek: 'dddd LT [မှာ]',
8707            lastDay: '[မနေ.က] LT [မှာ]',
8708            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',
8709            sameElse: 'L'
8710        },
8711        relativeTime: {
8712            future: 'လာမည့် %s မှာ',
8713            past: 'လွန်ခဲ့သော %s က',
8714            s: 'စက္ကန်.အနည်းငယ်',
8715            m: 'တစ်မိနစ်',
8716            mm: '%d မိနစ်',
8717            h: 'တစ်နာရီ',
8718            hh: '%d နာရီ',
8719            d: 'တစ်ရက်',
8720            dd: '%d ရက်',
8721            M: 'တစ်လ',
8722            MM: '%d လ',
8723            y: 'တစ်နှစ်',
8724            yy: '%d နှစ်'
8725        },
8726        preparse: function (string) {
8727            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {
8728                return my__numberMap[match];
8729            });
8730        },
8731        postformat: function (string) {
8732            return string.replace(/\d/g, function (match) {
8733                return my__symbolMap[match];
8734            });
8735        },
8736        week: {
8737            dow: 1, // Monday is the first day of the week.
8738            doy: 4 // The week that contains Jan 1st is the first week of the year.
8739        }
8740    });
8741
8742    //! moment.js locale configuration
8743    //! locale : norwegian bokmål (nb)
8744    //! authors : Espen Hovlandsdal : https://github.com/rexxars
8745    //!           Sigurd Gartmann : https://github.com/sigurdga
8746
8747    var nb = moment__default.defineLocale('nb', {
8748        months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
8749        monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),
8750        weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),
8751        weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),
8752        weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),
8753        longDateFormat : {
8754            LT : 'HH:mm',
8755            LTS : 'HH:mm:ss',
8756            L : 'DD.MM.YYYY',
8757            LL : 'D. MMMM YYYY',
8758            LLL : 'D. MMMM YYYY [kl.] HH:mm',
8759            LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
8760        },
8761        calendar : {
8762            sameDay: '[i dag kl.] LT',
8763            nextDay: '[i morgen kl.] LT',
8764            nextWeek: 'dddd [kl.] LT',
8765            lastDay: '[i går kl.] LT',
8766            lastWeek: '[forrige] dddd [kl.] LT',
8767            sameElse: 'L'
8768        },
8769        relativeTime : {
8770            future : 'om %s',
8771            past : 'for %s siden',
8772            s : 'noen sekunder',
8773            m : 'ett minutt',
8774            mm : '%d minutter',
8775            h : 'en time',
8776            hh : '%d timer',
8777            d : 'en dag',
8778            dd : '%d dager',
8779            M : 'en måned',
8780            MM : '%d måneder',
8781            y : 'ett år',
8782            yy : '%d år'
8783        },
8784        ordinalParse: /\d{1,2}\./,
8785        ordinal : '%d.',
8786        week : {
8787            dow : 1, // Monday is the first day of the week.
8788            doy : 4  // The week that contains Jan 4th is the first week of the year.
8789        }
8790    });
8791
8792    //! moment.js locale configuration
8793    //! locale : nepali/nepalese
8794    //! author : suvash : https://github.com/suvash
8795
8796    var ne__symbolMap = {
8797        '1': '१',
8798        '2': '२',
8799        '3': '३',
8800        '4': '४',
8801        '5': '५',
8802        '6': '६',
8803        '7': '७',
8804        '8': '८',
8805        '9': '९',
8806        '0': '०'
8807    },
8808    ne__numberMap = {
8809        '१': '1',
8810        '२': '2',
8811        '३': '3',
8812        '४': '4',
8813        '५': '5',
8814        '६': '6',
8815        '७': '7',
8816        '८': '8',
8817        '९': '9',
8818        '०': '0'
8819    };
8820
8821    var ne = moment__default.defineLocale('ne', {
8822        months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),
8823        monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),
8824        weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),
8825        weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),
8826        weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),
8827        longDateFormat : {
8828            LT : 'Aको h:mm बजे',
8829            LTS : 'Aको h:mm:ss बजे',
8830            L : 'DD/MM/YYYY',
8831            LL : 'D MMMM YYYY',
8832            LLL : 'D MMMM YYYY, Aको h:mm बजे',
8833            LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'
8834        },
8835        preparse: function (string) {
8836            return string.replace(/[१२३४५६७८९०]/g, function (match) {
8837                return ne__numberMap[match];
8838            });
8839        },
8840        postformat: function (string) {
8841            return string.replace(/\d/g, function (match) {
8842                return ne__symbolMap[match];
8843            });
8844        },
vendor: 102,061 bytes, lines 8845-11391
8845        meridiemParse: /राति|बिहान|दिउँसो|साँझ/,
8846        meridiemHour : function (hour, meridiem) {
8847            if (hour === 12) {
8848                hour = 0;
8849            }
8850            if (meridiem === 'राति') {
8851                return hour < 4 ? hour : hour + 12;
8852            } else if (meridiem === 'बिहान') {
8853                return hour;
8854            } else if (meridiem === 'दिउँसो') {
8855                return hour >= 10 ? hour : hour + 12;
8856            } else if (meridiem === 'साँझ') {
8857                return hour + 12;
8858            }
8859        },
8860        meridiem : function (hour, minute, isLower) {
8861            if (hour < 3) {
8862                return 'राति';
8863            } else if (hour < 12) {
8864                return 'बिहान';
8865            } else if (hour < 16) {
8866                return 'दिउँसो';
8867            } else if (hour < 20) {
8868                return 'साँझ';
8869            } else {
8870                return 'राति';
8871            }
8872        },
8873        calendar : {
8874            sameDay : '[आज] LT',
8875            nextDay : '[भोलि] LT',
8876            nextWeek : '[आउँदो] dddd[,] LT',
8877            lastDay : '[हिजो] LT',
8878            lastWeek : '[गएको] dddd[,] LT',
8879            sameElse : 'L'
8880        },
8881        relativeTime : {
8882            future : '%sमा',
8883            past : '%s अगाडि',
8884            s : 'केही क्षण',
8885            m : 'एक मिनेट',
8886            mm : '%d मिनेट',
8887            h : 'एक घण्टा',
8888            hh : '%d घण्टा',
8889            d : 'एक दिन',
8890            dd : '%d दिन',
8891            M : 'एक महिना',
8892            MM : '%d महिना',
8893            y : 'एक बर्ष',
8894            yy : '%d बर्ष'
8895        },
8896        week : {
8897            dow : 0, // Sunday is the first day of the week.
8898            doy : 6  // The week that contains Jan 1st is the first week of the year.
8899        }
8900    });
8901
8902    //! moment.js locale configuration
8903    //! locale : dutch (nl)
8904    //! author : Joris Röling : https://github.com/jjupiter
8905
8906    var nl__monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),
8907        nl__monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');
8908
8909    var nl = moment__default.defineLocale('nl', {
8910        months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),
8911        monthsShort : function (m, format) {
8912            if (/-MMM-/.test(format)) {
8913                return nl__monthsShortWithoutDots[m.month()];
8914            } else {
8915                return nl__monthsShortWithDots[m.month()];
8916            }
8917        },
8918        weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),
8919        weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),
8920        weekdaysMin : 'Zo_Ma_Di_Wo_Do_Vr_Za'.split('_'),
8921        longDateFormat : {
8922            LT : 'HH:mm',
8923            LTS : 'HH:mm:ss',
8924            L : 'DD-MM-YYYY',
8925            LL : 'D MMMM YYYY',
8926            LLL : 'D MMMM YYYY HH:mm',
8927            LLLL : 'dddd D MMMM YYYY HH:mm'
8928        },
8929        calendar : {
8930            sameDay: '[vandaag om] LT',
8931            nextDay: '[morgen om] LT',
8932            nextWeek: 'dddd [om] LT',
8933            lastDay: '[gisteren om] LT',
8934            lastWeek: '[afgelopen] dddd [om] LT',
8935            sameElse: 'L'
8936        },
8937        relativeTime : {
8938            future : 'over %s',
8939            past : '%s geleden',
8940            s : 'een paar seconden',
8941            m : 'één minuut',
8942            mm : '%d minuten',
8943            h : 'één uur',
8944            hh : '%d uur',
8945            d : 'één dag',
8946            dd : '%d dagen',
8947            M : 'één maand',
8948            MM : '%d maanden',
8949            y : 'één jaar',
8950            yy : '%d jaar'
8951        },
8952        ordinalParse: /\d{1,2}(ste|de)/,
8953        ordinal : function (number) {
8954            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');
8955        },
8956        week : {
8957            dow : 1, // Monday is the first day of the week.
8958            doy : 4  // The week that contains Jan 4th is the first week of the year.
8959        }
8960    });
8961
8962    //! moment.js locale configuration
8963    //! locale : norwegian nynorsk (nn)
8964    //! author : https://github.com/mechuwind
8965
8966    var nn = moment__default.defineLocale('nn', {
8967        months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),
8968        monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),
8969        weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),
8970        weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),
8971        weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),
8972        longDateFormat : {
8973            LT : 'HH:mm',
8974            LTS : 'HH:mm:ss',
8975            L : 'DD.MM.YYYY',
8976            LL : 'D. MMMM YYYY',
8977            LLL : 'D. MMMM YYYY [kl.] H:mm',
8978            LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'
8979        },
8980        calendar : {
8981            sameDay: '[I dag klokka] LT',
8982            nextDay: '[I morgon klokka] LT',
8983            nextWeek: 'dddd [klokka] LT',
8984            lastDay: '[I går klokka] LT',
8985            lastWeek: '[Føregåande] dddd [klokka] LT',
8986            sameElse: 'L'
8987        },
8988        relativeTime : {
8989            future : 'om %s',
8990            past : 'for %s sidan',
8991            s : 'nokre sekund',
8992            m : 'eit minutt',
8993            mm : '%d minutt',
8994            h : 'ein time',
8995            hh : '%d timar',
8996            d : 'ein dag',
8997            dd : '%d dagar',
8998            M : 'ein månad',
8999            MM : '%d månader',
9000            y : 'eit år',
9001            yy : '%d år'
9002        },
9003        ordinalParse: /\d{1,2}\./,
9004        ordinal : '%d.',
9005        week : {
9006            dow : 1, // Monday is the first day of the week.
9007            doy : 4  // The week that contains Jan 4th is the first week of the year.
9008        }
9009    });
9010
9011    //! moment.js locale configuration
9012    //! locale : punjabi india (pa-in)
9013    //! author : Harpreet Singh : https://github.com/harpreetkhalsagtbit
9014
9015    var pa_in__symbolMap = {
9016        '1': 'à©§',
9017        '2': '੨',
9018        '3': 'à©©',
9019        '4': '੪',
9020        '5': 'à©«',
9021        '6': '੬',
9022        '7': 'à©­',
9023        '8': 'à©®',
9024        '9': '੯',
9025        '0': '੦'
9026    },
9027    pa_in__numberMap = {
9028        'à©§': '1',
9029        '੨': '2',
9030        'à©©': '3',
9031        '੪': '4',
9032        'à©«': '5',
9033        '੬': '6',
9034        'à©­': '7',
9035        'à©®': '8',
9036        '੯': '9',
9037        '੦': '0'
9038    };
9039
9040    var pa_in = moment__default.defineLocale('pa-in', {
9041        // There are months name as per Nanakshahi Calender but they are not used as rigidly in modern Punjabi.
9042        months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
9043        monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),
9044        weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),
9045        weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
9046        weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),
9047        longDateFormat : {
9048            LT : 'A h:mm ਵਜੇ',
9049            LTS : 'A h:mm:ss ਵਜੇ',
9050            L : 'DD/MM/YYYY',
9051            LL : 'D MMMM YYYY',
9052            LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',
9053            LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'
9054        },
9055        calendar : {
9056            sameDay : '[ਅਜ] LT',
9057            nextDay : '[ਕਲ] LT',
9058            nextWeek : 'dddd, LT',
9059            lastDay : '[ਕਲ] LT',
9060            lastWeek : '[ਪਿਛਲੇ] dddd, LT',
9061            sameElse : 'L'
9062        },
9063        relativeTime : {
9064            future : '%s ਵਿੱਚ',
9065            past : '%s ਪਿਛਲੇ',
9066            s : 'ਕੁਝ ਸਕਿੰਟ',
9067            m : 'ਇਕ ਮਿੰਟ',
9068            mm : '%d ਮਿੰਟ',
9069            h : 'ਇੱਕ ਘੰਟਾ',
9070            hh : '%d ਘੰਟੇ',
9071            d : 'ਇੱਕ ਦਿਨ',
9072            dd : '%d ਦਿਨ',
9073            M : 'ਇੱਕ ਮਹੀਨਾ',
9074            MM : '%d ਮਹੀਨੇ',
9075            y : 'ਇੱਕ ਸਾਲ',
9076            yy : '%d ਸਾਲ'
9077        },
9078        preparse: function (string) {
9079            return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {
9080                return pa_in__numberMap[match];
9081            });
9082        },
9083        postformat: function (string) {
9084            return string.replace(/\d/g, function (match) {
9085                return pa_in__symbolMap[match];
9086            });
9087        },
9088        // Punjabi notation for meridiems are quite fuzzy in practice. While there exists
9089        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.
9090        meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,
9091        meridiemHour : function (hour, meridiem) {
9092            if (hour === 12) {
9093                hour = 0;
9094            }
9095            if (meridiem === 'ਰਾਤ') {
9096                return hour < 4 ? hour : hour + 12;
9097            } else if (meridiem === 'ਸਵੇਰ') {
9098                return hour;
9099            } else if (meridiem === 'ਦੁਪਹਿਰ') {
9100                return hour >= 10 ? hour : hour + 12;
9101            } else if (meridiem === 'ਸ਼ਾਮ') {
9102                return hour + 12;
9103            }
9104        },
9105        meridiem : function (hour, minute, isLower) {
9106            if (hour < 4) {
9107                return 'ਰਾਤ';
9108            } else if (hour < 10) {
9109                return 'ਸਵੇਰ';
9110            } else if (hour < 17) {
9111                return 'ਦੁਪਹਿਰ';
9112            } else if (hour < 20) {
9113                return 'ਸ਼ਾਮ';
9114            } else {
9115                return 'ਰਾਤ';
9116            }
9117        },
9118        week : {
9119            dow : 0, // Sunday is the first day of the week.
9120            doy : 6  // The week that contains Jan 1st is the first week of the year.
9121        }
9122    });
9123
9124    //! moment.js locale configuration
9125    //! locale : polish (pl)
9126    //! author : Rafal Hirsz : https://github.com/evoL
9127
9128    var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),
9129        monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');
9130    function pl__plural(n) {
9131        return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);
9132    }
9133    function pl__translate(number, withoutSuffix, key) {
9134        var result = number + ' ';
9135        switch (key) {
9136        case 'm':
9137            return withoutSuffix ? 'minuta' : 'minutę';
9138        case 'mm':
9139            return result + (pl__plural(number) ? 'minuty' : 'minut');
9140        case 'h':
9141            return withoutSuffix  ? 'godzina'  : 'godzinę';
9142        case 'hh':
9143            return result + (pl__plural(number) ? 'godziny' : 'godzin');
9144        case 'MM':
9145            return result + (pl__plural(number) ? 'miesiące' : 'miesięcy');
9146        case 'yy':
9147            return result + (pl__plural(number) ? 'lata' : 'lat');
9148        }
9149    }
9150
9151    var pl = moment__default.defineLocale('pl', {
9152        months : function (momentToFormat, format) {
9153            if (format === '') {
9154                // Hack: if format empty we know this is used to generate
9155                // RegExp by moment. Give then back both valid forms of months
9156                // in RegExp ready format.
9157                return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';
9158            } else if (/D MMMM/.test(format)) {
9159                return monthsSubjective[momentToFormat.month()];
9160            } else {
9161                return monthsNominative[momentToFormat.month()];
9162            }
9163        },
9164        monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
9165        weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),
9166        weekdaysShort : 'nie_pon_wt_śr_czw_pt_sb'.split('_'),
9167        weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),
9168        longDateFormat : {
9169            LT : 'HH:mm',
9170            LTS : 'HH:mm:ss',
9171            L : 'DD.MM.YYYY',
9172            LL : 'D MMMM YYYY',
9173            LLL : 'D MMMM YYYY HH:mm',
9174            LLLL : 'dddd, D MMMM YYYY HH:mm'
9175        },
9176        calendar : {
9177            sameDay: '[Dziś o] LT',
9178            nextDay: '[Jutro o] LT',
9179            nextWeek: '[W] dddd [o] LT',
9180            lastDay: '[Wczoraj o] LT',
9181            lastWeek: function () {
9182                switch (this.day()) {
9183                case 0:
9184                    return '[W zeszłą niedzielę o] LT';
9185                case 3:
9186                    return '[W zeszłą środę o] LT';
9187                case 6:
9188                    return '[W zeszłą sobotę o] LT';
9189                default:
9190                    return '[W zeszły] dddd [o] LT';
9191                }
9192            },
9193            sameElse: 'L'
9194        },
9195        relativeTime : {
9196            future : 'za %s',
9197            past : '%s temu',
9198            s : 'kilka sekund',
9199            m : pl__translate,
9200            mm : pl__translate,
9201            h : pl__translate,
9202            hh : pl__translate,
9203            d : '1 dzień',
9204            dd : '%d dni',
9205            M : 'miesiąc',
9206            MM : pl__translate,
9207            y : 'rok',
9208            yy : pl__translate
9209        },
9210        ordinalParse: /\d{1,2}\./,
9211        ordinal : '%d.',
9212        week : {
9213            dow : 1, // Monday is the first day of the week.
9214            doy : 4  // The week that contains Jan 4th is the first week of the year.
9215        }
9216    });
9217
9218    //! moment.js locale configuration
9219    //! locale : brazilian portuguese (pt-br)
9220    //! author : Caio Ribeiro Pereira : https://github.com/caio-ribeiro-pereira
9221
9222    var pt_br = moment__default.defineLocale('pt-br', {
9223        months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
9224        monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
9225        weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),
9226        weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
9227        weekdaysMin : 'Dom_2ª_3ª_4ª_5ª_6ª_Sáb'.split('_'),
9228        longDateFormat : {
9229            LT : 'HH:mm',
9230            LTS : 'HH:mm:ss',
9231            L : 'DD/MM/YYYY',
9232            LL : 'D [de] MMMM [de] YYYY',
9233            LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',
9234            LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'
9235        },
9236        calendar : {
9237            sameDay: '[Hoje às] LT',
9238            nextDay: '[Amanhã às] LT',
9239            nextWeek: 'dddd [às] LT',
9240            lastDay: '[Ontem às] LT',
9241            lastWeek: function () {
9242                return (this.day() === 0 || this.day() === 6) ?
9243                    '[Último] dddd [às] LT' : // Saturday + Sunday
9244                    '[Última] dddd [às] LT'; // Monday - Friday
9245            },
9246            sameElse: 'L'
9247        },
9248        relativeTime : {
9249            future : 'em %s',
9250            past : '%s atrás',
9251            s : 'poucos segundos',
9252            m : 'um minuto',
9253            mm : '%d minutos',
9254            h : 'uma hora',
9255            hh : '%d horas',
9256            d : 'um dia',
9257            dd : '%d dias',
9258            M : 'um mês',
9259            MM : '%d meses',
9260            y : 'um ano',
9261            yy : '%d anos'
9262        },
9263        ordinalParse: /\d{1,2}º/,
9264        ordinal : '%dº'
9265    });
9266
9267    //! moment.js locale configuration
9268    //! locale : portuguese (pt)
9269    //! author : Jefferson : https://github.com/jalex79
9270
9271    var pt = moment__default.defineLocale('pt', {
9272        months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),
9273        monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),
9274        weekdays : 'Domingo_Segunda-Feira_Terça-Feira_Quarta-Feira_Quinta-Feira_Sexta-Feira_Sábado'.split('_'),
9275        weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),
9276        weekdaysMin : 'Dom_2ª_3ª_4ª_5ª_6ª_Sáb'.split('_'),
9277        longDateFormat : {
9278            LT : 'HH:mm',
9279            LTS : 'HH:mm:ss',
9280            L : 'DD/MM/YYYY',
9281            LL : 'D [de] MMMM [de] YYYY',
9282            LLL : 'D [de] MMMM [de] YYYY HH:mm',
9283            LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'
9284        },
9285        calendar : {
9286            sameDay: '[Hoje às] LT',
9287            nextDay: '[Amanhã às] LT',
9288            nextWeek: 'dddd [às] LT',
9289            lastDay: '[Ontem às] LT',
9290            lastWeek: function () {
9291                return (this.day() === 0 || this.day() === 6) ?
9292                    '[Último] dddd [às] LT' : // Saturday + Sunday
9293                    '[Última] dddd [às] LT'; // Monday - Friday
9294            },
9295            sameElse: 'L'
9296        },
9297        relativeTime : {
9298            future : 'em %s',
9299            past : 'há %s',
9300            s : 'segundos',
9301            m : 'um minuto',
9302            mm : '%d minutos',
9303            h : 'uma hora',
9304            hh : '%d horas',
9305            d : 'um dia',
9306            dd : '%d dias',
9307            M : 'um mês',
9308            MM : '%d meses',
9309            y : 'um ano',
9310            yy : '%d anos'
9311        },
9312        ordinalParse: /\d{1,2}º/,
9313        ordinal : '%dº',
9314        week : {
9315            dow : 1, // Monday is the first day of the week.
9316            doy : 4  // The week that contains Jan 4th is the first week of the year.
9317        }
9318    });
9319
9320    //! moment.js locale configuration
9321    //! locale : romanian (ro)
9322    //! author : Vlad Gurdiga : https://github.com/gurdiga
9323    //! author : Valentin Agachi : https://github.com/avaly
9324
9325    function ro__relativeTimeWithPlural(number, withoutSuffix, key) {
9326        var format = {
9327                'mm': 'minute',
9328                'hh': 'ore',
9329                'dd': 'zile',
9330                'MM': 'luni',
9331                'yy': 'ani'
9332            },
9333            separator = ' ';
9334        if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {
9335            separator = ' de ';
9336        }
9337        return number + separator + format[key];
9338    }
9339
9340    var ro = moment__default.defineLocale('ro', {
9341        months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),
9342        monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),
9343        weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),
9344        weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),
9345        weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),
9346        longDateFormat : {
9347            LT : 'H:mm',
9348            LTS : 'H:mm:ss',
9349            L : 'DD.MM.YYYY',
9350            LL : 'D MMMM YYYY',
9351            LLL : 'D MMMM YYYY H:mm',
9352            LLLL : 'dddd, D MMMM YYYY H:mm'
9353        },
9354        calendar : {
9355            sameDay: '[azi la] LT',
9356            nextDay: '[mâine la] LT',
9357            nextWeek: 'dddd [la] LT',
9358            lastDay: '[ieri la] LT',
9359            lastWeek: '[fosta] dddd [la] LT',
9360            sameElse: 'L'
9361        },
9362        relativeTime : {
9363            future : 'peste %s',
9364            past : '%s în urmă',
9365            s : 'câteva secunde',
9366            m : 'un minut',
9367            mm : ro__relativeTimeWithPlural,
9368            h : 'o oră',
9369            hh : ro__relativeTimeWithPlural,
9370            d : 'o zi',
9371            dd : ro__relativeTimeWithPlural,
9372            M : 'o lună',
9373            MM : ro__relativeTimeWithPlural,
9374            y : 'un an',
9375            yy : ro__relativeTimeWithPlural
9376        },
9377        week : {
9378            dow : 1, // Monday is the first day of the week.
9379            doy : 7  // The week that contains Jan 1st is the first week of the year.
9380        }
9381    });
9382
9383    //! moment.js locale configuration
9384    //! locale : russian (ru)
9385    //! author : Viktorminator : https://github.com/Viktorminator
9386    //! Author : Menelion Elensúle : https://github.com/Oire
9387    //! author : Коренберг Марк : https://github.com/socketpair
9388
9389    function ru__plural(word, num) {
9390        var forms = word.split('_');
9391        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
9392    }
9393    function ru__relativeTimeWithPlural(number, withoutSuffix, key) {
9394        var format = {
9395            'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',
9396            'hh': 'час_часа_часов',
9397            'dd': 'день_дня_дней',
9398            'MM': 'месяц_месяца_месяцев',
9399            'yy': 'год_года_лет'
9400        };
9401        if (key === 'm') {
9402            return withoutSuffix ? 'минута' : 'минуту';
9403        }
9404        else {
9405            return number + ' ' + ru__plural(format[key], +number);
9406        }
9407    }
9408    var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[й|я]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];
9409
9410    // http://new.gramota.ru/spravka/rules/139-prop : § 103
9411    var ru = moment__default.defineLocale('ru', {
9412        months : {
9413            format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),
9414            standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')
9415        },
9416        monthsShort : {
9417            format: 'янв_фев_мар_апр_мая_июня_июля_авг_сен_окт_ноя_дек'.split('_'),
9418            standalone: 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_')
9419        },
9420        weekdays : {
9421            standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),
9422            format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),
9423            isFormat: /\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\] ?dddd/
9424        },
9425        weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
9426        weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),
9427        monthsParse : monthsParse,
9428        longMonthsParse : monthsParse,
9429        shortMonthsParse : monthsParse,
9430        longDateFormat : {
9431            LT : 'HH:mm',
9432            LTS : 'HH:mm:ss',
9433            L : 'DD.MM.YYYY',
9434            LL : 'D MMMM YYYY г.',
9435            LLL : 'D MMMM YYYY г., HH:mm',
9436            LLLL : 'dddd, D MMMM YYYY г., HH:mm'
9437        },
9438        calendar : {
9439            sameDay: '[Сегодня в] LT',
9440            nextDay: '[Завтра в] LT',
9441            lastDay: '[Вчера в] LT',
9442            nextWeek: function (now) {
9443                if (now.week() !== this.week()) {
9444                    switch (this.day()) {
9445                    case 0:
9446                        return '[В следующее] dddd [в] LT';
9447                    case 1:
9448                    case 2:
9449                    case 4:
9450                        return '[В следующий] dddd [в] LT';
9451                    case 3:
9452                    case 5:
9453                    case 6:
9454                        return '[В следующую] dddd [в] LT';
9455                    }
9456                } else {
9457                    if (this.day() === 2) {
9458                        return '[Во] dddd [в] LT';
9459                    } else {
9460                        return '[В] dddd [в] LT';
9461                    }
9462                }
9463            },
9464            lastWeek: function (now) {
9465                if (now.week() !== this.week()) {
9466                    switch (this.day()) {
9467                    case 0:
9468                        return '[В прошлое] dddd [в] LT';
9469                    case 1:
9470                    case 2:
9471                    case 4:
9472                        return '[В прошлый] dddd [в] LT';
9473                    case 3:
9474                    case 5:
9475                    case 6:
9476                        return '[В прошлую] dddd [в] LT';
9477                    }
9478                } else {
9479                    if (this.day() === 2) {
9480                        return '[Во] dddd [в] LT';
9481                    } else {
9482                        return '[В] dddd [в] LT';
9483                    }
9484                }
9485            },
9486            sameElse: 'L'
9487        },
9488        relativeTime : {
9489            future : 'через %s',
9490            past : '%s назад',
9491            s : 'несколько секунд',
9492            m : ru__relativeTimeWithPlural,
9493            mm : ru__relativeTimeWithPlural,
9494            h : 'час',
9495            hh : ru__relativeTimeWithPlural,
9496            d : 'день',
9497            dd : ru__relativeTimeWithPlural,
9498            M : 'месяц',
9499            MM : ru__relativeTimeWithPlural,
9500            y : 'год',
9501            yy : ru__relativeTimeWithPlural
9502        },
9503        meridiemParse: /ночи|утра|дня|вечера/i,
9504        isPM : function (input) {
9505            return /^(дня|вечера)$/.test(input);
9506        },
9507        meridiem : function (hour, minute, isLower) {
9508            if (hour < 4) {
9509                return 'ночи';
9510            } else if (hour < 12) {
9511                return 'утра';
9512            } else if (hour < 17) {
9513                return 'дня';
9514            } else {
9515                return 'вечера';
9516            }
9517        },
9518        ordinalParse: /\d{1,2}-(й|го|я)/,
9519        ordinal: function (number, period) {
9520            switch (period) {
9521            case 'M':
9522            case 'd':
9523            case 'DDD':
9524                return number + '-й';
9525            case 'D':
9526                return number + '-го';
9527            case 'w':
9528            case 'W':
9529                return number + '-я';
9530            default:
9531                return number;
9532            }
9533        },
9534        week : {
9535            dow : 1, // Monday is the first day of the week.
9536            doy : 7  // The week that contains Jan 1st is the first week of the year.
9537        }
9538    });
9539
9540    //! moment.js locale configuration
9541    //! locale : Northern Sami (se)
9542    //! authors : BÃ¥rd Rolstad Henriksen : https://github.com/karamell
9543
9544
9545    var se = moment__default.defineLocale('se', {
9546        months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),
9547        monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),
9548        weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),
9549        weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),
9550        weekdaysMin : 's_v_m_g_d_b_L'.split('_'),
9551        longDateFormat : {
9552            LT : 'HH:mm',
9553            LTS : 'HH:mm:ss',
9554            L : 'DD.MM.YYYY',
9555            LL : 'MMMM D. [b.] YYYY',
9556            LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',
9557            LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'
9558        },
9559        calendar : {
9560            sameDay: '[otne ti] LT',
9561            nextDay: '[ihttin ti] LT',
9562            nextWeek: 'dddd [ti] LT',
9563            lastDay: '[ikte ti] LT',
9564            lastWeek: '[ovddit] dddd [ti] LT',
9565            sameElse: 'L'
9566        },
9567        relativeTime : {
9568            future : '%s geažes',
9569            past : 'maŋit %s',
9570            s : 'moadde sekunddat',
9571            m : 'okta minuhta',
9572            mm : '%d minuhtat',
9573            h : 'okta diimmu',
9574            hh : '%d diimmut',
9575            d : 'okta beaivi',
9576            dd : '%d beaivvit',
9577            M : 'okta mánnu',
9578            MM : '%d mánut',
9579            y : 'okta jahki',
9580            yy : '%d jagit'
9581        },
9582        ordinalParse: /\d{1,2}\./,
9583        ordinal : '%d.',
9584        week : {
9585            dow : 1, // Monday is the first day of the week.
9586            doy : 4  // The week that contains Jan 4th is the first week of the year.
9587        }
9588    });
9589
9590    //! moment.js locale configuration
9591    //! locale : Sinhalese (si)
9592    //! author : Sampath Sitinamaluwa : https://github.com/sampathsris
9593
9594    /*jshint -W100*/
9595    var si = moment__default.defineLocale('si', {
9596        months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),
9597        monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),
9598        weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),
9599        weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),
9600        weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),
9601        longDateFormat : {
9602            LT : 'a h:mm',
9603            LTS : 'a h:mm:ss',
9604            L : 'YYYY/MM/DD',
9605            LL : 'YYYY MMMM D',
9606            LLL : 'YYYY MMMM D, a h:mm',
9607            LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'
9608        },
9609        calendar : {
9610            sameDay : '[අද] LT[ට]',
9611            nextDay : '[හෙට] LT[ට]',
9612            nextWeek : 'dddd LT[à¶§]',
9613            lastDay : '[ඊයේ] LT[ට]',
9614            lastWeek : '[පසුගිය] dddd LT[ට]',
9615            sameElse : 'L'
9616        },
9617        relativeTime : {
9618            future : '%sකින්',
9619            past : '%sකට පෙර',
9620            s : 'තත්පර කිහිපය',
9621            m : 'මිනිත්තුව',
9622            mm : 'මිනිත්තු %d',
9623            h : 'පැය',
9624            hh : 'පැය %d',
9625            d : 'දිනය',
9626            dd : 'දින %d',
9627            M : 'මාසය',
9628            MM : 'මාස %d',
9629            y : 'වසර',
9630            yy : 'වසර %d'
9631        },
9632        ordinalParse: /\d{1,2} වැනි/,
9633        ordinal : function (number) {
9634            return number + ' වැනි';
9635        },
9636        meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,
9637        isPM : function (input) {
9638            return input === 'ප.ව.' || input === 'පස් වරු';
9639        },
9640        meridiem : function (hours, minutes, isLower) {
9641            if (hours > 11) {
9642                return isLower ? 'ප.ව.' : 'පස් වරු';
9643            } else {
9644                return isLower ? 'පෙ.ව.' : 'පෙර වරු';
9645            }
9646        }
9647    });
9648
9649    //! moment.js locale configuration
9650    //! locale : slovak (sk)
9651    //! author : Martin Minka : https://github.com/k2s
9652    //! based on work of petrbela : https://github.com/petrbela
9653
9654    var sk__months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),
9655        sk__monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');
9656    function sk__plural(n) {
9657        return (n > 1) && (n < 5);
9658    }
9659    function sk__translate(number, withoutSuffix, key, isFuture) {
9660        var result = number + ' ';
9661        switch (key) {
9662        case 's':  // a few seconds / in a few seconds / a few seconds ago
9663            return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';
9664        case 'm':  // a minute / in a minute / a minute ago
9665            return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');
9666        case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago
9667            if (withoutSuffix || isFuture) {
9668                return result + (sk__plural(number) ? 'minúty' : 'minút');
9669            } else {
9670                return result + 'minútami';
9671            }
9672            break;
9673        case 'h':  // an hour / in an hour / an hour ago
9674            return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');
9675        case 'hh': // 9 hours / in 9 hours / 9 hours ago
9676            if (withoutSuffix || isFuture) {
9677                return result + (sk__plural(number) ? 'hodiny' : 'hodín');
9678            } else {
9679                return result + 'hodinami';
9680            }
9681            break;
9682        case 'd':  // a day / in a day / a day ago
9683            return (withoutSuffix || isFuture) ? 'deň' : 'dňom';
9684        case 'dd': // 9 days / in 9 days / 9 days ago
9685            if (withoutSuffix || isFuture) {
9686                return result + (sk__plural(number) ? 'dni' : 'dní');
9687            } else {
9688                return result + 'dňami';
9689            }
9690            break;
9691        case 'M':  // a month / in a month / a month ago
9692            return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';
9693        case 'MM': // 9 months / in 9 months / 9 months ago
9694            if (withoutSuffix || isFuture) {
9695                return result + (sk__plural(number) ? 'mesiace' : 'mesiacov');
9696            } else {
9697                return result + 'mesiacmi';
9698            }
9699            break;
9700        case 'y':  // a year / in a year / a year ago
9701            return (withoutSuffix || isFuture) ? 'rok' : 'rokom';
9702        case 'yy': // 9 years / in 9 years / 9 years ago
9703            if (withoutSuffix || isFuture) {
9704                return result + (sk__plural(number) ? 'roky' : 'rokov');
9705            } else {
9706                return result + 'rokmi';
9707            }
9708            break;
9709        }
9710    }
9711
9712    var sk = moment__default.defineLocale('sk', {
9713        months : sk__months,
9714        monthsShort : sk__monthsShort,
9715        weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),
9716        weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),
9717        weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),
9718        longDateFormat : {
9719            LT: 'H:mm',
9720            LTS : 'H:mm:ss',
9721            L : 'DD.MM.YYYY',
9722            LL : 'D. MMMM YYYY',
9723            LLL : 'D. MMMM YYYY H:mm',
9724            LLLL : 'dddd D. MMMM YYYY H:mm'
9725        },
9726        calendar : {
9727            sameDay: '[dnes o] LT',
9728            nextDay: '[zajtra o] LT',
9729            nextWeek: function () {
9730                switch (this.day()) {
9731                case 0:
9732                    return '[v nedeľu o] LT';
9733                case 1:
9734                case 2:
9735                    return '[v] dddd [o] LT';
9736                case 3:
9737                    return '[v stredu o] LT';
9738                case 4:
9739                    return '[vo štvrtok o] LT';
9740                case 5:
9741                    return '[v piatok o] LT';
9742                case 6:
9743                    return '[v sobotu o] LT';
9744                }
9745            },
9746            lastDay: '[včera o] LT',
9747            lastWeek: function () {
9748                switch (this.day()) {
9749                case 0:
9750                    return '[minulú nedeľu o] LT';
9751                case 1:
9752                case 2:
9753                    return '[minulý] dddd [o] LT';
9754                case 3:
9755                    return '[minulú stredu o] LT';
9756                case 4:
9757                case 5:
9758                    return '[minulý] dddd [o] LT';
9759                case 6:
9760                    return '[minulú sobotu o] LT';
9761                }
9762            },
9763            sameElse: 'L'
9764        },
9765        relativeTime : {
9766            future : 'za %s',
9767            past : 'pred %s',
9768            s : sk__translate,
9769            m : sk__translate,
9770            mm : sk__translate,
9771            h : sk__translate,
9772            hh : sk__translate,
9773            d : sk__translate,
9774            dd : sk__translate,
9775            M : sk__translate,
9776            MM : sk__translate,
9777            y : sk__translate,
9778            yy : sk__translate
9779        },
9780        ordinalParse: /\d{1,2}\./,
9781        ordinal : '%d.',
9782        week : {
9783            dow : 1, // Monday is the first day of the week.
9784            doy : 4  // The week that contains Jan 4th is the first week of the year.
9785        }
9786    });
9787
9788    //! moment.js locale configuration
9789    //! locale : slovenian (sl)
9790    //! author : Robert Sedovšek : https://github.com/sedovsek
9791
9792    function sl__processRelativeTime(number, withoutSuffix, key, isFuture) {
9793        var result = number + ' ';
9794        switch (key) {
9795        case 's':
9796            return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';
9797        case 'm':
9798            return withoutSuffix ? 'ena minuta' : 'eno minuto';
9799        case 'mm':
9800            if (number === 1) {
9801                result += withoutSuffix ? 'minuta' : 'minuto';
9802            } else if (number === 2) {
9803                result += withoutSuffix || isFuture ? 'minuti' : 'minutama';
9804            } else if (number < 5) {
9805                result += withoutSuffix || isFuture ? 'minute' : 'minutami';
9806            } else {
9807                result += withoutSuffix || isFuture ? 'minut' : 'minutami';
9808            }
9809            return result;
9810        case 'h':
9811            return withoutSuffix ? 'ena ura' : 'eno uro';
9812        case 'hh':
9813            if (number === 1) {
9814                result += withoutSuffix ? 'ura' : 'uro';
9815            } else if (number === 2) {
9816                result += withoutSuffix || isFuture ? 'uri' : 'urama';
9817            } else if (number < 5) {
9818                result += withoutSuffix || isFuture ? 'ure' : 'urami';
9819            } else {
9820                result += withoutSuffix || isFuture ? 'ur' : 'urami';
9821            }
9822            return result;
9823        case 'd':
9824            return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';
9825        case 'dd':
9826            if (number === 1) {
9827                result += withoutSuffix || isFuture ? 'dan' : 'dnem';
9828            } else if (number === 2) {
9829                result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';
9830            } else {
9831                result += withoutSuffix || isFuture ? 'dni' : 'dnevi';
9832            }
9833            return result;
9834        case 'M':
9835            return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';
9836        case 'MM':
9837            if (number === 1) {
9838                result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';
9839            } else if (number === 2) {
9840                result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';
9841            } else if (number < 5) {
9842                result += withoutSuffix || isFuture ? 'mesece' : 'meseci';
9843            } else {
9844                result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';
9845            }
9846            return result;
9847        case 'y':
9848            return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';
9849        case 'yy':
9850            if (number === 1) {
9851                result += withoutSuffix || isFuture ? 'leto' : 'letom';
9852            } else if (number === 2) {
9853                result += withoutSuffix || isFuture ? 'leti' : 'letoma';
9854            } else if (number < 5) {
9855                result += withoutSuffix || isFuture ? 'leta' : 'leti';
9856            } else {
9857                result += withoutSuffix || isFuture ? 'let' : 'leti';
9858            }
9859            return result;
9860        }
9861    }
9862
9863    var sl = moment__default.defineLocale('sl', {
9864        months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),
9865        monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),
9866        weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),
9867        weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),
9868        weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),
9869        longDateFormat : {
9870            LT : 'H:mm',
9871            LTS : 'H:mm:ss',
9872            L : 'DD. MM. YYYY',
9873            LL : 'D. MMMM YYYY',
9874            LLL : 'D. MMMM YYYY H:mm',
9875            LLLL : 'dddd, D. MMMM YYYY H:mm'
9876        },
9877        calendar : {
9878            sameDay  : '[danes ob] LT',
9879            nextDay  : '[jutri ob] LT',
9880
9881            nextWeek : function () {
9882                switch (this.day()) {
9883                case 0:
9884                    return '[v] [nedeljo] [ob] LT';
9885                case 3:
9886                    return '[v] [sredo] [ob] LT';
9887                case 6:
9888                    return '[v] [soboto] [ob] LT';
9889                case 1:
9890                case 2:
9891                case 4:
9892                case 5:
9893                    return '[v] dddd [ob] LT';
9894                }
9895            },
9896            lastDay  : '[včeraj ob] LT',
9897            lastWeek : function () {
9898                switch (this.day()) {
9899                case 0:
9900                    return '[prejšnjo] [nedeljo] [ob] LT';
9901                case 3:
9902                    return '[prejšnjo] [sredo] [ob] LT';
9903                case 6:
9904                    return '[prejšnjo] [soboto] [ob] LT';
9905                case 1:
9906                case 2:
9907                case 4:
9908                case 5:
9909                    return '[prejšnji] dddd [ob] LT';
9910                }
9911            },
9912            sameElse : 'L'
9913        },
9914        relativeTime : {
9915            future : 'čez %s',
9916            past   : 'pred %s',
9917            s      : sl__processRelativeTime,
9918            m      : sl__processRelativeTime,
9919            mm     : sl__processRelativeTime,
9920            h      : sl__processRelativeTime,
9921            hh     : sl__processRelativeTime,
9922            d      : sl__processRelativeTime,
9923            dd     : sl__processRelativeTime,
9924            M      : sl__processRelativeTime,
9925            MM     : sl__processRelativeTime,
9926            y      : sl__processRelativeTime,
9927            yy     : sl__processRelativeTime
9928        },
9929        ordinalParse: /\d{1,2}\./,
9930        ordinal : '%d.',
9931        week : {
9932            dow : 1, // Monday is the first day of the week.
9933            doy : 7  // The week that contains Jan 1st is the first week of the year.
9934        }
9935    });
9936
9937    //! moment.js locale configuration
9938    //! locale : Albanian (sq)
9939    //! author : Flakërim Ismani : https://github.com/flakerimi
9940    //! author: Menelion Elensúle: https://github.com/Oire (tests)
9941    //! author : Oerd Cukalla : https://github.com/oerd (fixes)
9942
9943    var sq = moment__default.defineLocale('sq', {
9944        months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),
9945        monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),
9946        weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),
9947        weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),
9948        weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),
9949        meridiemParse: /PD|MD/,
9950        isPM: function (input) {
9951            return input.charAt(0) === 'M';
9952        },
9953        meridiem : function (hours, minutes, isLower) {
9954            return hours < 12 ? 'PD' : 'MD';
9955        },
9956        longDateFormat : {
9957            LT : 'HH:mm',
9958            LTS : 'HH:mm:ss',
9959            L : 'DD/MM/YYYY',
9960            LL : 'D MMMM YYYY',
9961            LLL : 'D MMMM YYYY HH:mm',
9962            LLLL : 'dddd, D MMMM YYYY HH:mm'
9963        },
9964        calendar : {
9965            sameDay : '[Sot në] LT',
9966            nextDay : '[Nesër në] LT',
9967            nextWeek : 'dddd [në] LT',
9968            lastDay : '[Dje në] LT',
9969            lastWeek : 'dddd [e kaluar në] LT',
9970            sameElse : 'L'
9971        },
9972        relativeTime : {
9973            future : 'në %s',
9974            past : '%s më parë',
9975            s : 'disa sekonda',
9976            m : 'një minutë',
9977            mm : '%d minuta',
9978            h : 'një orë',
9979            hh : '%d orë',
9980            d : 'një ditë',
9981            dd : '%d ditë',
9982            M : 'një muaj',
9983            MM : '%d muaj',
9984            y : 'një vit',
9985            yy : '%d vite'
9986        },
9987        ordinalParse: /\d{1,2}\./,
9988        ordinal : '%d.',
9989        week : {
9990            dow : 1, // Monday is the first day of the week.
9991            doy : 4  // The week that contains Jan 4th is the first week of the year.
9992        }
9993    });
9994
9995    //! moment.js locale configuration
9996    //! locale : Serbian-cyrillic (sr-cyrl)
9997    //! author : Milan Janačković<[email protected]> : https://github.com/milan-j
9998
9999    var sr_cyrl__translator = {
10000        words: { //Different grammatical cases
10001            m: ['један минут', 'једне минуте'],
10002            mm: ['минут', 'минуте', 'минута'],
10003            h: ['један сат', 'једног сата'],
10004            hh: ['сат', 'сата', 'сати'],
10005            dd: ['дан', 'дана', 'дана'],
10006            MM: ['месец', 'месеца', 'месеци'],
10007            yy: ['година', 'године', 'година']
10008        },
10009        correctGrammaticalCase: function (number, wordKey) {
10010            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
10011        },
10012        translate: function (number, withoutSuffix, key) {
10013            var wordKey = sr_cyrl__translator.words[key];
10014            if (key.length === 1) {
10015                return withoutSuffix ? wordKey[0] : wordKey[1];
10016            } else {
10017                return number + ' ' + sr_cyrl__translator.correctGrammaticalCase(number, wordKey);
10018            }
10019        }
10020    };
10021
10022    var sr_cyrl = moment__default.defineLocale('sr-cyrl', {
10023        months: ['јануар', 'фебруар', 'март', 'април', 'мај', 'јун', 'јул', 'август', 'септембар', 'октобар', 'новембар', 'децембар'],
10024        monthsShort: ['јан.', 'феб.', 'мар.', 'апр.', 'мај', 'јун', 'јул', 'авг.', 'сеп.', 'окт.', 'нов.', 'дец.'],
10025        weekdays: ['недеља', 'понедељак', 'уторак', 'среда', 'четвртак', 'петак', 'субота'],
10026        weekdaysShort: ['нед.', 'пон.', 'уто.', 'сре.', 'чет.', 'пет.', 'суб.'],
10027        weekdaysMin: ['не', 'по', 'ут', 'ср', 'че', 'пе', 'су'],
10028        longDateFormat: {
10029            LT: 'H:mm',
10030            LTS : 'H:mm:ss',
10031            L: 'DD. MM. YYYY',
10032            LL: 'D. MMMM YYYY',
10033            LLL: 'D. MMMM YYYY H:mm',
10034            LLLL: 'dddd, D. MMMM YYYY H:mm'
10035        },
10036        calendar: {
10037            sameDay: '[данас у] LT',
10038            nextDay: '[сутра у] LT',
10039            nextWeek: function () {
10040                switch (this.day()) {
10041                case 0:
10042                    return '[у] [недељу] [у] LT';
10043                case 3:
10044                    return '[у] [среду] [у] LT';
10045                case 6:
10046                    return '[у] [суботу] [у] LT';
10047                case 1:
10048                case 2:
10049                case 4:
10050                case 5:
10051                    return '[у] dddd [у] LT';
10052                }
10053            },
10054            lastDay  : '[јуче у] LT',
10055            lastWeek : function () {
10056                var lastWeekDays = [
10057                    '[прошле] [недеље] [у] LT',
10058                    '[прошлог] [понедељка] [у] LT',
10059                    '[прошлог] [уторка] [у] LT',
10060                    '[прошле] [среде] [у] LT',
10061                    '[прошлог] [четвртка] [у] LT',
10062                    '[прошлог] [петка] [у] LT',
10063                    '[прошле] [суботе] [у] LT'
10064                ];
10065                return lastWeekDays[this.day()];
10066            },
10067            sameElse : 'L'
10068        },
10069        relativeTime : {
10070            future : 'за %s',
10071            past   : 'пре %s',
10072            s      : 'неколико секунди',
10073            m      : sr_cyrl__translator.translate,
10074            mm     : sr_cyrl__translator.translate,
10075            h      : sr_cyrl__translator.translate,
10076            hh     : sr_cyrl__translator.translate,
10077            d      : 'дан',
10078            dd     : sr_cyrl__translator.translate,
10079            M      : 'месец',
10080            MM     : sr_cyrl__translator.translate,
10081            y      : 'годину',
10082            yy     : sr_cyrl__translator.translate
10083        },
10084        ordinalParse: /\d{1,2}\./,
10085        ordinal : '%d.',
10086        week : {
10087            dow : 1, // Monday is the first day of the week.
10088            doy : 7  // The week that contains Jan 1st is the first week of the year.
10089        }
10090    });
10091
10092    //! moment.js locale configuration
10093    //! locale : Serbian-latin (sr)
10094    //! author : Milan Janačković<[email protected]> : https://github.com/milan-j
10095
10096    var sr__translator = {
10097        words: { //Different grammatical cases
10098            m: ['jedan minut', 'jedne minute'],
10099            mm: ['minut', 'minute', 'minuta'],
10100            h: ['jedan sat', 'jednog sata'],
10101            hh: ['sat', 'sata', 'sati'],
10102            dd: ['dan', 'dana', 'dana'],
10103            MM: ['mesec', 'meseca', 'meseci'],
10104            yy: ['godina', 'godine', 'godina']
10105        },
10106        correctGrammaticalCase: function (number, wordKey) {
10107            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);
10108        },
10109        translate: function (number, withoutSuffix, key) {
10110            var wordKey = sr__translator.words[key];
10111            if (key.length === 1) {
10112                return withoutSuffix ? wordKey[0] : wordKey[1];
10113            } else {
10114                return number + ' ' + sr__translator.correctGrammaticalCase(number, wordKey);
10115            }
10116        }
10117    };
10118
10119    var sr = moment__default.defineLocale('sr', {
10120        months: ['januar', 'februar', 'mart', 'april', 'maj', 'jun', 'jul', 'avgust', 'septembar', 'oktobar', 'novembar', 'decembar'],
10121        monthsShort: ['jan.', 'feb.', 'mar.', 'apr.', 'maj', 'jun', 'jul', 'avg.', 'sep.', 'okt.', 'nov.', 'dec.'],
10122        weekdays: ['nedelja', 'ponedeljak', 'utorak', 'sreda', 'četvrtak', 'petak', 'subota'],
10123        weekdaysShort: ['ned.', 'pon.', 'uto.', 'sre.', 'čet.', 'pet.', 'sub.'],
10124        weekdaysMin: ['ne', 'po', 'ut', 'sr', 'če', 'pe', 'su'],
10125        longDateFormat: {
10126            LT: 'H:mm',
10127            LTS : 'H:mm:ss',
10128            L: 'DD. MM. YYYY',
10129            LL: 'D. MMMM YYYY',
10130            LLL: 'D. MMMM YYYY H:mm',
10131            LLLL: 'dddd, D. MMMM YYYY H:mm'
10132        },
10133        calendar: {
10134            sameDay: '[danas u] LT',
10135            nextDay: '[sutra u] LT',
10136            nextWeek: function () {
10137                switch (this.day()) {
10138                case 0:
10139                    return '[u] [nedelju] [u] LT';
10140                case 3:
10141                    return '[u] [sredu] [u] LT';
10142                case 6:
10143                    return '[u] [subotu] [u] LT';
10144                case 1:
10145                case 2:
10146                case 4:
10147                case 5:
10148                    return '[u] dddd [u] LT';
10149                }
10150            },
10151            lastDay  : '[juče u] LT',
10152            lastWeek : function () {
10153                var lastWeekDays = [
10154                    '[prošle] [nedelje] [u] LT',
10155                    '[prošlog] [ponedeljka] [u] LT',
10156                    '[prošlog] [utorka] [u] LT',
10157                    '[prošle] [srede] [u] LT',
10158                    '[prošlog] [četvrtka] [u] LT',
10159                    '[prošlog] [petka] [u] LT',
10160                    '[prošle] [subote] [u] LT'
10161                ];
10162                return lastWeekDays[this.day()];
10163            },
10164            sameElse : 'L'
10165        },
10166        relativeTime : {
10167            future : 'za %s',
10168            past   : 'pre %s',
10169            s      : 'nekoliko sekundi',
10170            m      : sr__translator.translate,
10171            mm     : sr__translator.translate,
10172            h      : sr__translator.translate,
10173            hh     : sr__translator.translate,
10174            d      : 'dan',
10175            dd     : sr__translator.translate,
10176            M      : 'mesec',
10177            MM     : sr__translator.translate,
10178            y      : 'godinu',
10179            yy     : sr__translator.translate
10180        },
10181        ordinalParse: /\d{1,2}\./,
10182        ordinal : '%d.',
10183        week : {
10184            dow : 1, // Monday is the first day of the week.
10185            doy : 7  // The week that contains Jan 1st is the first week of the year.
10186        }
10187    });
10188
10189    //! moment.js locale configuration
10190    //! locale : swedish (sv)
10191    //! author : Jens Alm : https://github.com/ulmus
10192
10193    var sv = moment__default.defineLocale('sv', {
10194        months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),
10195        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),
10196        weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),
10197        weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),
10198        weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),
10199        longDateFormat : {
10200            LT : 'HH:mm',
10201            LTS : 'HH:mm:ss',
10202            L : 'YYYY-MM-DD',
10203            LL : 'D MMMM YYYY',
10204            LLL : 'D MMMM YYYY HH:mm',
10205            LLLL : 'dddd D MMMM YYYY HH:mm'
10206        },
10207        calendar : {
10208            sameDay: '[Idag] LT',
10209            nextDay: '[Imorgon] LT',
10210            lastDay: '[Igår] LT',
10211            nextWeek: '[PÃ¥] dddd LT',
10212            lastWeek: '[I] dddd[s] LT',
10213            sameElse: 'L'
10214        },
10215        relativeTime : {
10216            future : 'om %s',
10217            past : 'för %s sedan',
10218            s : 'några sekunder',
10219            m : 'en minut',
10220            mm : '%d minuter',
10221            h : 'en timme',
10222            hh : '%d timmar',
10223            d : 'en dag',
10224            dd : '%d dagar',
10225            M : 'en månad',
10226            MM : '%d månader',
10227            y : 'ett år',
10228            yy : '%d år'
10229        },
10230        ordinalParse: /\d{1,2}(e|a)/,
10231        ordinal : function (number) {
10232            var b = number % 10,
10233                output = (~~(number % 100 / 10) === 1) ? 'e' :
10234                (b === 1) ? 'a' :
10235                (b === 2) ? 'a' :
10236                (b === 3) ? 'e' : 'e';
10237            return number + output;
10238        },
10239        week : {
10240            dow : 1, // Monday is the first day of the week.
10241            doy : 4  // The week that contains Jan 4th is the first week of the year.
10242        }
10243    });
10244
10245    //! moment.js locale configuration
10246    //! locale : swahili (sw)
10247    //! author : Fahad Kassim : https://github.com/fadsel
10248
10249    var sw = moment__default.defineLocale('sw', {
10250        months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),
10251        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),
10252        weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),
10253        weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),
10254        weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),
10255        longDateFormat : {
10256            LT : 'HH:mm',
10257            LTS : 'HH:mm:ss',
10258            L : 'DD.MM.YYYY',
10259            LL : 'D MMMM YYYY',
10260            LLL : 'D MMMM YYYY HH:mm',
10261            LLLL : 'dddd, D MMMM YYYY HH:mm'
10262        },
10263        calendar : {
10264            sameDay : '[leo saa] LT',
10265            nextDay : '[kesho saa] LT',
10266            nextWeek : '[wiki ijayo] dddd [saat] LT',
10267            lastDay : '[jana] LT',
10268            lastWeek : '[wiki iliyopita] dddd [saat] LT',
10269            sameElse : 'L'
10270        },
10271        relativeTime : {
10272            future : '%s baadaye',
10273            past : 'tokea %s',
10274            s : 'hivi punde',
10275            m : 'dakika moja',
10276            mm : 'dakika %d',
10277            h : 'saa limoja',
10278            hh : 'masaa %d',
10279            d : 'siku moja',
10280            dd : 'masiku %d',
10281            M : 'mwezi mmoja',
10282            MM : 'miezi %d',
10283            y : 'mwaka mmoja',
10284            yy : 'miaka %d'
10285        },
10286        week : {
10287            dow : 1, // Monday is the first day of the week.
10288            doy : 7  // The week that contains Jan 1st is the first week of the year.
10289        }
10290    });
10291
10292    //! moment.js locale configuration
10293    //! locale : tamil (ta)
10294    //! author : Arjunkumar Krishnamoorthy : https://github.com/tk120404
10295
10296    var ta__symbolMap = {
10297        '1': '௧',
10298        '2': '௨',
10299        '3': '௩',
10300        '4': '௪',
10301        '5': '௫',
10302        '6': '௬',
10303        '7': '௭',
10304        '8': '௮',
10305        '9': '௯',
10306        '0': '௦'
10307    }, ta__numberMap = {
10308        '௧': '1',
10309        '௨': '2',
10310        '௩': '3',
10311        '௪': '4',
10312        '௫': '5',
10313        '௬': '6',
10314        '௭': '7',
10315        '௮': '8',
10316        '௯': '9',
10317        '௦': '0'
10318    };
10319
10320    var ta = moment__default.defineLocale('ta', {
10321        months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
10322        monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),
10323        weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),
10324        weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),
10325        weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),
10326        longDateFormat : {
10327            LT : 'HH:mm',
10328            LTS : 'HH:mm:ss',
10329            L : 'DD/MM/YYYY',
10330            LL : 'D MMMM YYYY',
10331            LLL : 'D MMMM YYYY, HH:mm',
10332            LLLL : 'dddd, D MMMM YYYY, HH:mm'
10333        },
10334        calendar : {
10335            sameDay : '[இன்று] LT',
10336            nextDay : '[நாளை] LT',
10337            nextWeek : 'dddd, LT',
10338            lastDay : '[நேற்று] LT',
10339            lastWeek : '[கடந்த வாரம்] dddd, LT',
10340            sameElse : 'L'
10341        },
10342        relativeTime : {
10343            future : '%s இல்',
10344            past : '%s முன்',
10345            s : 'ஒரு சில விநாடிகள்',
10346            m : 'ஒரு நிமிடம்',
10347            mm : '%d நிமிடங்கள்',
10348            h : 'ஒரு மணி நேரம்',
10349            hh : '%d மணி நேரம்',
10350            d : 'ஒரு நாள்',
10351            dd : '%d நாட்கள்',
10352            M : 'ஒரு மாதம்',
10353            MM : '%d மாதங்கள்',
10354            y : 'ஒரு வருடம்',
10355            yy : '%d ஆண்டுகள்'
10356        },
10357        ordinalParse: /\d{1,2}வது/,
10358        ordinal : function (number) {
10359            return number + 'வது';
10360        },
10361        preparse: function (string) {
10362            return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {
10363                return ta__numberMap[match];
10364            });
10365        },
10366        postformat: function (string) {
10367            return string.replace(/\d/g, function (match) {
10368                return ta__symbolMap[match];
10369            });
10370        },
10371        // refer http://ta.wikipedia.org/s/1er1
10372        meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,
10373        meridiem : function (hour, minute, isLower) {
10374            if (hour < 2) {
10375                return ' யாமம்';
10376            } else if (hour < 6) {
10377                return ' வைகறை';  // வைகறை
10378            } else if (hour < 10) {
10379                return ' காலை'; // காலை
10380            } else if (hour < 14) {
10381                return ' நண்பகல்'; // நண்பகல்
10382            } else if (hour < 18) {
10383                return ' எற்பாடு'; // எற்பாடு
10384            } else if (hour < 22) {
10385                return ' மாலை'; // மாலை
10386            } else {
10387                return ' யாமம்';
10388            }
10389        },
10390        meridiemHour : function (hour, meridiem) {
10391            if (hour === 12) {
10392                hour = 0;
10393            }
10394            if (meridiem === 'யாமம்') {
10395                return hour < 2 ? hour : hour + 12;
10396            } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {
10397                return hour;
10398            } else if (meridiem === 'நண்பகல்') {
10399                return hour >= 10 ? hour : hour + 12;
10400            } else {
10401                return hour + 12;
10402            }
10403        },
10404        week : {
10405            dow : 0, // Sunday is the first day of the week.
10406            doy : 6  // The week that contains Jan 1st is the first week of the year.
10407        }
10408    });
10409
10410    //! moment.js locale configuration
10411    //! locale : telugu (te)
10412    //! author : Krishna Chaitanya Thota : https://github.com/kcthota
10413
10414    var te = moment__default.defineLocale('te', {
10415        months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జూలై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),
10416        monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జూలై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),
10417        weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),
10418        weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),
10419        weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),
10420        longDateFormat : {
10421            LT : 'A h:mm',
10422            LTS : 'A h:mm:ss',
10423            L : 'DD/MM/YYYY',
10424            LL : 'D MMMM YYYY',
10425            LLL : 'D MMMM YYYY, A h:mm',
10426            LLLL : 'dddd, D MMMM YYYY, A h:mm'
10427        },
10428        calendar : {
10429            sameDay : '[నేడు] LT',
10430            nextDay : '[రేపు] LT',
10431            nextWeek : 'dddd, LT',
10432            lastDay : '[నిన్న] LT',
10433            lastWeek : '[గత] dddd, LT',
10434            sameElse : 'L'
10435        },
10436        relativeTime : {
10437            future : '%s లో',
10438            past : '%s క్రితం',
10439            s : 'కొన్ని క్షణాలు',
10440            m : 'ఒక నిమిషం',
10441            mm : '%d నిమిషాలు',
10442            h : 'ఒక గంట',
10443            hh : '%d గంటలు',
10444            d : 'ఒక రోజు',
10445            dd : '%d రోజులు',
10446            M : 'ఒక నెల',
10447            MM : '%d నెలలు',
10448            y : 'ఒక సంవత్సరం',
10449            yy : '%d సంవత్సరాలు'
10450        },
10451        ordinalParse : /\d{1,2}à°µ/,
10452        ordinal : '%dà°µ',
10453        meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,
10454        meridiemHour : function (hour, meridiem) {
10455            if (hour === 12) {
10456                hour = 0;
10457            }
10458            if (meridiem === 'రాత్రి') {
10459                return hour < 4 ? hour : hour + 12;
10460            } else if (meridiem === 'ఉదయం') {
10461                return hour;
10462            } else if (meridiem === 'మధ్యాహ్నం') {
10463                return hour >= 10 ? hour : hour + 12;
10464            } else if (meridiem === 'సాయంత్రం') {
10465                return hour + 12;
10466            }
10467        },
10468        meridiem : function (hour, minute, isLower) {
10469            if (hour < 4) {
10470                return 'రాత్రి';
10471            } else if (hour < 10) {
10472                return 'ఉదయం';
10473            } else if (hour < 17) {
10474                return 'మధ్యాహ్నం';
10475            } else if (hour < 20) {
10476                return 'సాయంత్రం';
10477            } else {
10478                return 'రాత్రి';
10479            }
10480        },
10481        week : {
10482            dow : 0, // Sunday is the first day of the week.
10483            doy : 6  // The week that contains Jan 1st is the first week of the year.
10484        }
10485    });
10486
10487    //! moment.js locale configuration
10488    //! locale : thai (th)
10489    //! author : Kridsada Thanabulpong : https://github.com/sirn
10490
10491    var th = moment__default.defineLocale('th', {
10492        months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),
10493        monthsShort : 'มกรา_กุมภา_มีนา_เมษา_พฤษภา_มิถุนา_กรกฎา_สิงหา_กันยา_ตุลา_พฤศจิกา_ธันวา'.split('_'),
10494        weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),
10495        weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference
10496        weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),
10497        longDateFormat : {
10498            LT : 'H นาฬิกา m นาที',
10499            LTS : 'H นาฬิกา m นาที s วินาที',
10500            L : 'YYYY/MM/DD',
10501            LL : 'D MMMM YYYY',
10502            LLL : 'D MMMM YYYY เวลา H นาฬิกา m นาที',
10503            LLLL : 'วันddddที่ D MMMM YYYY เวลา H นาฬิกา m นาที'
10504        },
10505        meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,
10506        isPM: function (input) {
10507            return input === 'หลังเที่ยง';
10508        },
10509        meridiem : function (hour, minute, isLower) {
10510            if (hour < 12) {
10511                return 'ก่อนเที่ยง';
10512            } else {
10513                return 'หลังเที่ยง';
10514            }
10515        },
10516        calendar : {
10517            sameDay : '[วันนี้ เวลา] LT',
10518            nextDay : '[พรุ่งนี้ เวลา] LT',
10519            nextWeek : 'dddd[หน้า เวลา] LT',
10520            lastDay : '[เมื่อวานนี้ เวลา] LT',
10521            lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',
10522            sameElse : 'L'
10523        },
10524        relativeTime : {
10525            future : 'อีก %s',
10526            past : '%sที่แล้ว',
10527            s : 'ไม่กี่วินาที',
10528            m : '1 นาที',
10529            mm : '%d นาที',
10530            h : '1 ชั่วโมง',
10531            hh : '%d ชั่วโมง',
10532            d : '1 วัน',
10533            dd : '%d วัน',
10534            M : '1 เดือน',
10535            MM : '%d เดือน',
10536            y : '1 ปี',
10537            yy : '%d ปี'
10538        }
10539    });
10540
10541    //! moment.js locale configuration
10542    //! locale : Tagalog/Filipino (tl-ph)
10543    //! author : Dan Hagman
10544
10545    var tl_ph = moment__default.defineLocale('tl-ph', {
10546        months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),
10547        monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),
10548        weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),
10549        weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),
10550        weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),
10551        longDateFormat : {
10552            LT : 'HH:mm',
10553            LTS : 'HH:mm:ss',
10554            L : 'MM/D/YYYY',
10555            LL : 'MMMM D, YYYY',
10556            LLL : 'MMMM D, YYYY HH:mm',
10557            LLLL : 'dddd, MMMM DD, YYYY HH:mm'
10558        },
10559        calendar : {
10560            sameDay: '[Ngayon sa] LT',
10561            nextDay: '[Bukas sa] LT',
10562            nextWeek: 'dddd [sa] LT',
10563            lastDay: '[Kahapon sa] LT',
10564            lastWeek: 'dddd [huling linggo] LT',
10565            sameElse: 'L'
10566        },
10567        relativeTime : {
10568            future : 'sa loob ng %s',
10569            past : '%s ang nakalipas',
10570            s : 'ilang segundo',
10571            m : 'isang minuto',
10572            mm : '%d minuto',
10573            h : 'isang oras',
10574            hh : '%d oras',
10575            d : 'isang araw',
10576            dd : '%d araw',
10577            M : 'isang buwan',
10578            MM : '%d buwan',
10579            y : 'isang taon',
10580            yy : '%d taon'
10581        },
10582        ordinalParse: /\d{1,2}/,
10583        ordinal : function (number) {
10584            return number;
10585        },
10586        week : {
10587            dow : 1, // Monday is the first day of the week.
10588            doy : 4  // The week that contains Jan 4th is the first week of the year.
10589        }
10590    });
10591
10592    //! moment.js locale configuration
10593    //! locale : Klingon (tlh)
10594    //! author : Dominika Kruk : https://github.com/amaranthrose
10595
10596    var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');
10597
10598    function translateFuture(output) {
10599        var time = output;
10600        time = (output.indexOf('jaj') !== -1) ?
10601    	time.slice(0, -3) + 'leS' :
10602    	(output.indexOf('jar') !== -1) ?
10603    	time.slice(0, -3) + 'waQ' :
10604    	(output.indexOf('DIS') !== -1) ?
10605    	time.slice(0, -3) + 'nem' :
10606    	time + ' pIq';
10607        return time;
10608    }
10609
10610    function translatePast(output) {
10611        var time = output;
10612        time = (output.indexOf('jaj') !== -1) ?
10613    	time.slice(0, -3) + 'Hu’' :
10614    	(output.indexOf('jar') !== -1) ?
10615    	time.slice(0, -3) + 'wen' :
10616    	(output.indexOf('DIS') !== -1) ?
10617    	time.slice(0, -3) + 'ben' :
10618    	time + ' ret';
10619        return time;
10620    }
10621
10622    function tlh__translate(number, withoutSuffix, string, isFuture) {
10623        var numberNoun = numberAsNoun(number);
10624        switch (string) {
10625            case 'mm':
10626                return numberNoun + ' tup';
10627            case 'hh':
10628                return numberNoun + ' rep';
10629            case 'dd':
10630                return numberNoun + ' jaj';
10631            case 'MM':
10632                return numberNoun + ' jar';
10633            case 'yy':
10634                return numberNoun + ' DIS';
10635        }
10636    }
10637
10638    function numberAsNoun(number) {
10639        var hundred = Math.floor((number % 1000) / 100),
10640    	ten = Math.floor((number % 100) / 10),
10641    	one = number % 10,
10642    	word = '';
10643        if (hundred > 0) {
10644            word += numbersNouns[hundred] + 'vatlh';
10645        }
10646        if (ten > 0) {
10647            word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';
10648        }
10649        if (one > 0) {
10650            word += ((word !== '') ? ' ' : '') + numbersNouns[one];
10651        }
10652        return (word === '') ? 'pagh' : word;
10653    }
10654
10655    var tlh = moment__default.defineLocale('tlh', {
10656        months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),
10657        monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),
10658        weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
10659        weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
10660        weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),
10661        longDateFormat : {
10662            LT : 'HH:mm',
10663            LTS : 'HH:mm:ss',
10664            L : 'DD.MM.YYYY',
10665            LL : 'D MMMM YYYY',
10666            LLL : 'D MMMM YYYY HH:mm',
10667            LLLL : 'dddd, D MMMM YYYY HH:mm'
10668        },
10669        calendar : {
10670            sameDay: '[DaHjaj] LT',
10671            nextDay: '[wa’leS] LT',
10672            nextWeek: 'LLL',
10673            lastDay: '[wa’Hu’] LT',
10674            lastWeek: 'LLL',
10675            sameElse: 'L'
10676        },
10677        relativeTime : {
10678            future : translateFuture,
10679            past : translatePast,
10680            s : 'puS lup',
10681            m : 'wa’ tup',
10682            mm : tlh__translate,
10683            h : 'wa’ rep',
10684            hh : tlh__translate,
10685            d : 'wa’ jaj',
10686            dd : tlh__translate,
10687            M : 'wa’ jar',
10688            MM : tlh__translate,
10689            y : 'wa’ DIS',
10690            yy : tlh__translate
10691        },
10692        ordinalParse: /\d{1,2}\./,
10693        ordinal : '%d.',
10694        week : {
10695            dow : 1, // Monday is the first day of the week.
10696            doy : 4  // The week that contains Jan 4th is the first week of the year.
10697        }
10698    });
10699
10700    //! moment.js locale configuration
10701    //! locale : turkish (tr)
10702    //! authors : Erhan Gundogan : https://github.com/erhangundogan,
10703    //!           Burak Yiğit Kaya: https://github.com/BYK
10704
10705    var tr__suffixes = {
10706        1: '\'inci',
10707        5: '\'inci',
10708        8: '\'inci',
10709        70: '\'inci',
10710        80: '\'inci',
10711        2: '\'nci',
10712        7: '\'nci',
10713        20: '\'nci',
10714        50: '\'nci',
10715        3: '\'üncü',
10716        4: '\'üncü',
10717        100: '\'üncü',
10718        6: '\'ncı',
10719        9: '\'uncu',
10720        10: '\'uncu',
10721        30: '\'uncu',
10722        60: '\'ıncı',
10723        90: '\'ıncı'
10724    };
10725
10726    var tr = moment__default.defineLocale('tr', {
10727        months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),
10728        monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),
10729        weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),
10730        weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),
10731        weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),
10732        longDateFormat : {
10733            LT : 'HH:mm',
10734            LTS : 'HH:mm:ss',
10735            L : 'DD.MM.YYYY',
10736            LL : 'D MMMM YYYY',
10737            LLL : 'D MMMM YYYY HH:mm',
10738            LLLL : 'dddd, D MMMM YYYY HH:mm'
10739        },
10740        calendar : {
10741            sameDay : '[bugün saat] LT',
10742            nextDay : '[yarın saat] LT',
10743            nextWeek : '[haftaya] dddd [saat] LT',
10744            lastDay : '[dün] LT',
10745            lastWeek : '[geçen hafta] dddd [saat] LT',
10746            sameElse : 'L'
10747        },
10748        relativeTime : {
10749            future : '%s sonra',
10750            past : '%s önce',
10751            s : 'birkaç saniye',
10752            m : 'bir dakika',
10753            mm : '%d dakika',
10754            h : 'bir saat',
10755            hh : '%d saat',
10756            d : 'bir gün',
10757            dd : '%d gün',
10758            M : 'bir ay',
10759            MM : '%d ay',
10760            y : 'bir yıl',
10761            yy : '%d yıl'
10762        },
10763        ordinalParse: /\d{1,2}'(inci|nci|üncü|ncı|uncu|ıncı)/,
10764        ordinal : function (number) {
10765            if (number === 0) {  // special case for zero
10766                return number + '\'ıncı';
10767            }
10768            var a = number % 10,
10769                b = number % 100 - a,
10770                c = number >= 100 ? 100 : null;
10771            return number + (tr__suffixes[a] || tr__suffixes[b] || tr__suffixes[c]);
10772        },
10773        week : {
10774            dow : 1, // Monday is the first day of the week.
10775            doy : 7  // The week that contains Jan 1st is the first week of the year.
10776        }
10777    });
10778
10779    //! moment.js locale configuration
10780    //! locale : talossan (tzl)
10781    //! author : Robin van der Vliet : https://github.com/robin0van0der0v with the help of Iustì Canun
10782
10783
10784    // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.
10785    // This is currently too difficult (maybe even impossible) to add.
10786    var tzl = moment__default.defineLocale('tzl', {
10787        months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),
10788        monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),
10789        weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),
10790        weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),
10791        weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),
10792        longDateFormat : {
10793            LT : 'HH.mm',
10794            LTS : 'HH.mm.ss',
10795            L : 'DD.MM.YYYY',
10796            LL : 'D. MMMM [dallas] YYYY',
10797            LLL : 'D. MMMM [dallas] YYYY HH.mm',
10798            LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'
10799        },
10800        meridiemParse: /d\'o|d\'a/i,
10801        isPM : function (input) {
10802            return 'd\'o' === input.toLowerCase();
10803        },
10804        meridiem : function (hours, minutes, isLower) {
10805            if (hours > 11) {
10806                return isLower ? 'd\'o' : 'D\'O';
10807            } else {
10808                return isLower ? 'd\'a' : 'D\'A';
10809            }
10810        },
10811        calendar : {
10812            sameDay : '[oxhi à] LT',
10813            nextDay : '[demà à] LT',
10814            nextWeek : 'dddd [à] LT',
10815            lastDay : '[ieiri à] LT',
10816            lastWeek : '[sür el] dddd [lasteu à] LT',
10817            sameElse : 'L'
10818        },
10819        relativeTime : {
10820            future : 'osprei %s',
10821            past : 'ja%s',
10822            s : tzl__processRelativeTime,
10823            m : tzl__processRelativeTime,
10824            mm : tzl__processRelativeTime,
10825            h : tzl__processRelativeTime,
10826            hh : tzl__processRelativeTime,
10827            d : tzl__processRelativeTime,
10828            dd : tzl__processRelativeTime,
10829            M : tzl__processRelativeTime,
10830            MM : tzl__processRelativeTime,
10831            y : tzl__processRelativeTime,
10832            yy : tzl__processRelativeTime
10833        },
10834        ordinalParse: /\d{1,2}\./,
10835        ordinal : '%d.',
10836        week : {
10837            dow : 1, // Monday is the first day of the week.
10838            doy : 4  // The week that contains Jan 4th is the first week of the year.
10839        }
10840    });
10841
10842    function tzl__processRelativeTime(number, withoutSuffix, key, isFuture) {
10843        var format = {
10844            's': ['viensas secunds', '\'iensas secunds'],
10845            'm': ['\'n míut', '\'iens míut'],
10846            'mm': [number + ' míuts', '' + number + ' míuts'],
10847            'h': ['\'n þora', '\'iensa þora'],
10848            'hh': [number + ' þoras', '' + number + ' þoras'],
10849            'd': ['\'n ziua', '\'iensa ziua'],
10850            'dd': [number + ' ziuas', '' + number + ' ziuas'],
10851            'M': ['\'n mes', '\'iens mes'],
10852            'MM': [number + ' mesen', '' + number + ' mesen'],
10853            'y': ['\'n ar', '\'iens ar'],
10854            'yy': [number + ' ars', '' + number + ' ars']
10855        };
10856        return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);
10857    }
10858
10859    //! moment.js locale configuration
10860    //! locale : Morocco Central Atlas Tamaziɣt in Latin (tzm-latn)
10861    //! author : Abdel Said : https://github.com/abdelsaid
10862
10863    var tzm_latn = moment__default.defineLocale('tzm-latn', {
10864        months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
10865        monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),
10866        weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
10867        weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
10868        weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),
10869        longDateFormat : {
10870            LT : 'HH:mm',
10871            LTS : 'HH:mm:ss',
10872            L : 'DD/MM/YYYY',
10873            LL : 'D MMMM YYYY',
10874            LLL : 'D MMMM YYYY HH:mm',
10875            LLLL : 'dddd D MMMM YYYY HH:mm'
10876        },
10877        calendar : {
10878            sameDay: '[asdkh g] LT',
10879            nextDay: '[aska g] LT',
10880            nextWeek: 'dddd [g] LT',
10881            lastDay: '[assant g] LT',
10882            lastWeek: 'dddd [g] LT',
10883            sameElse: 'L'
10884        },
10885        relativeTime : {
10886            future : 'dadkh s yan %s',
10887            past : 'yan %s',
10888            s : 'imik',
10889            m : 'minuḍ',
10890            mm : '%d minuḍ',
10891            h : 'saɛa',
10892            hh : '%d tassaɛin',
10893            d : 'ass',
10894            dd : '%d ossan',
10895            M : 'ayowr',
10896            MM : '%d iyyirn',
10897            y : 'asgas',
10898            yy : '%d isgasn'
10899        },
10900        week : {
10901            dow : 6, // Saturday is the first day of the week.
10902            doy : 12  // The week that contains Jan 1st is the first week of the year.
10903        }
10904    });
10905
10906    //! moment.js locale configuration
10907    //! locale : Morocco Central Atlas Tamaziɣt (tzm)
10908    //! author : Abdel Said : https://github.com/abdelsaid
10909
10910    var tzm = moment__default.defineLocale('tzm', {
10911        months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
10912        monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),
10913        weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
10914        weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
10915        weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),
10916        longDateFormat : {
10917            LT : 'HH:mm',
10918            LTS: 'HH:mm:ss',
10919            L : 'DD/MM/YYYY',
10920            LL : 'D MMMM YYYY',
10921            LLL : 'D MMMM YYYY HH:mm',
10922            LLLL : 'dddd D MMMM YYYY HH:mm'
10923        },
10924        calendar : {
10925            sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',
10926            nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',
10927            nextWeek: 'dddd [â´´] LT',
10928            lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',
10929            lastWeek: 'dddd [â´´] LT',
10930            sameElse: 'L'
10931        },
10932        relativeTime : {
10933            future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',
10934            past : 'ⵢⴰⵏ %s',
10935            s : 'ⵉⵎⵉⴽ',
10936            m : 'ⵎⵉⵏⵓⴺ',
10937            mm : '%d ⵎⵉⵏⵓⴺ',
10938            h : 'ⵙⴰⵄⴰ',
10939            hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',
10940            d : 'ⴰⵙⵙ',
10941            dd : '%d oⵙⵙⴰⵏ',
10942            M : 'ⴰⵢoⵓⵔ',
10943            MM : '%d ⵉⵢⵢⵉⵔⵏ',
10944            y : 'ⴰⵙⴳⴰⵙ',
10945            yy : '%d ⵉⵙⴳⴰⵙⵏ'
10946        },
10947        week : {
10948            dow : 6, // Saturday is the first day of the week.
10949            doy : 12  // The week that contains Jan 1st is the first week of the year.
10950        }
10951    });
10952
10953    //! moment.js locale configuration
10954    //! locale : ukrainian (uk)
10955    //! author : zemlanin : https://github.com/zemlanin
10956    //! Author : Menelion Elensúle : https://github.com/Oire
10957
10958    function uk__plural(word, num) {
10959        var forms = word.split('_');
10960        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);
10961    }
10962    function uk__relativeTimeWithPlural(number, withoutSuffix, key) {
10963        var format = {
10964            'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',
10965            'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',
10966            'dd': 'день_дні_днів',
10967            'MM': 'місяць_місяці_місяців',
10968            'yy': 'рік_роки_років'
10969        };
10970        if (key === 'm') {
10971            return withoutSuffix ? 'хвилина' : 'хвилину';
10972        }
10973        else if (key === 'h') {
10974            return withoutSuffix ? 'година' : 'годину';
10975        }
10976        else {
10977            return number + ' ' + uk__plural(format[key], +number);
10978        }
10979    }
10980    function weekdaysCaseReplace(m, format) {
10981        var weekdays = {
10982            'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),
10983            'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),
10984            'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')
10985        },
10986        nounCase = (/(\[[ВвУу]\]) ?dddd/).test(format) ?
10987            'accusative' :
10988            ((/\[?(?:минулої|наступної)? ?\] ?dddd/).test(format) ?
10989                'genitive' :
10990                'nominative');
10991        return weekdays[nounCase][m.day()];
10992    }
10993    function processHoursFunction(str) {
10994        return function () {
10995            return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';
10996        };
10997    }
10998
10999    var uk = moment__default.defineLocale('uk', {
11000        months : {
11001            'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),
11002            'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')
11003        },
11004        monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),
11005        weekdays : weekdaysCaseReplace,
11006        weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
11007        weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),
11008        longDateFormat : {
11009            LT : 'HH:mm',
11010            LTS : 'HH:mm:ss',
11011            L : 'DD.MM.YYYY',
11012            LL : 'D MMMM YYYY р.',
11013            LLL : 'D MMMM YYYY р., HH:mm',
11014            LLLL : 'dddd, D MMMM YYYY р., HH:mm'
11015        },
11016        calendar : {
11017            sameDay: processHoursFunction('[Сьогодні '),
11018            nextDay: processHoursFunction('[Завтра '),
11019            lastDay: processHoursFunction('[Вчора '),
11020            nextWeek: processHoursFunction('[У] dddd ['),
11021            lastWeek: function () {
11022                switch (this.day()) {
11023                case 0:
11024                case 3:
11025                case 5:
11026                case 6:
11027                    return processHoursFunction('[Минулої] dddd [').call(this);
11028                case 1:
11029                case 2:
11030                case 4:
11031                    return processHoursFunction('[Минулого] dddd [').call(this);
11032                }
11033            },
11034            sameElse: 'L'
11035        },
11036        relativeTime : {
11037            future : 'за %s',
11038            past : '%s тому',
11039            s : 'декілька секунд',
11040            m : uk__relativeTimeWithPlural,
11041            mm : uk__relativeTimeWithPlural,
11042            h : 'годину',
11043            hh : uk__relativeTimeWithPlural,
11044            d : 'день',
11045            dd : uk__relativeTimeWithPlural,
11046            M : 'місяць',
11047            MM : uk__relativeTimeWithPlural,
11048            y : 'рік',
11049            yy : uk__relativeTimeWithPlural
11050        },
11051        // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason
11052        meridiemParse: /ночі|ранку|дня|вечора/,
11053        isPM: function (input) {
11054            return /^(дня|вечора)$/.test(input);
11055        },
11056        meridiem : function (hour, minute, isLower) {
11057            if (hour < 4) {
11058                return 'ночі';
11059            } else if (hour < 12) {
11060                return 'ранку';
11061            } else if (hour < 17) {
11062                return 'дня';
11063            } else {
11064                return 'вечора';
11065            }
11066        },
11067        ordinalParse: /\d{1,2}-(й|го)/,
11068        ordinal: function (number, period) {
11069            switch (period) {
11070            case 'M':
11071            case 'd':
11072            case 'DDD':
11073            case 'w':
11074            case 'W':
11075                return number + '-й';
11076            case 'D':
11077                return number + '-го';
11078            default:
11079                return number;
11080            }
11081        },
11082        week : {
11083            dow : 1, // Monday is the first day of the week.
11084            doy : 7  // The week that contains Jan 1st is the first week of the year.
11085        }
11086    });
11087
11088    //! moment.js locale configuration
11089    //! locale : uzbek (uz)
11090    //! author : Sardor Muminov : https://github.com/muminoff
11091
11092    var uz = moment__default.defineLocale('uz', {
11093        months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),
11094        monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),
11095        weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),
11096        weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),
11097        weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),
11098        longDateFormat : {
11099            LT : 'HH:mm',
11100            LTS : 'HH:mm:ss',
11101            L : 'DD/MM/YYYY',
11102            LL : 'D MMMM YYYY',
11103            LLL : 'D MMMM YYYY HH:mm',
11104            LLLL : 'D MMMM YYYY, dddd HH:mm'
11105        },
11106        calendar : {
11107            sameDay : '[Бугун соат] LT [да]',
11108            nextDay : '[Эртага] LT [да]',
11109            nextWeek : 'dddd [куни соат] LT [да]',
11110            lastDay : '[Кеча соат] LT [да]',
11111            lastWeek : '[Утган] dddd [куни соат] LT [да]',
11112            sameElse : 'L'
11113        },
11114        relativeTime : {
11115            future : 'Якин %s ичида',
11116            past : 'Бир неча %s олдин',
11117            s : 'фурсат',
11118            m : 'бир дакика',
11119            mm : '%d дакика',
11120            h : 'бир соат',
11121            hh : '%d соат',
11122            d : 'бир кун',
11123            dd : '%d кун',
11124            M : 'бир ой',
11125            MM : '%d ой',
11126            y : 'бир йил',
11127            yy : '%d йил'
11128        },
11129        week : {
11130            dow : 1, // Monday is the first day of the week.
11131            doy : 7  // The week that contains Jan 4th is the first week of the year.
11132        }
11133    });
11134
11135    //! moment.js locale configuration
11136    //! locale : vietnamese (vi)
11137    //! author : Bang Nguyen : https://github.com/bangnk
11138
11139    var vi = moment__default.defineLocale('vi', {
11140        months : 'tháng 1_tháng 2_tháng 3_tháng 4_tháng 5_tháng 6_tháng 7_tháng 8_tháng 9_tháng 10_tháng 11_tháng 12'.split('_'),
11141        monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),
11142        weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),
11143        weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
11144        weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),
11145        meridiemParse: /sa|ch/i,
11146        isPM : function (input) {
11147            return /^ch$/i.test(input);
11148        },
11149        meridiem : function (hours, minutes, isLower) {
11150            if (hours < 12) {
11151                return isLower ? 'sa' : 'SA';
11152            } else {
11153                return isLower ? 'ch' : 'CH';
11154            }
11155        },
11156        longDateFormat : {
11157            LT : 'HH:mm',
11158            LTS : 'HH:mm:ss',
11159            L : 'DD/MM/YYYY',
11160            LL : 'D MMMM [năm] YYYY',
11161            LLL : 'D MMMM [năm] YYYY HH:mm',
11162            LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',
11163            l : 'DD/M/YYYY',
11164            ll : 'D MMM YYYY',
11165            lll : 'D MMM YYYY HH:mm',
11166            llll : 'ddd, D MMM YYYY HH:mm'
11167        },
11168        calendar : {
11169            sameDay: '[Hôm nay lúc] LT',
11170            nextDay: '[Ngày mai lúc] LT',
11171            nextWeek: 'dddd [tuần tới lúc] LT',
11172            lastDay: '[Hôm qua lúc] LT',
11173            lastWeek: 'dddd [tuần rồi lúc] LT',
11174            sameElse: 'L'
11175        },
11176        relativeTime : {
11177            future : '%s tới',
11178            past : '%s trước',
11179            s : 'vài giây',
11180            m : 'một phút',
11181            mm : '%d phút',
11182            h : 'một giờ',
11183            hh : '%d giờ',
11184            d : 'một ngày',
11185            dd : '%d ngày',
11186            M : 'một tháng',
11187            MM : '%d tháng',
11188            y : 'một năm',
11189            yy : '%d năm'
11190        },
11191        ordinalParse: /\d{1,2}/,
11192        ordinal : function (number) {
11193            return number;
11194        },
11195        week : {
11196            dow : 1, // Monday is the first day of the week.
11197            doy : 4  // The week that contains Jan 4th is the first week of the year.
11198        }
11199    });
11200
11201    //! moment.js locale configuration
11202    //! locale : chinese (zh-cn)
11203    //! author : suupic : https://github.com/suupic
11204    //! author : Zeno Zeng : https://github.com/zenozeng
11205
11206    var zh_cn = moment__default.defineLocale('zh-cn', {
11207        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
11208        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
11209        weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
11210        weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),
11211        weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
11212        longDateFormat : {
11213            LT : 'Ah点mm分',
11214            LTS : 'Ah点m分s秒',
11215            L : 'YYYY-MM-DD',
11216            LL : 'YYYY年MMMD日',
11217            LLL : 'YYYY年MMMD日Ah点mm分',
11218            LLLL : 'YYYY年MMMD日ddddAh点mm分',
11219            l : 'YYYY-MM-DD',
11220            ll : 'YYYY年MMMD日',
11221            lll : 'YYYY年MMMD日Ah点mm分',
11222            llll : 'YYYY年MMMD日ddddAh点mm分'
11223        },
11224        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,
11225        meridiemHour: function (hour, meridiem) {
11226            if (hour === 12) {
11227                hour = 0;
11228            }
11229            if (meridiem === '凌晨' || meridiem === '早上' ||
11230                    meridiem === '上午') {
11231                return hour;
11232            } else if (meridiem === '下午' || meridiem === '晚上') {
11233                return hour + 12;
11234            } else {
11235                // '中午'
11236                return hour >= 11 ? hour : hour + 12;
11237            }
11238        },
11239        meridiem : function (hour, minute, isLower) {
11240            var hm = hour * 100 + minute;
11241            if (hm < 600) {
11242                return '凌晨';
11243            } else if (hm < 900) {
11244                return '早上';
11245            } else if (hm < 1130) {
11246                return '上午';
11247            } else if (hm < 1230) {
11248                return '中午';
11249            } else if (hm < 1800) {
11250                return '下午';
11251            } else {
11252                return '晚上';
11253            }
11254        },
11255        calendar : {
11256            sameDay : function () {
11257                return this.minutes() === 0 ? '[今天]Ah[点整]' : '[今天]LT';
11258            },
11259            nextDay : function () {
11260                return this.minutes() === 0 ? '[明天]Ah[点整]' : '[明天]LT';
11261            },
11262            lastDay : function () {
11263                return this.minutes() === 0 ? '[昨天]Ah[点整]' : '[昨天]LT';
11264            },
11265            nextWeek : function () {
11266                var startOfWeek, prefix;
11267                startOfWeek = moment__default().startOf('week');
11268                prefix = this.unix() - startOfWeek.unix() >= 7 * 24 * 3600 ? '[下]' : '[本]';
11269                return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm';
11270            },
11271            lastWeek : function () {
11272                var startOfWeek, prefix;
11273                startOfWeek = moment__default().startOf('week');
11274                prefix = this.unix() < startOfWeek.unix()  ? '[上]' : '[本]';
11275                return this.minutes() === 0 ? prefix + 'dddAh点整' : prefix + 'dddAh点mm';
11276            },
11277            sameElse : 'LL'
11278        },
11279        ordinalParse: /\d{1,2}(日|月|周)/,
11280        ordinal : function (number, period) {
11281            switch (period) {
11282            case 'd':
11283            case 'D':
11284            case 'DDD':
11285                return number + '日';
11286            case 'M':
11287                return number + '月';
11288            case 'w':
11289            case 'W':
11290                return number + '周';
11291            default:
11292                return number;
11293            }
11294        },
11295        relativeTime : {
11296            future : '%s内',
11297            past : '%s前',
11298            s : '几秒',
11299            m : '1 分钟',
11300            mm : '%d 分钟',
11301            h : '1 小时',
11302            hh : '%d 小时',
11303            d : '1 天',
11304            dd : '%d 天',
11305            M : '1 个月',
11306            MM : '%d 个月',
11307            y : '1 å¹´',
11308            yy : '%d å¹´'
11309        },
11310        week : {
11311            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效
11312            dow : 1, // Monday is the first day of the week.
11313            doy : 4  // The week that contains Jan 4th is the first week of the year.
11314        }
11315    });
11316
11317    //! moment.js locale configuration
11318    //! locale : traditional chinese (zh-tw)
11319    //! author : Ben : https://github.com/ben-lin
11320
11321    var zh_tw = moment__default.defineLocale('zh-tw', {
11322        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),
11323        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),
11324        weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),
11325        weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),
11326        weekdaysMin : '日_一_二_三_四_五_六'.split('_'),
11327        longDateFormat : {
11328            LT : 'Ah點mm分',
11329            LTS : 'Ah點m分s秒',
11330            L : 'YYYY年MMMD日',
11331            LL : 'YYYY年MMMD日',
11332            LLL : 'YYYY年MMMD日Ah點mm分',
11333            LLLL : 'YYYY年MMMD日ddddAh點mm分',
11334            l : 'YYYY年MMMD日',
11335            ll : 'YYYY年MMMD日',
11336            lll : 'YYYY年MMMD日Ah點mm分',
11337            llll : 'YYYY年MMMD日ddddAh點mm分'
11338        },
11339        meridiemParse: /早上|上午|中午|下午|晚上/,
11340        meridiemHour : function (hour, meridiem) {
11341            if (hour === 12) {
11342                hour = 0;
11343            }
11344            if (meridiem === '早上' || meridiem === '上午') {
11345                return hour;
11346            } else if (meridiem === '中午') {
11347                return hour >= 11 ? hour : hour + 12;
11348            } else if (meridiem === '下午' || meridiem === '晚上') {
11349                return hour + 12;
11350            }
11351        },
11352        meridiem : function (hour, minute, isLower) {
11353            var hm = hour * 100 + minute;
11354            if (hm < 900) {
11355                return '早上';
11356            } else if (hm < 1130) {
11357                return '上午';
11358            } else if (hm < 1230) {
11359                return '中午';
11360            } else if (hm < 1800) {
11361                return '下午';
11362            } else {
11363                return '晚上';
11364            }
11365        },
11366        calendar : {
11367            sameDay : '[今天]LT',
11368            nextDay : '[明天]LT',
11369            nextWeek : '[下]ddddLT',
11370            lastDay : '[昨天]LT',
11371            lastWeek : '[上]ddddLT',
11372            sameElse : 'L'
11373        },
11374        ordinalParse: /\d{1,2}(日|月|週)/,
11375        ordinal : function (number, period) {
11376            switch (period) {
11377            case 'd' :
11378            case 'D' :
11379            case 'DDD' :
11380                return number + '日';
11381            case 'M' :
11382                return number + '月';
11383            case 'w' :
11384            case 'W' :
11385                return number + '週';
11386            default :
11387                return number;
11388            }
11389        },
11390        relativeTime : {
11391            future : '%s內',
11392            past : '%s前',
11393            s : '幾秒',
11394            m : '一分鐘',
11395            mm : '%d分鐘',
11396            h : '一小時',
11397            hh : '%d小時',
11398            d : '一天',
11399            dd : '%d天',
11400            M : '一個月',
11401            MM : '%d個月',
11402            y : '一年',
11403            yy : '%då¹´'
11404        }
11405    });
11406
11407    var moment_with_locales = moment__default;
11408    moment_with_locales.locale('en');
11409
11410    return moment_with_locales;
11411
11412}));

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.