1// MANUALY FIXED as we use NO For Norwegian not NN Nynors 2 3;(function (global, factory) { 4 typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() : 5 typeof define === 'function' && define.amd ? define(factory) : 6 global.moment = factory()
vendor: 56,293 bytes, lines 6-1766
6 7}(this, (function () { 'use strict'; 8 9 var hookCallback; 10 11 function hooks () { 12 return hookCallback.apply(null, arguments); 13 } 14 15 // This is done to register the method called with moment() 16 // without creating circular dependencies. 17 function setHookCallback (callback) { 18 hookCallback = callback; 19 } 20 21 function isArray(input) { 22 return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]'; 23 } 24 25 function isObject(input) { 26 // IE8 will treat undefined and null as object if it wasn't for 27 // input != null 28 return input != null && Object.prototype.toString.call(input) === '[object Object]'; 29 } 30 31 function isObjectEmpty(obj) { 32 if (Object.getOwnPropertyNames) { 33 return (Object.getOwnPropertyNames(obj).length === 0); 34 } else { 35 var k; 36 for (k in obj) { 37 if (obj.hasOwnProperty(k)) { 38 return false; 39 } 40 } 41 return true; 42 } 43 } 44 45 function isUndefined(input) { 46 return input === void 0; 47 } 48 49 function isNumber(input) { 50 return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]'; 51 } 52 53 function isDate(input) { 54 return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]'; 55 } 56 57 function map(arr, fn) { 58 var res = [], i; 59 for (i = 0; i < arr.length; ++i) { 60 res.push(fn(arr[i], i)); 61 } 62 return res; 63 } 64 65 function hasOwnProp(a, b) { 66 return Object.prototype.hasOwnProperty.call(a, b); 67 } 68 69 function extend(a, b) { 70 for (var i in b) { 71 if (hasOwnProp(b, i)) { 72 a[i] = b[i]; 73 } 74 } 75 76 if (hasOwnProp(b, 'toString')) { 77 a.toString = b.toString; 78 } 79 80 if (hasOwnProp(b, 'valueOf')) { 81 a.valueOf = b.valueOf; 82 } 83 84 return a; 85 } 86 87 function createUTC (input, format, locale, strict) { 88 return createLocalOrUTC(input, format, locale, strict, true).utc(); 89 } 90 91 function defaultParsingFlags() { 92 // We need to deep clone this object. 93 return { 94 empty : false, 95 unusedTokens : [], 96 unusedInput : [], 97 overflow : -2, 98 charsLeftOver : 0, 99 nullInput : false, 100 invalidMonth : null, 101 invalidFormat : false, 102 userInvalidated : false, 103 iso : false, 104 parsedDateParts : [], 105 meridiem : null, 106 rfc2822 : false, 107 weekdayMismatch : false 108 }; 109 } 110 111 function getParsingFlags(m) { 112 if (m._pf == null) { 113 m._pf = defaultParsingFlags(); 114 } 115 return m._pf; 116 } 117 118 var some; 119 if (Array.prototype.some) { 120 some = Array.prototype.some; 121 } else { 122 some = function (fun) { 123 var t = Object(this); 124 var len = t.length >>> 0; 125 126 for (var i = 0; i < len; i++) { 127 if (i in t && fun.call(this, t[i], i, t)) { 128 return true; 129 } 130 } 131 132 return false; 133 }; 134 } 135 136 function isValid(m) { 137 if (m._isValid == null) { 138 var flags = getParsingFlags(m); 139 var parsedParts = some.call(flags.parsedDateParts, function (i) { 140 return i != null; 141 }); 142 var isNowValid = !isNaN(m._d.getTime()) && 143 flags.overflow < 0 && 144 !flags.empty && 145 !flags.invalidMonth && 146 !flags.invalidWeekday && 147 !flags.weekdayMismatch && 148 !flags.nullInput && 149 !flags.invalidFormat && 150 !flags.userInvalidated && 151 (!flags.meridiem || (flags.meridiem && parsedParts)); 152 153 if (m._strict) { 154 isNowValid = isNowValid && 155 flags.charsLeftOver === 0 && 156 flags.unusedTokens.length === 0 && 157 flags.bigHour === undefined; 158 } 159 160 if (Object.isFrozen == null || !Object.isFrozen(m)) { 161 m._isValid = isNowValid; 162 } 163 else { 164 return isNowValid; 165 } 166 } 167 return m._isValid; 168 } 169 170 function createInvalid (flags) { 171 var m = createUTC(NaN); 172 if (flags != null) { 173 extend(getParsingFlags(m), flags); 174 } 175 else { 176 getParsingFlags(m).userInvalidated = true; 177 } 178 179 return m; 180 } 181 182 // Plugins that add properties should also add the key here (null value), 183 // so we can properly clone ourselves. 184 var momentProperties = hooks.momentProperties = []; 185 186 function copyConfig(to, from) { 187 var i, prop, val; 188 189 if (!isUndefined(from._isAMomentObject)) { 190 to._isAMomentObject = from._isAMomentObject; 191 } 192 if (!isUndefined(from._i)) { 193 to._i = from._i; 194 } 195 if (!isUndefined(from._f)) { 196 to._f = from._f; 197 } 198 if (!isUndefined(from._l)) { 199 to._l = from._l; 200 } 201 if (!isUndefined(from._strict)) { 202 to._strict = from._strict; 203 } 204 if (!isUndefined(from._tzm)) { 205 to._tzm = from._tzm; 206 } 207 if (!isUndefined(from._isUTC)) { 208 to._isUTC = from._isUTC; 209 } 210 if (!isUndefined(from._offset)) { 211 to._offset = from._offset; 212 } 213 if (!isUndefined(from._pf)) { 214 to._pf = getParsingFlags(from); 215 } 216 if (!isUndefined(from._locale)) { 217 to._locale = from._locale; 218 } 219 220 if (momentProperties.length > 0) { 221 for (i = 0; i < momentProperties.length; i++) { 222 prop = momentProperties[i]; 223 val = from[prop]; 224 if (!isUndefined(val)) { 225 to[prop] = val; 226 } 227 } 228 } 229 230 return to; 231 } 232 233 var updateInProgress = false; 234 235 // Moment prototype object 236 function Moment(config) { 237 copyConfig(this, config); 238 this._d = new Date(config._d != null ? config._d.getTime() : NaN); 239 if (!this.isValid()) { 240 this._d = new Date(NaN); 241 } 242 // Prevent infinite loop in case updateOffset creates new moment 243 // objects. 244 if (updateInProgress === false) { 245 updateInProgress = true; 246 hooks.updateOffset(this); 247 updateInProgress = false; 248 } 249 } 250 251 function isMoment (obj) { 252 return obj instanceof Moment || (obj != null && obj._isAMomentObject != null); 253 } 254 255 function absFloor (number) { 256 if (number < 0) { 257 // -0 -> 0 258 return Math.ceil(number) || 0; 259 } else { 260 return Math.floor(number); 261 } 262 } 263 264 function toInt(argumentForCoercion) { 265 var coercedNumber = +argumentForCoercion, 266 value = 0; 267 268 if (coercedNumber !== 0 && isFinite(coercedNumber)) { 269 value = absFloor(coercedNumber); 270 } 271 272 return value; 273 } 274 275 // compare two arrays, return the number of differences 276 function compareArrays(array1, array2, dontConvert) { 277 var len = Math.min(array1.length, array2.length), 278 lengthDiff = Math.abs(array1.length - array2.length), 279 diffs = 0, 280 i; 281 for (i = 0; i < len; i++) { 282 if ((dontConvert && array1[i] !== array2[i]) || 283 (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) { 284 diffs++; 285 } 286 } 287 return diffs + lengthDiff; 288 } 289 290 function warn(msg) { 291 if (hooks.suppressDeprecationWarnings === false && 292 (typeof console !== 'undefined') && console.warn) { 293 console.warn('Deprecation warning: ' + msg); 294 } 295 } 296 297 function deprecate(msg, fn) { 298 var firstTime = true; 299 300 return extend(function () { 301 if (hooks.deprecationHandler != null) { 302 hooks.deprecationHandler(null, msg); 303 } 304 if (firstTime) { 305 var args = []; 306 var arg; 307 for (var i = 0; i < arguments.length; i++) { 308 arg = ''; 309 if (typeof arguments[i] === 'object') { 310 arg += '\n[' + i + '] '; 311 for (var key in arguments[0]) { 312 arg += key + ': ' + arguments[0][key] + ', '; 313 } 314 arg = arg.slice(0, -2); // Remove trailing comma and space 315 } else { 316 arg = arguments[i]; 317 } 318 args.push(arg); 319 } 320 warn(msg + '\nArguments: ' + Array.prototype.slice.call(args).join('') + '\n' + (new Error()).stack); 321 firstTime = false; 322 } 323 return fn.apply(this, arguments); 324 }, fn); 325 } 326 327 var deprecations = {}; 328 329 function deprecateSimple(name, msg) { 330 if (hooks.deprecationHandler != null) { 331 hooks.deprecationHandler(name, msg); 332 } 333 if (!deprecations[name]) { 334 warn(msg); 335 deprecations[name] = true; 336 } 337 } 338 339 hooks.suppressDeprecationWarnings = false; 340 hooks.deprecationHandler = null; 341 342 function isFunction(input) { 343 return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]'; 344 } 345 346 function set (config) { 347 var prop, i; 348 for (i in config) { 349 prop = config[i]; 350 if (isFunction(prop)) { 351 this[i] = prop; 352 } else { 353 this['_' + i] = prop; 354 } 355 } 356 this._config = config; 357 // Lenient ordinal parsing accepts just a number in addition to 358 // number + (possibly) stuff coming from _dayOfMonthOrdinalParse. 359 // TODO: Remove "ordinalParse" fallback in next major release. 360 this._dayOfMonthOrdinalParseLenient = new RegExp( 361 (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) + 362 '|' + (/\d{1,2}/).source); 363 } 364 365 function mergeConfigs(parentConfig, childConfig) { 366 var res = extend({}, parentConfig), prop; 367 for (prop in childConfig) { 368 if (hasOwnProp(childConfig, prop)) { 369 if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) { 370 res[prop] = {}; 371 extend(res[prop], parentConfig[prop]); 372 extend(res[prop], childConfig[prop]); 373 } else if (childConfig[prop] != null) { 374 res[prop] = childConfig[prop]; 375 } else { 376 delete res[prop]; 377 } 378 } 379 } 380 for (prop in parentConfig) { 381 if (hasOwnProp(parentConfig, prop) && 382 !hasOwnProp(childConfig, prop) && 383 isObject(parentConfig[prop])) { 384 // make sure changes to properties don't modify parent config 385 res[prop] = extend({}, res[prop]); 386 } 387 } 388 return res; 389 } 390 391 function Locale(config) { 392 if (config != null) { 393 this.set(config); 394 } 395 } 396 397 var keys; 398 399 if (Object.keys) { 400 keys = Object.keys; 401 } else { 402 keys = function (obj) { 403 var i, res = []; 404 for (i in obj) { 405 if (hasOwnProp(obj, i)) { 406 res.push(i); 407 } 408 } 409 return res; 410 }; 411 } 412 413 var defaultCalendar = { 414 sameDay : '[Today at] LT', 415 nextDay : '[Tomorrow at] LT', 416 nextWeek : 'dddd [at] LT', 417 lastDay : '[Yesterday at] LT', 418 lastWeek : '[Last] dddd [at] LT', 419 sameElse : 'L' 420 }; 421 422 function calendar (key, mom, now) { 423 var output = this._calendar[key] || this._calendar['sameElse']; 424 return isFunction(output) ? output.call(mom, now) : output; 425 } 426 427 var defaultLongDateFormat = { 428 LTS : 'h:mm:ss A', 429 LT : 'h:mm A', 430 L : 'MM/DD/YYYY', 431 LL : 'MMMM D, YYYY', 432 LLL : 'MMMM D, YYYY h:mm A', 433 LLLL : 'dddd, MMMM D, YYYY h:mm A' 434 }; 435 436 function longDateFormat (key) { 437 var format = this._longDateFormat[key], 438 formatUpper = this._longDateFormat[key.toUpperCase()]; 439 440 if (format || !formatUpper) { 441 return format; 442 } 443 444 this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) { 445 return val.slice(1); 446 }); 447 448 return this._longDateFormat[key]; 449 } 450 451 var defaultInvalidDate = 'Invalid date'; 452 453 function invalidDate () { 454 return this._invalidDate; 455 } 456 457 var defaultOrdinal = '%d'; 458 var defaultDayOfMonthOrdinalParse = /\d{1,2}/; 459 460 function ordinal (number) { 461 return this._ordinal.replace('%d', number); 462 } 463 464 var defaultRelativeTime = { 465 future : 'in %s', 466 past : '%s ago', 467 s : 'a few seconds', 468 ss : '%d seconds', 469 m : 'a minute', 470 mm : '%d minutes', 471 h : 'an hour', 472 hh : '%d hours', 473 d : 'a day', 474 dd : '%d days', 475 M : 'a month', 476 MM : '%d months', 477 y : 'a year', 478 yy : '%d years' 479 }; 480 481 function relativeTime (number, withoutSuffix, string, isFuture) { 482 var output = this._relativeTime[string]; 483 return (isFunction(output)) ? 484 output(number, withoutSuffix, string, isFuture) : 485 output.replace(/%d/i, number); 486 } 487 488 function pastFuture (diff, output) { 489 var format = this._relativeTime[diff > 0 ? 'future' : 'past']; 490 return isFunction(format) ? format(output) : format.replace(/%s/i, output); 491 } 492 493 var aliases = {}; 494 495 function addUnitAlias (unit, shorthand) { 496 var lowerCase = unit.toLowerCase(); 497 aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit; 498 } 499 500 function normalizeUnits(units) { 501 return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined; 502 } 503 504 function normalizeObjectUnits(inputObject) { 505 var normalizedInput = {}, 506 normalizedProp, 507 prop; 508 509 for (prop in inputObject) { 510 if (hasOwnProp(inputObject, prop)) { 511 normalizedProp = normalizeUnits(prop); 512 if (normalizedProp) { 513 normalizedInput[normalizedProp] = inputObject[prop]; 514 } 515 } 516 } 517 518 return normalizedInput; 519 } 520 521 var priorities = {}; 522 523 function addUnitPriority(unit, priority) { 524 priorities[unit] = priority; 525 } 526 527 function getPrioritizedUnits(unitsObj) { 528 var units = []; 529 for (var u in unitsObj) { 530 units.push({unit: u, priority: priorities[u]}); 531 } 532 units.sort(function (a, b) { 533 return a.priority - b.priority; 534 }); 535 return units; 536 } 537 538 function zeroFill(number, targetLength, forceSign) { 539 var absNumber = '' + Math.abs(number), 540 zerosToFill = targetLength - absNumber.length, 541 sign = number >= 0; 542 return (sign ? (forceSign ? '+' : '') : '-') + 543 Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber; 544 } 545 546 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?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g; 547 548 var localFormattingTokens = /(\[[^\[]*\])|(\\)?(LTS|LT|LL?L?L?|l{1,4})/g; 549 550 var formatFunctions = {}; 551 552 var formatTokenFunctions = {}; 553 554 // token: 'M' 555 // padded: ['MM', 2] 556 // ordinal: 'Mo' 557 // callback: function () { this.month() + 1 } 558 function addFormatToken (token, padded, ordinal, callback) { 559 var func = callback; 560 if (typeof callback === 'string') { 561 func = function () { 562 return this[callback](); 563 }; 564 } 565 if (token) { 566 formatTokenFunctions[token] = func; 567 } 568 if (padded) { 569 formatTokenFunctions[padded[0]] = function () { 570 return zeroFill(func.apply(this, arguments), padded[1], padded[2]); 571 }; 572 } 573 if (ordinal) { 574 formatTokenFunctions[ordinal] = function () { 575 return this.localeData().ordinal(func.apply(this, arguments), token); 576 }; 577 } 578 } 579 580 function removeFormattingTokens(input) { 581 if (input.match(/\[[\s\S]/)) { 582 return input.replace(/^\[|\]$/g, ''); 583 } 584 return input.replace(/\\/g, ''); 585 } 586 587 function makeFormatFunction(format) { 588 var array = format.match(formattingTokens), i, length; 589 590 for (i = 0, length = array.length; i < length; i++) { 591 if (formatTokenFunctions[array[i]]) { 592 array[i] = formatTokenFunctions[array[i]]; 593 } else { 594 array[i] = removeFormattingTokens(array[i]); 595 } 596 } 597 598 return function (mom) { 599 var output = '', i; 600 for (i = 0; i < length; i++) { 601 output += isFunction(array[i]) ? array[i].call(mom, format) : array[i]; 602 } 603 return output; 604 }; 605 } 606 607 // format date using native date object 608 function formatMoment(m, format) { 609 if (!m.isValid()) { 610 return m.localeData().invalidDate(); 611 } 612 613 format = expandFormat(format, m.localeData()); 614 formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format); 615 616 return formatFunctions[format](m); 617 } 618 619 function expandFormat(format, locale) { 620 var i = 5; 621 622 function replaceLongDateFormatTokens(input) { 623 return locale.longDateFormat(input) || input; 624 } 625 626 localFormattingTokens.lastIndex = 0; 627 while (i >= 0 && localFormattingTokens.test(format)) { 628 format = format.replace(localFormattingTokens, replaceLongDateFormatTokens); 629 localFormattingTokens.lastIndex = 0; 630 i -= 1; 631 } 632 633 return format; 634 } 635 636 var match1 = /\d/; // 0 - 9 637 var match2 = /\d\d/; // 00 - 99 638 var match3 = /\d{3}/; // 000 - 999 639 var match4 = /\d{4}/; // 0000 - 9999 640 var match6 = /[+-]?\d{6}/; // -999999 - 999999 641 var match1to2 = /\d\d?/; // 0 - 99 642 var match3to4 = /\d\d\d\d?/; // 999 - 9999 643 var match5to6 = /\d\d\d\d\d\d?/; // 99999 - 999999 644 var match1to3 = /\d{1,3}/; // 0 - 999 645 var match1to4 = /\d{1,4}/; // 0 - 9999 646 var match1to6 = /[+-]?\d{1,6}/; // -999999 - 999999 647 648 var matchUnsigned = /\d+/; // 0 - inf 649 var matchSigned = /[+-]?\d+/; // -inf - inf 650 651 var matchOffset = /Z|[+-]\d\d:?\d\d/gi; // +00:00 -00:00 +0000 -0000 or Z 652 var matchShortOffset = /Z|[+-]\d\d(?::?\d\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z 653 654 var matchTimestamp = /[+-]?\d+(\.\d{1,3})?/; // 123456789 123456789.123 655 656 // any word (or two) characters or numbers including two/three word month in arabic. 657 // includes scottish gaelic two word and hyphenated months 658 var matchWord = /[0-9]{0,256}['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFF07\uFF10-\uFFEF]{1,256}|[\u0600-\u06FF\/]{1,256}(\s*?[\u0600-\u06FF]{1,256}){1,2}/i; 659 660 var regexes = {}; 661 662 function addRegexToken (token, regex, strictRegex) { 663 regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) { 664 return (isStrict && strictRegex) ? strictRegex : regex; 665 }; 666 } 667 668 function getParseRegexForToken (token, config) { 669 if (!hasOwnProp(regexes, token)) { 670 return new RegExp(unescapeFormat(token)); 671 } 672 673 return regexes[token](config._strict, config._locale); 674 } 675 676 // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript 677 function unescapeFormat(s) { 678 return regexEscape(s.replace('\\', '').replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) { 679 return p1 || p2 || p3 || p4; 680 })); 681 } 682 683 function regexEscape(s) { 684 return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&'); 685 } 686 687 var tokens = {}; 688 689 function addParseToken (token, callback) { 690 var i, func = callback; 691 if (typeof token === 'string') { 692 token = [token]; 693 } 694 if (isNumber(callback)) { 695 func = function (input, array) { 696 array[callback] = toInt(input); 697 }; 698 } 699 for (i = 0; i < token.length; i++) { 700 tokens[token[i]] = func; 701 } 702 } 703 704 function addWeekParseToken (token, callback) { 705 addParseToken(token, function (input, array, config, token) { 706 config._w = config._w || {}; 707 callback(input, config._w, config, token); 708 }); 709 } 710 711 function addTimeToArrayFromToken(token, input, config) { 712 if (input != null && hasOwnProp(tokens, token)) { 713 tokens[token](input, config._a, config, token); 714 } 715 } 716 717 var YEAR = 0; 718 var MONTH = 1; 719 var DATE = 2; 720 var HOUR = 3; 721 var MINUTE = 4; 722 var SECOND = 5; 723 var MILLISECOND = 6; 724 var WEEK = 7; 725 var WEEKDAY = 8; 726 727 // FORMATTING 728 729 addFormatToken('Y', 0, 0, function () { 730 var y = this.year(); 731 return y <= 9999 ? '' + y : '+' + y; 732 }); 733 734 addFormatToken(0, ['YY', 2], 0, function () { 735 return this.year() % 100; 736 }); 737 738 addFormatToken(0, ['YYYY', 4], 0, 'year'); 739 addFormatToken(0, ['YYYYY', 5], 0, 'year'); 740 addFormatToken(0, ['YYYYYY', 6, true], 0, 'year'); 741 742 // ALIASES 743 744 addUnitAlias('year', 'y'); 745 746 // PRIORITIES 747 748 addUnitPriority('year', 1); 749 750 // PARSING 751 752 addRegexToken('Y', matchSigned); 753 addRegexToken('YY', match1to2, match2); 754 addRegexToken('YYYY', match1to4, match4); 755 addRegexToken('YYYYY', match1to6, match6); 756 addRegexToken('YYYYYY', match1to6, match6); 757 758 addParseToken(['YYYYY', 'YYYYYY'], YEAR); 759 addParseToken('YYYY', function (input, array) { 760 array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input); 761 }); 762 addParseToken('YY', function (input, array) { 763 array[YEAR] = hooks.parseTwoDigitYear(input); 764 }); 765 addParseToken('Y', function (input, array) { 766 array[YEAR] = parseInt(input, 10); 767 }); 768 769 // HELPERS 770 771 function daysInYear(year) { 772 return isLeapYear(year) ? 366 : 365; 773 } 774 775 function isLeapYear(year) { 776 return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0; 777 } 778 779 // HOOKS 780 781 hooks.parseTwoDigitYear = function (input) { 782 return toInt(input) + (toInt(input) > 68 ? 1900 : 2000); 783 }; 784 785 // MOMENTS 786 787 var getSetYear = makeGetSet('FullYear', true); 788 789 function getIsLeapYear () { 790 return isLeapYear(this.year()); 791 } 792 793 function makeGetSet (unit, keepTime) { 794 return function (value) { 795 if (value != null) { 796 set$1(this, unit, value); 797 hooks.updateOffset(this, keepTime); 798 return this; 799 } else { 800 return get(this, unit); 801 } 802 }; 803 } 804 805 function get (mom, unit) { 806 return mom.isValid() ? 807 mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN; 808 } 809 810 function set$1 (mom, unit, value) { 811 if (mom.isValid() && !isNaN(value)) { 812 if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) { 813 mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month())); 814 } 815 else { 816 mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value); 817 } 818 } 819 } 820 821 // MOMENTS 822 823 function stringGet (units) { 824 units = normalizeUnits(units); 825 if (isFunction(this[units])) { 826 return this[units](); 827 } 828 return this; 829 } 830 831 832 function stringSet (units, value) { 833 if (typeof units === 'object') { 834 units = normalizeObjectUnits(units); 835 var prioritized = getPrioritizedUnits(units); 836 for (var i = 0; i < prioritized.length; i++) { 837 this[prioritized[i].unit](units[prioritized[i].unit]); 838 } 839 } else { 840 units = normalizeUnits(units); 841 if (isFunction(this[units])) { 842 return this[units](value); 843 } 844 } 845 return this; 846 } 847 848 function mod(n, x) { 849 return ((n % x) + x) % x; 850 } 851 852 var indexOf; 853 854 if (Array.prototype.indexOf) { 855 indexOf = Array.prototype.indexOf; 856 } else { 857 indexOf = function (o) { 858 // I know 859 var i; 860 for (i = 0; i < this.length; ++i) { 861 if (this[i] === o) { 862 return i; 863 } 864 } 865 return -1; 866 }; 867 } 868 869 function daysInMonth(year, month) { 870 if (isNaN(year) || isNaN(month)) { 871 return NaN; 872 } 873 var modMonth = mod(month, 12); 874 year += (month - modMonth) / 12; 875 return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2); 876 } 877 878 // FORMATTING 879 880 addFormatToken('M', ['MM', 2], 'Mo', function () { 881 return this.month() + 1; 882 }); 883 884 addFormatToken('MMM', 0, 0, function (format) { 885 return this.localeData().monthsShort(this, format); 886 }); 887 888 addFormatToken('MMMM', 0, 0, function (format) { 889 return this.localeData().months(this, format); 890 }); 891 892 // ALIASES 893 894 addUnitAlias('month', 'M'); 895 896 // PRIORITY 897 898 addUnitPriority('month', 8); 899 900 // PARSING 901 902 addRegexToken('M', match1to2); 903 addRegexToken('MM', match1to2, match2); 904 addRegexToken('MMM', function (isStrict, locale) { 905 return locale.monthsShortRegex(isStrict); 906 }); 907 addRegexToken('MMMM', function (isStrict, locale) { 908 return locale.monthsRegex(isStrict); 909 }); 910 911 addParseToken(['M', 'MM'], function (input, array) { 912 array[MONTH] = toInt(input) - 1; 913 }); 914 915 addParseToken(['MMM', 'MMMM'], function (input, array, config, token) { 916 var month = config._locale.monthsParse(input, token, config._strict); 917 // if we didn't find a month name, mark the date as invalid. 918 if (month != null) { 919 array[MONTH] = month; 920 } else { 921 getParsingFlags(config).invalidMonth = input; 922 } 923 }); 924 925 // LOCALES 926 927 var MONTHS_IN_FORMAT = /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?/; 928 var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'); 929 function localeMonths (m, format) { 930 if (!m) { 931 return isArray(this._months) ? this._months : 932 this._months['standalone']; 933 } 934 return isArray(this._months) ? this._months[m.month()] : 935 this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()]; 936 } 937 938 var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'); 939 function localeMonthsShort (m, format) { 940 if (!m) { 941 return isArray(this._monthsShort) ? this._monthsShort : 942 this._monthsShort['standalone']; 943 } 944 return isArray(this._monthsShort) ? this._monthsShort[m.month()] : 945 this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()]; 946 } 947 948 function handleStrictParse(monthName, format, strict) { 949 var i, ii, mom, llc = monthName.toLocaleLowerCase(); 950 if (!this._monthsParse) { 951 // this is not used 952 this._monthsParse = []; 953 this._longMonthsParse = []; 954 this._shortMonthsParse = []; 955 for (i = 0; i < 12; ++i) { 956 mom = createUTC([2000, i]); 957 this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase(); 958 this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase(); 959 } 960 } 961 962 if (strict) { 963 if (format === 'MMM') { 964 ii = indexOf.call(this._shortMonthsParse, llc); 965 return ii !== -1 ? ii : null; 966 } else { 967 ii = indexOf.call(this._longMonthsParse, llc); 968 return ii !== -1 ? ii : null; 969 } 970 } else { 971 if (format === 'MMM') { 972 ii = indexOf.call(this._shortMonthsParse, llc); 973 if (ii !== -1) { 974 return ii; 975 } 976 ii = indexOf.call(this._longMonthsParse, llc); 977 return ii !== -1 ? ii : null; 978 } else { 979 ii = indexOf.call(this._longMonthsParse, llc); 980 if (ii !== -1) { 981 return ii; 982 } 983 ii = indexOf.call(this._shortMonthsParse, llc); 984 return ii !== -1 ? ii : null; 985 } 986 } 987 } 988 989 function localeMonthsParse (monthName, format, strict) { 990 var i, mom, regex; 991 992 if (this._monthsParseExact) { 993 return handleStrictParse.call(this, monthName, format, strict); 994 } 995 996 if (!this._monthsParse) { 997 this._monthsParse = []; 998 this._longMonthsParse = []; 999 this._shortMonthsParse = []; 1000 } 1001 1002 // TODO: add sorting 1003 // Sorting makes sure if one month (or abbr) is a prefix of another 1004 // see sorting in computeMonthsParse 1005 for (i = 0; i < 12; i++) { 1006 // make the regex if we don't have it already 1007 mom = createUTC([2000, i]); 1008 if (strict && !this._longMonthsParse[i]) { 1009 this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i'); 1010 this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i'); 1011 } 1012 if (!strict && !this._monthsParse[i]) { 1013 regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, ''); 1014 this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i'); 1015 } 1016 // test the regex 1017 if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) { 1018 return i; 1019 } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) { 1020 return i; 1021 } else if (!strict && this._monthsParse[i].test(monthName)) { 1022 return i; 1023 } 1024 } 1025 } 1026 1027 // MOMENTS 1028 1029 function setMonth (mom, value) { 1030 var dayOfMonth; 1031 1032 if (!mom.isValid()) { 1033 // No op 1034 return mom; 1035 } 1036 1037 if (typeof value === 'string') { 1038 if (/^\d+$/.test(value)) { 1039 value = toInt(value); 1040 } else { 1041 value = mom.localeData().monthsParse(value); 1042 // TODO: Another silent failure? 1043 if (!isNumber(value)) { 1044 return mom; 1045 } 1046 } 1047 } 1048 1049 dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value)); 1050 mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth); 1051 return mom; 1052 } 1053 1054 function getSetMonth (value) { 1055 if (value != null) { 1056 setMonth(this, value); 1057 hooks.updateOffset(this, true); 1058 return this; 1059 } else { 1060 return get(this, 'Month'); 1061 } 1062 } 1063 1064 function getDaysInMonth () { 1065 return daysInMonth(this.year(), this.month()); 1066 } 1067 1068 var defaultMonthsShortRegex = matchWord; 1069 function monthsShortRegex (isStrict) { 1070 if (this._monthsParseExact) { 1071 if (!hasOwnProp(this, '_monthsRegex')) { 1072 computeMonthsParse.call(this); 1073 } 1074 if (isStrict) { 1075 return this._monthsShortStrictRegex; 1076 } else { 1077 return this._monthsShortRegex; 1078 } 1079 } else { 1080 if (!hasOwnProp(this, '_monthsShortRegex')) { 1081 this._monthsShortRegex = defaultMonthsShortRegex; 1082 } 1083 return this._monthsShortStrictRegex && isStrict ? 1084 this._monthsShortStrictRegex : this._monthsShortRegex; 1085 } 1086 } 1087 1088 var defaultMonthsRegex = matchWord; 1089 function monthsRegex (isStrict) { 1090 if (this._monthsParseExact) { 1091 if (!hasOwnProp(this, '_monthsRegex')) { 1092 computeMonthsParse.call(this); 1093 } 1094 if (isStrict) { 1095 return this._monthsStrictRegex; 1096 } else { 1097 return this._monthsRegex; 1098 } 1099 } else { 1100 if (!hasOwnProp(this, '_monthsRegex')) { 1101 this._monthsRegex = defaultMonthsRegex; 1102 } 1103 return this._monthsStrictRegex && isStrict ? 1104 this._monthsStrictRegex : this._monthsRegex; 1105 } 1106 } 1107 1108 function computeMonthsParse () { 1109 function cmpLenRev(a, b) { 1110 return b.length - a.length; 1111 } 1112 1113 var shortPieces = [], longPieces = [], mixedPieces = [], 1114 i, mom; 1115 for (i = 0; i < 12; i++) { 1116 // make the regex if we don't have it already 1117 mom = createUTC([2000, i]); 1118 shortPieces.push(this.monthsShort(mom, '')); 1119 longPieces.push(this.months(mom, '')); 1120 mixedPieces.push(this.months(mom, '')); 1121 mixedPieces.push(this.monthsShort(mom, '')); 1122 } 1123 // Sorting makes sure if one month (or abbr) is a prefix of another it 1124 // will match the longer piece. 1125 shortPieces.sort(cmpLenRev); 1126 longPieces.sort(cmpLenRev); 1127 mixedPieces.sort(cmpLenRev); 1128 for (i = 0; i < 12; i++) { 1129 shortPieces[i] = regexEscape(shortPieces[i]); 1130 longPieces[i] = regexEscape(longPieces[i]); 1131 } 1132 for (i = 0; i < 24; i++) { 1133 mixedPieces[i] = regexEscape(mixedPieces[i]); 1134 } 1135 1136 this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); 1137 this._monthsShortRegex = this._monthsRegex; 1138 this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); 1139 this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); 1140 } 1141 1142 function createDate (y, m, d, h, M, s, ms) { 1143 // can't just apply() to create a date: 1144 // https://stackoverflow.com/q/181348 1145 var date; 1146 // the date constructor remaps years 0-99 to 1900-1999 1147 if (y < 100 && y >= 0) { 1148 // preserve leap years using a full 400 year cycle, then reset 1149 date = new Date(y + 400, m, d, h, M, s, ms); 1150 if (isFinite(date.getFullYear())) { 1151 date.setFullYear(y); 1152 } 1153 } else { 1154 date = new Date(y, m, d, h, M, s, ms); 1155 } 1156 1157 return date; 1158 } 1159 1160 function createUTCDate (y) { 1161 var date; 1162 // the Date.UTC function remaps years 0-99 to 1900-1999 1163 if (y < 100 && y >= 0) { 1164 var args = Array.prototype.slice.call(arguments); 1165 // preserve leap years using a full 400 year cycle, then reset 1166 args[0] = y + 400; 1167 date = new Date(Date.UTC.apply(null, args)); 1168 if (isFinite(date.getUTCFullYear())) { 1169 date.setUTCFullYear(y); 1170 } 1171 } else { 1172 date = new Date(Date.UTC.apply(null, arguments)); 1173 } 1174 1175 return date; 1176 } 1177 1178 // start-of-first-week - start-of-year 1179 function firstWeekOffset(year, dow, doy) { 1180 var // first-week day -- which january is always in the first week (4 for iso, 1 for other) 1181 fwd = 7 + dow - doy, 1182 // first-week day local weekday -- which local weekday is fwd 1183 fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7; 1184 1185 return -fwdlw + fwd - 1; 1186 } 1187 1188 // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday 1189 function dayOfYearFromWeeks(year, week, weekday, dow, doy) { 1190 var localWeekday = (7 + weekday - dow) % 7, 1191 weekOffset = firstWeekOffset(year, dow, doy), 1192 dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset, 1193 resYear, resDayOfYear; 1194 1195 if (dayOfYear <= 0) { 1196 resYear = year - 1; 1197 resDayOfYear = daysInYear(resYear) + dayOfYear; 1198 } else if (dayOfYear > daysInYear(year)) { 1199 resYear = year + 1; 1200 resDayOfYear = dayOfYear - daysInYear(year); 1201 } else { 1202 resYear = year; 1203 resDayOfYear = dayOfYear; 1204 } 1205 1206 return { 1207 year: resYear, 1208 dayOfYear: resDayOfYear 1209 }; 1210 } 1211 1212 function weekOfYear(mom, dow, doy) { 1213 var weekOffset = firstWeekOffset(mom.year(), dow, doy), 1214 week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1, 1215 resWeek, resYear; 1216 1217 if (week < 1) { 1218 resYear = mom.year() - 1; 1219 resWeek = week + weeksInYear(resYear, dow, doy); 1220 } else if (week > weeksInYear(mom.year(), dow, doy)) { 1221 resWeek = week - weeksInYear(mom.year(), dow, doy); 1222 resYear = mom.year() + 1; 1223 } else { 1224 resYear = mom.year(); 1225 resWeek = week; 1226 } 1227 1228 return { 1229 week: resWeek, 1230 year: resYear 1231 }; 1232 } 1233 1234 function weeksInYear(year, dow, doy) { 1235 var weekOffset = firstWeekOffset(year, dow, doy), 1236 weekOffsetNext = firstWeekOffset(year + 1, dow, doy); 1237 return (daysInYear(year) - weekOffset + weekOffsetNext) / 7; 1238 } 1239 1240 // FORMATTING 1241 1242 addFormatToken('w', ['ww', 2], 'wo', 'week'); 1243 addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek'); 1244 1245 // ALIASES 1246 1247 addUnitAlias('week', 'w'); 1248 addUnitAlias('isoWeek', 'W'); 1249 1250 // PRIORITIES 1251 1252 addUnitPriority('week', 5); 1253 addUnitPriority('isoWeek', 5); 1254 1255 // PARSING 1256 1257 addRegexToken('w', match1to2); 1258 addRegexToken('ww', match1to2, match2); 1259 addRegexToken('W', match1to2); 1260 addRegexToken('WW', match1to2, match2); 1261 1262 addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) { 1263 week[token.substr(0, 1)] = toInt(input); 1264 }); 1265 1266 // HELPERS 1267 1268 // LOCALES 1269 1270 function localeWeek (mom) { 1271 return weekOfYear(mom, this._week.dow, this._week.doy).week; 1272 } 1273 1274 var defaultLocaleWeek = { 1275 dow : 0, // Sunday is the first day of the week. 1276 doy : 6 // The week that contains Jan 6th is the first week of the year. 1277 }; 1278 1279 function localeFirstDayOfWeek () { 1280 return this._week.dow; 1281 } 1282 1283 function localeFirstDayOfYear () { 1284 return this._week.doy; 1285 } 1286 1287 // MOMENTS 1288 1289 function getSetWeek (input) { 1290 var week = this.localeData().week(this); 1291 return input == null ? week : this.add((input - week) * 7, 'd'); 1292 } 1293 1294 function getSetISOWeek (input) { 1295 var week = weekOfYear(this, 1, 4).week; 1296 return input == null ? week : this.add((input - week) * 7, 'd'); 1297 } 1298 1299 // FORMATTING 1300 1301 addFormatToken('d', 0, 'do', 'day'); 1302 1303 addFormatToken('dd', 0, 0, function (format) { 1304 return this.localeData().weekdaysMin(this, format); 1305 }); 1306 1307 addFormatToken('ddd', 0, 0, function (format) { 1308 return this.localeData().weekdaysShort(this, format); 1309 }); 1310 1311 addFormatToken('dddd', 0, 0, function (format) { 1312 return this.localeData().weekdays(this, format); 1313 }); 1314 1315 addFormatToken('e', 0, 0, 'weekday'); 1316 addFormatToken('E', 0, 0, 'isoWeekday'); 1317 1318 // ALIASES 1319 1320 addUnitAlias('day', 'd'); 1321 addUnitAlias('weekday', 'e'); 1322 addUnitAlias('isoWeekday', 'E'); 1323 1324 // PRIORITY 1325 addUnitPriority('day', 11); 1326 addUnitPriority('weekday', 11); 1327 addUnitPriority('isoWeekday', 11); 1328 1329 // PARSING 1330 1331 addRegexToken('d', match1to2); 1332 addRegexToken('e', match1to2); 1333 addRegexToken('E', match1to2); 1334 addRegexToken('dd', function (isStrict, locale) { 1335 return locale.weekdaysMinRegex(isStrict); 1336 }); 1337 addRegexToken('ddd', function (isStrict, locale) { 1338 return locale.weekdaysShortRegex(isStrict); 1339 }); 1340 addRegexToken('dddd', function (isStrict, locale) { 1341 return locale.weekdaysRegex(isStrict); 1342 }); 1343 1344 addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) { 1345 var weekday = config._locale.weekdaysParse(input, token, config._strict); 1346 // if we didn't get a weekday name, mark the date as invalid 1347 if (weekday != null) { 1348 week.d = weekday; 1349 } else { 1350 getParsingFlags(config).invalidWeekday = input; 1351 } 1352 }); 1353 1354 addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) { 1355 week[token] = toInt(input); 1356 }); 1357 1358 // HELPERS 1359 1360 function parseWeekday(input, locale) { 1361 if (typeof input !== 'string') { 1362 return input; 1363 } 1364 1365 if (!isNaN(input)) { 1366 return parseInt(input, 10); 1367 } 1368 1369 input = locale.weekdaysParse(input); 1370 if (typeof input === 'number') { 1371 return input; 1372 } 1373 1374 return null; 1375 } 1376 1377 function parseIsoWeekday(input, locale) { 1378 if (typeof input === 'string') { 1379 return locale.weekdaysParse(input) % 7 || 7; 1380 } 1381 return isNaN(input) ? null : input; 1382 } 1383 1384 // LOCALES 1385 function shiftWeekdays (ws, n) { 1386 return ws.slice(n, 7).concat(ws.slice(0, n)); 1387 } 1388 1389 var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'); 1390 function localeWeekdays (m, format) { 1391 var weekdays = isArray(this._weekdays) ? this._weekdays : 1392 this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone']; 1393 return (m === true) ? shiftWeekdays(weekdays, this._week.dow) 1394 : (m) ? weekdays[m.day()] : weekdays; 1395 } 1396 1397 var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'); 1398 function localeWeekdaysShort (m) { 1399 return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow) 1400 : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort; 1401 } 1402 1403 var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'); 1404 function localeWeekdaysMin (m) { 1405 return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow) 1406 : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin; 1407 } 1408 1409 function handleStrictParse$1(weekdayName, format, strict) { 1410 var i, ii, mom, llc = weekdayName.toLocaleLowerCase(); 1411 if (!this._weekdaysParse) { 1412 this._weekdaysParse = []; 1413 this._shortWeekdaysParse = []; 1414 this._minWeekdaysParse = []; 1415 1416 for (i = 0; i < 7; ++i) { 1417 mom = createUTC([2000, 1]).day(i); 1418 this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase(); 1419 this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase(); 1420 this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase(); 1421 } 1422 } 1423 1424 if (strict) { 1425 if (format === 'dddd') { 1426 ii = indexOf.call(this._weekdaysParse, llc); 1427 return ii !== -1 ? ii : null; 1428 } else if (format === 'ddd') { 1429 ii = indexOf.call(this._shortWeekdaysParse, llc); 1430 return ii !== -1 ? ii : null; 1431 } else { 1432 ii = indexOf.call(this._minWeekdaysParse, llc); 1433 return ii !== -1 ? ii : null; 1434 } 1435 } else { 1436 if (format === 'dddd') { 1437 ii = indexOf.call(this._weekdaysParse, llc); 1438 if (ii !== -1) { 1439 return ii; 1440 } 1441 ii = indexOf.call(this._shortWeekdaysParse, llc); 1442 if (ii !== -1) { 1443 return ii; 1444 } 1445 ii = indexOf.call(this._minWeekdaysParse, llc); 1446 return ii !== -1 ? ii : null; 1447 } else if (format === 'ddd') { 1448 ii = indexOf.call(this._shortWeekdaysParse, llc); 1449 if (ii !== -1) { 1450 return ii; 1451 } 1452 ii = indexOf.call(this._weekdaysParse, llc); 1453 if (ii !== -1) { 1454 return ii; 1455 } 1456 ii = indexOf.call(this._minWeekdaysParse, llc); 1457 return ii !== -1 ? ii : null; 1458 } else { 1459 ii = indexOf.call(this._minWeekdaysParse, llc); 1460 if (ii !== -1) { 1461 return ii; 1462 } 1463 ii = indexOf.call(this._weekdaysParse, llc); 1464 if (ii !== -1) { 1465 return ii; 1466 } 1467 ii = indexOf.call(this._shortWeekdaysParse, llc); 1468 return ii !== -1 ? ii : null; 1469 } 1470 } 1471 } 1472 1473 function localeWeekdaysParse (weekdayName, format, strict) { 1474 var i, mom, regex; 1475 1476 if (this._weekdaysParseExact) { 1477 return handleStrictParse$1.call(this, weekdayName, format, strict); 1478 } 1479 1480 if (!this._weekdaysParse) { 1481 this._weekdaysParse = []; 1482 this._minWeekdaysParse = []; 1483 this._shortWeekdaysParse = []; 1484 this._fullWeekdaysParse = []; 1485 } 1486 1487 for (i = 0; i < 7; i++) { 1488 // make the regex if we don't have it already 1489 1490 mom = createUTC([2000, 1]).day(i); 1491 if (strict && !this._fullWeekdaysParse[i]) { 1492 this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\.?') + '$', 'i'); 1493 this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\.?') + '$', 'i'); 1494 this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\.?') + '$', 'i'); 1495 } 1496 if (!this._weekdaysParse[i]) { 1497 regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, ''); 1498 this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i'); 1499 } 1500 // test the regex 1501 if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) { 1502 return i; 1503 } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) { 1504 return i; 1505 } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) { 1506 return i; 1507 } else if (!strict && this._weekdaysParse[i].test(weekdayName)) { 1508 return i; 1509 } 1510 } 1511 } 1512 1513 // MOMENTS 1514 1515 function getSetDayOfWeek (input) { 1516 if (!this.isValid()) { 1517 return input != null ? this : NaN; 1518 } 1519 var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay(); 1520 if (input != null) { 1521 input = parseWeekday(input, this.localeData()); 1522 return this.add(input - day, 'd'); 1523 } else { 1524 return day; 1525 } 1526 } 1527 1528 function getSetLocaleDayOfWeek (input) { 1529 if (!this.isValid()) { 1530 return input != null ? this : NaN; 1531 } 1532 var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7; 1533 return input == null ? weekday : this.add(input - weekday, 'd'); 1534 } 1535 1536 function getSetISODayOfWeek (input) { 1537 if (!this.isValid()) { 1538 return input != null ? this : NaN; 1539 } 1540 1541 // behaves the same as moment#day except 1542 // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6) 1543 // as a setter, sunday should belong to the previous week. 1544 1545 if (input != null) { 1546 var weekday = parseIsoWeekday(input, this.localeData()); 1547 return this.day(this.day() % 7 ? weekday : weekday - 7); 1548 } else { 1549 return this.day() || 7; 1550 } 1551 } 1552 1553 var defaultWeekdaysRegex = matchWord; 1554 function weekdaysRegex (isStrict) { 1555 if (this._weekdaysParseExact) { 1556 if (!hasOwnProp(this, '_weekdaysRegex')) { 1557 computeWeekdaysParse.call(this); 1558 } 1559 if (isStrict) { 1560 return this._weekdaysStrictRegex; 1561 } else { 1562 return this._weekdaysRegex; 1563 } 1564 } else { 1565 if (!hasOwnProp(this, '_weekdaysRegex')) { 1566 this._weekdaysRegex = defaultWeekdaysRegex; 1567 } 1568 return this._weekdaysStrictRegex && isStrict ? 1569 this._weekdaysStrictRegex : this._weekdaysRegex; 1570 } 1571 } 1572 1573 var defaultWeekdaysShortRegex = matchWord; 1574 function weekdaysShortRegex (isStrict) { 1575 if (this._weekdaysParseExact) { 1576 if (!hasOwnProp(this, '_weekdaysRegex')) { 1577 computeWeekdaysParse.call(this); 1578 } 1579 if (isStrict) { 1580 return this._weekdaysShortStrictRegex; 1581 } else { 1582 return this._weekdaysShortRegex; 1583 } 1584 } else { 1585 if (!hasOwnProp(this, '_weekdaysShortRegex')) { 1586 this._weekdaysShortRegex = defaultWeekdaysShortRegex; 1587 } 1588 return this._weekdaysShortStrictRegex && isStrict ? 1589 this._weekdaysShortStrictRegex : this._weekdaysShortRegex; 1590 } 1591 } 1592 1593 var defaultWeekdaysMinRegex = matchWord; 1594 function weekdaysMinRegex (isStrict) { 1595 if (this._weekdaysParseExact) { 1596 if (!hasOwnProp(this, '_weekdaysRegex')) { 1597 computeWeekdaysParse.call(this); 1598 } 1599 if (isStrict) { 1600 return this._weekdaysMinStrictRegex; 1601 } else { 1602 return this._weekdaysMinRegex; 1603 } 1604 } else { 1605 if (!hasOwnProp(this, '_weekdaysMinRegex')) { 1606 this._weekdaysMinRegex = defaultWeekdaysMinRegex; 1607 } 1608 return this._weekdaysMinStrictRegex && isStrict ? 1609 this._weekdaysMinStrictRegex : this._weekdaysMinRegex; 1610 } 1611 } 1612 1613 1614 function computeWeekdaysParse () { 1615 function cmpLenRev(a, b) { 1616 return b.length - a.length; 1617 } 1618 1619 var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [], 1620 i, mom, minp, shortp, longp; 1621 for (i = 0; i < 7; i++) { 1622 // make the regex if we don't have it already 1623 mom = createUTC([2000, 1]).day(i); 1624 minp = this.weekdaysMin(mom, ''); 1625 shortp = this.weekdaysShort(mom, ''); 1626 longp = this.weekdays(mom, ''); 1627 minPieces.push(minp); 1628 shortPieces.push(shortp); 1629 longPieces.push(longp); 1630 mixedPieces.push(minp); 1631 mixedPieces.push(shortp); 1632 mixedPieces.push(longp); 1633 } 1634 // Sorting makes sure if one weekday (or abbr) is a prefix of another it 1635 // will match the longer piece. 1636 minPieces.sort(cmpLenRev); 1637 shortPieces.sort(cmpLenRev); 1638 longPieces.sort(cmpLenRev); 1639 mixedPieces.sort(cmpLenRev); 1640 for (i = 0; i < 7; i++) { 1641 shortPieces[i] = regexEscape(shortPieces[i]); 1642 longPieces[i] = regexEscape(longPieces[i]); 1643 mixedPieces[i] = regexEscape(mixedPieces[i]); 1644 } 1645 1646 this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i'); 1647 this._weekdaysShortRegex = this._weekdaysRegex; 1648 this._weekdaysMinRegex = this._weekdaysRegex; 1649 1650 this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i'); 1651 this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i'); 1652 this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i'); 1653 } 1654 1655 // FORMATTING 1656 1657 function hFormat() { 1658 return this.hours() % 12 || 12; 1659 } 1660 1661 function kFormat() { 1662 return this.hours() || 24; 1663 } 1664 1665 addFormatToken('H', ['HH', 2], 0, 'hour'); 1666 addFormatToken('h', ['hh', 2], 0, hFormat); 1667 addFormatToken('k', ['kk', 2], 0, kFormat); 1668 1669 addFormatToken('hmm', 0, 0, function () { 1670 return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2); 1671 }); 1672 1673 addFormatToken('hmmss', 0, 0, function () { 1674 return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) + 1675 zeroFill(this.seconds(), 2); 1676 }); 1677 1678 addFormatToken('Hmm', 0, 0, function () { 1679 return '' + this.hours() + zeroFill(this.minutes(), 2); 1680 }); 1681 1682 addFormatToken('Hmmss', 0, 0, function () { 1683 return '' + this.hours() + zeroFill(this.minutes(), 2) + 1684 zeroFill(this.seconds(), 2); 1685 }); 1686 1687 function meridiem (token, lowercase) { 1688 addFormatToken(token, 0, 0, function () { 1689 return this.localeData().meridiem(this.hours(), this.minutes(), lowercase); 1690 }); 1691 } 1692 1693 meridiem('a', true); 1694 meridiem('A', false); 1695 1696 // ALIASES 1697 1698 addUnitAlias('hour', 'h'); 1699 1700 // PRIORITY 1701 addUnitPriority('hour', 13); 1702 1703 // PARSING 1704 1705 function matchMeridiem (isStrict, locale) { 1706 return locale._meridiemParse; 1707 } 1708 1709 addRegexToken('a', matchMeridiem); 1710 addRegexToken('A', matchMeridiem); 1711 addRegexToken('H', match1to2); 1712 addRegexToken('h', match1to2); 1713 addRegexToken('k', match1to2); 1714 addRegexToken('HH', match1to2, match2); 1715 addRegexToken('hh', match1to2, match2); 1716 addRegexToken('kk', match1to2, match2); 1717 1718 addRegexToken('hmm', match3to4); 1719 addRegexToken('hmmss', match5to6); 1720 addRegexToken('Hmm', match3to4); 1721 addRegexToken('Hmmss', match5to6); 1722 1723 addParseToken(['H', 'HH'], HOUR); 1724 addParseToken(['k', 'kk'], function (input, array, config) { 1725 var kInput = toInt(input); 1726 array[HOUR] = kInput === 24 ? 0 : kInput; 1727 }); 1728 addParseToken(['a', 'A'], function (input, array, config) { 1729 config._isPm = config._locale.isPM(input); 1730 config._meridiem = input; 1731 }); 1732 addParseToken(['h', 'hh'], function (input, array, config) { 1733 array[HOUR] = toInt(input); 1734 getParsingFlags(config).bigHour = true; 1735 }); 1736 addParseToken('hmm', function (input, array, config) { 1737 var pos = input.length - 2; 1738 array[HOUR] = toInt(input.substr(0, pos)); 1739 array[MINUTE] = toInt(input.substr(pos)); 1740 getParsingFlags(config).bigHour = true; 1741 }); 1742 addParseToken('hmmss', function (input, array, config) { 1743 var pos1 = input.length - 4; 1744 var pos2 = input.length - 2; 1745 array[HOUR] = toInt(input.substr(0, pos1)); 1746 array[MINUTE] = toInt(input.substr(pos1, 2)); 1747 array[SECOND] = toInt(input.substr(pos2)); 1748 getParsingFlags(config).bigHour = true; 1749 }); 1750 addParseToken('Hmm', function (input, array, config) { 1751 var pos = input.length - 2; 1752 array[HOUR] = toInt(input.substr(0, pos)); 1753 array[MINUTE] = toInt(input.substr(pos)); 1754 }); 1755 addParseToken('Hmmss', function (input, array, config) { 1756 var pos1 = input.length - 4; 1757 var pos2 = input.length - 2; 1758 array[HOUR] = toInt(input.substr(0, pos1)); 1759 array[MINUTE] = toInt(input.substr(pos1, 2)); 1760 array[SECOND] = toInt(input.substr(pos2)); 1761 }); 1762 1763 // LOCALES 1764 1765 function localeIsPM (input) { 1766 // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing str
vendor: 11,105 bytes, lines 1766-2082
1766ings like arrays 1767 // Using charAt should be more compatible. 1768 return ((input + '').toLowerCase().charAt(0) === 'p'); 1769 } 1770 1771 var defaultLocaleMeridiemParse = /[ap]\.?m?\.?/i; 1772 function localeMeridiem (hours, minutes, isLower) { 1773 if (hours > 11) { 1774 return isLower ? 'pm' : 'PM'; 1775 } else { 1776 return isLower ? 'am' : 'AM'; 1777 } 1778 } 1779 1780 1781 // MOMENTS 1782 1783 // Setting the hour should keep the time, because the user explicitly 1784 // specified which hour they want. So trying to maintain the same hour (in 1785 // a new timezone) makes sense. Adding/subtracting hours does not follow 1786 // this rule. 1787 var getSetHour = makeGetSet('Hours', true); 1788 1789 var baseConfig = { 1790 calendar: defaultCalendar, 1791 longDateFormat: defaultLongDateFormat, 1792 invalidDate: defaultInvalidDate, 1793 ordinal: defaultOrdinal, 1794 dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse, 1795 relativeTime: defaultRelativeTime, 1796 1797 months: defaultLocaleMonths, 1798 monthsShort: defaultLocaleMonthsShort, 1799 1800 week: defaultLocaleWeek, 1801 1802 weekdays: defaultLocaleWeekdays, 1803 weekdaysMin: defaultLocaleWeekdaysMin, 1804 weekdaysShort: defaultLocaleWeekdaysShort, 1805 1806 meridiemParse: defaultLocaleMeridiemParse 1807 }; 1808 1809 // internal storage for locale config files 1810 var locales = {}; 1811 var localeFamilies = {}; 1812 var globalLocale; 1813 1814 function normalizeLocale(key) { 1815 return key ? key.toLowerCase().replace('_', '-') : key; 1816 } 1817 1818 // pick the locale from the array 1819 // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each 1820 // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root 1821 function chooseLocale(names) { 1822 var i = 0, j, next, locale, split; 1823 1824 while (i < names.length) { 1825 split = normalizeLocale(names[i]).split('-'); 1826 j = split.length; 1827 next = normalizeLocale(names[i + 1]); 1828 next = next ? next.split('-') : null; 1829 while (j > 0) { 1830 locale = loadLocale(split.slice(0, j).join('-')); 1831 if (locale) { 1832 return locale; 1833 } 1834 if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) { 1835 //the next array item is better than a shallower substring of this one 1836 break; 1837 } 1838 j--; 1839 } 1840 i++; 1841 } 1842 return globalLocale; 1843 } 1844 1845 function loadLocale(name) { 1846 var oldLocale = null; 1847 // TODO: Find a better way to register and load all the locales in Node 1848 if (!locales[name] && (typeof module !== 'undefined') && 1849 module && module.exports) { 1850 try { 1851 oldLocale = globalLocale._abbr; 1852 var aliasedRequire = require; 1853 aliasedRequire('./locale/' + name); 1854 getSetGlobalLocale(oldLocale); 1855 } catch (e) {} 1856 } 1857 return locales[name]; 1858 } 1859 1860 // This function will load locale and then set the global locale. If 1861 // no arguments are passed in, it will simply return the current global 1862 // locale key. 1863 function getSetGlobalLocale (key, values) { 1864 var data; 1865 if (key) { 1866 if (isUndefined(values)) { 1867 data = getLocale(key); 1868 } 1869 else { 1870 data = defineLocale(key, values); 1871 } 1872 1873 if (data) { 1874 // moment.duration._locale = moment._locale = data; 1875 globalLocale = data; 1876 } 1877 else { 1878 if ((typeof console !== 'undefined') && console.warn) { 1879 //warn user if arguments are passed but the locale could not be set 1880 console.warn('Locale ' + key + ' not found. Did you forget to load it?'); 1881 } 1882 } 1883 } 1884 1885 return globalLocale._abbr; 1886 } 1887 1888 function defineLocale (name, config) { 1889 if (config !== null) { 1890 var locale, parentConfig = baseConfig; 1891 config.abbr = name; 1892 if (locales[name] != null) { 1893 deprecateSimple('defineLocaleOverride', 1894 'use moment.updateLocale(localeName, config) to change ' + 1895 'an existing locale. moment.defineLocale(localeName, ' + 1896 'config) should only be used for creating a new locale ' + 1897 'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.'); 1898 parentConfig = locales[name]._config; 1899 } else if (config.parentLocale != null) { 1900 if (locales[config.parentLocale] != null) { 1901 parentConfig = locales[config.parentLocale]._config; 1902 } else { 1903 locale = loadLocale(config.parentLocale); 1904 if (locale != null) { 1905 parentConfig = locale._config; 1906 } else { 1907 if (!localeFamilies[config.parentLocale]) { 1908 localeFamilies[config.parentLocale] = []; 1909 } 1910 localeFamilies[config.parentLocale].push({ 1911 name: name, 1912 config: config 1913 }); 1914 return null; 1915 } 1916 } 1917 } 1918 locales[name] = new Locale(mergeConfigs(parentConfig, config)); 1919 1920 if (localeFamilies[name]) { 1921 localeFamilies[name].forEach(function (x) { 1922 defineLocale(x.name, x.config); 1923 }); 1924 } 1925 1926 // backwards compat for now: also set the locale 1927 // make sure we set the locale AFTER all child locales have been 1928 // created, so we won't end up with the child locale set. 1929 getSetGlobalLocale(name); 1930 1931 1932 return locales[name]; 1933 } else { 1934 // useful for testing 1935 delete locales[name]; 1936 return null; 1937 } 1938 } 1939 1940 function updateLocale(name, config) { 1941 if (config != null) { 1942 var locale, tmpLocale, parentConfig = baseConfig; 1943 // MERGE 1944 tmpLocale = loadLocale(name); 1945 if (tmpLocale != null) { 1946 parentConfig = tmpLocale._config; 1947 } 1948 config = mergeConfigs(parentConfig, config); 1949 locale = new Locale(config); 1950 locale.parentLocale = locales[name]; 1951 locales[name] = locale; 1952 1953 // backwards compat for now: also set the locale 1954 getSetGlobalLocale(name); 1955 } else { 1956 // pass null for config to unupdate, useful for tests 1957 if (locales[name] != null) { 1958 if (locales[name].parentLocale != null) { 1959 locales[name] = locales[name].parentLocale; 1960 } else if (locales[name] != null) { 1961 delete locales[name]; 1962 } 1963 } 1964 } 1965 return locales[name]; 1966 } 1967 1968 // returns locale data 1969 function getLocale (key) { 1970 var locale; 1971 1972 if (key && key._locale && key._locale._abbr) { 1973 key = key._locale._abbr; 1974 } 1975 1976 if (!key) { 1977 return globalLocale; 1978 } 1979 1980 if (!isArray(key)) { 1981 //short-circuit everything else 1982 locale = loadLocale(key); 1983 if (locale) { 1984 return locale; 1985 } 1986 key = [key]; 1987 } 1988 1989 return chooseLocale(key); 1990 } 1991 1992 function listLocales() { 1993 return keys(locales); 1994 } 1995 1996 function checkOverflow (m) { 1997 var overflow; 1998 var a = m._a; 1999 2000 if (a && getParsingFlags(m).overflow === -2) { 2001 overflow = 2002 a[MONTH] < 0 || a[MONTH] > 11 ? MONTH : 2003 a[DATE] < 1 || a[DATE] > daysInMonth(a[YEAR], a[MONTH]) ? DATE : 2004 a[HOUR] < 0 || a[HOUR] > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR : 2005 a[MINUTE] < 0 || a[MINUTE] > 59 ? MINUTE : 2006 a[SECOND] < 0 || a[SECOND] > 59 ? SECOND : 2007 a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND : 2008 -1; 2009 2010 if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) { 2011 overflow = DATE; 2012 } 2013 if (getParsingFlags(m)._overflowWeeks && overflow === -1) { 2014 overflow = WEEK; 2015 } 2016 if (getParsingFlags(m)._overflowWeekday && overflow === -1) { 2017 overflow = WEEKDAY; 2018 } 2019 2020 getParsingFlags(m).overflow = overflow; 2021 } 2022 2023 return m; 2024 } 2025 2026 // Pick the first defined of two or three arguments. 2027 function defaults(a, b, c) { 2028 if (a != null) { 2029 return a; 2030 } 2031 if (b != null) { 2032 return b; 2033 } 2034 return c; 2035 } 2036 2037 function currentDateArray(config) { 2038 // hooks is actually the exported moment object 2039 var nowValue = new Date(hooks.now()); 2040 if (config._useUTC) { 2041 return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()]; 2042 } 2043 return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()]; 2044 } 2045 2046 // convert an array to a date. 2047 // the array should mirror the parameters below 2048 // note: all values past the year are optional and will default to the lowest possible value. 2049 // [year, month, day , hour, minute, second, millisecond] 2050 function configFromArray (config) { 2051 var i, date, input = [], currentDate, expectedWeekday, yearToUse; 2052 2053 if (config._d) { 2054 return; 2055 } 2056 2057 currentDate = currentDateArray(config); 2058 2059 //compute day of the year from weeks and weekdays 2060 if (config._w && config._a[DATE] == null && config._a[MONTH] == null) { 2061 dayOfYearFromWeekInfo(config); 2062 } 2063 2064 //if the day of the year is set, figure out what it is 2065 if (config._dayOfYear != null) { 2066 yearToUse = defaults(config._a[YEAR], currentDate[YEAR]); 2067 2068 if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) { 2069 getParsingFlags(config)._overflowDayOfYear = true; 2070 } 2071 2072 date = createUTCDate(yearToUse, 0, config._dayOfYear); 2073 config._a[MONTH] = date.getUTCMonth(); 2074 config._a[DATE] = date.getUTCDate(); 2075 } 2076 2077 // Default to current date. 2078 // * if no year, month, day of month are given, default to today 2079 // * if day of month is given, default month and year 2080 // * if month is given, default only year 2081 // * if year is given, don't default anything 2082 for (i = 0; i < 3 && config._a[i] == null; ++i) {
vendor: 81,024 bytes, lines 2083-4553
2083 config._a[i] = input[i] = currentDate[i]; 2084 } 2085 2086 // Zero out whatever was not defaulted, including time 2087 for (; i < 7; i++) { 2088 config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i]; 2089 } 2090 2091 // Check for 24:00:00.000 2092 if (config._a[HOUR] === 24 && 2093 config._a[MINUTE] === 0 && 2094 config._a[SECOND] === 0 && 2095 config._a[MILLISECOND] === 0) { 2096 config._nextDay = true; 2097 config._a[HOUR] = 0; 2098 } 2099 2100 config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input); 2101 expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay(); 2102 2103 // Apply timezone offset from input. The actual utcOffset can be changed 2104 // with parseZone. 2105 if (config._tzm != null) { 2106 config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); 2107 } 2108 2109 if (config._nextDay) { 2110 config._a[HOUR] = 24; 2111 } 2112 2113 // check for mismatching day of week 2114 if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) { 2115 getParsingFlags(config).weekdayMismatch = true; 2116 } 2117 } 2118 2119 function dayOfYearFromWeekInfo(config) { 2120 var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow; 2121 2122 w = config._w; 2123 if (w.GG != null || w.W != null || w.E != null) { 2124 dow = 1; 2125 doy = 4; 2126 2127 // TODO: We need to take the current isoWeekYear, but that depends on 2128 // how we interpret now (local, utc, fixed offset). So create 2129 // a now version of current config (take local/utc/offset flags, and 2130 // create now). 2131 weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year); 2132 week = defaults(w.W, 1); 2133 weekday = defaults(w.E, 1); 2134 if (weekday < 1 || weekday > 7) { 2135 weekdayOverflow = true; 2136 } 2137 } else { 2138 dow = config._locale._week.dow; 2139 doy = config._locale._week.doy; 2140 2141 var curWeek = weekOfYear(createLocal(), dow, doy); 2142 2143 weekYear = defaults(w.gg, config._a[YEAR], curWeek.year); 2144 2145 // Default to current week. 2146 week = defaults(w.w, curWeek.week); 2147 2148 if (w.d != null) { 2149 // weekday -- low day numbers are considered next week 2150 weekday = w.d; 2151 if (weekday < 0 || weekday > 6) { 2152 weekdayOverflow = true; 2153 } 2154 } else if (w.e != null) { 2155 // local weekday -- counting starts from beginning of week 2156 weekday = w.e + dow; 2157 if (w.e < 0 || w.e > 6) { 2158 weekdayOverflow = true; 2159 } 2160 } else { 2161 // default to beginning of week 2162 weekday = dow; 2163 } 2164 } 2165 if (week < 1 || week > weeksInYear(weekYear, dow, doy)) { 2166 getParsingFlags(config)._overflowWeeks = true; 2167 } else if (weekdayOverflow != null) { 2168 getParsingFlags(config)._overflowWeekday = true; 2169 } else { 2170 temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy); 2171 config._a[YEAR] = temp.year; 2172 config._dayOfYear = temp.dayOfYear; 2173 } 2174 } 2175 2176 // iso 8601 regex 2177 // 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) 2178 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)?)?$/; 2179 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)?)?$/; 2180 2181 var tzRegex = /Z|[+-]\d\d(?::?\d\d)?/; 2182 2183 var isoDates = [ 2184 ['YYYYYY-MM-DD', /[+-]\d{6}-\d\d-\d\d/], 2185 ['YYYY-MM-DD', /\d{4}-\d\d-\d\d/], 2186 ['GGGG-[W]WW-E', /\d{4}-W\d\d-\d/], 2187 ['GGGG-[W]WW', /\d{4}-W\d\d/, false], 2188 ['YYYY-DDD', /\d{4}-\d{3}/], 2189 ['YYYY-MM', /\d{4}-\d\d/, false], 2190 ['YYYYYYMMDD', /[+-]\d{10}/], 2191 ['YYYYMMDD', /\d{8}/], 2192 // YYYYMM is NOT allowed by the standard 2193 ['GGGG[W]WWE', /\d{4}W\d{3}/], 2194 ['GGGG[W]WW', /\d{4}W\d{2}/, false], 2195 ['YYYYDDD', /\d{7}/] 2196 ]; 2197 2198 // iso time formats and regexes 2199 var isoTimes = [ 2200 ['HH:mm:ss.SSSS', /\d\d:\d\d:\d\d\.\d+/], 2201 ['HH:mm:ss,SSSS', /\d\d:\d\d:\d\d,\d+/], 2202 ['HH:mm:ss', /\d\d:\d\d:\d\d/], 2203 ['HH:mm', /\d\d:\d\d/], 2204 ['HHmmss.SSSS', /\d\d\d\d\d\d\.\d+/], 2205 ['HHmmss,SSSS', /\d\d\d\d\d\d,\d+/], 2206 ['HHmmss', /\d\d\d\d\d\d/], 2207 ['HHmm', /\d\d\d\d/], 2208 ['HH', /\d\d/] 2209 ]; 2210 2211 var aspNetJsonRegex = /^\/?Date\((\-?\d+)/i; 2212 2213 // date from iso format 2214 function configFromISO(config) { 2215 var i, l, 2216 string = config._i, 2217 match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string), 2218 allowTime, dateFormat, timeFormat, tzFormat; 2219 2220 if (match) { 2221 getParsingFlags(config).iso = true; 2222 2223 for (i = 0, l = isoDates.length; i < l; i++) { 2224 if (isoDates[i][1].exec(match[1])) { 2225 dateFormat = isoDates[i][0]; 2226 allowTime = isoDates[i][2] !== false; 2227 break; 2228 } 2229 } 2230 if (dateFormat == null) { 2231 config._isValid = false; 2232 return; 2233 } 2234 if (match[3]) { 2235 for (i = 0, l = isoTimes.length; i < l; i++) { 2236 if (isoTimes[i][1].exec(match[3])) { 2237 // match[2] should be 'T' or space 2238 timeFormat = (match[2] || ' ') + isoTimes[i][0]; 2239 break; 2240 } 2241 } 2242 if (timeFormat == null) { 2243 config._isValid = false; 2244 return; 2245 } 2246 } 2247 if (!allowTime && timeFormat != null) { 2248 config._isValid = false; 2249 return; 2250 } 2251 if (match[4]) { 2252 if (tzRegex.exec(match[4])) { 2253 tzFormat = 'Z'; 2254 } else { 2255 config._isValid = false; 2256 return; 2257 } 2258 } 2259 config._f = dateFormat + (timeFormat || '') + (tzFormat || ''); 2260 configFromStringAndFormat(config); 2261 } else { 2262 config._isValid = false; 2263 } 2264 } 2265 2266 // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3 2267 var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\s)?(\d{1,2})\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s(\d{2,4})\s(\d\d):(\d\d)(?::(\d\d))?\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\d{4}))$/; 2268 2269 function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) { 2270 var result = [ 2271 untruncateYear(yearStr), 2272 defaultLocaleMonthsShort.indexOf(monthStr), 2273 parseInt(dayStr, 10), 2274 parseInt(hourStr, 10), 2275 parseInt(minuteStr, 10) 2276 ]; 2277 2278 if (secondStr) { 2279 result.push(parseInt(secondStr, 10)); 2280 } 2281 2282 return result; 2283 } 2284 2285 function untruncateYear(yearStr) { 2286 var year = parseInt(yearStr, 10); 2287 if (year <= 49) { 2288 return 2000 + year; 2289 } else if (year <= 999) { 2290 return 1900 + year; 2291 } 2292 return year; 2293 } 2294 2295 function preprocessRFC2822(s) { 2296 // Remove comments and folding whitespace and replace multiple-spaces with a single space 2297 return s.replace(/\([^)]*\)|[\n\t]/g, ' ').replace(/(\s\s+)/g, ' ').replace(/^\s\s*/, '').replace(/\s\s*$/, ''); 2298 } 2299 2300 function checkWeekday(weekdayStr, parsedInput, config) { 2301 if (weekdayStr) { 2302 // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check. 2303 var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr), 2304 weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay(); 2305 if (weekdayProvided !== weekdayActual) { 2306 getParsingFlags(config).weekdayMismatch = true; 2307 config._isValid = false; 2308 return false; 2309 } 2310 } 2311 return true; 2312 } 2313 2314 var obsOffsets = { 2315 UT: 0, 2316 GMT: 0, 2317 EDT: -4 * 60, 2318 EST: -5 * 60, 2319 CDT: -5 * 60, 2320 CST: -6 * 60, 2321 MDT: -6 * 60, 2322 MST: -7 * 60, 2323 PDT: -7 * 60, 2324 PST: -8 * 60 2325 }; 2326 2327 function calculateOffset(obsOffset, militaryOffset, numOffset) { 2328 if (obsOffset) { 2329 return obsOffsets[obsOffset]; 2330 } else if (militaryOffset) { 2331 // the only allowed military tz is Z 2332 return 0; 2333 } else { 2334 var hm = parseInt(numOffset, 10); 2335 var m = hm % 100, h = (hm - m) / 100; 2336 return h * 60 + m; 2337 } 2338 } 2339 2340 // date and time from ref 2822 format 2341 function configFromRFC2822(config) { 2342 var match = rfc2822.exec(preprocessRFC2822(config._i)); 2343 if (match) { 2344 var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]); 2345 if (!checkWeekday(match[1], parsedArray, config)) { 2346 return; 2347 } 2348 2349 config._a = parsedArray; 2350 config._tzm = calculateOffset(match[8], match[9], match[10]); 2351 2352 config._d = createUTCDate.apply(null, config._a); 2353 config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm); 2354 2355 getParsingFlags(config).rfc2822 = true; 2356 } else { 2357 config._isValid = false; 2358 } 2359 } 2360 2361 // date from iso format or fallback 2362 function configFromString(config) { 2363 var matched = aspNetJsonRegex.exec(config._i); 2364 2365 if (matched !== null) { 2366 config._d = new Date(+matched[1]); 2367 return; 2368 } 2369 2370 configFromISO(config); 2371 if (config._isValid === false) { 2372 delete config._isValid; 2373 } else { 2374 return; 2375 } 2376 2377 configFromRFC2822(config); 2378 if (config._isValid === false) { 2379 delete config._isValid; 2380 } else { 2381 return; 2382 } 2383 2384 // Final attempt, use Input Fallback 2385 hooks.createFromInputFallback(config); 2386 } 2387 2388 hooks.createFromInputFallback = deprecate( 2389 'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' + 2390 'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' + 2391 'discouraged and will be removed in an upcoming major release. Please refer to ' + 2392 'http://momentjs.com/guides/#/warnings/js-date/ for more info.', 2393 function (config) { 2394 config._d = new Date(config._i + (config._useUTC ? ' UTC' : '')); 2395 } 2396 ); 2397 2398 // constant that refers to the ISO standard 2399 hooks.ISO_8601 = function () {}; 2400 2401 // constant that refers to the RFC 2822 form 2402 hooks.RFC_2822 = function () {}; 2403 2404 // date from string and format string 2405 function configFromStringAndFormat(config) { 2406 // TODO: Move this to another part of the creation flow to prevent circular deps 2407 if (config._f === hooks.ISO_8601) { 2408 configFromISO(config); 2409 return; 2410 } 2411 if (config._f === hooks.RFC_2822) { 2412 configFromRFC2822(config); 2413 return; 2414 } 2415 config._a = []; 2416 getParsingFlags(config).empty = true; 2417 2418 // This array is used to make a Date, either with `new Date` or `Date.UTC` 2419 var string = '' + config._i, 2420 i, parsedInput, tokens, token, skipped, 2421 stringLength = string.length, 2422 totalParsedInputLength = 0; 2423 2424 tokens = expandFormat(config._f, config._locale).match(formattingTokens) || []; 2425 2426 for (i = 0; i < tokens.length; i++) { 2427 token = tokens[i]; 2428 parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0]; 2429 // console.log('token', token, 'parsedInput', parsedInput, 2430 // 'regex', getParseRegexForToken(token, config)); 2431 if (parsedInput) { 2432 skipped = string.substr(0, string.indexOf(parsedInput)); 2433 if (skipped.length > 0) { 2434 getParsingFlags(config).unusedInput.push(skipped); 2435 } 2436 string = string.slice(string.indexOf(parsedInput) + parsedInput.length); 2437 totalParsedInputLength += parsedInput.length; 2438 } 2439 // don't parse if it's not a known token 2440 if (formatTokenFunctions[token]) { 2441 if (parsedInput) { 2442 getParsingFlags(config).empty = false; 2443 } 2444 else { 2445 getParsingFlags(config).unusedTokens.push(token); 2446 } 2447 addTimeToArrayFromToken(token, parsedInput, config); 2448 } 2449 else if (config._strict && !parsedInput) { 2450 getParsingFlags(config).unusedTokens.push(token); 2451 } 2452 } 2453 2454 // add remaining unparsed input length to the string 2455 getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength; 2456 if (string.length > 0) { 2457 getParsingFlags(config).unusedInput.push(string); 2458 } 2459 2460 // clear _12h flag if hour is <= 12 2461 if (config._a[HOUR] <= 12 && 2462 getParsingFlags(config).bigHour === true && 2463 config._a[HOUR] > 0) { 2464 getParsingFlags(config).bigHour = undefined; 2465 } 2466 2467 getParsingFlags(config).parsedDateParts = config._a.slice(0); 2468 getParsingFlags(config).meridiem = config._meridiem; 2469 // handle meridiem 2470 config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem); 2471 2472 configFromArray(config); 2473 checkOverflow(config); 2474 } 2475 2476 2477 function meridiemFixWrap (locale, hour, meridiem) { 2478 var isPm; 2479 2480 if (meridiem == null) { 2481 // nothing to do 2482 return hour; 2483 } 2484 if (locale.meridiemHour != null) { 2485 return locale.meridiemHour(hour, meridiem); 2486 } else if (locale.isPM != null) { 2487 // Fallback 2488 isPm = locale.isPM(meridiem); 2489 if (isPm && hour < 12) { 2490 hour += 12; 2491 } 2492 if (!isPm && hour === 12) { 2493 hour = 0; 2494 } 2495 return hour; 2496 } else { 2497 // this is not supposed to happen 2498 return hour; 2499 } 2500 } 2501 2502 // date from string and array of format strings 2503 function configFromStringAndArray(config) { 2504 var tempConfig, 2505 bestMoment, 2506 2507 scoreToBeat, 2508 i, 2509 currentScore; 2510 2511 if (config._f.length === 0) { 2512 getParsingFlags(config).invalidFormat = true; 2513 config._d = new Date(NaN); 2514 return; 2515 } 2516 2517 for (i = 0; i < config._f.length; i++) { 2518 currentScore = 0; 2519 tempConfig = copyConfig({}, config); 2520 if (config._useUTC != null) { 2521 tempConfig._useUTC = config._useUTC; 2522 } 2523 tempConfig._f = config._f[i]; 2524 configFromStringAndFormat(tempConfig); 2525 2526 if (!isValid(tempConfig)) { 2527 continue; 2528 } 2529 2530 // if there is any input that was not parsed add a penalty for that format 2531 currentScore += getParsingFlags(tempConfig).charsLeftOver; 2532 2533 //or tokens 2534 currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10; 2535 2536 getParsingFlags(tempConfig).score = currentScore; 2537 2538 if (scoreToBeat == null || currentScore < scoreToBeat) { 2539 scoreToBeat = currentScore; 2540 bestMoment = tempConfig; 2541 } 2542 } 2543 2544 extend(config, bestMoment || tempConfig); 2545 } 2546 2547 function configFromObject(config) { 2548 if (config._d) { 2549 return; 2550 } 2551 2552 var i = normalizeObjectUnits(config._i); 2553 config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) { 2554 return obj && parseInt(obj, 10); 2555 }); 2556 2557 configFromArray(config); 2558 } 2559 2560 function createFromConfig (config) { 2561 var res = new Moment(checkOverflow(prepareConfig(config))); 2562 if (res._nextDay) { 2563 // Adding is smart enough around DST 2564 res.add(1, 'd'); 2565 res._nextDay = undefined; 2566 } 2567 2568 return res; 2569 } 2570 2571 function prepareConfig (config) { 2572 var input = config._i, 2573 format = config._f; 2574 2575 config._locale = config._locale || getLocale(config._l); 2576 2577 if (input === null || (format === undefined && input === '')) { 2578 return createInvalid({nullInput: true}); 2579 } 2580 2581 if (typeof input === 'string') { 2582 config._i = input = config._locale.preparse(input); 2583 } 2584 2585 if (isMoment(input)) { 2586 return new Moment(checkOverflow(input)); 2587 } else if (isDate(input)) { 2588 config._d = input; 2589 } else if (isArray(format)) { 2590 configFromStringAndArray(config); 2591 } else if (format) { 2592 configFromStringAndFormat(config); 2593 } else { 2594 configFromInput(config); 2595 } 2596 2597 if (!isValid(config)) { 2598 config._d = null; 2599 } 2600 2601 return config; 2602 } 2603 2604 function configFromInput(config) { 2605 var input = config._i; 2606 if (isUndefined(input)) { 2607 config._d = new Date(hooks.now()); 2608 } else if (isDate(input)) { 2609 config._d = new Date(input.valueOf()); 2610 } else if (typeof input === 'string') { 2611 configFromString(config); 2612 } else if (isArray(input)) { 2613 config._a = map(input.slice(0), function (obj) { 2614 return parseInt(obj, 10); 2615 }); 2616 configFromArray(config); 2617 } else if (isObject(input)) { 2618 configFromObject(config); 2619 } else if (isNumber(input)) { 2620 // from milliseconds 2621 config._d = new Date(input); 2622 } else { 2623 hooks.createFromInputFallback(config); 2624 } 2625 } 2626 2627 function createLocalOrUTC (input, format, locale, strict, isUTC) { 2628 var c = {}; 2629 2630 if (locale === true || locale === false) { 2631 strict = locale; 2632 locale = undefined; 2633 } 2634 2635 if ((isObject(input) && isObjectEmpty(input)) || 2636 (isArray(input) && input.length === 0)) { 2637 input = undefined; 2638 } 2639 // object construction must be done this way. 2640 // https://github.com/moment/moment/issues/1423 2641 c._isAMomentObject = true; 2642 c._useUTC = c._isUTC = isUTC; 2643 c._l = locale; 2644 c._i = input; 2645 c._f = format; 2646 c._strict = strict; 2647 2648 return createFromConfig(c); 2649 } 2650 2651 function createLocal (input, format, locale, strict) { 2652 return createLocalOrUTC(input, format, locale, strict, false); 2653 } 2654 2655 var prototypeMin = deprecate( 2656 'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/', 2657 function () { 2658 var other = createLocal.apply(null, arguments); 2659 if (this.isValid() && other.isValid()) { 2660 return other < this ? this : other; 2661 } else { 2662 return createInvalid(); 2663 } 2664 } 2665 ); 2666 2667 var prototypeMax = deprecate( 2668 'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/', 2669 function () { 2670 var other = createLocal.apply(null, arguments); 2671 if (this.isValid() && other.isValid()) { 2672 return other > this ? this : other; 2673 } else { 2674 return createInvalid(); 2675 } 2676 } 2677 ); 2678 2679 // Pick a moment m from moments so that m[fn](other) is true for all 2680 // other. This relies on the function fn to be transitive. 2681 // 2682 // moments should either be an array of moment objects or an array, whose 2683 // first element is an array of moment objects. 2684 function pickBy(fn, moments) { 2685 var res, i; 2686 if (moments.length === 1 && isArray(moments[0])) { 2687 moments = moments[0]; 2688 } 2689 if (!moments.length) { 2690 return createLocal(); 2691 } 2692 res = moments[0]; 2693 for (i = 1; i < moments.length; ++i) { 2694 if (!moments[i].isValid() || moments[i][fn](res)) { 2695 res = moments[i]; 2696 } 2697 } 2698 return res; 2699 } 2700 2701 // TODO: Use [].sort instead? 2702 function min () { 2703 var args = [].slice.call(arguments, 0); 2704 2705 return pickBy('isBefore', args); 2706 } 2707 2708 function max () { 2709 var args = [].slice.call(arguments, 0); 2710 2711 return pickBy('isAfter', args); 2712 } 2713 2714 var now = function () { 2715 return Date.now ? Date.now() : +(new Date()); 2716 }; 2717 2718 var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond']; 2719 2720 function isDurationValid(m) { 2721 for (var key in m) { 2722 if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) { 2723 return false; 2724 } 2725 } 2726 2727 var unitHasDecimal = false; 2728 for (var i = 0; i < ordering.length; ++i) { 2729 if (m[ordering[i]]) { 2730 if (unitHasDecimal) { 2731 return false; // only allow non-integers for smallest unit 2732 } 2733 if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) { 2734 unitHasDecimal = true; 2735 } 2736 } 2737 } 2738 2739 return true; 2740 } 2741 2742 function isValid$1() { 2743 return this._isValid; 2744 } 2745 2746 function createInvalid$1() { 2747 return createDuration(NaN); 2748 } 2749 2750 function Duration (duration) { 2751 var normalizedInput = normalizeObjectUnits(duration), 2752 years = normalizedInput.year || 0, 2753 quarters = normalizedInput.quarter || 0, 2754 months = normalizedInput.month || 0, 2755 weeks = normalizedInput.week || normalizedInput.isoWeek || 0, 2756 days = normalizedInput.day || 0, 2757 hours = normalizedInput.hour || 0, 2758 minutes = normalizedInput.minute || 0, 2759 seconds = normalizedInput.second || 0, 2760 milliseconds = normalizedInput.millisecond || 0; 2761 2762 this._isValid = isDurationValid(normalizedInput); 2763 2764 // representation for dateAddRemove 2765 this._milliseconds = +milliseconds + 2766 seconds * 1e3 + // 1000 2767 minutes * 6e4 + // 1000 * 60 2768 hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978 2769 // Because of dateAddRemove treats 24 hours as different from a 2770 // day when working around DST, we need to store them separately 2771 this._days = +days + 2772 weeks * 7; 2773 // It is impossible to translate months into days without knowing 2774 // which months you are are talking about, so we have to store 2775 // it separately. 2776 this._months = +months + 2777 quarters * 3 + 2778 years * 12; 2779 2780 this._data = {}; 2781 2782 this._locale = getLocale(); 2783 2784 this._bubble(); 2785 } 2786 2787 function isDuration (obj) { 2788 return obj instanceof Duration; 2789 } 2790 2791 function absRound (number) { 2792 if (number < 0) { 2793 return Math.round(-1 * number) * -1; 2794 } else { 2795 return Math.round(number); 2796 } 2797 } 2798 2799 // FORMATTING 2800 2801 function offset (token, separator) { 2802 addFormatToken(token, 0, 0, function () { 2803 var offset = this.utcOffset(); 2804 var sign = '+'; 2805 if (offset < 0) { 2806 offset = -offset; 2807 sign = '-'; 2808 } 2809 return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2); 2810 }); 2811 } 2812 2813 offset('Z', ':'); 2814 offset('ZZ', ''); 2815 2816 // PARSING 2817 2818 addRegexToken('Z', matchShortOffset); 2819 addRegexToken('ZZ', matchShortOffset); 2820 addParseToken(['Z', 'ZZ'], function (input, array, config) { 2821 config._useUTC = true; 2822 config._tzm = offsetFromString(matchShortOffset, input); 2823 }); 2824 2825 // HELPERS 2826 2827 // timezone chunker 2828 // '+10:00' > ['10', '00'] 2829 // '-1530' > ['-15', '30'] 2830 var chunkOffset = /([\+\-]|\d\d)/gi; 2831 2832 function offsetFromString(matcher, string) { 2833 var matches = (string || '').match(matcher); 2834 2835 if (matches === null) { 2836 return null; 2837 } 2838 2839 var chunk = matches[matches.length - 1] || []; 2840 var parts = (chunk + '').match(chunkOffset) || ['-', 0, 0]; 2841 var minutes = +(parts[1] * 60) + toInt(parts[2]); 2842 2843 return minutes === 0 ? 2844 0 : 2845 parts[0] === '+' ? minutes : -minutes; 2846 } 2847 2848 // Return a moment from input, that is local/utc/zone equivalent to model. 2849 function cloneWithOffset(input, model) { 2850 var res, diff; 2851 if (model._isUTC) { 2852 res = model.clone(); 2853 diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf(); 2854 // Use low-level api, because this fn is low-level api. 2855 res._d.setTime(res._d.valueOf() + diff); 2856 hooks.updateOffset(res, false); 2857 return res; 2858 } else { 2859 return createLocal(input).local(); 2860 } 2861 } 2862 2863 function getDateOffset (m) { 2864 // On Firefox.24 Date#getTimezoneOffset returns a floating point. 2865 // https://github.com/moment/moment/pull/1871 2866 return -Math.round(m._d.getTimezoneOffset() / 15) * 15; 2867 } 2868 2869 // HOOKS 2870 2871 // This function will be called whenever a moment is mutated. 2872 // It is intended to keep the offset in sync with the timezone. 2873 hooks.updateOffset = function () {}; 2874 2875 // MOMENTS 2876 2877 // keepLocalTime = true means only change the timezone, without 2878 // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]--> 2879 // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset 2880 // +0200, so we adjust the time as needed, to be valid. 2881 // 2882 // Keeping the time actually adds/subtracts (one hour) 2883 // from the actual represented time. That is why we call updateOffset 2884 // a second time. In case it wants us to change the offset again 2885 // _changeInProgress == true case, then we have to adjust, because 2886 // there is no such time in the given timezone. 2887 function getSetOffset (input, keepLocalTime, keepMinutes) { 2888 var offset = this._offset || 0, 2889 localAdjust; 2890 if (!this.isValid()) { 2891 return input != null ? this : NaN; 2892 } 2893 if (input != null) { 2894 if (typeof input === 'string') { 2895 input = offsetFromString(matchShortOffset, input); 2896 if (input === null) { 2897 return this; 2898 } 2899 } else if (Math.abs(input) < 16 && !keepMinutes) { 2900 input = input * 60; 2901 } 2902 if (!this._isUTC && keepLocalTime) { 2903 localAdjust = getDateOffset(this); 2904 } 2905 this._offset = input; 2906 this._isUTC = true; 2907 if (localAdjust != null) { 2908 this.add(localAdjust, 'm'); 2909 } 2910 if (offset !== input) { 2911 if (!keepLocalTime || this._changeInProgress) { 2912 addSubtract(this, createDuration(input - offset, 'm'), 1, false); 2913 } else if (!this._changeInProgress) { 2914 this._changeInProgress = true; 2915 hooks.updateOffset(this, true); 2916 this._changeInProgress = null; 2917 } 2918 } 2919 return this; 2920 } else { 2921 return this._isUTC ? offset : getDateOffset(this); 2922 } 2923 } 2924 2925 function getSetZone (input, keepLocalTime) { 2926 if (input != null) { 2927 if (typeof input !== 'string') { 2928 input = -input; 2929 } 2930 2931 this.utcOffset(input, keepLocalTime); 2932 2933 return this; 2934 } else { 2935 return -this.utcOffset(); 2936 } 2937 } 2938 2939 function setOffsetToUTC (keepLocalTime) { 2940 return this.utcOffset(0, keepLocalTime); 2941 } 2942 2943 function setOffsetToLocal (keepLocalTime) { 2944 if (this._isUTC) { 2945 this.utcOffset(0, keepLocalTime); 2946 this._isUTC = false; 2947 2948 if (keepLocalTime) { 2949 this.subtract(getDateOffset(this), 'm'); 2950 } 2951 } 2952 return this; 2953 } 2954 2955 function setOffsetToParsedOffset () { 2956 if (this._tzm != null) { 2957 this.utcOffset(this._tzm, false, true); 2958 } else if (typeof this._i === 'string') { 2959 var tZone = offsetFromString(matchOffset, this._i); 2960 if (tZone != null) { 2961 this.utcOffset(tZone); 2962 } 2963 else { 2964 this.utcOffset(0, true); 2965 } 2966 } 2967 return this; 2968 } 2969 2970 function hasAlignedHourOffset (input) { 2971 if (!this.isValid()) { 2972 return false; 2973 } 2974 input = input ? createLocal(input).utcOffset() : 0; 2975 2976 return (this.utcOffset() - input) % 60 === 0; 2977 } 2978 2979 function isDaylightSavingTime () { 2980 return ( 2981 this.utcOffset() > this.clone().month(0).utcOffset() || 2982 this.utcOffset() > this.clone().month(5).utcOffset() 2983 ); 2984 } 2985 2986 function isDaylightSavingTimeShifted () { 2987 if (!isUndefined(this._isDSTShifted)) { 2988 return this._isDSTShifted; 2989 } 2990 2991 var c = {}; 2992 2993 copyConfig(c, this); 2994 c = prepareConfig(c); 2995 2996 if (c._a) { 2997 var other = c._isUTC ? createUTC(c._a) : createLocal(c._a); 2998 this._isDSTShifted = this.isValid() && 2999 compareArrays(c._a, other.toArray()) > 0; 3000 } else { 3001 this._isDSTShifted = false; 3002 } 3003 3004 return this._isDSTShifted; 3005 } 3006 3007 function isLocal () { 3008 return this.isValid() ? !this._isUTC : false; 3009 } 3010 3011 function isUtcOffset () { 3012 return this.isValid() ? this._isUTC : false; 3013 } 3014 3015 function isUtc () { 3016 return this.isValid() ? this._isUTC && this._offset === 0 : false; 3017 } 3018 3019 // ASP.NET json date format regex 3020 var aspNetRegex = /^(\-|\+)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/; 3021 3022 // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html 3023 // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere 3024 // and further modified to allow for strings containing both week and day 3025 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)?)?$/; 3026 3027 function createDuration (input, key) { 3028 var duration = input, 3029 // matching against regexp is expensive, do it on demand 3030 match = null, 3031 sign, 3032 ret, 3033 diffRes; 3034 3035 if (isDuration(input)) { 3036 duration = { 3037 ms : input._milliseconds, 3038 d : input._days, 3039 M : input._months 3040 }; 3041 } else if (isNumber(input)) { 3042 duration = {}; 3043 if (key) { 3044 duration[key] = input; 3045 } else { 3046 duration.milliseconds = input; 3047 } 3048 } else if (!!(match = aspNetRegex.exec(input))) { 3049 sign = (match[1] === '-') ? -1 : 1; 3050 duration = { 3051 y : 0, 3052 d : toInt(match[DATE]) * sign, 3053 h : toInt(match[HOUR]) * sign, 3054 m : toInt(match[MINUTE]) * sign, 3055 s : toInt(match[SECOND]) * sign, 3056 ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match 3057 }; 3058 } else if (!!(match = isoRegex.exec(input))) { 3059 sign = (match[1] === '-') ? -1 : 1; 3060 duration = { 3061 y : parseIso(match[2], sign), 3062 M : parseIso(match[3], sign), 3063 w : parseIso(match[4], sign), 3064 d : parseIso(match[5], sign), 3065 h : parseIso(match[6], sign), 3066 m : parseIso(match[7], sign), 3067 s : parseIso(match[8], sign) 3068 }; 3069 } else if (duration == null) {// checks for null or undefined 3070 duration = {}; 3071 } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) { 3072 diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to)); 3073 3074 duration = {}; 3075 duration.ms = diffRes.milliseconds; 3076 duration.M = diffRes.months; 3077 } 3078 3079 ret = new Duration(duration); 3080 3081 if (isDuration(input) && hasOwnProp(input, '_locale')) { 3082 ret._locale = input._locale; 3083 } 3084 3085 return ret; 3086 } 3087 3088 createDuration.fn = Duration.prototype; 3089 createDuration.invalid = createInvalid$1; 3090 3091 function parseIso (inp, sign) { 3092 // We'd normally use ~~inp for this, but unfortunately it also 3093 // converts floats to ints. 3094 // inp may be undefined, so careful calling replace on it. 3095 var res = inp && parseFloat(inp.replace(',', '.')); 3096 // apply sign while we're at it 3097 return (isNaN(res) ? 0 : res) * sign; 3098 } 3099 3100 function positiveMomentsDifference(base, other) { 3101 var res = {}; 3102 3103 res.months = other.month() - base.month() + 3104 (other.year() - base.year()) * 12; 3105 if (base.clone().add(res.months, 'M').isAfter(other)) { 3106 --res.months; 3107 } 3108 3109 res.milliseconds = +other - +(base.clone().add(res.months, 'M')); 3110 3111 return res; 3112 } 3113 3114 function momentsDifference(base, other) { 3115 var res; 3116 if (!(base.isValid() && other.isValid())) { 3117 return {milliseconds: 0, months: 0}; 3118 } 3119 3120 other = cloneWithOffset(other, base); 3121 if (base.isBefore(other)) { 3122 res = positiveMomentsDifference(base, other); 3123 } else { 3124 res = positiveMomentsDifference(other, base); 3125 res.milliseconds = -res.milliseconds; 3126 res.months = -res.months; 3127 } 3128 3129 return res; 3130 } 3131 3132 // TODO: remove 'name' arg after deprecation is removed 3133 function createAdder(direction, name) { 3134 return function (val, period) { 3135 var dur, tmp; 3136 //invert the arguments, but complain about it 3137 if (period !== null && !isNaN(+period)) { 3138 deprecateSimple(name, 'moment().' + name + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' + 3139 'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.'); 3140 tmp = val; val = period; period = tmp; 3141 } 3142 3143 val = typeof val === 'string' ? +val : val; 3144 dur = createDuration(val, period); 3145 addSubtract(this, dur, direction); 3146 return this; 3147 }; 3148 } 3149 3150 function addSubtract (mom, duration, isAdding, updateOffset) { 3151 var milliseconds = duration._milliseconds, 3152 days = absRound(duration._days), 3153 months = absRound(duration._months); 3154 3155 if (!mom.isValid()) { 3156 // No op 3157 return; 3158 } 3159 3160 updateOffset = updateOffset == null ? true : updateOffset; 3161 3162 if (months) { 3163 setMonth(mom, get(mom, 'Month') + months * isAdding); 3164 } 3165 if (days) { 3166 set$1(mom, 'Date', get(mom, 'Date') + days * isAdding); 3167 } 3168 if (milliseconds) { 3169 mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding); 3170 } 3171 if (updateOffset) { 3172 hooks.updateOffset(mom, days || months); 3173 } 3174 } 3175 3176 var add = createAdder(1, 'add'); 3177 var subtract = createAdder(-1, 'subtract'); 3178 3179 function getCalendarFormat(myMoment, now) { 3180 var diff = myMoment.diff(now, 'days', true); 3181 return diff < -6 ? 'sameElse' : 3182 diff < -1 ? 'lastWeek' : 3183 diff < 0 ? 'lastDay' : 3184 diff < 1 ? 'sameDay' : 3185 diff < 2 ? 'nextDay' : 3186 diff < 7 ? 'nextWeek' : 'sameElse'; 3187 } 3188 3189 function calendar$1 (time, formats) { 3190 // We want to compare the start of today, vs this. 3191 // Getting start-of-today depends on whether we're local/utc/offset or not. 3192 var now = time || createLocal(), 3193 sod = cloneWithOffset(now, this).startOf('day'), 3194 format = hooks.calendarFormat(this, sod) || 'sameElse'; 3195 3196 var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]); 3197 3198 return this.format(output || this.localeData().calendar(format, this, createLocal(now))); 3199 } 3200 3201 function clone () { 3202 return new Moment(this); 3203 } 3204 3205 function isAfter (input, units) { 3206 var localInput = isMoment(input) ? input : createLocal(input); 3207 if (!(this.isValid() && localInput.isValid())) { 3208 return false; 3209 } 3210 units = normalizeUnits(units) || 'millisecond'; 3211 if (units === 'millisecond') { 3212 return this.valueOf() > localInput.valueOf(); 3213 } else { 3214 return localInput.valueOf() < this.clone().startOf(units).valueOf(); 3215 } 3216 } 3217 3218 function isBefore (input, units) { 3219 var localInput = isMoment(input) ? input : createLocal(input); 3220 if (!(this.isValid() && localInput.isValid())) { 3221 return false; 3222 } 3223 units = normalizeUnits(units) || 'millisecond'; 3224 if (units === 'millisecond') { 3225 return this.valueOf() < localInput.valueOf(); 3226 } else { 3227 return this.clone().endOf(units).valueOf() < localInput.valueOf(); 3228 } 3229 } 3230 3231 function isBetween (from, to, units, inclusivity) { 3232 var localFrom = isMoment(from) ? from : createLocal(from), 3233 localTo = isMoment(to) ? to : createLocal(to); 3234 if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) { 3235 return false; 3236 } 3237 inclusivity = inclusivity || '()'; 3238 return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) && 3239 (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units)); 3240 } 3241 3242 function isSame (input, units) { 3243 var localInput = isMoment(input) ? input : createLocal(input), 3244 inputMs; 3245 if (!(this.isValid() && localInput.isValid())) { 3246 return false; 3247 } 3248 units = normalizeUnits(units) || 'millisecond'; 3249 if (units === 'millisecond') { 3250 return this.valueOf() === localInput.valueOf(); 3251 } else { 3252 inputMs = localInput.valueOf(); 3253 return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf(); 3254 } 3255 } 3256 3257 function isSameOrAfter (input, units) { 3258 return this.isSame(input, units) || this.isAfter(input, units); 3259 } 3260 3261 function isSameOrBefore (input, units) { 3262 return this.isSame(input, units) || this.isBefore(input, units); 3263 } 3264 3265 function diff (input, units, asFloat) { 3266 var that, 3267 zoneDelta, 3268 output; 3269 3270 if (!this.isValid()) { 3271 return NaN; 3272 } 3273 3274 that = cloneWithOffset(input, this); 3275 3276 if (!that.isValid()) { 3277 return NaN; 3278 } 3279 3280 zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4; 3281 3282 units = normalizeUnits(units); 3283 3284 switch (units) { 3285 case 'year': output = monthDiff(this, that) / 12; break; 3286 case 'month': output = monthDiff(this, that); break; 3287 case 'quarter': output = monthDiff(this, that) / 3; break; 3288 case 'second': output = (this - that) / 1e3; break; // 1000 3289 case 'minute': output = (this - that) / 6e4; break; // 1000 * 60 3290 case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60 3291 case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst 3292 case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst 3293 default: output = this - that; 3294 } 3295 3296 return asFloat ? output : absFloor(output); 3297 } 3298 3299 function monthDiff (a, b) { 3300 // difference in months 3301 var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()), 3302 // b is in (anchor - 1 month, anchor + 1 month) 3303 anchor = a.clone().add(wholeMonthDiff, 'months'), 3304 anchor2, adjust; 3305 3306 if (b - anchor < 0) { 3307 anchor2 = a.clone().add(wholeMonthDiff - 1, 'months'); 3308 // linear across the month 3309 adjust = (b - anchor) / (anchor - anchor2); 3310 } else { 3311 anchor2 = a.clone().add(wholeMonthDiff + 1, 'months'); 3312 // linear across the month 3313 adjust = (b - anchor) / (anchor2 - anchor); 3314 } 3315 3316 //check for negative zero, return zero if negative zero 3317 return -(wholeMonthDiff + adjust) || 0; 3318 } 3319 3320 hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ'; 3321 hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]'; 3322 3323 function toString () { 3324 return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ'); 3325 } 3326 3327 function toISOString(keepOffset) { 3328 if (!this.isValid()) { 3329 return null; 3330 } 3331 var utc = keepOffset !== true; 3332 var m = utc ? this.clone().utc() : this; 3333 if (m.year() < 0 || m.year() > 9999) { 3334 return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ'); 3335 } 3336 if (isFunction(Date.prototype.toISOString)) { 3337 // native implementation is ~50x faster, use it when we can 3338 if (utc) { 3339 return this.toDate().toISOString(); 3340 } else { 3341 return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z')); 3342 } 3343 } 3344 return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ'); 3345 } 3346 3347 /** 3348 * Return a human readable representation of a moment that can 3349 * also be evaluated to get a new moment which is the same 3350 * 3351 * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects 3352 */ 3353 function inspect () { 3354 if (!this.isValid()) { 3355 return 'moment.invalid(/* ' + this._i + ' */)'; 3356 } 3357 var func = 'moment'; 3358 var zone = ''; 3359 if (!this.isLocal()) { 3360 func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone'; 3361 zone = 'Z'; 3362 } 3363 var prefix = '[' + func + '("]'; 3364 var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY'; 3365 var datetime = '-MM-DD[T]HH:mm:ss.SSS'; 3366 var suffix = zone + '[")]'; 3367 3368 return this.format(prefix + year + datetime + suffix); 3369 } 3370 3371 function format (inputString) { 3372 if (!inputString) { 3373 inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat; 3374 } 3375 var output = formatMoment(this, inputString); 3376 return this.localeData().postformat(output); 3377 } 3378 3379 function from (time, withoutSuffix) { 3380 if (this.isValid() && 3381 ((isMoment(time) && time.isValid()) || 3382 createLocal(time).isValid())) { 3383 return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix); 3384 } else { 3385 return this.localeData().invalidDate(); 3386 } 3387 } 3388 3389 function fromNow (withoutSuffix) { 3390 return this.from(createLocal(), withoutSuffix); 3391 } 3392 3393 function to (time, withoutSuffix) { 3394 if (this.isValid() && 3395 ((isMoment(time) && time.isValid()) || 3396 createLocal(time).isValid())) { 3397 return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix); 3398 } else { 3399 return this.localeData().invalidDate(); 3400 } 3401 } 3402 3403 function toNow (withoutSuffix) { 3404 return this.to(createLocal(), withoutSuffix); 3405 } 3406 3407 // If passed a locale key, it will set the locale for this 3408 // instance. Otherwise, it will return the locale configuration 3409 // variables for this instance. 3410 function locale (key) { 3411 var newLocaleData; 3412 3413 if (key === undefined) { 3414 return this._locale._abbr; 3415 } else { 3416 newLocaleData = getLocale(key); 3417 if (newLocaleData != null) { 3418 this._locale = newLocaleData; 3419 } 3420 return this; 3421 } 3422 } 3423 3424 var lang = deprecate( 3425 'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.', 3426 function (key) { 3427 if (key === undefined) { 3428 return this.localeData(); 3429 } else { 3430 return this.locale(key); 3431 } 3432 } 3433 ); 3434 3435 function localeData () { 3436 return this._locale; 3437 } 3438 3439 var MS_PER_SECOND = 1000; 3440 var MS_PER_MINUTE = 60 * MS_PER_SECOND; 3441 var MS_PER_HOUR = 60 * MS_PER_MINUTE; 3442 var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR; 3443 3444 // actual modulo - handles negative numbers (for dates before 1970): 3445 function mod$1(dividend, divisor) { 3446 return (dividend % divisor + divisor) % divisor; 3447 } 3448 3449 function localStartOfDate(y, m, d) { 3450 // the date constructor remaps years 0-99 to 1900-1999 3451 if (y < 100 && y >= 0) { 3452 // preserve leap years using a full 400 year cycle, then reset 3453 return new Date(y + 400, m, d) - MS_PER_400_YEARS; 3454 } else { 3455 return new Date(y, m, d).valueOf(); 3456 } 3457 } 3458 3459 function utcStartOfDate(y, m, d) { 3460 // Date.UTC remaps years 0-99 to 1900-1999 3461 if (y < 100 && y >= 0) { 3462 // preserve leap years using a full 400 year cycle, then reset 3463 return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS; 3464 } else { 3465 return Date.UTC(y, m, d); 3466 } 3467 } 3468 3469 function startOf (units) { 3470 var time; 3471 units = normalizeUnits(units); 3472 if (units === undefined || units === 'millisecond' || !this.isValid()) { 3473 return this; 3474 } 3475 3476 var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; 3477 3478 switch (units) { 3479 case 'year': 3480 time = startOfDate(this.year(), 0, 1); 3481 break; 3482 case 'quarter': 3483 time = startOfDate(this.year(), this.month() - this.month() % 3, 1); 3484 break; 3485 case 'month': 3486 time = startOfDate(this.year(), this.month(), 1); 3487 break; 3488 case 'week': 3489 time = startOfDate(this.year(), this.month(), this.date() - this.weekday()); 3490 break; 3491 case 'isoWeek': 3492 time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1)); 3493 break; 3494 case 'day': 3495 case 'date': 3496 time = startOfDate(this.year(), this.month(), this.date()); 3497 break; 3498 case 'hour': 3499 time = this._d.valueOf(); 3500 time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR); 3501 break; 3502 case 'minute': 3503 time = this._d.valueOf(); 3504 time -= mod$1(time, MS_PER_MINUTE); 3505 break; 3506 case 'second': 3507 time = this._d.valueOf(); 3508 time -= mod$1(time, MS_PER_SECOND); 3509 break; 3510 } 3511 3512 this._d.setTime(time); 3513 hooks.updateOffset(this, true); 3514 return this; 3515 } 3516 3517 function endOf (units) { 3518 var time; 3519 units = normalizeUnits(units); 3520 if (units === undefined || units === 'millisecond' || !this.isValid()) { 3521 return this; 3522 } 3523 3524 var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate; 3525 3526 switch (units) { 3527 case 'year': 3528 time = startOfDate(this.year() + 1, 0, 1) - 1; 3529 break; 3530 case 'quarter': 3531 time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1; 3532 break; 3533 case 'month': 3534 time = startOfDate(this.year(), this.month() + 1, 1) - 1; 3535 break; 3536 case 'week': 3537 time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1; 3538 break; 3539 case 'isoWeek': 3540 time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1; 3541 break; 3542 case 'day': 3543 case 'date': 3544 time = startOfDate(this.year(), this.month(), this.date() + 1) - 1; 3545 break; 3546 case 'hour': 3547 time = this._d.valueOf(); 3548 time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1; 3549 break; 3550 case 'minute': 3551 time = this._d.valueOf(); 3552 time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1; 3553 break; 3554 case 'second': 3555 time = this._d.valueOf(); 3556 time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1; 3557 break; 3558 } 3559 3560 this._d.setTime(time); 3561 hooks.updateOffset(this, true); 3562 return this; 3563 } 3564 3565 function valueOf () { 3566 return this._d.valueOf() - ((this._offset || 0) * 60000); 3567 } 3568 3569 function unix () { 3570 return Math.floor(this.valueOf() / 1000); 3571 } 3572 3573 function toDate () { 3574 return new Date(this.valueOf()); 3575 } 3576 3577 function toArray () { 3578 var m = this; 3579 return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()]; 3580 } 3581 3582 function toObject () { 3583 var m = this; 3584 return { 3585 years: m.year(), 3586 months: m.month(), 3587 date: m.date(), 3588 hours: m.hours(), 3589 minutes: m.minutes(), 3590 seconds: m.seconds(), 3591 milliseconds: m.milliseconds() 3592 }; 3593 } 3594 3595 function toJSON () { 3596 // new Date(NaN).toJSON() === null 3597 return this.isValid() ? this.toISOString() : null; 3598 } 3599 3600 function isValid$2 () { 3601 return isValid(this); 3602 } 3603 3604 function parsingFlags () { 3605 return extend({}, getParsingFlags(this)); 3606 } 3607 3608 function invalidAt () { 3609 return getParsingFlags(this).overflow; 3610 } 3611 3612 function creationData() { 3613 return { 3614 input: this._i, 3615 format: this._f, 3616 locale: this._locale, 3617 isUTC: this._isUTC, 3618 strict: this._strict 3619 }; 3620 } 3621 3622 // FORMATTING 3623 3624 addFormatToken(0, ['gg', 2], 0, function () { 3625 return this.weekYear() % 100; 3626 }); 3627 3628 addFormatToken(0, ['GG', 2], 0, function () { 3629 return this.isoWeekYear() % 100; 3630 }); 3631 3632 function addWeekYearFormatToken (token, getter) { 3633 addFormatToken(0, [token, token.length], 0, getter); 3634 } 3635 3636 addWeekYearFormatToken('gggg', 'weekYear'); 3637 addWeekYearFormatToken('ggggg', 'weekYear'); 3638 addWeekYearFormatToken('GGGG', 'isoWeekYear'); 3639 addWeekYearFormatToken('GGGGG', 'isoWeekYear'); 3640 3641 // ALIASES 3642 3643 addUnitAlias('weekYear', 'gg'); 3644 addUnitAlias('isoWeekYear', 'GG'); 3645 3646 // PRIORITY 3647 3648 addUnitPriority('weekYear', 1); 3649 addUnitPriority('isoWeekYear', 1); 3650 3651 3652 // PARSING 3653 3654 addRegexToken('G', matchSigned); 3655 addRegexToken('g', matchSigned); 3656 addRegexToken('GG', match1to2, match2); 3657 addRegexToken('gg', match1to2, match2); 3658 addRegexToken('GGGG', match1to4, match4); 3659 addRegexToken('gggg', match1to4, match4); 3660 addRegexToken('GGGGG', match1to6, match6); 3661 addRegexToken('ggggg', match1to6, match6); 3662 3663 addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) { 3664 week[token.substr(0, 2)] = toInt(input); 3665 }); 3666 3667 addWeekParseToken(['gg', 'GG'], function (input, week, config, token) { 3668 week[token] = hooks.parseTwoDigitYear(input); 3669 }); 3670 3671 // MOMENTS 3672 3673 function getSetWeekYear (input) { 3674 return getSetWeekYearHelper.call(this, 3675 input, 3676 this.week(), 3677 this.weekday(), 3678 this.localeData()._week.dow, 3679 this.localeData()._week.doy); 3680 } 3681 3682 function getSetISOWeekYear (input) { 3683 return getSetWeekYearHelper.call(this, 3684 input, this.isoWeek(), this.isoWeekday(), 1, 4); 3685 } 3686 3687 function getISOWeeksInYear () { 3688 return weeksInYear(this.year(), 1, 4); 3689 } 3690 3691 function getWeeksInYear () { 3692 var weekInfo = this.localeData()._week; 3693 return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy); 3694 } 3695 3696 function getSetWeekYearHelper(input, week, weekday, dow, doy) { 3697 var weeksTarget; 3698 if (input == null) { 3699 return weekOfYear(this, dow, doy).year; 3700 } else { 3701 weeksTarget = weeksInYear(input, dow, doy); 3702 if (week > weeksTarget) { 3703 week = weeksTarget; 3704 } 3705 return setWeekAll.call(this, input, week, weekday, dow, doy); 3706 } 3707 } 3708 3709 function setWeekAll(weekYear, week, weekday, dow, doy) { 3710 var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy), 3711 date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear); 3712 3713 this.year(date.getUTCFullYear()); 3714 this.month(date.getUTCMonth()); 3715 this.date(date.getUTCDate()); 3716 return this; 3717 } 3718 3719 // FORMATTING 3720 3721 addFormatToken('Q', 0, 'Qo', 'quarter'); 3722 3723 // ALIASES 3724 3725 addUnitAlias('quarter', 'Q'); 3726 3727 // PRIORITY 3728 3729 addUnitPriority('quarter', 7); 3730 3731 // PARSING 3732 3733 addRegexToken('Q', match1); 3734 addParseToken('Q', function (input, array) { 3735 array[MONTH] = (toInt(input) - 1) * 3; 3736 }); 3737 3738 // MOMENTS 3739 3740 function getSetQuarter (input) { 3741 return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3); 3742 } 3743 3744 // FORMATTING 3745 3746 addFormatToken('D', ['DD', 2], 'Do', 'date'); 3747 3748 // ALIASES 3749 3750 addUnitAlias('date', 'D'); 3751 3752 // PRIORITY 3753 addUnitPriority('date', 9); 3754 3755 // PARSING 3756 3757 addRegexToken('D', match1to2); 3758 addRegexToken('DD', match1to2, match2); 3759 addRegexToken('Do', function (isStrict, locale) { 3760 // TODO: Remove "ordinalParse" fallback in next major release. 3761 return isStrict ? 3762 (locale._dayOfMonthOrdinalParse || locale._ordinalParse) : 3763 locale._dayOfMonthOrdinalParseLenient; 3764 }); 3765 3766 addParseToken(['D', 'DD'], DATE); 3767 addParseToken('Do', function (input, array) { 3768 array[DATE] = toInt(input.match(match1to2)[0]); 3769 }); 3770 3771 // MOMENTS 3772 3773 var getSetDayOfMonth = makeGetSet('Date', true); 3774 3775 // FORMATTING 3776 3777 addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear'); 3778 3779 // ALIASES 3780 3781 addUnitAlias('dayOfYear', 'DDD'); 3782 3783 // PRIORITY 3784 addUnitPriority('dayOfYear', 4); 3785 3786 // PARSING 3787 3788 addRegexToken('DDD', match1to3); 3789 addRegexToken('DDDD', match3); 3790 addParseToken(['DDD', 'DDDD'], function (input, array, config) { 3791 config._dayOfYear = toInt(input); 3792 }); 3793 3794 // HELPERS 3795 3796 // MOMENTS 3797 3798 function getSetDayOfYear (input) { 3799 var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1; 3800 return input == null ? dayOfYear : this.add((input - dayOfYear), 'd'); 3801 } 3802 3803 // FORMATTING 3804 3805 addFormatToken('m', ['mm', 2], 0, 'minute'); 3806 3807 // ALIASES 3808 3809 addUnitAlias('minute', 'm'); 3810 3811 // PRIORITY 3812 3813 addUnitPriority('minute', 14); 3814 3815 // PARSING 3816 3817 addRegexToken('m', match1to2); 3818 addRegexToken('mm', match1to2, match2); 3819 addParseToken(['m', 'mm'], MINUTE); 3820 3821 // MOMENTS 3822 3823 var getSetMinute = makeGetSet('Minutes', false); 3824 3825 // FORMATTING 3826 3827 addFormatToken('s', ['ss', 2], 0, 'second'); 3828 3829 // ALIASES 3830 3831 addUnitAlias('second', 's'); 3832 3833 // PRIORITY 3834 3835 addUnitPriority('second', 15); 3836 3837 // PARSING 3838 3839 addRegexToken('s', match1to2); 3840 addRegexToken('ss', match1to2, match2); 3841 addParseToken(['s', 'ss'], SECOND); 3842 3843 // MOMENTS 3844 3845 var getSetSecond = makeGetSet('Seconds', false); 3846 3847 // FORMATTING 3848 3849 addFormatToken('S', 0, 0, function () { 3850 return ~~(this.millisecond() / 100); 3851 }); 3852 3853 addFormatToken(0, ['SS', 2], 0, function () { 3854 return ~~(this.millisecond() / 10); 3855 }); 3856 3857 addFormatToken(0, ['SSS', 3], 0, 'millisecond'); 3858 addFormatToken(0, ['SSSS', 4], 0, function () { 3859 return this.millisecond() * 10; 3860 }); 3861 addFormatToken(0, ['SSSSS', 5], 0, function () { 3862 return this.millisecond() * 100; 3863 }); 3864 addFormatToken(0, ['SSSSSS', 6], 0, function () { 3865 return this.millisecond() * 1000; 3866 }); 3867 addFormatToken(0, ['SSSSSSS', 7], 0, function () { 3868 return this.millisecond() * 10000; 3869 }); 3870 addFormatToken(0, ['SSSSSSSS', 8], 0, function () { 3871 return this.millisecond() * 100000; 3872 }); 3873 addFormatToken(0, ['SSSSSSSSS', 9], 0, function () { 3874 return this.millisecond() * 1000000; 3875 }); 3876 3877 3878 // ALIASES 3879 3880 addUnitAlias('millisecond', 'ms'); 3881 3882 // PRIORITY 3883 3884 addUnitPriority('millisecond', 16); 3885 3886 // PARSING 3887 3888 addRegexToken('S', match1to3, match1); 3889 addRegexToken('SS', match1to3, match2); 3890 addRegexToken('SSS', match1to3, match3); 3891 3892 var token; 3893 for (token = 'SSSS'; token.length <= 9; token += 'S') { 3894 addRegexToken(token, matchUnsigned); 3895 } 3896 3897 function parseMs(input, array) { 3898 array[MILLISECOND] = toInt(('0.' + input) * 1000); 3899 } 3900 3901 for (token = 'S'; token.length <= 9; token += 'S') { 3902 addParseToken(token, parseMs); 3903 } 3904 // MOMENTS 3905 3906 var getSetMillisecond = makeGetSet('Milliseconds', false); 3907 3908 // FORMATTING 3909 3910 addFormatToken('z', 0, 0, 'zoneAbbr'); 3911 addFormatToken('zz', 0, 0, 'zoneName'); 3912 3913 // MOMENTS 3914 3915 function getZoneAbbr () { 3916 return this._isUTC ? 'UTC' : ''; 3917 } 3918 3919 function getZoneName () { 3920 return this._isUTC ? 'Coordinated Universal Time' : ''; 3921 } 3922 3923 var proto = Moment.prototype; 3924 3925 proto.add = add; 3926 proto.calendar = calendar$1; 3927 proto.clone = clone; 3928 proto.diff = diff; 3929 proto.endOf = endOf; 3930 proto.format = format; 3931 proto.from = from; 3932 proto.fromNow = fromNow; 3933 proto.to = to; 3934 proto.toNow = toNow; 3935 proto.get = stringGet; 3936 proto.invalidAt = invalidAt; 3937 proto.isAfter = isAfter; 3938 proto.isBefore = isBefore; 3939 proto.isBetween = isBetween; 3940 proto.isSame = isSame; 3941 proto.isSameOrAfter = isSameOrAfter; 3942 proto.isSameOrBefore = isSameOrBefore; 3943 proto.isValid = isValid$2; 3944 proto.lang = lang; 3945 proto.locale = locale; 3946 proto.localeData = localeData; 3947 proto.max = prototypeMax; 3948 proto.min = prototypeMin; 3949 proto.parsingFlags = parsingFlags; 3950 proto.set = stringSet; 3951 proto.startOf = startOf; 3952 proto.subtract = subtract; 3953 proto.toArray = toArray; 3954 proto.toObject = toObject; 3955 proto.toDate = toDate; 3956 proto.toISOString = toISOString; 3957 proto.inspect = inspect; 3958 proto.toJSON = toJSON; 3959 proto.toString = toString; 3960 proto.unix = unix; 3961 proto.valueOf = valueOf; 3962 proto.creationData = creationData; 3963 proto.year = getSetYear; 3964 proto.isLeapYear = getIsLeapYear; 3965 proto.weekYear = getSetWeekYear; 3966 proto.isoWeekYear = getSetISOWeekYear; 3967 proto.quarter = proto.quarters = getSetQuarter; 3968 proto.month = getSetMonth; 3969 proto.daysInMonth = getDaysInMonth; 3970 proto.week = proto.weeks = getSetWeek; 3971 proto.isoWeek = proto.isoWeeks = getSetISOWeek; 3972 proto.weeksInYear = getWeeksInYear; 3973 proto.isoWeeksInYear = getISOWeeksInYear; 3974 proto.date = getSetDayOfMonth; 3975 proto.day = proto.days = getSetDayOfWeek; 3976 proto.weekday = getSetLocaleDayOfWeek; 3977 proto.isoWeekday = getSetISODayOfWeek; 3978 proto.dayOfYear = getSetDayOfYear; 3979 proto.hour = proto.hours = getSetHour; 3980 proto.minute = proto.minutes = getSetMinute; 3981 proto.second = proto.seconds = getSetSecond; 3982 proto.millisecond = proto.milliseconds = getSetMillisecond; 3983 proto.utcOffset = getSetOffset; 3984 proto.utc = setOffsetToUTC; 3985 proto.local = setOffsetToLocal; 3986 proto.parseZone = setOffsetToParsedOffset; 3987 proto.hasAlignedHourOffset = hasAlignedHourOffset; 3988 proto.isDST = isDaylightSavingTime; 3989 proto.isLocal = isLocal; 3990 proto.isUtcOffset = isUtcOffset; 3991 proto.isUtc = isUtc; 3992 proto.isUTC = isUtc; 3993 proto.zoneAbbr = getZoneAbbr; 3994 proto.zoneName = getZoneName; 3995 proto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth); 3996 proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth); 3997 proto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear); 3998 proto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone); 3999 proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted); 4000 4001 function createUnix (input) { 4002 return createLocal(input * 1000); 4003 } 4004 4005 function createInZone () { 4006 return createLocal.apply(null, arguments).parseZone(); 4007 } 4008 4009 function preParsePostFormat (string) { 4010 return string; 4011 } 4012 4013 var proto$1 = Locale.prototype; 4014 4015 proto$1.calendar = calendar; 4016 proto$1.longDateFormat = longDateFormat; 4017 proto$1.invalidDate = invalidDate; 4018 proto$1.ordinal = ordinal; 4019 proto$1.preparse = preParsePostFormat; 4020 proto$1.postformat = preParsePostFormat; 4021 proto$1.relativeTime = relativeTime; 4022 proto$1.pastFuture = pastFuture; 4023 proto$1.set = set; 4024 4025 proto$1.months = localeMonths; 4026 proto$1.monthsShort = localeMonthsShort; 4027 proto$1.monthsParse = localeMonthsParse; 4028 proto$1.monthsRegex = monthsRegex; 4029 proto$1.monthsShortRegex = monthsShortRegex; 4030 proto$1.week = localeWeek; 4031 proto$1.firstDayOfYear = localeFirstDayOfYear; 4032 proto$1.firstDayOfWeek = localeFirstDayOfWeek; 4033 4034 proto$1.weekdays = localeWeekdays; 4035 proto$1.weekdaysMin = localeWeekdaysMin; 4036 proto$1.weekdaysShort = localeWeekdaysShort; 4037 proto$1.weekdaysParse = localeWeekdaysParse; 4038 4039 proto$1.weekdaysRegex = weekdaysRegex; 4040 proto$1.weekdaysShortRegex = weekdaysShortRegex; 4041 proto$1.weekdaysMinRegex = weekdaysMinRegex; 4042 4043 proto$1.isPM = localeIsPM; 4044 proto$1.meridiem = localeMeridiem; 4045 4046 function get$1 (format, index, field, setter) { 4047 var locale = getLocale(); 4048 var utc = createUTC().set(setter, index); 4049 return locale[field](utc, format); 4050 } 4051 4052 function listMonthsImpl (format, index, field) { 4053 if (isNumber(format)) { 4054 index = format; 4055 format = undefined; 4056 } 4057 4058 format = format || ''; 4059 4060 if (index != null) { 4061 return get$1(format, index, field, 'month'); 4062 } 4063 4064 var i; 4065 var out = []; 4066 for (i = 0; i < 12; i++) { 4067 out[i] = get$1(format, i, field, 'month'); 4068 } 4069 return out; 4070 } 4071 4072 // () 4073 // (5) 4074 // (fmt, 5) 4075 // (fmt) 4076 // (true) 4077 // (true, 5) 4078 // (true, fmt, 5) 4079 // (true, fmt) 4080 function listWeekdaysImpl (localeSorted, format, index, field) { 4081 if (typeof localeSorted === 'boolean') { 4082 if (isNumber(format)) { 4083 index = format; 4084 format = undefined; 4085 } 4086 4087 format = format || ''; 4088 } else { 4089 format = localeSorted; 4090 index = format; 4091 localeSorted = false; 4092 4093 if (isNumber(format)) { 4094 index = format; 4095 format = undefined; 4096 } 4097 4098 format = format || ''; 4099 } 4100 4101 var locale = getLocale(), 4102 shift = localeSorted ? locale._week.dow : 0; 4103 4104 if (index != null) { 4105 return get$1(format, (index + shift) % 7, field, 'day'); 4106 } 4107 4108 var i; 4109 var out = []; 4110 for (i = 0; i < 7; i++) { 4111 out[i] = get$1(format, (i + shift) % 7, field, 'day'); 4112 } 4113 return out; 4114 } 4115 4116 function listMonths (format, index) { 4117 return listMonthsImpl(format, index, 'months'); 4118 } 4119 4120 function listMonthsShort (format, index) { 4121 return listMonthsImpl(format, index, 'monthsShort'); 4122 } 4123 4124 function listWeekdays (localeSorted, format, index) { 4125 return listWeekdaysImpl(localeSorted, format, index, 'weekdays'); 4126 } 4127 4128 function listWeekdaysShort (localeSorted, format, index) { 4129 return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort'); 4130 } 4131 4132 function listWeekdaysMin (localeSorted, format, index) { 4133 return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin'); 4134 } 4135 4136 getSetGlobalLocale('en', { 4137 dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, 4138 ordinal : function (number) { 4139 var b = number % 10, 4140 output = (toInt(number % 100 / 10) === 1) ? 'th' : 4141 (b === 1) ? 'st' : 4142 (b === 2) ? 'nd' : 4143 (b === 3) ? 'rd' : 'th'; 4144 return number + output; 4145 } 4146 }); 4147 4148 // Side effect imports 4149 4150 hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale); 4151 hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale); 4152 4153 var mathAbs = Math.abs; 4154 4155 function abs () { 4156 var data = this._data; 4157 4158 this._milliseconds = mathAbs(this._milliseconds); 4159 this._days = mathAbs(this._days); 4160 this._months = mathAbs(this._months); 4161 4162 data.milliseconds = mathAbs(data.milliseconds); 4163 data.seconds = mathAbs(data.seconds); 4164 data.minutes = mathAbs(data.minutes); 4165 data.hours = mathAbs(data.hours); 4166 data.months = mathAbs(data.months); 4167 data.years = mathAbs(data.years); 4168 4169 return this; 4170 } 4171 4172 function addSubtract$1 (duration, input, value, direction) { 4173 var other = createDuration(input, value); 4174 4175 duration._milliseconds += direction * other._milliseconds; 4176 duration._days += direction * other._days; 4177 duration._months += direction * other._months; 4178 4179 return duration._bubble(); 4180 } 4181 4182 // supports only 2.0-style add(1, 's') or add(duration) 4183 function add$1 (input, value) { 4184 return addSubtract$1(this, input, value, 1); 4185 } 4186 4187 // supports only 2.0-style subtract(1, 's') or subtract(duration) 4188 function subtract$1 (input, value) { 4189 return addSubtract$1(this, input, value, -1); 4190 } 4191 4192 function absCeil (number) { 4193 if (number < 0) { 4194 return Math.floor(number); 4195 } else { 4196 return Math.ceil(number); 4197 } 4198 } 4199 4200 function bubble () { 4201 var milliseconds = this._milliseconds; 4202 var days = this._days; 4203 var months = this._months; 4204 var data = this._data; 4205 var seconds, minutes, hours, years, monthsFromDays; 4206 4207 // if we have a mix of positive and negative values, bubble down first 4208 // check: https://github.com/moment/moment/issues/2166 4209 if (!((milliseconds >= 0 && days >= 0 && months >= 0) || 4210 (milliseconds <= 0 && days <= 0 && months <= 0))) { 4211 milliseconds += absCeil(monthsToDays(months) + days) * 864e5; 4212 days = 0; 4213 months = 0; 4214 } 4215 4216 // The following code bubbles up values, see the tests for 4217 // examples of what that means. 4218 data.milliseconds = milliseconds % 1000; 4219 4220 seconds = absFloor(milliseconds / 1000); 4221 data.seconds = seconds % 60; 4222 4223 minutes = absFloor(seconds / 60); 4224 data.minutes = minutes % 60; 4225 4226 hours = absFloor(minutes / 60); 4227 data.hours = hours % 24; 4228 4229 days += absFloor(hours / 24); 4230 4231 // convert days to months 4232 monthsFromDays = absFloor(daysToMonths(days)); 4233 months += monthsFromDays; 4234 days -= absCeil(monthsToDays(monthsFromDays)); 4235 4236 // 12 months -> 1 year 4237 years = absFloor(months / 12); 4238 months %= 12; 4239 4240 data.days = days; 4241 data.months = months; 4242 data.years = years; 4243 4244 return this; 4245 } 4246 4247 function daysToMonths (days) { 4248 // 400 years have 146097 days (taking into account leap year rules) 4249 // 400 years have 12 months === 4800 4250 return days * 4800 / 146097; 4251 } 4252 4253 function monthsToDays (months) { 4254 // the reverse of daysToMonths 4255 return months * 146097 / 4800; 4256 } 4257 4258 function as (units) { 4259 if (!this.isValid()) { 4260 return NaN; 4261 } 4262 var days; 4263 var months; 4264 var milliseconds = this._milliseconds; 4265 4266 units = normalizeUnits(units); 4267 4268 if (units === 'month' || units === 'quarter' || units === 'year') { 4269 days = this._days + milliseconds / 864e5; 4270 months = this._months + daysToMonths(days); 4271 switch (units) { 4272 case 'month': return months; 4273 case 'quarter': return months / 3; 4274 case 'year': return months / 12; 4275 } 4276 } else { 4277 // handle milliseconds separately because of floating point math errors (issue #1867) 4278 days = this._days + Math.round(monthsToDays(this._months)); 4279 switch (units) { 4280 case 'week' : return days / 7 + milliseconds / 6048e5; 4281 case 'day' : return days + milliseconds / 864e5; 4282 case 'hour' : return days * 24 + milliseconds / 36e5; 4283 case 'minute' : return days * 1440 + milliseconds / 6e4; 4284 case 'second' : return days * 86400 + milliseconds / 1000; 4285 // Math.floor prevents floating point math errors here 4286 case 'millisecond': return Math.floor(days * 864e5) + milliseconds; 4287 default: throw new Error('Unknown unit ' + units); 4288 } 4289 } 4290 } 4291 4292 // TODO: Use this.as('ms')? 4293 function valueOf$1 () { 4294 if (!this.isValid()) { 4295 return NaN; 4296 } 4297 return ( 4298 this._milliseconds + 4299 this._days * 864e5 + 4300 (this._months % 12) * 2592e6 + 4301 toInt(this._months / 12) * 31536e6 4302 ); 4303 } 4304 4305 function makeAs (alias) { 4306 return function () { 4307 return this.as(alias); 4308 }; 4309 } 4310 4311 var asMilliseconds = makeAs('ms'); 4312 var asSeconds = makeAs('s'); 4313 var asMinutes = makeAs('m'); 4314 var asHours = makeAs('h'); 4315 var asDays = makeAs('d'); 4316 var asWeeks = makeAs('w'); 4317 var asMonths = makeAs('M'); 4318 var asQuarters = makeAs('Q'); 4319 var asYears = makeAs('y'); 4320 4321 function clone$1 () { 4322 return createDuration(this); 4323 } 4324 4325 function get$2 (units) { 4326 units = normalizeUnits(units); 4327 return this.isValid() ? this[units + 's']() : NaN; 4328 } 4329 4330 function makeGetter(name) { 4331 return function () { 4332 return this.isValid() ? this._data[name] : NaN; 4333 }; 4334 } 4335 4336 var milliseconds = makeGetter('milliseconds'); 4337 var seconds = makeGetter('seconds'); 4338 var minutes = makeGetter('minutes'); 4339 var hours = makeGetter('hours'); 4340 var days = makeGetter('days'); 4341 var months = makeGetter('months'); 4342 var years = makeGetter('years'); 4343 4344 function weeks () { 4345 return absFloor(this.days() / 7); 4346 } 4347 4348 var round = Math.round; 4349 var thresholds = { 4350 ss: 44, // a few seconds to seconds 4351 s : 45, // seconds to minute 4352 m : 45, // minutes to hour 4353 h : 22, // hours to day 4354 d : 26, // days to month 4355 M : 11 // months to year 4356 }; 4357 4358 // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize 4359 function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) { 4360 return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture); 4361 } 4362 4363 function relativeTime$1 (posNegDuration, withoutSuffix, locale) { 4364 var duration = createDuration(posNegDuration).abs(); 4365 var seconds = round(duration.as('s')); 4366 var minutes = round(duration.as('m')); 4367 var hours = round(duration.as('h')); 4368 var days = round(duration.as('d')); 4369 var months = round(duration.as('M')); 4370 var years = round(duration.as('y')); 4371 4372 var a = seconds <= thresholds.ss && ['s', seconds] || 4373 seconds < thresholds.s && ['ss', seconds] || 4374 minutes <= 1 && ['m'] || 4375 minutes < thresholds.m && ['mm', minutes] || 4376 hours <= 1 && ['h'] || 4377 hours < thresholds.h && ['hh', hours] || 4378 days <= 1 && ['d'] || 4379 days < thresholds.d && ['dd', days] || 4380 months <= 1 && ['M'] || 4381 months < thresholds.M && ['MM', months] || 4382 years <= 1 && ['y'] || ['yy', years]; 4383 4384 a[2] = withoutSuffix; 4385 a[3] = +posNegDuration > 0; 4386 a[4] = locale; 4387 return substituteTimeAgo.apply(null, a); 4388 } 4389 4390 // This function allows you to set the rounding function for relative time strings 4391 function getSetRelativeTimeRounding (roundingFunction) { 4392 if (roundingFunction === undefined) { 4393 return round; 4394 } 4395 if (typeof(roundingFunction) === 'function') { 4396 round = roundingFunction; 4397 return true; 4398 } 4399 return false; 4400 } 4401 4402 // This function allows you to set a threshold for relative time strings 4403 function getSetRelativeTimeThreshold (threshold, limit) { 4404 if (thresholds[threshold] === undefined) { 4405 return false; 4406 } 4407 if (limit === undefined) { 4408 return thresholds[threshold]; 4409 } 4410 thresholds[threshold] = limit; 4411 if (threshold === 's') { 4412 thresholds.ss = limit - 1; 4413 } 4414 return true; 4415 } 4416 4417 function humanize (withSuffix) { 4418 if (!this.isValid()) { 4419 return this.localeData().invalidDate(); 4420 } 4421 4422 var locale = this.localeData(); 4423 var output = relativeTime$1(this, !withSuffix, locale); 4424 4425 if (withSuffix) { 4426 output = locale.pastFuture(+this, output); 4427 } 4428 4429 return locale.postformat(output); 4430 } 4431 4432 var abs$1 = Math.abs; 4433 4434 function sign(x) { 4435 return ((x > 0) - (x < 0)) || +x; 4436 } 4437 4438 function toISOString$1() { 4439 // for ISO strings we do not use the normal bubbling rules: 4440 // * milliseconds bubble up until they become hours 4441 // * days do not bubble at all 4442 // * months bubble up until they become years 4443 // This is because there is no context-free conversion between hours and days 4444 // (think of clock changes) 4445 // and also not between days and months (28-31 days per month) 4446 if (!this.isValid()) { 4447 return this.localeData().invalidDate(); 4448 } 4449 4450 var seconds = abs$1(this._milliseconds) / 1000; 4451 var days = abs$1(this._days); 4452 var months = abs$1(this._months); 4453 var minutes, hours, years; 4454 4455 // 3600 seconds -> 60 minutes -> 1 hour 4456 minutes = absFloor(seconds / 60); 4457 hours = absFloor(minutes / 60); 4458 seconds %= 60; 4459 minutes %= 60; 4460 4461 // 12 months -> 1 year 4462 years = absFloor(months / 12); 4463 months %= 12; 4464 4465 4466 // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js 4467 var Y = years; 4468 var M = months; 4469 var D = days; 4470 var h = hours; 4471 var m = minutes; 4472 var s = seconds ? seconds.toFixed(3).replace(/\.?0+$/, '') : ''; 4473 var total = this.asSeconds(); 4474 4475 if (!total) { 4476 // this is the same as C#'s (Noda) and python (isodate)... 4477 // but not other JS (goog.date) 4478 return 'P0D'; 4479 } 4480 4481 var totalSign = total < 0 ? '-' : ''; 4482 var ymSign = sign(this._months) !== sign(total) ? '-' : ''; 4483 var daysSign = sign(this._days) !== sign(total) ? '-' : ''; 4484 var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : ''; 4485 4486 return totalSign + 'P' + 4487 (Y ? ymSign + Y + 'Y' : '') + 4488 (M ? ymSign + M + 'M' : '') + 4489 (D ? daysSign + D + 'D' : '') + 4490 ((h || m || s) ? 'T' : '') + 4491 (h ? hmsSign + h + 'H' : '') + 4492 (m ? hmsSign + m + 'M' : '') + 4493 (s ? hmsSign + s + 'S' : ''); 4494 } 4495 4496 var proto$2 = Duration.prototype; 4497 4498 proto$2.isValid = isValid$1; 4499 proto$2.abs = abs; 4500 proto$2.add = add$1; 4501 proto$2.subtract = subtract$1; 4502 proto$2.as = as; 4503 proto$2.asMilliseconds = asMilliseconds; 4504 proto$2.asSeconds = asSeconds; 4505 proto$2.asMinutes = asMinutes; 4506 proto$2.asHours = asHours; 4507 proto$2.asDays = asDays; 4508 proto$2.asWeeks = asWeeks; 4509 proto$2.asMonths = asMonths; 4510 proto$2.asQuarters = asQuarters; 4511 proto$2.asYears = asYears; 4512 proto$2.valueOf = valueOf$1; 4513 proto$2._bubble = bubble; 4514 proto$2.clone = clone$1; 4515 proto$2.get = get$2; 4516 proto$2.milliseconds = milliseconds; 4517 proto$2.seconds = seconds; 4518 proto$2.minutes = minutes; 4519 proto$2.hours = hours; 4520 proto$2.days = days; 4521 proto$2.weeks = weeks; 4522 proto$2.months = months; 4523 proto$2.years = years; 4524 proto$2.humanize = humanize; 4525 proto$2.toISOString = toISOString$1; 4526 proto$2.toString = toISOString$1; 4527 proto$2.toJSON = toISOString$1; 4528 proto$2.locale = locale; 4529 proto$2.localeData = localeData; 4530 4531 proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1); 4532 proto$2.lang = lang; 4533 4534 // Side effect imports 4535 4536 // FORMATTING 4537 4538 addFormatToken('X', 0, 0, 'unix'); 4539 addFormatToken('x', 0, 0, 'valueOf'); 4540 4541 // PARSING 4542 4543 addRegexToken('x', matchSigned); 4544 addRegexToken('X', matchTimestamp); 4545 addParseToken('X', function (input, array, config) { 4546 config._d = new Date(parseFloat(input, 10) * 1000); 4547 }); 4548 addParseToken('x', function (input, array, config) { 4549 config._d = new Date(toInt(input)); 4550 }); 4551 4552 // Side effect imports 4553
4554 //! moment.js 4555 4556 hooks.version = '2.24.0'; 4557 4558 setHookCallback(createLocal); 4559 4560 hooks.fn = proto; 4561 hooks.min = min; 4562 hooks.max = max; 4563 hooks.now = now; 4564 hooks.utc = createUTC; 4565 hooks.unix = createUnix; 4566 hooks.months = listMonths; 4567 hooks.isDate = isDate; 4568 hooks.locale = getSetGlobalLocale; 4569 hooks.invalid = createInvalid; 4570 hooks.duration = createDuration; 4571 hooks.isMoment = isMoment; 4572 hooks.weekdays = listWeekdays; 4573 hooks.parseZone = createInZone; 4574 hooks.localeData = getLocale; 4575 hooks.isDuration = isDuration; 4576 hooks.monthsShort = listMonthsShort; 4577 hooks.weekdaysMin = listWeekdaysMin; 4578 hooks.defineLocale = defineLocale; 4579 hooks.updateLocale = updateLocale; 4580 hooks.locales = listLocales; 4581 hooks.weekdaysShort = listWeekdaysShort; 4582 hooks.normalizeUnits = normalizeUnits; 4583 hooks.relativeTimeRounding = getSetRelativeTimeRounding; 4584 hooks.relativeTimeThreshold = getSetRelativeTimeThreshold; 4585 hooks.calendarFormat = getCalendarFormat; 4586 hooks.prototype = proto; 4587 4588 // currently HTML5 input type only supports 24-hour formats 4589 hooks.HTML5_FMT = { 4590 DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm', // <input type="datetime-local" /> 4591 DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss', // <input type="datetime-local" step="1" /> 4592 DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS', // <input type="datetime-local" step="0.001" /> 4593 DATE: 'YYYY-MM-DD', // <input type="date" /> 4594 TIME: 'HH:mm', // <input type="time" /> 4595 TIME_SECONDS: 'HH:mm:ss', // <input type="time" step="1" /> 4596 TIME_MS: 'HH:mm:ss.SSS', // <input type="time" step="0.001" /> 4597 WEEK: 'GGGG-[W]WW', // <input type="week" /> 4598 MONTH: 'YYYY-MM' // <input type="month" /> 4599 }; 4600 4601 //! moment.js locale configuration 4602 4603 hooks.defineLocale('af', { 4604 months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'), 4605 monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'), 4606 weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'), 4607 weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'), 4608 weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'), 4609 meridiemParse: /vm|nm/i, 4610 isPM : function (input) { 4611 return /^nm$/i.test(input); 4612 }, 4613 meridiem : function (hours, minutes, isLower) { 4614 if (hours < 12) { 4615 return isLower ? 'vm' : 'VM'; 4616 } else { 4617 return isLower ? 'nm' : 'NM'; 4618 } 4619 }, 4620 longDateFormat : { 4621 LT : 'HH:mm', 4622 LTS : 'HH:mm:ss', 4623 L : 'DD/MM/YYYY', 4624 LL : 'D MMMM YYYY', 4625 LLL : 'D MMMM YYYY HH:mm', 4626 LLLL : 'dddd, D MMMM YYYY HH:mm' 4627 }, 4628 calendar : { 4629 sameDay : '[Vandag om] LT', 4630 nextDay : '[Môre om] LT', 4631 nextWeek : 'dddd [om] LT', 4632 lastDay : '[Gister om] LT', 4633 lastWeek : '[Laas] dddd [om] LT', 4634 sameElse : 'L' 4635 }, 4636 relativeTime : {
vendor: 61,842 bytes, lines 4637-6222
4637 future : 'oor %s', 4638 past : '%s gelede', 4639 s : '\'n paar sekondes', 4640 ss : '%d sekondes', 4641 m : '\'n minuut', 4642 mm : '%d minute', 4643 h : '\'n uur', 4644 hh : '%d ure', 4645 d : '\'n dag', 4646 dd : '%d dae', 4647 M : '\'n maand', 4648 MM : '%d maande', 4649 y : '\'n jaar', 4650 yy : '%d jaar' 4651 }, 4652 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, 4653 ordinal : function (number) { 4654 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter 4655 }, 4656 week : { 4657 dow : 1, // Maandag is die eerste dag van die week. 4658 doy : 4 // Die week wat die 4de Januarie bevat is die eerste week van die jaar. 4659 } 4660 }); 4661 4662 //! moment.js locale configuration 4663 4664 hooks.defineLocale('ar-dz', { 4665 months : 'جاÙÙÙ_ÙÙÙØ±Ù_٠ارس_Ø£ÙØ±ÙÙ_٠اÙ_Ø¬ÙØ§Ù_جÙÙÙÙØ©_Ø£ÙØª_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split('_'), 4666 monthsShort : 'جاÙÙÙ_ÙÙÙØ±Ù_٠ارس_Ø£ÙØ±ÙÙ_٠اÙ_Ø¬ÙØ§Ù_جÙÙÙÙØ©_Ø£ÙØª_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split('_'), 4667 weekdays : 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 4668 weekdaysShort : 'Ø§ØØ¯_اثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_اربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 4669 weekdaysMin : 'Ø£Ø_إث_Ø«ÙØ§_أر_خ٠_ج٠_سب'.split('_'), 4670 weekdaysParseExact : true, 4671 longDateFormat : { 4672 LT : 'HH:mm', 4673 LTS : 'HH:mm:ss', 4674 L : 'DD/MM/YYYY', 4675 LL : 'D MMMM YYYY', 4676 LLL : 'D MMMM YYYY HH:mm', 4677 LLLL : 'dddd D MMMM YYYY HH:mm' 4678 }, 4679 calendar : { 4680 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4681 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4682 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4683 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4684 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4685 sameElse: 'L' 4686 }, 4687 relativeTime : { 4688 future : 'ÙÙ %s', 4689 past : 'Ù ÙØ° %s', 4690 s : 'Ø«ÙØ§Ù', 4691 ss : '%d ثاÙÙØ©', 4692 m : 'دÙÙÙØ©', 4693 mm : '%d Ø¯ÙØ§Ø¦Ù', 4694 h : 'ساعة', 4695 hh : '%d ساعات', 4696 d : 'ÙÙÙ ', 4697 dd : '%d Ø£ÙØ§Ù ', 4698 M : 'Ø´ÙØ±', 4699 MM : '%d Ø£Ø´ÙØ±', 4700 y : 'Ø³ÙØ©', 4701 yy : '%d سÙÙØ§Øª' 4702 }, 4703 week : { 4704 dow : 0, // Sunday is the first day of the week. 4705 doy : 4 // The week that contains Jan 4th is the first week of the year. 4706 } 4707 }); 4708 4709 //! moment.js locale configuration 4710 4711 hooks.defineLocale('ar-kw', { 4712 months : 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙØ²_غشت_Ø´ØªÙØ¨Ø±_Ø£ÙØªÙبر_ÙÙÙØ¨Ø±_Ø¯Ø¬ÙØ¨Ø±'.split('_'), 4713 monthsShort : 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙØ²_غشت_Ø´ØªÙØ¨Ø±_Ø£ÙØªÙبر_ÙÙÙØ¨Ø±_Ø¯Ø¬ÙØ¨Ø±'.split('_'), 4714 weekdays : 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥ØªÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 4715 weekdaysShort : 'Ø§ØØ¯_اتÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_اربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 4716 weekdaysMin : 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 4717 weekdaysParseExact : true, 4718 longDateFormat : { 4719 LT : 'HH:mm', 4720 LTS : 'HH:mm:ss', 4721 L : 'DD/MM/YYYY', 4722 LL : 'D MMMM YYYY', 4723 LLL : 'D MMMM YYYY HH:mm', 4724 LLLL : 'dddd D MMMM YYYY HH:mm' 4725 }, 4726 calendar : { 4727 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4728 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4729 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4730 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4731 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4732 sameElse: 'L' 4733 }, 4734 relativeTime : { 4735 future : 'ÙÙ %s', 4736 past : 'Ù ÙØ° %s', 4737 s : 'Ø«ÙØ§Ù', 4738 ss : '%d ثاÙÙØ©', 4739 m : 'دÙÙÙØ©', 4740 mm : '%d Ø¯ÙØ§Ø¦Ù', 4741 h : 'ساعة', 4742 hh : '%d ساعات', 4743 d : 'ÙÙÙ ', 4744 dd : '%d Ø£ÙØ§Ù ', 4745 M : 'Ø´ÙØ±', 4746 MM : '%d Ø£Ø´ÙØ±', 4747 y : 'Ø³ÙØ©', 4748 yy : '%d سÙÙØ§Øª' 4749 }, 4750 week : { 4751 dow : 0, // Sunday is the first day of the week. 4752 doy : 12 // The week that contains Jan 12th is the first week of the year. 4753 } 4754 }); 4755 4756 //! moment.js locale configuration 4757 4758 var symbolMap = { 4759 '1': '1', 4760 '2': '2', 4761 '3': '3', 4762 '4': '4', 4763 '5': '5', 4764 '6': '6', 4765 '7': '7', 4766 '8': '8', 4767 '9': '9', 4768 '0': '0' 4769 }, pluralForm = function (n) { 4770 return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; 4771 }, plurals = { 4772 s : ['Ø£Ù٠٠٠ثاÙÙØ©', 'ثاÙÙØ© ÙØ§ØØ¯Ø©', ['ثاÙÙØªØ§Ù', 'ثاÙÙØªÙÙ'], '%d Ø«ÙØ§Ù', '%d ثاÙÙØ©', '%d ثاÙÙØ©'], 4773 m : ['Ø£Ù٠٠٠دÙÙÙØ©', 'دÙÙÙØ© ÙØ§ØØ¯Ø©', ['دÙÙÙØªØ§Ù', 'دÙÙÙØªÙÙ'], '%d Ø¯ÙØ§Ø¦Ù', '%d دÙÙÙØ©', '%d دÙÙÙØ©'], 4774 h : ['Ø£Ù٠٠٠ساعة', 'ساعة ÙØ§ØØ¯Ø©', ['ساعتاÙ', 'ساعتÙÙ'], '%d ساعات', '%d ساعة', '%d ساعة'], 4775 d : ['Ø£ÙÙ Ù Ù ÙÙÙ ', 'ÙÙÙ ÙØ§ØØ¯', ['ÙÙ٠اÙ', 'ÙÙÙ ÙÙ'], '%d Ø£ÙØ§Ù ', '%d ÙÙÙ ÙØ§', '%d ÙÙÙ '], 4776 M : ['Ø£ÙÙ Ù Ù Ø´ÙØ±', 'Ø´ÙØ± ÙØ§ØØ¯', ['Ø´ÙØ±Ø§Ù', 'Ø´ÙØ±ÙÙ'], '%d Ø£Ø´ÙØ±', '%d Ø´ÙØ±Ø§', '%d Ø´ÙØ±'], 4777 y : ['Ø£Ù٠٠٠عا٠', 'Ø¹Ø§Ù ÙØ§ØØ¯', ['عا٠اÙ', 'عا٠ÙÙ'], '%d Ø£Ø¹ÙØ§Ù ', '%d Ø¹Ø§Ù ÙØ§', '%d عا٠'] 4778 }, pluralize = function (u) { 4779 return function (number, withoutSuffix, string, isFuture) { 4780 var f = pluralForm(number), 4781 str = plurals[u][pluralForm(number)]; 4782 if (f === 2) { 4783 str = str[withoutSuffix ? 0 : 1]; 4784 } 4785 return str.replace(/%d/i, number); 4786 }; 4787 }, months$1 = [ 4788 'ÙÙØ§Ùر', 4789 'ÙØ¨Ø±Ø§Ùر', 4790 '٠ارس', 4791 'أبرÙÙ', 4792 '٠اÙÙ', 4793 'ÙÙÙÙÙ', 4794 'ÙÙÙÙÙ', 4795 'أغسطس', 4796 'سبت٠بر', 4797 'Ø£ÙØªÙبر', 4798 'ÙÙÙ٠بر', 4799 'Ø¯ÙØ³Ù بر' 4800 ]; 4801 4802 hooks.defineLocale('ar-ly', { 4803 months : months$1, 4804 monthsShort : months$1, 4805 weekdays : 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 4806 weekdaysShort : 'Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 4807 weekdaysMin : 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 4808 weekdaysParseExact : true, 4809 longDateFormat : { 4810 LT : 'HH:mm', 4811 LTS : 'HH:mm:ss', 4812 L : 'D/\u200FM/\u200FYYYY', 4813 LL : 'D MMMM YYYY', 4814 LLL : 'D MMMM YYYY HH:mm', 4815 LLLL : 'dddd D MMMM YYYY HH:mm' 4816 }, 4817 meridiemParse: /ص|Ù /, 4818 isPM : function (input) { 4819 return 'Ù ' === input; 4820 }, 4821 meridiem : function (hour, minute, isLower) { 4822 if (hour < 12) { 4823 return 'ص'; 4824 } else { 4825 return 'Ù '; 4826 } 4827 }, 4828 calendar : { 4829 sameDay: '[اÙÙÙÙ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4830 nextDay: '[ØºØ¯ÙØ§ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4831 nextWeek: 'dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4832 lastDay: '[أ٠س Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4833 lastWeek: 'dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4834 sameElse: 'L' 4835 }, 4836 relativeTime : { 4837 future : 'بعد %s', 4838 past : 'Ù ÙØ° %s', 4839 s : pluralize('s'), 4840 ss : pluralize('s'), 4841 m : pluralize('m'), 4842 mm : pluralize('m'), 4843 h : pluralize('h'), 4844 hh : pluralize('h'), 4845 d : pluralize('d'), 4846 dd : pluralize('d'), 4847 M : pluralize('M'), 4848 MM : pluralize('M'), 4849 y : pluralize('y'), 4850 yy : pluralize('y') 4851 }, 4852 preparse: function (string) { 4853 return string.replace(/Ø/g, ','); 4854 }, 4855 postformat: function (string) { 4856 return string.replace(/\d/g, function (match) { 4857 return symbolMap[match]; 4858 }).replace(/,/g, 'Ø'); 4859 }, 4860 week : { 4861 dow : 6, // Saturday is the first day of the week. 4862 doy : 12 // The week that contains Jan 12th is the first week of the year. 4863 } 4864 }); 4865 4866 //! moment.js locale configuration 4867 4868 hooks.defineLocale('ar-ma', { 4869 months : 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙØ²_غشت_Ø´ØªÙØ¨Ø±_Ø£ÙØªÙبر_ÙÙÙØ¨Ø±_Ø¯Ø¬ÙØ¨Ø±'.split('_'), 4870 monthsShort : 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙ_ÙÙÙÙÙ_ÙÙÙÙÙØ²_غشت_Ø´ØªÙØ¨Ø±_Ø£ÙØªÙبر_ÙÙÙØ¨Ø±_Ø¯Ø¬ÙØ¨Ø±'.split('_'), 4871 weekdays : 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥ØªÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 4872 weekdaysShort : 'Ø§ØØ¯_اتÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_اربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 4873 weekdaysMin : 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 4874 weekdaysParseExact : true, 4875 longDateFormat : { 4876 LT : 'HH:mm', 4877 LTS : 'HH:mm:ss', 4878 L : 'DD/MM/YYYY', 4879 LL : 'D MMMM YYYY', 4880 LLL : 'D MMMM YYYY HH:mm', 4881 LLLL : 'dddd D MMMM YYYY HH:mm' 4882 }, 4883 calendar : { 4884 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4885 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4886 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4887 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4888 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4889 sameElse: 'L' 4890 }, 4891 relativeTime : { 4892 future : 'ÙÙ %s', 4893 past : 'Ù ÙØ° %s', 4894 s : 'Ø«ÙØ§Ù', 4895 ss : '%d ثاÙÙØ©', 4896 m : 'دÙÙÙØ©', 4897 mm : '%d Ø¯ÙØ§Ø¦Ù', 4898 h : 'ساعة', 4899 hh : '%d ساعات', 4900 d : 'ÙÙÙ ', 4901 dd : '%d Ø£ÙØ§Ù ', 4902 M : 'Ø´ÙØ±', 4903 MM : '%d Ø£Ø´ÙØ±', 4904 y : 'Ø³ÙØ©', 4905 yy : '%d سÙÙØ§Øª' 4906 }, 4907 week : { 4908 dow : 6, // Saturday is the first day of the week. 4909 doy : 12 // The week that contains Jan 12th is the first week of the year. 4910 } 4911 }); 4912 4913 //! moment.js locale configuration 4914 4915 var symbolMap$1 = { 4916 '1': 'Ù¡', 4917 '2': 'Ù¢', 4918 '3': 'Ù£', 4919 '4': 'Ù¤', 4920 '5': 'Ù¥', 4921 '6': 'Ù¦', 4922 '7': 'Ù§', 4923 '8': 'Ù¨', 4924 '9': 'Ù©', 4925 '0': 'Ù ' 4926 }, numberMap = { 4927 'Ù¡': '1', 4928 'Ù¢': '2', 4929 'Ù£': '3', 4930 'Ù¤': '4', 4931 'Ù¥': '5', 4932 'Ù¦': '6', 4933 'Ù§': '7', 4934 'Ù¨': '8', 4935 'Ù©': '9', 4936 'Ù ': '0' 4937 }; 4938 4939 hooks.defineLocale('ar-sa', { 4940 months : 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙÙ_ÙÙÙÙÙ_ÙÙÙÙÙ_أغسطس_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split('_'), 4941 monthsShort : 'ÙÙØ§Ùر_ÙØ¨Ø±Ø§Ùر_٠ارس_أبرÙÙ_٠اÙÙ_ÙÙÙÙÙ_ÙÙÙÙÙ_أغسطس_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split('_'), 4942 weekdays : 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 4943 weekdaysShort : 'Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 4944 weekdaysMin : 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 4945 weekdaysParseExact : true, 4946 longDateFormat : { 4947 LT : 'HH:mm', 4948 LTS : 'HH:mm:ss', 4949 L : 'DD/MM/YYYY', 4950 LL : 'D MMMM YYYY', 4951 LLL : 'D MMMM YYYY HH:mm', 4952 LLLL : 'dddd D MMMM YYYY HH:mm' 4953 }, 4954 meridiemParse: /ص|Ù /, 4955 isPM : function (input) { 4956 return 'Ù ' === input; 4957 }, 4958 meridiem : function (hour, minute, isLower) { 4959 if (hour < 12) { 4960 return 'ص'; 4961 } else { 4962 return 'Ù '; 4963 } 4964 }, 4965 calendar : { 4966 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4967 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4968 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4969 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4970 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 4971 sameElse: 'L' 4972 }, 4973 relativeTime : { 4974 future : 'ÙÙ %s', 4975 past : 'Ù ÙØ° %s', 4976 s : 'Ø«ÙØ§Ù', 4977 ss : '%d ثاÙÙØ©', 4978 m : 'دÙÙÙØ©', 4979 mm : '%d Ø¯ÙØ§Ø¦Ù', 4980 h : 'ساعة', 4981 hh : '%d ساعات', 4982 d : 'ÙÙÙ ', 4983 dd : '%d Ø£ÙØ§Ù ', 4984 M : 'Ø´ÙØ±', 4985 MM : '%d Ø£Ø´ÙØ±', 4986 y : 'Ø³ÙØ©', 4987 yy : '%d سÙÙØ§Øª' 4988 }, 4989 preparse: function (string) { 4990 return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { 4991 return numberMap[match]; 4992 }).replace(/Ø/g, ','); 4993 }, 4994 postformat: function (string) { 4995 return string.replace(/\d/g, function (match) { 4996 return symbolMap$1[match]; 4997 }).replace(/,/g, 'Ø'); 4998 }, 4999 week : { 5000 dow : 0, // Sunday is the first day of the week. 5001 doy : 6 // The week that contains Jan 6th is the first week of the year. 5002 } 5003 }); 5004 5005 //! moment.js locale configuration 5006 5007 hooks.defineLocale('ar-tn', { 5008 months: 'جاÙÙÙ_ÙÙÙØ±Ù_٠ارس_Ø£ÙØ±ÙÙ_٠اÙ_Ø¬ÙØ§Ù_جÙÙÙÙØ©_Ø£ÙØª_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split('_'), 5009 monthsShort: 'جاÙÙÙ_ÙÙÙØ±Ù_٠ارس_Ø£ÙØ±ÙÙ_٠اÙ_Ø¬ÙØ§Ù_جÙÙÙÙØ©_Ø£ÙØª_سبت٠بر_Ø£ÙØªÙبر_ÙÙÙ٠بر_Ø¯ÙØ³Ù بر'.split('_'), 5010 weekdays: 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 5011 weekdaysShort: 'Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 5012 weekdaysMin: 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 5013 weekdaysParseExact : true, 5014 longDateFormat: { 5015 LT: 'HH:mm', 5016 LTS: 'HH:mm:ss', 5017 L: 'DD/MM/YYYY', 5018 LL: 'D MMMM YYYY', 5019 LLL: 'D MMMM YYYY HH:mm', 5020 LLLL: 'dddd D MMMM YYYY HH:mm' 5021 }, 5022 calendar: { 5023 sameDay: '[اÙÙÙ٠عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5024 nextDay: '[غدا عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5025 nextWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5026 lastDay: '[أ٠س عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5027 lastWeek: 'dddd [عÙÙ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5028 sameElse: 'L' 5029 }, 5030 relativeTime: { 5031 future: 'ÙÙ %s', 5032 past: 'Ù ÙØ° %s', 5033 s: 'Ø«ÙØ§Ù', 5034 ss : '%d ثاÙÙØ©', 5035 m: 'دÙÙÙØ©', 5036 mm: '%d Ø¯ÙØ§Ø¦Ù', 5037 h: 'ساعة', 5038 hh: '%d ساعات', 5039 d: 'ÙÙÙ ', 5040 dd: '%d Ø£ÙØ§Ù ', 5041 M: 'Ø´ÙØ±', 5042 MM: '%d Ø£Ø´ÙØ±', 5043 y: 'Ø³ÙØ©', 5044 yy: '%d سÙÙØ§Øª' 5045 }, 5046 week: { 5047 dow: 1, // Monday is the first day of the week. 5048 doy: 4 // The week that contains Jan 4th is the first week of the year. 5049 } 5050 }); 5051 5052 //! moment.js locale configuration 5053 5054 var symbolMap$2 = { 5055 '1': 'Ù¡', 5056 '2': 'Ù¢', 5057 '3': 'Ù£', 5058 '4': 'Ù¤', 5059 '5': 'Ù¥', 5060 '6': 'Ù¦', 5061 '7': 'Ù§', 5062 '8': 'Ù¨', 5063 '9': 'Ù©', 5064 '0': 'Ù ' 5065 }, numberMap$1 = { 5066 'Ù¡': '1', 5067 'Ù¢': '2', 5068 'Ù£': '3', 5069 'Ù¤': '4', 5070 'Ù¥': '5', 5071 'Ù¦': '6', 5072 'Ù§': '7', 5073 'Ù¨': '8', 5074 'Ù©': '9', 5075 'Ù ': '0' 5076 }, pluralForm$1 = function (n) { 5077 return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5; 5078 }, plurals$1 = { 5079 s : ['Ø£Ù٠٠٠ثاÙÙØ©', 'ثاÙÙØ© ÙØ§ØØ¯Ø©', ['ثاÙÙØªØ§Ù', 'ثاÙÙØªÙÙ'], '%d Ø«ÙØ§Ù', '%d ثاÙÙØ©', '%d ثاÙÙØ©'], 5080 m : ['Ø£Ù٠٠٠دÙÙÙØ©', 'دÙÙÙØ© ÙØ§ØØ¯Ø©', ['دÙÙÙØªØ§Ù', 'دÙÙÙØªÙÙ'], '%d Ø¯ÙØ§Ø¦Ù', '%d دÙÙÙØ©', '%d دÙÙÙØ©'], 5081 h : ['Ø£Ù٠٠٠ساعة', 'ساعة ÙØ§ØØ¯Ø©', ['ساعتاÙ', 'ساعتÙÙ'], '%d ساعات', '%d ساعة', '%d ساعة'], 5082 d : ['Ø£ÙÙ Ù Ù ÙÙÙ ', 'ÙÙÙ ÙØ§ØØ¯', ['ÙÙ٠اÙ', 'ÙÙÙ ÙÙ'], '%d Ø£ÙØ§Ù ', '%d ÙÙÙ ÙØ§', '%d ÙÙÙ '], 5083 M : ['Ø£ÙÙ Ù Ù Ø´ÙØ±', 'Ø´ÙØ± ÙØ§ØØ¯', ['Ø´ÙØ±Ø§Ù', 'Ø´ÙØ±ÙÙ'], '%d Ø£Ø´ÙØ±', '%d Ø´ÙØ±Ø§', '%d Ø´ÙØ±'], 5084 y : ['Ø£Ù٠٠٠عا٠', 'Ø¹Ø§Ù ÙØ§ØØ¯', ['عا٠اÙ', 'عا٠ÙÙ'], '%d Ø£Ø¹ÙØ§Ù ', '%d Ø¹Ø§Ù ÙØ§', '%d عا٠'] 5085 }, pluralize$1 = function (u) { 5086 return function (number, withoutSuffix, string, isFuture) { 5087 var f = pluralForm$1(number), 5088 str = plurals$1[u][pluralForm$1(number)]; 5089 if (f === 2) { 5090 str = str[withoutSuffix ? 0 : 1]; 5091 } 5092 return str.replace(/%d/i, number); 5093 }; 5094 }, months$2 = [ 5095 'ÙÙØ§Ùر', 5096 'ÙØ¨Ø±Ø§Ùر', 5097 '٠ارس', 5098 'أبرÙÙ', 5099 '٠اÙÙ', 5100 'ÙÙÙÙÙ', 5101 'ÙÙÙÙÙ', 5102 'أغسطس', 5103 'سبت٠بر', 5104 'Ø£ÙØªÙبر', 5105 'ÙÙÙ٠بر', 5106 'Ø¯ÙØ³Ù بر' 5107 ]; 5108 5109 hooks.defineLocale('ar', { 5110 months : months$2, 5111 monthsShort : months$2, 5112 weekdays : 'Ø§ÙØ£ØØ¯_Ø§ÙØ¥Ø«ÙÙÙ_Ø§ÙØ«Ùاثاء_Ø§ÙØ£Ø±Ø¨Ø¹Ø§Ø¡_Ø§ÙØ®Ù ÙØ³_Ø§ÙØ¬Ù عة_Ø§ÙØ³Ø¨Øª'.split('_'), 5113 weekdaysShort : 'Ø£ØØ¯_إثÙÙÙ_Ø«ÙØ§Ø«Ø§Ø¡_أربعاء_Ø®Ù ÙØ³_ج٠عة_سبت'.split('_'), 5114 weekdaysMin : 'Ø_Ù_Ø«_ر_Ø®_ج_س'.split('_'), 5115 weekdaysParseExact : true, 5116 longDateFormat : { 5117 LT : 'HH:mm', 5118 LTS : 'HH:mm:ss', 5119 L : 'D/\u200FM/\u200FYYYY', 5120 LL : 'D MMMM YYYY', 5121 LLL : 'D MMMM YYYY HH:mm', 5122 LLLL : 'dddd D MMMM YYYY HH:mm' 5123 }, 5124 meridiemParse: /ص|Ù /, 5125 isPM : function (input) { 5126 return 'Ù ' === input; 5127 }, 5128 meridiem : function (hour, minute, isLower) { 5129 if (hour < 12) { 5130 return 'ص'; 5131 } else { 5132 return 'Ù '; 5133 } 5134 }, 5135 calendar : { 5136 sameDay: '[اÙÙÙÙ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5137 nextDay: '[ØºØ¯ÙØ§ Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5138 nextWeek: 'dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5139 lastDay: '[أ٠س Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5140 lastWeek: 'dddd [Ø¹ÙØ¯ Ø§ÙØ³Ø§Ø¹Ø©] LT', 5141 sameElse: 'L' 5142 }, 5143 relativeTime : { 5144 future : 'بعد %s', 5145 past : 'Ù ÙØ° %s', 5146 s : pluralize$1('s'), 5147 ss : pluralize$1('s'), 5148 m : pluralize$1('m'), 5149 mm : pluralize$1('m'), 5150 h : pluralize$1('h'), 5151 hh : pluralize$1('h'), 5152 d : pluralize$1('d'), 5153 dd : pluralize$1('d'), 5154 M : pluralize$1('M'), 5155 MM : pluralize$1('M'), 5156 y : pluralize$1('y'), 5157 yy : pluralize$1('y') 5158 }, 5159 preparse: function (string) { 5160 return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { 5161 return numberMap$1[match]; 5162 }).replace(/Ø/g, ','); 5163 }, 5164 postformat: function (string) { 5165 return string.replace(/\d/g, function (match) { 5166 return symbolMap$2[match]; 5167 }).replace(/,/g, 'Ø'); 5168 }, 5169 week : { 5170 dow : 6, // Saturday is the first day of the week. 5171 doy : 12 // The week that contains Jan 12th is the first week of the year. 5172 } 5173 }); 5174 5175 //! moment.js locale configuration 5176 5177 var suffixes = { 5178 1: '-inci', 5179 5: '-inci', 5180 8: '-inci', 5181 70: '-inci', 5182 80: '-inci', 5183 2: '-nci', 5184 7: '-nci', 5185 20: '-nci', 5186 50: '-nci', 5187 3: '-üncü', 5188 4: '-üncü', 5189 100: '-üncü', 5190 6: '-ncı', 5191 9: '-uncu', 5192 10: '-uncu', 5193 30: '-uncu', 5194 60: '-ıncı', 5195 90: '-ıncı' 5196 }; 5197 5198 hooks.defineLocale('az', { 5199 months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'), 5200 monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'), 5201 weekdays : 'Bazar_Bazar ertÉsi_ÃÉrÅÉnbÉ axÅamı_ÃÉrÅÉnbÉ_CümÉ axÅamı_CümÉ_ÅÉnbÉ'.split('_'), 5202 weekdaysShort : 'Baz_BzE_ÃAx_ÃÉr_CAx_Cüm_ÅÉn'.split('_'), 5203 weekdaysMin : 'Bz_BE_ÃA_ÃÉ_CA_Cü_ÅÉ'.split('_'), 5204 weekdaysParseExact : true, 5205 longDateFormat : { 5206 LT : 'HH:mm', 5207 LTS : 'HH:mm:ss', 5208 L : 'DD.MM.YYYY', 5209 LL : 'D MMMM YYYY', 5210 LLL : 'D MMMM YYYY HH:mm', 5211 LLLL : 'dddd, D MMMM YYYY HH:mm' 5212 }, 5213 calendar : { 5214 sameDay : '[bugün saat] LT', 5215 nextDay : '[sabah saat] LT', 5216 nextWeek : '[gÉlÉn hÉftÉ] dddd [saat] LT', 5217 lastDay : '[dünÉn] LT', 5218 lastWeek : '[keçÉn hÉftÉ] dddd [saat] LT', 5219 sameElse : 'L' 5220 }, 5221 relativeTime : { 5222 future : '%s sonra', 5223 past : '%s ÉvvÉl', 5224 s : 'birneÃ§É saniyÉ', 5225 ss : '%d saniyÉ', 5226 m : 'bir dÉqiqÉ', 5227 mm : '%d dÉqiqÉ', 5228 h : 'bir saat', 5229 hh : '%d saat', 5230 d : 'bir gün', 5231 dd : '%d gün', 5232 M : 'bir ay', 5233 MM : '%d ay', 5234 y : 'bir il', 5235 yy : '%d il' 5236 }, 5237 meridiemParse: /gecÉ|sÉhÉr|gündüz|axÅam/, 5238 isPM : function (input) { 5239 return /^(gündüz|axÅam)$/.test(input); 5240 }, 5241 meridiem : function (hour, minute, isLower) { 5242 if (hour < 4) { 5243 return 'gecÉ'; 5244 } else if (hour < 12) { 5245 return 'sÉhÉr'; 5246 } else if (hour < 17) { 5247 return 'gündüz'; 5248 } else { 5249 return 'axÅam'; 5250 } 5251 }, 5252 dayOfMonthOrdinalParse: /\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/, 5253 ordinal : function (number) { 5254 if (number === 0) { // special case for zero 5255 return number + '-ıncı'; 5256 } 5257 var a = number % 10, 5258 b = number % 100 - a, 5259 c = number >= 100 ? 100 : null; 5260 return number + (suffixes[a] || suffixes[b] || suffixes[c]); 5261 }, 5262 week : { 5263 dow : 1, // Monday is the first day of the week. 5264 doy : 7 // The week that contains Jan 7th is the first week of the year. 5265 } 5266 }); 5267 5268 //! moment.js locale configuration 5269 5270 function plural(word, num) { 5271 var forms = word.split('_'); 5272 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]); 5273 } 5274 function relativeTimeWithPlural(number, withoutSuffix, key) { 5275 var format = { 5276 'ss': withoutSuffix ? 'ÑекÑнда_ÑекÑндÑ_ÑекÑнд' : 'ÑекÑндÑ_ÑекÑндÑ_ÑекÑнд', 5277 'mm': withoutSuffix ? 'Ñ Ð²ÑлÑна_Ñ Ð²ÑлÑнÑ_Ñ Ð²ÑлÑн' : 'Ñ Ð²ÑлÑнÑ_Ñ Ð²ÑлÑнÑ_Ñ Ð²ÑлÑн', 5278 'hh': withoutSuffix ? 'гадзÑна_гадзÑнÑ_гадзÑн' : 'гадзÑнÑ_гадзÑнÑ_гадзÑн', 5279 'dd': 'дзенÑ_днÑ_дзÑн', 5280 'MM': 'меÑÑÑ_меÑÑÑÑ_меÑÑÑаÑ', 5281 'yy': 'год_гадÑ_гадоÑ' 5282 }; 5283 if (key === 'm') { 5284 return withoutSuffix ? 'Ñ Ð²ÑлÑна' : 'Ñ Ð²ÑлÑнÑ'; 5285 } 5286 else if (key === 'h') { 5287 return withoutSuffix ? 'гадзÑна' : 'гадзÑнÑ'; 5288 } 5289 else { 5290 return number + ' ' + plural(format[key], +number); 5291 } 5292 } 5293 5294 hooks.defineLocale('be', { 5295 months : { 5296 format: 'ÑÑÑдзенÑ_лÑÑага_ÑакавÑка_кÑаÑавÑка_ÑÑаÑнÑ_ÑÑÑвенÑ_лÑпенÑ_жнÑÑнÑ_веÑаÑнÑ_каÑÑÑÑÑнÑка_лÑÑÑапада_ÑнежнÑ'.split('_'), 5297 standalone: 'ÑÑÑдзенÑ_лÑÑÑ_ÑакавÑк_кÑаÑавÑк_ÑÑавенÑ_ÑÑÑвенÑ_лÑпенÑ_жнÑвенÑ_веÑаÑенÑ_каÑÑÑÑÑнÑк_лÑÑÑапад_ÑнежанÑ'.split('_') 5298 }, 5299 monthsShort : 'ÑÑÑд_лÑÑ_Ñак_кÑаÑ_ÑÑав_ÑÑÑв_лÑп_жнÑв_веÑ_каÑÑ_лÑÑÑ_Ñнеж'.split('_'), 5300 weekdays : { 5301 format: 'нÑдзелÑ_панÑдзелак_аÑÑоÑак_ÑеÑадÑ_ÑаÑвеÑ_пÑÑнÑÑÑ_ÑÑбоÑÑ'.split('_'), 5302 standalone: 'нÑдзелÑ_панÑдзелак_аÑÑоÑак_ÑеÑада_ÑаÑвеÑ_пÑÑнÑÑа_ÑÑбоÑа'.split('_'), 5303 isFormat: /\[ ?[УÑÑ] ?(?:мÑнÑлÑÑ|наÑÑÑпнÑÑ)? ?\] ?dddd/ 5304 }, 5305 weekdaysShort : 'нд_пн_аÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 5306 weekdaysMin : 'нд_пн_аÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 5307 longDateFormat : { 5308 LT : 'HH:mm', 5309 LTS : 'HH:mm:ss', 5310 L : 'DD.MM.YYYY', 5311 LL : 'D MMMM YYYY г.', 5312 LLL : 'D MMMM YYYY г., HH:mm', 5313 LLLL : 'dddd, D MMMM YYYY г., HH:mm' 5314 }, 5315 calendar : { 5316 sameDay: '[СÑÐ½Ð½Ñ Ñ] LT', 5317 nextDay: '[ÐаÑÑÑа Ñ] LT', 5318 lastDay: '[УÑоÑа Ñ] LT', 5319 nextWeek: function () { 5320 return '[У] dddd [Ñ] LT'; 5321 }, 5322 lastWeek: function () { 5323 switch (this.day()) { 5324 case 0: 5325 case 3: 5326 case 5: 5327 case 6: 5328 return '[У мÑнÑлÑÑ] dddd [Ñ] LT'; 5329 case 1: 5330 case 2: 5331 case 4: 5332 return '[У мÑнÑлÑ] dddd [Ñ] LT'; 5333 } 5334 }, 5335 sameElse: 'L' 5336 }, 5337 relativeTime : { 5338 future : 'пÑаз %s', 5339 past : '%s ÑамÑ', 5340 s : 'некалÑÐºÑ ÑекÑнд', 5341 m : relativeTimeWithPlural, 5342 mm : relativeTimeWithPlural, 5343 h : relativeTimeWithPlural, 5344 hh : relativeTimeWithPlural, 5345 d : 'дзенÑ', 5346 dd : relativeTimeWithPlural, 5347 M : 'меÑÑÑ', 5348 MM : relativeTimeWithPlural, 5349 y : 'год', 5350 yy : relativeTimeWithPlural 5351 }, 5352 meridiemParse: /ноÑÑ|ÑанÑÑÑ|днÑ|веÑаÑа/, 5353 isPM : function (input) { 5354 return /^(днÑ|веÑаÑа)$/.test(input); 5355 }, 5356 meridiem : function (hour, minute, isLower) { 5357 if (hour < 4) { 5358 return 'ноÑÑ'; 5359 } else if (hour < 12) { 5360 return 'ÑанÑÑÑ'; 5361 } else if (hour < 17) { 5362 return 'днÑ'; 5363 } else { 5364 return 'веÑаÑа'; 5365 } 5366 }, 5367 dayOfMonthOrdinalParse: /\d{1,2}-(Ñ|Ñ|га)/, 5368 ordinal: function (number, period) { 5369 switch (period) { 5370 case 'M': 5371 case 'd': 5372 case 'DDD': 5373 case 'w': 5374 case 'W': 5375 return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-Ñ' : number + '-Ñ'; 5376 case 'D': 5377 return number + '-га'; 5378 default: 5379 return number; 5380 } 5381 }, 5382 week : { 5383 dow : 1, // Monday is the first day of the week. 5384 doy : 7 // The week that contains Jan 7th is the first week of the year. 5385 } 5386 }); 5387 5388 //! moment.js locale configuration 5389 5390 hooks.defineLocale('bg', { 5391 months : 'ÑнÑаÑи_ÑевÑÑаÑи_маÑÑ_апÑил_май_Ñни_Ñли_авгÑÑÑ_ÑепÑемвÑи_окÑомвÑи_ноемвÑи_декемвÑи'.split('_'), 5392 monthsShort : 'ÑнÑ_Ñев_маÑ_апÑ_май_Ñни_Ñли_авг_Ñеп_окÑ_ное_дек'.split('_'), 5393 weekdays : 'неделÑ_понеделник_вÑоÑник_ÑÑÑда_ÑеÑвÑÑÑÑк_пеÑÑк_ÑÑбоÑа'.split('_'), 5394 weekdaysShort : 'нед_пон_вÑо_ÑÑÑ_ÑеÑ_пеÑ_ÑÑб'.split('_'), 5395 weekdaysMin : 'нд_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 5396 longDateFormat : { 5397 LT : 'H:mm', 5398 LTS : 'H:mm:ss', 5399 L : 'D.MM.YYYY', 5400 LL : 'D MMMM YYYY', 5401 LLL : 'D MMMM YYYY H:mm', 5402 LLLL : 'dddd, D MMMM YYYY H:mm' 5403 }, 5404 calendar : { 5405 sameDay : '[ÐÐ½ÐµÑ Ð²] LT', 5406 nextDay : '[УÑÑе в] LT', 5407 nextWeek : 'dddd [в] LT', 5408 lastDay : '[ÐÑеÑа в] LT', 5409 lastWeek : function () { 5410 switch (this.day()) { 5411 case 0: 5412 case 3: 5413 case 6: 5414 return '[РизминалаÑа] dddd [в] LT'; 5415 case 1: 5416 case 2: 5417 case 4: 5418 case 5: 5419 return '[РизминалиÑ] dddd [в] LT'; 5420 } 5421 }, 5422 sameElse : 'L' 5423 }, 5424 relativeTime : { 5425 future : 'Ñлед %s', 5426 past : 'пÑеди %s', 5427 s : 'нÑколко ÑекÑнди', 5428 ss : '%d ÑекÑнди', 5429 m : 'минÑÑа', 5430 mm : '%d минÑÑи', 5431 h : 'ÑаÑ', 5432 hh : '%d ÑаÑа', 5433 d : 'ден', 5434 dd : '%d дни', 5435 M : 'меÑеÑ', 5436 MM : '%d меÑеÑа', 5437 y : 'година', 5438 yy : '%d години' 5439 }, 5440 dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|Ñи|ви|Ñи|ми)/, 5441 ordinal : function (number) { 5442 var lastDigit = number % 10, 5443 last2Digits = number % 100; 5444 if (number === 0) { 5445 return number + '-ев'; 5446 } else if (last2Digits === 0) { 5447 return number + '-ен'; 5448 } else if (last2Digits > 10 && last2Digits < 20) { 5449 return number + '-Ñи'; 5450 } else if (lastDigit === 1) { 5451 return number + '-ви'; 5452 } else if (lastDigit === 2) { 5453 return number + '-Ñи'; 5454 } else if (lastDigit === 7 || lastDigit === 8) { 5455 return number + '-ми'; 5456 } else { 5457 return number + '-Ñи'; 5458 } 5459 }, 5460 week : { 5461 dow : 1, // Monday is the first day of the week. 5462 doy : 7 // The week that contains Jan 7th is the first week of the year. 5463 } 5464 }); 5465 5466 //! moment.js locale configuration 5467 5468 hooks.defineLocale('bm', { 5469 months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_MÉkalo_ZuwÉnkalo_Zuluyekalo_Utikalo_SÉtanburukalo_ÉkutÉburukalo_Nowanburukalo_Desanburukalo'.split('_'), 5470 monthsShort : 'Zan_Few_Mar_Awi_MÉ_Zuw_Zul_Uti_SÉt_Éku_Now_Des'.split('_'), 5471 weekdays : 'Kari_NtÉnÉn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'), 5472 weekdaysShort : 'Kar_NtÉ_Tar_Ara_Ala_Jum_Sib'.split('_'), 5473 weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'), 5474 longDateFormat : { 5475 LT : 'HH:mm', 5476 LTS : 'HH:mm:ss', 5477 L : 'DD/MM/YYYY', 5478 LL : 'MMMM [tile] D [san] YYYY', 5479 LLL : 'MMMM [tile] D [san] YYYY [lÉrÉ] HH:mm', 5480 LLLL : 'dddd MMMM [tile] D [san] YYYY [lÉrÉ] HH:mm' 5481 }, 5482 calendar : { 5483 sameDay : '[Bi lÉrÉ] LT', 5484 nextDay : '[Sini lÉrÉ] LT', 5485 nextWeek : 'dddd [don lÉrÉ] LT', 5486 lastDay : '[Kunu lÉrÉ] LT', 5487 lastWeek : 'dddd [tÉmÉnen lÉrÉ] LT', 5488 sameElse : 'L' 5489 }, 5490 relativeTime : { 5491 future : '%s kÉnÉ', 5492 past : 'a bÉ %s bÉ', 5493 s : 'sanga dama dama', 5494 ss : 'sekondi %d', 5495 m : 'miniti kelen', 5496 mm : 'miniti %d', 5497 h : 'lÉrÉ kelen', 5498 hh : 'lÉrÉ %d', 5499 d : 'tile kelen', 5500 dd : 'tile %d', 5501 M : 'kalo kelen', 5502 MM : 'kalo %d', 5503 y : 'san kelen', 5504 yy : 'san %d' 5505 }, 5506 week : { 5507 dow : 1, // Monday is the first day of the week. 5508 doy : 4 // The week that contains Jan 4th is the first week of the year. 5509 } 5510 }); 5511 5512 //! moment.js locale configuration 5513 5514 var symbolMap$3 = { 5515 '1': 'à§§', 5516 '2': '২', 5517 '3': 'à§©', 5518 '4': '৪', 5519 '5': 'à§«', 5520 '6': '৬', 5521 '7': 'à§', 5522 '8': 'à§®', 5523 '9': '৯', 5524 '0': '০' 5525 }, 5526 numberMap$2 = { 5527 'à§§': '1', 5528 '২': '2', 5529 'à§©': '3', 5530 '৪': '4', 5531 'à§«': '5', 5532 '৬': '6', 5533 'à§': '7', 5534 'à§®': '8', 5535 '৯': '9', 5536 '০': '0' 5537 }; 5538 5539 hooks.defineLocale('bn', { 5540 months : 'à¦à¦¾à¦¨à§à§à¦¾à¦°à§_ফà§à¦¬à§à¦°à§à§à¦¾à¦°à¦¿_মারà§à¦_à¦à¦ªà§à¦°à¦¿à¦²_মà§_à¦à§à¦¨_à¦à§à¦²à¦¾à¦_à¦à¦à¦¸à§à¦_সà§à¦ªà§à¦à§à¦®à§à¦¬à¦°_ঠà¦à§à¦à§à¦¬à¦°_নà¦à§à¦®à§à¦¬à¦°_ডিসà§à¦®à§à¦¬à¦°'.split('_'), 5541 monthsShort : 'à¦à¦¾à¦¨à§_ফà§à¦¬_মারà§à¦_à¦à¦ªà§à¦°_মà§_à¦à§à¦¨_à¦à§à¦²_à¦à¦_সà§à¦ªà§à¦_ঠà¦à§à¦à§_নà¦à§_ডিসà§'.split('_'), 5542 weekdays : 'রবিবার_সà§à¦®à¦¬à¦¾à¦°_মà¦à§à¦à¦²à¦¬à¦¾à¦°_বà§à¦§à¦¬à¦¾à¦°_বà§à¦¹à¦¸à§à¦ªà¦¤à¦¿à¦¬à¦¾à¦°_শà§à¦à§à¦°à¦¬à¦¾à¦°_শনিবার'.split('_'), 5543 weekdaysShort : 'রবি_সà§à¦®_মà¦à§à¦à¦²_বà§à¦§_বà§à¦¹à¦¸à§à¦ªà¦¤à¦¿_শà§à¦à§à¦°_শনি'.split('_'), 5544 weekdaysMin : 'রবি_সà§à¦®_মà¦à§à¦_বà§à¦§_বà§à¦¹à¦_শà§à¦à§à¦°_শনি'.split('_'), 5545 longDateFormat : { 5546 LT : 'A h:mm সমà§', 5547 LTS : 'A h:mm:ss সমà§', 5548 L : 'DD/MM/YYYY', 5549 LL : 'D MMMM YYYY', 5550 LLL : 'D MMMM YYYY, A h:mm সমà§', 5551 LLLL : 'dddd, D MMMM YYYY, A h:mm সমà§' 5552 }, 5553 calendar : { 5554 sameDay : '[à¦à¦] LT', 5555 nextDay : '[à¦à¦à¦¾à¦®à§à¦à¦¾à¦²] LT', 5556 nextWeek : 'dddd, LT', 5557 lastDay : '[à¦à¦¤à¦à¦¾à¦²] LT', 5558 lastWeek : '[à¦à¦¤] dddd, LT', 5559 sameElse : 'L' 5560 }, 5561 relativeTime : { 5562 future : '%s পরà§', 5563 past : '%s à¦à¦à§', 5564 s : 'à¦à§à§à¦ সà§à¦à§à¦¨à§à¦¡', 5565 ss : '%d সà§à¦à§à¦¨à§à¦¡', 5566 m : 'à¦à¦ মিনিà¦', 5567 mm : '%d মিনিà¦', 5568 h : 'à¦à¦ à¦à¦¨à§à¦à¦¾', 5569 hh : '%d à¦à¦¨à§à¦à¦¾', 5570 d : 'à¦à¦ দিন', 5571 dd : '%d দিন', 5572 M : 'à¦à¦ মাস', 5573 MM : '%d মাস', 5574 y : 'à¦à¦ বà¦à¦°', 5575 yy : '%d বà¦à¦°' 5576 }, 5577 preparse: function (string) { 5578 return string.replace(/[১২৩৪৫৬à§à§®à§¯à§¦]/g, function (match) { 5579 return numberMap$2[match]; 5580 }); 5581 }, 5582 postformat: function (string) { 5583 return string.replace(/\d/g, function (match) { 5584 return symbolMap$3[match]; 5585 }); 5586 }, 5587 meridiemParse: /রাত|সà¦à¦¾à¦²|দà§à¦ªà§à¦°|বিà¦à¦¾à¦²|রাত/, 5588 meridiemHour : function (hour, meridiem) { 5589 if (hour === 12) { 5590 hour = 0; 5591 } 5592 if ((meridiem === 'রাত' && hour >= 4) || 5593 (meridiem === 'দà§à¦ªà§à¦°' && hour < 5) || 5594 meridiem === 'বিà¦à¦¾à¦²') { 5595 return hour + 12; 5596 } else { 5597 return hour; 5598 } 5599 }, 5600 meridiem : function (hour, minute, isLower) { 5601 if (hour < 4) { 5602 return 'রাত'; 5603 } else if (hour < 10) { 5604 return 'সà¦à¦¾à¦²'; 5605 } else if (hour < 17) { 5606 return 'দà§à¦ªà§à¦°'; 5607 } else if (hour < 20) { 5608 return 'বিà¦à¦¾à¦²'; 5609 } else { 5610 return 'রাত'; 5611 } 5612 }, 5613 week : { 5614 dow : 0, // Sunday is the first day of the week. 5615 doy : 6 // The week that contains Jan 6th is the first week of the year. 5616 } 5617 }); 5618 5619 //! moment.js locale configuration 5620 5621 var symbolMap$4 = { 5622 '1': '༡', 5623 '2': '༢', 5624 '3': '༣', 5625 '4': '༤', 5626 '5': '༥', 5627 '6': '༦', 5628 '7': '༧', 5629 '8': '༨', 5630 '9': '༩', 5631 '0': '༠' 5632 }, 5633 numberMap$3 = { 5634 '༡': '1', 5635 '༢': '2', 5636 '༣': '3', 5637 '༤': '4', 5638 '༥': '5', 5639 '༦': '6', 5640 '༧': '7', 5641 '༨': '8', 5642 '༩': '9', 5643 '༠': '0' 5644 }; 5645 5646 hooks.defineLocale('bo', { 5647 months : 'à½à¾³à¼à½à¼à½à½à¼à½à½¼_à½à¾³à¼à½à¼à½à½à½²à½¦à¼à½_à½à¾³à¼à½à¼à½à½¦à½´à½à¼à½_à½à¾³à¼à½à¼à½à½à½²à¼à½_à½à¾³à¼à½à¼à½£à¾à¼à½_à½à¾³à¼à½à¼à½à¾²à½´à½à¼à½_à½à¾³à¼à½à¼à½à½à½´à½à¼à½_à½à¾³à¼à½à¼à½à½¢à¾à¾±à½à¼à½_à½à¾³à¼à½à¼à½à½à½´à¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½à½ ིà½à¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½à½à½²à½¦à¼à½'.split('_'), 5648 monthsShort : 'à½à¾³à¼à½à¼à½à½à¼à½à½¼_à½à¾³à¼à½à¼à½à½à½²à½¦à¼à½_à½à¾³à¼à½à¼à½à½¦à½´à½à¼à½_à½à¾³à¼à½à¼à½à½à½²à¼à½_à½à¾³à¼à½à¼à½£à¾à¼à½_à½à¾³à¼à½à¼à½à¾²à½´à½à¼à½_à½à¾³à¼à½à¼à½à½à½´à½à¼à½_à½à¾³à¼à½à¼à½à½¢à¾à¾±à½à¼à½_à½à¾³à¼à½à¼à½à½à½´à¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½à½ ིà½à¼à½_à½à¾³à¼à½à¼à½à½ ུà¼à½à½à½²à½¦à¼à½'.split('_'), 5649 weekdays : 'à½à½à½ à¼à½à½²à¼à½à¼_à½à½à½ à¼à½à¾³à¼à½à¼_à½à½à½ à¼à½à½²à½à¼à½à½à½¢à¼_à½à½à½ à¼à½£à¾·à½à¼à½à¼_à½à½à½ à¼à½à½´à½¢à¼à½à½´_à½à½à½ à¼à½à¼à½¦à½à½¦à¼_à½à½à½ à¼à½¦à¾¤à½ºà½à¼à½à¼'.split('_'), 5650 weekdaysShort : 'à½à½²à¼à½à¼_à½à¾³à¼à½à¼_à½à½²à½à¼à½à½à½¢à¼_ལྷà½à¼à½à¼_à½à½´à½¢à¼à½à½´_à½à¼à½¦à½à½¦à¼_སྤེà½à¼à½à¼'.split('_'), 5651 weekdaysMin : 'à½à½²à¼à½à¼_à½à¾³à¼à½à¼_à½à½²à½à¼à½à½à½¢à¼_ལྷà½à¼à½à¼_à½à½´à½¢à¼à½à½´_à½à¼à½¦à½à½¦à¼_སྤེà½à¼à½à¼'.split('_'), 5652 longDateFormat : { 5653 LT : 'A h:mm', 5654 LTS : 'A h:mm:ss', 5655 L : 'DD/MM/YYYY', 5656 LL : 'D MMMM YYYY', 5657 LLL : 'D MMMM YYYY, A h:mm', 5658 LLLL : 'dddd, D MMMM YYYY, A h:mm' 5659 }, 5660 calendar : { 5661 sameDay : '[à½à½²à¼à½¢à½²à½] LT', 5662 nextDay : '[སà½à¼à½à½²à½] LT', 5663 nextWeek : '[à½à½à½´à½à¼à½à¾²à½à¼à½¢à¾à½ºà½¦à¼à½], LT', 5664 lastDay : '[à½à¼à½¦à½] LT', 5665 lastWeek : '[à½à½à½´à½à¼à½à¾²à½à¼à½à½à½ à¼à½] dddd, LT', 5666 sameElse : 'L' 5667 }, 5668 relativeTime : { 5669 future : '%s ལà¼', 5670 past : '%s སà¾à½à¼à½£', 5671 s : 'ལà½à¼à½¦à½', 5672 ss : '%d སà¾à½¢à¼à½à¼', 5673 m : 'སà¾à½¢à¼à½à¼à½à½ ིà½', 5674 mm : '%d སà¾à½¢à¼à½', 5675 h : 'à½à½´à¼à½à½¼à½à¼à½à½ ིà½', 5676 hh : '%d à½à½´à¼à½à½¼à½', 5677 d : 'à½à½²à½à¼à½à½ ིà½', 5678 dd : '%d à½à½²à½à¼', 5679 M : 'à½à¾³à¼à½à¼à½à½ ིà½', 5680 MM : '%d à½à¾³à¼à½', 5681 y : 'ལོà¼à½à½ ིà½', 5682 yy : '%d ལོ' 5683 }, 5684 preparse: function (string) { 5685 return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) { 5686 return numberMap$3[match]; 5687 }); 5688 }, 5689 postformat: function (string) { 5690 return string.replace(/\d/g, function (match) { 5691 return symbolMap$4[match]; 5692 }); 5693 }, 5694 meridiemParse: /à½à½à½à¼à½à½¼|à½à½¼à½à½¦à¼à½à½¦|à½à½²à½à¼à½à½´à½|à½à½à½¼à½à¼à½à½|à½à½à½à¼à½à½¼/, 5695 meridiemHour : function (hour, meridiem) { 5696 if (hour === 12) { 5697 hour = 0; 5698 } 5699 if ((meridiem === 'à½à½à½à¼à½à½¼' && hour >= 4) || 5700 (meridiem === 'à½à½²à½à¼à½à½´à½' && hour < 5) || 5701 meridiem === 'à½à½à½¼à½à¼à½à½') { 5702 return hour + 12; 5703 } else { 5704 return hour; 5705 } 5706 }, 5707 meridiem : function (hour, minute, isLower) { 5708 if (hour < 4) { 5709 return 'à½à½à½à¼à½à½¼'; 5710 } else if (hour < 10) { 5711 return 'à½à½¼à½à½¦à¼à½à½¦'; 5712 } else if (hour < 17) { 5713 return 'à½à½²à½à¼à½à½´à½'; 5714 } else if (hour < 20) { 5715 return 'à½à½à½¼à½à¼à½à½'; 5716 } else { 5717 return 'à½à½à½à¼à½à½¼'; 5718 } 5719 }, 5720 week : { 5721 dow : 0, // Sunday is the first day of the week. 5722 doy : 6 // The week that contains Jan 6th is the first week of the year. 5723 } 5724 }); 5725 5726 //! moment.js locale configuration 5727 5728 function relativeTimeWithMutation(number, withoutSuffix, key) { 5729 var format = { 5730 'mm': 'munutenn', 5731 'MM': 'miz', 5732 'dd': 'devezh' 5733 }; 5734 return number + ' ' + mutation(format[key], number); 5735 } 5736 function specialMutationForYears(number) { 5737 switch (lastNumber(number)) { 5738 case 1: 5739 case 3: 5740 case 4: 5741 case 5: 5742 case 9: 5743 return number + ' bloaz'; 5744 default: 5745 return number + ' vloaz'; 5746 } 5747 } 5748 function lastNumber(number) { 5749 if (number > 9) { 5750 return lastNumber(number % 10); 5751 } 5752 return number; 5753 } 5754 function mutation(text, number) { 5755 if (number === 2) { 5756 return softMutation(text); 5757 } 5758 return text; 5759 } 5760 function softMutation(text) { 5761 var mutationTable = { 5762 'm': 'v', 5763 'b': 'v', 5764 'd': 'z' 5765 }; 5766 if (mutationTable[text.charAt(0)] === undefined) { 5767 return text; 5768 } 5769 return mutationTable[text.charAt(0)] + text.substring(1); 5770 } 5771 5772 hooks.defineLocale('br', { 5773 months : 'Genver_C\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'), 5774 monthsShort : 'Gen_C\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'), 5775 weekdays : 'Sul_Lun_Meurzh_Merc\'her_Yaou_Gwener_Sadorn'.split('_'), 5776 weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'), 5777 weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'), 5778 weekdaysParseExact : true, 5779 longDateFormat : { 5780 LT : 'h[e]mm A', 5781 LTS : 'h[e]mm:ss A', 5782 L : 'DD/MM/YYYY', 5783 LL : 'D [a viz] MMMM YYYY', 5784 LLL : 'D [a viz] MMMM YYYY h[e]mm A', 5785 LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A' 5786 }, 5787 calendar : { 5788 sameDay : '[Hiziv da] LT', 5789 nextDay : '[Warc\'hoazh da] LT', 5790 nextWeek : 'dddd [da] LT', 5791 lastDay : '[Dec\'h da] LT', 5792 lastWeek : 'dddd [paset da] LT', 5793 sameElse : 'L' 5794 }, 5795 relativeTime : { 5796 future : 'a-benn %s', 5797 past : '%s \'zo', 5798 s : 'un nebeud segondennoù', 5799 ss : '%d eilenn', 5800 m : 'ur vunutenn', 5801 mm : relativeTimeWithMutation, 5802 h : 'un eur', 5803 hh : '%d eur', 5804 d : 'un devezh', 5805 dd : relativeTimeWithMutation, 5806 M : 'ur miz', 5807 MM : relativeTimeWithMutation, 5808 y : 'ur bloaz', 5809 yy : specialMutationForYears 5810 }, 5811 dayOfMonthOrdinalParse: /\d{1,2}(añ|vet)/, 5812 ordinal : function (number) { 5813 var output = (number === 1) ? 'añ' : 'vet'; 5814 return number + output; 5815 }, 5816 week : { 5817 dow : 1, // Monday is the first day of the week. 5818 doy : 4 // The week that contains Jan 4th is the first week of the year. 5819 } 5820 }); 5821 5822 //! moment.js locale configuration 5823 5824 function translate(number, withoutSuffix, key) { 5825 var result = number + ' '; 5826 switch (key) { 5827 case 'ss': 5828 if (number === 1) { 5829 result += 'sekunda'; 5830 } else if (number === 2 || number === 3 || number === 4) { 5831 result += 'sekunde'; 5832 } else { 5833 result += 'sekundi'; 5834 } 5835 return result; 5836 case 'm': 5837 return withoutSuffix ? 'jedna minuta' : 'jedne minute'; 5838 case 'mm': 5839 if (number === 1) { 5840 result += 'minuta'; 5841 } else if (number === 2 || number === 3 || number === 4) { 5842 result += 'minute'; 5843 } else { 5844 result += 'minuta'; 5845 } 5846 return result; 5847 case 'h': 5848 return withoutSuffix ? 'jedan sat' : 'jednog sata'; 5849 case 'hh': 5850 if (number === 1) { 5851 result += 'sat'; 5852 } else if (number === 2 || number === 3 || number === 4) { 5853 result += 'sata'; 5854 } else { 5855 result += 'sati'; 5856 } 5857 return result; 5858 case 'dd': 5859 if (number === 1) { 5860 result += 'dan'; 5861 } else { 5862 result += 'dana'; 5863 } 5864 return result; 5865 case 'MM': 5866 if (number === 1) { 5867 result += 'mjesec'; 5868 } else if (number === 2 || number === 3 || number === 4) { 5869 result += 'mjeseca'; 5870 } else { 5871 result += 'mjeseci'; 5872 } 5873 return result; 5874 case 'yy': 5875 if (number === 1) { 5876 result += 'godina'; 5877 } else if (number === 2 || number === 3 || number === 4) { 5878 result += 'godine'; 5879 } else { 5880 result += 'godina'; 5881 } 5882 return result; 5883 } 5884 } 5885 5886 hooks.defineLocale('bs', { 5887 months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'), 5888 monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'), 5889 monthsParseExact: true, 5890 weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), 5891 weekdaysShort : 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), 5892 weekdaysMin : 'ne_po_ut_sr_Äe_pe_su'.split('_'), 5893 weekdaysParseExact : true, 5894 longDateFormat : { 5895 LT : 'H:mm', 5896 LTS : 'H:mm:ss', 5897 L : 'DD.MM.YYYY', 5898 LL : 'D. MMMM YYYY', 5899 LLL : 'D. MMMM YYYY H:mm', 5900 LLLL : 'dddd, D. MMMM YYYY H:mm' 5901 }, 5902 calendar : { 5903 sameDay : '[danas u] LT', 5904 nextDay : '[sutra u] LT', 5905 nextWeek : function () { 5906 switch (this.day()) { 5907 case 0: 5908 return '[u] [nedjelju] [u] LT'; 5909 case 3: 5910 return '[u] [srijedu] [u] LT'; 5911 case 6: 5912 return '[u] [subotu] [u] LT'; 5913 case 1: 5914 case 2: 5915 case 4: 5916 case 5: 5917 return '[u] dddd [u] LT'; 5918 } 5919 }, 5920 lastDay : '[juÄer u] LT', 5921 lastWeek : function () { 5922 switch (this.day()) { 5923 case 0: 5924 case 3: 5925 return '[proÅ¡lu] dddd [u] LT'; 5926 case 6: 5927 return '[proÅ¡le] [subote] [u] LT'; 5928 case 1: 5929 case 2: 5930 case 4: 5931 case 5: 5932 return '[proÅ¡li] dddd [u] LT'; 5933 } 5934 }, 5935 sameElse : 'L' 5936 }, 5937 relativeTime : { 5938 future : 'za %s', 5939 past : 'prije %s', 5940 s : 'par sekundi', 5941 ss : translate, 5942 m : translate, 5943 mm : translate, 5944 h : translate, 5945 hh : translate, 5946 d : 'dan', 5947 dd : translate, 5948 M : 'mjesec', 5949 MM : translate, 5950 y : 'godinu', 5951 yy : translate 5952 }, 5953 dayOfMonthOrdinalParse: /\d{1,2}\./, 5954 ordinal : '%d.', 5955 week : { 5956 dow : 1, // Monday is the first day of the week. 5957 doy : 7 // The week that contains Jan 7th is the first week of the year. 5958 } 5959 }); 5960 5961 //! moment.js locale configuration 5962 5963 hooks.defineLocale('ca', { 5964 months : { 5965 standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'), 5966 format: 'de gener_de febrer_de març_d\'abril_de maig_de juny_de juliol_d\'agost_de setembre_d\'octubre_de novembre_de desembre'.split('_'), 5967 isFormat: /D[oD]?(\s)+MMMM/ 5968 }, 5969 monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'), 5970 monthsParseExact : true, 5971 weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'), 5972 weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'), 5973 weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'), 5974 weekdaysParseExact : true, 5975 longDateFormat : { 5976 LT : 'H:mm', 5977 LTS : 'H:mm:ss', 5978 L : 'DD/MM/YYYY', 5979 LL : 'D MMMM [de] YYYY', 5980 ll : 'D MMM YYYY', 5981 LLL : 'D MMMM [de] YYYY [a les] H:mm', 5982 lll : 'D MMM YYYY, H:mm', 5983 LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm', 5984 llll : 'ddd D MMM YYYY, H:mm' 5985 }, 5986 calendar : { 5987 sameDay : function () { 5988 return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 5989 }, 5990 nextDay : function () { 5991 return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 5992 }, 5993 nextWeek : function () { 5994 return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 5995 }, 5996 lastDay : function () { 5997 return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 5998 }, 5999 lastWeek : function () { 6000 return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT'; 6001 }, 6002 sameElse : 'L' 6003 }, 6004 relativeTime : { 6005 future : 'd\'aquà %s', 6006 past : 'fa %s', 6007 s : 'uns segons', 6008 ss : '%d segons', 6009 m : 'un minut', 6010 mm : '%d minuts', 6011 h : 'una hora', 6012 hh : '%d hores', 6013 d : 'un dia', 6014 dd : '%d dies', 6015 M : 'un mes', 6016 MM : '%d mesos', 6017 y : 'un any', 6018 yy : '%d anys' 6019 }, 6020 dayOfMonthOrdinalParse: /\d{1,2}(r|n|t|è|a)/, 6021 ordinal : function (number, period) { 6022 var output = (number === 1) ? 'r' : 6023 (number === 2) ? 'n' : 6024 (number === 3) ? 'r' : 6025 (number === 4) ? 't' : 'è'; 6026 if (period === 'w' || period === 'W') { 6027 output = 'a'; 6028 } 6029 return number + output; 6030 }, 6031 week : { 6032 dow : 1, // Monday is the first day of the week. 6033 doy : 4 // The week that contains Jan 4th is the first week of the year. 6034 } 6035 }); 6036 6037 //! moment.js locale configuration 6038 6039 var months$3 = 'leden_únor_bÅezen_duben_kvÄten_Äerven_Äervenec_srpen_záÅÃ_ÅÃjen_listopad_prosinec'.split('_'), 6040 monthsShort = 'led_úno_bÅe_dub_kvÄ_Ävn_Ävc_srp_záÅ_ÅÃj_lis_pro'.split('_'); 6041 6042 var monthsParse = [/^led/i, /^úno/i, /^bÅe/i, /^dub/i, /^kvÄ/i, /^(Ävn|Äerven$|Äervna)/i, /^(Ävc|Äervenec|Äervence)/i, /^srp/i, /^záÅ/i, /^ÅÃj/i, /^lis/i, /^pro/i]; 6043 // NOTE: 'Äerven' is substring of 'Äervenec'; therefore 'Äervenec' must precede 'Äerven' in the regex to be fully matched. 6044 // Otherwise parser matches '1. Äervenec' as '1. Äerven' + 'ec'. 6045 var monthsRegex$1 = /^(leden|únor|bÅezen|duben|kvÄten|Äervenec|Äervence|Äerven|Äervna|srpen|záÅÃ|ÅÃjen|listopad|prosinec|led|úno|bÅe|dub|kvÄ|Ävn|Ävc|srp|záÅ|ÅÃj|lis|pro)/i; 6046 6047 function plural$1(n) { 6048 return (n > 1) && (n < 5) && (~~(n / 10) !== 1); 6049 } 6050 function translate$1(number, withoutSuffix, key, isFuture) { 6051 var result = number + ' '; 6052 switch (key) { 6053 case 's': // a few seconds / in a few seconds / a few seconds ago 6054 return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami'; 6055 case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago 6056 if (withoutSuffix || isFuture) { 6057 return result + (plural$1(number) ? 'sekundy' : 'sekund'); 6058 } else { 6059 return result + 'sekundami'; 6060 } 6061 break; 6062 case 'm': // a minute / in a minute / a minute ago 6063 return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou'); 6064 case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago 6065 if (withoutSuffix || isFuture) { 6066 return result + (plural$1(number) ? 'minuty' : 'minut'); 6067 } else { 6068 return result + 'minutami'; 6069 } 6070 break; 6071 case 'h': // an hour / in an hour / an hour ago 6072 return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); 6073 case 'hh': // 9 hours / in 9 hours / 9 hours ago 6074 if (withoutSuffix || isFuture) { 6075 return result + (plural$1(number) ? 'hodiny' : 'hodin'); 6076 } else { 6077 return result + 'hodinami'; 6078 } 6079 break; 6080 case 'd': // a day / in a day / a day ago 6081 return (withoutSuffix || isFuture) ? 'den' : 'dnem'; 6082 case 'dd': // 9 days / in 9 days / 9 days ago 6083 if (withoutSuffix || isFuture) { 6084 return result + (plural$1(number) ? 'dny' : 'dnÃ'); 6085 } else { 6086 return result + 'dny'; 6087 } 6088 break; 6089 case 'M': // a month / in a month / a month ago 6090 return (withoutSuffix || isFuture) ? 'mÄsÃc' : 'mÄsÃcem'; 6091 case 'MM': // 9 months / in 9 months / 9 months ago 6092 if (withoutSuffix || isFuture) { 6093 return result + (plural$1(number) ? 'mÄsÃce' : 'mÄsÃců'); 6094 } else { 6095 return result + 'mÄsÃci'; 6096 } 6097 break; 6098 case 'y': // a year / in a year / a year ago 6099 return (withoutSuffix || isFuture) ? 'rok' : 'rokem'; 6100 case 'yy': // 9 years / in 9 years / 9 years ago 6101 if (withoutSuffix || isFuture) { 6102 return result + (plural$1(number) ? 'roky' : 'let'); 6103 } else { 6104 return result + 'lety'; 6105 } 6106 break; 6107 } 6108 } 6109 6110 hooks.defineLocale('cs', { 6111 months : months$3, 6112 monthsShort : monthsShort, 6113 monthsRegex : monthsRegex$1, 6114 monthsShortRegex : monthsRegex$1, 6115 // NOTE: 'Äerven' is substring of 'Äervenec'; therefore 'Äervenec' must precede 'Äerven' in the regex to be fully matched. 6116 // Otherwise parser matches '1. Äervenec' as '1. Äerven' + 'ec'. 6117 monthsStrictRegex : /^(leden|ledna|února|únor|bÅezen|bÅezna|duben|dubna|kvÄten|kvÄtna|Äervenec|Äervence|Äerven|Äervna|srpen|srpna|záÅÃ|ÅÃjen|ÅÃjna|listopadu|listopad|prosinec|prosince)/i, 6118 monthsShortStrictRegex : /^(led|úno|bÅe|dub|kvÄ|Ävn|Ävc|srp|záÅ|ÅÃj|lis|pro)/i, 6119 monthsParse : monthsParse, 6120 longMonthsParse : monthsParse, 6121 shortMonthsParse : monthsParse, 6122 weekdays : 'nedÄle_pondÄlÃ_úterý_stÅeda_Ätvrtek_pátek_sobota'.split('_'), 6123 weekdaysShort : 'ne_po_út_st_Ät_pá_so'.split('_'), 6124 weekdaysMin : 'ne_po_út_st_Ät_pá_so'.split('_'), 6125 longDateFormat : { 6126 LT: 'H:mm', 6127 LTS : 'H:mm:ss', 6128 L : 'DD.MM.YYYY', 6129 LL : 'D. MMMM YYYY', 6130 LLL : 'D. MMMM YYYY H:mm', 6131 LLLL : 'dddd D. MMMM YYYY H:mm', 6132 l : 'D. M. YYYY' 6133 }, 6134 calendar : { 6135 sameDay: '[dnes v] LT', 6136 nextDay: '[zÃtra v] LT', 6137 nextWeek: function () { 6138 switch (this.day()) { 6139 case 0: 6140 return '[v nedÄli v] LT'; 6141 case 1: 6142 case 2: 6143 return '[v] dddd [v] LT'; 6144 case 3: 6145 return '[ve stÅedu v] LT'; 6146 case 4: 6147 return '[ve Ätvrtek v] LT'; 6148 case 5: 6149 return '[v pátek v] LT'; 6150 case 6: 6151 return '[v sobotu v] LT'; 6152 } 6153 }, 6154 lastDay: '[vÄera v] LT', 6155 lastWeek: function () { 6156 switch (this.day()) { 6157 case 0: 6158 return '[minulou nedÄli v] LT'; 6159 case 1: 6160 case 2: 6161 return '[minulé] dddd [v] LT'; 6162 case 3: 6163 return '[minulou stÅedu v] LT'; 6164 case 4: 6165 case 5: 6166 return '[minulý] dddd [v] LT'; 6167 case 6: 6168 return '[minulou sobotu v] LT'; 6169 } 6170 }, 6171 sameElse: 'L' 6172 }, 6173 relativeTime : { 6174 future : 'za %s', 6175 past : 'pÅed %s', 6176 s : translate$1, 6177 ss : translate$1, 6178 m : translate$1, 6179 mm : translate$1, 6180 h : translate$1, 6181 hh : translate$1, 6182 d : translate$1, 6183 dd : translate$1, 6184 M : translate$1, 6185 MM : translate$1, 6186 y : translate$1, 6187 yy : translate$1 6188 }, 6189 dayOfMonthOrdinalParse : /\d{1,2}\./, 6190 ordinal : '%d.', 6191 week : { 6192 dow : 1, // Monday is the first day of the week. 6193 doy : 4 // The week that contains Jan 4th is the first week of the year. 6194 } 6195 }); 6196 6197 //! moment.js locale configuration 6198 6199 hooks.defineLocale('cv', { 6200 months : 'кÓÑлаÑ_наÑÓÑ_пÑÑ_ака_май_Ò«ÓÑÑме_ÑÑÓ_Ò«ÑÑла_авÓн_Ñпа_Ñӳк_ÑаÑÑав'.split('_'), 6201 monthsShort : 'кÓÑ_наÑ_пÑÑ_ака_май_Ò«ÓÑ_ÑÑÓ_Ò«ÑÑ_авн_Ñпа_Ñӳк_ÑаÑ'.split('_'), 6202 weekdays : 'вÑÑÑаÑникÑн_ÑÑнÑикÑн_ÑÑлаÑикÑн_ÑнкÑн_кÓҫнеÑникÑн_ÑÑнекÑн_ÑÓмаÑкÑн'.split('_'), 6203 weekdaysShort : 'вÑÑ_ÑÑн_ÑÑл_Ñн_кÓÒ«_ÑÑн_ÑÓм'.split('_'), 6204 weekdaysMin : 'вÑ_Ñн_ÑÑ_Ñн_кҫ_ÑÑ_Ñм'.split('_'), 6205 longDateFormat : { 6206 LT : 'HH:mm', 6207 LTS : 'HH:mm:ss', 6208 L : 'DD-MM-YYYY', 6209 LL : 'YYYY [Ò«ÑÐ»Ñ Ð¸] MMMM [ÑйÓÑ Óн] D[-мÓÑÓ]', 6210 LLL : 'YYYY [Ò«ÑÐ»Ñ Ð¸] MMMM [ÑйÓÑ Óн] D[-мÓÑÓ], HH:mm', 6211 LLLL : 'dddd, YYYY [Ò«ÑÐ»Ñ Ð¸] MMMM [ÑйÓÑ Óн] D[-мÓÑÓ], HH:mm' 6212 }, 6213 calendar : { 6214 sameDay: '[ÐаÑн] LT [ÑÐµÑ ÐµÑÑе]', 6215 nextDay: '[ЫÑан] LT [ÑÐµÑ ÐµÑÑе]', 6216 lastDay: '[ÓнеÑ] LT [ÑÐµÑ ÐµÑÑе]', 6217 nextWeek: '[ҪиÑеÑ] dddd LT [ÑÐµÑ ÐµÑÑе]', 6218 lastWeek: '[ÐÑÑнÓ] dddd LT [ÑÐµÑ ÐµÑÑе]', 6219 sameElse: 'L' 6220 }, 6221 relativeTime : { 6222 future : function (output) {
vendor: 2,677 bytes, lines 6223-6295
6223 var affix = /ÑÐµÑ ÐµÑ$/i.exec(output) ? 'Ñен' : /Ò«Ñл$/i.exec(output) ? 'Ñан' : 'Ñан'; 6224 return output + affix; 6225 }, 6226 past : '%s каÑлла', 6227 s : 'пÓÑ-ик ҫеккÑнÑ', 6228 ss : '%d ҫеккÑнÑ', 6229 m : 'пÓÑ Ð¼Ð¸Ð½ÑÑ', 6230 mm : '%d минÑÑ', 6231 h : 'пÓÑ ÑÐµÑ ÐµÑ', 6232 hh : '%d ÑÐµÑ ÐµÑ', 6233 d : 'пÓÑ ÐºÑн', 6234 dd : '%d кÑн', 6235 M : 'пÓÑ ÑйÓÑ ', 6236 MM : '%d ÑйÓÑ ', 6237 y : 'пÓÑ Ò«Ñл', 6238 yy : '%d Ò«Ñл' 6239 }, 6240 dayOfMonthOrdinalParse: /\d{1,2}-мÓÑ/, 6241 ordinal : '%d-мÓÑ', 6242 week : { 6243 dow : 1, // Monday is the first day of the week. 6244 doy : 7 // The week that contains Jan 7th is the first week of the year. 6245 } 6246 }); 6247 6248 //! moment.js locale configuration 6249 6250 hooks.defineLocale('cy', { 6251 months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'), 6252 monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'), 6253 weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'), 6254 weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'), 6255 weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'), 6256 weekdaysParseExact : true, 6257 // time formats are the same as en-gb 6258 longDateFormat: { 6259 LT: 'HH:mm', 6260 LTS : 'HH:mm:ss', 6261 L: 'DD/MM/YYYY', 6262 LL: 'D MMMM YYYY', 6263 LLL: 'D MMMM YYYY HH:mm', 6264 LLLL: 'dddd, D MMMM YYYY HH:mm' 6265 }, 6266 calendar: { 6267 sameDay: '[Heddiw am] LT', 6268 nextDay: '[Yfory am] LT', 6269 nextWeek: 'dddd [am] LT', 6270 lastDay: '[Ddoe am] LT', 6271 lastWeek: 'dddd [diwethaf am] LT', 6272 sameElse: 'L' 6273 }, 6274 relativeTime: { 6275 future: 'mewn %s', 6276 past: '%s yn ôl', 6277 s: 'ychydig eiliadau', 6278 ss: '%d eiliad', 6279 m: 'munud', 6280 mm: '%d munud', 6281 h: 'awr', 6282 hh: '%d awr', 6283 d: 'diwrnod', 6284 dd: '%d diwrnod', 6285 M: 'mis', 6286 MM: '%d mis', 6287 y: 'blwyddyn', 6288 yy: '%d flynedd' 6289 }, 6290 dayOfMonthOrdinalParse: /\d{1,2}(fed|ain|af|il|ydd|ed|eg)/, 6291 // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh 6292 ordinal: function (number) { 6293 var b = number, 6294 output = '', 6295 lookup = [
vendor: 64,190 bytes, lines 6296-7994
6296 '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed 6297 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed 6298 ]; 6299 if (b > 20) { 6300 if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) { 6301 output = 'fed'; // not 30ain, 70ain or 90ain 6302 } else { 6303 output = 'ain'; 6304 } 6305 } else if (b > 0) { 6306 output = lookup[b]; 6307 } 6308 return number + output; 6309 }, 6310 week : { 6311 dow : 1, // Monday is the first day of the week. 6312 doy : 4 // The week that contains Jan 4th is the first week of the year. 6313 } 6314 }); 6315 6316 //! moment.js locale configuration 6317 6318 hooks.defineLocale('da', { 6319 months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'), 6320 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), 6321 weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), 6322 weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'), 6323 weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'), 6324 longDateFormat : { 6325 LT : 'HH:mm', 6326 LTS : 'HH:mm:ss', 6327 L : 'DD.MM.YYYY', 6328 LL : 'D. MMMM YYYY', 6329 LLL : 'D. MMMM YYYY HH:mm', 6330 LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm' 6331 }, 6332 calendar : { 6333 sameDay : '[i dag kl.] LT', 6334 nextDay : '[i morgen kl.] LT', 6335 nextWeek : 'pÃ¥ dddd [kl.] LT', 6336 lastDay : '[i gÃ¥r kl.] LT', 6337 lastWeek : '[i] dddd[s kl.] LT', 6338 sameElse : 'L' 6339 }, 6340 relativeTime : { 6341 future : 'om %s', 6342 past : '%s siden', 6343 s : 'fÃ¥ sekunder', 6344 ss : '%d sekunder', 6345 m : 'et minut', 6346 mm : '%d minutter', 6347 h : 'en time', 6348 hh : '%d timer', 6349 d : 'en dag', 6350 dd : '%d dage', 6351 M : 'en mÃ¥ned', 6352 MM : '%d mÃ¥neder', 6353 y : 'et Ã¥r', 6354 yy : '%d Ã¥r' 6355 }, 6356 dayOfMonthOrdinalParse: /\d{1,2}\./, 6357 ordinal : '%d.', 6358 week : { 6359 dow : 1, // Monday is the first day of the week. 6360 doy : 4 // The week that contains Jan 4th is the first week of the year. 6361 } 6362 }); 6363 6364 //! moment.js locale configuration 6365 6366 function processRelativeTime(number, withoutSuffix, key, isFuture) { 6367 var format = { 6368 'm': ['eine Minute', 'einer Minute'], 6369 'h': ['eine Stunde', 'einer Stunde'], 6370 'd': ['ein Tag', 'einem Tag'], 6371 'dd': [number + ' Tage', number + ' Tagen'], 6372 'M': ['ein Monat', 'einem Monat'], 6373 'MM': [number + ' Monate', number + ' Monaten'], 6374 'y': ['ein Jahr', 'einem Jahr'], 6375 'yy': [number + ' Jahre', number + ' Jahren'] 6376 }; 6377 return withoutSuffix ? format[key][0] : format[key][1]; 6378 } 6379 6380 hooks.defineLocale('de-at', { 6381 months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), 6382 monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), 6383 monthsParseExact : true, 6384 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), 6385 weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), 6386 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 6387 weekdaysParseExact : true, 6388 longDateFormat : { 6389 LT: 'HH:mm', 6390 LTS: 'HH:mm:ss', 6391 L : 'DD.MM.YYYY', 6392 LL : 'D. MMMM YYYY', 6393 LLL : 'D. MMMM YYYY HH:mm', 6394 LLLL : 'dddd, D. MMMM YYYY HH:mm' 6395 }, 6396 calendar : { 6397 sameDay: '[heute um] LT [Uhr]', 6398 sameElse: 'L', 6399 nextDay: '[morgen um] LT [Uhr]', 6400 nextWeek: 'dddd [um] LT [Uhr]', 6401 lastDay: '[gestern um] LT [Uhr]', 6402 lastWeek: '[letzten] dddd [um] LT [Uhr]' 6403 }, 6404 relativeTime : { 6405 future : 'in %s', 6406 past : 'vor %s', 6407 s : 'ein paar Sekunden', 6408 ss : '%d Sekunden', 6409 m : processRelativeTime, 6410 mm : '%d Minuten', 6411 h : processRelativeTime, 6412 hh : '%d Stunden', 6413 d : processRelativeTime, 6414 dd : processRelativeTime, 6415 M : processRelativeTime, 6416 MM : processRelativeTime, 6417 y : processRelativeTime, 6418 yy : processRelativeTime 6419 }, 6420 dayOfMonthOrdinalParse: /\d{1,2}\./, 6421 ordinal : '%d.', 6422 week : { 6423 dow : 1, // Monday is the first day of the week. 6424 doy : 4 // The week that contains Jan 4th is the first week of the year. 6425 } 6426 }); 6427 6428 //! moment.js locale configuration 6429 6430 function processRelativeTime$1(number, withoutSuffix, key, isFuture) { 6431 var format = { 6432 'm': ['eine Minute', 'einer Minute'], 6433 'h': ['eine Stunde', 'einer Stunde'], 6434 'd': ['ein Tag', 'einem Tag'], 6435 'dd': [number + ' Tage', number + ' Tagen'], 6436 'M': ['ein Monat', 'einem Monat'], 6437 'MM': [number + ' Monate', number + ' Monaten'], 6438 'y': ['ein Jahr', 'einem Jahr'], 6439 'yy': [number + ' Jahre', number + ' Jahren'] 6440 }; 6441 return withoutSuffix ? format[key][0] : format[key][1]; 6442 } 6443 6444 hooks.defineLocale('de-ch', { 6445 months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), 6446 monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), 6447 monthsParseExact : true, 6448 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), 6449 weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 6450 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 6451 weekdaysParseExact : true, 6452 longDateFormat : { 6453 LT: 'HH:mm', 6454 LTS: 'HH:mm:ss', 6455 L : 'DD.MM.YYYY', 6456 LL : 'D. MMMM YYYY', 6457 LLL : 'D. MMMM YYYY HH:mm', 6458 LLLL : 'dddd, D. MMMM YYYY HH:mm' 6459 }, 6460 calendar : { 6461 sameDay: '[heute um] LT [Uhr]', 6462 sameElse: 'L', 6463 nextDay: '[morgen um] LT [Uhr]', 6464 nextWeek: 'dddd [um] LT [Uhr]', 6465 lastDay: '[gestern um] LT [Uhr]', 6466 lastWeek: '[letzten] dddd [um] LT [Uhr]' 6467 }, 6468 relativeTime : { 6469 future : 'in %s', 6470 past : 'vor %s', 6471 s : 'ein paar Sekunden', 6472 ss : '%d Sekunden', 6473 m : processRelativeTime$1, 6474 mm : '%d Minuten', 6475 h : processRelativeTime$1, 6476 hh : '%d Stunden', 6477 d : processRelativeTime$1, 6478 dd : processRelativeTime$1, 6479 M : processRelativeTime$1, 6480 MM : processRelativeTime$1, 6481 y : processRelativeTime$1, 6482 yy : processRelativeTime$1 6483 }, 6484 dayOfMonthOrdinalParse: /\d{1,2}\./, 6485 ordinal : '%d.', 6486 week : { 6487 dow : 1, // Monday is the first day of the week. 6488 doy : 4 // The week that contains Jan 4th is the first week of the year. 6489 } 6490 }); 6491 6492 //! moment.js locale configuration 6493 6494 function processRelativeTime$2(number, withoutSuffix, key, isFuture) { 6495 var format = { 6496 'm': ['eine Minute', 'einer Minute'], 6497 'h': ['eine Stunde', 'einer Stunde'], 6498 'd': ['ein Tag', 'einem Tag'], 6499 'dd': [number + ' Tage', number + ' Tagen'], 6500 'M': ['ein Monat', 'einem Monat'], 6501 'MM': [number + ' Monate', number + ' Monaten'], 6502 'y': ['ein Jahr', 'einem Jahr'], 6503 'yy': [number + ' Jahre', number + ' Jahren'] 6504 }; 6505 return withoutSuffix ? format[key][0] : format[key][1]; 6506 } 6507 6508 hooks.defineLocale('de', { 6509 months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), 6510 monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'), 6511 monthsParseExact : true, 6512 weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'), 6513 weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'), 6514 weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'), 6515 weekdaysParseExact : true, 6516 longDateFormat : { 6517 LT: 'HH:mm', 6518 LTS: 'HH:mm:ss', 6519 L : 'DD.MM.YYYY', 6520 LL : 'D. MMMM YYYY', 6521 LLL : 'D. MMMM YYYY HH:mm', 6522 LLLL : 'dddd, D. MMMM YYYY HH:mm' 6523 }, 6524 calendar : { 6525 sameDay: '[heute um] LT [Uhr]', 6526 sameElse: 'L', 6527 nextDay: '[morgen um] LT [Uhr]', 6528 nextWeek: 'dddd [um] LT [Uhr]', 6529 lastDay: '[gestern um] LT [Uhr]', 6530 lastWeek: '[letzten] dddd [um] LT [Uhr]' 6531 }, 6532 relativeTime : { 6533 future : 'in %s', 6534 past : 'vor %s', 6535 s : 'ein paar Sekunden', 6536 ss : '%d Sekunden', 6537 m : processRelativeTime$2, 6538 mm : '%d Minuten', 6539 h : processRelativeTime$2, 6540 hh : '%d Stunden', 6541 d : processRelativeTime$2, 6542 dd : processRelativeTime$2, 6543 M : processRelativeTime$2, 6544 MM : processRelativeTime$2, 6545 y : processRelativeTime$2, 6546 yy : processRelativeTime$2 6547 }, 6548 dayOfMonthOrdinalParse: /\d{1,2}\./, 6549 ordinal : '%d.', 6550 week : { 6551 dow : 1, // Monday is the first day of the week. 6552 doy : 4 // The week that contains Jan 4th is the first week of the year. 6553 } 6554 }); 6555 6556 //! moment.js locale configuration 6557 6558 var months$4 = [ 6559 'ÞÞ¬ÞÞªÞÞ¦ÞÞ©', 6560 'ÞÞ¬ÞÞ°ÞÞªÞÞ¦ÞÞ©', 6561 'ÞÞ§ÞÞ¨ÞÞª', 6562 'ÞÞÞÞ°ÞÞ©ÞÞª', 6563 'ÞÞ', 6564 'ÞÞ«ÞÞ°', 6565 'ÞÞªÞÞ¦ÞÞ¨', 6566 'ÞÞ¯ÞÞ¦ÞÞ°ÞÞª', 6567 'ÞÞ¬ÞÞ°ÞÞ¬ÞÞ°ÞÞ¦ÞÞª', 6568 'ÞÞ®ÞÞ°ÞÞ¯ÞÞ¦ÞÞª', 6569 'ÞÞ®ÞÞ¬ÞÞ°ÞÞ¦ÞÞª', 6570 'ÞÞ¨ÞÞ¬ÞÞ°ÞÞ¦ÞÞª' 6571 ], weekdays = [ 6572 'ÞÞ§ÞÞ¨ÞÞ°ÞÞ¦', 6573 'ÞÞ¯ÞÞ¦', 6574 'ÞÞ¦ÞÞ°ÞÞ§ÞÞ¦', 6575 'ÞÞªÞÞ¦', 6576 'ÞÞªÞÞ§ÞÞ°ÞÞ¦ÞÞ¨', 6577 'ÞÞªÞÞªÞÞª', 6578 'ÞÞ®ÞÞ¨ÞÞ¨ÞÞª' 6579 ]; 6580 6581 hooks.defineLocale('dv', { 6582 months : months$4, 6583 monthsShort : months$4, 6584 weekdays : weekdays, 6585 weekdaysShort : weekdays, 6586 weekdaysMin : 'ÞÞ§ÞÞ¨_ÞÞ¯ÞÞ¦_ÞÞ¦ÞÞ°_ÞÞªÞÞ¦_ÞÞªÞÞ§_ÞÞªÞÞª_ÞÞ®ÞÞ¨'.split('_'), 6587 longDateFormat : { 6588 6589 LT : 'HH:mm', 6590 LTS : 'HH:mm:ss', 6591 L : 'D/M/YYYY', 6592 LL : 'D MMMM YYYY', 6593 LLL : 'D MMMM YYYY HH:mm', 6594 LLLL : 'dddd D MMMM YYYY HH:mm' 6595 }, 6596 meridiemParse: /ÞÞ|ÞÞ/, 6597 isPM : function (input) { 6598 return 'ÞÞ' === input; 6599 }, 6600 meridiem : function (hour, minute, isLower) { 6601 if (hour < 12) { 6602 return 'ÞÞ'; 6603 } else { 6604 return 'ÞÞ'; 6605 } 6606 }, 6607 calendar : { 6608 sameDay : '[ÞÞ¨ÞÞ¦ÞÞª] LT', 6609 nextDay : '[ÞÞ§ÞÞ¦ÞÞ§] LT', 6610 nextWeek : 'dddd LT', 6611 lastDay : '[ÞÞ¨ÞÞ°ÞÞ¬] LT', 6612 lastWeek : '[ÞÞ§ÞÞ¨ÞÞªÞÞ¨] dddd LT', 6613 sameElse : 'L' 6614 }, 6615 relativeTime : { 6616 future : 'ÞÞ¬ÞÞÞÞ¦ÞÞ¨ %s', 6617 past : 'ÞÞªÞÞ¨ÞÞ° %s', 6618 s : 'ÞÞ¨ÞÞªÞÞ°ÞÞªÞÞ®Þ Þ¬ÞÞ°', 6619 ss : 'd% ÞÞ¨ÞÞªÞÞ°ÞÞª', 6620 m : 'ÞÞ¨ÞÞ¨ÞÞ¬ÞÞ°', 6621 mm : 'ÞÞ¨ÞÞ¨ÞÞª %d', 6622 h : 'ÞÞ¦ÞÞ¨ÞÞ¨ÞÞ¬ÞÞ°', 6623 hh : 'ÞÞ¦ÞÞ¨ÞÞ¨ÞÞª %d', 6624 d : 'ÞÞªÞÞ¦ÞÞ¬ÞÞ°', 6625 dd : 'ÞÞªÞÞ¦ÞÞ° %d', 6626 M : 'ÞÞ¦ÞÞ¬ÞÞ°', 6627 MM : 'ÞÞ¦ÞÞ° %d', 6628 y : 'ÞÞ¦ÞÞ¦ÞÞ¬ÞÞ°', 6629 yy : 'ÞÞ¦ÞÞ¦ÞÞª %d' 6630 }, 6631 preparse: function (string) { 6632 return string.replace(/Ø/g, ','); 6633 }, 6634 postformat: function (string) { 6635 return string.replace(/,/g, 'Ø'); 6636 }, 6637 week : { 6638 dow : 7, // Sunday is the first day of the week. 6639 doy : 12 // The week that contains Jan 12th is the first week of the year. 6640 } 6641 }); 6642 6643 //! moment.js locale configuration 6644 6645 hooks.defineLocale('el', { 6646 monthsNominativeEl : 'ÎÎ±Î½Î¿Ï Î¬ÏιοÏ_ΦεβÏÎ¿Ï Î¬ÏιοÏ_ÎάÏÏιοÏ_ÎÏÏίλιοÏ_ÎάιοÏ_ÎοÏνιοÏ_ÎοÏλιοÏ_ÎÏÎ³Î¿Ï ÏÏοÏ_ΣεÏÏÎμβÏιοÏ_ÎκÏÏβÏιοÏ_ÎοÎμβÏιοÏ_ÎεκÎμβÏιοÏ'.split('_'), 6647 monthsGenitiveEl : 'ÎÎ±Î½Î¿Ï Î±ÏÎ¯Î¿Ï _ΦεβÏÎ¿Ï Î±ÏÎ¯Î¿Ï _ÎαÏÏÎ¯Î¿Ï _ÎÏÏÎ¹Î»Î¯Î¿Ï _ÎαÎÎ¿Ï _ÎÎ¿Ï Î½Î¯Î¿Ï _ÎÎ¿Ï Î»Î¯Î¿Ï _ÎÏ Î³Î¿ÏÏÏÎ¿Ï _ΣεÏÏεμβÏÎ¯Î¿Ï _ÎκÏÏβÏÎ¯Î¿Ï _ÎοεμβÏÎ¯Î¿Ï _ÎεκεμβÏÎ¯Î¿Ï '.split('_'), 6648 months : function (momentToFormat, format) { 6649 if (!momentToFormat) { 6650 return this._monthsNominativeEl; 6651 } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM' 6652 return this._monthsGenitiveEl[momentToFormat.month()]; 6653 } else { 6654 return this._monthsNominativeEl[momentToFormat.month()]; 6655 } 6656 }, 6657 monthsShort : 'Îαν_Φεβ_ÎαÏ_ÎÏÏ_ÎαÏ_ÎÎ¿Ï Î½_ÎÎ¿Ï Î»_ÎÏ Î³_ΣεÏ_ÎκÏ_Îοε_Îεκ'.split('_'), 6658 weekdays : 'ÎÏ Ïιακή_ÎÎµÏ ÏÎÏα_ΤÏίÏη_ΤεÏάÏÏη_Î ÎμÏÏη_ΠαÏαÏÎºÎµÏ Î®_ΣάββαÏο'.split('_'), 6659 weekdaysShort : 'ÎÏ Ï_ÎÎµÏ _ΤÏι_ΤεÏ_Πεμ_ΠαÏ_Σαβ'.split('_'), 6660 weekdaysMin : 'ÎÏ _Îε_ΤÏ_Τε_Πε_Πα_Σα'.split('_'), 6661 meridiem : function (hours, minutes, isLower) { 6662 if (hours > 11) { 6663 return isLower ? 'μμ' : 'ÎÎ'; 6664 } else { 6665 return isLower ? 'Ïμ' : 'Î Î'; 6666 } 6667 }, 6668 isPM : function (input) { 6669 return ((input + '').toLowerCase()[0] === 'μ'); 6670 }, 6671 meridiemParse : /[Î Î]\.?Î?\.?/i, 6672 longDateFormat : { 6673 LT : 'h:mm A', 6674 LTS : 'h:mm:ss A', 6675 L : 'DD/MM/YYYY', 6676 LL : 'D MMMM YYYY', 6677 LLL : 'D MMMM YYYY h:mm A', 6678 LLLL : 'dddd, D MMMM YYYY h:mm A' 6679 }, 6680 calendarEl : { 6681 sameDay : '[ΣήμεÏα {}] LT', 6682 nextDay : '[ÎÏÏιο {}] LT', 6683 nextWeek : 'dddd [{}] LT', 6684 lastDay : '[Î§Î¸ÎµÏ {}] LT', 6685 lastWeek : function () { 6686 switch (this.day()) { 6687 case 6: 6688 return '[Ïο ÏÏοηγοÏμενο] dddd [{}] LT'; 6689 default: 6690 return '[Ïην ÏÏοηγοÏμενη] dddd [{}] LT'; 6691 } 6692 }, 6693 sameElse : 'L' 6694 }, 6695 calendar : function (key, mom) { 6696 var output = this._calendarEl[key], 6697 hours = mom && mom.hours(); 6698 if (isFunction(output)) { 6699 output = output.apply(mom); 6700 } 6701 return output.replace('{}', (hours % 12 === 1 ? 'ÏÏη' : 'ÏÏιÏ')); 6702 }, 6703 relativeTime : { 6704 future : 'Ïε %s', 6705 past : '%s ÏÏιν', 6706 s : 'λίγα Î´ÎµÏ ÏεÏÏλεÏÏα', 6707 ss : '%d Î´ÎµÏ ÏεÏÏλεÏÏα', 6708 m : 'Îνα λεÏÏÏ', 6709 mm : '%d λεÏÏά', 6710 h : 'μία ÏÏα', 6711 hh : '%d ÏÏεÏ', 6712 d : 'μία μÎÏα', 6713 dd : '%d μÎÏεÏ', 6714 M : 'ÎÎ½Î±Ï Î¼Î®Î½Î±Ï', 6715 MM : '%d μήνεÏ', 6716 y : 'ÎÎ½Î±Ï ÏÏÏνοÏ', 6717 yy : '%d ÏÏÏνια' 6718 }, 6719 dayOfMonthOrdinalParse: /\d{1,2}η/, 6720 ordinal: '%dη', 6721 week : { 6722 dow : 1, // Monday is the first day of the week. 6723 doy : 4 // The week that contains Jan 4st is the first week of the year. 6724 } 6725 }); 6726 6727 //! moment.js locale configuration 6728 6729 hooks.defineLocale('en-SG', { 6730 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 6731 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 6732 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 6733 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 6734 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 6735 longDateFormat : { 6736 LT : 'HH:mm', 6737 LTS : 'HH:mm:ss', 6738 L : 'DD/MM/YYYY', 6739 LL : 'D MMMM YYYY', 6740 LLL : 'D MMMM YYYY HH:mm', 6741 LLLL : 'dddd, D MMMM YYYY HH:mm' 6742 }, 6743 calendar : { 6744 sameDay : '[Today at] LT', 6745 nextDay : '[Tomorrow at] LT', 6746 nextWeek : 'dddd [at] LT', 6747 lastDay : '[Yesterday at] LT', 6748 lastWeek : '[Last] dddd [at] LT', 6749 sameElse : 'L' 6750 }, 6751 relativeTime : { 6752 future : 'in %s', 6753 past : '%s ago', 6754 s : 'a few seconds', 6755 ss : '%d seconds', 6756 m : 'a minute', 6757 mm : '%d minutes', 6758 h : 'an hour', 6759 hh : '%d hours', 6760 d : 'a day', 6761 dd : '%d days', 6762 M : 'a month', 6763 MM : '%d months', 6764 y : 'a year', 6765 yy : '%d years' 6766 }, 6767 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 6768 ordinal : function (number) { 6769 var b = number % 10, 6770 output = (~~(number % 100 / 10) === 1) ? 'th' : 6771 (b === 1) ? 'st' : 6772 (b === 2) ? 'nd' : 6773 (b === 3) ? 'rd' : 'th'; 6774 return number + output; 6775 }, 6776 week : { 6777 dow : 1, // Monday is the first day of the week. 6778 doy : 4 // The week that contains Jan 4th is the first week of the year. 6779 } 6780 }); 6781 6782 //! moment.js locale configuration 6783 6784 hooks.defineLocale('en-au', { 6785 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 6786 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 6787 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 6788 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 6789 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 6790 longDateFormat : { 6791 LT : 'h:mm A', 6792 LTS : 'h:mm:ss A', 6793 L : 'DD/MM/YYYY', 6794 LL : 'D MMMM YYYY', 6795 LLL : 'D MMMM YYYY h:mm A', 6796 LLLL : 'dddd, D MMMM YYYY h:mm A' 6797 }, 6798 calendar : { 6799 sameDay : '[Today at] LT', 6800 nextDay : '[Tomorrow at] LT', 6801 nextWeek : 'dddd [at] LT', 6802 lastDay : '[Yesterday at] LT', 6803 lastWeek : '[Last] dddd [at] LT', 6804 sameElse : 'L' 6805 }, 6806 relativeTime : { 6807 future : 'in %s', 6808 past : '%s ago', 6809 s : 'a few seconds', 6810 ss : '%d seconds', 6811 m : 'a minute', 6812 mm : '%d minutes', 6813 h : 'an hour', 6814 hh : '%d hours', 6815 d : 'a day', 6816 dd : '%d days', 6817 M : 'a month', 6818 MM : '%d months', 6819 y : 'a year', 6820 yy : '%d years' 6821 }, 6822 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 6823 ordinal : function (number) { 6824 var b = number % 10, 6825 output = (~~(number % 100 / 10) === 1) ? 'th' : 6826 (b === 1) ? 'st' : 6827 (b === 2) ? 'nd' : 6828 (b === 3) ? 'rd' : 'th'; 6829 return number + output; 6830 }, 6831 week : { 6832 dow : 1, // Monday is the first day of the week. 6833 doy : 4 // The week that contains Jan 4th is the first week of the year. 6834 } 6835 }); 6836 6837 //! moment.js locale configuration 6838 6839 hooks.defineLocale('en-ca', { 6840 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 6841 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 6842 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 6843 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 6844 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 6845 longDateFormat : { 6846 LT : 'h:mm A', 6847 LTS : 'h:mm:ss A', 6848 L : 'YYYY-MM-DD', 6849 LL : 'MMMM D, YYYY', 6850 LLL : 'MMMM D, YYYY h:mm A', 6851 LLLL : 'dddd, MMMM D, YYYY h:mm A' 6852 }, 6853 calendar : { 6854 sameDay : '[Today at] LT', 6855 nextDay : '[Tomorrow at] LT', 6856 nextWeek : 'dddd [at] LT', 6857 lastDay : '[Yesterday at] LT', 6858 lastWeek : '[Last] dddd [at] LT', 6859 sameElse : 'L' 6860 }, 6861 relativeTime : { 6862 future : 'in %s', 6863 past : '%s ago', 6864 s : 'a few seconds', 6865 ss : '%d seconds', 6866 m : 'a minute', 6867 mm : '%d minutes', 6868 h : 'an hour', 6869 hh : '%d hours', 6870 d : 'a day', 6871 dd : '%d days', 6872 M : 'a month', 6873 MM : '%d months', 6874 y : 'a year', 6875 yy : '%d years' 6876 }, 6877 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 6878 ordinal : function (number) { 6879 var b = number % 10, 6880 output = (~~(number % 100 / 10) === 1) ? 'th' : 6881 (b === 1) ? 'st' : 6882 (b === 2) ? 'nd' : 6883 (b === 3) ? 'rd' : 'th'; 6884 return number + output; 6885 } 6886 }); 6887 6888 //! moment.js locale configuration 6889 6890 hooks.defineLocale('en-gb', { 6891 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 6892 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 6893 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 6894 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 6895 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 6896 longDateFormat : { 6897 LT : 'HH:mm', 6898 LTS : 'HH:mm:ss', 6899 L : 'DD/MM/YYYY', 6900 LL : 'D MMMM YYYY', 6901 LLL : 'D MMMM YYYY HH:mm', 6902 LLLL : 'dddd, D MMMM YYYY HH:mm' 6903 }, 6904 calendar : { 6905 sameDay : '[Today at] LT', 6906 nextDay : '[Tomorrow at] LT', 6907 nextWeek : 'dddd [at] LT', 6908 lastDay : '[Yesterday at] LT', 6909 lastWeek : '[Last] dddd [at] LT', 6910 sameElse : 'L' 6911 }, 6912 relativeTime : { 6913 future : 'in %s', 6914 past : '%s ago', 6915 s : 'a few seconds', 6916 ss : '%d seconds', 6917 m : 'a minute', 6918 mm : '%d minutes', 6919 h : 'an hour', 6920 hh : '%d hours', 6921 d : 'a day', 6922 dd : '%d days', 6923 M : 'a month', 6924 MM : '%d months', 6925 y : 'a year', 6926 yy : '%d years' 6927 }, 6928 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 6929 ordinal : function (number) { 6930 var b = number % 10, 6931 output = (~~(number % 100 / 10) === 1) ? 'th' : 6932 (b === 1) ? 'st' : 6933 (b === 2) ? 'nd' : 6934 (b === 3) ? 'rd' : 'th'; 6935 return number + output; 6936 }, 6937 week : { 6938 dow : 1, // Monday is the first day of the week. 6939 doy : 4 // The week that contains Jan 4th is the first week of the year. 6940 } 6941 }); 6942 6943 //! moment.js locale configuration 6944 6945 hooks.defineLocale('en-ie', { 6946 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 6947 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 6948 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 6949 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 6950 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 6951 longDateFormat : { 6952 LT : 'HH:mm', 6953 LTS : 'HH:mm:ss', 6954 L : 'DD/MM/YYYY', 6955 LL : 'D MMMM YYYY', 6956 LLL : 'D MMMM YYYY HH:mm', 6957 LLLL : 'dddd D MMMM YYYY HH:mm' 6958 }, 6959 calendar : { 6960 sameDay : '[Today at] LT', 6961 nextDay : '[Tomorrow at] LT', 6962 nextWeek : 'dddd [at] LT', 6963 lastDay : '[Yesterday at] LT', 6964 lastWeek : '[Last] dddd [at] LT', 6965 sameElse : 'L' 6966 }, 6967 relativeTime : { 6968 future : 'in %s', 6969 past : '%s ago', 6970 s : 'a few seconds', 6971 ss : '%d seconds', 6972 m : 'a minute', 6973 mm : '%d minutes', 6974 h : 'an hour', 6975 hh : '%d hours', 6976 d : 'a day', 6977 dd : '%d days', 6978 M : 'a month', 6979 MM : '%d months', 6980 y : 'a year', 6981 yy : '%d years' 6982 }, 6983 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 6984 ordinal : function (number) { 6985 var b = number % 10, 6986 output = (~~(number % 100 / 10) === 1) ? 'th' : 6987 (b === 1) ? 'st' : 6988 (b === 2) ? 'nd' : 6989 (b === 3) ? 'rd' : 'th'; 6990 return number + output; 6991 }, 6992 week : { 6993 dow : 1, // Monday is the first day of the week. 6994 doy : 4 // The week that contains Jan 4th is the first week of the year. 6995 } 6996 }); 6997 6998 //! moment.js locale configuration 6999 7000 hooks.defineLocale('en-il', { 7001 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 7002 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 7003 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 7004 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 7005 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 7006 longDateFormat : { 7007 LT : 'HH:mm', 7008 LTS : 'HH:mm:ss', 7009 L : 'DD/MM/YYYY', 7010 LL : 'D MMMM YYYY', 7011 LLL : 'D MMMM YYYY HH:mm', 7012 LLLL : 'dddd, D MMMM YYYY HH:mm' 7013 }, 7014 calendar : { 7015 sameDay : '[Today at] LT', 7016 nextDay : '[Tomorrow at] LT', 7017 nextWeek : 'dddd [at] LT', 7018 lastDay : '[Yesterday at] LT', 7019 lastWeek : '[Last] dddd [at] LT', 7020 sameElse : 'L' 7021 }, 7022 relativeTime : { 7023 future : 'in %s', 7024 past : '%s ago', 7025 s : 'a few seconds', 7026 m : 'a minute', 7027 mm : '%d minutes', 7028 h : 'an hour', 7029 hh : '%d hours', 7030 d : 'a day', 7031 dd : '%d days', 7032 M : 'a month', 7033 MM : '%d months', 7034 y : 'a year', 7035 yy : '%d years' 7036 }, 7037 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 7038 ordinal : function (number) { 7039 var b = number % 10, 7040 output = (~~(number % 100 / 10) === 1) ? 'th' : 7041 (b === 1) ? 'st' : 7042 (b === 2) ? 'nd' : 7043 (b === 3) ? 'rd' : 'th'; 7044 return number + output; 7045 } 7046 }); 7047 7048 //! moment.js locale configuration 7049 7050 hooks.defineLocale('en-nz', { 7051 months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'), 7052 monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'), 7053 weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'), 7054 weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'), 7055 weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'), 7056 longDateFormat : { 7057 LT : 'h:mm A', 7058 LTS : 'h:mm:ss A', 7059 L : 'DD/MM/YYYY', 7060 LL : 'D MMMM YYYY', 7061 LLL : 'D MMMM YYYY h:mm A', 7062 LLLL : 'dddd, D MMMM YYYY h:mm A' 7063 }, 7064 calendar : { 7065 sameDay : '[Today at] LT', 7066 nextDay : '[Tomorrow at] LT', 7067 nextWeek : 'dddd [at] LT', 7068 lastDay : '[Yesterday at] LT', 7069 lastWeek : '[Last] dddd [at] LT', 7070 sameElse : 'L' 7071 }, 7072 relativeTime : { 7073 future : 'in %s', 7074 past : '%s ago', 7075 s : 'a few seconds', 7076 ss : '%d seconds', 7077 m : 'a minute', 7078 mm : '%d minutes', 7079 h : 'an hour', 7080 hh : '%d hours', 7081 d : 'a day', 7082 dd : '%d days', 7083 M : 'a month', 7084 MM : '%d months', 7085 y : 'a year', 7086 yy : '%d years' 7087 }, 7088 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 7089 ordinal : function (number) { 7090 var b = number % 10, 7091 output = (~~(number % 100 / 10) === 1) ? 'th' : 7092 (b === 1) ? 'st' : 7093 (b === 2) ? 'nd' : 7094 (b === 3) ? 'rd' : 'th'; 7095 return number + output; 7096 }, 7097 week : { 7098 dow : 1, // Monday is the first day of the week. 7099 doy : 4 // The week that contains Jan 4th is the first week of the year. 7100 } 7101 }); 7102 7103 //! moment.js locale configuration 7104 7105 hooks.defineLocale('eo', { 7106 months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aÅgusto_septembro_oktobro_novembro_decembro'.split('_'), 7107 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aÅg_sep_okt_nov_dec'.split('_'), 7108 weekdays : 'dimanÄo_lundo_mardo_merkredo_ĵaÅdo_vendredo_sabato'.split('_'), 7109 weekdaysShort : 'dim_lun_mard_merk_ĵaÅ_ven_sab'.split('_'), 7110 weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'), 7111 longDateFormat : { 7112 LT : 'HH:mm', 7113 LTS : 'HH:mm:ss', 7114 L : 'YYYY-MM-DD', 7115 LL : 'D[-a de] MMMM, YYYY', 7116 LLL : 'D[-a de] MMMM, YYYY HH:mm', 7117 LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm' 7118 }, 7119 meridiemParse: /[ap]\.t\.m/i, 7120 isPM: function (input) { 7121 return input.charAt(0).toLowerCase() === 'p'; 7122 }, 7123 meridiem : function (hours, minutes, isLower) { 7124 if (hours > 11) { 7125 return isLower ? 'p.t.m.' : 'P.T.M.'; 7126 } else { 7127 return isLower ? 'a.t.m.' : 'A.T.M.'; 7128 } 7129 }, 7130 calendar : { 7131 sameDay : '[HodiaÅ je] LT', 7132 nextDay : '[MorgaÅ je] LT', 7133 nextWeek : 'dddd [je] LT', 7134 lastDay : '[HieraÅ je] LT', 7135 lastWeek : '[pasinta] dddd [je] LT', 7136 sameElse : 'L' 7137 }, 7138 relativeTime : { 7139 future : 'post %s', 7140 past : 'antaÅ %s', 7141 s : 'sekundoj', 7142 ss : '%d sekundoj', 7143 m : 'minuto', 7144 mm : '%d minutoj', 7145 h : 'horo', 7146 hh : '%d horoj', 7147 d : 'tago',//ne 'diurno', Äar estas uzita por proksimumo 7148 dd : '%d tagoj', 7149 M : 'monato', 7150 MM : '%d monatoj', 7151 y : 'jaro', 7152 yy : '%d jaroj' 7153 }, 7154 dayOfMonthOrdinalParse: /\d{1,2}a/, 7155 ordinal : '%da', 7156 week : { 7157 dow : 1, // Monday is the first day of the week. 7158 doy : 7 // The week that contains Jan 7th is the first week of the year. 7159 } 7160 }); 7161 7162 //! moment.js locale configuration 7163 7164 var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), 7165 monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); 7166 7167 var monthsParse$1 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; 7168 var monthsRegex$2 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; 7169 7170 hooks.defineLocale('es-do', { 7171 months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), 7172 monthsShort : function (m, format) { 7173 if (!m) { 7174 return monthsShortDot; 7175 } else if (/-MMM-/.test(format)) { 7176 return monthsShort$1[m.month()]; 7177 } else { 7178 return monthsShortDot[m.month()]; 7179 } 7180 }, 7181 monthsRegex: monthsRegex$2, 7182 monthsShortRegex: monthsRegex$2, 7183 monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, 7184 monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, 7185 monthsParse: monthsParse$1, 7186 longMonthsParse: monthsParse$1, 7187 shortMonthsParse: monthsParse$1, 7188 weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), 7189 weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), 7190 weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'), 7191 weekdaysParseExact : true, 7192 longDateFormat : { 7193 LT : 'h:mm A', 7194 LTS : 'h:mm:ss A', 7195 L : 'DD/MM/YYYY', 7196 LL : 'D [de] MMMM [de] YYYY', 7197 LLL : 'D [de] MMMM [de] YYYY h:mm A', 7198 LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A' 7199 }, 7200 calendar : { 7201 sameDay : function () { 7202 return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7203 }, 7204 nextDay : function () { 7205 return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7206 }, 7207 nextWeek : function () { 7208 return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7209 }, 7210 lastDay : function () { 7211 return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7212 }, 7213 lastWeek : function () { 7214 return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7215 }, 7216 sameElse : 'L' 7217 }, 7218 relativeTime : { 7219 future : 'en %s', 7220 past : 'hace %s', 7221 s : 'unos segundos', 7222 ss : '%d segundos', 7223 m : 'un minuto', 7224 mm : '%d minutos', 7225 h : 'una hora', 7226 hh : '%d horas', 7227 d : 'un dÃa', 7228 dd : '%d dÃas', 7229 M : 'un mes', 7230 MM : '%d meses', 7231 y : 'un año', 7232 yy : '%d años' 7233 }, 7234 dayOfMonthOrdinalParse : /\d{1,2}º/, 7235 ordinal : '%dº', 7236 week : { 7237 dow : 1, // Monday is the first day of the week. 7238 doy : 4 // The week that contains Jan 4th is the first week of the year. 7239 } 7240 }); 7241 7242 //! moment.js locale configuration 7243 7244 var monthsShortDot$1 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), 7245 monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); 7246 7247 var monthsParse$2 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; 7248 var monthsRegex$3 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; 7249 7250 hooks.defineLocale('es-us', { 7251 months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), 7252 monthsShort : function (m, format) { 7253 if (!m) { 7254 return monthsShortDot$1; 7255 } else if (/-MMM-/.test(format)) { 7256 return monthsShort$2[m.month()]; 7257 } else { 7258 return monthsShortDot$1[m.month()]; 7259 } 7260 }, 7261 monthsRegex: monthsRegex$3, 7262 monthsShortRegex: monthsRegex$3, 7263 monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, 7264 monthsShortStrictRegex: /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, 7265 monthsParse: monthsParse$2, 7266 longMonthsParse: monthsParse$2, 7267 shortMonthsParse: monthsParse$2, 7268 weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), 7269 weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), 7270 weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'), 7271 weekdaysParseExact : true, 7272 longDateFormat : { 7273 LT : 'h:mm A', 7274 LTS : 'h:mm:ss A', 7275 L : 'MM/DD/YYYY', 7276 LL : 'D [de] MMMM [de] YYYY', 7277 LLL : 'D [de] MMMM [de] YYYY h:mm A', 7278 LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A' 7279 }, 7280 calendar : { 7281 sameDay : function () { 7282 return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7283 }, 7284 nextDay : function () { 7285 return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7286 }, 7287 nextWeek : function () { 7288 return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7289 }, 7290 lastDay : function () { 7291 return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7292 }, 7293 lastWeek : function () { 7294 return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7295 }, 7296 sameElse : 'L' 7297 }, 7298 relativeTime : { 7299 future : 'en %s', 7300 past : 'hace %s', 7301 s : 'unos segundos', 7302 ss : '%d segundos', 7303 m : 'un minuto', 7304 mm : '%d minutos', 7305 h : 'una hora', 7306 hh : '%d horas', 7307 d : 'un dÃa', 7308 dd : '%d dÃas', 7309 M : 'un mes', 7310 MM : '%d meses', 7311 y : 'un año', 7312 yy : '%d años' 7313 }, 7314 dayOfMonthOrdinalParse : /\d{1,2}º/, 7315 ordinal : '%dº', 7316 week : { 7317 dow : 0, // Sunday is the first day of the week. 7318 doy : 6 // The week that contains Jan 6th is the first week of the year. 7319 } 7320 }); 7321 7322 //! moment.js locale configuration 7323 7324 var monthsShortDot$2 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'), 7325 monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_'); 7326 7327 var monthsParse$3 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i]; 7328 var monthsRegex$4 = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i; 7329 7330 hooks.defineLocale('es', { 7331 months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'), 7332 monthsShort : function (m, format) { 7333 if (!m) { 7334 return monthsShortDot$2; 7335 } else if (/-MMM-/.test(format)) { 7336 return monthsShort$3[m.month()]; 7337 } else { 7338 return monthsShortDot$2[m.month()]; 7339 } 7340 }, 7341 monthsRegex : monthsRegex$4, 7342 monthsShortRegex : monthsRegex$4, 7343 monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i, 7344 monthsShortStrictRegex : /^(ene\.?|feb\.?|mar\.?|abr\.?|may\.?|jun\.?|jul\.?|ago\.?|sep\.?|oct\.?|nov\.?|dic\.?)/i, 7345 monthsParse : monthsParse$3, 7346 longMonthsParse : monthsParse$3, 7347 shortMonthsParse : monthsParse$3, 7348 weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'), 7349 weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'), 7350 weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'), 7351 weekdaysParseExact : true, 7352 longDateFormat : { 7353 LT : 'H:mm', 7354 LTS : 'H:mm:ss', 7355 L : 'DD/MM/YYYY', 7356 LL : 'D [de] MMMM [de] YYYY', 7357 LLL : 'D [de] MMMM [de] YYYY H:mm', 7358 LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm' 7359 }, 7360 calendar : { 7361 sameDay : function () { 7362 return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7363 }, 7364 nextDay : function () { 7365 return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7366 }, 7367 nextWeek : function () { 7368 return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7369 }, 7370 lastDay : function () { 7371 return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7372 }, 7373 lastWeek : function () { 7374 return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT'; 7375 }, 7376 sameElse : 'L' 7377 }, 7378 relativeTime : { 7379 future : 'en %s', 7380 past : 'hace %s', 7381 s : 'unos segundos', 7382 ss : '%d segundos', 7383 m : 'un minuto', 7384 mm : '%d minutos', 7385 h : 'una hora', 7386 hh : '%d horas', 7387 d : 'un dÃa', 7388 dd : '%d dÃas', 7389 M : 'un mes', 7390 MM : '%d meses', 7391 y : 'un año', 7392 yy : '%d años' 7393 }, 7394 dayOfMonthOrdinalParse : /\d{1,2}º/, 7395 ordinal : '%dº', 7396 week : { 7397 dow : 1, // Monday is the first day of the week. 7398 doy : 4 // The week that contains Jan 4th is the first week of the year. 7399 } 7400 }); 7401 7402 //! moment.js locale configuration 7403 7404 function processRelativeTime$3(number, withoutSuffix, key, isFuture) { 7405 var format = { 7406 's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'], 7407 'ss': [number + 'sekundi', number + 'sekundit'], 7408 'm' : ['ühe minuti', 'üks minut'], 7409 'mm': [number + ' minuti', number + ' minutit'], 7410 'h' : ['ühe tunni', 'tund aega', 'üks tund'], 7411 'hh': [number + ' tunni', number + ' tundi'], 7412 'd' : ['ühe päeva', 'üks päev'], 7413 'M' : ['kuu aja', 'kuu aega', 'üks kuu'], 7414 'MM': [number + ' kuu', number + ' kuud'], 7415 'y' : ['ühe aasta', 'aasta', 'üks aasta'], 7416 'yy': [number + ' aasta', number + ' aastat'] 7417 }; 7418 if (withoutSuffix) { 7419 return format[key][2] ? format[key][2] : format[key][1]; 7420 } 7421 return isFuture ? format[key][0] : format[key][1]; 7422 } 7423 7424 hooks.defineLocale('et', { 7425 months : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'), 7426 monthsShort : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'), 7427 weekdays : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'), 7428 weekdaysShort : 'P_E_T_K_N_R_L'.split('_'), 7429 weekdaysMin : 'P_E_T_K_N_R_L'.split('_'), 7430 longDateFormat : { 7431 LT : 'H:mm', 7432 LTS : 'H:mm:ss', 7433 L : 'DD.MM.YYYY', 7434 LL : 'D. MMMM YYYY', 7435 LLL : 'D. MMMM YYYY H:mm', 7436 LLLL : 'dddd, D. MMMM YYYY H:mm' 7437 }, 7438 calendar : { 7439 sameDay : '[Täna,] LT', 7440 nextDay : '[Homme,] LT', 7441 nextWeek : '[Järgmine] dddd LT', 7442 lastDay : '[Eile,] LT', 7443 lastWeek : '[Eelmine] dddd LT', 7444 sameElse : 'L' 7445 }, 7446 relativeTime : { 7447 future : '%s pärast', 7448 past : '%s tagasi', 7449 s : processRelativeTime$3, 7450 ss : processRelativeTime$3, 7451 m : processRelativeTime$3, 7452 mm : processRelativeTime$3, 7453 h : processRelativeTime$3, 7454 hh : processRelativeTime$3, 7455 d : processRelativeTime$3, 7456 dd : '%d päeva', 7457 M : processRelativeTime$3, 7458 MM : processRelativeTime$3, 7459 y : processRelativeTime$3, 7460 yy : processRelativeTime$3 7461 }, 7462 dayOfMonthOrdinalParse: /\d{1,2}\./, 7463 ordinal : '%d.', 7464 week : { 7465 dow : 1, // Monday is the first day of the week. 7466 doy : 4 // The week that contains Jan 4th is the first week of the year. 7467 } 7468 }); 7469 7470 //! moment.js locale configuration 7471 7472 hooks.defineLocale('eu', { 7473 months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'), 7474 monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'), 7475 monthsParseExact : true, 7476 weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'), 7477 weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'), 7478 weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'), 7479 weekdaysParseExact : true, 7480 longDateFormat : { 7481 LT : 'HH:mm', 7482 LTS : 'HH:mm:ss', 7483 L : 'YYYY-MM-DD', 7484 LL : 'YYYY[ko] MMMM[ren] D[a]', 7485 LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm', 7486 LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm', 7487 l : 'YYYY-M-D', 7488 ll : 'YYYY[ko] MMM D[a]', 7489 lll : 'YYYY[ko] MMM D[a] HH:mm', 7490 llll : 'ddd, YYYY[ko] MMM D[a] HH:mm' 7491 }, 7492 calendar : { 7493 sameDay : '[gaur] LT[etan]', 7494 nextDay : '[bihar] LT[etan]', 7495 nextWeek : 'dddd LT[etan]', 7496 lastDay : '[atzo] LT[etan]', 7497 lastWeek : '[aurreko] dddd LT[etan]', 7498 sameElse : 'L' 7499 }, 7500 relativeTime : { 7501 future : '%s barru', 7502 past : 'duela %s', 7503 s : 'segundo batzuk', 7504 ss : '%d segundo', 7505 m : 'minutu bat', 7506 mm : '%d minutu', 7507 h : 'ordu bat', 7508 hh : '%d ordu', 7509 d : 'egun bat', 7510 dd : '%d egun', 7511 M : 'hilabete bat', 7512 MM : '%d hilabete', 7513 y : 'urte bat', 7514 yy : '%d urte' 7515 }, 7516 dayOfMonthOrdinalParse: /\d{1,2}\./, 7517 ordinal : '%d.', 7518 week : { 7519 dow : 1, // Monday is the first day of the week. 7520 doy : 7 // The week that contains Jan 7th is the first week of the year. 7521 } 7522 }); 7523 7524 //! moment.js locale configuration 7525 7526 var symbolMap$5 = { 7527 '1': 'Û±', 7528 '2': 'Û²', 7529 '3': 'Û³', 7530 '4': 'Û´', 7531 '5': 'Ûµ', 7532 '6': 'Û¶', 7533 '7': 'Û·', 7534 '8': 'Û¸', 7535 '9': 'Û¹', 7536 '0': 'Û°' 7537 }, numberMap$4 = { 7538 'Û±': '1', 7539 'Û²': '2', 7540 'Û³': '3', 7541 'Û´': '4', 7542 'Ûµ': '5', 7543 'Û¶': '6', 7544 'Û·': '7', 7545 'Û¸': '8', 7546 'Û¹': '9', 7547 'Û°': '0' 7548 }; 7549 7550 hooks.defineLocale('fa', { 7551 months : 'ÚØ§ÙÙÛÙ_ÙÙØ±ÛÙ_٠ارس_Ø¢ÙØ±ÛÙ_Ù Ù_ÚÙØ¦Ù_ÚÙØ¦ÛÙ_Ø§ÙØª_سپتا٠بر_اکتبر_ÙÙØ§Ù بر_دسا٠بر'.split('_'), 7552 monthsShort : 'ÚØ§ÙÙÛÙ_ÙÙØ±ÛÙ_٠ارس_Ø¢ÙØ±ÛÙ_Ù Ù_ÚÙØ¦Ù_ÚÙØ¦ÛÙ_Ø§ÙØª_سپتا٠بر_اکتبر_ÙÙØ§Ù بر_دسا٠بر'.split('_'), 7553 weekdays : 'ÛÚ©\u200cØ´ÙØ¨Ù_Ø¯ÙØ´ÙبÙ_سÙ\u200cØ´ÙØ¨Ù_ÚÙØ§Ø±Ø´ÙبÙ_Ù¾ÙØ¬\u200cØ´ÙØ¨Ù_ج٠عÙ_Ø´ÙØ¨Ù'.split('_'), 7554 weekdaysShort : 'ÛÚ©\u200cØ´ÙØ¨Ù_Ø¯ÙØ´ÙبÙ_سÙ\u200cØ´ÙØ¨Ù_ÚÙØ§Ø±Ø´ÙبÙ_Ù¾ÙØ¬\u200cØ´ÙØ¨Ù_ج٠عÙ_Ø´ÙØ¨Ù'.split('_'), 7555 weekdaysMin : 'Û_د_س_Ú_Ù¾_ج_Ø´'.split('_'), 7556 weekdaysParseExact : true, 7557 longDateFormat : { 7558 LT : 'HH:mm', 7559 LTS : 'HH:mm:ss', 7560 L : 'DD/MM/YYYY', 7561 LL : 'D MMMM YYYY', 7562 LLL : 'D MMMM YYYY HH:mm', 7563 LLLL : 'dddd, D MMMM YYYY HH:mm' 7564 }, 7565 meridiemParse: /ÙØ¨Ù از Ø¸ÙØ±|بعد از Ø¸ÙØ±/, 7566 isPM: function (input) { 7567 return /بعد از Ø¸ÙØ±/.test(input); 7568 }, 7569 meridiem : function (hour, minute, isLower) { 7570 if (hour < 12) { 7571 return 'ÙØ¨Ù از Ø¸ÙØ±'; 7572 } else { 7573 return 'بعد از Ø¸ÙØ±'; 7574 } 7575 }, 7576 calendar : { 7577 sameDay : '[Ø§Ù Ø±ÙØ² ساعت] LT', 7578 nextDay : '[ÙØ±Ø¯Ø§ ساعت] LT', 7579 nextWeek : 'dddd [ساعت] LT', 7580 lastDay : '[Ø¯ÛØ±Ùز ساعت] LT', 7581 lastWeek : 'dddd [Ù¾ÛØ´] [ساعت] LT', 7582 sameElse : 'L' 7583 }, 7584 relativeTime : { 7585 future : 'در %s', 7586 past : '%s Ù¾ÛØ´', 7587 s : 'ÚÙØ¯ ثاÙÛÙ', 7588 ss : 'ثاÙÛÙ d%', 7589 m : 'ÛÚ© دÙÛÙÙ', 7590 mm : '%d دÙÛÙÙ', 7591 h : 'ÛÚ© ساعت', 7592 hh : '%d ساعت', 7593 d : 'ÛÚ© Ø±ÙØ²', 7594 dd : '%d Ø±ÙØ²', 7595 M : 'ÛÚ© ٠اÙ', 7596 MM : '%d ٠اÙ', 7597 y : 'ÛÚ© ساÙ', 7598 yy : '%d ساÙ' 7599 }, 7600 preparse: function (string) { 7601 return string.replace(/[Û°-Û¹]/g, function (match) { 7602 return numberMap$4[match]; 7603 }).replace(/Ø/g, ','); 7604 }, 7605 postformat: function (string) { 7606 return string.replace(/\d/g, function (match) { 7607 return symbolMap$5[match]; 7608 }).replace(/,/g, 'Ø'); 7609 }, 7610 dayOfMonthOrdinalParse: /\d{1,2}Ù /, 7611 ordinal : '%dÙ ', 7612 week : { 7613 dow : 6, // Saturday is the first day of the week. 7614 doy : 12 // The week that contains Jan 12th is the first week of the year. 7615 } 7616 }); 7617 7618 //! moment.js locale configuration 7619 7620 var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '), 7621 numbersFuture = [ 7622 'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden', 7623 numbersPast[7], numbersPast[8], numbersPast[9] 7624 ]; 7625 function translate$2(number, withoutSuffix, key, isFuture) { 7626 var result = ''; 7627 switch (key) { 7628 case 's': 7629 return isFuture ? 'muutaman sekunnin' : 'muutama sekunti'; 7630 case 'ss': 7631 return isFuture ? 'sekunnin' : 'sekuntia'; 7632 case 'm': 7633 return isFuture ? 'minuutin' : 'minuutti'; 7634 case 'mm': 7635 result = isFuture ? 'minuutin' : 'minuuttia'; 7636 break; 7637 case 'h': 7638 return isFuture ? 'tunnin' : 'tunti'; 7639 case 'hh': 7640 result = isFuture ? 'tunnin' : 'tuntia'; 7641 break; 7642 case 'd': 7643 return isFuture ? 'päivän' : 'päivä'; 7644 case 'dd': 7645 result = isFuture ? 'päivän' : 'päivää'; 7646 break; 7647 case 'M': 7648 return isFuture ? 'kuukauden' : 'kuukausi'; 7649 case 'MM': 7650 result = isFuture ? 'kuukauden' : 'kuukautta'; 7651 break; 7652 case 'y': 7653 return isFuture ? 'vuoden' : 'vuosi'; 7654 case 'yy': 7655 result = isFuture ? 'vuoden' : 'vuotta'; 7656 break; 7657 } 7658 result = verbalNumber(number, isFuture) + ' ' + result; 7659 return result; 7660 } 7661 function verbalNumber(number, isFuture) { 7662 return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number; 7663 } 7664 7665 hooks.defineLocale('fi', { 7666 months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'), 7667 monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'), 7668 weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'), 7669 weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'), 7670 weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'), 7671 longDateFormat : { 7672 LT : 'HH.mm', 7673 LTS : 'HH.mm.ss', 7674 L : 'DD.MM.YYYY', 7675 LL : 'Do MMMM[ta] YYYY', 7676 LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm', 7677 LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm', 7678 l : 'D.M.YYYY', 7679 ll : 'Do MMM YYYY', 7680 lll : 'Do MMM YYYY, [klo] HH.mm', 7681 llll : 'ddd, Do MMM YYYY, [klo] HH.mm' 7682 }, 7683 calendar : { 7684 sameDay : '[tänään] [klo] LT', 7685 nextDay : '[huomenna] [klo] LT', 7686 nextWeek : 'dddd [klo] LT', 7687 lastDay : '[eilen] [klo] LT', 7688 lastWeek : '[viime] dddd[na] [klo] LT', 7689 sameElse : 'L' 7690 }, 7691 relativeTime : { 7692 future : '%s päästä', 7693 past : '%s sitten', 7694 s : translate$2, 7695 ss : translate$2, 7696 m : translate$2, 7697 mm : translate$2, 7698 h : translate$2, 7699 hh : translate$2, 7700 d : translate$2, 7701 dd : translate$2, 7702 M : translate$2, 7703 MM : translate$2, 7704 y : translate$2, 7705 yy : translate$2 7706 }, 7707 dayOfMonthOrdinalParse: /\d{1,2}\./, 7708 ordinal : '%d.', 7709 week : { 7710 dow : 1, // Monday is the first day of the week. 7711 doy : 4 // The week that contains Jan 4th is the first week of the year. 7712 } 7713 }); 7714 7715 //! moment.js locale configuration 7716 7717 hooks.defineLocale('fo', { 7718 months : 'januar_februar_mars_aprÃl_mai_juni_juli_august_september_oktober_november_desember'.split('_'), 7719 monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), 7720 weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_frÃggjadagur_leygardagur'.split('_'), 7721 weekdaysShort : 'sun_mán_týs_mik_hós_frÃ_ley'.split('_'), 7722 weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'), 7723 longDateFormat : { 7724 LT : 'HH:mm', 7725 LTS : 'HH:mm:ss', 7726 L : 'DD/MM/YYYY', 7727 LL : 'D MMMM YYYY', 7728 LLL : 'D MMMM YYYY HH:mm', 7729 LLLL : 'dddd D. MMMM, YYYY HH:mm' 7730 }, 7731 calendar : { 7732 sameDay : '[à dag kl.] LT', 7733 nextDay : '[à morgin kl.] LT', 7734 nextWeek : 'dddd [kl.] LT', 7735 lastDay : '[à gjár kl.] LT', 7736 lastWeek : '[sÃðstu] dddd [kl] LT', 7737 sameElse : 'L' 7738 }, 7739 relativeTime : { 7740 future : 'um %s', 7741 past : '%s sÃðani', 7742 s : 'fá sekund', 7743 ss : '%d sekundir', 7744 m : 'ein minuttur', 7745 mm : '%d minuttir', 7746 h : 'ein tÃmi', 7747 hh : '%d tÃmar', 7748 d : 'ein dagur', 7749 dd : '%d dagar', 7750 M : 'ein mánaður', 7751 MM : '%d mánaðir', 7752 y : 'eitt ár', 7753 yy : '%d ár' 7754 }, 7755 dayOfMonthOrdinalParse: /\d{1,2}\./, 7756 ordinal : '%d.', 7757 week : { 7758 dow : 1, // Monday is the first day of the week. 7759 doy : 4 // The week that contains Jan 4th is the first week of the year. 7760 } 7761 }); 7762 7763 //! moment.js locale configuration 7764 7765 hooks.defineLocale('fr-ca', { 7766 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), 7767 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), 7768 monthsParseExact : true, 7769 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), 7770 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), 7771 weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), 7772 weekdaysParseExact : true, 7773 longDateFormat : { 7774 LT : 'HH:mm', 7775 LTS : 'HH:mm:ss', 7776 L : 'YYYY-MM-DD', 7777 LL : 'D MMMM YYYY', 7778 LLL : 'D MMMM YYYY HH:mm', 7779 LLLL : 'dddd D MMMM YYYY HH:mm' 7780 }, 7781 calendar : { 7782 sameDay : '[Aujourdâhui à ] LT', 7783 nextDay : '[Demain à ] LT', 7784 nextWeek : 'dddd [à ] LT', 7785 lastDay : '[Hier à ] LT', 7786 lastWeek : 'dddd [dernier à ] LT', 7787 sameElse : 'L' 7788 }, 7789 relativeTime : { 7790 future : 'dans %s', 7791 past : 'il y a %s', 7792 s : 'quelques secondes', 7793 ss : '%d secondes', 7794 m : 'une minute', 7795 mm : '%d minutes', 7796 h : 'une heure', 7797 hh : '%d heures', 7798 d : 'un jour', 7799 dd : '%d jours', 7800 M : 'un mois', 7801 MM : '%d mois', 7802 y : 'un an', 7803 yy : '%d ans' 7804 }, 7805 dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, 7806 ordinal : function (number, period) { 7807 switch (period) { 7808 // Words with masculine grammatical gender: mois, trimestre, jour 7809 default: 7810 case 'M': 7811 case 'Q': 7812 case 'D': 7813 case 'DDD': 7814 case 'd': 7815 return number + (number === 1 ? 'er' : 'e'); 7816 7817 // Words with feminine grammatical gender: semaine 7818 case 'w': 7819 case 'W': 7820 return number + (number === 1 ? 're' : 'e'); 7821 } 7822 } 7823 }); 7824 7825 //! moment.js locale configuration 7826 7827 hooks.defineLocale('fr-ch', { 7828 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), 7829 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), 7830 monthsParseExact : true, 7831 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), 7832 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), 7833 weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), 7834 weekdaysParseExact : true, 7835 longDateFormat : { 7836 LT : 'HH:mm', 7837 LTS : 'HH:mm:ss', 7838 L : 'DD.MM.YYYY', 7839 LL : 'D MMMM YYYY', 7840 LLL : 'D MMMM YYYY HH:mm', 7841 LLLL : 'dddd D MMMM YYYY HH:mm' 7842 }, 7843 calendar : { 7844 sameDay : '[Aujourdâhui à ] LT', 7845 nextDay : '[Demain à ] LT', 7846 nextWeek : 'dddd [à ] LT', 7847 lastDay : '[Hier à ] LT', 7848 lastWeek : 'dddd [dernier à ] LT', 7849 sameElse : 'L' 7850 }, 7851 relativeTime : { 7852 future : 'dans %s', 7853 past : 'il y a %s', 7854 s : 'quelques secondes', 7855 ss : '%d secondes', 7856 m : 'une minute', 7857 mm : '%d minutes', 7858 h : 'une heure', 7859 hh : '%d heures', 7860 d : 'un jour', 7861 dd : '%d jours', 7862 M : 'un mois', 7863 MM : '%d mois', 7864 y : 'un an', 7865 yy : '%d ans' 7866 }, 7867 dayOfMonthOrdinalParse: /\d{1,2}(er|e)/, 7868 ordinal : function (number, period) { 7869 switch (period) { 7870 // Words with masculine grammatical gender: mois, trimestre, jour 7871 default: 7872 case 'M': 7873 case 'Q': 7874 case 'D': 7875 case 'DDD': 7876 case 'd': 7877 return number + (number === 1 ? 'er' : 'e'); 7878 7879 // Words with feminine grammatical gender: semaine 7880 case 'w': 7881 case 'W': 7882 return number + (number === 1 ? 're' : 'e'); 7883 } 7884 }, 7885 week : { 7886 dow : 1, // Monday is the first day of the week. 7887 doy : 4 // The week that contains Jan 4th is the first week of the year. 7888 } 7889 }); 7890 7891 //! moment.js locale configuration 7892 7893 hooks.defineLocale('fr', { 7894 months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'), 7895 monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'), 7896 monthsParseExact : true, 7897 weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'), 7898 weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'), 7899 weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'), 7900 weekdaysParseExact : true, 7901 longDateFormat : { 7902 LT : 'HH:mm', 7903 LTS : 'HH:mm:ss', 7904 L : 'DD/MM/YYYY', 7905 LL : 'D MMMM YYYY', 7906 LLL : 'D MMMM YYYY HH:mm', 7907 LLLL : 'dddd D MMMM YYYY HH:mm' 7908 }, 7909 calendar : { 7910 sameDay : '[Aujourdâhui à ] LT', 7911 nextDay : '[Demain à ] LT', 7912 nextWeek : 'dddd [à ] LT', 7913 lastDay : '[Hier à ] LT', 7914 lastWeek : 'dddd [dernier à ] LT', 7915 sameElse : 'L' 7916 }, 7917 relativeTime : { 7918 future : 'dans %s', 7919 past : 'il y a %s', 7920 s : 'quelques secondes', 7921 ss : '%d secondes', 7922 m : 'une minute', 7923 mm : '%d minutes', 7924 h : 'une heure', 7925 hh : '%d heures', 7926 d : 'un jour', 7927 dd : '%d jours', 7928 M : 'un mois', 7929 MM : '%d mois', 7930 y : 'un an', 7931 yy : '%d ans' 7932 }, 7933 dayOfMonthOrdinalParse: /\d{1,2}(er|)/, 7934 ordinal : function (number, period) { 7935 switch (period) { 7936 // TODO: Return 'e' when day of month > 1. Move this case inside 7937 // block for masculine words below. 7938 // See https://github.com/moment/moment/issues/3375 7939 case 'D': 7940 return number + (number === 1 ? 'er' : ''); 7941 7942 // Words with masculine grammatical gender: mois, trimestre, jour 7943 default: 7944 case 'M': 7945 case 'Q': 7946 case 'DDD': 7947 case 'd': 7948 return number + (number === 1 ? 'er' : 'e'); 7949 7950 // Words with feminine grammatical gender: semaine 7951 case 'w': 7952 case 'W': 7953 return number + (number === 1 ? 're' : 'e'); 7954 } 7955 }, 7956 week : { 7957 dow : 1, // Monday is the first day of the week. 7958 doy : 4 // The week that contains Jan 4th is the first week of the year. 7959 } 7960 }); 7961 7962 //! moment.js locale configuration 7963 7964 var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'), 7965 monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'); 7966 7967 hooks.defineLocale('fy', { 7968 months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'), 7969 monthsShort : function (m, format) { 7970 if (!m) { 7971 return monthsShortWithDots; 7972 } else if (/-MMM-/.test(format)) { 7973 return monthsShortWithoutDots[m.month()]; 7974 } else { 7975 return monthsShortWithDots[m.month()]; 7976 } 7977 }, 7978 monthsParseExact : true, 7979 weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'), 7980 weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'), 7981 weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'), 7982 weekdaysParseExact : true, 7983 longDateFormat : { 7984 LT : 'HH:mm', 7985 LTS : 'HH:mm:ss', 7986 L : 'DD-MM-YYYY', 7987 LL : 'D MMMM YYYY', 7988 LLL : 'D MMMM YYYY HH:mm', 7989 LLLL : 'dddd D MMMM YYYY HH:mm' 7990 }, 7991 calendar : { 7992 sameDay: '[hjoed om] LT', 7993 nextDay: '[moarn om] LT', 7994
7994 nextWeek: 'dddd [om] LT', 7995 lastDay: '[juster om] LT', 7996 lastWeek: '[ôfrûne] dddd [om] LT', 7997 sameElse: 'L' 7998 }, 7999 relativeTime : { 8000 future : 'oer %s', 8001 past : '%s lyn', 8002 s : 'in pear sekonden', 8003 ss : '%d sekonden', 8004 m : 'ien minút', 8005 mm : '%d minuten', 8006 h : 'ien oere', 8007 hh : '%d oeren', 8008 d : 'ien dei', 8009 dd : '%d dagen', 8010 M : 'ien moanne', 8011 MM : '%d moannen', 8012 y : 'ien jier', 8013 yy : '%d jierren' 8014 }, 8015 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, 8016 ordinal : function (number) { 8017 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); 8018 }, 8019 week : { 8020 dow : 1, // Monday is the first day of the week. 8021 doy : 4 // The week that contains Jan 4th is the first week of the year. 8022 } 8023 }); 8024 8025 //! moment.js locale configuration 8026 8027 8028 var months$5 = [ 8029 'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig' 8030 ]; 8031 8032 var monthsShort$4 = ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll']; 8033 8034 var weekdays$1 = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn']; 8035 8036 var weekdaysShort = ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat']; 8037 8038 var weekdaysMin = ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa']; 8039 8040 hooks.defineLocale('ga', { 8041 months: months$5, 8042 monthsShort: monthsShort$4, 8043 monthsParseExact: true, 8044 weekdays: weekdays$1, 8045 weekdaysShort: weekdaysShort, 8046 weekdaysMin: weekdaysMin, 8047 longDateFormat: { 8048 LT: 'HH:mm', 8049 LTS: 'HH:mm:ss', 8050 L: 'DD/MM/YYYY', 8051 LL: 'D MMMM YYYY', 8052 LLL: 'D MMMM YYYY HH:mm', 8053 LLLL: 'dddd, D MMMM YYYY HH:mm' 8054 }, 8055 calendar: { 8056 sameDay: '[Inniu ag] LT', 8057 nextDay: '[Amárach ag] LT', 8058 nextWeek: 'dddd [ag] LT', 8059 lastDay: '[Inné aig] LT', 8060 lastWeek: 'dddd [seo caite] [ag] LT', 8061 sameElse: 'L' 8062 }, 8063 relativeTime: { 8064 future: 'i %s', 8065 past: '%s ó shin', 8066 s: 'cúpla soicind', 8067 ss: '%d soicind', 8068 m: 'nóiméad', 8069 mm: '%d nóiméad', 8070 h: 'uair an chloig', 8071 hh: '%d uair an chloig', 8072 d: 'lá', 8073 dd: '%d lá', 8074 M: 'mÃ', 8075 MM: '%d mÃ', 8076 y: 'bliain', 8077 yy: '%d bliain' 8078 }, 8079 dayOfMonthOrdinalParse: /\d{1,2}(d|na|mh)/, 8080 ordinal: function (number) { 8081 var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; 8082 return number + output; 8083 }, 8084 week: { 8085 dow: 1, // Monday is the first day of the week. 8086 doy: 4 // The week that contains Jan 4th is the first week of the year. 8087 } 8088 }); 8089 8090 //! moment.js locale configuration 8091 8092 var months$6 = [ 8093 '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' 8094 ]; 8095 8096 var monthsShort$5 = ['Faoi', 'Gear', 'Mà rt', 'Gibl', 'Cèit', 'Ãgmh', 'Iuch', 'Lùn', 'Sult', 'Dà mh', 'Samh', 'Dùbh']; 8097 8098 var weekdays$2 = ['Didòmhnaich', 'Diluain', 'Dimà irt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne']; 8099 8100 var weekdaysShort$1 = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis']; 8101 8102 var weekdaysMin$1 = ['Dò', 'Lu', 'Mà ', 'Ci', 'Ar', 'Ha', 'Sa']; 8103 8104 hooks.defineLocale('gd', { 8105 months : months$6, 8106 monthsShort : monthsShort$5, 8107 monthsParseExact : true, 8108 weekdays : weekdays$2, 8109 weekdaysShort : weekdaysShort$1, 8110 weekdaysMin : weekdaysMin$1, 8111 longDateFormat : { 8112 LT : 'HH:mm', 8113 LTS : 'HH:mm:ss', 8114 L : 'DD/MM/YYYY', 8115 LL : 'D MMMM YYYY', 8116 LLL : 'D MMMM YYYY HH:mm', 8117 LLLL : 'dddd, D MMMM YYYY HH:mm' 8118 }, 8119 calendar : { 8120 sameDay : '[An-diugh aig] LT', 8121 nextDay : '[A-mà ireach aig] LT', 8122 nextWeek : 'dddd [aig] LT',
vendor: 112,567 bytes, lines 8123-11073
8123 lastDay : '[An-dè aig] LT', 8124 lastWeek : 'dddd [seo chaidh] [aig] LT', 8125 sameElse : 'L' 8126 }, 8127 relativeTime : { 8128 future : 'ann an %s', 8129 past : 'bho chionn %s', 8130 s : 'beagan diogan', 8131 ss : '%d diogan', 8132 m : 'mionaid', 8133 mm : '%d mionaidean', 8134 h : 'uair', 8135 hh : '%d uairean', 8136 d : 'latha', 8137 dd : '%d latha', 8138 M : 'mìos', 8139 MM : '%d mìosan', 8140 y : 'bliadhna', 8141 yy : '%d bliadhna' 8142 }, 8143 dayOfMonthOrdinalParse : /\d{1,2}(d|na|mh)/, 8144 ordinal : function (number) { 8145 var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh'; 8146 return number + output; 8147 }, 8148 week : { 8149 dow : 1, // Monday is the first day of the week. 8150 doy : 4 // The week that contains Jan 4th is the first week of the year. 8151 } 8152 }); 8153 8154 //! moment.js locale configuration 8155 8156 hooks.defineLocale('gl', { 8157 months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'), 8158 monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'), 8159 monthsParseExact: true, 8160 weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'), 8161 weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'), 8162 weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'), 8163 weekdaysParseExact : true, 8164 longDateFormat : { 8165 LT : 'H:mm', 8166 LTS : 'H:mm:ss', 8167 L : 'DD/MM/YYYY', 8168 LL : 'D [de] MMMM [de] YYYY', 8169 LLL : 'D [de] MMMM [de] YYYY H:mm', 8170 LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm' 8171 }, 8172 calendar : { 8173 sameDay : function () { 8174 return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; 8175 }, 8176 nextDay : function () { 8177 return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT'; 8178 }, 8179 nextWeek : function () { 8180 return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; 8181 }, 8182 lastDay : function () { 8183 return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT'; 8184 }, 8185 lastWeek : function () { 8186 return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT'; 8187 }, 8188 sameElse : 'L' 8189 }, 8190 relativeTime : { 8191 future : function (str) { 8192 if (str.indexOf('un') === 0) { 8193 return 'n' + str; 8194 } 8195 return 'en ' + str; 8196 }, 8197 past : 'hai %s', 8198 s : 'uns segundos', 8199 ss : '%d segundos', 8200 m : 'un minuto', 8201 mm : '%d minutos', 8202 h : 'unha hora', 8203 hh : '%d horas', 8204 d : 'un dÃa', 8205 dd : '%d dÃas', 8206 M : 'un mes', 8207 MM : '%d meses', 8208 y : 'un ano', 8209 yy : '%d anos' 8210 }, 8211 dayOfMonthOrdinalParse : /\d{1,2}º/, 8212 ordinal : '%dº', 8213 week : { 8214 dow : 1, // Monday is the first day of the week. 8215 doy : 4 // The week that contains Jan 4th is the first week of the year. 8216 } 8217 }); 8218 8219 //! moment.js locale configuration 8220 8221 function processRelativeTime$4(number, withoutSuffix, key, isFuture) { 8222 var format = { 8223 's': ['thodde secondanim', 'thodde second'], 8224 'ss': [number + ' secondanim', number + ' second'], 8225 'm': ['eka mintan', 'ek minute'], 8226 'mm': [number + ' mintanim', number + ' mintam'], 8227 'h': ['eka voran', 'ek vor'], 8228 'hh': [number + ' voranim', number + ' voram'], 8229 'd': ['eka disan', 'ek dis'], 8230 'dd': [number + ' disanim', number + ' dis'], 8231 'M': ['eka mhoinean', 'ek mhoino'], 8232 'MM': [number + ' mhoineanim', number + ' mhoine'], 8233 'y': ['eka vorsan', 'ek voros'], 8234 'yy': [number + ' vorsanim', number + ' vorsam'] 8235 }; 8236 return withoutSuffix ? format[key][0] : format[key][1]; 8237 } 8238 8239 hooks.defineLocale('gom-latn', { 8240 months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'), 8241 monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'), 8242 monthsParseExact : true, 8243 weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\'var'.split('_'), 8244 weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'), 8245 weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'), 8246 weekdaysParseExact : true, 8247 longDateFormat : { 8248 LT : 'A h:mm [vazta]', 8249 LTS : 'A h:mm:ss [vazta]', 8250 L : 'DD-MM-YYYY', 8251 LL : 'D MMMM YYYY', 8252 LLL : 'D MMMM YYYY A h:mm [vazta]', 8253 LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]', 8254 llll: 'ddd, D MMM YYYY, A h:mm [vazta]' 8255 }, 8256 calendar : { 8257 sameDay: '[Aiz] LT', 8258 nextDay: '[Faleam] LT', 8259 nextWeek: '[Ieta to] dddd[,] LT', 8260 lastDay: '[Kal] LT', 8261 lastWeek: '[Fatlo] dddd[,] LT', 8262 sameElse: 'L' 8263 }, 8264 relativeTime : { 8265 future : '%s', 8266 past : '%s adim', 8267 s : processRelativeTime$4, 8268 ss : processRelativeTime$4, 8269 m : processRelativeTime$4, 8270 mm : processRelativeTime$4, 8271 h : processRelativeTime$4, 8272 hh : processRelativeTime$4, 8273 d : processRelativeTime$4, 8274 dd : processRelativeTime$4, 8275 M : processRelativeTime$4, 8276 MM : processRelativeTime$4, 8277 y : processRelativeTime$4, 8278 yy : processRelativeTime$4 8279 }, 8280 dayOfMonthOrdinalParse : /\d{1,2}(er)/, 8281 ordinal : function (number, period) { 8282 switch (period) { 8283 // the ordinal 'er' only applies to day of the month 8284 case 'D': 8285 return number + 'er'; 8286 default: 8287 case 'M': 8288 case 'Q': 8289 case 'DDD': 8290 case 'd': 8291 case 'w': 8292 case 'W': 8293 return number; 8294 } 8295 }, 8296 week : { 8297 dow : 1, // Monday is the first day of the week. 8298 doy : 4 // The week that contains Jan 4th is the first week of the year. 8299 }, 8300 meridiemParse: /rati|sokalli|donparam|sanje/, 8301 meridiemHour : function (hour, meridiem) { 8302 if (hour === 12) { 8303 hour = 0; 8304 } 8305 if (meridiem === 'rati') { 8306 return hour < 4 ? hour : hour + 12; 8307 } else if (meridiem === 'sokalli') { 8308 return hour; 8309 } else if (meridiem === 'donparam') { 8310 return hour > 12 ? hour : hour + 12; 8311 } else if (meridiem === 'sanje') { 8312 return hour + 12; 8313 } 8314 }, 8315 meridiem : function (hour, minute, isLower) { 8316 if (hour < 4) { 8317 return 'rati'; 8318 } else if (hour < 12) { 8319 return 'sokalli'; 8320 } else if (hour < 16) { 8321 return 'donparam'; 8322 } else if (hour < 20) { 8323 return 'sanje'; 8324 } else { 8325 return 'rati'; 8326 } 8327 } 8328 }); 8329 8330 //! moment.js locale configuration 8331 8332 var symbolMap$6 = { 8333 '1': 'à«§', 8334 '2': '૨', 8335 '3': 'à«©', 8336 '4': '૪', 8337 '5': 'à««', 8338 '6': '૬', 8339 '7': 'à«', 8340 '8': 'à«®', 8341 '9': '૯', 8342 '0': '૦' 8343 }, 8344 numberMap$5 = { 8345 'à«§': '1', 8346 '૨': '2', 8347 'à«©': '3', 8348 '૪': '4', 8349 'à««': '5', 8350 '૬': '6', 8351 'à«': '7', 8352 'à«®': '8', 8353 '૯': '9', 8354 '૦': '0' 8355 }; 8356 8357 hooks.defineLocale('gu', { 8358 months: 'àªàª¾àª¨à«àª¯à«àªàª°à«_ફà«àª¬à«àª°à«àªàª°à«_મારà«àª_àªàªªà«àª°àª¿àª²_મà«_àªà«àª¨_àªà«àª²àª¾àª_àªàªàª¸à«àª_સપà«àªà«àª®à«àª¬àª°_àªàªà«àªà«àª¬àª°_નવà«àª®à«àª¬àª°_ડિસà«àª®à«àª¬àª°'.split('_'), 8359 monthsShort: 'àªàª¾àª¨à«àª¯à«._ફà«àª¬à«àª°à«._મારà«àª_àªàªªà«àª°àª¿._મà«_àªà«àª¨_àªà«àª²àª¾._àªàª._સપà«àªà«._àªàªà«àªà«._નવà«._ડિસà«.'.split('_'), 8360 monthsParseExact: true, 8361 weekdays: 'રવિવાર_સà«àª®àªµàª¾àª°_મàªàªàª³àªµàª¾àª°_બà«àª§à«àªµàª¾àª°_àªà«àª°à«àªµàª¾àª°_શà«àªà«àª°àªµàª¾àª°_શનિવાર'.split('_'), 8362 weekdaysShort: 'રવિ_સà«àª®_મàªàªàª³_બà«àª§à«_àªà«àª°à«_શà«àªà«àª°_શનિ'.split('_'), 8363 weekdaysMin: 'ર_સà«_મàª_બà«_àªà«_શà«_શ'.split('_'), 8364 longDateFormat: { 8365 LT: 'A h:mm વાàªà«àª¯à«', 8366 LTS: 'A h:mm:ss વાàªà«àª¯à«', 8367 L: 'DD/MM/YYYY', 8368 LL: 'D MMMM YYYY', 8369 LLL: 'D MMMM YYYY, A h:mm વાàªà«àª¯à«', 8370 LLLL: 'dddd, D MMMM YYYY, A h:mm વાàªà«àª¯à«' 8371 }, 8372 calendar: { 8373 sameDay: '[àªàª] LT', 8374 nextDay: '[àªàª¾àª²à«] LT', 8375 nextWeek: 'dddd, LT', 8376 lastDay: '[àªàªàªàª¾àª²à«] LT', 8377 lastWeek: '[પાàªàª²àª¾] dddd, LT', 8378 sameElse: 'L' 8379 }, 8380 relativeTime: { 8381 future: '%s મા', 8382 past: '%s પà«àª¹àª²àª¾', 8383 s: 'ઠમà«àª પળà«', 8384 ss: '%d સà«àªàªàª¡', 8385 m: 'àªàª મિનિàª', 8386 mm: '%d મિનિàª', 8387 h: 'àªàª àªàª²àª¾àª', 8388 hh: '%d àªàª²àª¾àª', 8389 d: 'àªàª દિવસ', 8390 dd: '%d દિવસ', 8391 M: 'àªàª મહિનà«', 8392 MM: '%d મહિનà«', 8393 y: 'àªàª વરà«àª·', 8394 yy: '%d વરà«àª·' 8395 }, 8396 preparse: function (string) { 8397 return string.replace(/[૧૨૩૪૫૬à«à«®à«¯à«¦]/g, function (match) { 8398 return numberMap$5[match]; 8399 }); 8400 }, 8401 postformat: function (string) { 8402 return string.replace(/\d/g, function (match) { 8403 return symbolMap$6[match]; 8404 }); 8405 }, 8406 // Gujarati notation for meridiems are quite fuzzy in practice. While there exists 8407 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati. 8408 meridiemParse: /રાત|બપà«àª°|સવાર|સાàªàª/, 8409 meridiemHour: function (hour, meridiem) { 8410 if (hour === 12) { 8411 hour = 0; 8412 } 8413 if (meridiem === 'રાત') { 8414 return hour < 4 ? hour : hour + 12; 8415 } else if (meridiem === 'સવાર') { 8416 return hour; 8417 } else if (meridiem === 'બપà«àª°') { 8418 return hour >= 10 ? hour : hour + 12; 8419 } else if (meridiem === 'સાàªàª') { 8420 return hour + 12; 8421 } 8422 }, 8423 meridiem: function (hour, minute, isLower) { 8424 if (hour < 4) { 8425 return 'રાત'; 8426 } else if (hour < 10) { 8427 return 'સવાર'; 8428 } else if (hour < 17) { 8429 return 'બપà«àª°'; 8430 } else if (hour < 20) { 8431 return 'સાàªàª'; 8432 } else { 8433 return 'રાત'; 8434 } 8435 }, 8436 week: { 8437 dow: 0, // Sunday is the first day of the week. 8438 doy: 6 // The week that contains Jan 6th is the first week of the year. 8439 } 8440 }); 8441 8442 //! moment.js locale configuration 8443 8444 hooks.defineLocale('he', { 8445 months : '×× ××ר_פ×ר××ר_×רץ_×פר××_×××_××× ×_××××_××××ס×_ספ×××ר_×××§×××ר_× ××××ר_×צ××ר'.split('_'), 8446 monthsShort : '×× ×׳_פ×ר׳_×רץ_×פר׳_×××_××× ×_××××_×××׳_ספ×׳_××ק׳_× ××׳_×צ×׳'.split('_'), 8447 weekdays : 'ר×ש××_×©× ×_ש××ש×_ר×××¢×_×××ש×_ש×ש×_ש×ת'.split('_'), 8448 weekdaysShort : '×׳_×׳_×׳_×׳_×׳_×׳_ש׳'.split('_'), 8449 weekdaysMin : '×_×_×_×_×_×_ש'.split('_'), 8450 longDateFormat : { 8451 LT : 'HH:mm', 8452 LTS : 'HH:mm:ss', 8453 L : 'DD/MM/YYYY', 8454 LL : 'D [×]MMMM YYYY', 8455 LLL : 'D [×]MMMM YYYY HH:mm', 8456 LLLL : 'dddd, D [×]MMMM YYYY HH:mm', 8457 l : 'D/M/YYYY', 8458 ll : 'D MMM YYYY', 8459 lll : 'D MMM YYYY HH:mm', 8460 llll : 'ddd, D MMM YYYY HH:mm' 8461 }, 8462 calendar : { 8463 sameDay : '[×××× ×Ö¾]LT', 8464 nextDay : '[××ר ×Ö¾]LT', 8465 nextWeek : 'dddd [×שע×] LT', 8466 lastDay : '[×ת××× ×Ö¾]LT', 8467 lastWeek : '[××××] dddd [×××ר×× ×שע×] LT', 8468 sameElse : 'L' 8469 }, 8470 relativeTime : { 8471 future : '××¢×× %s', 8472 past : '××¤× × %s', 8473 s : '×ספר ×©× ××ת', 8474 ss : '%d ×©× ××ת', 8475 m : '××§×', 8476 mm : '%d ××§×ת', 8477 h : 'שע×', 8478 hh : function (number) { 8479 if (number === 2) { 8480 return 'שעת×××'; 8481 } 8482 return number + ' שע×ת'; 8483 }, 8484 d : '×××', 8485 dd : function (number) { 8486 if (number === 2) { 8487 return '××××××'; 8488 } 8489 return number + ' ××××'; 8490 }, 8491 M : '×××ש', 8492 MM : function (number) { 8493 if (number === 2) { 8494 return '×××ש×××'; 8495 } 8496 return number + ' ×××ש××'; 8497 }, 8498 y : '×©× ×', 8499 yy : function (number) { 8500 if (number === 2) { 8501 return '×©× ×ª×××'; 8502 } else if (number % 10 === 0 && number !== 10) { 8503 return number + ' ×©× ×'; 8504 } 8505 return number + ' ×©× ××'; 8506 } 8507 }, 8508 meridiemParse: /×××"צ|××¤× ×"צ|×××¨× ×צ×ר×××|××¤× × ×צ×ר×××|××¤× ×ת ××קר|×××קר|×ער×/i, 8509 isPM : function (input) { 8510 return /^(×××"צ|×××¨× ×צ×ר×××|×ער×)$/.test(input); 8511 }, 8512 meridiem : function (hour, minute, isLower) { 8513 if (hour < 5) { 8514 return '××¤× ×ת ××קר'; 8515 } else if (hour < 10) { 8516 return '×××קר'; 8517 } else if (hour < 12) { 8518 return isLower ? '××¤× ×"צ' : '××¤× × ×צ×ר×××'; 8519 } else if (hour < 18) { 8520 return isLower ? '×××"צ' : '×××¨× ×צ×ר×××'; 8521 } else { 8522 return '×ער×'; 8523 } 8524 } 8525 }); 8526 8527 //! moment.js locale configuration 8528 8529 var symbolMap$7 = { 8530 '1': '१', 8531 '2': '२', 8532 '3': '३', 8533 '4': '४', 8534 '5': '५', 8535 '6': '६', 8536 '7': 'à¥', 8537 '8': '८', 8538 '9': '९', 8539 '0': '०' 8540 }, 8541 numberMap$6 = { 8542 '१': '1', 8543 '२': '2', 8544 '३': '3', 8545 '४': '4', 8546 '५': '5', 8547 '६': '6', 8548 'à¥': '7', 8549 '८': '8', 8550 '९': '9', 8551 '०': '0' 8552 }; 8553 8554 hooks.defineLocale('hi', { 8555 months : 'à¤à¤¨à¤µà¤°à¥_फ़रवरà¥_मारà¥à¤_ठपà¥à¤°à¥à¤²_मà¤_à¤à¥à¤¨_à¤à¥à¤²à¤¾à¤_ठà¤à¤¸à¥à¤¤_सितमà¥à¤¬à¤°_ठà¤à¥à¤à¥à¤¬à¤°_नवमà¥à¤¬à¤°_दिसमà¥à¤¬à¤°'.split('_'), 8556 monthsShort : 'à¤à¤¨._फ़र._मारà¥à¤_ठपà¥à¤°à¥._मà¤_à¤à¥à¤¨_à¤à¥à¤²._ठà¤._सित._ठà¤à¥à¤à¥._नव._दिस.'.split('_'), 8557 monthsParseExact: true, 8558 weekdays : 'रविवार_सà¥à¤®à¤µà¤¾à¤°_मà¤à¤à¤²à¤µà¤¾à¤°_बà¥à¤§à¤µà¤¾à¤°_à¤à¥à¤°à¥à¤µà¤¾à¤°_शà¥à¤à¥à¤°à¤µà¤¾à¤°_शनिवार'.split('_'), 8559 weekdaysShort : 'रवि_सà¥à¤®_मà¤à¤à¤²_बà¥à¤§_à¤à¥à¤°à¥_शà¥à¤à¥à¤°_शनि'.split('_'), 8560 weekdaysMin : 'र_सà¥_मà¤_बà¥_à¤à¥_शà¥_श'.split('_'), 8561 longDateFormat : { 8562 LT : 'A h:mm बà¤à¥', 8563 LTS : 'A h:mm:ss बà¤à¥', 8564 L : 'DD/MM/YYYY', 8565 LL : 'D MMMM YYYY', 8566 LLL : 'D MMMM YYYY, A h:mm बà¤à¥', 8567 LLLL : 'dddd, D MMMM YYYY, A h:mm बà¤à¥' 8568 }, 8569 calendar : { 8570 sameDay : '[à¤à¤] LT', 8571 nextDay : '[à¤à¤²] LT', 8572 nextWeek : 'dddd, LT', 8573 lastDay : '[à¤à¤²] LT', 8574 lastWeek : '[पिà¤à¤²à¥] dddd, LT', 8575 sameElse : 'L' 8576 }, 8577 relativeTime : { 8578 future : '%s मà¥à¤', 8579 past : '%s पहलà¥', 8580 s : 'à¤à¥à¤ हॠà¤à¥à¤·à¤£', 8581 ss : '%d सà¥à¤à¤à¤¡', 8582 m : 'à¤à¤ मिनà¤', 8583 mm : '%d मिनà¤', 8584 h : 'à¤à¤ à¤à¤à¤à¤¾', 8585 hh : '%d à¤à¤à¤à¥', 8586 d : 'à¤à¤ दिन', 8587 dd : '%d दिन', 8588 M : 'à¤à¤ महà¥à¤¨à¥', 8589 MM : '%d महà¥à¤¨à¥', 8590 y : 'à¤à¤ वरà¥à¤·', 8591 yy : '%d वरà¥à¤·' 8592 }, 8593 preparse: function (string) { 8594 return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { 8595 return numberMap$6[match]; 8596 }); 8597 }, 8598 postformat: function (string) { 8599 return string.replace(/\d/g, function (match) { 8600 return symbolMap$7[match]; 8601 }); 8602 }, 8603 // Hindi notation for meridiems are quite fuzzy in practice. While there exists 8604 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi. 8605 meridiemParse: /रात|सà¥à¤¬à¤¹|दà¥à¤ªà¤¹à¤°|शाम/, 8606 meridiemHour : function (hour, meridiem) { 8607 if (hour === 12) { 8608 hour = 0; 8609 } 8610 if (meridiem === 'रात') { 8611 return hour < 4 ? hour : hour + 12; 8612 } else if (meridiem === 'सà¥à¤¬à¤¹') { 8613 return hour; 8614 } else if (meridiem === 'दà¥à¤ªà¤¹à¤°') { 8615 return hour >= 10 ? hour : hour + 12; 8616 } else if (meridiem === 'शाम') { 8617 return hour + 12; 8618 } 8619 }, 8620 meridiem : function (hour, minute, isLower) { 8621 if (hour < 4) { 8622 return 'रात'; 8623 } else if (hour < 10) { 8624 return 'सà¥à¤¬à¤¹'; 8625 } else if (hour < 17) { 8626 return 'दà¥à¤ªà¤¹à¤°'; 8627 } else if (hour < 20) { 8628 return 'शाम'; 8629 } else { 8630 return 'रात'; 8631 } 8632 }, 8633 week : { 8634 dow : 0, // Sunday is the first day of the week. 8635 doy : 6 // The week that contains Jan 6th is the first week of the year. 8636 } 8637 }); 8638 8639 //! moment.js locale configuration 8640 8641 function translate$3(number, withoutSuffix, key) { 8642 var result = number + ' '; 8643 switch (key) { 8644 case 'ss': 8645 if (number === 1) { 8646 result += 'sekunda'; 8647 } else if (number === 2 || number === 3 || number === 4) { 8648 result += 'sekunde'; 8649 } else { 8650 result += 'sekundi'; 8651 } 8652 return result; 8653 case 'm': 8654 return withoutSuffix ? 'jedna minuta' : 'jedne minute'; 8655 case 'mm': 8656 if (number === 1) { 8657 result += 'minuta'; 8658 } else if (number === 2 || number === 3 || number === 4) { 8659 result += 'minute'; 8660 } else { 8661 result += 'minuta'; 8662 } 8663 return result; 8664 case 'h': 8665 return withoutSuffix ? 'jedan sat' : 'jednog sata'; 8666 case 'hh': 8667 if (number === 1) { 8668 result += 'sat'; 8669 } else if (number === 2 || number === 3 || number === 4) { 8670 result += 'sata'; 8671 } else { 8672 result += 'sati'; 8673 } 8674 return result; 8675 case 'dd': 8676 if (number === 1) { 8677 result += 'dan'; 8678 } else { 8679 result += 'dana'; 8680 } 8681 return result; 8682 case 'MM': 8683 if (number === 1) { 8684 result += 'mjesec'; 8685 } else if (number === 2 || number === 3 || number === 4) { 8686 result += 'mjeseca'; 8687 } else { 8688 result += 'mjeseci'; 8689 } 8690 return result; 8691 case 'yy': 8692 if (number === 1) { 8693 result += 'godina'; 8694 } else if (number === 2 || number === 3 || number === 4) { 8695 result += 'godine'; 8696 } else { 8697 result += 'godina'; 8698 } 8699 return result; 8700 } 8701 } 8702 8703 hooks.defineLocale('hr', { 8704 months : { 8705 format: 'sijeÄnja_veljaÄe_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'), 8706 standalone: 'sijeÄanj_veljaÄa_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_') 8707 }, 8708 monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'), 8709 monthsParseExact: true, 8710 weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), 8711 weekdaysShort : 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), 8712 weekdaysMin : 'ne_po_ut_sr_Äe_pe_su'.split('_'), 8713 weekdaysParseExact : true, 8714 longDateFormat : { 8715 LT : 'H:mm', 8716 LTS : 'H:mm:ss', 8717 L : 'DD.MM.YYYY', 8718 LL : 'D. MMMM YYYY', 8719 LLL : 'D. MMMM YYYY H:mm', 8720 LLLL : 'dddd, D. MMMM YYYY H:mm' 8721 }, 8722 calendar : { 8723 sameDay : '[danas u] LT', 8724 nextDay : '[sutra u] LT', 8725 nextWeek : function () { 8726 switch (this.day()) { 8727 case 0: 8728 return '[u] [nedjelju] [u] LT'; 8729 case 3: 8730 return '[u] [srijedu] [u] LT'; 8731 case 6: 8732 return '[u] [subotu] [u] LT'; 8733 case 1: 8734 case 2: 8735 case 4: 8736 case 5: 8737 return '[u] dddd [u] LT'; 8738 } 8739 }, 8740 lastDay : '[juÄer u] LT', 8741 lastWeek : function () { 8742 switch (this.day()) { 8743 case 0: 8744 case 3: 8745 return '[proÅ¡lu] dddd [u] LT'; 8746 case 6: 8747 return '[proÅ¡le] [subote] [u] LT'; 8748 case 1: 8749 case 2: 8750 case 4: 8751 case 5: 8752 return '[proÅ¡li] dddd [u] LT'; 8753 } 8754 }, 8755 sameElse : 'L' 8756 }, 8757 relativeTime : { 8758 future : 'za %s', 8759 past : 'prije %s', 8760 s : 'par sekundi', 8761 ss : translate$3, 8762 m : translate$3, 8763 mm : translate$3, 8764 h : translate$3, 8765 hh : translate$3, 8766 d : 'dan', 8767 dd : translate$3, 8768 M : 'mjesec', 8769 MM : translate$3, 8770 y : 'godinu', 8771 yy : translate$3 8772 }, 8773 dayOfMonthOrdinalParse: /\d{1,2}\./, 8774 ordinal : '%d.', 8775 week : { 8776 dow : 1, // Monday is the first day of the week. 8777 doy : 7 // The week that contains Jan 7th is the first week of the year. 8778 } 8779 }); 8780 8781 //! moment.js locale configuration 8782 8783 var weekEndings = 'vasárnap hétfÅn kedden szerdán csütörtökön pénteken szombaton'.split(' '); 8784 function translate$4(number, withoutSuffix, key, isFuture) { 8785 var num = number; 8786 switch (key) { 8787 case 's': 8788 return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce'; 8789 case 'ss': 8790 return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce'; 8791 case 'm': 8792 return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce'); 8793 case 'mm': 8794 return num + (isFuture || withoutSuffix ? ' perc' : ' perce'); 8795 case 'h': 8796 return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája'); 8797 case 'hh': 8798 return num + (isFuture || withoutSuffix ? ' óra' : ' órája'); 8799 case 'd': 8800 return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja'); 8801 case 'dd': 8802 return num + (isFuture || withoutSuffix ? ' nap' : ' napja'); 8803 case 'M': 8804 return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); 8805 case 'MM': 8806 return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja'); 8807 case 'y': 8808 return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve'); 8809 case 'yy': 8810 return num + (isFuture || withoutSuffix ? ' év' : ' éve'); 8811 } 8812 return ''; 8813 } 8814 function week(isFuture) { 8815 return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]'; 8816 } 8817 8818 hooks.defineLocale('hu', { 8819 months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'), 8820 monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'), 8821 weekdays : 'vasárnap_hétfÅ_kedd_szerda_csütörtök_péntek_szombat'.split('_'), 8822 weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'), 8823 weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'), 8824 longDateFormat : { 8825 LT : 'H:mm', 8826 LTS : 'H:mm:ss', 8827 L : 'YYYY.MM.DD.', 8828 LL : 'YYYY. MMMM D.', 8829 LLL : 'YYYY. MMMM D. H:mm', 8830 LLLL : 'YYYY. MMMM D., dddd H:mm' 8831 }, 8832 meridiemParse: /de|du/i, 8833 isPM: function (input) { 8834 return input.charAt(1).toLowerCase() === 'u'; 8835 }, 8836 meridiem : function (hours, minutes, isLower) { 8837 if (hours < 12) { 8838 return isLower === true ? 'de' : 'DE'; 8839 } else { 8840 return isLower === true ? 'du' : 'DU'; 8841 } 8842 }, 8843 calendar : { 8844 sameDay : '[ma] LT[-kor]', 8845 nextDay : '[holnap] LT[-kor]', 8846 nextWeek : function () { 8847 return week.call(this, true); 8848 }, 8849 lastDay : '[tegnap] LT[-kor]', 8850 lastWeek : function () { 8851 return week.call(this, false); 8852 }, 8853 sameElse : 'L' 8854 }, 8855 relativeTime : { 8856 future : '%s múlva', 8857 past : '%s', 8858 s : translate$4, 8859 ss : translate$4, 8860 m : translate$4, 8861 mm : translate$4, 8862 h : translate$4, 8863 hh : translate$4, 8864 d : translate$4, 8865 dd : translate$4, 8866 M : translate$4, 8867 MM : translate$4, 8868 y : translate$4, 8869 yy : translate$4 8870 }, 8871 dayOfMonthOrdinalParse: /\d{1,2}\./, 8872 ordinal : '%d.', 8873 week : { 8874 dow : 1, // Monday is the first day of the week. 8875 doy : 4 // The week that contains Jan 4th is the first week of the year. 8876 } 8877 }); 8878 8879 //! moment.js locale configuration 8880 8881 hooks.defineLocale('hy-am', { 8882 months : { 8883 format: 'Õ°Õ¸ÖÕ¶Õ¾Õ¡ÖÕ«_ÖÕ¥Õ¿ÖÕ¾Õ¡ÖÕ«_Õ´Õ¡ÖÕ¿Õ«_Õ¡ÕºÖÕ«Õ¬Õ«_Õ´Õ¡ÕµÕ«Õ½Õ«_Õ°Õ¸ÖÕ¶Õ«Õ½Õ«_Õ°Õ¸ÖÕ¬Õ«Õ½Õ«_Ö Õ£Õ¸Õ½Õ¿Õ¸Õ½Õ«_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥ÖÕ«_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥ÖÕ«_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥ÖÕ«_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥ÖÕ«'.split('_'), 8884 standalone: 'Õ°Õ¸ÖÕ¶Õ¾Õ¡Ö_ÖÕ¥Õ¿ÖÕ¾Õ¡Ö_Õ´Õ¡ÖÕ¿_Õ¡ÕºÖÕ«Õ¬_Õ´Õ¡ÕµÕ«Õ½_Õ°Õ¸ÖÕ¶Õ«Õ½_Õ°Õ¸ÖÕ¬Õ«Õ½_Ö Õ£Õ¸Õ½Õ¿Õ¸Õ½_Õ½Õ¥ÕºÕ¿Õ¥Õ´Õ¢Õ¥Ö_Õ°Õ¸Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö_Õ¶Õ¸ÕµÕ¥Õ´Õ¢Õ¥Ö_Õ¤Õ¥Õ¯Õ¿Õ¥Õ´Õ¢Õ¥Ö'.split('_') 8885 }, 8886 monthsShort : 'Õ°Õ¶Õ¾_ÖÕ¿Ö_Õ´ÖÕ¿_Õ¡ÕºÖ_Õ´ÕµÕ½_Õ°Õ¶Õ½_Õ°Õ¬Õ½_Ö Õ£Õ½_Õ½ÕºÕ¿_Õ°Õ¯Õ¿_Õ¶Õ´Õ¢_Õ¤Õ¯Õ¿'.split('_'), 8887 weekdays : 'Õ¯Õ«ÖÕ¡Õ¯Õ«_Õ¥ÖÕ¯Õ¸ÖÕ·Õ¡Õ¢Õ©Õ«_Õ¥ÖÕ¥ÖÕ·Õ¡Õ¢Õ©Õ«_Õ¹Õ¸ÖÕ¥ÖÕ·Õ¡Õ¢Õ©Õ«_Õ°Õ«Õ¶Õ£Õ·Õ¡Õ¢Õ©Õ«_Õ¸ÖÖÕ¢Õ¡Õ©_Õ·Õ¡Õ¢Õ¡Õ©'.split('_'), 8888 weekdaysShort : 'Õ¯ÖÕ¯_Õ¥ÖÕ¯_Õ¥ÖÖ_Õ¹ÖÖ_Õ°Õ¶Õ£_Õ¸ÖÖÕ¢_Õ·Õ¢Õ©'.split('_'), 8889 weekdaysMin : 'Õ¯ÖÕ¯_Õ¥ÖÕ¯_Õ¥ÖÖ_Õ¹ÖÖ_Õ°Õ¶Õ£_Õ¸ÖÖÕ¢_Õ·Õ¢Õ©'.split('_'), 8890 longDateFormat : { 8891 LT : 'HH:mm', 8892 LTS : 'HH:mm:ss', 8893 L : 'DD.MM.YYYY', 8894 LL : 'D MMMM YYYY Õ©.', 8895 LLL : 'D MMMM YYYY Õ©., HH:mm', 8896 LLLL : 'dddd, D MMMM YYYY Õ©., HH:mm' 8897 }, 8898 calendar : { 8899 sameDay: '[Õ¡ÕµÕ½Ö Ö] LT', 8900 nextDay: '[Õ¾Õ¡Õ²Õ¨] LT', 8901 lastDay: '[Õ¥ÖÕ¥Õ¯] LT', 8902 nextWeek: function () { 8903 return 'dddd [Ö ÖÕ¨ ÕªÕ¡Õ´Õ¨] LT'; 8904 }, 8905 lastWeek: function () { 8906 return '[Õ¡Õ¶ÖÕ¡Õ®] dddd [Ö ÖÕ¨ ÕªÕ¡Õ´Õ¨] LT'; 8907 }, 8908 sameElse: 'L' 8909 }, 8910 relativeTime : { 8911 future : '%s Õ°Õ¥Õ¿Õ¸', 8912 past : '%s Õ¡Õ¼Õ¡Õ»', 8913 s : 'Õ´Õ« ÖÕ¡Õ¶Õ« Õ¾Õ¡ÕµÖÕ¯ÕµÕ¡Õ¶', 8914 ss : '%d Õ¾Õ¡ÕµÖÕ¯ÕµÕ¡Õ¶', 8915 m : 'ÖÕ¸ÕºÕ¥', 8916 mm : '%d ÖÕ¸ÕºÕ¥', 8917 h : 'ÕªÕ¡Õ´', 8918 hh : '%d ÕªÕ¡Õ´', 8919 d : 'Ö Ö', 8920 dd : '%d Ö Ö', 8921 M : 'Õ¡Õ´Õ«Õ½', 8922 MM : '%d Õ¡Õ´Õ«Õ½', 8923 y : 'Õ¿Õ¡ÖÕ«', 8924 yy : '%d Õ¿Õ¡ÖÕ«' 8925 }, 8926 meridiemParse: /Õ£Õ«Õ·Õ¥ÖÕ¾Õ¡|Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡|ÖÕ¥ÖÕ¥Õ¯Õ¾Õ¡|Õ¥ÖÕ¥Õ¯Õ¸ÕµÕ¡Õ¶/, 8927 isPM: function (input) { 8928 return /^(ÖÕ¥ÖÕ¥Õ¯Õ¾Õ¡|Õ¥ÖÕ¥Õ¯Õ¸ÕµÕ¡Õ¶)$/.test(input); 8929 }, 8930 meridiem : function (hour) { 8931 if (hour < 4) { 8932 return 'Õ£Õ«Õ·Õ¥ÖÕ¾Õ¡'; 8933 } else if (hour < 12) { 8934 return 'Õ¡Õ¼Õ¡Õ¾Õ¸Õ¿Õ¾Õ¡'; 8935 } else if (hour < 17) { 8936 return 'ÖÕ¥ÖÕ¥Õ¯Õ¾Õ¡'; 8937 } else { 8938 return 'Õ¥ÖÕ¥Õ¯Õ¸ÕµÕ¡Õ¶'; 8939 } 8940 }, 8941 dayOfMonthOrdinalParse: /\d{1,2}|\d{1,2}-(Õ«Õ¶|ÖÕ¤)/, 8942 ordinal: function (number, period) { 8943 switch (period) { 8944 case 'DDD': 8945 case 'w': 8946 case 'W': 8947 case 'DDDo': 8948 if (number === 1) { 8949 return number + '-Õ«Õ¶'; 8950 } 8951 return number + '-ÖÕ¤'; 8952 default: 8953 return number; 8954 } 8955 }, 8956 week : { 8957 dow : 1, // Monday is the first day of the week. 8958 doy : 7 // The week that contains Jan 7th is the first week of the year. 8959 } 8960 }); 8961 8962 //! moment.js locale configuration 8963 8964 hooks.defineLocale('id', { 8965 months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'), 8966 monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'), 8967 weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'), 8968 weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'), 8969 weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'), 8970 longDateFormat : { 8971 LT : 'HH.mm', 8972 LTS : 'HH.mm.ss', 8973 L : 'DD/MM/YYYY', 8974 LL : 'D MMMM YYYY', 8975 LLL : 'D MMMM YYYY [pukul] HH.mm', 8976 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' 8977 }, 8978 meridiemParse: /pagi|siang|sore|malam/, 8979 meridiemHour : function (hour, meridiem) { 8980 if (hour === 12) { 8981 hour = 0; 8982 } 8983 if (meridiem === 'pagi') { 8984 return hour; 8985 } else if (meridiem === 'siang') { 8986 return hour >= 11 ? hour : hour + 12; 8987 } else if (meridiem === 'sore' || meridiem === 'malam') { 8988 return hour + 12; 8989 } 8990 }, 8991 meridiem : function (hours, minutes, isLower) { 8992 if (hours < 11) { 8993 return 'pagi'; 8994 } else if (hours < 15) { 8995 return 'siang'; 8996 } else if (hours < 19) { 8997 return 'sore'; 8998 } else { 8999 return 'malam'; 9000 } 9001 }, 9002 calendar : { 9003 sameDay : '[Hari ini pukul] LT', 9004 nextDay : '[Besok pukul] LT', 9005 nextWeek : 'dddd [pukul] LT', 9006 lastDay : '[Kemarin pukul] LT', 9007 lastWeek : 'dddd [lalu pukul] LT', 9008 sameElse : 'L' 9009 }, 9010 relativeTime : { 9011 future : 'dalam %s', 9012 past : '%s yang lalu', 9013 s : 'beberapa detik', 9014 ss : '%d detik', 9015 m : 'semenit', 9016 mm : '%d menit', 9017 h : 'sejam', 9018 hh : '%d jam', 9019 d : 'sehari', 9020 dd : '%d hari', 9021 M : 'sebulan', 9022 MM : '%d bulan', 9023 y : 'setahun', 9024 yy : '%d tahun' 9025 }, 9026 week : { 9027 dow : 1, // Monday is the first day of the week. 9028 doy : 7 // The week that contains Jan 7th is the first week of the year. 9029 } 9030 }); 9031 9032 //! moment.js locale configuration 9033 9034 function plural$2(n) { 9035 if (n % 100 === 11) { 9036 return true; 9037 } else if (n % 10 === 1) { 9038 return false; 9039 } 9040 return true; 9041 } 9042 function translate$5(number, withoutSuffix, key, isFuture) { 9043 var result = number + ' '; 9044 switch (key) { 9045 case 's': 9046 return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum'; 9047 case 'ss': 9048 if (plural$2(number)) { 9049 return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum'); 9050 } 9051 return result + 'sekúnda'; 9052 case 'm': 9053 return withoutSuffix ? 'mÃnúta' : 'mÃnútu'; 9054 case 'mm': 9055 if (plural$2(number)) { 9056 return result + (withoutSuffix || isFuture ? 'mÃnútur' : 'mÃnútum'); 9057 } else if (withoutSuffix) { 9058 return result + 'mÃnúta'; 9059 } 9060 return result + 'mÃnútu'; 9061 case 'hh': 9062 if (plural$2(number)) { 9063 return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum'); 9064 } 9065 return result + 'klukkustund'; 9066 case 'd': 9067 if (withoutSuffix) { 9068 return 'dagur'; 9069 } 9070 return isFuture ? 'dag' : 'degi'; 9071 case 'dd': 9072 if (plural$2(number)) { 9073 if (withoutSuffix) { 9074 return result + 'dagar'; 9075 } 9076 return result + (isFuture ? 'daga' : 'dögum'); 9077 } else if (withoutSuffix) { 9078 return result + 'dagur'; 9079 } 9080 return result + (isFuture ? 'dag' : 'degi'); 9081 case 'M': 9082 if (withoutSuffix) { 9083 return 'mánuður'; 9084 } 9085 return isFuture ? 'mánuð' : 'mánuði'; 9086 case 'MM': 9087 if (plural$2(number)) { 9088 if (withoutSuffix) { 9089 return result + 'mánuðir'; 9090 } 9091 return result + (isFuture ? 'mánuði' : 'mánuðum'); 9092 } else if (withoutSuffix) { 9093 return result + 'mánuður'; 9094 } 9095 return result + (isFuture ? 'mánuð' : 'mánuði'); 9096 case 'y': 9097 return withoutSuffix || isFuture ? 'ár' : 'ári'; 9098 case 'yy': 9099 if (plural$2(number)) { 9100 return result + (withoutSuffix || isFuture ? 'ár' : 'árum'); 9101 } 9102 return result + (withoutSuffix || isFuture ? 'ár' : 'ári'); 9103 } 9104 } 9105 9106 hooks.defineLocale('is', { 9107 months : 'janúar_febrúar_mars_aprÃl_maÃ_júnÃ_júlÃ_ágúst_september_október_nóvember_desember'.split('_'), 9108 monthsShort : 'jan_feb_mar_apr_maÃ_jún_júl_ágú_sep_okt_nóv_des'.split('_'), 9109 weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'), 9110 weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'), 9111 weekdaysMin : 'Su_Má_Ãr_Mi_Fi_Fö_La'.split('_'), 9112 longDateFormat : { 9113 LT : 'H:mm', 9114 LTS : 'H:mm:ss', 9115 L : 'DD.MM.YYYY', 9116 LL : 'D. MMMM YYYY', 9117 LLL : 'D. MMMM YYYY [kl.] H:mm', 9118 LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm' 9119 }, 9120 calendar : { 9121 sameDay : '[à dag kl.] LT', 9122 nextDay : '[á morgun kl.] LT', 9123 nextWeek : 'dddd [kl.] LT', 9124 lastDay : '[à gær kl.] LT', 9125 lastWeek : '[sÃðasta] dddd [kl.] LT', 9126 sameElse : 'L' 9127 }, 9128 relativeTime : { 9129 future : 'eftir %s', 9130 past : 'fyrir %s sÃðan', 9131 s : translate$5, 9132 ss : translate$5, 9133 m : translate$5, 9134 mm : translate$5, 9135 h : 'klukkustund', 9136 hh : translate$5, 9137 d : translate$5, 9138 dd : translate$5, 9139 M : translate$5, 9140 MM : translate$5, 9141 y : translate$5, 9142 yy : translate$5 9143 }, 9144 dayOfMonthOrdinalParse: /\d{1,2}\./, 9145 ordinal : '%d.', 9146 week : { 9147 dow : 1, // Monday is the first day of the week. 9148 doy : 4 // The week that contains Jan 4th is the first week of the year. 9149 } 9150 }); 9151 9152 //! moment.js locale configuration 9153 9154 hooks.defineLocale('it-ch', { 9155 months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), 9156 monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), 9157 weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), 9158 weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'), 9159 weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'), 9160 longDateFormat : { 9161 LT : 'HH:mm', 9162 LTS : 'HH:mm:ss', 9163 L : 'DD.MM.YYYY', 9164 LL : 'D MMMM YYYY', 9165 LLL : 'D MMMM YYYY HH:mm', 9166 LLLL : 'dddd D MMMM YYYY HH:mm' 9167 }, 9168 calendar : { 9169 sameDay: '[Oggi alle] LT', 9170 nextDay: '[Domani alle] LT', 9171 nextWeek: 'dddd [alle] LT', 9172 lastDay: '[Ieri alle] LT', 9173 lastWeek: function () { 9174 switch (this.day()) { 9175 case 0: 9176 return '[la scorsa] dddd [alle] LT'; 9177 default: 9178 return '[lo scorso] dddd [alle] LT'; 9179 } 9180 }, 9181 sameElse: 'L' 9182 }, 9183 relativeTime : { 9184 future : function (s) { 9185 return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s; 9186 }, 9187 past : '%s fa', 9188 s : 'alcuni secondi', 9189 ss : '%d secondi', 9190 m : 'un minuto', 9191 mm : '%d minuti', 9192 h : 'un\'ora', 9193 hh : '%d ore', 9194 d : 'un giorno', 9195 dd : '%d giorni', 9196 M : 'un mese', 9197 MM : '%d mesi', 9198 y : 'un anno', 9199 yy : '%d anni' 9200 }, 9201 dayOfMonthOrdinalParse : /\d{1,2}º/, 9202 ordinal: '%dº', 9203 week : { 9204 dow : 1, // Monday is the first day of the week. 9205 doy : 4 // The week that contains Jan 4th is the first week of the year. 9206 } 9207 }); 9208 9209 //! moment.js locale configuration 9210 9211 hooks.defineLocale('it', { 9212 months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'), 9213 monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'), 9214 weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'), 9215 weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'), 9216 weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'), 9217 longDateFormat : { 9218 LT : 'HH:mm', 9219 LTS : 'HH:mm:ss', 9220 L : 'DD/MM/YYYY', 9221 LL : 'D MMMM YYYY', 9222 LLL : 'D MMMM YYYY HH:mm', 9223 LLLL : 'dddd D MMMM YYYY HH:mm' 9224 }, 9225 calendar : { 9226 sameDay: '[Oggi alle] LT', 9227 nextDay: '[Domani alle] LT', 9228 nextWeek: 'dddd [alle] LT', 9229 lastDay: '[Ieri alle] LT', 9230 lastWeek: function () { 9231 switch (this.day()) { 9232 case 0: 9233 return '[la scorsa] dddd [alle] LT'; 9234 default: 9235 return '[lo scorso] dddd [alle] LT'; 9236 } 9237 }, 9238 sameElse: 'L' 9239 }, 9240 relativeTime : { 9241 future : function (s) { 9242 return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s; 9243 }, 9244 past : '%s fa', 9245 s : 'alcuni secondi', 9246 ss : '%d secondi', 9247 m : 'un minuto', 9248 mm : '%d minuti', 9249 h : 'un\'ora', 9250 hh : '%d ore', 9251 d : 'un giorno', 9252 dd : '%d giorni', 9253 M : 'un mese', 9254 MM : '%d mesi', 9255 y : 'un anno', 9256 yy : '%d anni' 9257 }, 9258 dayOfMonthOrdinalParse : /\d{1,2}º/, 9259 ordinal: '%dº', 9260 week : { 9261 dow : 1, // Monday is the first day of the week. 9262 doy : 4 // The week that contains Jan 4th is the first week of the year. 9263 } 9264 }); 9265 9266 //! moment.js locale configuration 9267 9268 hooks.defineLocale('ja', { 9269 months : '䏿_äºæ_䏿_åæ_äºæ_å æ_䏿_å «æ_乿_åæ_å䏿_åäºæ'.split('_'), 9270 monthsShort : '1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ'.split('_'), 9271 weekdays : 'æ¥ææ¥_æææ¥_ç«ææ¥_æ°´ææ¥_æ¨ææ¥_éææ¥_åææ¥'.split('_'), 9272 weekdaysShort : 'æ¥_æ_ç«_æ°´_æ¨_é_å'.split('_'), 9273 weekdaysMin : 'æ¥_æ_ç«_æ°´_æ¨_é_å'.split('_'), 9274 longDateFormat : { 9275 LT : 'HH:mm', 9276 LTS : 'HH:mm:ss', 9277 L : 'YYYY/MM/DD', 9278 LL : 'YYYYå¹´MæDæ¥', 9279 LLL : 'YYYYå¹´MæDæ¥ HH:mm', 9280 LLLL : 'YYYYå¹´MæDæ¥ dddd HH:mm', 9281 l : 'YYYY/MM/DD', 9282 ll : 'YYYYå¹´MæDæ¥', 9283 lll : 'YYYYå¹´MæDæ¥ HH:mm', 9284 llll : 'YYYYå¹´MæDæ¥(ddd) HH:mm' 9285 }, 9286 meridiemParse: /åå|åå¾/i, 9287 isPM : function (input) { 9288 return input === 'åå¾'; 9289 }, 9290 meridiem : function (hour, minute, isLower) { 9291 if (hour < 12) { 9292 return 'åå'; 9293 } else { 9294 return 'åå¾'; 9295 } 9296 }, 9297 calendar : { 9298 sameDay : '[仿¥] LT', 9299 nextDay : '[ææ¥] LT', 9300 nextWeek : function (now) { 9301 if (now.week() < this.week()) { 9302 return '[æ¥é±]dddd LT'; 9303 } else { 9304 return 'dddd LT'; 9305 } 9306 }, 9307 lastDay : '[æ¨æ¥] LT', 9308 lastWeek : function (now) { 9309 if (this.week() < now.week()) { 9310 return '[å é±]dddd LT'; 9311 } else { 9312 return 'dddd LT'; 9313 } 9314 }, 9315 sameElse : 'L' 9316 }, 9317 dayOfMonthOrdinalParse : /\d{1,2}æ¥/, 9318 ordinal : function (number, period) { 9319 switch (period) { 9320 case 'd': 9321 case 'D': 9322 case 'DDD': 9323 return number + 'æ¥'; 9324 default: 9325 return number; 9326 } 9327 }, 9328 relativeTime : { 9329 future : '%så¾', 9330 past : '%så', 9331 s : 'æ°ç§', 9332 ss : '%dç§', 9333 m : '1å', 9334 mm : '%då', 9335 h : '1æé', 9336 hh : '%dæé', 9337 d : '1æ¥', 9338 dd : '%dæ¥', 9339 M : '1ã¶æ', 9340 MM : '%dã¶æ', 9341 y : '1å¹´', 9342 yy : '%då¹´' 9343 } 9344 }); 9345 9346 //! moment.js locale configuration 9347 9348 hooks.defineLocale('jv', { 9349 months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'), 9350 monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'), 9351 weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'), 9352 weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'), 9353 weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'), 9354 longDateFormat : { 9355 LT : 'HH.mm', 9356 LTS : 'HH.mm.ss', 9357 L : 'DD/MM/YYYY', 9358 LL : 'D MMMM YYYY', 9359 LLL : 'D MMMM YYYY [pukul] HH.mm', 9360 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' 9361 }, 9362 meridiemParse: /enjing|siyang|sonten|ndalu/, 9363 meridiemHour : function (hour, meridiem) { 9364 if (hour === 12) { 9365 hour = 0; 9366 } 9367 if (meridiem === 'enjing') { 9368 return hour; 9369 } else if (meridiem === 'siyang') { 9370 return hour >= 11 ? hour : hour + 12; 9371 } else if (meridiem === 'sonten' || meridiem === 'ndalu') { 9372 return hour + 12; 9373 } 9374 }, 9375 meridiem : function (hours, minutes, isLower) { 9376 if (hours < 11) { 9377 return 'enjing'; 9378 } else if (hours < 15) { 9379 return 'siyang'; 9380 } else if (hours < 19) { 9381 return 'sonten'; 9382 } else { 9383 return 'ndalu'; 9384 } 9385 }, 9386 calendar : { 9387 sameDay : '[Dinten puniko pukul] LT', 9388 nextDay : '[Mbenjang pukul] LT', 9389 nextWeek : 'dddd [pukul] LT', 9390 lastDay : '[Kala wingi pukul] LT', 9391 lastWeek : 'dddd [kepengker pukul] LT', 9392 sameElse : 'L' 9393 }, 9394 relativeTime : { 9395 future : 'wonten ing %s', 9396 past : '%s ingkang kepengker', 9397 s : 'sawetawis detik', 9398 ss : '%d detik', 9399 m : 'setunggal menit', 9400 mm : '%d menit', 9401 h : 'setunggal jam', 9402 hh : '%d jam', 9403 d : 'sedinten', 9404 dd : '%d dinten', 9405 M : 'sewulan', 9406 MM : '%d wulan', 9407 y : 'setaun', 9408 yy : '%d taun' 9409 }, 9410 week : { 9411 dow : 1, // Monday is the first day of the week. 9412 doy : 7 // The week that contains Jan 7th is the first week of the year. 9413 } 9414 }); 9415 9416 //! moment.js locale configuration 9417 9418 hooks.defineLocale('ka', { 9419 months : { 9420 standalone: 'áááááá á_ááááá áááá_ááá á¢á_ááá ááá_áááá¡á_ááááá¡á_ááááá¡á_ááááá¡á¢á_á¡áá¥á¢ááááá á_áá¥á¢ááááá á_ááááááá á_áááááááá á'.split('_'), 9421 format: 'áááááá á¡_ááááá áááá¡_ááá á¢á¡_ááá áááá¡_áááá¡á¡_ááááá¡á¡_ááááá¡á¡_ááááá¡á¢á¡_á¡áá¥á¢ááááá á¡_áá¥á¢ááááá á¡_ááááááá á¡_áááááááá á¡'.split('_') 9422 }, 9423 monthsShort : 'ááá_ááá_ááá _ááá _ááá_ááá_ááá_ááá_á¡áá¥_áá¥á¢_ááá_ááá'.split('_'), 9424 weekdays : { 9425 standalone: 'áááá á_áá á¨ááááá_á¡ááá¨ááááá_ááá®á¨ááááá_á®á£áá¨ááááá_ááá áá¡áááá_á¨ááááá'.split('_'), 9426 format: 'áááá áá¡_áá á¨ááááá¡_á¡ááá¨ááááá¡_ááá®á¨ááááá¡_á®á£áá¨ááááá¡_ááá áá¡áááá¡_á¨ááááá¡'.split('_'), 9427 isFormat: /(á¬ááá|á¨ááááá)/ 9428 }, 9429 weekdaysShort : 'ááá_áá á¨_á¡áá_ááá®_á®á£á_ááá _á¨áá'.split('_'), 9430 weekdaysMin : 'áá_áá _á¡á_áá_á®á£_áá_á¨á'.split('_'), 9431 longDateFormat : { 9432 LT : 'h:mm A', 9433 LTS : 'h:mm:ss A', 9434 L : 'DD/MM/YYYY', 9435 LL : 'D MMMM YYYY', 9436 LLL : 'D MMMM YYYY h:mm A', 9437 LLLL : 'dddd, D MMMM YYYY h:mm A' 9438 }, 9439 calendar : { 9440 sameDay : '[áá¦áá¡] LT[-áá]', 9441 nextDay : '[á®ááá] LT[-áá]', 9442 lastDay : '[áá£á¨áá] LT[-áá]', 9443 nextWeek : '[á¨ááááá] dddd LT[-áá]', 9444 lastWeek : '[á¬ááá] dddd LT-áá', 9445 sameElse : 'L' 9446 }, 9447 relativeTime : { 9448 future : function (s) { 9449 return (/(á¬ááá|á¬á£áá|á¡áááá|á¬ááá)/).test(s) ? 9450 s.replace(/á$/, 'á¨á') : 9451 s + 'á¨á'; 9452 }, 9453 past : function (s) { 9454 if ((/(á¬ááá|á¬á£áá|á¡áááá|áá¦á|ááá)/).test(s)) { 9455 return s.replace(/(á|á)$/, 'áá¡ á¬áá'); 9456 } 9457 if ((/á¬ááá/).test(s)) { 9458 return s.replace(/á¬ááá$/, 'á¬ááá¡ á¬áá'); 9459 } 9460 }, 9461 s : 'á áááááááá á¬ááá', 9462 ss : '%d á¬ááá', 9463 m : 'á¬á£áá', 9464 mm : '%d á¬á£áá', 9465 h : 'á¡áááá', 9466 hh : '%d á¡áááá', 9467 d : 'áá¦á', 9468 dd : '%d áá¦á', 9469 M : 'ááá', 9470 MM : '%d ááá', 9471 y : 'á¬ááá', 9472 yy : '%d á¬ááá' 9473 }, 9474 dayOfMonthOrdinalParse: /0|1-áá|áá-\d{1,2}|\d{1,2}-á/, 9475 ordinal : function (number) { 9476 if (number === 0) { 9477 return number; 9478 } 9479 if (number === 1) { 9480 return number + '-áá'; 9481 } 9482 if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) { 9483 return 'áá-' + number; 9484 } 9485 return number + '-á'; 9486 }, 9487 week : { 9488 dow : 1, 9489 doy : 7 9490 } 9491 }); 9492 9493 //! moment.js locale configuration 9494 9495 var suffixes$1 = { 9496 0: '-ÑÑ', 9497 1: '-ÑÑ', 9498 2: '-ÑÑ', 9499 3: '-ÑÑ', 9500 4: '-ÑÑ', 9501 5: '-ÑÑ', 9502 6: '-ÑÑ', 9503 7: '-ÑÑ', 9504 8: '-ÑÑ', 9505 9: '-ÑÑ', 9506 10: '-ÑÑ', 9507 20: '-ÑÑ', 9508 30: '-ÑÑ', 9509 40: '-ÑÑ', 9510 50: '-ÑÑ', 9511 60: '-ÑÑ', 9512 70: '-ÑÑ', 9513 80: '-ÑÑ', 9514 90: '-ÑÑ', 9515 100: '-ÑÑ' 9516 }; 9517 9518 hooks.defineLocale('kk', { 9519 months : 'ÒаңÑаÑ_аÒпан_наÑÑÑз_ÑÓÑÑÑ_мамÑÑ_маÑÑÑм_ÑÑлде_ÑамÑз_ÒÑÑкүйек_Òазан_ÒаÑаÑа_желÑоÒÑан'.split('_'), 9520 monthsShort : 'Òаң_аÒп_наÑ_ÑÓÑ_мам_маÑ_ÑÑл_Ñам_ÒÑÑ_Òаз_ÒаÑ_жел'.split('_'), 9521 weekdays : 'жекÑенбÑ_дүйÑенбÑ_ÑейÑенбÑ_ÑÓÑÑенбÑ_бейÑенбÑ_жұма_ÑенбÑ'.split('_'), 9522 weekdaysShort : 'жек_дүй_Ñей_ÑÓÑ_бей_жұм_Ñен'.split('_'), 9523 weekdaysMin : 'жк_дй_Ñй_ÑÑ_бй_жм_Ñн'.split('_'), 9524 longDateFormat : { 9525 LT : 'HH:mm', 9526 LTS : 'HH:mm:ss', 9527 L : 'DD.MM.YYYY', 9528 LL : 'D MMMM YYYY', 9529 LLL : 'D MMMM YYYY HH:mm', 9530 LLLL : 'dddd, D MMMM YYYY HH:mm' 9531 }, 9532 calendar : { 9533 sameDay : '[ÐүгÑн ÑаÒаÑ] LT', 9534 nextDay : '[ÐÑÑең ÑаÒаÑ] LT', 9535 nextWeek : 'dddd [ÑаÒаÑ] LT', 9536 lastDay : '[ÐеÑе ÑаÒаÑ] LT', 9537 lastWeek : '[Ó¨Ñкен апÑанÑÒ£] dddd [ÑаÒаÑ] LT', 9538 sameElse : 'L' 9539 }, 9540 relativeTime : { 9541 future : '%s ÑÑÑнде', 9542 past : '%s бұÑÑн', 9543 s : 'бÑÑнеÑе ÑекÑнд', 9544 ss : '%d ÑекÑнд', 9545 m : 'бÑÑ Ð¼Ð¸Ð½ÑÑ', 9546 mm : '%d минÑÑ', 9547 h : 'бÑÑ ÑаÒаÑ', 9548 hh : '%d ÑаÒаÑ', 9549 d : 'бÑÑ ÐºÒ¯Ð½', 9550 dd : '%d күн', 9551 M : 'бÑÑ Ð°Ð¹', 9552 MM : '%d ай', 9553 y : 'бÑÑ Ð¶Ñл', 9554 yy : '%d жÑл' 9555 }, 9556 dayOfMonthOrdinalParse: /\d{1,2}-(ÑÑ|ÑÑ)/, 9557 ordinal : function (number) { 9558 var a = number % 10, 9559 b = number >= 100 ? 100 : null; 9560 return number + (suffixes$1[number] || suffixes$1[a] || suffixes$1[b]); 9561 }, 9562 week : { 9563 dow : 1, // Monday is the first day of the week. 9564 doy : 7 // The week that contains Jan 7th is the first week of the year. 9565 } 9566 }); 9567 9568 //! moment.js locale configuration 9569 9570 var symbolMap$8 = { 9571 '1': 'á¡', 9572 '2': 'á¢', 9573 '3': 'á£', 9574 '4': 'á¤', 9575 '5': 'á¥', 9576 '6': 'á¦', 9577 '7': 'á§', 9578 '8': 'á¨', 9579 '9': 'á©', 9580 '0': 'á ' 9581 }, numberMap$7 = { 9582 'á¡': '1', 9583 'á¢': '2', 9584 'á£': '3', 9585 'á¤': '4', 9586 'á¥': '5', 9587 'á¦': '6', 9588 'á§': '7', 9589 'á¨': '8', 9590 'á©': '9', 9591 'á ': '0' 9592 }; 9593 9594 hooks.defineLocale('km', { 9595 months: 'áááá¶_áá»áááá_áá¸áá¶_áááá¶_á§ááá¶_áá·áá»áá¶_áááááá¶_áá¸á á¶_ááááá¶_áá»áá¶_áá·á ááá·áá¶_áááá¼'.split( 9596 '_' 9597 ), 9598 monthsShort: 'áááá¶_áá»áááá_áá¸áá¶_áááá¶_á§ááá¶_áá·áá»áá¶_áááááá¶_áá¸á á¶_ááááá¶_áá»áá¶_áá·á ááá·áá¶_áááá¼'.split( 9599 '_' 9600 ), 9601 weekdays: 'á¢á¶áá·ááá_á áááá_á¢áááá¶á_áá»á_áááá ááááá·á_áá»ááá_áá áá'.split('_'), 9602 weekdaysShort: 'á¢á¶_á _á¢_á_ááá_áá»_á'.split('_'), 9603 weekdaysMin: 'á¢á¶_á _á¢_á_ááá_áá»_á'.split('_'), 9604 weekdaysParseExact: true, 9605 longDateFormat: { 9606 LT: 'HH:mm', 9607 LTS: 'HH:mm:ss', 9608 L: 'DD/MM/YYYY', 9609 LL: 'D MMMM YYYY', 9610 LLL: 'D MMMM YYYY HH:mm', 9611 LLLL: 'dddd, D MMMM YYYY HH:mm' 9612 }, 9613 meridiemParse: /áááá¹á|áááá¶á /, 9614 isPM: function (input) { 9615 return input === 'áááá¶á '; 9616 }, 9617 meridiem: function (hour, minute, isLower) { 9618 if (hour < 12) { 9619 return 'áááá¹á'; 9620 } else { 9621 return 'áááá¶á '; 9622 } 9623 }, 9624 calendar: { 9625 sameDay: '[ááááááá áááá] LT', 9626 nextDay: '[ááá¢áá áááá] LT', 9627 nextWeek: 'dddd [áááá] LT', 9628 lastDay: '[áááá·ááá·á áááá] LT', 9629 lastWeek: 'dddd [ááááá¶á ááá»á] [áááá] LT', 9630 sameElse: 'L' 9631 }, 9632 relativeTime: { 9633 future: '%sááá', 9634 past: '%sáá»á', 9635 s: 'ááá»áááá¶ááá·áá¶áá¸', 9636 ss: '%d áá·áá¶áá¸', 9637 m: 'áá½ááá¶áá¸', 9638 mm: '%d áá¶áá¸', 9639 h: 'áá½ááááá', 9640 hh: '%d áááá', 9641 d: 'áá½ááááá', 9642 dd: '%d áááá', 9643 M: 'áá½ááá', 9644 MM: '%d áá', 9645 y: 'áá½ááááá¶á', 9646 yy: '%d áááá¶á' 9647 }, 9648 dayOfMonthOrdinalParse : /áá¸\d{1,2}/, 9649 ordinal : 'áá¸%d', 9650 preparse: function (string) { 9651 return string.replace(/[á¡á¢á£á¤á¥á¦á§á¨á©á ]/g, function (match) { 9652 return numberMap$7[match]; 9653 }); 9654 }, 9655 postformat: function (string) { 9656 return string.replace(/\d/g, function (match) { 9657 return symbolMap$8[match]; 9658 }); 9659 }, 9660 week: { 9661 dow: 1, // Monday is the first day of the week. 9662 doy: 4 // The week that contains Jan 4th is the first week of the year. 9663 } 9664 }); 9665 9666 //! moment.js locale configuration 9667 9668 var symbolMap$9 = { 9669 '1': 'à³§', 9670 '2': '೨', 9671 '3': '೩', 9672 '4': '೪', 9673 '5': '೫', 9674 '6': '೬', 9675 '7': 'à³', 9676 '8': 'à³®', 9677 '9': '೯', 9678 '0': '೦' 9679 }, 9680 numberMap$8 = { 9681 'à³§': '1', 9682 '೨': '2', 9683 '೩': '3', 9684 '೪': '4', 9685 '೫': '5', 9686 '೬': '6', 9687 'à³': '7', 9688 'à³®': '8', 9689 '೯': '9', 9690 '೦': '0' 9691 }; 9692 9693 hooks.defineLocale('kn', { 9694 months : 'à²à²¨à²µà²°à²¿_ಫà³à²¬à³à²°à²µà²°à²¿_ಮಾರà³à²à³_à²à²ªà³à²°à²¿à²²à³_ಮà³à³_à²à³à²¨à³_à²à³à²²à³à³_à²à²à²¸à³à²à³_ಸà³à²ªà³à²à³à²à²¬à²°à³_ಠà²à³à²à³à³à³à²¬à²°à³_ನವà³à²à²¬à²°à³_ಡಿಸà³à²à²¬à²°à³'.split('_'), 9695 monthsShort : 'à²à²¨_ಫà³à²¬à³à²°_ಮಾರà³à²à³_à²à²ªà³à²°à²¿à²²à³_ಮà³à³_à²à³à²¨à³_à²à³à²²à³à³_à²à²à²¸à³à²à³_ಸà³à²ªà³à²à³à²_ಠà²à³à²à³à³à³_ನವà³à²_ಡಿಸà³à²'.split('_'), 9696 monthsParseExact: true, 9697 weekdays : 'à²à²¾à²¨à³à²µà²¾à²°_ಸà³à³à³à²®à²µà²¾à²°_ಮà²à²à²³à²µà²¾à²°_ಬà³à²§à²µà²¾à²°_à²à³à²°à³à²µà²¾à²°_ಶà³à²à³à²°à²µà²¾à²°_ಶನಿವಾರ'.split('_'), 9698 weekdaysShort : 'à²à²¾à²¨à³_ಸà³à³à³à²®_ಮà²à²à²³_ಬà³à²§_à²à³à²°à³_ಶà³à²à³à²°_ಶನಿ'.split('_'), 9699 weekdaysMin : 'à²à²¾_ಸà³à³à³_ಮà²_ಬà³_à²à³_ಶà³_ಶ'.split('_'), 9700 longDateFormat : { 9701 LT : 'A h:mm', 9702 LTS : 'A h:mm:ss', 9703 L : 'DD/MM/YYYY', 9704 LL : 'D MMMM YYYY', 9705 LLL : 'D MMMM YYYY, A h:mm', 9706 LLLL : 'dddd, D MMMM YYYY, A h:mm' 9707 }, 9708 calendar : { 9709 sameDay : '[à²à²à²¦à³] LT', 9710 nextDay : '[ನಾಳà³] LT', 9711 nextWeek : 'dddd, LT', 9712 lastDay : '[ನಿನà³à²¨à³] LT', 9713 lastWeek : '[à²à³à³à²¨à³à²¯] dddd, LT', 9714 sameElse : 'L' 9715 }, 9716 relativeTime : { 9717 future : '%s ನà²à²¤à²°', 9718 past : '%s ಹಿà²à²¦à³', 9719 s : 'à²à³à²²à²µà³ à²à³à²·à²£à²à²³à³', 9720 ss : '%d ಸà³à²à³à²à²¡à³à²à²³à³', 9721 m : 'à²à²à²¦à³ ನಿಮಿಷ', 9722 mm : '%d ನಿಮಿಷ', 9723 h : 'à²à²à²¦à³ à²à²à²à³', 9724 hh : '%d à²à²à²à³', 9725 d : 'à²à²à²¦à³ ದಿನ', 9726 dd : '%d ದಿನ', 9727 M : 'à²à²à²¦à³ ತಿà²à²à²³à³', 9728 MM : '%d ತಿà²à²à²³à³', 9729 y : 'à²à²à²¦à³ ವರà³à²·', 9730 yy : '%d ವರà³à²·' 9731 }, 9732 preparse: function (string) { 9733 return string.replace(/[೧೨೩೪೫೬à³à³®à³¯à³¦]/g, function (match) { 9734 return numberMap$8[match]; 9735 }); 9736 }, 9737 postformat: function (string) { 9738 return string.replace(/\d/g, function (match) { 9739 return symbolMap$9[match]; 9740 }); 9741 }, 9742 meridiemParse: /ರಾತà³à²°à²¿|ಬà³à²³à²¿à²à³à²à³|ಮಧà³à²¯à²¾à²¹à³à²¨|ಸà²à²à³/, 9743 meridiemHour : function (hour, meridiem) { 9744 if (hour === 12) { 9745 hour = 0; 9746 } 9747 if (meridiem === 'ರಾತà³à²°à²¿') { 9748 return hour < 4 ? hour : hour + 12; 9749 } else if (meridiem === 'ಬà³à²³à²¿à²à³à²à³') { 9750 return hour; 9751 } else if (meridiem === 'ಮಧà³à²¯à²¾à²¹à³à²¨') { 9752 return hour >= 10 ? hour : hour + 12; 9753 } else if (meridiem === 'ಸà²à²à³') { 9754 return hour + 12; 9755 } 9756 }, 9757 meridiem : function (hour, minute, isLower) { 9758 if (hour < 4) { 9759 return 'ರಾತà³à²°à²¿'; 9760 } else if (hour < 10) { 9761 return 'ಬà³à²³à²¿à²à³à²à³'; 9762 } else if (hour < 17) { 9763 return 'ಮಧà³à²¯à²¾à²¹à³à²¨'; 9764 } else if (hour < 20) { 9765 return 'ಸà²à²à³'; 9766 } else { 9767 return 'ರಾತà³à²°à²¿'; 9768 } 9769 }, 9770 dayOfMonthOrdinalParse: /\d{1,2}(ನà³à³)/, 9771 ordinal : function (number) { 9772 return number + 'ನà³à³'; 9773 }, 9774 week : { 9775 dow : 0, // Sunday is the first day of the week. 9776 doy : 6 // The week that contains Jan 6th is the first week of the year. 9777 } 9778 }); 9779 9780 //! moment.js locale configuration 9781 9782 hooks.defineLocale('ko', { 9783 months : '1ì_2ì_3ì_4ì_5ì_6ì_7ì_8ì_9ì_10ì_11ì_12ì'.split('_'), 9784 monthsShort : '1ì_2ì_3ì_4ì_5ì_6ì_7ì_8ì_9ì_10ì_11ì_12ì'.split('_'), 9785 weekdays : 'ì¼ìì¼_ììì¼_íìì¼_ììì¼_목ìì¼_ê¸ìì¼_í ìì¼'.split('_'), 9786 weekdaysShort : 'ì¼_ì_í_ì_목_ê¸_í '.split('_'), 9787 weekdaysMin : 'ì¼_ì_í_ì_목_ê¸_í '.split('_'), 9788 longDateFormat : { 9789 LT : 'A h:mm', 9790 LTS : 'A h:mm:ss', 9791 L : 'YYYY.MM.DD.', 9792 LL : 'YYYYë MMMM Dì¼', 9793 LLL : 'YYYYë MMMM Dì¼ A h:mm', 9794 LLLL : 'YYYYë MMMM Dì¼ dddd A h:mm', 9795 l : 'YYYY.MM.DD.', 9796 ll : 'YYYYë MMMM Dì¼', 9797 lll : 'YYYYë MMMM Dì¼ A h:mm', 9798 llll : 'YYYYë MMMM Dì¼ dddd A h:mm' 9799 }, 9800 calendar : { 9801 sameDay : 'ì¤ë LT', 9802 nextDay : 'ë´ì¼ LT', 9803 nextWeek : 'dddd LT', 9804 lastDay : 'ì´ì LT', 9805 lastWeek : 'ì§ë주 dddd LT', 9806 sameElse : 'L' 9807 }, 9808 relativeTime : { 9809 future : '%s í', 9810 past : '%s ì ', 9811 s : 'ëª ì´', 9812 ss : '%dì´', 9813 m : '1ë¶', 9814 mm : '%dë¶', 9815 h : 'í ìê°', 9816 hh : '%dìê°', 9817 d : 'í루', 9818 dd : '%dì¼', 9819 M : 'í ë¬', 9820 MM : '%dë¬', 9821 y : 'ì¼ ë ', 9822 yy : '%dë ' 9823 }, 9824 dayOfMonthOrdinalParse : /\d{1,2}(ì¼|ì|주)/, 9825 ordinal : function (number, period) { 9826 switch (period) { 9827 case 'd': 9828 case 'D': 9829 case 'DDD': 9830 return number + 'ì¼'; 9831 case 'M': 9832 return number + 'ì'; 9833 case 'w': 9834 case 'W': 9835 return number + '주'; 9836 default: 9837 return number; 9838 } 9839 }, 9840 meridiemParse : /ì¤ì |ì¤í/, 9841 isPM : function (token) { 9842 return token === 'ì¤í'; 9843 }, 9844 meridiem : function (hour, minute, isUpper) { 9845 return hour < 12 ? 'ì¤ì ' : 'ì¤í'; 9846 } 9847 }); 9848 9849 //! moment.js locale configuration 9850 9851 var symbolMap$a = { 9852 '1': 'Ù¡', 9853 '2': 'Ù¢', 9854 '3': 'Ù£', 9855 '4': 'Ù¤', 9856 '5': 'Ù¥', 9857 '6': 'Ù¦', 9858 '7': 'Ù§', 9859 '8': 'Ù¨', 9860 '9': 'Ù©', 9861 '0': 'Ù ' 9862 }, numberMap$9 = { 9863 'Ù¡': '1', 9864 'Ù¢': '2', 9865 'Ù£': '3', 9866 'Ù¤': '4', 9867 'Ù¥': '5', 9868 'Ù¦': '6', 9869 'Ù§': '7', 9870 'Ù¨': '8', 9871 'Ù©': '9', 9872 'Ù ': '0' 9873 }, 9874 months$7 = [ 9875 'کاÙÙÙÛ Ø¯ÙÙÛÙ ', 9876 'Ø´ÙØ¨Ø§Øª', 9877 'ئازار', 9878 'ÙÛØ³Ø§Ù', 9879 'Ø¦Ø§ÛØ§Ø±', 9880 'ØÙزÛÛØ±Ø§Ù', 9881 'تÛÙ Ù ÙØ²', 9882 'ئاب', 9883 'ئÛÛÙÙÙÙ', 9884 'تشرÛÙÛ ÛÛÙÛÙ ', 9885 'تشرÛÙÛ Ø¯ÙÙÛÙ ', 9886 'ÙØ§ÙÙÙÛ ÛÛÚ©ÛÙ ' 9887 ]; 9888 9889 9890 hooks.defineLocale('ku', { 9891 months : months$7, 9892 monthsShort : months$7, 9893 weekdays : 'ÛÙâÙØ´ÙâÙ Ù Ùâ_دÙÙØ´ÙâÙ Ù Ùâ_Ø³ÛØ´ÙâÙ Ù Ùâ_ÚÙØ§Ø±Ø´ÙâÙ Ù Ùâ_Ù¾ÛÙØ¬Ø´ÙâÙ Ù Ùâ_ÙÙâÛÙÛ_Ø´ÙâÙ Ù Ùâ'.split('_'), 9894 weekdaysShort : 'ÛÙâÙØ´ÙâÙ _دÙÙØ´ÙâÙ _Ø³ÛØ´ÙâÙ _ÚÙØ§Ø±Ø´ÙâÙ _Ù¾ÛÙØ¬Ø´ÙâÙ _ÙÙâÛÙÛ_Ø´ÙâÙ Ù Ùâ'.split('_'), 9895 weekdaysMin : 'Û_د_س_Ú_Ù¾_Ù_Ø´'.split('_'), 9896 weekdaysParseExact : true, 9897 longDateFormat : { 9898 LT : 'HH:mm', 9899 LTS : 'HH:mm:ss', 9900 L : 'DD/MM/YYYY', 9901 LL : 'D MMMM YYYY', 9902 LLL : 'D MMMM YYYY HH:mm', 9903 LLLL : 'dddd, D MMMM YYYY HH:mm' 9904 }, 9905 meridiemParse: /ئÛÙØ§Ø±Ùâ|بÙâÛØ§ÙÛ/, 9906 isPM: function (input) { 9907 return /ئÛÙØ§Ø±Ùâ/.test(input); 9908 }, 9909 meridiem : function (hour, minute, isLower) { 9910 if (hour < 12) { 9911 return 'بÙâÛØ§ÙÛ'; 9912 } else { 9913 return 'ئÛÙØ§Ø±Ùâ'; 9914 } 9915 }, 9916 calendar : { 9917 sameDay : '[ئÙâÙ Ø±Û ÙØ§ØªÚÙ ÛØ±] LT', 9918 nextDay : '[بÙâÛØ§ÙÛ ÙØ§ØªÚÙ ÛØ±] LT', 9919 nextWeek : 'dddd [ÙØ§ØªÚÙ ÛØ±] LT', 9920 lastDay : '[دÙÛÙÛ ÙØ§ØªÚÙ ÛØ±] LT', 9921 lastWeek : 'dddd [ÙØ§ØªÚÙ ÛØ±] LT', 9922 sameElse : 'L' 9923 }, 9924 relativeTime : { 9925 future : 'ÙÙâ %s', 9926 past : '%s', 9927 s : 'ÚÙâÙØ¯ ÚØ±ÙÙâÛÙâÙ', 9928 ss : 'ÚØ±ÙÙâ %d', 9929 m : 'ÛÙâÙ Ø®ÙÙÙâÙ', 9930 mm : '%d Ø®ÙÙÙâÙ', 9931 h : 'ÛÙâÙ ÙØ§ØªÚÙ ÛØ±', 9932 hh : '%d ÙØ§ØªÚÙ ÛØ±', 9933 d : 'ÛÙâÙ ÚÛÚ', 9934 dd : '%d ÚÛÚ', 9935 M : 'ÛÙâ٠٠اÙÚ¯', 9936 MM : '%d ٠اÙÚ¯', 9937 y : 'ÛÙâ٠ساڵ', 9938 yy : '%d ساڵ' 9939 }, 9940 preparse: function (string) { 9941 return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) { 9942 return numberMap$9[match]; 9943 }).replace(/Ø/g, ','); 9944 }, 9945 postformat: function (string) { 9946 return string.replace(/\d/g, function (match) { 9947 return symbolMap$a[match]; 9948 }).replace(/,/g, 'Ø'); 9949 }, 9950 week : { 9951 dow : 6, // Saturday is the first day of the week. 9952 doy : 12 // The week that contains Jan 12th is the first week of the year. 9953 } 9954 }); 9955 9956 //! moment.js locale configuration 9957 9958 var suffixes$2 = { 9959 0: '-ÑÒ¯', 9960 1: '-Ñи', 9961 2: '-Ñи', 9962 3: '-ÑÒ¯', 9963 4: '-ÑÒ¯', 9964 5: '-Ñи', 9965 6: '-ÑÑ', 9966 7: '-Ñи', 9967 8: '-Ñи', 9968 9: '-ÑÑ', 9969 10: '-ÑÑ', 9970 20: '-ÑÑ', 9971 30: '-ÑÑ', 9972 40: '-ÑÑ', 9973 50: '-ÑÒ¯', 9974 60: '-ÑÑ', 9975 70: '-Ñи', 9976 80: '-Ñи', 9977 90: '-ÑÑ', 9978 100: '-ÑÒ¯' 9979 }; 9980 9981 hooks.defineLocale('ky', { 9982 months : 'ÑнваÑÑ_ÑевÑалÑ_маÑÑ_апÑелÑ_май_иÑнÑ_иÑлÑ_авгÑÑÑ_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ'.split('_'), 9983 monthsShort : 'Ñнв_Ñев_маÑÑ_апÑ_май_иÑнÑ_иÑлÑ_авг_Ñен_окÑ_ноÑ_дек'.split('_'), 9984 weekdays : 'ÐекÑемби_ÐүйÑөмбү_ШейÑемби_ШаÑÑемби_ÐейÑемби_ÐÑма_ÐÑемби'.split('_'), 9985 weekdaysShort : 'Ðек_Ðүй_Шей_ШаÑ_Ðей_ÐÑм_ÐÑе'.split('_'), 9986 weekdaysMin : 'Ðк_Ðй_Шй_ШÑ_Ðй_Ðм_ÐÑ'.split('_'), 9987 longDateFormat : { 9988 LT : 'HH:mm', 9989 LTS : 'HH:mm:ss', 9990 L : 'DD.MM.YYYY', 9991 LL : 'D MMMM YYYY', 9992 LLL : 'D MMMM YYYY HH:mm', 9993 LLLL : 'dddd, D MMMM YYYY HH:mm' 9994 }, 9995 calendar : { 9996 sameDay : '[Ðүгүн ÑааÑ] LT', 9997 nextDay : '[ÐÑÑең ÑааÑ] LT', 9998 nextWeek : 'dddd [ÑааÑ] LT', 9999 lastDay : '[ÐеÑÑÑ ÑааÑ] LT', 10000 lastWeek : '[Ó¨Ñкөн апÑанÑн] dddd [күнү] [ÑааÑ] LT', 10001 sameElse : 'L' 10002 }, 10003 relativeTime : { 10004 future : '%s иÑинде', 10005 past : '%s мÑÑÑн', 10006 s : 'биÑнеÑе ÑекÑнд', 10007 ss : '%d ÑекÑнд', 10008 m : 'Ð±Ð¸Ñ Ð¼Ò¯Ð½Ó©Ñ', 10009 mm : '%d мүнөÑ', 10010 h : 'Ð±Ð¸Ñ ÑааÑ', 10011 hh : '%d ÑааÑ', 10012 d : 'Ð±Ð¸Ñ ÐºÒ¯Ð½', 10013 dd : '%d күн', 10014 M : 'Ð±Ð¸Ñ Ð°Ð¹', 10015 MM : '%d ай', 10016 y : 'Ð±Ð¸Ñ Ð¶Ñл', 10017 yy : '%d жÑл' 10018 }, 10019 dayOfMonthOrdinalParse: /\d{1,2}-(Ñи|ÑÑ|ÑÒ¯|ÑÑ)/, 10020 ordinal : function (number) { 10021 var a = number % 10, 10022 b = number >= 100 ? 100 : null; 10023 return number + (suffixes$2[number] || suffixes$2[a] || suffixes$2[b]); 10024 }, 10025 week : { 10026 dow : 1, // Monday is the first day of the week. 10027 doy : 7 // The week that contains Jan 7th is the first week of the year. 10028 } 10029 }); 10030 10031 //! moment.js locale configuration 10032 10033 function processRelativeTime$5(number, withoutSuffix, key, isFuture) { 10034 var format = { 10035 'm': ['eng Minutt', 'enger Minutt'], 10036 'h': ['eng Stonn', 'enger Stonn'], 10037 'd': ['een Dag', 'engem Dag'], 10038 'M': ['ee Mount', 'engem Mount'], 10039 'y': ['ee Joer', 'engem Joer'] 10040 }; 10041 return withoutSuffix ? format[key][0] : format[key][1]; 10042 } 10043 function processFutureTime(string) { 10044 var number = string.substr(0, string.indexOf(' ')); 10045 if (eifelerRegelAppliesToNumber(number)) { 10046 return 'a ' + string; 10047 } 10048 return 'an ' + string; 10049 } 10050 function processPastTime(string) { 10051 var number = string.substr(0, string.indexOf(' ')); 10052 if (eifelerRegelAppliesToNumber(number)) { 10053 return 'viru ' + string; 10054 } 10055 return 'virun ' + string; 10056 } 10057 /** 10058 * Returns true if the word before the given number loses the '-n' ending. 10059 * e.g. 'an 10 Deeg' but 'a 5 Deeg' 10060 * 10061 * @param number {integer} 10062 * @returns {boolean} 10063 */ 10064 function eifelerRegelAppliesToNumber(number) { 10065 number = parseInt(number, 10); 10066 if (isNaN(number)) { 10067 return false; 10068 } 10069 if (number < 0) { 10070 // Negative Number --> always true 10071 return true; 10072 } else if (number < 10) { 10073 // Only 1 digit 10074 if (4 <= number && number <= 7) { 10075 return true; 10076 } 10077 return false; 10078 } else if (number < 100) { 10079 // 2 digits 10080 var lastDigit = number % 10, firstDigit = number / 10; 10081 if (lastDigit === 0) { 10082 return eifelerRegelAppliesToNumber(firstDigit); 10083 } 10084 return eifelerRegelAppliesToNumber(lastDigit); 10085 } else if (number < 10000) { 10086 // 3 or 4 digits --> recursively check first digit 10087 while (number >= 10) { 10088 number = number / 10; 10089 } 10090 return eifelerRegelAppliesToNumber(number); 10091 } else { 10092 // Anything larger than 4 digits: recursively check first n-3 digits 10093 number = number / 1000; 10094 return eifelerRegelAppliesToNumber(number); 10095 } 10096 } 10097 10098 hooks.defineLocale('lb', { 10099 months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'), 10100 monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'), 10101 monthsParseExact : true, 10102 weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'), 10103 weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'), 10104 weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'), 10105 weekdaysParseExact : true, 10106 longDateFormat: { 10107 LT: 'H:mm [Auer]', 10108 LTS: 'H:mm:ss [Auer]', 10109 L: 'DD.MM.YYYY', 10110 LL: 'D. MMMM YYYY', 10111 LLL: 'D. MMMM YYYY H:mm [Auer]', 10112 LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]' 10113 }, 10114 calendar: { 10115 sameDay: '[Haut um] LT', 10116 sameElse: 'L', 10117 nextDay: '[Muer um] LT', 10118 nextWeek: 'dddd [um] LT', 10119 lastDay: '[Gëschter um] LT', 10120 lastWeek: function () { 10121 // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule 10122 switch (this.day()) { 10123 case 2: 10124 case 4: 10125 return '[Leschten] dddd [um] LT'; 10126 default: 10127 return '[Leschte] dddd [um] LT'; 10128 } 10129 } 10130 }, 10131 relativeTime : { 10132 future : processFutureTime, 10133 past : processPastTime, 10134 s : 'e puer Sekonnen', 10135 ss : '%d Sekonnen', 10136 m : processRelativeTime$5, 10137 mm : '%d Minutten', 10138 h : processRelativeTime$5, 10139 hh : '%d Stonnen', 10140 d : processRelativeTime$5, 10141 dd : '%d Deeg', 10142 M : processRelativeTime$5, 10143 MM : '%d Méint', 10144 y : processRelativeTime$5, 10145 yy : '%d Joer' 10146 }, 10147 dayOfMonthOrdinalParse: /\d{1,2}\./, 10148 ordinal: '%d.', 10149 week: { 10150 dow: 1, // Monday is the first day of the week. 10151 doy: 4 // The week that contains Jan 4th is the first week of the year. 10152 } 10153 }); 10154 10155 //! moment.js locale configuration 10156 10157 hooks.defineLocale('lo', { 10158 months : 'ມັàºàºàºàº_àºàº¸àº¡àºàº²_ມີàºàº²_à»àº¡àºªàº²_àºàº¶àºàºªàº°àºàº²_ມິàºàº¸àºàº²_àºà»àº¥àº°àºàº»àº_ສິàºàº«àº²_àºàº±àºàºàº²_àºàº¸àº¥àº²_àºàº°àºàº´àº_àºàº±àºàº§àº²'.split('_'), 10159 monthsShort : 'ມັàºàºàºàº_àºàº¸àº¡àºàº²_ມີàºàº²_à»àº¡àºªàº²_àºàº¶àºàºªàº°àºàº²_ມິàºàº¸àºàº²_àºà»àº¥àº°àºàº»àº_ສິàºàº«àº²_àºàº±àºàºàº²_àºàº¸àº¥àº²_àºàº°àºàº´àº_àºàº±àºàº§àº²'.split('_'), 10160 weekdays : 'àºàº²àºàº´àº_àºàº±àº_àºàº±àºàºàº²àº_àºàº¸àº_àºàº°àº«àº±àº_ສຸàº_à»àºªàº»àº²'.split('_'), 10161 weekdaysShort : 'àºàº´àº_àºàº±àº_àºàº±àºàºàº²àº_àºàº¸àº_àºàº°àº«àº±àº_ສຸàº_à»àºªàº»àº²'.split('_'), 10162 weekdaysMin : 'àº_àº_àºàº_àº_àºàº«_ສàº_ສ'.split('_'), 10163 weekdaysParseExact : true, 10164 longDateFormat : { 10165 LT : 'HH:mm', 10166 LTS : 'HH:mm:ss', 10167 L : 'DD/MM/YYYY', 10168 LL : 'D MMMM YYYY', 10169 LLL : 'D MMMM YYYY HH:mm', 10170 LLLL : 'ວັàºdddd D MMMM YYYY HH:mm' 10171 }, 10172 meridiemParse: /àºàºàºà»àºàº»à»àº²|àºàºàºà»àº¥àº/, 10173 isPM: function (input) { 10174 return input === 'àºàºàºà»àº¥àº'; 10175 }, 10176 meridiem : function (hour, minute, isLower) { 10177 if (hour < 12) { 10178 return 'àºàºàºà»àºàº»à»àº²'; 10179 } else { 10180 return 'àºàºàºà»àº¥àº'; 10181 } 10182 }, 10183 calendar : { 10184 sameDay : '[ມືà»àºàºµà»à»àº§àº¥àº²] LT', 10185 nextDay : '[ມືà»àºàº·à»àºà»àº§àº¥àº²] LT', 10186 nextWeek : '[ວັàº]dddd[à»à»àº²à»àº§àº¥àº²] LT', 10187 lastDay : '[ມືà»àº§àº²àºàºàºµà»à»àº§àº¥àº²] LT', 10188 lastWeek : '[ວັàº]dddd[à»àº¥à»àº§àºàºµà»à»àº§àº¥àº²] LT', 10189 sameElse : 'L' 10190 }, 10191 relativeTime : { 10192 future : 'àºàºµàº %s', 10193 past : '%sàºà»àº²àºàº¡àº²', 10194 s : 'àºà»à»à»àºàº»à»àº²à»àºàº§àº´àºàº²àºàºµ', 10195 ss : '%d ວິàºàº²àºàºµ' , 10196 m : '1 àºàº²àºàºµ', 10197 mm : '%d àºàº²àºàºµ', 10198 h : '1 àºàº»à»àº§à»àº¡àº', 10199 hh : '%d àºàº»à»àº§à»àº¡àº', 10200 d : '1 ມືà»', 10201 dd : '%d ມືà»', 10202 M : '1 à»àºàº·àºàº', 10203 MM : '%d à»àºàº·àºàº', 10204 y : '1 àºàºµ', 10205 yy : '%d àºàºµ' 10206 }, 10207 dayOfMonthOrdinalParse: /(àºàºµà»)\d{1,2}/, 10208 ordinal : function (number) { 10209 return 'àºàºµà»' + number; 10210 } 10211 }); 10212 10213 //! moment.js locale configuration 10214 10215 var units = { 10216 'ss' : 'sekundÄ_sekundžių_sekundes', 10217 'm' : 'minutÄ_minutÄs_minutÄ', 10218 'mm': 'minutÄs_minuÄių_minutes', 10219 'h' : 'valanda_valandos_valandÄ ', 10220 'hh': 'valandos_valandų_valandas', 10221 'd' : 'diena_dienos_dienÄ ', 10222 'dd': 'dienos_dienų_dienas', 10223 'M' : 'mÄnuo_mÄnesio_mÄnesį', 10224 'MM': 'mÄnesiai_mÄnesių_mÄnesius', 10225 'y' : 'metai_metų_metus', 10226 'yy': 'metai_metų_metus' 10227 }; 10228 function translateSeconds(number, withoutSuffix, key, isFuture) { 10229 if (withoutSuffix) { 10230 return 'kelios sekundÄs'; 10231 } else { 10232 return isFuture ? 'kelių sekundžių' : 'kelias sekundes'; 10233 } 10234 } 10235 function translateSingular(number, withoutSuffix, key, isFuture) { 10236 return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]); 10237 } 10238 function special(number) { 10239 return number % 10 === 0 || (number > 10 && number < 20); 10240 } 10241 function forms(key) { 10242 return units[key].split('_'); 10243 } 10244 function translate$6(number, withoutSuffix, key, isFuture) { 10245 var result = number + ' '; 10246 if (number === 1) { 10247 return result + translateSingular(number, withoutSuffix, key[0], isFuture); 10248 } else if (withoutSuffix) { 10249 return result + (special(number) ? forms(key)[1] : forms(key)[0]); 10250 } else { 10251 if (isFuture) { 10252 return result + forms(key)[1]; 10253 } else { 10254 return result + (special(number) ? forms(key)[1] : forms(key)[2]); 10255 } 10256 } 10257 } 10258 hooks.defineLocale('lt', { 10259 months : { 10260 format: 'sausio_vasario_kovo_balandžio_gegužÄs_birželio_liepos_rugpjÅ«Äio_rugsÄjo_spalio_lapkriÄio_gruodžio'.split('_'), 10261 standalone: 'sausis_vasaris_kovas_balandis_gegužÄ_birželis_liepa_rugpjÅ«tis_rugsÄjis_spalis_lapkritis_gruodis'.split('_'), 10262 isFormat: /D[oD]?(\[[^\[\]]*\]|\s)+MMMM?|MMMM?(\[[^\[\]]*\]|\s)+D[oD]?/ 10263 }, 10264 monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'), 10265 weekdays : { 10266 format: 'sekmadienį_pirmadienį_antradienį_treÄiadienį_ketvirtadienį_penktadienį_Å¡eÅ¡tadienį'.split('_'), 10267 standalone: 'sekmadienis_pirmadienis_antradienis_treÄiadienis_ketvirtadienis_penktadienis_Å¡eÅ¡tadienis'.split('_'), 10268 isFormat: /dddd HH:mm/ 10269 }, 10270 weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Å eÅ¡'.split('_'), 10271 weekdaysMin : 'S_P_A_T_K_Pn_Å '.split('_'), 10272 weekdaysParseExact : true, 10273 longDateFormat : { 10274 LT : 'HH:mm', 10275 LTS : 'HH:mm:ss', 10276 L : 'YYYY-MM-DD', 10277 LL : 'YYYY [m.] MMMM D [d.]', 10278 LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]', 10279 LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]', 10280 l : 'YYYY-MM-DD', 10281 ll : 'YYYY [m.] MMMM D [d.]', 10282 lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]', 10283 llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]' 10284 }, 10285 calendar : { 10286 sameDay : '[Å iandien] LT', 10287 nextDay : '[Rytoj] LT', 10288 nextWeek : 'dddd LT', 10289 lastDay : '[Vakar] LT', 10290 lastWeek : '[PraÄjusį] dddd LT', 10291 sameElse : 'L' 10292 }, 10293 relativeTime : { 10294 future : 'po %s', 10295 past : 'prieÅ¡ %s', 10296 s : translateSeconds, 10297 ss : translate$6, 10298 m : translateSingular, 10299 mm : translate$6, 10300 h : translateSingular, 10301 hh : translate$6, 10302 d : translateSingular, 10303 dd : translate$6, 10304 M : translateSingular, 10305 MM : translate$6, 10306 y : translateSingular, 10307 yy : translate$6 10308 }, 10309 dayOfMonthOrdinalParse: /\d{1,2}-oji/, 10310 ordinal : function (number) { 10311 return number + '-oji'; 10312 }, 10313 week : { 10314 dow : 1, // Monday is the first day of the week. 10315 doy : 4 // The week that contains Jan 4th is the first week of the year. 10316 } 10317 }); 10318 10319 //! moment.js locale configuration 10320 10321 var units$1 = { 10322 'ss': 'sekundes_sekundÄm_sekunde_sekundes'.split('_'), 10323 'm': 'minÅ«tes_minÅ«tÄm_minÅ«te_minÅ«tes'.split('_'), 10324 'mm': 'minÅ«tes_minÅ«tÄm_minÅ«te_minÅ«tes'.split('_'), 10325 'h': 'stundas_stundÄm_stunda_stundas'.split('_'), 10326 'hh': 'stundas_stundÄm_stunda_stundas'.split('_'), 10327 'd': 'dienas_dienÄm_diena_dienas'.split('_'), 10328 'dd': 'dienas_dienÄm_diena_dienas'.split('_'), 10329 'M': 'mÄneÅ¡a_mÄneÅ¡iem_mÄnesis_mÄneÅ¡i'.split('_'), 10330 'MM': 'mÄneÅ¡a_mÄneÅ¡iem_mÄnesis_mÄneÅ¡i'.split('_'), 10331 'y': 'gada_gadiem_gads_gadi'.split('_'), 10332 'yy': 'gada_gadiem_gads_gadi'.split('_') 10333 }; 10334 /** 10335 * @param withoutSuffix boolean true = a length of time; false = before/after a period of time. 10336 */ 10337 function format$1(forms, number, withoutSuffix) { 10338 if (withoutSuffix) { 10339 // E.g. "21 minÅ«te", "3 minÅ«tes". 10340 return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3]; 10341 } else { 10342 // E.g. "21 minÅ«tes" as in "pÄc 21 minÅ«tes". 10343 // E.g. "3 minÅ«tÄm" as in "pÄc 3 minÅ«tÄm". 10344 return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1]; 10345 } 10346 } 10347 function relativeTimeWithPlural$1(number, withoutSuffix, key) { 10348 return number + ' ' + format$1(units$1[key], number, withoutSuffix); 10349 } 10350 function relativeTimeWithSingular(number, withoutSuffix, key) { 10351 return format$1(units$1[key], number, withoutSuffix); 10352 } 10353 function relativeSeconds(number, withoutSuffix) { 10354 return withoutSuffix ? 'dažas sekundes' : 'dažÄm sekundÄm'; 10355 } 10356 10357 hooks.defineLocale('lv', { 10358 months : 'janvÄris_februÄris_marts_aprÄ«lis_maijs_jÅ«nijs_jÅ«lijs_augusts_septembris_oktobris_novembris_decembris'.split('_'), 10359 monthsShort : 'jan_feb_mar_apr_mai_jÅ«n_jÅ«l_aug_sep_okt_nov_dec'.split('_'), 10360 weekdays : 'svÄtdiena_pirmdiena_otrdiena_treÅ¡diena_ceturtdiena_piektdiena_sestdiena'.split('_'), 10361 weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'), 10362 weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'), 10363 weekdaysParseExact : true, 10364 longDateFormat : { 10365 LT : 'HH:mm', 10366 LTS : 'HH:mm:ss', 10367 L : 'DD.MM.YYYY.', 10368 LL : 'YYYY. [gada] D. MMMM', 10369 LLL : 'YYYY. [gada] D. MMMM, HH:mm', 10370 LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm' 10371 }, 10372 calendar : { 10373 sameDay : '[Å odien pulksten] LT', 10374 nextDay : '[RÄ«t pulksten] LT', 10375 nextWeek : 'dddd [pulksten] LT', 10376 lastDay : '[Vakar pulksten] LT', 10377 lastWeek : '[PagÄjuÅ¡Ä] dddd [pulksten] LT', 10378 sameElse : 'L' 10379 }, 10380 relativeTime : { 10381 future : 'pÄc %s', 10382 past : 'pirms %s', 10383 s : relativeSeconds, 10384 ss : relativeTimeWithPlural$1, 10385 m : relativeTimeWithSingular, 10386 mm : relativeTimeWithPlural$1, 10387 h : relativeTimeWithSingular, 10388 hh : relativeTimeWithPlural$1, 10389 d : relativeTimeWithSingular, 10390 dd : relativeTimeWithPlural$1, 10391 M : relativeTimeWithSingular, 10392 MM : relativeTimeWithPlural$1, 10393 y : relativeTimeWithSingular, 10394 yy : relativeTimeWithPlural$1 10395 }, 10396 dayOfMonthOrdinalParse: /\d{1,2}\./, 10397 ordinal : '%d.', 10398 week : { 10399 dow : 1, // Monday is the first day of the week. 10400 doy : 4 // The week that contains Jan 4th is the first week of the year. 10401 } 10402 }); 10403 10404 //! moment.js locale configuration 10405 10406 var translator = { 10407 words: { //Different grammatical cases 10408 ss: ['sekund', 'sekunda', 'sekundi'], 10409 m: ['jedan minut', 'jednog minuta'], 10410 mm: ['minut', 'minuta', 'minuta'], 10411 h: ['jedan sat', 'jednog sata'], 10412 hh: ['sat', 'sata', 'sati'], 10413 dd: ['dan', 'dana', 'dana'], 10414 MM: ['mjesec', 'mjeseca', 'mjeseci'], 10415 yy: ['godina', 'godine', 'godina'] 10416 }, 10417 correctGrammaticalCase: function (number, wordKey) { 10418 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); 10419 }, 10420 translate: function (number, withoutSuffix, key) { 10421 var wordKey = translator.words[key]; 10422 if (key.length === 1) { 10423 return withoutSuffix ? wordKey[0] : wordKey[1]; 10424 } else { 10425 return number + ' ' + translator.correctGrammaticalCase(number, wordKey); 10426 } 10427 } 10428 }; 10429 10430 hooks.defineLocale('me', { 10431 months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), 10432 monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), 10433 monthsParseExact : true, 10434 weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_Äetvrtak_petak_subota'.split('_'), 10435 weekdaysShort: 'ned._pon._uto._sri._Äet._pet._sub.'.split('_'), 10436 weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), 10437 weekdaysParseExact : true, 10438 longDateFormat: { 10439 LT: 'H:mm', 10440 LTS : 'H:mm:ss', 10441 L: 'DD.MM.YYYY', 10442 LL: 'D. MMMM YYYY', 10443 LLL: 'D. MMMM YYYY H:mm', 10444 LLLL: 'dddd, D. MMMM YYYY H:mm' 10445 }, 10446 calendar: { 10447 sameDay: '[danas u] LT', 10448 nextDay: '[sjutra u] LT', 10449 10450 nextWeek: function () { 10451 switch (this.day()) { 10452 case 0: 10453 return '[u] [nedjelju] [u] LT'; 10454 case 3: 10455 return '[u] [srijedu] [u] LT'; 10456 case 6: 10457 return '[u] [subotu] [u] LT'; 10458 case 1: 10459 case 2: 10460 case 4: 10461 case 5: 10462 return '[u] dddd [u] LT'; 10463 } 10464 }, 10465 lastDay : '[juÄe u] LT', 10466 lastWeek : function () { 10467 var lastWeekDays = [ 10468 '[proÅ¡le] [nedjelje] [u] LT', 10469 '[proÅ¡log] [ponedjeljka] [u] LT', 10470 '[proÅ¡log] [utorka] [u] LT', 10471 '[proÅ¡le] [srijede] [u] LT', 10472 '[proÅ¡log] [Äetvrtka] [u] LT', 10473 '[proÅ¡log] [petka] [u] LT', 10474 '[proÅ¡le] [subote] [u] LT' 10475 ]; 10476 return lastWeekDays[this.day()]; 10477 }, 10478 sameElse : 'L' 10479 }, 10480 relativeTime : { 10481 future : 'za %s', 10482 past : 'prije %s', 10483 s : 'nekoliko sekundi', 10484 ss : translator.translate, 10485 m : translator.translate, 10486 mm : translator.translate, 10487 h : translator.translate, 10488 hh : translator.translate, 10489 d : 'dan', 10490 dd : translator.translate, 10491 M : 'mjesec', 10492 MM : translator.translate, 10493 y : 'godinu', 10494 yy : translator.translate 10495 }, 10496 dayOfMonthOrdinalParse: /\d{1,2}\./, 10497 ordinal : '%d.', 10498 week : { 10499 dow : 1, // Monday is the first day of the week. 10500 doy : 7 // The week that contains Jan 7th is the first week of the year. 10501 } 10502 }); 10503 10504 //! moment.js locale configuration 10505 10506 hooks.defineLocale('mi', { 10507 months: 'Kohi-tÄte_Hui-tanguru_PoutÅ«-te-rangi_Paenga-whÄwhÄ_Haratua_Pipiri_HÅngoingoi_Here-turi-kÅkÄ_Mahuru_Whiringa-Ä-nuku_Whiringa-Ä-rangi_Hakihea'.split('_'), 10508 monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_HÅngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'), 10509 monthsRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, 10510 monthsStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, 10511 monthsShortRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,3}/i, 10512 monthsShortStrictRegex: /(?:['a-z\u0101\u014D\u016B]+\-?){1,2}/i, 10513 weekdays: 'RÄtapu_Mane_TÅ«rei_Wenerei_TÄite_Paraire_HÄtarei'.split('_'), 10514 weekdaysShort: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), 10515 weekdaysMin: 'Ta_Ma_TÅ«_We_TÄi_Pa_HÄ'.split('_'), 10516 longDateFormat: { 10517 LT: 'HH:mm', 10518 LTS: 'HH:mm:ss', 10519 L: 'DD/MM/YYYY', 10520 LL: 'D MMMM YYYY', 10521 LLL: 'D MMMM YYYY [i] HH:mm', 10522 LLLL: 'dddd, D MMMM YYYY [i] HH:mm' 10523 }, 10524 calendar: { 10525 sameDay: '[i teie mahana, i] LT', 10526 nextDay: '[apopo i] LT', 10527 nextWeek: 'dddd [i] LT', 10528 lastDay: '[inanahi i] LT', 10529 lastWeek: 'dddd [whakamutunga i] LT', 10530 sameElse: 'L' 10531 }, 10532 relativeTime: { 10533 future: 'i roto i %s', 10534 past: '%s i mua', 10535 s: 'te hÄkona ruarua', 10536 ss: '%d hÄkona', 10537 m: 'he meneti', 10538 mm: '%d meneti', 10539 h: 'te haora', 10540 hh: '%d haora', 10541 d: 'he ra', 10542 dd: '%d ra', 10543 M: 'he marama', 10544 MM: '%d marama', 10545 y: 'he tau', 10546 yy: '%d tau' 10547 }, 10548 dayOfMonthOrdinalParse: /\d{1,2}º/, 10549 ordinal: '%dº', 10550 week : { 10551 dow : 1, // Monday is the first day of the week. 10552 doy : 4 // The week that contains Jan 4th is the first week of the year. 10553 } 10554 }); 10555 10556 //! moment.js locale configuration 10557 10558 hooks.defineLocale('mk', { 10559 months : 'ÑанÑаÑи_ÑевÑÑаÑи_маÑÑ_апÑил_маÑ_ÑÑни_ÑÑли_авгÑÑÑ_ÑепÑемвÑи_окÑомвÑи_ноемвÑи_декемвÑи'.split('_'), 10560 monthsShort : 'Ñан_Ñев_маÑ_апÑ_маÑ_ÑÑн_ÑÑл_авг_Ñеп_окÑ_ное_дек'.split('_'), 10561 weekdays : 'недела_понеделник_вÑоÑник_ÑÑеда_ÑеÑвÑÑок_пеÑок_ÑабоÑа'.split('_'), 10562 weekdaysShort : 'нед_пон_вÑо_ÑÑе_ÑеÑ_пеÑ_Ñаб'.split('_'), 10563 weekdaysMin : 'нe_пo_вÑ_ÑÑ_Ñе_пе_Ña'.split('_'), 10564 longDateFormat : { 10565 LT : 'H:mm', 10566 LTS : 'H:mm:ss', 10567 L : 'D.MM.YYYY', 10568 LL : 'D MMMM YYYY', 10569 LLL : 'D MMMM YYYY H:mm', 10570 LLLL : 'dddd, D MMMM YYYY H:mm' 10571 }, 10572 calendar : { 10573 sameDay : '[ÐÐµÐ½ÐµÑ Ð²Ð¾] LT', 10574 nextDay : '[УÑÑе во] LT', 10575 nextWeek : '[Ðо] dddd [во] LT', 10576 lastDay : '[ÐÑеÑа во] LT', 10577 lastWeek : function () { 10578 switch (this.day()) { 10579 case 0: 10580 case 3: 10581 case 6: 10582 return '[ÐзминаÑаÑа] dddd [во] LT'; 10583 case 1: 10584 case 2: 10585 case 4: 10586 case 5: 10587 return '[ÐзминаÑиоÑ] dddd [во] LT'; 10588 } 10589 }, 10590 sameElse : 'L' 10591 }, 10592 relativeTime : { 10593 future : 'поÑле %s', 10594 past : 'пÑед %s', 10595 s : 'Ð½ÐµÐºÐ¾Ð»ÐºÑ ÑекÑнди', 10596 ss : '%d ÑекÑнди', 10597 m : 'минÑÑа', 10598 mm : '%d минÑÑи', 10599 h : 'ÑаÑ', 10600 hh : '%d ÑаÑа', 10601 d : 'ден', 10602 dd : '%d дена', 10603 M : 'меÑеÑ', 10604 MM : '%d меÑеÑи', 10605 y : 'година', 10606 yy : '%d години' 10607 }, 10608 dayOfMonthOrdinalParse: /\d{1,2}-(ев|ен|Ñи|ви|Ñи|ми)/, 10609 ordinal : function (number) { 10610 var lastDigit = number % 10, 10611 last2Digits = number % 100; 10612 if (number === 0) { 10613 return number + '-ев'; 10614 } else if (last2Digits === 0) { 10615 return number + '-ен'; 10616 } else if (last2Digits > 10 && last2Digits < 20) { 10617 return number + '-Ñи'; 10618 } else if (lastDigit === 1) { 10619 return number + '-ви'; 10620 } else if (lastDigit === 2) { 10621 return number + '-Ñи'; 10622 } else if (lastDigit === 7 || lastDigit === 8) { 10623 return number + '-ми'; 10624 } else { 10625 return number + '-Ñи'; 10626 } 10627 }, 10628 week : { 10629 dow : 1, // Monday is the first day of the week. 10630 doy : 7 // The week that contains Jan 7th is the first week of the year. 10631 } 10632 }); 10633 10634 //! moment.js locale configuration 10635 10636 hooks.defineLocale('ml', { 10637 months : 'à´à´¨àµà´µà´°à´¿_à´«àµà´¬àµà´°àµà´µà´°à´¿_മാർà´àµà´àµ_à´à´ªàµà´°à´¿àµ½_à´®àµà´¯àµ_à´àµàµº_à´àµà´²àµ_à´à´à´¸àµà´±àµà´±àµ_à´¸àµà´ªàµà´±àµà´±à´à´¬àµ¼_à´à´àµà´àµà´¬àµ¼_നവà´à´¬àµ¼_à´¡à´¿à´¸à´à´¬àµ¼'.split('_'), 10638 monthsShort : 'à´à´¨àµ._à´«àµà´¬àµà´°àµ._മാർ._à´à´ªàµà´°à´¿._à´®àµà´¯àµ_à´àµàµº_à´àµà´²àµ._à´à´._à´¸àµà´ªàµà´±àµà´±._à´à´àµà´àµ._നവà´._à´¡à´¿à´¸à´.'.split('_'), 10639 monthsParseExact : true, 10640 weekdays : 'à´à´¾à´¯à´±à´¾à´´àµà´_തിà´àµà´à´³à´¾à´´àµà´_à´àµà´µàµà´µà´¾à´´àµà´_à´¬àµà´§à´¨à´¾à´´àµà´_à´µàµà´¯à´¾à´´à´¾à´´àµà´_à´µàµà´³àµà´³à´¿à´¯à´¾à´´àµà´_ശനിയാഴàµà´'.split('_'), 10641 weekdaysShort : 'à´à´¾à´¯àµ¼_തിà´àµà´àµ¾_à´àµà´µàµà´µ_à´¬àµà´§àµ»_à´µàµà´¯à´¾à´´à´_à´µàµà´³àµà´³à´¿_ശനി'.split('_'), 10642 weekdaysMin : 'à´à´¾_തി_à´àµ_à´¬àµ_à´µàµà´¯à´¾_à´µàµ_à´¶'.split('_'), 10643 longDateFormat : { 10644 LT : 'A h:mm -à´¨àµ', 10645 LTS : 'A h:mm:ss -à´¨àµ', 10646 L : 'DD/MM/YYYY', 10647 LL : 'D MMMM YYYY', 10648 LLL : 'D MMMM YYYY, A h:mm -à´¨àµ', 10649 LLLL : 'dddd, D MMMM YYYY, A h:mm -à´¨àµ' 10650 }, 10651 calendar : { 10652 sameDay : '[à´à´¨àµà´¨àµ] LT', 10653 nextDay : '[നാളàµ] LT', 10654 nextWeek : 'dddd, LT', 10655 lastDay : '[à´à´¨àµà´¨à´²àµ] LT', 10656 lastWeek : '[à´à´´à´¿à´àµà´] dddd, LT', 10657 sameElse : 'L' 10658 }, 10659 relativeTime : { 10660 future : '%s à´à´´à´¿à´àµà´àµ', 10661 past : '%s à´®àµàµ»à´ªàµ', 10662 s : 'ഠൽപ നിമിഷà´àµà´àµ¾', 10663 ss : '%d à´¸àµà´àµà´àµ»à´¡àµ', 10664 m : 'à´à´°àµ മിനിറàµà´±àµ', 10665 mm : '%d മിനിറàµà´±àµ', 10666 h : 'à´à´°àµ മണിà´àµà´àµàµ¼', 10667 hh : '%d മണിà´àµà´àµàµ¼', 10668 d : 'à´à´°àµ ദിവസà´', 10669 dd : '%d ദിവസà´', 10670 M : 'à´à´°àµ മാസà´', 10671 MM : '%d മാസà´', 10672 y : 'à´à´°àµ വർഷà´', 10673 yy : '%d വർഷà´' 10674 }, 10675 meridiemParse: /രാതàµà´°à´¿|രാവിലàµ|à´à´àµà´ à´à´´à´¿à´àµà´àµ|à´µàµà´àµà´¨àµà´¨àµà´°à´|രാതàµà´°à´¿/i, 10676 meridiemHour : function (hour, meridiem) { 10677 if (hour === 12) { 10678 hour = 0; 10679 } 10680 if ((meridiem === 'രാതàµà´°à´¿' && hour >= 4) || 10681 meridiem === 'à´à´àµà´ à´à´´à´¿à´àµà´àµ' || 10682 meridiem === 'à´µàµà´àµà´¨àµà´¨àµà´°à´') { 10683 return hour + 12; 10684 } else { 10685 return hour; 10686 } 10687 }, 10688 meridiem : function (hour, minute, isLower) { 10689 if (hour < 4) { 10690 return 'രാതàµà´°à´¿'; 10691 } else if (hour < 12) { 10692 return 'രാവിലàµ'; 10693 } else if (hour < 17) { 10694 return 'à´à´àµà´ à´à´´à´¿à´àµà´àµ'; 10695 } else if (hour < 20) { 10696 return 'à´µàµà´àµà´¨àµà´¨àµà´°à´'; 10697 } else { 10698 return 'രാതàµà´°à´¿'; 10699 } 10700 } 10701 }); 10702 10703 //! moment.js locale configuration 10704 10705 function translate$7(number, withoutSuffix, key, isFuture) { 10706 switch (key) { 10707 case 's': 10708 return withoutSuffix ? 'Ñ ÑÐ´Ñ Ñн ÑекÑнд' : 'Ñ ÑÐ´Ñ Ñн ÑекÑндÑн'; 10709 case 'ss': 10710 return number + (withoutSuffix ? ' ÑекÑнд' : ' ÑекÑндÑн'); 10711 case 'm': 10712 case 'mm': 10713 return number + (withoutSuffix ? ' минÑÑ' : ' минÑÑÑн'); 10714 case 'h': 10715 case 'hh': 10716 return number + (withoutSuffix ? ' Ñаг' : ' Ñагийн'); 10717 case 'd': 10718 case 'dd': 10719 return number + (withoutSuffix ? ' өдөÑ' : ' өдÑийн'); 10720 case 'M': 10721 case 'MM': 10722 return number + (withoutSuffix ? ' ÑаÑ' : ' ÑаÑÑн'); 10723 case 'y': 10724 case 'yy': 10725 return number + (withoutSuffix ? ' жил' : ' жилийн'); 10726 default: 10727 return number; 10728 } 10729 } 10730 10731 hooks.defineLocale('mn', { 10732 months : 'ÐÑгдүгÑÑÑ ÑаÑ_ХоÑÑдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÑÑавдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÓ©ÑөвдүгÑÑÑ ÑаÑ_ТавдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÑÑгадÑÐ³Ð°Ð°Ñ ÑаÑ_ÐолдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐаймдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÑдүгÑÑÑ ÑаÑ_ÐÑавдÑÐ³Ð°Ð°Ñ ÑаÑ_ÐÑван нÑгдүгÑÑÑ ÑаÑ_ÐÑван Ñ Ð¾ÑÑдÑÐ³Ð°Ð°Ñ ÑаÑ'.split('_'), 10733 monthsShort : '1 ÑаÑ_2 ÑаÑ_3 ÑаÑ_4 ÑаÑ_5 ÑаÑ_6 ÑаÑ_7 ÑаÑ_8 ÑаÑ_9 ÑаÑ_10 ÑаÑ_11 ÑаÑ_12 ÑаÑ'.split('_'), 10734 monthsParseExact : true, 10735 weekdays : 'ÐÑм_Ðаваа_ÐÑгмаÑ_ÐÑ Ð°Ð³Ð²Ð°_ÐÒ¯ÑÑв_ÐааÑан_ÐÑмба'.split('_'), 10736 weekdaysShort : 'ÐÑм_Ðав_ÐÑг_ÐÑ Ð°_ÐÒ¯Ñ_Ðаа_ÐÑм'.split('_'), 10737 weekdaysMin : 'ÐÑ_Ðа_ÐÑ_ÐÑ _ÐÒ¯_Ðа_ÐÑ'.split('_'), 10738 weekdaysParseExact : true, 10739 longDateFormat : { 10740 LT : 'HH:mm', 10741 LTS : 'HH:mm:ss', 10742 L : 'YYYY-MM-DD', 10743 LL : 'YYYY Ð¾Ð½Ñ MMMMÑн D', 10744 LLL : 'YYYY Ð¾Ð½Ñ MMMMÑн D HH:mm', 10745 LLLL : 'dddd, YYYY Ð¾Ð½Ñ MMMMÑн D HH:mm' 10746 }, 10747 meridiemParse: /Ò®Ó¨|ҮХ/i, 10748 isPM : function (input) { 10749 return input === 'ҮХ'; 10750 }, 10751 meridiem : function (hour, minute, isLower) { 10752 if (hour < 12) { 10753 return 'Ò®Ó¨'; 10754 } else { 10755 return 'ҮХ'; 10756 } 10757 }, 10758 calendar : { 10759 sameDay : '[ӨнөөдөÑ] LT', 10760 nextDay : '[ÐаÑгааÑ] LT', 10761 nextWeek : '[ÐÑÑÑ ] dddd LT', 10762 lastDay : '[Ó¨ÑигдөÑ] LT', 10763 lastWeek : '[ӨнгөÑÑөн] dddd LT', 10764 sameElse : 'L' 10765 }, 10766 relativeTime : { 10767 future : '%s даÑаа', 10768 past : '%s өмнө', 10769 s : translate$7, 10770 ss : translate$7, 10771 m : translate$7, 10772 mm : translate$7, 10773 h : translate$7, 10774 hh : translate$7, 10775 d : translate$7, 10776 dd : translate$7, 10777 M : translate$7, 10778 MM : translate$7, 10779 y : translate$7, 10780 yy : translate$7 10781 }, 10782 dayOfMonthOrdinalParse: /\d{1,2} өдөÑ/, 10783 ordinal : function (number, period) { 10784 switch (period) { 10785 case 'd': 10786 case 'D': 10787 case 'DDD': 10788 return number + ' өдөÑ'; 10789 default: 10790 return number; 10791 } 10792 } 10793 }); 10794 10795 //! moment.js locale configuration 10796 10797 var symbolMap$b = { 10798 '1': '१', 10799 '2': '२', 10800 '3': '३', 10801 '4': '४', 10802 '5': '५', 10803 '6': '६', 10804 '7': 'à¥', 10805 '8': '८', 10806 '9': '९', 10807 '0': '०' 10808 }, 10809 numberMap$a = { 10810 '१': '1', 10811 '२': '2', 10812 '३': '3', 10813 '४': '4', 10814 '५': '5', 10815 '६': '6', 10816 'à¥': '7', 10817 '८': '8', 10818 '९': '9', 10819 '०': '0' 10820 }; 10821 10822 function relativeTimeMr(number, withoutSuffix, string, isFuture) 10823 { 10824 var output = ''; 10825 if (withoutSuffix) { 10826 switch (string) { 10827 case 's': output = 'à¤à¤¾à¤¹à¥ सà¥à¤à¤à¤¦'; break; 10828 case 'ss': output = '%d सà¥à¤à¤à¤¦'; break; 10829 case 'm': output = 'à¤à¤ मिनिà¤'; break; 10830 case 'mm': output = '%d मिनिà¤à¥'; break; 10831 case 'h': output = 'à¤à¤ तास'; break; 10832 case 'hh': output = '%d तास'; break; 10833 case 'd': output = 'à¤à¤ दिवस'; break; 10834 case 'dd': output = '%d दिवस'; break; 10835 case 'M': output = 'à¤à¤ महिना'; break; 10836 case 'MM': output = '%d महिनà¥'; break; 10837 case 'y': output = 'à¤à¤ वरà¥à¤·'; break; 10838 case 'yy': output = '%d वरà¥à¤·à¥'; break; 10839 } 10840 } 10841 else { 10842 switch (string) { 10843 case 's': output = 'à¤à¤¾à¤¹à¥ सà¥à¤à¤à¤¦à¤¾à¤'; break; 10844 case 'ss': output = '%d सà¥à¤à¤à¤¦à¤¾à¤'; break; 10845 case 'm': output = 'à¤à¤à¤¾ मिनिà¤à¤¾'; break; 10846 case 'mm': output = '%d मिनिà¤à¤¾à¤'; break; 10847 case 'h': output = 'à¤à¤à¤¾ तासा'; break; 10848 case 'hh': output = '%d तासाà¤'; break; 10849 case 'd': output = 'à¤à¤à¤¾ दिवसा'; break; 10850 case 'dd': output = '%d दिवसाà¤'; break; 10851 case 'M': output = 'à¤à¤à¤¾ महिनà¥à¤¯à¤¾'; break; 10852 case 'MM': output = '%d महिनà¥à¤¯à¤¾à¤'; break; 10853 case 'y': output = 'à¤à¤à¤¾ वरà¥à¤·à¤¾'; break; 10854 case 'yy': output = '%d वरà¥à¤·à¤¾à¤'; break; 10855 } 10856 } 10857 return output.replace(/%d/i, number); 10858 } 10859 10860 hooks.defineLocale('mr', { 10861 months : 'à¤à¤¾à¤¨à¥à¤µà¤¾à¤°à¥_फà¥à¤¬à¥à¤°à¥à¤µà¤¾à¤°à¥_मारà¥à¤_à¤à¤ªà¥à¤°à¤¿à¤²_मà¥_à¤à¥à¤¨_à¤à¥à¤²à¥_à¤à¤à¤¸à¥à¤_सपà¥à¤à¥à¤à¤¬à¤°_à¤à¤à¥à¤à¥à¤¬à¤°_नà¥à¤µà¥à¤¹à¥à¤à¤¬à¤°_डिसà¥à¤à¤¬à¤°'.split('_'), 10862 monthsShort: 'à¤à¤¾à¤¨à¥._फà¥à¤¬à¥à¤°à¥._मारà¥à¤._à¤à¤ªà¥à¤°à¤¿._मà¥._à¤à¥à¤¨._à¤à¥à¤²à¥._à¤à¤._सपà¥à¤à¥à¤._à¤à¤à¥à¤à¥._नà¥à¤µà¥à¤¹à¥à¤._डिसà¥à¤.'.split('_'), 10863 monthsParseExact : true, 10864 weekdays : 'रविवार_सà¥à¤®à¤µà¤¾à¤°_मà¤à¤à¤³à¤µà¤¾à¤°_बà¥à¤§à¤µà¤¾à¤°_à¤à¥à¤°à¥à¤µà¤¾à¤°_शà¥à¤à¥à¤°à¤µà¤¾à¤°_शनिवार'.split('_'), 10865 weekdaysShort : 'रवि_सà¥à¤®_मà¤à¤à¤³_बà¥à¤§_à¤à¥à¤°à¥_शà¥à¤à¥à¤°_शनि'.split('_'), 10866 weekdaysMin : 'र_सà¥_मà¤_बà¥_à¤à¥_शà¥_श'.split('_'), 10867 longDateFormat : { 10868 LT : 'A h:mm वाà¤à¤¤à¤¾', 10869 LTS : 'A h:mm:ss वाà¤à¤¤à¤¾', 10870 L : 'DD/MM/YYYY', 10871 LL : 'D MMMM YYYY', 10872 LLL : 'D MMMM YYYY, A h:mm वाà¤à¤¤à¤¾', 10873 LLLL : 'dddd, D MMMM YYYY, A h:mm वाà¤à¤¤à¤¾' 10874 }, 10875 calendar : { 10876 sameDay : '[à¤à¤] LT', 10877 nextDay : '[à¤à¤¦à¥à¤¯à¤¾] LT', 10878 nextWeek : 'dddd, LT', 10879 lastDay : '[à¤à¤¾à¤²] LT', 10880 lastWeek: '[माà¤à¥à¤²] dddd, LT', 10881 sameElse : 'L' 10882 }, 10883 relativeTime : { 10884 future: '%sमधà¥à¤¯à¥', 10885 past: '%sपà¥à¤°à¥à¤µà¥', 10886 s: relativeTimeMr, 10887 ss: relativeTimeMr, 10888 m: relativeTimeMr, 10889 mm: relativeTimeMr, 10890 h: relativeTimeMr, 10891 hh: relativeTimeMr, 10892 d: relativeTimeMr, 10893 dd: relativeTimeMr, 10894 M: relativeTimeMr, 10895 MM: relativeTimeMr, 10896 y: relativeTimeMr, 10897 yy: relativeTimeMr 10898 }, 10899 preparse: function (string) { 10900 return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { 10901 return numberMap$a[match]; 10902 }); 10903 }, 10904 postformat: function (string) { 10905 return string.replace(/\d/g, function (match) { 10906 return symbolMap$b[match]; 10907 }); 10908 }, 10909 meridiemParse: /रातà¥à¤°à¥|सà¤à¤¾à¤³à¥|दà¥à¤ªà¤¾à¤°à¥|सायà¤à¤à¤¾à¤³à¥/, 10910 meridiemHour : function (hour, meridiem) { 10911 if (hour === 12) { 10912 hour = 0; 10913 } 10914 if (meridiem === 'रातà¥à¤°à¥') { 10915 return hour < 4 ? hour : hour + 12; 10916 } else if (meridiem === 'सà¤à¤¾à¤³à¥') { 10917 return hour; 10918 } else if (meridiem === 'दà¥à¤ªà¤¾à¤°à¥') { 10919 return hour >= 10 ? hour : hour + 12; 10920 } else if (meridiem === 'सायà¤à¤à¤¾à¤³à¥') { 10921 return hour + 12; 10922 } 10923 }, 10924 meridiem: function (hour, minute, isLower) { 10925 if (hour < 4) { 10926 return 'रातà¥à¤°à¥'; 10927 } else if (hour < 10) { 10928 return 'सà¤à¤¾à¤³à¥'; 10929 } else if (hour < 17) { 10930 return 'दà¥à¤ªà¤¾à¤°à¥'; 10931 } else if (hour < 20) { 10932 return 'सायà¤à¤à¤¾à¤³à¥'; 10933 } else { 10934 return 'रातà¥à¤°à¥'; 10935 } 10936 }, 10937 week : { 10938 dow : 0, // Sunday is the first day of the week. 10939 doy : 6 // The week that contains Jan 6th is the first week of the year. 10940 } 10941 }); 10942 10943 //! moment.js locale configuration 10944 10945 hooks.defineLocale('ms-my', { 10946 months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), 10947 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), 10948 weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), 10949 weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), 10950 weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), 10951 longDateFormat : { 10952 LT : 'HH.mm', 10953 LTS : 'HH.mm.ss', 10954 L : 'DD/MM/YYYY', 10955 LL : 'D MMMM YYYY', 10956 LLL : 'D MMMM YYYY [pukul] HH.mm', 10957 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' 10958 }, 10959 meridiemParse: /pagi|tengahari|petang|malam/, 10960 meridiemHour: function (hour, meridiem) { 10961 if (hour === 12) { 10962 hour = 0; 10963 } 10964 if (meridiem === 'pagi') { 10965 return hour; 10966 } else if (meridiem === 'tengahari') { 10967 return hour >= 11 ? hour : hour + 12; 10968 } else if (meridiem === 'petang' || meridiem === 'malam') { 10969 return hour + 12; 10970 } 10971 }, 10972 meridiem : function (hours, minutes, isLower) { 10973 if (hours < 11) { 10974 return 'pagi'; 10975 } else if (hours < 15) { 10976 return 'tengahari'; 10977 } else if (hours < 19) { 10978 return 'petang'; 10979 } else { 10980 return 'malam'; 10981 } 10982 }, 10983 calendar : { 10984 sameDay : '[Hari ini pukul] LT', 10985 nextDay : '[Esok pukul] LT', 10986 nextWeek : 'dddd [pukul] LT', 10987 lastDay : '[Kelmarin pukul] LT', 10988 lastWeek : 'dddd [lepas pukul] LT', 10989 sameElse : 'L' 10990 }, 10991 relativeTime : { 10992 future : 'dalam %s', 10993 past : '%s yang lepas', 10994 s : 'beberapa saat', 10995 ss : '%d saat', 10996 m : 'seminit', 10997 mm : '%d minit', 10998 h : 'sejam', 10999 hh : '%d jam', 11000 d : 'sehari', 11001 dd : '%d hari', 11002 M : 'sebulan', 11003 MM : '%d bulan', 11004 y : 'setahun', 11005 yy : '%d tahun' 11006 }, 11007 week : { 11008 dow : 1, // Monday is the first day of the week. 11009 doy : 7 // The week that contains Jan 7th is the first week of the year. 11010 } 11011 }); 11012 11013 //! moment.js locale configuration 11014 11015 hooks.defineLocale('ms', { 11016 months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'), 11017 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'), 11018 weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'), 11019 weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'), 11020 weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'), 11021 longDateFormat : { 11022 LT : 'HH.mm', 11023 LTS : 'HH.mm.ss', 11024 L : 'DD/MM/YYYY', 11025 LL : 'D MMMM YYYY', 11026 LLL : 'D MMMM YYYY [pukul] HH.mm', 11027 LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm' 11028 }, 11029 meridiemParse: /pagi|tengahari|petang|malam/, 11030 meridiemHour: function (hour, meridiem) { 11031 if (hour === 12) { 11032 hour = 0; 11033 } 11034 if (meridiem === 'pagi') { 11035 return hour; 11036 } else if (meridiem === 'tengahari') { 11037 return hour >= 11 ? hour : hour + 12; 11038 } else if (meridiem === 'petang' || meridiem === 'malam') { 11039 return hour + 12; 11040 } 11041 }, 11042 meridiem : function (hours, minutes, isLower) { 11043 if (hours < 11) { 11044 return 'pagi'; 11045 } else if (hours < 15) { 11046 return 'tengahari'; 11047 } else if (hours < 19) { 11048 return 'petang'; 11049 } else { 11050 return 'malam'; 11051 } 11052 }, 11053 calendar : { 11054 sameDay : '[Hari ini pukul] LT', 11055 nextDay : '[Esok pukul] LT', 11056 nextWeek : 'dddd [pukul] LT', 11057 lastDay : '[Kelmarin pukul] LT', 11058 lastWeek : 'dddd [lepas pukul] LT', 11059 sameElse : 'L' 11060 }, 11061 relativeTime : { 11062 future : 'dalam %s', 11063 past : '%s yang lepas', 11064 s : 'beberapa saat', 11065 ss : '%d saat', 11066 m : 'seminit', 11067 mm : '%d minit', 11068 h : 'sejam', 11069 hh : '%d jam', 11070 d : 'sehari', 11071 dd : '%d hari', 11072 M : 'sebulan', 11073 MM : '%d bulan',
11074 y : 'setahun', 11075 yy : '%d tahun' 11076 }, 11077 week : { 11078 dow : 1, // Monday is the first day of the week. 11079 doy : 7 // The week that contains Jan 7th is the first week of the year. 11080 } 11081 }); 11082 11083 //! moment.js locale configuration 11084 11085 hooks.defineLocale('mt', { 11086 months : 'Jannar_Frar_Marzu_April_Mejju_Ä unju_Lulju_Awwissu_Settembru_Ottubru_Novembru_DiÄembru'.split('_'), 11087 monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ä un_Lul_Aww_Set_Ott_Nov_DiÄ'.split('_'), 11088 weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ä imgħa_Is-Sibt'.split('_'), 11089 weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ä im_Sib'.split('_'), 11090 weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ä i_Si'.split('_'), 11091 longDateFormat : { 11092 LT : 'HH:mm', 11093 LTS : 'HH:mm:ss', 11094 L : 'DD/MM/YYYY', 11095 LL : 'D MMMM YYYY', 11096 LLL : 'D MMMM YYYY HH:mm', 11097 LLLL : 'dddd, D MMMM YYYY HH:mm' 11098 }, 11099 calendar : { 11100 sameDay : '[Illum fil-]LT', 11101 nextDay : '[Għada fil-]LT', 11102 nextWeek : 'dddd [fil-]LT', 11103 lastDay : '[Il-bieraħ fil-]LT', 11104 lastWeek : 'dddd [li għadda] [fil-]LT', 11105 sameElse : 'L' 11106 }, 11107 relativeTime : { 11108 future : 'fâ %s', 11109 past : '%s ilu', 11110 s : 'ftit sekondi', 11111 ss : '%d sekondi', 11112 m : 'minuta', 11113 mm : '%d minuti', 11114 h : 'siegħa', 11115 hh : '%d siegħat', 11116 d : 'Ä¡urnata', 11117 dd : '%d Ä¡ranet', 11118 M : 'xahar', 11119 MM : '%d xhur', 11120 y : 'sena', 11121 yy : '%d sni' 11122 }, 11123 dayOfMonthOrdinalParse : /\d{1,2}º/, 11124 ordinal: '%dº', 11125 week : { 11126 dow : 1, // Monday is the first day of the week. 11127 doy : 4 // The week that contains Jan 4th is the first week of the year. 11128 } 11129 }); 11130 11131 //! moment.js locale configuration 11132 11133 var symbolMap$c = { 11134 '1': 'á', 11135 '2': 'á', 11136 '3': 'á', 11137 '4': 'á', 11138 '5': 'á ', 11139 '6': 'á', 11140 '7': 'á', 11141 '8': 'á', 11142 '9': 'á', 11143 '0': 'á' 11144 }, numberMap$b = { 11145 'á': '1', 11146 'á': '2', 11147 'á': '3', 11148 'á': '4', 11149 'á ': '5', 11150 'á': '6', 11151 'á': '7', 11152 'á': '8', 11153 'á': '9', 11154 'á': '0' 11155 }; 11156 11157 hooks.defineLocale('my', { 11158 months: 'áááºááá«áá®_áá±áá±á¬áºáá«áá®_áááº_á§áá¼á®_áá±_áá½ááº_áá°ááá¯ááº_áá¼áá¯ááº_á ááºáááºáá¬_á¡á±á¬ááºááá¯áá¬_ááá¯áááºáá¬_áá®áááºáá¬'.split('_'), 11159 monthsShort: 'áááº_áá±_áááº_áá¼á®_áá±_áá½ááº_ááá¯ááº_áá¼_á ááº_á¡á±á¬ááº_ááá¯_áá®'.split('_'), 11160 weekdays: 'ááááºá¹ááá½á±_ááááºá¹áá¬_á¡ááºá¹áá«_áá¯áá¹ááá°á¸_áá¼á¬áááá±á¸_áá±á¬áá¼á¬_á áá±'.split('_'), 11161 weekdaysShort: 'áá½á±_áá¬_áá«_áá°á¸_áá¼á¬_áá±á¬_áá±'.split('_'), 11162 weekdaysMin: 'áá½á±_áá¬_áá«_áá°á¸_áá¼á¬_áá±á¬_áá±'.split('_'), 11163 11164 longDateFormat: { 11165 LT: 'HH:mm', 11166 LTS: 'HH:mm:ss', 11167 L: 'DD/MM/YYYY', 11168 LL: 'D MMMM YYYY', 11169 LLL: 'D MMMM YYYY HH:mm', 11170 LLLL: 'dddd D MMMM YYYY HH:mm' 11171 }, 11172 calendar: { 11173 sameDay: '[ááá±.] LT [áá¾á¬]', 11174 nextDay: '[ááááºáá¼ááº] LT [áá¾á¬]', 11175 nextWeek: 'dddd LT [áá¾á¬]', 11176 lastDay: '[ááá±.á] LT [áá¾á¬]', 11177 lastWeek: '[áá¼á®á¸áá²á·áá±á¬] dddd LT [áá¾á¬]', 11178 sameElse: 'L' 11179 }, 11180 relativeTime: { 11181 future: 'áá¬áááºá· %s áá¾á¬', 11182 past: 'áá½ááºáá²á·áá±á¬ %s á', 11183 s: 'á áá¹áááº.á¡áááºá¸áááº', 11184 ss : '%d á áá¹ááá·áº', 11185 m: 'áá áºáááá áº', 11186 mm: '%d áááá áº', 11187 h: 'áá áºáá¬áá®', 11188 hh: '%d áá¬áá®', 11189 d: 'áá áºáááº', 11190 dd: '%d áááº', 11191 M: 'áá áºá', 11192 MM: '%d á', 11193 y: 'áá áºáá¾á áº', 11194 yy: '%d áá¾á áº' 11195 }, 11196 preparse: function (string) { 11197 return string.replace(/[ááááá ááááá]/g, function (match) { 11198 return numberMap$b[match]; 11199 }); 11200 }, 11201 postformat: function (string) { 11202 return string.replace(/\d/g, function (match) { 11203 return symbolMap$c[match]; 11204 }); 11205 }, 11206 week: { 11207 dow: 1, // Monday is the first day of the week. 11208 doy: 4 // The week that contains Jan 4th is the first week of the year. 11209 } 11210 }); 11211 11212 //! moment.js locale configuration 11213 11214 hooks.defineLocale('nb', { 11215 months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), 11216 monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'), 11217 monthsParseExact : true, 11218 weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'), 11219 weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'), 11220 weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'), 11221 weekdaysParseExact : true, 11222 longDateFormat : { 11223 LT : 'HH:mm', 11224 LTS : 'HH:mm:ss', 11225 L : 'DD.MM.YYYY', 11226 LL : 'D. MMMM YYYY', 11227 LLL : 'D. MMMM YYYY [kl.] HH:mm', 11228 LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm' 11229 }, 11230 calendar : { 11231 sameDay: '[i dag kl.] LT', 11232 nextDay: '[i morgen kl.] LT', 11233 nextWeek: 'dddd [kl.] LT', 11234 lastDay: '[i gÃ¥r kl.] LT', 11235 lastWeek: '[forrige] dddd [kl.] LT', 11236 sameElse: 'L' 11237 }, 11238 relativeTime : { 11239 future : 'om %s', 11240 past : '%s siden', 11241 s : 'noen sekunder', 11242 ss : '%d sekunder', 11243 m : 'ett minutt', 11244 mm : '%d minutter', 11245 h : 'en time', 11246 hh : '%d timer', 11247 d : 'en dag', 11248 dd : '%d dager', 11249 M : 'en mÃ¥ned', 11250 MM : '%d mÃ¥neder', 11251 y : 'ett Ã¥r', 11252 yy : '%d Ã¥r' 11253 }, 11254 dayOfMonthOrdinalParse: /\d{1,2}\./, 11255 ordinal : '%d.', 11256 week : { 11257 dow : 1, // Monday is the first day of the week. 11258 doy : 4 // The week that contains Jan 4th is the first week of the year. 11259 } 11260 }); 11261 11262 //! moment.js locale configuration 11263 11264 var symbolMap$d = { 11265 '1': '१', 11266 '2': '२', 11267 '3': '३', 11268 '4': '४', 11269 '5': '५', 11270 '6': '६', 11271 '7': 'à¥', 11272 '8': '८', 11273 '9': '९', 11274 '0': '०' 11275 }, 11276 numberMap$c = { 11277 '१': '1', 11278 '२': '2', 11279 '३': '3', 11280 '४': '4', 11281 '५': '5', 11282 '६': '6', 11283 'à¥': '7', 11284 '८': '8', 11285 '९': '9', 11286 '०': '0' 11287 }; 11288 11289 hooks.defineLocale('ne', { 11290 months : 'à¤à¤¨à¤µà¤°à¥_फà¥à¤¬à¥à¤°à¥à¤µà¤°à¥_मारà¥à¤_ठपà¥à¤°à¤¿à¤²_मà¤_à¤à¥à¤¨_à¤à¥à¤²à¤¾à¤_ठà¤à¤·à¥à¤_सà¥à¤ªà¥à¤à¥à¤®à¥à¤¬à¤°_ठà¤à¥à¤à¥à¤¬à¤°_नà¥à¤à¥à¤®à¥à¤¬à¤°_डिसà¥à¤®à¥à¤¬à¤°'.split('_'), 11291 monthsShort : 'à¤à¤¨._फà¥à¤¬à¥à¤°à¥._मारà¥à¤_ठपà¥à¤°à¤¿._मà¤_à¤à¥à¤¨_à¤à¥à¤²à¤¾à¤._ठà¤._सà¥à¤ªà¥à¤._ठà¤à¥à¤à¥._नà¥à¤à¥._डिसà¥.'.split('_'), 11292 monthsParseExact : true, 11293 weekdays : 'à¤à¤à¤¤à¤¬à¤¾à¤°_सà¥à¤®à¤¬à¤¾à¤°_मà¤à¥à¤à¤²à¤¬à¤¾à¤°_बà¥à¤§à¤¬à¤¾à¤°_बिहिबार_शà¥à¤à¥à¤°à¤¬à¤¾à¤°_शनिबार'.split('_'), 11294 weekdaysShort : 'à¤à¤à¤¤._सà¥à¤®._मà¤à¥à¤à¤²._बà¥à¤§._बिहि._शà¥à¤à¥à¤°._शनि.'.split('_'), 11295 weekdaysMin : 'à¤._सà¥._मà¤._बà¥._बि._शà¥._श.'.split('_'), 11296 weekdaysParseExact : true, 11297 longDateFormat : { 11298 LT : 'Aà¤à¥ h:mm बà¤à¥', 11299 LTS : 'Aà¤à¥ h:mm:ss बà¤à¥', 11300 L : 'DD/MM/YYYY', 11301 LL : 'D MMMM YYYY', 11302 LLL : 'D MMMM YYYY, Aà¤à¥ h:mm बà¤à¥', 11303 LLLL : 'dddd, D MMMM YYYY, Aà¤à¥ h:mm बà¤à¥' 11304 }, 11305 preparse: function (string) { 11306 return string.replace(/[१२३४५६à¥à¥®à¥¯à¥¦]/g, function (match) { 11307 return numberMap$c[match]; 11308 }); 11309 }, 11310 postformat: function (string) { 11311 return string.replace(/\d/g, function (match) { 11312 return symbolMap$d[match]; 11313 }); 11314 },
vendor: 97,709 bytes, lines 11315-13796
11315 meridiemParse: /राति|बिहान|दिà¤à¤à¤¸à¥|साà¤à¤/, 11316 meridiemHour : function (hour, meridiem) { 11317 if (hour === 12) { 11318 hour = 0; 11319 } 11320 if (meridiem === 'राति') { 11321 return hour < 4 ? hour : hour + 12; 11322 } else if (meridiem === 'बिहान') { 11323 return hour; 11324 } else if (meridiem === 'दिà¤à¤à¤¸à¥') { 11325 return hour >= 10 ? hour : hour + 12; 11326 } else if (meridiem === 'साà¤à¤') { 11327 return hour + 12; 11328 } 11329 }, 11330 meridiem : function (hour, minute, isLower) { 11331 if (hour < 3) { 11332 return 'राति'; 11333 } else if (hour < 12) { 11334 return 'बिहान'; 11335 } else if (hour < 16) { 11336 return 'दिà¤à¤à¤¸à¥'; 11337 } else if (hour < 20) { 11338 return 'साà¤à¤'; 11339 } else { 11340 return 'राति'; 11341 } 11342 }, 11343 calendar : { 11344 sameDay : '[à¤à¤] LT', 11345 nextDay : '[à¤à¥à¤²à¤¿] LT', 11346 nextWeek : '[à¤à¤à¤à¤¦à¥] dddd[,] LT', 11347 lastDay : '[हिà¤à¥] LT', 11348 lastWeek : '[à¤à¤à¤à¥] dddd[,] LT', 11349 sameElse : 'L' 11350 }, 11351 relativeTime : { 11352 future : '%sमा', 11353 past : '%s ठà¤à¤¾à¤¡à¤¿', 11354 s : 'à¤à¥à¤¹à¥ à¤à¥à¤·à¤£', 11355 ss : '%d सà¥à¤à¥à¤£à¥à¤¡', 11356 m : 'à¤à¤ मिनà¥à¤', 11357 mm : '%d मिनà¥à¤', 11358 h : 'à¤à¤ à¤à¤£à¥à¤à¤¾', 11359 hh : '%d à¤à¤£à¥à¤à¤¾', 11360 d : 'à¤à¤ दिन', 11361 dd : '%d दिन', 11362 M : 'à¤à¤ महिना', 11363 MM : '%d महिना', 11364 y : 'à¤à¤ बरà¥à¤·', 11365 yy : '%d बरà¥à¤·' 11366 }, 11367 week : { 11368 dow : 0, // Sunday is the first day of the week. 11369 doy : 6 // The week that contains Jan 6th is the first week of the year. 11370 } 11371 }); 11372 11373 //! moment.js locale configuration 11374 11375 var monthsShortWithDots$1 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), 11376 monthsShortWithoutDots$1 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); 11377 11378 var monthsParse$4 = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i]; 11379 var monthsRegex$5 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; 11380 11381 hooks.defineLocale('nl-be', { 11382 months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), 11383 monthsShort : function (m, format) { 11384 if (!m) { 11385 return monthsShortWithDots$1; 11386 } else if (/-MMM-/.test(format)) { 11387 return monthsShortWithoutDots$1[m.month()]; 11388 } else { 11389 return monthsShortWithDots$1[m.month()]; 11390 } 11391 }, 11392 11393 monthsRegex: monthsRegex$5, 11394 monthsShortRegex: monthsRegex$5, 11395 monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, 11396 monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, 11397 11398 monthsParse : monthsParse$4, 11399 longMonthsParse : monthsParse$4, 11400 shortMonthsParse : monthsParse$4, 11401 11402 weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), 11403 weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'), 11404 weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'), 11405 weekdaysParseExact : true, 11406 longDateFormat : { 11407 LT : 'HH:mm', 11408 LTS : 'HH:mm:ss', 11409 L : 'DD/MM/YYYY', 11410 LL : 'D MMMM YYYY', 11411 LLL : 'D MMMM YYYY HH:mm', 11412 LLLL : 'dddd D MMMM YYYY HH:mm' 11413 }, 11414 calendar : { 11415 sameDay: '[vandaag om] LT', 11416 nextDay: '[morgen om] LT', 11417 nextWeek: 'dddd [om] LT', 11418 lastDay: '[gisteren om] LT', 11419 lastWeek: '[afgelopen] dddd [om] LT', 11420 sameElse: 'L' 11421 }, 11422 relativeTime : { 11423 future : 'over %s', 11424 past : '%s geleden', 11425 s : 'een paar seconden', 11426 ss : '%d seconden', 11427 m : 'één minuut', 11428 mm : '%d minuten', 11429 h : 'één uur', 11430 hh : '%d uur', 11431 d : 'één dag', 11432 dd : '%d dagen', 11433 M : 'één maand', 11434 MM : '%d maanden', 11435 y : 'één jaar', 11436 yy : '%d jaar' 11437 }, 11438 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, 11439 ordinal : function (number) { 11440 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); 11441 }, 11442 week : { 11443 dow : 1, // Monday is the first day of the week. 11444 doy : 4 // The week that contains Jan 4th is the first week of the year. 11445 } 11446 }); 11447 11448 //! moment.js locale configuration 11449 11450 var monthsShortWithDots$2 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'), 11451 monthsShortWithoutDots$2 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_'); 11452 11453 var monthsParse$5 = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i]; 11454 var monthsRegex$6 = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\.?|feb\.?|mrt\.?|apr\.?|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i; 11455 11456 hooks.defineLocale('nl', { 11457 months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'), 11458 monthsShort : function (m, format) { 11459 if (!m) { 11460 return monthsShortWithDots$2; 11461 } else if (/-MMM-/.test(format)) { 11462 return monthsShortWithoutDots$2[m.month()]; 11463 } else { 11464 return monthsShortWithDots$2[m.month()]; 11465 } 11466 }, 11467 11468 monthsRegex: monthsRegex$6, 11469 monthsShortRegex: monthsRegex$6, 11470 monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i, 11471 monthsShortStrictRegex: /^(jan\.?|feb\.?|mrt\.?|apr\.?|mei|ju[nl]\.?|aug\.?|sep\.?|okt\.?|nov\.?|dec\.?)/i, 11472 11473 monthsParse : monthsParse$5, 11474 longMonthsParse : monthsParse$5, 11475 shortMonthsParse : monthsParse$5, 11476 11477 weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'), 11478 weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'), 11479 weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'), 11480 weekdaysParseExact : true, 11481 longDateFormat : { 11482 LT : 'HH:mm', 11483 LTS : 'HH:mm:ss', 11484 L : 'DD-MM-YYYY', 11485 LL : 'D MMMM YYYY', 11486 LLL : 'D MMMM YYYY HH:mm', 11487 LLLL : 'dddd D MMMM YYYY HH:mm' 11488 }, 11489 calendar : { 11490 sameDay: '[vandaag om] LT', 11491 nextDay: '[morgen om] LT', 11492 nextWeek: 'dddd [om] LT', 11493 lastDay: '[gisteren om] LT', 11494 lastWeek: '[afgelopen] dddd [om] LT', 11495 sameElse: 'L' 11496 }, 11497 relativeTime : { 11498 future : 'over %s', 11499 past : '%s geleden', 11500 s : 'een paar seconden', 11501 ss : '%d seconden', 11502 m : 'één minuut', 11503 mm : '%d minuten', 11504 h : 'één uur', 11505 hh : '%d uur', 11506 d : 'één dag', 11507 dd : '%d dagen', 11508 M : 'één maand', 11509 MM : '%d maanden', 11510 y : 'één jaar', 11511 yy : '%d jaar' 11512 }, 11513 dayOfMonthOrdinalParse: /\d{1,2}(ste|de)/, 11514 ordinal : function (number) { 11515 return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); 11516 }, 11517 week : { 11518 dow : 1, // Monday is the first day of the week. 11519 doy : 4 // The week that contains Jan 4th is the first week of the year. 11520 } 11521 }); 11522 11523 //! moment.js locale configuration 11524 11525// FIXED as we use NO For Norwegian not NN Nynors 11526 hooks.defineLocale('no', { 11527 months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'), 11528 monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'), 11529 weekdays : 'sundag_mÃ¥ndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'), 11530 weekdaysShort : 'sun_mÃ¥n_tys_ons_tor_fre_lau'.split('_'), 11531 weekdaysMin : 'su_mÃ¥_ty_on_to_fr_lø'.split('_'), 11532 longDateFormat : { 11533 LT : 'HH:mm', 11534 LTS : 'HH:mm:ss', 11535 L : 'DD.MM.YYYY', 11536 LL : 'D. MMMM YYYY', 11537 LLL : 'D. MMMM YYYY [kl.] H:mm', 11538 LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm' 11539 }, 11540 calendar : { 11541 sameDay: '[I dag klokka] LT', 11542 nextDay: '[I morgon klokka] LT', 11543 nextWeek: 'dddd [klokka] LT', 11544 lastDay: '[I gÃ¥r klokka] LT', 11545 lastWeek: '[FøregÃ¥ande] dddd [klokka] LT', 11546 sameElse: 'L' 11547 }, 11548 relativeTime : { 11549 future : 'om %s', 11550 past : '%s sidan', 11551 s : 'nokre sekund', 11552 ss : '%d sekund', 11553 m : 'eit minutt', 11554 mm : '%d minutt', 11555 h : 'ein time', 11556 hh : '%d timar', 11557 d : 'ein dag', 11558 dd : '%d dagar', 11559 M : 'ein mÃ¥nad', 11560 MM : '%d mÃ¥nader', 11561 y : 'eit Ã¥r', 11562 yy : '%d Ã¥r' 11563 }, 11564 dayOfMonthOrdinalParse: /\d{1,2}\./, 11565 ordinal : '%d.', 11566 week : { 11567 dow : 1, // Monday is the first day of the week. 11568 doy : 4 // The week that contains Jan 4th is the first week of the year. 11569 } 11570 }); 11571 11572 //! moment.js locale configuration 11573 11574 var symbolMap$e = { 11575 '1': 'à©§', 11576 '2': '੨', 11577 '3': 'à©©', 11578 '4': '੪', 11579 '5': 'à©«', 11580 '6': '੬', 11581 '7': 'à©', 11582 '8': 'à©®', 11583 '9': '੯', 11584 '0': '੦' 11585 }, 11586 numberMap$d = { 11587 'à©§': '1', 11588 '੨': '2', 11589 'à©©': '3', 11590 '੪': '4', 11591 'à©«': '5', 11592 '੬': '6', 11593 'à©': '7', 11594 'à©®': '8', 11595 '੯': '9', 11596 '੦': '0' 11597 }; 11598 11599 hooks.defineLocale('pa-in', { 11600 // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi. 11601 months : 'à¨à¨¨à¨µà¨°à©_ਫ਼ਰਵਰà©_ਮਾਰà¨_ਠਪà©à¨°à©à¨²_ਮà¨_à¨à©à¨¨_à¨à©à¨²à¨¾à¨_ਠà¨à¨¸à¨¤_ਸਤੰਬਰ_ਠà¨à¨¤à©à¨¬à¨°_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), 11602 monthsShort : 'à¨à¨¨à¨µà¨°à©_ਫ਼ਰਵਰà©_ਮਾਰà¨_ਠਪà©à¨°à©à¨²_ਮà¨_à¨à©à¨¨_à¨à©à¨²à¨¾à¨_ਠà¨à¨¸à¨¤_ਸਤੰਬਰ_ਠà¨à¨¤à©à¨¬à¨°_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'), 11603 weekdays : 'à¨à¨¤à¨µà¨¾à¨°_ਸà©à¨®à¨µà¨¾à¨°_ਮੰà¨à¨²à¨µà¨¾à¨°_ਬà©à¨§à¨µà¨¾à¨°_ਵà©à¨°à¨µà¨¾à¨°_ਸ਼à©à©±à¨à¨°à¨µà¨¾à¨°_ਸ਼ਨà©à¨à¨°à¨µà¨¾à¨°'.split('_'), 11604 weekdaysShort : 'à¨à¨¤_ਸà©à¨®_ਮੰà¨à¨²_ਬà©à¨§_ਵà©à¨°_ਸ਼à©à¨à¨°_ਸ਼ਨà©'.split('_'), 11605 weekdaysMin : 'à¨à¨¤_ਸà©à¨®_ਮੰà¨à¨²_ਬà©à¨§_ਵà©à¨°_ਸ਼à©à¨à¨°_ਸ਼ਨà©'.split('_'), 11606 longDateFormat : { 11607 LT : 'A h:mm ਵà¨à©', 11608 LTS : 'A h:mm:ss ਵà¨à©', 11609 L : 'DD/MM/YYYY', 11610 LL : 'D MMMM YYYY', 11611 LLL : 'D MMMM YYYY, A h:mm ਵà¨à©', 11612 LLLL : 'dddd, D MMMM YYYY, A h:mm ਵà¨à©' 11613 }, 11614 calendar : { 11615 sameDay : '[ਠà¨] LT', 11616 nextDay : '[à¨à¨²] LT', 11617 nextWeek : '[ਠà¨à¨²à¨¾] dddd, LT', 11618 lastDay : '[à¨à¨²] LT', 11619 lastWeek : '[ਪਿà¨à¨²à©] dddd, LT', 11620 sameElse : 'L' 11621 }, 11622 relativeTime : { 11623 future : '%s ਵਿੱà¨', 11624 past : '%s ਪਿà¨à¨²à©', 11625 s : 'à¨à©à¨ ਸà¨à¨¿à©°à¨', 11626 ss : '%d ਸà¨à¨¿à©°à¨', 11627 m : 'à¨à¨ ਮਿੰà¨', 11628 mm : '%d ਮਿੰà¨', 11629 h : 'à¨à©±à¨ à¨à©°à¨à¨¾', 11630 hh : '%d à¨à©°à¨à©', 11631 d : 'à¨à©±à¨ ਦਿਨ', 11632 dd : '%d ਦਿਨ', 11633 M : 'à¨à©±à¨ ਮਹà©à¨¨à¨¾', 11634 MM : '%d ਮਹà©à¨¨à©', 11635 y : 'à¨à©±à¨ ਸਾਲ', 11636 yy : '%d ਸਾਲ' 11637 }, 11638 preparse: function (string) { 11639 return string.replace(/[੧੨੩੪੫੬à©à©®à©¯à©¦]/g, function (match) { 11640 return numberMap$d[match]; 11641 }); 11642 }, 11643 postformat: function (string) { 11644 return string.replace(/\d/g, function (match) { 11645 return symbolMap$e[match]; 11646 }); 11647 }, 11648 // Punjabi notation for meridiems are quite fuzzy in practice. While there exists 11649 // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi. 11650 meridiemParse: /ਰਾਤ|ਸਵà©à¨°|ਦà©à¨ªà¨¹à¨¿à¨°|ਸ਼ਾਮ/, 11651 meridiemHour : function (hour, meridiem) { 11652 if (hour === 12) { 11653 hour = 0; 11654 } 11655 if (meridiem === 'ਰਾਤ') { 11656 return hour < 4 ? hour : hour + 12; 11657 } else if (meridiem === 'ਸਵà©à¨°') { 11658 return hour; 11659 } else if (meridiem === 'ਦà©à¨ªà¨¹à¨¿à¨°') { 11660 return hour >= 10 ? hour : hour + 12; 11661 } else if (meridiem === 'ਸ਼ਾਮ') { 11662 return hour + 12; 11663 } 11664 }, 11665 meridiem : function (hour, minute, isLower) { 11666 if (hour < 4) { 11667 return 'ਰਾਤ'; 11668 } else if (hour < 10) { 11669 return 'ਸਵà©à¨°'; 11670 } else if (hour < 17) { 11671 return 'ਦà©à¨ªà¨¹à¨¿à¨°'; 11672 } else if (hour < 20) { 11673 return 'ਸ਼ਾਮ'; 11674 } else { 11675 return 'ਰਾਤ'; 11676 } 11677 }, 11678 week : { 11679 dow : 0, // Sunday is the first day of the week. 11680 doy : 6 // The week that contains Jan 6th is the first week of the year. 11681 } 11682 }); 11683 11684 //! moment.js locale configuration 11685 11686 var monthsNominative = 'styczeÅ_luty_marzec_kwiecieÅ_maj_czerwiec_lipiec_sierpieÅ_wrzesieÅ_październik_listopad_grudzieÅ'.split('_'), 11687 monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_wrzeÅnia_października_listopada_grudnia'.split('_'); 11688 function plural$3(n) { 11689 return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1); 11690 } 11691 function translate$8(number, withoutSuffix, key) { 11692 var result = number + ' '; 11693 switch (key) { 11694 case 'ss': 11695 return result + (plural$3(number) ? 'sekundy' : 'sekund'); 11696 case 'm': 11697 return withoutSuffix ? 'minuta' : 'minutÄ'; 11698 case 'mm': 11699 return result + (plural$3(number) ? 'minuty' : 'minut'); 11700 case 'h': 11701 return withoutSuffix ? 'godzina' : 'godzinÄ'; 11702 case 'hh': 11703 return result + (plural$3(number) ? 'godziny' : 'godzin'); 11704 case 'MM': 11705 return result + (plural$3(number) ? 'miesiÄ ce' : 'miesiÄcy'); 11706 case 'yy': 11707 return result + (plural$3(number) ? 'lata' : 'lat'); 11708 } 11709 } 11710 11711 hooks.defineLocale('pl', { 11712 months : function (momentToFormat, format) { 11713 if (!momentToFormat) { 11714 return monthsNominative; 11715 } else if (format === '') { 11716 // Hack: if format empty we know this is used to generate 11717 // RegExp by moment. Give then back both valid forms of months 11718 // in RegExp ready format. 11719 return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')'; 11720 } else if (/D MMMM/.test(format)) { 11721 return monthsSubjective[momentToFormat.month()]; 11722 } else { 11723 return monthsNominative[momentToFormat.month()]; 11724 } 11725 }, 11726 monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'), 11727 weekdays : 'niedziela_poniedziaÅek_wtorek_Åroda_czwartek_piÄ tek_sobota'.split('_'), 11728 weekdaysShort : 'ndz_pon_wt_År_czw_pt_sob'.split('_'), 11729 weekdaysMin : 'Nd_Pn_Wt_År_Cz_Pt_So'.split('_'), 11730 longDateFormat : { 11731 LT : 'HH:mm', 11732 LTS : 'HH:mm:ss', 11733 L : 'DD.MM.YYYY', 11734 LL : 'D MMMM YYYY', 11735 LLL : 'D MMMM YYYY HH:mm', 11736 LLLL : 'dddd, D MMMM YYYY HH:mm' 11737 }, 11738 calendar : { 11739 sameDay: '[DziÅ o] LT', 11740 nextDay: '[Jutro o] LT', 11741 nextWeek: function () { 11742 switch (this.day()) { 11743 case 0: 11744 return '[W niedzielÄ o] LT'; 11745 11746 case 2: 11747 return '[We wtorek o] LT'; 11748 11749 case 3: 11750 return '[W ÅrodÄ o] LT'; 11751 11752 case 6: 11753 return '[W sobotÄ o] LT'; 11754 11755 default: 11756 return '[W] dddd [o] LT'; 11757 } 11758 }, 11759 lastDay: '[Wczoraj o] LT', 11760 lastWeek: function () { 11761 switch (this.day()) { 11762 case 0: 11763 return '[W zeszÅÄ niedzielÄ o] LT'; 11764 case 3: 11765 return '[W zeszÅÄ ÅrodÄ o] LT'; 11766 case 6: 11767 return '[W zeszÅÄ sobotÄ o] LT'; 11768 default: 11769 return '[W zeszÅy] dddd [o] LT'; 11770 } 11771 }, 11772 sameElse: 'L' 11773 }, 11774 relativeTime : { 11775 future : 'za %s', 11776 past : '%s temu', 11777 s : 'kilka sekund', 11778 ss : translate$8, 11779 m : translate$8, 11780 mm : translate$8, 11781 h : translate$8, 11782 hh : translate$8, 11783 d : '1 dzieÅ', 11784 dd : '%d dni', 11785 M : 'miesiÄ c', 11786 MM : translate$8, 11787 y : 'rok', 11788 yy : translate$8 11789 }, 11790 dayOfMonthOrdinalParse: /\d{1,2}\./, 11791 ordinal : '%d.', 11792 week : { 11793 dow : 1, // Monday is the first day of the week. 11794 doy : 4 // The week that contains Jan 4th is the first week of the year. 11795 } 11796 }); 11797 11798 //! moment.js locale configuration 11799 11800 hooks.defineLocale('pt-br', { 11801 months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), 11802 monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), 11803 weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), 11804 weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), 11805 weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), 11806 weekdaysParseExact : true, 11807 longDateFormat : { 11808 LT : 'HH:mm', 11809 LTS : 'HH:mm:ss', 11810 L : 'DD/MM/YYYY', 11811 LL : 'D [de] MMMM [de] YYYY', 11812 LLL : 'D [de] MMMM [de] YYYY [à s] HH:mm', 11813 LLLL : 'dddd, D [de] MMMM [de] YYYY [à s] HH:mm' 11814 }, 11815 calendar : { 11816 sameDay: '[Hoje à s] LT', 11817 nextDay: '[Amanhã à s] LT', 11818 nextWeek: 'dddd [à s] LT', 11819 lastDay: '[Ontem à s] LT', 11820 lastWeek: function () { 11821 return (this.day() === 0 || this.day() === 6) ? 11822 '[Ãltimo] dddd [à s] LT' : // Saturday + Sunday 11823 '[Ãltima] dddd [à s] LT'; // Monday - Friday 11824 }, 11825 sameElse: 'L' 11826 }, 11827 relativeTime : { 11828 future : 'em %s', 11829 past : 'há %s', 11830 s : 'poucos segundos', 11831 ss : '%d segundos', 11832 m : 'um minuto', 11833 mm : '%d minutos', 11834 h : 'uma hora', 11835 hh : '%d horas', 11836 d : 'um dia', 11837 dd : '%d dias', 11838 M : 'um mês', 11839 MM : '%d meses', 11840 y : 'um ano', 11841 yy : '%d anos' 11842 }, 11843 dayOfMonthOrdinalParse: /\d{1,2}º/, 11844 ordinal : '%dº' 11845 }); 11846 11847 //! moment.js locale configuration 11848 11849 hooks.defineLocale('pt', { 11850 months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'), 11851 monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), 11852 weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'), 11853 weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'), 11854 weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'), 11855 weekdaysParseExact : true, 11856 longDateFormat : { 11857 LT : 'HH:mm', 11858 LTS : 'HH:mm:ss', 11859 L : 'DD/MM/YYYY', 11860 LL : 'D [de] MMMM [de] YYYY', 11861 LLL : 'D [de] MMMM [de] YYYY HH:mm', 11862 LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm' 11863 }, 11864 calendar : { 11865 sameDay: '[Hoje à s] LT', 11866 nextDay: '[Amanhã à s] LT', 11867 nextWeek: 'dddd [à s] LT', 11868 lastDay: '[Ontem à s] LT', 11869 lastWeek: function () { 11870 return (this.day() === 0 || this.day() === 6) ? 11871 '[Ãltimo] dddd [à s] LT' : // Saturday + Sunday 11872 '[Ãltima] dddd [à s] LT'; // Monday - Friday 11873 }, 11874 sameElse: 'L' 11875 }, 11876 relativeTime : { 11877 future : 'em %s', 11878 past : 'há %s', 11879 s : 'segundos', 11880 ss : '%d segundos', 11881 m : 'um minuto', 11882 mm : '%d minutos', 11883 h : 'uma hora', 11884 hh : '%d horas', 11885 d : 'um dia', 11886 dd : '%d dias', 11887 M : 'um mês', 11888 MM : '%d meses', 11889 y : 'um ano', 11890 yy : '%d anos' 11891 }, 11892 dayOfMonthOrdinalParse: /\d{1,2}º/, 11893 ordinal : '%dº', 11894 week : { 11895 dow : 1, // Monday is the first day of the week. 11896 doy : 4 // The week that contains Jan 4th is the first week of the year. 11897 } 11898 }); 11899 11900 //! moment.js locale configuration 11901 11902 function relativeTimeWithPlural$2(number, withoutSuffix, key) { 11903 var format = { 11904 'ss': 'secunde', 11905 'mm': 'minute', 11906 'hh': 'ore', 11907 'dd': 'zile', 11908 'MM': 'luni', 11909 'yy': 'ani' 11910 }, 11911 separator = ' '; 11912 if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) { 11913 separator = ' de '; 11914 } 11915 return number + separator + format[key]; 11916 } 11917 11918 hooks.defineLocale('ro', { 11919 months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'), 11920 monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'), 11921 monthsParseExact: true, 11922 weekdays : 'duminicÄ_luni_marÈi_miercuri_joi_vineri_sâmbÄtÄ'.split('_'), 11923 weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'), 11924 weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'), 11925 longDateFormat : { 11926 LT : 'H:mm', 11927 LTS : 'H:mm:ss', 11928 L : 'DD.MM.YYYY', 11929 LL : 'D MMMM YYYY', 11930 LLL : 'D MMMM YYYY H:mm', 11931 LLLL : 'dddd, D MMMM YYYY H:mm' 11932 }, 11933 calendar : { 11934 sameDay: '[azi la] LT', 11935 nextDay: '[mâine la] LT', 11936 nextWeek: 'dddd [la] LT', 11937 lastDay: '[ieri la] LT', 11938 lastWeek: '[fosta] dddd [la] LT', 11939 sameElse: 'L' 11940 }, 11941 relativeTime : { 11942 future : 'peste %s', 11943 past : '%s în urmÄ', 11944 s : 'câteva secunde', 11945 ss : relativeTimeWithPlural$2, 11946 m : 'un minut', 11947 mm : relativeTimeWithPlural$2, 11948 h : 'o orÄ', 11949 hh : relativeTimeWithPlural$2, 11950 d : 'o zi', 11951 dd : relativeTimeWithPlural$2, 11952 M : 'o lunÄ', 11953 MM : relativeTimeWithPlural$2, 11954 y : 'un an', 11955 yy : relativeTimeWithPlural$2 11956 }, 11957 week : { 11958 dow : 1, // Monday is the first day of the week. 11959 doy : 7 // The week that contains Jan 7th is the first week of the year. 11960 } 11961 }); 11962 11963 //! moment.js locale configuration 11964 11965 function plural$4(word, num) { 11966 var forms = word.split('_'); 11967 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]); 11968 } 11969 function relativeTimeWithPlural$3(number, withoutSuffix, key) { 11970 var format = { 11971 'ss': withoutSuffix ? 'ÑекÑнда_ÑекÑндÑ_ÑекÑнд' : 'ÑекÑндÑ_ÑекÑндÑ_ÑекÑнд', 11972 'mm': withoutSuffix ? 'минÑÑа_минÑÑÑ_минÑÑ' : 'минÑÑÑ_минÑÑÑ_минÑÑ', 11973 'hh': 'ÑаÑ_ÑаÑа_ÑаÑов', 11974 'dd': 'денÑ_днÑ_дней', 11975 'MM': 'меÑÑÑ_меÑÑÑа_меÑÑÑев', 11976 'yy': 'год_года_леÑ' 11977 }; 11978 if (key === 'm') { 11979 return withoutSuffix ? 'минÑÑа' : 'минÑÑÑ'; 11980 } 11981 else { 11982 return number + ' ' + plural$4(format[key], +number); 11983 } 11984 } 11985 var monthsParse$6 = [/^Ñнв/i, /^Ñев/i, /^маÑ/i, /^апÑ/i, /^ма[йÑ]/i, /^иÑн/i, /^иÑл/i, /^авг/i, /^Ñен/i, /^окÑ/i, /^ноÑ/i, /^дек/i]; 11986 11987 // http://new.gramota.ru/spravka/rules/139-prop : § 103 11988 // СокÑаÑÐµÐ½Ð¸Ñ Ð¼ÐµÑÑÑев: http://new.gramota.ru/spravka/buro/search-answer?s=242637 11989 // CLDR data: http://www.unicode.org/cldr/charts/28/summary/ru.html#1753 11990 hooks.defineLocale('ru', { 11991 months : { 11992 format: 'ÑнваÑÑ_ÑевÑалÑ_маÑÑа_апÑелÑ_маÑ_иÑнÑ_иÑлÑ_авгÑÑÑа_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ'.split('_'), 11993 standalone: 'ÑнваÑÑ_ÑевÑалÑ_маÑÑ_апÑелÑ_май_иÑнÑ_иÑлÑ_авгÑÑÑ_ÑенÑÑбÑÑ_окÑÑбÑÑ_ноÑбÑÑ_декабÑÑ'.split('_') 11994 }, 11995 monthsShort : { 11996 // по CLDR именно "иÑл." и "иÑн.", но какой ÑмÑÑл менÑÑÑ Ð±ÑÐºÐ²Ñ Ð½Ð° ÑоÑÐºÑ ? 11997 format: 'Ñнв._ÑевÑ._маÑ._апÑ._маÑ_иÑнÑ_иÑлÑ_авг._ÑенÑ._окÑ._ноÑб._дек.'.split('_'), 11998 standalone: 'Ñнв._ÑевÑ._маÑÑ_апÑ._май_иÑнÑ_иÑлÑ_авг._ÑенÑ._окÑ._ноÑб._дек.'.split('_') 11999 }, 12000 weekdays : { 12001 standalone: 'воÑкÑеÑенÑе_понеделÑник_вÑоÑник_ÑÑеда_ÑеÑвеÑг_пÑÑниÑа_ÑÑббоÑа'.split('_'), 12002 format: 'воÑкÑеÑенÑе_понеделÑник_вÑоÑник_ÑÑедÑ_ÑеÑвеÑг_пÑÑниÑÑ_ÑÑббоÑÑ'.split('_'), 12003 isFormat: /\[ ?[Ðв] ?(?:пÑоÑлÑÑ|ÑледÑÑÑÑÑ|ÑÑÑ)? ?\] ?dddd/ 12004 }, 12005 weekdaysShort : 'вÑ_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 12006 weekdaysMin : 'вÑ_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 12007 monthsParse : monthsParse$6, 12008 longMonthsParse : monthsParse$6, 12009 shortMonthsParse : monthsParse$6, 12010 12011 // полнÑе Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸, по ÑÑи бÑквÑ, Ð´Ð»Ñ Ð½ÐµÐºÐ¾ÑоÑÑÑ , по 4 бÑквÑ, ÑокÑаÑÐµÐ½Ð¸Ñ Ñ ÑоÑкой и без ÑоÑки 12012 monthsRegex: /^(ÑнваÑ[ÑÑ]|Ñнв\.?|ÑевÑал[ÑÑ]|ÑевÑ?\.?|маÑÑа?|маÑ\.?|апÑел[ÑÑ]|апÑ\.?|ма[йÑ]|иÑн[ÑÑ]|иÑн\.?|иÑл[ÑÑ]|иÑл\.?|авгÑÑÑа?|авг\.?|ÑенÑÑбÑ[ÑÑ]|ÑенÑ?\.?|окÑÑбÑ[ÑÑ]|окÑ\.?|ноÑбÑ[ÑÑ]|ноÑб?\.?|декабÑ[ÑÑ]|дек\.?)/i, 12013 12014 // ÐºÐ¾Ð¿Ð¸Ñ Ð¿ÑедÑдÑÑего 12015 monthsShortRegex: /^(ÑнваÑ[ÑÑ]|Ñнв\.?|ÑевÑал[ÑÑ]|ÑевÑ?\.?|маÑÑа?|маÑ\.?|апÑел[ÑÑ]|апÑ\.?|ма[йÑ]|иÑн[ÑÑ]|иÑн\.?|иÑл[ÑÑ]|иÑл\.?|авгÑÑÑа?|авг\.?|ÑенÑÑбÑ[ÑÑ]|ÑенÑ?\.?|окÑÑбÑ[ÑÑ]|окÑ\.?|ноÑбÑ[ÑÑ]|ноÑб?\.?|декабÑ[ÑÑ]|дек\.?)/i, 12016 12017 // полнÑе Ð½Ð°Ð·Ð²Ð°Ð½Ð¸Ñ Ñ Ð¿Ð°Ð´ÐµÐ¶Ð°Ð¼Ð¸ 12018 monthsStrictRegex: /^(ÑнваÑ[ÑÑ]|ÑевÑал[ÑÑ]|маÑÑа?|апÑел[ÑÑ]|ма[Ñй]|иÑн[ÑÑ]|иÑл[ÑÑ]|авгÑÑÑа?|ÑенÑÑбÑ[ÑÑ]|окÑÑбÑ[ÑÑ]|ноÑбÑ[ÑÑ]|декабÑ[ÑÑ])/i, 12019 12020 // ÐÑÑажение, коÑоÑое ÑооÑвеÑÑвÑÐµÑ ÑолÑко ÑокÑаÑÑннÑм ÑоÑмам 12021 monthsShortStrictRegex: /^(Ñнв\.|ÑевÑ?\.|маÑ[Ñ.]|апÑ\.|ма[Ñй]|иÑн[ÑÑ.]|иÑл[ÑÑ.]|авг\.|ÑенÑ?\.|окÑ\.|ноÑб?\.|дек\.)/i, 12022 longDateFormat : { 12023 LT : 'H:mm', 12024 LTS : 'H:mm:ss', 12025 L : 'DD.MM.YYYY', 12026 LL : 'D MMMM YYYY г.', 12027 LLL : 'D MMMM YYYY г., H:mm', 12028 LLLL : 'dddd, D MMMM YYYY г., H:mm' 12029 }, 12030 calendar : { 12031 sameDay: '[СегоднÑ, в] LT', 12032 nextDay: '[ÐавÑÑа, в] LT', 12033 lastDay: '[ÐÑеÑа, в] LT', 12034 nextWeek: function (now) { 12035 if (now.week() !== this.week()) { 12036 switch (this.day()) { 12037 case 0: 12038 return '[Ð ÑледÑÑÑее] dddd, [в] LT'; 12039 case 1: 12040 case 2: 12041 case 4: 12042 return '[Ð ÑледÑÑÑий] dddd, [в] LT'; 12043 case 3: 12044 case 5: 12045 case 6: 12046 return '[Ð ÑледÑÑÑÑÑ] dddd, [в] LT'; 12047 } 12048 } else { 12049 if (this.day() === 2) { 12050 return '[Ðо] dddd, [в] LT'; 12051 } else { 12052 return '[Ð] dddd, [в] LT'; 12053 } 12054 } 12055 }, 12056 lastWeek: function (now) { 12057 if (now.week() !== this.week()) { 12058 switch (this.day()) { 12059 case 0: 12060 return '[РпÑоÑлое] dddd, [в] LT'; 12061 case 1: 12062 case 2: 12063 case 4: 12064 return '[РпÑоÑлÑй] dddd, [в] LT'; 12065 case 3: 12066 case 5: 12067 case 6: 12068 return '[РпÑоÑлÑÑ] dddd, [в] LT'; 12069 } 12070 } else { 12071 if (this.day() === 2) { 12072 return '[Ðо] dddd, [в] LT'; 12073 } else { 12074 return '[Ð] dddd, [в] LT'; 12075 } 12076 } 12077 }, 12078 sameElse: 'L' 12079 }, 12080 relativeTime : { 12081 future : 'ÑеÑез %s', 12082 past : '%s назад', 12083 s : 'неÑколÑко ÑекÑнд', 12084 ss : relativeTimeWithPlural$3, 12085 m : relativeTimeWithPlural$3, 12086 mm : relativeTimeWithPlural$3, 12087 h : 'ÑаÑ', 12088 hh : relativeTimeWithPlural$3, 12089 d : 'денÑ', 12090 dd : relativeTimeWithPlural$3, 12091 M : 'меÑÑÑ', 12092 MM : relativeTimeWithPlural$3, 12093 y : 'год', 12094 yy : relativeTimeWithPlural$3 12095 }, 12096 meridiemParse: /ноÑи|ÑÑÑа|днÑ|веÑеÑа/i, 12097 isPM : function (input) { 12098 return /^(днÑ|веÑеÑа)$/.test(input); 12099 }, 12100 meridiem : function (hour, minute, isLower) { 12101 if (hour < 4) { 12102 return 'ноÑи'; 12103 } else if (hour < 12) { 12104 return 'ÑÑÑа'; 12105 } else if (hour < 17) { 12106 return 'днÑ'; 12107 } else { 12108 return 'веÑеÑа'; 12109 } 12110 }, 12111 dayOfMonthOrdinalParse: /\d{1,2}-(й|го|Ñ)/, 12112 ordinal: function (number, period) { 12113 switch (period) { 12114 case 'M': 12115 case 'd': 12116 case 'DDD': 12117 return number + '-й'; 12118 case 'D': 12119 return number + '-го'; 12120 case 'w': 12121 case 'W': 12122 return number + '-Ñ'; 12123 default: 12124 return number; 12125 } 12126 }, 12127 week : { 12128 dow : 1, // Monday is the first day of the week. 12129 doy : 4 // The week that contains Jan 4th is the first week of the year. 12130 } 12131 }); 12132 12133 //! moment.js locale configuration 12134 12135 var months$8 = [ 12136 'جÙÙØ±Ù', 12137 'ÙÙØ¨Ø±ÙرÙ', 12138 '٠ارÚ', 12139 'اپرÙÙ', 12140 '٠ئÙ', 12141 'جÙÙ', 12142 'جÙÙØ§Ø¡Ù', 12143 'آگسٽ', 12144 'سÙپٽ٠بر', 12145 'Ø¢ÚªÙ½ÙØ¨Ø±', 12146 'ÙÙ٠بر', 12147 'ÚØ³Ù بر' 12148 ]; 12149 var days$1 = [ 12150 'Ø¢ÚØ±', 12151 'سÙ٠ر', 12152 'اڱارÙ', 12153 'اربع', 12154 'Ø®Ù ÙØ³', 12155 'ج٠ع', 12156 'ÚÙÚØ±' 12157 ]; 12158 12159 hooks.defineLocale('sd', { 12160 months : months$8, 12161 monthsShort : months$8, 12162 weekdays : days$1, 12163 weekdaysShort : days$1, 12164 weekdaysMin : days$1, 12165 longDateFormat : { 12166 LT : 'HH:mm', 12167 LTS : 'HH:mm:ss', 12168 L : 'DD/MM/YYYY', 12169 LL : 'D MMMM YYYY', 12170 LLL : 'D MMMM YYYY HH:mm', 12171 LLLL : 'ddddØ D MMMM YYYY HH:mm' 12172 }, 12173 meridiemParse: /صبØ|شا٠/, 12174 isPM : function (input) { 12175 return 'شا٠' === input; 12176 }, 12177 meridiem : function (hour, minute, isLower) { 12178 if (hour < 12) { 12179 return 'صبØ'; 12180 } 12181 return 'شا٠'; 12182 }, 12183 calendar : { 12184 sameDay : '[اÚ] LT', 12185 nextDay : '[Ø³ÚØ§Ú»Ù] LT', 12186 nextWeek : 'dddd [اڳÙÙ ÙÙØªÙ تÙ] LT', 12187 lastDay : '[ڪاÙÙÙ] LT', 12188 lastWeek : '[گزرÙÙ ÙÙØªÙ] dddd [تÙ] LT', 12189 sameElse : 'L' 12190 }, 12191 relativeTime : { 12192 future : '%s Ù¾ÙØ¡', 12193 past : '%s اڳ', 12194 s : 'ÚÙØ¯ سÙÚªÙÚ', 12195 ss : '%d سÙÚªÙÚ', 12196 m : 'ÙÚª Ù ÙÙ½', 12197 mm : '%d Ù ÙÙ½', 12198 h : 'ÙÚª ÚªÙØ§Úª', 12199 hh : '%d ÚªÙØ§Úª', 12200 d : 'ÙÚª ÚÙÙÙÙ', 12201 dd : '%d ÚÙÙÙÙ', 12202 M : 'ÙÚª Ù ÙÙÙÙ', 12203 MM : '%d Ù ÙÙÙØ§', 12204 y : 'ÙÚª ساÙ', 12205 yy : '%d ساÙ' 12206 }, 12207 preparse: function (string) { 12208 return string.replace(/Ø/g, ','); 12209 }, 12210 postformat: function (string) { 12211 return string.replace(/,/g, 'Ø'); 12212 }, 12213 week : { 12214 dow : 1, // Monday is the first day of the week. 12215 doy : 4 // The week that contains Jan 4th is the first week of the year. 12216 } 12217 }); 12218 12219 //! moment.js locale configuration 12220 12221 hooks.defineLocale('se', { 12222 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('_'), 12223 monthsShort : 'oÄÄj_guov_njuk_cuo_mies_geas_suoi_borg_ÄakÄ_golg_skáb_juov'.split('_'), 12224 weekdays : 'sotnabeaivi_vuossárga_maÅÅebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'), 12225 weekdaysShort : 'sotn_vuos_maÅ_gask_duor_bear_láv'.split('_'), 12226 weekdaysMin : 's_v_m_g_d_b_L'.split('_'), 12227 longDateFormat : { 12228 LT : 'HH:mm', 12229 LTS : 'HH:mm:ss', 12230 L : 'DD.MM.YYYY', 12231 LL : 'MMMM D. [b.] YYYY', 12232 LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm', 12233 LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm' 12234 }, 12235 calendar : { 12236 sameDay: '[otne ti] LT', 12237 nextDay: '[ihttin ti] LT', 12238 nextWeek: 'dddd [ti] LT', 12239 lastDay: '[ikte ti] LT', 12240 lastWeek: '[ovddit] dddd [ti] LT', 12241 sameElse: 'L' 12242 }, 12243 relativeTime : { 12244 future : '%s geažes', 12245 past : 'maÅit %s', 12246 s : 'moadde sekunddat', 12247 ss: '%d sekunddat', 12248 m : 'okta minuhta', 12249 mm : '%d minuhtat', 12250 h : 'okta diimmu', 12251 hh : '%d diimmut', 12252 d : 'okta beaivi', 12253 dd : '%d beaivvit', 12254 M : 'okta mánnu', 12255 MM : '%d mánut', 12256 y : 'okta jahki', 12257 yy : '%d jagit' 12258 }, 12259 dayOfMonthOrdinalParse: /\d{1,2}\./, 12260 ordinal : '%d.', 12261 week : { 12262 dow : 1, // Monday is the first day of the week. 12263 doy : 4 // The week that contains Jan 4th is the first week of the year. 12264 } 12265 }); 12266 12267 //! moment.js locale configuration 12268 12269 /*jshint -W100*/ 12270 hooks.defineLocale('si', { 12271 months : 'ජනà·à·à¶»à·_à¶´à·à¶¶à¶»à·à·à¶»à·_මà·à¶»à·à¶à·_à¶ à¶´à·âà¶»à·à¶½à·_මà·à¶ºà·_à¶¢à·à¶±à·_à¶¢à·à¶½à·_à¶ à¶à·à·à·à¶à·_à·à·à¶´à·à¶à·à¶¸à·à¶¶à¶»à·_à¶à¶à·à¶à·à¶¶à¶»à·_à¶±à·à·à·à¶¸à·à¶¶à¶»à·_දà·à·à·à¶¸à·à¶¶à¶»à·'.split('_'), 12272 monthsShort : 'ජන_à¶´à·à¶¶_මà·à¶»à·_à¶ à¶´à·_මà·à¶ºà·_à¶¢à·à¶±à·_à¶¢à·à¶½à·_à¶ à¶à·_à·à·à¶´à·_à¶à¶à·_à¶±à·à·à·_දà·à·à·'.split('_'), 12273 weekdays : 'à¶à¶»à·à¶¯à·_à·à¶³à·à¶¯à·_à¶ à¶à·à¶»à·à·à·à¶¯à·_බදà·à¶¯à·_à¶¶à·âà¶»à·à·à·à¶´à¶à·à¶±à·à¶¯à·_à·à·à¶à·à¶»à·à¶¯à·_à·à·à¶±à·à·à¶»à·à¶¯à·'.split('_'), 12274 weekdaysShort : 'à¶à¶»à·_à·à¶³à·_à¶ à¶_බදà·_à¶¶à·âà¶»à·_à·à·à¶à·_à·à·à¶±'.split('_'), 12275 weekdaysMin : 'à¶_à·_à¶ _à¶¶_à¶¶à·âà¶»_à·à·_à·à·'.split('_'), 12276 weekdaysParseExact : true, 12277 longDateFormat : { 12278 LT : 'a h:mm', 12279 LTS : 'a h:mm:ss', 12280 L : 'YYYY/MM/DD', 12281 LL : 'YYYY MMMM D', 12282 LLL : 'YYYY MMMM D, a h:mm', 12283 LLLL : 'YYYY MMMM D [à·à·à¶±à·] dddd, a h:mm:ss' 12284 }, 12285 calendar : { 12286 sameDay : '[චද] LT[à¶§]', 12287 nextDay : '[à·à·à¶§] LT[à¶§]', 12288 nextWeek : 'dddd LT[à¶§]', 12289 lastDay : '[à¶à¶ºà·] LT[à¶§]', 12290 lastWeek : '[à¶´à·à·à¶à·à¶º] dddd LT[à¶§]', 12291 sameElse : 'L' 12292 }, 12293 relativeTime : { 12294 future : '%sà¶à·à¶±à·', 12295 past : '%sà¶à¶§ à¶´à·à¶»', 12296 s : 'à¶à¶à·à¶´à¶» à¶à·à·à·à¶´à¶º', 12297 ss : 'à¶à¶à·à¶´à¶» %d', 12298 m : 'මà·à¶±à·à¶à·à¶à·à·', 12299 mm : 'මà·à¶±à·à¶à·à¶à· %d', 12300 h : 'à¶´à·à¶º', 12301 hh : 'à¶´à·à¶º %d', 12302 d : 'දà·à¶±à¶º', 12303 dd : 'දà·à¶± %d', 12304 M : 'මà·à·à¶º', 12305 MM : 'මà·à· %d', 12306 y : 'à·à·à¶»', 12307 yy : 'à·à·à¶» %d' 12308 }, 12309 dayOfMonthOrdinalParse: /\d{1,2} à·à·à¶±à·/, 12310 ordinal : function (number) { 12311 return number + ' à·à·à¶±à·'; 12312 }, 12313 meridiemParse : /à¶´à·à¶» à·à¶»à·|à¶´à·à· à·à¶»à·|à¶´à·.à·|à¶´.à·./, 12314 isPM : function (input) { 12315 return input === 'à¶´.à·.' || input === 'à¶´à·à· à·à¶»à·'; 12316 }, 12317 meridiem : function (hours, minutes, isLower) { 12318 if (hours > 11) { 12319 return isLower ? 'à¶´.à·.' : 'à¶´à·à· à·à¶»à·'; 12320 } else { 12321 return isLower ? 'à¶´à·.à·.' : 'à¶´à·à¶» à·à¶»à·'; 12322 } 12323 } 12324 }); 12325 12326 //! moment.js locale configuration 12327 12328 var months$9 = 'január_február_marec_aprÃl_máj_jún_júl_august_september_október_november_december'.split('_'), 12329 monthsShort$6 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_'); 12330 function plural$5(n) { 12331 return (n > 1) && (n < 5); 12332 } 12333 function translate$9(number, withoutSuffix, key, isFuture) { 12334 var result = number + ' '; 12335 switch (key) { 12336 case 's': // a few seconds / in a few seconds / a few seconds ago 12337 return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami'; 12338 case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago 12339 if (withoutSuffix || isFuture) { 12340 return result + (plural$5(number) ? 'sekundy' : 'sekúnd'); 12341 } else { 12342 return result + 'sekundami'; 12343 } 12344 break; 12345 case 'm': // a minute / in a minute / a minute ago 12346 return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou'); 12347 case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago 12348 if (withoutSuffix || isFuture) { 12349 return result + (plural$5(number) ? 'minúty' : 'minút'); 12350 } else { 12351 return result + 'minútami'; 12352 } 12353 break; 12354 case 'h': // an hour / in an hour / an hour ago 12355 return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou'); 12356 case 'hh': // 9 hours / in 9 hours / 9 hours ago 12357 if (withoutSuffix || isFuture) { 12358 return result + (plural$5(number) ? 'hodiny' : 'hodÃn'); 12359 } else { 12360 return result + 'hodinami'; 12361 } 12362 break; 12363 case 'd': // a day / in a day / a day ago 12364 return (withoutSuffix || isFuture) ? 'deÅ' : 'dÅom'; 12365 case 'dd': // 9 days / in 9 days / 9 days ago 12366 if (withoutSuffix || isFuture) { 12367 return result + (plural$5(number) ? 'dni' : 'dnÃ'); 12368 } else { 12369 return result + 'dÅami'; 12370 } 12371 break; 12372 case 'M': // a month / in a month / a month ago 12373 return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom'; 12374 case 'MM': // 9 months / in 9 months / 9 months ago 12375 if (withoutSuffix || isFuture) { 12376 return result + (plural$5(number) ? 'mesiace' : 'mesiacov'); 12377 } else { 12378 return result + 'mesiacmi'; 12379 } 12380 break; 12381 case 'y': // a year / in a year / a year ago 12382 return (withoutSuffix || isFuture) ? 'rok' : 'rokom'; 12383 case 'yy': // 9 years / in 9 years / 9 years ago 12384 if (withoutSuffix || isFuture) { 12385 return result + (plural$5(number) ? 'roky' : 'rokov'); 12386 } else { 12387 return result + 'rokmi'; 12388 } 12389 break; 12390 } 12391 } 12392 12393 hooks.defineLocale('sk', { 12394 months : months$9, 12395 monthsShort : monthsShort$6, 12396 weekdays : 'nedeľa_pondelok_utorok_streda_Å¡tvrtok_piatok_sobota'.split('_'), 12397 weekdaysShort : 'ne_po_ut_st_Å¡t_pi_so'.split('_'), 12398 weekdaysMin : 'ne_po_ut_st_Å¡t_pi_so'.split('_'), 12399 longDateFormat : { 12400 LT: 'H:mm', 12401 LTS : 'H:mm:ss', 12402 L : 'DD.MM.YYYY', 12403 LL : 'D. MMMM YYYY', 12404 LLL : 'D. MMMM YYYY H:mm', 12405 LLLL : 'dddd D. MMMM YYYY H:mm' 12406 }, 12407 calendar : { 12408 sameDay: '[dnes o] LT', 12409 nextDay: '[zajtra o] LT', 12410 nextWeek: function () { 12411 switch (this.day()) { 12412 case 0: 12413 return '[v nedeľu o] LT'; 12414 case 1: 12415 case 2: 12416 return '[v] dddd [o] LT'; 12417 case 3: 12418 return '[v stredu o] LT'; 12419 case 4: 12420 return '[vo Å¡tvrtok o] LT'; 12421 case 5: 12422 return '[v piatok o] LT'; 12423 case 6: 12424 return '[v sobotu o] LT'; 12425 } 12426 }, 12427 lastDay: '[vÄera o] LT', 12428 lastWeek: function () { 12429 switch (this.day()) { 12430 case 0: 12431 return '[minulú nedeľu o] LT'; 12432 case 1: 12433 case 2: 12434 return '[minulý] dddd [o] LT'; 12435 case 3: 12436 return '[minulú stredu o] LT'; 12437 case 4: 12438 case 5: 12439 return '[minulý] dddd [o] LT'; 12440 case 6: 12441 return '[minulú sobotu o] LT'; 12442 } 12443 }, 12444 sameElse: 'L' 12445 }, 12446 relativeTime : { 12447 future : 'za %s', 12448 past : 'pred %s', 12449 s : translate$9, 12450 ss : translate$9, 12451 m : translate$9, 12452 mm : translate$9, 12453 h : translate$9, 12454 hh : translate$9, 12455 d : translate$9, 12456 dd : translate$9, 12457 M : translate$9, 12458 MM : translate$9, 12459 y : translate$9, 12460 yy : translate$9 12461 }, 12462 dayOfMonthOrdinalParse: /\d{1,2}\./, 12463 ordinal : '%d.', 12464 week : { 12465 dow : 1, // Monday is the first day of the week. 12466 doy : 4 // The week that contains Jan 4th is the first week of the year. 12467 } 12468 }); 12469 12470 //! moment.js locale configuration 12471 12472 function processRelativeTime$6(number, withoutSuffix, key, isFuture) { 12473 var result = number + ' '; 12474 switch (key) { 12475 case 's': 12476 return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami'; 12477 case 'ss': 12478 if (number === 1) { 12479 result += withoutSuffix ? 'sekundo' : 'sekundi'; 12480 } else if (number === 2) { 12481 result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah'; 12482 } else if (number < 5) { 12483 result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah'; 12484 } else { 12485 result += 'sekund'; 12486 } 12487 return result; 12488 case 'm': 12489 return withoutSuffix ? 'ena minuta' : 'eno minuto'; 12490 case 'mm': 12491 if (number === 1) { 12492 result += withoutSuffix ? 'minuta' : 'minuto'; 12493 } else if (number === 2) { 12494 result += withoutSuffix || isFuture ? 'minuti' : 'minutama'; 12495 } else if (number < 5) { 12496 result += withoutSuffix || isFuture ? 'minute' : 'minutami'; 12497 } else { 12498 result += withoutSuffix || isFuture ? 'minut' : 'minutami'; 12499 } 12500 return result; 12501 case 'h': 12502 return withoutSuffix ? 'ena ura' : 'eno uro'; 12503 case 'hh': 12504 if (number === 1) { 12505 result += withoutSuffix ? 'ura' : 'uro'; 12506 } else if (number === 2) { 12507 result += withoutSuffix || isFuture ? 'uri' : 'urama'; 12508 } else if (number < 5) { 12509 result += withoutSuffix || isFuture ? 'ure' : 'urami'; 12510 } else { 12511 result += withoutSuffix || isFuture ? 'ur' : 'urami'; 12512 } 12513 return result; 12514 case 'd': 12515 return withoutSuffix || isFuture ? 'en dan' : 'enim dnem'; 12516 case 'dd': 12517 if (number === 1) { 12518 result += withoutSuffix || isFuture ? 'dan' : 'dnem'; 12519 } else if (number === 2) { 12520 result += withoutSuffix || isFuture ? 'dni' : 'dnevoma'; 12521 } else { 12522 result += withoutSuffix || isFuture ? 'dni' : 'dnevi'; 12523 } 12524 return result; 12525 case 'M': 12526 return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem'; 12527 case 'MM': 12528 if (number === 1) { 12529 result += withoutSuffix || isFuture ? 'mesec' : 'mesecem'; 12530 } else if (number === 2) { 12531 result += withoutSuffix || isFuture ? 'meseca' : 'mesecema'; 12532 } else if (number < 5) { 12533 result += withoutSuffix || isFuture ? 'mesece' : 'meseci'; 12534 } else { 12535 result += withoutSuffix || isFuture ? 'mesecev' : 'meseci'; 12536 } 12537 return result; 12538 case 'y': 12539 return withoutSuffix || isFuture ? 'eno leto' : 'enim letom'; 12540 case 'yy': 12541 if (number === 1) { 12542 result += withoutSuffix || isFuture ? 'leto' : 'letom'; 12543 } else if (number === 2) { 12544 result += withoutSuffix || isFuture ? 'leti' : 'letoma'; 12545 } else if (number < 5) { 12546 result += withoutSuffix || isFuture ? 'leta' : 'leti'; 12547 } else { 12548 result += withoutSuffix || isFuture ? 'let' : 'leti'; 12549 } 12550 return result; 12551 } 12552 } 12553 12554 hooks.defineLocale('sl', { 12555 months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'), 12556 monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'), 12557 monthsParseExact: true, 12558 weekdays : 'nedelja_ponedeljek_torek_sreda_Äetrtek_petek_sobota'.split('_'), 12559 weekdaysShort : 'ned._pon._tor._sre._Äet._pet._sob.'.split('_'), 12560 weekdaysMin : 'ne_po_to_sr_Äe_pe_so'.split('_'), 12561 weekdaysParseExact : true, 12562 longDateFormat : { 12563 LT : 'H:mm', 12564 LTS : 'H:mm:ss', 12565 L : 'DD.MM.YYYY', 12566 LL : 'D. MMMM YYYY', 12567 LLL : 'D. MMMM YYYY H:mm', 12568 LLLL : 'dddd, D. MMMM YYYY H:mm' 12569 }, 12570 calendar : { 12571 sameDay : '[danes ob] LT', 12572 nextDay : '[jutri ob] LT', 12573 12574 nextWeek : function () { 12575 switch (this.day()) { 12576 case 0: 12577 return '[v] [nedeljo] [ob] LT'; 12578 case 3: 12579 return '[v] [sredo] [ob] LT'; 12580 case 6: 12581 return '[v] [soboto] [ob] LT'; 12582 case 1: 12583 case 2: 12584 case 4: 12585 case 5: 12586 return '[v] dddd [ob] LT'; 12587 } 12588 }, 12589 lastDay : '[vÄeraj ob] LT', 12590 lastWeek : function () { 12591 switch (this.day()) { 12592 case 0: 12593 return '[prejÅ¡njo] [nedeljo] [ob] LT'; 12594 case 3: 12595 return '[prejÅ¡njo] [sredo] [ob] LT'; 12596 case 6: 12597 return '[prejÅ¡njo] [soboto] [ob] LT'; 12598 case 1: 12599 case 2: 12600 case 4: 12601 case 5: 12602 return '[prejÅ¡nji] dddd [ob] LT'; 12603 } 12604 }, 12605 sameElse : 'L' 12606 }, 12607 relativeTime : { 12608 future : 'Äez %s', 12609 past : 'pred %s', 12610 s : processRelativeTime$6, 12611 ss : processRelativeTime$6, 12612 m : processRelativeTime$6, 12613 mm : processRelativeTime$6, 12614 h : processRelativeTime$6, 12615 hh : processRelativeTime$6, 12616 d : processRelativeTime$6, 12617 dd : processRelativeTime$6, 12618 M : processRelativeTime$6, 12619 MM : processRelativeTime$6, 12620 y : processRelativeTime$6, 12621 yy : processRelativeTime$6 12622 }, 12623 dayOfMonthOrdinalParse: /\d{1,2}\./, 12624 ordinal : '%d.', 12625 week : { 12626 dow : 1, // Monday is the first day of the week. 12627 doy : 7 // The week that contains Jan 7th is the first week of the year. 12628 } 12629 }); 12630 12631 //! moment.js locale configuration 12632 12633 hooks.defineLocale('sq', { 12634 months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'), 12635 monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'), 12636 weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'), 12637 weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'), 12638 weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'), 12639 weekdaysParseExact : true, 12640 meridiemParse: /PD|MD/, 12641 isPM: function (input) { 12642 return input.charAt(0) === 'M'; 12643 }, 12644 meridiem : function (hours, minutes, isLower) { 12645 return hours < 12 ? 'PD' : 'MD'; 12646 }, 12647 longDateFormat : { 12648 LT : 'HH:mm', 12649 LTS : 'HH:mm:ss', 12650 L : 'DD/MM/YYYY', 12651 LL : 'D MMMM YYYY', 12652 LLL : 'D MMMM YYYY HH:mm', 12653 LLLL : 'dddd, D MMMM YYYY HH:mm' 12654 }, 12655 calendar : { 12656 sameDay : '[Sot në] LT', 12657 nextDay : '[Nesër në] LT', 12658 nextWeek : 'dddd [në] LT', 12659 lastDay : '[Dje në] LT', 12660 lastWeek : 'dddd [e kaluar në] LT', 12661 sameElse : 'L' 12662 }, 12663 relativeTime : { 12664 future : 'në %s', 12665 past : '%s më parë', 12666 s : 'disa sekonda', 12667 ss : '%d sekonda', 12668 m : 'një minutë', 12669 mm : '%d minuta', 12670 h : 'një orë', 12671 hh : '%d orë', 12672 d : 'një ditë', 12673 dd : '%d ditë', 12674 M : 'një muaj', 12675 MM : '%d muaj', 12676 y : 'një vit', 12677 yy : '%d vite' 12678 }, 12679 dayOfMonthOrdinalParse: /\d{1,2}\./, 12680 ordinal : '%d.', 12681 week : { 12682 dow : 1, // Monday is the first day of the week. 12683 doy : 4 // The week that contains Jan 4th is the first week of the year. 12684 } 12685 }); 12686 12687 //! moment.js locale configuration 12688 12689 var translator$1 = { 12690 words: { //Different grammatical cases 12691 ss: ['ÑекÑнда', 'ÑекÑнде', 'ÑекÑнди'], 12692 m: ['Ñедан минÑÑ', 'Ñедне минÑÑе'], 12693 mm: ['минÑÑ', 'минÑÑе', 'минÑÑа'], 12694 h: ['Ñедан ÑаÑ', 'Ñедног ÑаÑа'], 12695 hh: ['ÑаÑ', 'ÑаÑа', 'ÑаÑи'], 12696 dd: ['дан', 'дана', 'дана'], 12697 MM: ['меÑеÑ', 'меÑеÑа', 'меÑеÑи'], 12698 yy: ['година', 'године', 'година'] 12699 }, 12700 correctGrammaticalCase: function (number, wordKey) { 12701 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); 12702 }, 12703 translate: function (number, withoutSuffix, key) { 12704 var wordKey = translator$1.words[key]; 12705 if (key.length === 1) { 12706 return withoutSuffix ? wordKey[0] : wordKey[1]; 12707 } else { 12708 return number + ' ' + translator$1.correctGrammaticalCase(number, wordKey); 12709 } 12710 } 12711 }; 12712 12713 hooks.defineLocale('sr-cyrl', { 12714 months: 'ÑанÑаÑ_ÑебÑÑаÑ_маÑÑ_апÑил_маÑ_ÑÑн_ÑÑл_авгÑÑÑ_ÑепÑембаÑ_окÑобаÑ_новембаÑ_деÑембаÑ'.split('_'), 12715 monthsShort: 'Ñан._Ñеб._маÑ._апÑ._маÑ_ÑÑн_ÑÑл_авг._Ñеп._окÑ._нов._деÑ.'.split('_'), 12716 monthsParseExact: true, 12717 weekdays: 'недеÑа_понедеÑак_ÑÑоÑак_ÑÑеда_ÑеÑвÑÑак_пеÑак_ÑÑбоÑа'.split('_'), 12718 weekdaysShort: 'нед._пон._ÑÑо._ÑÑе._ÑеÑ._пеÑ._ÑÑб.'.split('_'), 12719 weekdaysMin: 'не_по_ÑÑ_ÑÑ_Ñе_пе_ÑÑ'.split('_'), 12720 weekdaysParseExact : true, 12721 longDateFormat: { 12722 LT: 'H:mm', 12723 LTS : 'H:mm:ss', 12724 L: 'DD.MM.YYYY', 12725 LL: 'D. MMMM YYYY', 12726 LLL: 'D. MMMM YYYY H:mm', 12727 LLLL: 'dddd, D. MMMM YYYY H:mm' 12728 }, 12729 calendar: { 12730 sameDay: '[Ð´Ð°Ð½Ð°Ñ Ñ] LT', 12731 nextDay: '[ÑÑÑÑа Ñ] LT', 12732 nextWeek: function () { 12733 switch (this.day()) { 12734 case 0: 12735 return '[Ñ] [недеÑÑ] [Ñ] LT'; 12736 case 3: 12737 return '[Ñ] [ÑÑедÑ] [Ñ] LT'; 12738 case 6: 12739 return '[Ñ] [ÑÑбоÑÑ] [Ñ] LT'; 12740 case 1: 12741 case 2: 12742 case 4: 12743 case 5: 12744 return '[Ñ] dddd [Ñ] LT'; 12745 } 12746 }, 12747 lastDay : '[ÑÑÑе Ñ] LT', 12748 lastWeek : function () { 12749 var lastWeekDays = [ 12750 '[пÑоÑле] [недеÑе] [Ñ] LT', 12751 '[пÑоÑлог] [понедеÑка] [Ñ] LT', 12752 '[пÑоÑлог] [ÑÑоÑка] [Ñ] LT', 12753 '[пÑоÑле] [ÑÑеде] [Ñ] LT', 12754 '[пÑоÑлог] [ÑеÑвÑÑка] [Ñ] LT', 12755 '[пÑоÑлог] [пеÑка] [Ñ] LT', 12756 '[пÑоÑле] [ÑÑбоÑе] [Ñ] LT' 12757 ]; 12758 return lastWeekDays[this.day()]; 12759 }, 12760 sameElse : 'L' 12761 }, 12762 relativeTime : { 12763 future : 'за %s', 12764 past : 'пÑе %s', 12765 s : 'неколико ÑекÑнди', 12766 ss : translator$1.translate, 12767 m : translator$1.translate, 12768 mm : translator$1.translate, 12769 h : translator$1.translate, 12770 hh : translator$1.translate, 12771 d : 'дан', 12772 dd : translator$1.translate, 12773 M : 'меÑеÑ', 12774 MM : translator$1.translate, 12775 y : 'годинÑ', 12776 yy : translator$1.translate 12777 }, 12778 dayOfMonthOrdinalParse: /\d{1,2}\./, 12779 ordinal : '%d.', 12780 week : { 12781 dow : 1, // Monday is the first day of the week. 12782 doy : 7 // The week that contains Jan 7th is the first week of the year. 12783 } 12784 }); 12785 12786 //! moment.js locale configuration 12787 12788 var translator$2 = { 12789 words: { //Different grammatical cases 12790 ss: ['sekunda', 'sekunde', 'sekundi'], 12791 m: ['jedan minut', 'jedne minute'], 12792 mm: ['minut', 'minute', 'minuta'], 12793 h: ['jedan sat', 'jednog sata'], 12794 hh: ['sat', 'sata', 'sati'], 12795 dd: ['dan', 'dana', 'dana'], 12796 MM: ['mesec', 'meseca', 'meseci'], 12797 yy: ['godina', 'godine', 'godina'] 12798 }, 12799 correctGrammaticalCase: function (number, wordKey) { 12800 return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]); 12801 }, 12802 translate: function (number, withoutSuffix, key) { 12803 var wordKey = translator$2.words[key]; 12804 if (key.length === 1) { 12805 return withoutSuffix ? wordKey[0] : wordKey[1]; 12806 } else { 12807 return number + ' ' + translator$2.correctGrammaticalCase(number, wordKey); 12808 } 12809 } 12810 }; 12811 12812 hooks.defineLocale('sr', { 12813 months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'), 12814 monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'), 12815 monthsParseExact: true, 12816 weekdays: 'nedelja_ponedeljak_utorak_sreda_Äetvrtak_petak_subota'.split('_'), 12817 weekdaysShort: 'ned._pon._uto._sre._Äet._pet._sub.'.split('_'), 12818 weekdaysMin: 'ne_po_ut_sr_Äe_pe_su'.split('_'), 12819 weekdaysParseExact : true, 12820 longDateFormat: { 12821 LT: 'H:mm', 12822 LTS : 'H:mm:ss', 12823 L: 'DD.MM.YYYY', 12824 LL: 'D. MMMM YYYY', 12825 LLL: 'D. MMMM YYYY H:mm', 12826 LLLL: 'dddd, D. MMMM YYYY H:mm' 12827 }, 12828 calendar: { 12829 sameDay: '[danas u] LT', 12830 nextDay: '[sutra u] LT', 12831 nextWeek: function () { 12832 switch (this.day()) { 12833 case 0: 12834 return '[u] [nedelju] [u] LT'; 12835 case 3: 12836 return '[u] [sredu] [u] LT'; 12837 case 6: 12838 return '[u] [subotu] [u] LT'; 12839 case 1: 12840 case 2: 12841 case 4: 12842 case 5: 12843 return '[u] dddd [u] LT'; 12844 } 12845 }, 12846 lastDay : '[juÄe u] LT', 12847 lastWeek : function () { 12848 var lastWeekDays = [ 12849 '[proÅ¡le] [nedelje] [u] LT', 12850 '[proÅ¡log] [ponedeljka] [u] LT', 12851 '[proÅ¡log] [utorka] [u] LT', 12852 '[proÅ¡le] [srede] [u] LT', 12853 '[proÅ¡log] [Äetvrtka] [u] LT', 12854 '[proÅ¡log] [petka] [u] LT', 12855 '[proÅ¡le] [subote] [u] LT' 12856 ]; 12857 return lastWeekDays[this.day()]; 12858 }, 12859 sameElse : 'L' 12860 }, 12861 relativeTime : { 12862 future : 'za %s', 12863 past : 'pre %s', 12864 s : 'nekoliko sekundi', 12865 ss : translator$2.translate, 12866 m : translator$2.translate, 12867 mm : translator$2.translate, 12868 h : translator$2.translate, 12869 hh : translator$2.translate, 12870 d : 'dan', 12871 dd : translator$2.translate, 12872 M : 'mesec', 12873 MM : translator$2.translate, 12874 y : 'godinu', 12875 yy : translator$2.translate 12876 }, 12877 dayOfMonthOrdinalParse: /\d{1,2}\./, 12878 ordinal : '%d.', 12879 week : { 12880 dow : 1, // Monday is the first day of the week. 12881 doy : 7 // The week that contains Jan 7th is the first week of the year. 12882 } 12883 }); 12884 12885 //! moment.js locale configuration 12886 12887 hooks.defineLocale('ss', { 12888 months : "Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni".split('_'), 12889 monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'), 12890 weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'), 12891 weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'), 12892 weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'), 12893 weekdaysParseExact : true, 12894 longDateFormat : { 12895 LT : 'h:mm A', 12896 LTS : 'h:mm:ss A', 12897 L : 'DD/MM/YYYY', 12898 LL : 'D MMMM YYYY', 12899 LLL : 'D MMMM YYYY h:mm A', 12900 LLLL : 'dddd, D MMMM YYYY h:mm A' 12901 }, 12902 calendar : { 12903 sameDay : '[Namuhla nga] LT', 12904 nextDay : '[Kusasa nga] LT', 12905 nextWeek : 'dddd [nga] LT', 12906 lastDay : '[Itolo nga] LT', 12907 lastWeek : 'dddd [leliphelile] [nga] LT', 12908 sameElse : 'L' 12909 }, 12910 relativeTime : { 12911 future : 'nga %s', 12912 past : 'wenteka nga %s', 12913 s : 'emizuzwana lomcane', 12914 ss : '%d mzuzwana', 12915 m : 'umzuzu', 12916 mm : '%d emizuzu', 12917 h : 'lihora', 12918 hh : '%d emahora', 12919 d : 'lilanga', 12920 dd : '%d emalanga', 12921 M : 'inyanga', 12922 MM : '%d tinyanga', 12923 y : 'umnyaka', 12924 yy : '%d iminyaka' 12925 }, 12926 meridiemParse: /ekuseni|emini|entsambama|ebusuku/, 12927 meridiem : function (hours, minutes, isLower) { 12928 if (hours < 11) { 12929 return 'ekuseni'; 12930 } else if (hours < 15) { 12931 return 'emini'; 12932 } else if (hours < 19) { 12933 return 'entsambama'; 12934 } else { 12935 return 'ebusuku'; 12936 } 12937 }, 12938 meridiemHour : function (hour, meridiem) { 12939 if (hour === 12) { 12940 hour = 0; 12941 } 12942 if (meridiem === 'ekuseni') { 12943 return hour; 12944 } else if (meridiem === 'emini') { 12945 return hour >= 11 ? hour : hour + 12; 12946 } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') { 12947 if (hour === 0) { 12948 return 0; 12949 } 12950 return hour + 12; 12951 } 12952 }, 12953 dayOfMonthOrdinalParse: /\d{1,2}/, 12954 ordinal : '%d', 12955 week : { 12956 dow : 1, // Monday is the first day of the week. 12957 doy : 4 // The week that contains Jan 4th is the first week of the year. 12958 } 12959 }); 12960 12961 //! moment.js locale configuration 12962 12963 hooks.defineLocale('sv', { 12964 months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'), 12965 monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'), 12966 weekdays : 'söndag_mÃ¥ndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'), 12967 weekdaysShort : 'sön_mÃ¥n_tis_ons_tor_fre_lör'.split('_'), 12968 weekdaysMin : 'sö_mÃ¥_ti_on_to_fr_lö'.split('_'), 12969 longDateFormat : { 12970 LT : 'HH:mm', 12971 LTS : 'HH:mm:ss', 12972 L : 'YYYY-MM-DD', 12973 LL : 'D MMMM YYYY', 12974 LLL : 'D MMMM YYYY [kl.] HH:mm', 12975 LLLL : 'dddd D MMMM YYYY [kl.] HH:mm', 12976 lll : 'D MMM YYYY HH:mm', 12977 llll : 'ddd D MMM YYYY HH:mm' 12978 }, 12979 calendar : { 12980 sameDay: '[Idag] LT', 12981 nextDay: '[Imorgon] LT', 12982 lastDay: '[IgÃ¥r] LT', 12983 nextWeek: '[PÃ¥] dddd LT', 12984 lastWeek: '[I] dddd[s] LT', 12985 sameElse: 'L' 12986 }, 12987 relativeTime : { 12988 future : 'om %s', 12989 past : 'för %s sedan', 12990 s : 'nÃ¥gra sekunder', 12991 ss : '%d sekunder', 12992 m : 'en minut', 12993 mm : '%d minuter', 12994 h : 'en timme', 12995 hh : '%d timmar', 12996 d : 'en dag', 12997 dd : '%d dagar', 12998 M : 'en mÃ¥nad', 12999 MM : '%d mÃ¥nader', 13000 y : 'ett Ã¥r', 13001 yy : '%d Ã¥r' 13002 }, 13003 dayOfMonthOrdinalParse: /\d{1,2}(e|a)/, 13004 ordinal : function (number) { 13005 var b = number % 10, 13006 output = (~~(number % 100 / 10) === 1) ? 'e' : 13007 (b === 1) ? 'a' : 13008 (b === 2) ? 'a' : 13009 (b === 3) ? 'e' : 'e'; 13010 return number + output; 13011 }, 13012 week : { 13013 dow : 1, // Monday is the first day of the week. 13014 doy : 4 // The week that contains Jan 4th is the first week of the year. 13015 } 13016 }); 13017 13018 //! moment.js locale configuration 13019 13020 hooks.defineLocale('sw', { 13021 months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'), 13022 monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'), 13023 weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'), 13024 weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'), 13025 weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'), 13026 weekdaysParseExact : true, 13027 longDateFormat : { 13028 LT : 'HH:mm', 13029 LTS : 'HH:mm:ss', 13030 L : 'DD.MM.YYYY', 13031 LL : 'D MMMM YYYY', 13032 LLL : 'D MMMM YYYY HH:mm', 13033 LLLL : 'dddd, D MMMM YYYY HH:mm' 13034 }, 13035 calendar : { 13036 sameDay : '[leo saa] LT', 13037 nextDay : '[kesho saa] LT', 13038 nextWeek : '[wiki ijayo] dddd [saat] LT', 13039 lastDay : '[jana] LT', 13040 lastWeek : '[wiki iliyopita] dddd [saat] LT', 13041 sameElse : 'L' 13042 }, 13043 relativeTime : { 13044 future : '%s baadaye', 13045 past : 'tokea %s', 13046 s : 'hivi punde', 13047 ss : 'sekunde %d', 13048 m : 'dakika moja', 13049 mm : 'dakika %d', 13050 h : 'saa limoja', 13051 hh : 'masaa %d', 13052 d : 'siku moja', 13053 dd : 'masiku %d', 13054 M : 'mwezi mmoja', 13055 MM : 'miezi %d', 13056 y : 'mwaka mmoja', 13057 yy : 'miaka %d' 13058 }, 13059 week : { 13060 dow : 1, // Monday is the first day of the week. 13061 doy : 7 // The week that contains Jan 7th is the first week of the year. 13062 } 13063 }); 13064 13065 //! moment.js locale configuration 13066 13067 var symbolMap$f = { 13068 '1': '௧', 13069 '2': '௨', 13070 '3': '௩', 13071 '4': '௪', 13072 '5': '௫', 13073 '6': '௬', 13074 '7': 'à¯', 13075 '8': '௮', 13076 '9': '௯', 13077 '0': '௦' 13078 }, numberMap$e = { 13079 '௧': '1', 13080 '௨': '2', 13081 '௩': '3', 13082 '௪': '4', 13083 '௫': '5', 13084 '௬': '6', 13085 'à¯': '7', 13086 '௮': '8', 13087 '௯': '9', 13088 '௦': '0' 13089 }; 13090 13091 hooks.defineLocale('ta', { 13092 months : 'à®à®©à®µà®°à®¿_பிபà¯à®°à®µà®°à®¿_மாரà¯à®à¯_à®à®ªà¯à®°à®²à¯_à®®à¯_à®à¯à®©à¯_à®à¯à®²à¯_à®à®à®¸à¯à®à¯_à®à¯à®ªà¯à®à¯à®®à¯à®ªà®°à¯_à® à®à¯à®à¯à®¾à®ªà®°à¯_நவமà¯à®ªà®°à¯_à®à®¿à®à®®à¯à®ªà®°à¯'.split('_'), 13093 monthsShort : 'à®à®©à®µà®°à®¿_பிபà¯à®°à®µà®°à®¿_மாரà¯à®à¯_à®à®ªà¯à®°à®²à¯_à®®à¯_à®à¯à®©à¯_à®à¯à®²à¯_à®à®à®¸à¯à®à¯_à®à¯à®ªà¯à®à¯à®®à¯à®ªà®°à¯_à® à®à¯à®à¯à®¾à®ªà®°à¯_நவமà¯à®ªà®°à¯_à®à®¿à®à®®à¯à®ªà®°à¯'.split('_'), 13094 weekdays : 'à®à®¾à®¯à®¿à®±à¯à®±à¯à®à¯à®à®¿à®´à®®à¯_திà®à¯à®à®à¯à®à®¿à®´à®®à¯_à®à¯à®µà¯à®µà®¾à®¯à¯à®à®¿à®´à®®à¯_பà¯à®¤à®©à¯à®à®¿à®´à®®à¯_வியாழà®à¯à®à®¿à®´à®®à¯_வà¯à®³à¯à®³à®¿à®à¯à®à®¿à®´à®®à¯_à®à®©à®¿à®à¯à®à®¿à®´à®®à¯'.split('_'), 13095 weekdaysShort : 'à®à®¾à®¯à®¿à®±à¯_திà®à¯à®à®³à¯_à®à¯à®µà¯à®µà®¾à®¯à¯_பà¯à®¤à®©à¯_வியாழனà¯_வà¯à®³à¯à®³à®¿_à®à®©à®¿'.split('_'), 13096 weekdaysMin : 'à®à®¾_தி_à®à¯_பà¯_வி_வà¯_à®'.split('_'), 13097 longDateFormat : { 13098 LT : 'HH:mm', 13099 LTS : 'HH:mm:ss', 13100 L : 'DD/MM/YYYY', 13101 LL : 'D MMMM YYYY', 13102 LLL : 'D MMMM YYYY, HH:mm', 13103 LLLL : 'dddd, D MMMM YYYY, HH:mm' 13104 }, 13105 calendar : { 13106 sameDay : '[à®à®©à¯à®±à¯] LT', 13107 nextDay : '[நாளà¯] LT', 13108 nextWeek : 'dddd, LT', 13109 lastDay : '[நà¯à®±à¯à®±à¯] LT', 13110 lastWeek : '[à®à®à®¨à¯à®¤ வாரமà¯] dddd, LT', 13111 sameElse : 'L' 13112 }, 13113 relativeTime : { 13114 future : '%s à®à®²à¯', 13115 past : '%s à®®à¯à®©à¯', 13116 s : 'à®à®°à¯ à®à®¿à®² விநாà®à®¿à®à®³à¯', 13117 ss : '%d விநாà®à®¿à®à®³à¯', 13118 m : 'à®à®°à¯ நிமிà®à®®à¯', 13119 mm : '%d நிமிà®à®à¯à®à®³à¯', 13120 h : 'à®à®°à¯ மணி நà¯à®°à®®à¯', 13121 hh : '%d மணி நà¯à®°à®®à¯', 13122 d : 'à®à®°à¯ நாளà¯', 13123 dd : '%d நாà®à¯à®à®³à¯', 13124 M : 'à®à®°à¯ மாதமà¯', 13125 MM : '%d மாதà®à¯à®à®³à¯', 13126 y : 'à®à®°à¯ வரà¯à®à®®à¯', 13127 yy : '%d à®à®£à¯à®à¯à®à®³à¯' 13128 }, 13129 dayOfMonthOrdinalParse: /\d{1,2}வதà¯/, 13130 ordinal : function (number) { 13131 return number + 'வதà¯'; 13132 }, 13133 preparse: function (string) { 13134 return string.replace(/[௧௨௩௪௫௬à¯à¯®à¯¯à¯¦]/g, function (match) { 13135 return numberMap$e[match]; 13136 }); 13137 }, 13138 postformat: function (string) { 13139 return string.replace(/\d/g, function (match) { 13140 return symbolMap$f[match]; 13141 }); 13142 }, 13143 // refer http://ta.wikipedia.org/s/1er1 13144 meridiemParse: /யாமமà¯|வà¯à®à®±à¯|à®à®¾à®²à¯|நணà¯à®ªà®à®²à¯|à®à®±à¯à®ªà®¾à®à¯|மாலà¯/, 13145 meridiem : function (hour, minute, isLower) { 13146 if (hour < 2) { 13147 return ' யாமமà¯'; 13148 } else if (hour < 6) { 13149 return ' வà¯à®à®±à¯'; // வà¯à®à®±à¯ 13150 } else if (hour < 10) { 13151 return ' à®à®¾à®²à¯'; // à®à®¾à®²à¯ 13152 } else if (hour < 14) { 13153 return ' நணà¯à®ªà®à®²à¯'; // நணà¯à®ªà®à®²à¯ 13154 } else if (hour < 18) { 13155 return ' à®à®±à¯à®ªà®¾à®à¯'; // à®à®±à¯à®ªà®¾à®à¯ 13156 } else if (hour < 22) { 13157 return ' மாலà¯'; // மால௠13158 } else { 13159 return ' யாமமà¯'; 13160 } 13161 }, 13162 meridiemHour : function (hour, meridiem) { 13163 if (hour === 12) { 13164 hour = 0; 13165 } 13166 if (meridiem === 'யாமமà¯') { 13167 return hour < 2 ? hour : hour + 12; 13168 } else if (meridiem === 'வà¯à®à®±à¯' || meridiem === 'à®à®¾à®²à¯') { 13169 return hour; 13170 } else if (meridiem === 'நணà¯à®ªà®à®²à¯') { 13171 return hour >= 10 ? hour : hour + 12; 13172 } else { 13173 return hour + 12; 13174 } 13175 }, 13176 week : { 13177 dow : 0, // Sunday is the first day of the week. 13178 doy : 6 // The week that contains Jan 6th is the first week of the year. 13179 } 13180 }); 13181 13182 //! moment.js locale configuration 13183 13184 hooks.defineLocale('te', { 13185 months : 'à°à°¨à°µà°°à°¿_à°«à°¿à°¬à±à°°à°µà°°à°¿_మారà±à°à°¿_à°à°ªà±à°°à°¿à°²à±_à°®à±_à°à±à°¨à±_à°à±à°²à±_à°à°à°¸à±à°à±_à°¸à±à°ªà±à°à±à°à°¬à°°à±_à° à°à±à°à±à°¬à°°à±_నవà°à°¬à°°à±_à°¡à°¿à°¸à±à°à°¬à°°à±'.split('_'), 13186 monthsShort : 'à°à°¨._à°«à°¿à°¬à±à°°._మారà±à°à°¿_à°à°ªà±à°°à°¿._à°®à±_à°à±à°¨à±_à°à±à°²à±_à°à°._à°¸à±à°ªà±._à° à°à±à°à±._నవ._à°¡à°¿à°¸à±.'.split('_'), 13187 monthsParseExact : true, 13188 weekdays : 'à°à°¦à°¿à°µà°¾à°°à°_à°¸à±à°®à°µà°¾à°°à°_à°®à°à°à°³à°µà°¾à°°à°_à°¬à±à°§à°µà°¾à°°à°_à°à±à°°à±à°µà°¾à°°à°_à°¶à±à°à±à°°à°µà°¾à°°à°_శనివారà°'.split('_'), 13189 weekdaysShort : 'à°à°¦à°¿_à°¸à±à°®_à°®à°à°à°³_à°¬à±à°§_à°à±à°°à±_à°¶à±à°à±à°°_శని'.split('_'), 13190 weekdaysMin : 'à°_à°¸à±_à°®à°_à°¬à±_à°à±_à°¶à±_à°¶'.split('_'), 13191 longDateFormat : { 13192 LT : 'A h:mm', 13193 LTS : 'A h:mm:ss', 13194 L : 'DD/MM/YYYY', 13195 LL : 'D MMMM YYYY', 13196 LLL : 'D MMMM YYYY, A h:mm', 13197 LLLL : 'dddd, D MMMM YYYY, A h:mm' 13198 }, 13199 calendar : { 13200 sameDay : '[à°¨à±à°¡à±] LT', 13201 nextDay : '[à°°à±à°ªà±] LT', 13202 nextWeek : 'dddd, LT', 13203 lastDay : '[నినà±à°¨] LT', 13204 lastWeek : '[à°à°¤] dddd, LT', 13205 sameElse : 'L' 13206 }, 13207 relativeTime : { 13208 future : '%s à°²à±', 13209 past : '%s à°à±à°°à°¿à°¤à°', 13210 s : 'à°à±à°¨à±à°¨à°¿ à°à±à°·à°£à°¾à°²à±', 13211 ss : '%d à°¸à±à°à°¨à±à°²à±', 13212 m : 'à°à° నిమిషà°', 13213 mm : '%d నిమిషాలà±', 13214 h : 'à°à° à°à°à°', 13215 hh : '%d à°à°à°à°²à±', 13216 d : 'à°à° à°°à±à°à±', 13217 dd : '%d à°°à±à°à±à°²à±', 13218 M : 'à°à° à°¨à±à°²', 13219 MM : '%d à°¨à±à°²à°²à±', 13220 y : 'à°à° à°¸à°à°µà°¤à±à°¸à°°à°', 13221 yy : '%d à°¸à°à°µà°¤à±à°¸à°°à°¾à°²à±' 13222 }, 13223 dayOfMonthOrdinalParse : /\d{1,2}à°µ/, 13224 ordinal : '%dà°µ', 13225 meridiemParse: /రాతà±à°°à°¿|à°à°¦à°¯à°|మధà±à°¯à°¾à°¹à±à°¨à°|సాయà°à°¤à±à°°à°/, 13226 meridiemHour : function (hour, meridiem) { 13227 if (hour === 12) { 13228 hour = 0; 13229 } 13230 if (meridiem === 'రాతà±à°°à°¿') { 13231 return hour < 4 ? hour : hour + 12; 13232 } else if (meridiem === 'à°à°¦à°¯à°') { 13233 return hour; 13234 } else if (meridiem === 'మధà±à°¯à°¾à°¹à±à°¨à°') { 13235 return hour >= 10 ? hour : hour + 12; 13236 } else if (meridiem === 'సాయà°à°¤à±à°°à°') { 13237 return hour + 12; 13238 } 13239 }, 13240 meridiem : function (hour, minute, isLower) { 13241 if (hour < 4) { 13242 return 'రాతà±à°°à°¿'; 13243 } else if (hour < 10) { 13244 return 'à°à°¦à°¯à°'; 13245 } else if (hour < 17) { 13246 return 'మధà±à°¯à°¾à°¹à±à°¨à°'; 13247 } else if (hour < 20) { 13248 return 'సాయà°à°¤à±à°°à°'; 13249 } else { 13250 return 'రాతà±à°°à°¿'; 13251 } 13252 }, 13253 week : { 13254 dow : 0, // Sunday is the first day of the week. 13255 doy : 6 // The week that contains Jan 6th is the first week of the year. 13256 } 13257 }); 13258 13259 //! moment.js locale configuration 13260 13261 hooks.defineLocale('tet', { 13262 months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'), 13263 monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'), 13264 weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'), 13265 weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'), 13266 weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'), 13267 longDateFormat : { 13268 LT : 'HH:mm', 13269 LTS : 'HH:mm:ss', 13270 L : 'DD/MM/YYYY', 13271 LL : 'D MMMM YYYY', 13272 LLL : 'D MMMM YYYY HH:mm', 13273 LLLL : 'dddd, D MMMM YYYY HH:mm' 13274 }, 13275 calendar : { 13276 sameDay: '[Ohin iha] LT', 13277 nextDay: '[Aban iha] LT', 13278 nextWeek: 'dddd [iha] LT', 13279 lastDay: '[Horiseik iha] LT', 13280 lastWeek: 'dddd [semana kotuk] [iha] LT', 13281 sameElse: 'L' 13282 }, 13283 relativeTime : { 13284 future : 'iha %s', 13285 past : '%s liuba', 13286 s : 'minutu balun', 13287 ss : 'minutu %d', 13288 m : 'minutu ida', 13289 mm : 'minutu %d', 13290 h : 'oras ida', 13291 hh : 'oras %d', 13292 d : 'loron ida', 13293 dd : 'loron %d', 13294 M : 'fulan ida', 13295 MM : 'fulan %d', 13296 y : 'tinan ida', 13297 yy : 'tinan %d' 13298 }, 13299 dayOfMonthOrdinalParse: /\d{1,2}(st|nd|rd|th)/, 13300 ordinal : function (number) { 13301 var b = number % 10, 13302 output = (~~(number % 100 / 10) === 1) ? 'th' : 13303 (b === 1) ? 'st' : 13304 (b === 2) ? 'nd' : 13305 (b === 3) ? 'rd' : 'th'; 13306 return number + output; 13307 }, 13308 week : { 13309 dow : 1, // Monday is the first day of the week. 13310 doy : 4 // The week that contains Jan 4th is the first week of the year. 13311 } 13312 }); 13313 13314 //! moment.js locale configuration 13315 13316 var suffixes$3 = { 13317 0: '-Ñм', 13318 1: '-Ñм', 13319 2: '-Ñм', 13320 3: '-Ñм', 13321 4: '-Ñм', 13322 5: '-Ñм', 13323 6: '-Ñм', 13324 7: '-Ñм', 13325 8: '-Ñм', 13326 9: '-Ñм', 13327 10: '-Ñм', 13328 12: '-Ñм', 13329 13: '-Ñм', 13330 20: '-Ñм', 13331 30: '-Ñм', 13332 40: '-Ñм', 13333 50: '-Ñм', 13334 60: '-Ñм', 13335 70: '-Ñм', 13336 80: '-Ñм', 13337 90: '-Ñм', 13338 100: '-Ñм' 13339 }; 13340 13341 hooks.defineLocale('tg', { 13342 months : 'ÑнваÑ_ÑевÑал_маÑÑ_апÑел_май_иÑн_иÑл_авгÑÑÑ_ÑенÑÑбÑ_окÑÑбÑ_ноÑбÑ_декабÑ'.split('_'), 13343 monthsShort : 'Ñнв_Ñев_маÑ_апÑ_май_иÑн_иÑл_авг_Ñен_окÑ_ноÑ_дек'.split('_'), 13344 weekdays : 'ÑкÑанбе_дÑÑанбе_ÑеÑанбе_ÑоÑÑанбе_панҷÑанбе_Ò·ÑмÑа_Ñанбе'.split('_'), 13345 weekdaysShort : 'ÑÑб_дÑб_ÑÑб_ÑÑб_пÑб_Ò·Ñм_Ñнб'.split('_'), 13346 weekdaysMin : 'ÑÑ_дÑ_ÑÑ_ÑÑ_пÑ_ҷм_Ñб'.split('_'), 13347 longDateFormat : { 13348 LT : 'HH:mm', 13349 LTS : 'HH:mm:ss', 13350 L : 'DD/MM/YYYY', 13351 LL : 'D MMMM YYYY', 13352 LLL : 'D MMMM YYYY HH:mm', 13353 LLLL : 'dddd, D MMMM YYYY HH:mm' 13354 }, 13355 calendar : { 13356 sameDay : '[ÐмÑӯз ÑоаÑи] LT', 13357 nextDay : '[Ðагоҳ ÑоаÑи] LT', 13358 lastDay : '[ÐиÑӯз ÑоаÑи] LT', 13359 nextWeek : 'dddd[и] [ҳаÑÑаи оÑнда ÑоаÑи] LT', 13360 lastWeek : 'dddd[и] [ҳаÑÑаи гÑзаÑÑа ÑоаÑи] LT', 13361 sameElse : 'L' 13362 }, 13363 relativeTime : { 13364 future : 'баÑди %s', 13365 past : '%s пеÑ', 13366 s : 'ÑкÑанд ÑониÑ', 13367 m : 'Ñк даÒиÒа', 13368 mm : '%d даÒиÒа', 13369 h : 'Ñк ÑоаÑ', 13370 hh : '%d ÑоаÑ', 13371 d : 'Ñк Ñӯз', 13372 dd : '%d Ñӯз', 13373 M : 'Ñк моҳ', 13374 MM : '%d моҳ', 13375 y : 'Ñк Ñол', 13376 yy : '%d Ñол' 13377 }, 13378 meridiemParse: /Ñаб|ÑÑбҳ|Ñӯз|бегоҳ/, 13379 meridiemHour: function (hour, meridiem) { 13380 if (hour === 12) { 13381 hour = 0; 13382 } 13383 if (meridiem === 'Ñаб') { 13384 return hour < 4 ? hour : hour + 12; 13385 } else if (meridiem === 'ÑÑбҳ') { 13386 return hour; 13387 } else if (meridiem === 'Ñӯз') { 13388 return hour >= 11 ? hour : hour + 12; 13389 } else if (meridiem === 'бегоҳ') { 13390 return hour + 12; 13391 } 13392 }, 13393 meridiem: function (hour, minute, isLower) { 13394 if (hour < 4) { 13395 return 'Ñаб'; 13396 } else if (hour < 11) { 13397 return 'ÑÑбҳ'; 13398 } else if (hour < 16) { 13399 return 'Ñӯз'; 13400 } else if (hour < 19) { 13401 return 'бегоҳ'; 13402 } else { 13403 return 'Ñаб'; 13404 } 13405 }, 13406 dayOfMonthOrdinalParse: /\d{1,2}-(Ñм|Ñм)/, 13407 ordinal: function (number) { 13408 var a = number % 10, 13409 b = number >= 100 ? 100 : null; 13410 return number + (suffixes$3[number] || suffixes$3[a] || suffixes$3[b]); 13411 }, 13412 week : { 13413 dow : 1, // Monday is the first day of the week. 13414 doy : 7 // The week that contains Jan 1th is the first week of the year. 13415 } 13416 }); 13417 13418 //! moment.js locale configuration 13419 13420 hooks.defineLocale('th', { 13421 months : 'มà¸à¸£à¸²à¸à¸¡_à¸à¸¸à¸¡à¸ าà¸à¸±à¸à¸à¹_มีà¸à¸²à¸à¸¡_à¹à¸¡à¸©à¸²à¸¢à¸_à¸à¸¤à¸©à¸ าà¸à¸¡_มิà¸à¸¸à¸à¸²à¸¢à¸_à¸à¸£à¸à¸à¸²à¸à¸¡_สิà¸à¸«à¸²à¸à¸¡_à¸à¸±à¸à¸¢à¸²à¸¢à¸_à¸à¸¸à¸¥à¸²à¸à¸¡_à¸à¸¤à¸¨à¸à¸´à¸à¸²à¸¢à¸_à¸à¸±à¸à¸§à¸²à¸à¸¡'.split('_'), 13422 monthsShort : 'ม.à¸._à¸.à¸._มี.à¸._à¹à¸¡.ย._à¸.à¸._มิ.ย._à¸.à¸._ส.à¸._à¸.ย._à¸.à¸._à¸.ย._à¸.à¸.'.split('_'), 13423 monthsParseExact: true, 13424 weekdays : 'à¸à¸²à¸à¸´à¸à¸¢à¹_à¸à¸±à¸à¸à¸£à¹_à¸à¸±à¸à¸à¸²à¸£_à¸à¸¸à¸_à¸à¸¤à¸«à¸±à¸ªà¸à¸à¸µ_ศุà¸à¸£à¹_à¹à¸ªà¸²à¸£à¹'.split('_'), 13425 weekdaysShort : 'à¸à¸²à¸à¸´à¸à¸¢à¹_à¸à¸±à¸à¸à¸£à¹_à¸à¸±à¸à¸à¸²à¸£_à¸à¸¸à¸_à¸à¸¤à¸«à¸±à¸ª_ศุà¸à¸£à¹_à¹à¸ªà¸²à¸£à¹'.split('_'), // yes, three characters difference 13426 weekdaysMin : 'à¸à¸²._à¸._à¸._à¸._à¸à¸¤._ศ._ส.'.split('_'), 13427 weekdaysParseExact : true, 13428 longDateFormat : { 13429 LT : 'H:mm', 13430 LTS : 'H:mm:ss', 13431 L : 'DD/MM/YYYY', 13432 LL : 'D MMMM YYYY', 13433 LLL : 'D MMMM YYYY à¹à¸§à¸¥à¸² H:mm', 13434 LLLL : 'วัà¸ddddà¸à¸µà¹ D MMMM YYYY à¹à¸§à¸¥à¸² H:mm' 13435 }, 13436 meridiemParse: /à¸à¹à¸à¸à¹à¸à¸µà¹à¸¢à¸|หลัà¸à¹à¸à¸µà¹à¸¢à¸/, 13437 isPM: function (input) { 13438 return input === 'หลัà¸à¹à¸à¸µà¹à¸¢à¸'; 13439 }, 13440 meridiem : function (hour, minute, isLower) { 13441 if (hour < 12) { 13442 return 'à¸à¹à¸à¸à¹à¸à¸µà¹à¸¢à¸'; 13443 } else { 13444 return 'หลัà¸à¹à¸à¸µà¹à¸¢à¸'; 13445 } 13446 }, 13447 calendar : { 13448 sameDay : '[วัà¸à¸à¸µà¹ à¹à¸§à¸¥à¸²] LT', 13449 nextDay : '[à¸à¸£à¸¸à¹à¸à¸à¸µà¹ à¹à¸§à¸¥à¸²] LT', 13450 nextWeek : 'dddd[หà¸à¹à¸² à¹à¸§à¸¥à¸²] LT', 13451 lastDay : '[à¹à¸¡à¸·à¹à¸à¸§à¸²à¸à¸à¸µà¹ à¹à¸§à¸¥à¸²] LT', 13452 lastWeek : '[วัà¸]dddd[à¸à¸µà¹à¹à¸¥à¹à¸§ à¹à¸§à¸¥à¸²] LT', 13453 sameElse : 'L' 13454 }, 13455 relativeTime : { 13456 future : 'à¸à¸µà¸ %s', 13457 past : '%sà¸à¸µà¹à¹à¸¥à¹à¸§', 13458 s : 'à¹à¸¡à¹à¸à¸µà¹à¸§à¸´à¸à¸²à¸à¸µ', 13459 ss : '%d วิà¸à¸²à¸à¸µ', 13460 m : '1 à¸à¸²à¸à¸µ', 13461 mm : '%d à¸à¸²à¸à¸µ', 13462 h : '1 à¸à¸±à¹à¸§à¹à¸¡à¸', 13463 hh : '%d à¸à¸±à¹à¸§à¹à¸¡à¸', 13464 d : '1 วัà¸', 13465 dd : '%d วัà¸', 13466 M : '1 à¹à¸à¸·à¸à¸', 13467 MM : '%d à¹à¸à¸·à¸à¸', 13468 y : '1 à¸à¸µ', 13469 yy : '%d à¸à¸µ' 13470 } 13471 }); 13472 13473 //! moment.js locale configuration 13474 13475 hooks.defineLocale('tl-ph', { 13476 months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'), 13477 monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'), 13478 weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'), 13479 weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'), 13480 weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'), 13481 longDateFormat : { 13482 LT : 'HH:mm', 13483 LTS : 'HH:mm:ss', 13484 L : 'MM/D/YYYY', 13485 LL : 'MMMM D, YYYY', 13486 LLL : 'MMMM D, YYYY HH:mm', 13487 LLLL : 'dddd, MMMM DD, YYYY HH:mm' 13488 }, 13489 calendar : { 13490 sameDay: 'LT [ngayong araw]', 13491 nextDay: '[Bukas ng] LT', 13492 nextWeek: 'LT [sa susunod na] dddd', 13493 lastDay: 'LT [kahapon]', 13494 lastWeek: 'LT [noong nakaraang] dddd', 13495 sameElse: 'L' 13496 }, 13497 relativeTime : { 13498 future : 'sa loob ng %s', 13499 past : '%s ang nakalipas', 13500 s : 'ilang segundo', 13501 ss : '%d segundo', 13502 m : 'isang minuto', 13503 mm : '%d minuto', 13504 h : 'isang oras', 13505 hh : '%d oras', 13506 d : 'isang araw', 13507 dd : '%d araw', 13508 M : 'isang buwan', 13509 MM : '%d buwan', 13510 y : 'isang taon', 13511 yy : '%d taon' 13512 }, 13513 dayOfMonthOrdinalParse: /\d{1,2}/, 13514 ordinal : function (number) { 13515 return number; 13516 }, 13517 week : { 13518 dow : 1, // Monday is the first day of the week. 13519 doy : 4 // The week that contains Jan 4th is the first week of the year. 13520 } 13521 }); 13522 13523 //! moment.js locale configuration 13524 13525 var numbersNouns = 'pagh_waâ_chaâ_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_'); 13526 13527 function translateFuture(output) { 13528 var time = output; 13529 time = (output.indexOf('jaj') !== -1) ? 13530 time.slice(0, -3) + 'leS' : 13531 (output.indexOf('jar') !== -1) ? 13532 time.slice(0, -3) + 'waQ' : 13533 (output.indexOf('DIS') !== -1) ? 13534 time.slice(0, -3) + 'nem' : 13535 time + ' pIq'; 13536 return time; 13537 } 13538 13539 function translatePast(output) { 13540 var time = output; 13541 time = (output.indexOf('jaj') !== -1) ? 13542 time.slice(0, -3) + 'Huâ' : 13543 (output.indexOf('jar') !== -1) ? 13544 time.slice(0, -3) + 'wen' : 13545 (output.indexOf('DIS') !== -1) ? 13546 time.slice(0, -3) + 'ben' : 13547 time + ' ret'; 13548 return time; 13549 } 13550 13551 function translate$a(number, withoutSuffix, string, isFuture) { 13552 var numberNoun = numberAsNoun(number); 13553 switch (string) { 13554 case 'ss': 13555 return numberNoun + ' lup'; 13556 case 'mm': 13557 return numberNoun + ' tup'; 13558 case 'hh': 13559 return numberNoun + ' rep'; 13560 case 'dd': 13561 return numberNoun + ' jaj'; 13562 case 'MM': 13563 return numberNoun + ' jar'; 13564 case 'yy': 13565 return numberNoun + ' DIS'; 13566 } 13567 } 13568 13569 function numberAsNoun(number) { 13570 var hundred = Math.floor((number % 1000) / 100), 13571 ten = Math.floor((number % 100) / 10), 13572 one = number % 10, 13573 word = ''; 13574 if (hundred > 0) { 13575 word += numbersNouns[hundred] + 'vatlh'; 13576 } 13577 if (ten > 0) { 13578 word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH'; 13579 } 13580 if (one > 0) { 13581 word += ((word !== '') ? ' ' : '') + numbersNouns[one]; 13582 } 13583 return (word === '') ? 'pagh' : word; 13584 } 13585 13586 hooks.defineLocale('tlh', { 13587 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('_'), 13588 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('_'), 13589 monthsParseExact : true, 13590 weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), 13591 weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), 13592 weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'), 13593 longDateFormat : { 13594 LT : 'HH:mm', 13595 LTS : 'HH:mm:ss', 13596 L : 'DD.MM.YYYY', 13597 LL : 'D MMMM YYYY', 13598 LLL : 'D MMMM YYYY HH:mm', 13599 LLLL : 'dddd, D MMMM YYYY HH:mm' 13600 }, 13601 calendar : { 13602 sameDay: '[DaHjaj] LT', 13603 nextDay: '[waâleS] LT', 13604 nextWeek: 'LLL', 13605 lastDay: '[waâHuâ] LT', 13606 lastWeek: 'LLL', 13607 sameElse: 'L' 13608 }, 13609 relativeTime : { 13610 future : translateFuture, 13611 past : translatePast, 13612 s : 'puS lup', 13613 ss : translate$a, 13614 m : 'waâ tup', 13615 mm : translate$a, 13616 h : 'waâ rep', 13617 hh : translate$a, 13618 d : 'waâ jaj', 13619 dd : translate$a, 13620 M : 'waâ jar', 13621 MM : translate$a, 13622 y : 'waâ DIS', 13623 yy : translate$a 13624 }, 13625 dayOfMonthOrdinalParse: /\d{1,2}\./, 13626 ordinal : '%d.', 13627 week : { 13628 dow : 1, // Monday is the first day of the week. 13629 doy : 4 // The week that contains Jan 4th is the first week of the year. 13630 } 13631 }); 13632 13633 var suffixes$4 = { 13634 1: '\'inci', 13635 5: '\'inci', 13636 8: '\'inci', 13637 70: '\'inci', 13638 80: '\'inci', 13639 2: '\'nci', 13640 7: '\'nci', 13641 20: '\'nci', 13642 50: '\'nci', 13643 3: '\'üncü', 13644 4: '\'üncü', 13645 100: '\'üncü', 13646 6: '\'ncı', 13647 9: '\'uncu', 13648 10: '\'uncu', 13649 30: '\'uncu', 13650 60: '\'ıncı', 13651 90: '\'ıncı' 13652 }; 13653 13654 hooks.defineLocale('tr', { 13655 months : 'Ocak_Åubat_Mart_Nisan_Mayıs_Haziran_Temmuz_AÄustos_Eylül_Ekim_Kasım_Aralık'.split('_'), 13656 monthsShort : 'Oca_Åub_Mar_Nis_May_Haz_Tem_AÄu_Eyl_Eki_Kas_Ara'.split('_'), 13657 weekdays : 'Pazar_Pazartesi_Salı_ÃarÅamba_PerÅembe_Cuma_Cumartesi'.split('_'), 13658 weekdaysShort : 'Paz_Pts_Sal_Ãar_Per_Cum_Cts'.split('_'), 13659 weekdaysMin : 'Pz_Pt_Sa_Ãa_Pe_Cu_Ct'.split('_'), 13660 longDateFormat : { 13661 LT : 'HH:mm', 13662 LTS : 'HH:mm:ss', 13663 L : 'DD.MM.YYYY', 13664 LL : 'D MMMM YYYY', 13665 LLL : 'D MMMM YYYY HH:mm', 13666 LLLL : 'dddd, D MMMM YYYY HH:mm' 13667 }, 13668 calendar : { 13669 sameDay : '[bugün saat] LT', 13670 nextDay : '[yarın saat] LT', 13671 nextWeek : '[gelecek] dddd [saat] LT', 13672 lastDay : '[dün] LT', 13673 lastWeek : '[geçen] dddd [saat] LT', 13674 sameElse : 'L' 13675 }, 13676 relativeTime : { 13677 future : '%s sonra', 13678 past : '%s önce', 13679 s : 'birkaç saniye', 13680 ss : '%d saniye', 13681 m : 'bir dakika', 13682 mm : '%d dakika', 13683 h : 'bir saat', 13684 hh : '%d saat', 13685 d : 'bir gün', 13686 dd : '%d gün', 13687 M : 'bir ay', 13688 MM : '%d ay', 13689 y : 'bir yıl', 13690 yy : '%d yıl' 13691 }, 13692 ordinal: function (number, period) { 13693 switch (period) { 13694 case 'd': 13695 case 'D': 13696 case 'Do': 13697 case 'DD': 13698 return number; 13699 default: 13700 if (number === 0) { // special case for zero 13701 return number + '\'ıncı'; 13702 } 13703 var a = number % 10, 13704 b = number % 100 - a, 13705 c = number >= 100 ? 100 : null; 13706 return number + (suffixes$4[a] || suffixes$4[b] || suffixes$4[c]); 13707 } 13708 }, 13709 week : { 13710 dow : 1, // Monday is the first day of the week. 13711 doy : 7 // The week that contains Jan 7th is the first week of the year. 13712 } 13713 }); 13714 13715 //! moment.js locale configuration 13716 13717 // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals. 13718 // This is currently too difficult (maybe even impossible) to add. 13719 hooks.defineLocale('tzl', { 13720 months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'), 13721 monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'), 13722 weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'), 13723 weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'), 13724 weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'), 13725 longDateFormat : { 13726 LT : 'HH.mm', 13727 LTS : 'HH.mm.ss', 13728 L : 'DD.MM.YYYY', 13729 LL : 'D. MMMM [dallas] YYYY', 13730 LLL : 'D. MMMM [dallas] YYYY HH.mm', 13731 LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm' 13732 }, 13733 meridiemParse: /d\'o|d\'a/i, 13734 isPM : function (input) { 13735 return 'd\'o' === input.toLowerCase(); 13736 }, 13737 meridiem : function (hours, minutes, isLower) { 13738 if (hours > 11) { 13739 return isLower ? 'd\'o' : 'D\'O'; 13740 } else { 13741 return isLower ? 'd\'a' : 'D\'A'; 13742 } 13743 }, 13744 calendar : { 13745 sameDay : '[oxhi à ] LT', 13746 nextDay : '[demà à ] LT', 13747 nextWeek : 'dddd [à ] LT', 13748 lastDay : '[ieiri à ] LT', 13749 lastWeek : '[sür el] dddd [lasteu à ] LT', 13750 sameElse : 'L' 13751 }, 13752 relativeTime : { 13753 future : 'osprei %s', 13754 past : 'ja%s', 13755 s : processRelativeTime$7, 13756 ss : processRelativeTime$7, 13757 m : processRelativeTime$7, 13758 mm : processRelativeTime$7, 13759 h : processRelativeTime$7, 13760 hh : processRelativeTime$7, 13761 d : processRelativeTime$7, 13762 dd : processRelativeTime$7, 13763 M : processRelativeTime$7, 13764 MM : processRelativeTime$7, 13765 y : processRelativeTime$7, 13766 yy : processRelativeTime$7 13767 }, 13768 dayOfMonthOrdinalParse: /\d{1,2}\./, 13769 ordinal : '%d.', 13770 week : { 13771 dow : 1, // Monday is the first day of the week. 13772 doy : 4 // The week that contains Jan 4th is the first week of the year. 13773 } 13774 }); 13775 13776 function processRelativeTime$7(number, withoutSuffix, key, isFuture) { 13777 var format = { 13778 's': ['viensas secunds', '\'iensas secunds'], 13779 'ss': [number + ' secunds', '' + number + ' secunds'], 13780 'm': ['\'n mÃut', '\'iens mÃut'], 13781 'mm': [number + ' mÃuts', '' + number + ' mÃuts'], 13782 'h': ['\'n þora', '\'iensa þora'], 13783 'hh': [number + ' þoras', '' + number + ' þoras'], 13784 'd': ['\'n ziua', '\'iensa ziua'], 13785 'dd': [number + ' ziuas', '' + number + ' ziuas'], 13786 'M': ['\'n mes', '\'iens mes'], 13787 'MM': [number + ' mesen', '' + number + ' mesen'], 13788 'y': ['\'n ar', '\'iens ar'], 13789 'yy': [number + ' ars', '' + number + ' ars'] 13790 }; 13791 return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]); 13792 } 13793 13794 //! moment.js locale configuration 13795 13796 hooks.defineLocale('tzm-latn', {
13797 months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), 13798 monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_É£wÅ¡t_Å¡wtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'), 13799 weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), 13800 weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), 13801 weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiá¸yas'.split('_'), 13802 longDateFormat : { 13803 LT : 'HH:mm', 13804 LTS : 'HH:mm:ss', 13805 L : 'DD/MM/YYYY', 13806 LL : 'D MMMM YYYY', 13807 LLL : 'D MMMM YYYY HH:mm', 13808 LLLL : 'dddd D MMMM YYYY HH:mm' 13809 }, 13810 calendar : { 13811 sameDay: '[asdkh g] LT', 13812 nextDay: '[aska g] LT', 13813 nextWeek: 'dddd [g] LT', 13814 lastDay: '[assant g] LT', 13815 lastWeek: 'dddd [g] LT', 13816 sameElse: 'L' 13817 }, 13818 relativeTime : { 13819 future : 'dadkh s yan %s', 13820 past : 'yan %s', 13821 s : 'imik', 13822 ss : '%d imik', 13823 m : 'minuá¸', 13824 mm : '%d minuá¸', 13825 h : 'saÉa', 13826 hh : '%d tassaÉin', 13827 d : 'ass', 13828 dd : '%d ossan', 13829 M : 'ayowr', 13830 MM : '%d iyyirn', 13831 y : 'asgas', 13832 yy : '%d isgasn' 13833 }, 13834 week : { 13835 dow : 6, // Saturday is the first day of the week. 13836 doy : 12 // The week that contains Jan 12th is the first week of the year. 13837 } 13838 }); 13839 13840 //! moment.js locale configuration 13841 13842 hooks.defineLocale('tzm', { 13843 months : 'âµâµâµâ´°âµ¢âµ_â´±âµâ´°âµ¢âµ_âµâ´°âµâµ_âµâ´±âµâµâµ_âµâ´°âµ¢âµ¢âµ_âµ¢âµâµâµ¢âµ_âµ¢âµâµâµ¢âµâµ£_âµâµâµâµ_âµâµâµâ´°âµâ´±âµâµ_â´½âµâµâ´±âµ_âµâµâµ¡â´°âµâ´±âµâµ_â´·âµâµâµâ´±âµâµ'.split('_'), 13844 monthsShort : 'âµâµâµâ´°âµ¢âµ_â´±âµâ´°âµ¢âµ_âµâ´°âµâµ_âµâ´±âµâµâµ_âµâ´°âµ¢âµ¢âµ_âµ¢âµâµâµ¢âµ_âµ¢âµâµâµ¢âµâµ£_âµâµâµâµ_âµâµâµâ´°âµâ´±âµâµ_â´½âµâµâ´±âµ_âµâµâµ¡â´°âµâ´±âµâµ_â´·âµâµâµâ´±âµâµ'.split('_'), 13845 weekdays : 'â´°âµâ´°âµâ´°âµ_â´°âµ¢âµâ´°âµ_â´°âµâµâµâ´°âµ_â´°â´½âµâ´°âµ_ⴰⴽⵡⴰâµ_â´°âµâµâµâµ¡â´°âµ_â´°âµâµâ´¹âµ¢â´°âµ'.split('_'), 13846 weekdaysShort : 'â´°âµâ´°âµâ´°âµ_â´°âµ¢âµâ´°âµ_â´°âµâµâµâ´°âµ_â´°â´½âµâ´°âµ_ⴰⴽⵡⴰâµ_â´°âµâµâµâµ¡â´°âµ_â´°âµâµâ´¹âµ¢â´°âµ'.split('_'), 13847 weekdaysMin : 'â´°âµâ´°âµâ´°âµ_â´°âµ¢âµâ´°âµ_â´°âµâµâµâ´°âµ_â´°â´½âµâ´°âµ_ⴰⴽⵡⴰâµ_â´°âµâµâµâµ¡â´°âµ_â´°âµâµâ´¹âµ¢â´°âµ'.split('_'), 13848 longDateFormat : { 13849 LT : 'HH:mm', 13850 LTS: 'HH:mm:ss', 13851 L : 'DD/MM/YYYY', 13852 LL : 'D MMMM YYYY', 13853 LLL : 'D MMMM YYYY HH:mm', 13854 LLLL : 'dddd D MMMM YYYY HH:mm' 13855 }, 13856 calendar : { 13857 sameDay: '[â´°âµâ´·âµ â´´] LT', 13858 nextDay: '[â´°âµâ´½â´° â´´] LT', 13859 nextWeek: 'dddd [â´´] LT', 13860 lastDay: '[â´°âµâ´°âµâµ â´´] LT', 13861 lastWeek: 'dddd [â´´] LT', 13862 sameElse: 'L' 13863 }, 13864 relativeTime : { 13865 future : 'ⴷⴰⴷⵠⵠⵢⴰⵠ%s', 13866 past : 'ⵢⴰⵠ%s', 13867 s : 'âµâµâµâ´½', 13868 ss : '%d âµâµâµâ´½', 13869 m : 'âµâµâµâµâ´º', 13870 mm : '%d âµâµâµâµâ´º', 13871 h : 'âµâ´°âµâ´°', 13872 hh : '%d âµâ´°âµâµâ´°âµâµâµ', 13873 d : 'â´°âµâµ', 13874 dd : '%d oâµâµâ´°âµ', 13875 M : 'â´°âµ¢oâµâµ', 13876 MM : '%d âµâµ¢âµ¢âµâµâµ', 13877 y : 'â´°âµâ´³â´°âµ', 13878 yy : '%d âµâµâ´³â´°âµâµ' 13879 }, 13880 week : { 13881 dow : 6, // Saturday is the first day of the week. 13882 doy : 12 // The week that contains Jan 12th is the first week of the year. 13883 } 13884 }); 13885 13886 //! moment.js language configuration 13887 13888 hooks.defineLocale('ug-cn', { 13889 months: 'ÙØ§ÙÛØ§Ø±_ÙÛÛØ±Ø§Ù_٠ارت_ئاپرÛÙ_٠اÙ_ئÙÙÛÙ_ئÙÙÛÙ_Ø¦Ø§ÛØºÛست_سÛÙØªÛØ¨ÙØ±_ئÛÙØªÛØ¨ÙØ±_ÙÙÙØ§Ø¨Ùر_دÛÙØ§Ø¨Ùر'.split( 13890 '_' 13891 ), 13892 monthsShort: 'ÙØ§ÙÛØ§Ø±_ÙÛÛØ±Ø§Ù_٠ارت_ئاپرÛÙ_٠اÙ_ئÙÙÛÙ_ئÙÙÛÙ_Ø¦Ø§ÛØºÛست_سÛÙØªÛØ¨ÙØ±_ئÛÙØªÛØ¨ÙØ±_ÙÙÙØ§Ø¨Ùر_دÛÙØ§Ø¨Ùر'.split( 13893 '_' 13894 ), 13895 weekdays: 'ÙÛÙØ´ÛÙØ¨Û_Ø¯ÛØ´ÛÙØ¨Û_سÛÙØ´ÛÙØ¨Û_ÚØ§Ø±Ø´ÛÙØ¨Û_Ù¾ÛÙØ´ÛÙØ¨Û_جÛÙ Û_Ø´ÛÙØ¨Û'.split( 13896 '_' 13897 ), 13898 weekdaysShort: 'ÙÛ_دÛ_سÛ_ÚØ§_Ù¾Û_جÛ_Ø´Û'.split('_'), 13899 weekdaysMin: 'ÙÛ_دÛ_سÛ_ÚØ§_Ù¾Û_جÛ_Ø´Û'.split('_'), 13900 longDateFormat: { 13901 LT: 'HH:mm', 13902 LTS: 'HH:mm:ss', 13903 L: 'YYYY-MM-DD', 13904 LL: 'YYYY-ÙÙÙÙM-ئاÙÙÙÚD-ÙÛÙÙ',
vendor: 18,019 bytes, lines 13905-14384
13905 LLL: 'YYYY-ÙÙÙÙM-ئاÙÙÙÚD-ÙÛÙÙØ HH:mm', 13906 LLLL: 'ddddØ YYYY-ÙÙÙÙM-ئاÙÙÙÚD-ÙÛÙÙØ HH:mm' 13907 }, 13908 meridiemParse: /ÙÛØ±ÙÙ ÙÛÚÛ|سÛÚ¾ÛØ±|ÚÛØ´ØªÙÙ Ø¨ÛØ±ÛÙ|ÚÛØ´|ÚÛØ´ØªÙÙ ÙÛÙÙÙ|ÙÛÚ/, 13909 meridiemHour: function (hour, meridiem) { 13910 if (hour === 12) { 13911 hour = 0; 13912 } 13913 if ( 13914 meridiem === 'ÙÛØ±ÙÙ ÙÛÚÛ' || 13915 meridiem === 'سÛÚ¾ÛØ±' || 13916 meridiem === 'ÚÛØ´ØªÙÙ Ø¨ÛØ±ÛÙ' 13917 ) { 13918 return hour; 13919 } else if (meridiem === 'ÚÛØ´ØªÙÙ ÙÛÙÙÙ' || meridiem === 'ÙÛÚ') { 13920 return hour + 12; 13921 } else { 13922 return hour >= 11 ? hour : hour + 12; 13923 } 13924 }, 13925 meridiem: function (hour, minute, isLower) { 13926 var hm = hour * 100 + minute; 13927 if (hm < 600) { 13928 return 'ÙÛØ±ÙÙ ÙÛÚÛ'; 13929 } else if (hm < 900) { 13930 return 'سÛÚ¾ÛØ±'; 13931 } else if (hm < 1130) { 13932 return 'ÚÛØ´ØªÙÙ Ø¨ÛØ±ÛÙ'; 13933 } else if (hm < 1230) { 13934 return 'ÚÛØ´'; 13935 } else if (hm < 1800) { 13936 return 'ÚÛØ´ØªÙÙ ÙÛÙÙÙ'; 13937 } else { 13938 return 'ÙÛÚ'; 13939 } 13940 }, 13941 calendar: { 13942 sameDay: '[بÛÚ¯ÛÙ Ø³Ø§Ø¦ÛØª] LT', 13943 nextDay: '[Ø¦ÛØªÛ Ø³Ø§Ø¦ÛØª] LT', 13944 nextWeek: '[ÙÛÙÛØ±ÙÙ] dddd [Ø³Ø§Ø¦ÛØª] LT', 13945 lastDay: '[تÛÙÛÚ¯ÛÙ] LT', 13946 lastWeek: '[Ø¦Ø§ÙØ¯ÙÙÙÙ] dddd [Ø³Ø§Ø¦ÛØª] LT', 13947 sameElse: 'L' 13948 }, 13949 relativeTime: { 13950 future: '%s ÙÛÙÙÙ', 13951 past: '%s Ø¨ÛØ±ÛÙ', 13952 s: 'ÙÛÚÚÛ Ø³ÛÙÙÙØª', 13953 ss: '%d سÛÙÙÙØª', 13954 m: 'Ø¨ÙØ± Ù ÙÙÛØª', 13955 mm: '%d Ù ÙÙÛØª', 13956 h: 'Ø¨ÙØ± Ø³Ø§Ø¦ÛØª', 13957 hh: '%d Ø³Ø§Ø¦ÛØª', 13958 d: 'Ø¨ÙØ± ÙÛÙ', 13959 dd: '%d ÙÛÙ', 13960 M: 'Ø¨ÙØ± ئاÙ', 13961 MM: '%d ئاÙ', 13962 y: 'Ø¨ÙØ± ÙÙÙ', 13963 yy: '%d ÙÙÙ' 13964 }, 13965 13966 dayOfMonthOrdinalParse: /\d{1,2}(-ÙÛÙÙ|-ئاÙ|-Ú¾ÛپتÛ)/, 13967 ordinal: function (number, period) { 13968 switch (period) { 13969 case 'd': 13970 case 'D': 13971 case 'DDD': 13972 return number + '-ÙÛÙÙ'; 13973 case 'w': 13974 case 'W': 13975 return number + '-Ú¾ÛپتÛ'; 13976 default: 13977 return number; 13978 } 13979 }, 13980 preparse: function (string) { 13981 return string.replace(/Ø/g, ','); 13982 }, 13983 postformat: function (string) { 13984 return string.replace(/,/g, 'Ø'); 13985 }, 13986 week: { 13987 // GB/T 7408-1994ãæ°æ®å åäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ¥æåæ¶é´è¡¨ç¤ºæ³ãä¸ISO 8601:1988çæ 13988 dow: 1, // Monday is the first day of the week. 13989 doy: 7 // The week that contains Jan 1st is the first week of the year. 13990 } 13991 }); 13992 13993 //! moment.js locale configuration 13994 13995 function plural$6(word, num) { 13996 var forms = word.split('_'); 13997 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]); 13998 } 13999 function relativeTimeWithPlural$4(number, withoutSuffix, key) { 14000 var format = { 14001 'ss': withoutSuffix ? 'ÑекÑнда_ÑекÑнди_ÑекÑнд' : 'ÑекÑндÑ_ÑекÑнди_ÑекÑнд', 14002 'mm': withoutSuffix ? 'Ñ Ð²Ð¸Ð»Ð¸Ð½Ð°_Ñ Ð²Ð¸Ð»Ð¸Ð½Ð¸_Ñ Ð²Ð¸Ð»Ð¸Ð½' : 'Ñ Ð²Ð¸Ð»Ð¸Ð½Ñ_Ñ Ð²Ð¸Ð»Ð¸Ð½Ð¸_Ñ Ð²Ð¸Ð»Ð¸Ð½', 14003 'hh': withoutSuffix ? 'година_години_годин' : 'годинÑ_години_годин', 14004 'dd': 'денÑ_днÑ_днÑв', 14005 'MM': 'мÑÑÑÑÑ_мÑÑÑÑÑ_мÑÑÑÑÑв', 14006 'yy': 'ÑÑк_Ñоки_ÑокÑв' 14007 }; 14008 if (key === 'm') { 14009 return withoutSuffix ? 'Ñ Ð²Ð¸Ð»Ð¸Ð½Ð°' : 'Ñ Ð²Ð¸Ð»Ð¸Ð½Ñ'; 14010 } 14011 else if (key === 'h') { 14012 return withoutSuffix ? 'година' : 'годинÑ'; 14013 } 14014 else { 14015 return number + ' ' + plural$6(format[key], +number); 14016 } 14017 } 14018 function weekdaysCaseReplace(m, format) { 14019 var weekdays = { 14020 'nominative': 'недÑлÑ_понедÑлок_вÑвÑоÑок_ÑеÑеда_ÑеÑвеÑ_пâÑÑниÑÑ_ÑÑбоÑа'.split('_'), 14021 'accusative': 'недÑлÑ_понедÑлок_вÑвÑоÑок_ÑеÑедÑ_ÑеÑвеÑ_пâÑÑниÑÑ_ÑÑбоÑÑ'.split('_'), 14022 'genitive': 'недÑлÑ_понедÑлка_вÑвÑоÑка_ÑеÑеди_ÑеÑвеÑга_пâÑÑниÑÑ_ÑÑбоÑи'.split('_') 14023 }; 14024 14025 if (m === true) { 14026 return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1)); 14027 } 14028 if (!m) { 14029 return weekdays['nominative']; 14030 } 14031 14032 var nounCase = (/(\[[ÐвУÑ]\]) ?dddd/).test(format) ? 14033 'accusative' : 14034 ((/\[?(?:минÑлоÑ|наÑÑÑпноÑ)? ?\] ?dddd/).test(format) ? 14035 'genitive' : 14036 'nominative'); 14037 return weekdays[nounCase][m.day()]; 14038 } 14039 function processHoursFunction(str) { 14040 return function () { 14041 return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT'; 14042 }; 14043 } 14044 14045 hooks.defineLocale('uk', { 14046 months : { 14047 'format': 'ÑÑÑнÑ_лÑÑого_беÑезнÑ_квÑÑнÑ_ÑÑавнÑ_ÑеÑвнÑ_липнÑ_ÑеÑпнÑ_веÑеÑнÑ_жовÑнÑ_лиÑÑопада_гÑÑднÑ'.split('_'), 14048 'standalone': 'ÑÑÑенÑ_лÑÑий_беÑезенÑ_квÑÑенÑ_ÑÑавенÑ_ÑеÑвенÑ_липенÑ_ÑеÑпенÑ_веÑеÑенÑ_жовÑенÑ_лиÑÑопад_гÑÑденÑ'.split('_') 14049 }, 14050 monthsShort : 'ÑÑÑ_лÑÑ_беÑ_квÑÑ_ÑÑав_ÑеÑв_лип_ÑеÑп_веÑ_жовÑ_лиÑÑ_гÑÑд'.split('_'), 14051 weekdays : weekdaysCaseReplace, 14052 weekdaysShort : 'нд_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 14053 weekdaysMin : 'нд_пн_вÑ_ÑÑ_ÑÑ_пÑ_Ñб'.split('_'), 14054 longDateFormat : { 14055 LT : 'HH:mm', 14056 LTS : 'HH:mm:ss', 14057 L : 'DD.MM.YYYY', 14058 LL : 'D MMMM YYYY Ñ.', 14059 LLL : 'D MMMM YYYY Ñ., HH:mm', 14060 LLLL : 'dddd, D MMMM YYYY Ñ., HH:mm' 14061 }, 14062 calendar : { 14063 sameDay: processHoursFunction('[СÑÐ¾Ð³Ð¾Ð´Ð½Ñ '), 14064 nextDay: processHoursFunction('[ÐавÑÑа '), 14065 lastDay: processHoursFunction('[ÐÑоÑа '), 14066 nextWeek: processHoursFunction('[У] dddd ['), 14067 lastWeek: function () { 14068 switch (this.day()) { 14069 case 0: 14070 case 3: 14071 case 5: 14072 case 6: 14073 return processHoursFunction('[ÐинÑлоÑ] dddd [').call(this); 14074 case 1: 14075 case 2: 14076 case 4: 14077 return processHoursFunction('[ÐинÑлого] dddd [').call(this); 14078 } 14079 }, 14080 sameElse: 'L' 14081 }, 14082 relativeTime : { 14083 future : 'за %s', 14084 past : '%s ÑомÑ', 14085 s : 'декÑлÑка ÑекÑнд', 14086 ss : relativeTimeWithPlural$4, 14087 m : relativeTimeWithPlural$4, 14088 mm : relativeTimeWithPlural$4, 14089 h : 'годинÑ', 14090 hh : relativeTimeWithPlural$4, 14091 d : 'денÑ', 14092 dd : relativeTimeWithPlural$4, 14093 M : 'мÑÑÑÑÑ', 14094 MM : relativeTimeWithPlural$4, 14095 y : 'ÑÑк', 14096 yy : relativeTimeWithPlural$4 14097 }, 14098 // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason 14099 meridiemParse: /ноÑÑ|ÑанкÑ|днÑ|веÑоÑа/, 14100 isPM: function (input) { 14101 return /^(днÑ|веÑоÑа)$/.test(input); 14102 }, 14103 meridiem : function (hour, minute, isLower) { 14104 if (hour < 4) { 14105 return 'ноÑÑ'; 14106 } else if (hour < 12) { 14107 return 'ÑанкÑ'; 14108 } else if (hour < 17) { 14109 return 'днÑ'; 14110 } else { 14111 return 'веÑоÑа'; 14112 } 14113 }, 14114 dayOfMonthOrdinalParse: /\d{1,2}-(й|го)/, 14115 ordinal: function (number, period) { 14116 switch (period) { 14117 case 'M': 14118 case 'd': 14119 case 'DDD': 14120 case 'w': 14121 case 'W': 14122 return number + '-й'; 14123 case 'D': 14124 return number + '-го'; 14125 default: 14126 return number; 14127 } 14128 }, 14129 week : { 14130 dow : 1, // Monday is the first day of the week. 14131 doy : 7 // The week that contains Jan 7th is the first week of the year. 14132 } 14133 }); 14134 14135 //! moment.js locale configuration 14136 14137 var months$a = [ 14138 'جÙÙØ±Û', 14139 'ÙØ±ÙرÛ', 14140 '٠ارÚ', 14141 'اپرÛÙ', 14142 '٠ئÛ', 14143 'جÙÙ', 14144 'جÙÙØ§Ø¦Û', 14145 'اگست', 14146 'ست٠بر', 14147 'Ø§Ú©ØªÙØ¨Ø±', 14148 'ÙÙ٠بر', 14149 'دس٠بر' 14150 ]; 14151 var days$2 = [ 14152 'Ø§ØªÙØ§Ø±', 14153 'Ù¾ÛØ±', 14154 'Ù ÙÚ¯Ù', 14155 'بدھ', 14156 'ج٠عرات', 14157 'ج٠عÛ', 14158 'ÛÙØªÛ' 14159 ]; 14160 14161 hooks.defineLocale('ur', { 14162 months : months$a, 14163 monthsShort : months$a, 14164 weekdays : days$2, 14165 weekdaysShort : days$2, 14166 weekdaysMin : days$2, 14167 longDateFormat : { 14168 LT : 'HH:mm', 14169 LTS : 'HH:mm:ss', 14170 L : 'DD/MM/YYYY', 14171 LL : 'D MMMM YYYY', 14172 LLL : 'D MMMM YYYY HH:mm', 14173 LLLL : 'ddddØ D MMMM YYYY HH:mm' 14174 }, 14175 meridiemParse: /صبØ|شا٠/, 14176 isPM : function (input) { 14177 return 'شا٠' === input; 14178 }, 14179 meridiem : function (hour, minute, isLower) { 14180 if (hour < 12) { 14181 return 'صبØ'; 14182 } 14183 return 'شا٠'; 14184 }, 14185 calendar : { 14186 sameDay : '[آج بÙÙØª] LT', 14187 nextDay : '[ک٠بÙÙØª] LT', 14188 nextWeek : 'dddd [بÙÙØª] LT', 14189 lastDay : '[Ú¯Ø°Ø´ØªÛ Ø±ÙØ² بÙÙØª] LT', 14190 lastWeek : '[گذشتÛ] dddd [بÙÙØª] LT', 14191 sameElse : 'L' 14192 }, 14193 relativeTime : { 14194 future : '%s بعد', 14195 past : '%s ÙØ¨Ù', 14196 s : 'ÚÙØ¯ سÛÚ©ÙÚ', 14197 ss : '%d سÛÚ©ÙÚ', 14198 m : 'اÛÚ© Ù ÙÙ¹', 14199 mm : '%d Ù ÙÙ¹', 14200 h : 'اÛÚ© Ú¯Ú¾ÙÙ¹Û', 14201 hh : '%d Ú¯Ú¾ÙÙ¹Û', 14202 d : 'اÛÚ© دÙ', 14203 dd : '%d دÙ', 14204 M : 'اÛÚ© ٠اÛ', 14205 MM : '%d ٠اÛ', 14206 y : 'اÛÚ© ساÙ', 14207 yy : '%d ساÙ' 14208 }, 14209 preparse: function (string) { 14210 return string.replace(/Ø/g, ','); 14211 }, 14212 postformat: function (string) { 14213 return string.replace(/,/g, 'Ø'); 14214 }, 14215 week : { 14216 dow : 1, // Monday is the first day of the week. 14217 doy : 4 // The week that contains Jan 4th is the first week of the year. 14218 } 14219 }); 14220 14221 //! moment.js locale configuration 14222 14223 hooks.defineLocale('uz-latn', { 14224 months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'), 14225 monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'), 14226 weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'), 14227 weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'), 14228 weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'), 14229 longDateFormat : { 14230 LT : 'HH:mm', 14231 LTS : 'HH:mm:ss', 14232 L : 'DD/MM/YYYY', 14233 LL : 'D MMMM YYYY', 14234 LLL : 'D MMMM YYYY HH:mm', 14235 LLLL : 'D MMMM YYYY, dddd HH:mm' 14236 }, 14237 calendar : { 14238 sameDay : '[Bugun soat] LT [da]', 14239 nextDay : '[Ertaga] LT [da]', 14240 nextWeek : 'dddd [kuni soat] LT [da]', 14241 lastDay : '[Kecha soat] LT [da]', 14242 lastWeek : '[O\'tgan] dddd [kuni soat] LT [da]', 14243 sameElse : 'L' 14244 }, 14245 relativeTime : { 14246 future : 'Yaqin %s ichida', 14247 past : 'Bir necha %s oldin', 14248 s : 'soniya', 14249 ss : '%d soniya', 14250 m : 'bir daqiqa', 14251 mm : '%d daqiqa', 14252 h : 'bir soat', 14253 hh : '%d soat', 14254 d : 'bir kun', 14255 dd : '%d kun', 14256 M : 'bir oy', 14257 MM : '%d oy', 14258 y : 'bir yil', 14259 yy : '%d yil' 14260 }, 14261 week : { 14262 dow : 1, // Monday is the first day of the week. 14263 doy : 7 // The week that contains Jan 7th is the first week of the year. 14264 } 14265 }); 14266 14267 //! moment.js locale configuration 14268 14269 hooks.defineLocale('uz', { 14270 months : 'ÑнваÑ_ÑевÑал_маÑÑ_апÑел_май_иÑн_иÑл_авгÑÑÑ_ÑенÑÑбÑ_окÑÑбÑ_ноÑбÑ_декабÑ'.split('_'), 14271 monthsShort : 'Ñнв_Ñев_маÑ_апÑ_май_иÑн_иÑл_авг_Ñен_окÑ_ноÑ_дек'.split('_'), 14272 weekdays : 'ЯкÑанба_ÐÑÑанба_СеÑанба_ЧоÑÑанба_ÐайÑанба_ÐÑма_Шанба'.split('_'), 14273 weekdaysShort : 'ЯкÑ_ÐÑÑ_СеÑ_ЧоÑ_Ðай_ÐÑм_Шан'.split('_'), 14274 weekdaysMin : 'Як_ÐÑ_Се_Чо_Ðа_ÐÑ_Ша'.split('_'), 14275 longDateFormat : { 14276 LT : 'HH:mm', 14277 LTS : 'HH:mm:ss', 14278 L : 'DD/MM/YYYY', 14279 LL : 'D MMMM YYYY', 14280 LLL : 'D MMMM YYYY HH:mm', 14281 LLLL : 'D MMMM YYYY, dddd HH:mm' 14282 }, 14283 calendar : { 14284 sameDay : '[ÐÑгÑн ÑоаÑ] LT [да]', 14285 nextDay : '[ÐÑÑага] LT [да]', 14286 nextWeek : 'dddd [кÑни ÑоаÑ] LT [да]', 14287 lastDay : '[ÐеÑа ÑоаÑ] LT [да]', 14288 lastWeek : '[УÑган] dddd [кÑни ÑоаÑ] LT [да]', 14289 sameElse : 'L' 14290 }, 14291 relativeTime : { 14292 future : 'Якин %s иÑида', 14293 past : 'ÐÐ¸Ñ Ð½ÐµÑа %s олдин', 14294 s : 'ÑÑÑÑаÑ', 14295 ss : '%d ÑÑÑÑаÑ', 14296 m : 'Ð±Ð¸Ñ Ð´Ð°ÐºÐ¸ÐºÐ°', 14297 mm : '%d дакика', 14298 h : 'Ð±Ð¸Ñ ÑоаÑ', 14299 hh : '%d ÑоаÑ', 14300 d : 'Ð±Ð¸Ñ ÐºÑн', 14301 dd : '%d кÑн', 14302 M : 'Ð±Ð¸Ñ Ð¾Ð¹', 14303 MM : '%d ой', 14304 y : 'Ð±Ð¸Ñ Ð¹Ð¸Ð»', 14305 yy : '%d йил' 14306 }, 14307 week : { 14308 dow : 1, // Monday is the first day of the week. 14309 doy : 7 // The week that contains Jan 4th is the first week of the year. 14310 } 14311 }); 14312 14313 //! moment.js locale configuration 14314 14315 hooks.defineLocale('vi', { 14316 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('_'), 14317 monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'), 14318 monthsParseExact : true, 14319 weekdays : 'chá»§ nháºt_thứ hai_thứ ba_thứ tư_thứ nÄm_thứ sáu_thứ bảy'.split('_'), 14320 weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'), 14321 weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'), 14322 weekdaysParseExact : true, 14323 meridiemParse: /sa|ch/i, 14324 isPM : function (input) { 14325 return /^ch$/i.test(input); 14326 }, 14327 meridiem : function (hours, minutes, isLower) { 14328 if (hours < 12) { 14329 return isLower ? 'sa' : 'SA'; 14330 } else { 14331 return isLower ? 'ch' : 'CH'; 14332 } 14333 }, 14334 longDateFormat : { 14335 LT : 'HH:mm', 14336 LTS : 'HH:mm:ss', 14337 L : 'DD/MM/YYYY', 14338 LL : 'D MMMM [nÄm] YYYY', 14339 LLL : 'D MMMM [nÄm] YYYY HH:mm', 14340 LLLL : 'dddd, D MMMM [nÄm] YYYY HH:mm', 14341 l : 'DD/M/YYYY', 14342 ll : 'D MMM YYYY', 14343 lll : 'D MMM YYYY HH:mm', 14344 llll : 'ddd, D MMM YYYY HH:mm' 14345 }, 14346 calendar : { 14347 sameDay: '[Hôm nay lúc] LT', 14348 nextDay: '[Ngà y mai lúc] LT', 14349 nextWeek: 'dddd [tuần tá»i lúc] LT', 14350 lastDay: '[Hôm qua lúc] LT', 14351 lastWeek: 'dddd [tuần rá»i lúc] LT', 14352 sameElse: 'L' 14353 }, 14354 relativeTime : { 14355 future : '%s tá»i', 14356 past : '%s trưá»c', 14357 s : 'và i giây', 14358 ss : '%d giây' , 14359 m : 'má»t phút', 14360 mm : '%d phút', 14361 h : 'má»t giá»', 14362 hh : '%d giá»', 14363 d : 'má»t ngà y', 14364 dd : '%d ngà y', 14365 M : 'má»t tháng', 14366 MM : '%d tháng', 14367 y : 'má»t nÄm', 14368 yy : '%d nÄm' 14369 }, 14370 dayOfMonthOrdinalParse: /\d{1,2}/, 14371 ordinal : function (number) { 14372 return number; 14373 }, 14374 week : { 14375 dow : 1, // Monday is the first day of the week. 14376 doy : 4 // The week that contains Jan 4th is the first week of the year. 14377 } 14378 }); 14379 14380 //! moment.js locale configuration 14381 14382 hooks.defineLocale('x-pseudo', { 14383 months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Ãp~rÃl_~Máý_~Júñé~_Júl~ý_Ãú~gúst~_Sép~témb~ér_Ã~ctób~ér_Ã~óvém~bér_~Décé~mbér'.split('_'), 14384 monthsShort : 'J~áñ_~Féb_~Már_~Ãpr_~Máý_~Júñ_~Júl_~Ãúg_~Sép_~Ãct_~Ãóv_~Déc'.
14384split('_'), 14385 monthsParseExact : true, 14386 weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~FrÃd~áý_S~átúr~dáý'.split('_'), 14387 weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~FrÃ_~Sát'.split('_'), 14388 weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'), 14389 weekdaysParseExact : true, 14390 longDateFormat : { 14391 LT : 'HH:mm', 14392 L : 'DD/MM/YYYY', 14393 LL : 'D MMMM YYYY', 14394 LLL : 'D MMMM YYYY HH:mm', 14395 LLLL : 'dddd, D MMMM YYYY HH:mm' 14396 }, 14397 calendar : { 14398 sameDay : '[T~ódá~ý át] LT', 14399 nextDay : '[T~ómó~rró~w át] LT', 14400 nextWeek : 'dddd [át] LT', 14401 lastDay : '[Ã~ést~érdá~ý át] LT', 14402 lastWeek : '[L~ást] dddd [át] LT', 14403 sameElse : 'L' 14404 }, 14405 relativeTime : { 14406 future : 'Ã~ñ %s', 14407 past : '%s á~gó', 14408 s : 'á ~féw ~sécó~ñds', 14409 ss : '%d s~écóñ~ds',
vendor: 12,785 bytes, lines 14410-14769
14410 m : 'á ~mÃñ~úté', 14411 mm : '%d m~Ãñú~tés', 14412 h : 'á~ñ hó~úr', 14413 hh : '%d h~óúrs', 14414 d : 'á ~dáý', 14415 dd : '%d d~áýs', 14416 M : 'á ~móñ~th', 14417 MM : '%d m~óñt~hs', 14418 y : 'á ~ýéár', 14419 yy : '%d ý~éárs' 14420 }, 14421 dayOfMonthOrdinalParse: /\d{1,2}(th|st|nd|rd)/, 14422 ordinal : function (number) { 14423 var b = number % 10, 14424 output = (~~(number % 100 / 10) === 1) ? 'th' : 14425 (b === 1) ? 'st' : 14426 (b === 2) ? 'nd' : 14427 (b === 3) ? 'rd' : 'th'; 14428 return number + output; 14429 }, 14430 week : { 14431 dow : 1, // Monday is the first day of the week. 14432 doy : 4 // The week that contains Jan 4th is the first week of the year. 14433 } 14434 }); 14435 14436 //! moment.js locale configuration 14437 14438 hooks.defineLocale('yo', { 14439 months : 'SẹÌrẹÌ_EÌreÌleÌ_ẸrẹÌnaÌ_IÌgbeÌ_EÌbibi_OÌkuÌdu_Agẹmo_OÌguÌn_Owewe_á»ÌwaÌraÌ_BeÌluÌ_á»ÌpẹÌÌ'.split('_'), 14440 monthsShort : 'SẹÌr_EÌrl_Ẹrn_IÌgb_EÌbi_OÌkuÌ_Agẹ_OÌguÌ_Owe_á»ÌwaÌ_BeÌl_á»ÌpẹÌÌ'.split('_'), 14441 weekdays : 'AÌiÌkuÌ_AjeÌ_IÌsẹÌgun_á»já»ÌruÌ_á»já»Ìbá»_ẸtiÌ_AÌbaÌmẹÌta'.split('_'), 14442 weekdaysShort : 'AÌiÌk_AjeÌ_IÌsẹÌ_á»jr_á»jb_ẸtiÌ_AÌbaÌ'.split('_'), 14443 weekdaysMin : 'AÌiÌ_Aj_IÌs_á»r_á»b_Ẹt_AÌb'.split('_'), 14444 longDateFormat : { 14445 LT : 'h:mm A', 14446 LTS : 'h:mm:ss A', 14447 L : 'DD/MM/YYYY', 14448 LL : 'D MMMM YYYY', 14449 LLL : 'D MMMM YYYY h:mm A', 14450 LLLL : 'dddd, D MMMM YYYY h:mm A' 14451 }, 14452 calendar : { 14453 sameDay : '[OÌniÌ ni] LT', 14454 nextDay : '[á»Ìla ni] LT', 14455 nextWeek : 'dddd [á»sáº¹Ì toÌn\'bá»] [ni] LT', 14456 lastDay : '[AÌna ni] LT', 14457 lastWeek : 'dddd [á»sáº¹Ì toÌlá»Ì] [ni] LT', 14458 sameElse : 'L' 14459 }, 14460 relativeTime : { 14461 future : 'niÌ %s', 14462 past : '%s ká»jaÌ', 14463 s : 'iÌsẹjuÌ aayaÌ die', 14464 ss :'aayaÌ %d', 14465 m : 'iÌsẹjuÌ kan', 14466 mm : 'iÌsẹjuÌ %d', 14467 h : 'waÌkati kan', 14468 hh : 'waÌkati %d', 14469 d : 'á»já»Ì kan', 14470 dd : 'á»já»Ì %d', 14471 M : 'osuÌ kan', 14472 MM : 'osuÌ %d', 14473 y : 'á»duÌn kan', 14474 yy : 'á»duÌn %d' 14475 }, 14476 dayOfMonthOrdinalParse : /á»já»Ì\s\d{1,2}/, 14477 ordinal : 'á»já»Ì %d', 14478 week : { 14479 dow : 1, // Monday is the first day of the week. 14480 doy : 4 // The week that contains Jan 4th is the first week of the year. 14481 } 14482 }); 14483 14484 //! moment.js locale configuration 14485 14486 hooks.defineLocale('zh-cn', { 14487 months : '䏿_äºæ_䏿_åæ_äºæ_å æ_䏿_å «æ_乿_åæ_å䏿_åäºæ'.split('_'), 14488 monthsShort : '1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ'.split('_'), 14489 weekdays : 'æææ¥_ææä¸_ææäº_ææä¸_ææå_ææäº_ææå '.split('_'), 14490 weekdaysShort : '卿¥_å¨ä¸_å¨äº_å¨ä¸_å¨å_å¨äº_å¨å '.split('_'), 14491 weekdaysMin : 'æ¥_ä¸_äº_ä¸_å_äº_å '.split('_'), 14492 longDateFormat : { 14493 LT : 'HH:mm', 14494 LTS : 'HH:mm:ss', 14495 L : 'YYYY/MM/DD', 14496 LL : 'YYYYå¹´MæDæ¥', 14497 LLL : 'YYYYå¹´MæDæ¥Ahç¹mmå', 14498 LLLL : 'YYYYå¹´MæDæ¥ddddAhç¹mmå', 14499 l : 'YYYY/M/D', 14500 ll : 'YYYYå¹´MæDæ¥', 14501 lll : 'YYYYå¹´MæDæ¥ HH:mm', 14502 llll : 'YYYYå¹´MæDæ¥dddd HH:mm' 14503 }, 14504 meridiemParse: /忍|æ©ä¸|ä¸å|ä¸å|ä¸å|æä¸/, 14505 meridiemHour: function (hour, meridiem) { 14506 if (hour === 12) { 14507 hour = 0; 14508 } 14509 if (meridiem === '忍' || meridiem === 'æ©ä¸' || 14510 meridiem === 'ä¸å') { 14511 return hour; 14512 } else if (meridiem === 'ä¸å' || meridiem === 'æä¸') { 14513 return hour + 12; 14514 } else { 14515 // 'ä¸å' 14516 return hour >= 11 ? hour : hour + 12; 14517 } 14518 }, 14519 meridiem : function (hour, minute, isLower) { 14520 var hm = hour * 100 + minute; 14521 if (hm < 600) { 14522 return '忍'; 14523 } else if (hm < 900) { 14524 return 'æ©ä¸'; 14525 } else if (hm < 1130) { 14526 return 'ä¸å'; 14527 } else if (hm < 1230) { 14528 return 'ä¸å'; 14529 } else if (hm < 1800) { 14530 return 'ä¸å'; 14531 } else { 14532 return 'æä¸'; 14533 } 14534 }, 14535 calendar : { 14536 sameDay : '[ä»å¤©]LT', 14537 nextDay : '[æå¤©]LT', 14538 nextWeek : '[ä¸]ddddLT', 14539 lastDay : '[æ¨å¤©]LT', 14540 lastWeek : '[ä¸]ddddLT', 14541 sameElse : 'L' 14542 }, 14543 dayOfMonthOrdinalParse: /\d{1,2}(æ¥|æ|å¨)/, 14544 ordinal : function (number, period) { 14545 switch (period) { 14546 case 'd': 14547 case 'D': 14548 case 'DDD': 14549 return number + 'æ¥'; 14550 case 'M': 14551 return number + 'æ'; 14552 case 'w': 14553 case 'W': 14554 return number + 'å¨'; 14555 default: 14556 return number; 14557 } 14558 }, 14559 relativeTime : { 14560 future : '%så ', 14561 past : '%så', 14562 s : 'å ç§', 14563 ss : '%d ç§', 14564 m : '1 åé', 14565 mm : '%d åé', 14566 h : '1 å°æ¶', 14567 hh : '%d å°æ¶', 14568 d : '1 天', 14569 dd : '%d 天', 14570 M : '1 个æ', 14571 MM : '%d 个æ', 14572 y : '1 å¹´', 14573 yy : '%d å¹´' 14574 }, 14575 week : { 14576 // GB/T 7408-1994ãæ°æ®å åäº¤æ¢æ ¼å¼Â·ä¿¡æ¯äº¤æ¢Â·æ¥æåæ¶é´è¡¨ç¤ºæ³ãä¸ISO 8601:1988çæ 14577 dow : 1, // Monday is the first day of the week. 14578 doy : 4 // The week that contains Jan 4th is the first week of the year. 14579 } 14580 }); 14581 14582 //! moment.js locale configuration 14583 14584 hooks.defineLocale('zh-hk', { 14585 months : '䏿_äºæ_䏿_åæ_äºæ_å æ_䏿_å «æ_乿_åæ_å䏿_åäºæ'.split('_'), 14586 monthsShort : '1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ'.split('_'), 14587 weekdays : 'æææ¥_ææä¸_ææäº_ææä¸_ææå_ææäº_ææå '.split('_'), 14588 weekdaysShort : '鱿¥_é±ä¸_é±äº_é±ä¸_é±å_é±äº_é±å '.split('_'), 14589 weekdaysMin : 'æ¥_ä¸_äº_ä¸_å_äº_å '.split('_'), 14590 longDateFormat : { 14591 LT : 'HH:mm', 14592 LTS : 'HH:mm:ss', 14593 L : 'YYYY/MM/DD', 14594 LL : 'YYYYå¹´MæDæ¥', 14595 LLL : 'YYYYå¹´MæDæ¥ HH:mm', 14596 LLLL : 'YYYYå¹´MæDæ¥dddd HH:mm', 14597 l : 'YYYY/M/D', 14598 ll : 'YYYYå¹´MæDæ¥', 14599 lll : 'YYYYå¹´MæDæ¥ HH:mm', 14600 llll : 'YYYYå¹´MæDæ¥dddd HH:mm' 14601 }, 14602 meridiemParse: /忍|æ©ä¸|ä¸å|ä¸å|ä¸å|æä¸/, 14603 meridiemHour : function (hour, meridiem) { 14604 if (hour === 12) { 14605 hour = 0; 14606 } 14607 if (meridiem === '忍' || meridiem === 'æ©ä¸' || meridiem === 'ä¸å') { 14608 return hour; 14609 } else if (meridiem === 'ä¸å') { 14610 return hour >= 11 ? hour : hour + 12; 14611 } else if (meridiem === 'ä¸å' || meridiem === 'æä¸') { 14612 return hour + 12; 14613 } 14614 }, 14615 meridiem : function (hour, minute, isLower) { 14616 var hm = hour * 100 + minute; 14617 if (hm < 600) { 14618 return '忍'; 14619 } else if (hm < 900) { 14620 return 'æ©ä¸'; 14621 } else if (hm < 1130) { 14622 return 'ä¸å'; 14623 } else if (hm < 1230) { 14624 return 'ä¸å'; 14625 } else if (hm < 1800) { 14626 return 'ä¸å'; 14627 } else { 14628 return 'æä¸'; 14629 } 14630 }, 14631 calendar : { 14632 sameDay : '[ä»å¤©]LT', 14633 nextDay : '[æå¤©]LT', 14634 nextWeek : '[ä¸]ddddLT', 14635 lastDay : '[æ¨å¤©]LT', 14636 lastWeek : '[ä¸]ddddLT', 14637 sameElse : 'L' 14638 }, 14639 dayOfMonthOrdinalParse: /\d{1,2}(æ¥|æ|é±)/, 14640 ordinal : function (number, period) { 14641 switch (period) { 14642 case 'd' : 14643 case 'D' : 14644 case 'DDD' : 14645 return number + 'æ¥'; 14646 case 'M' : 14647 return number + 'æ'; 14648 case 'w' : 14649 case 'W' : 14650 return number + 'é±'; 14651 default : 14652 return number; 14653 } 14654 }, 14655 relativeTime : { 14656 future : '%så §', 14657 past : '%så', 14658 s : 'å¹¾ç§', 14659 ss : '%d ç§', 14660 m : '1 åé', 14661 mm : '%d åé', 14662 h : '1 å°æ', 14663 hh : '%d å°æ', 14664 d : '1 天', 14665 dd : '%d 天', 14666 M : '1 åæ', 14667 MM : '%d åæ', 14668 y : '1 å¹´', 14669 yy : '%d å¹´' 14670 } 14671 }); 14672 14673 //! moment.js locale configuration 14674 14675 // Manually fixed 14676 hooks.defineLocale('zh', { 14677 months : '䏿_äºæ_䏿_åæ_äºæ_å æ_䏿_å «æ_乿_åæ_å䏿_åäºæ'.split('_'), 14678 monthsShort : '1æ_2æ_3æ_4æ_5æ_6æ_7æ_8æ_9æ_10æ_11æ_12æ'.split('_'), 14679 weekdays : 'æææ¥_ææä¸_ææäº_ææä¸_ææå_ææäº_ææå '.split('_'), 14680 weekdaysShort : '鱿¥_é±ä¸_é±äº_é±ä¸_é±å_é±äº_é±å '.split('_'), 14681 weekdaysMin : 'æ¥_ä¸_äº_ä¸_å_äº_å '.split('_'), 14682 longDateFormat : { 14683 LT : 'HH:mm', 14684 LTS : 'HH:mm:ss', 14685 L : 'YYYY/MM/DD', 14686 LL : 'YYYYå¹´MæDæ¥', 14687 LLL : 'YYYYå¹´MæDæ¥ HH:mm', 14688 LLLL : 'YYYYå¹´MæDæ¥dddd HH:mm', 14689 l : 'YYYY/M/D', 14690 ll : 'YYYYå¹´MæDæ¥', 14691 lll : 'YYYYå¹´MæDæ¥ HH:mm', 14692 llll : 'YYYYå¹´MæDæ¥dddd HH:mm' 14693 }, 14694 meridiemParse: /忍|æ©ä¸|ä¸å|ä¸å|ä¸å|æä¸/, 14695 meridiemHour : function (hour, meridiem) { 14696 if (hour === 12) { 14697 hour = 0; 14698 } 14699 if (meridiem === '忍' || meridiem === 'æ©ä¸' || meridiem === 'ä¸å') { 14700 return hour; 14701 } else if (meridiem === 'ä¸å') { 14702 return hour >= 11 ? hour : hour + 12; 14703 } else if (meridiem === 'ä¸å' || meridiem === 'æä¸') { 14704 return hour + 12; 14705 } 14706 }, 14707 meridiem : function (hour, minute, isLower) { 14708 var hm = hour * 100 + minute; 14709 if (hm < 600) { 14710 return '忍'; 14711 } else if (hm < 900) { 14712 return 'æ©ä¸'; 14713 } else if (hm < 1130) { 14714 return 'ä¸å'; 14715 } else if (hm < 1230) { 14716 return 'ä¸å'; 14717 } else if (hm < 1800) { 14718 return 'ä¸å'; 14719 } else { 14720 return 'æä¸'; 14721 } 14722 }, 14723 calendar : { 14724 sameDay : '[ä»å¤©] LT', 14725 nextDay : '[æå¤©] LT', 14726 nextWeek : '[ä¸]dddd LT', 14727 lastDay : '[æ¨å¤©] LT', 14728 lastWeek : '[ä¸]dddd LT', 14729 sameElse : 'L' 14730 }, 14731 dayOfMonthOrdinalParse: /\d{1,2}(æ¥|æ|é±)/, 14732 ordinal : function (number, period) { 14733 switch (period) { 14734 case 'd' : 14735 case 'D' : 14736 case 'DDD' : 14737 return number + 'æ¥'; 14738 case 'M' : 14739 return number + 'æ'; 14740 case 'w' : 14741 case 'W' : 14742 return number + 'é±'; 14743 default : 14744 return number; 14745 } 14746 }, 14747 relativeTime : { 14748 future : '%så §', 14749 past : '%så', 14750 s : 'å¹¾ç§', 14751 ss : '%d ç§', 14752 m : '1 åé', 14753 mm : '%d åé', 14754 h : '1 å°æ', 14755 hh : '%d å°æ', 14756 d : '1 天', 14757 dd : '%d 天', 14758 M : '1 åæ', 14759 MM : '%d åæ', 14760 y : '1 å¹´', 14761 yy : '%d å¹´' 14762 } 14763 }); 14764 14765 hooks.locale('en'); 14766 14767 return hooks; 14768 14769})));
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.