logster 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/.gitignore +17 -0
- data/Gemfile +4 -0
- data/Guardfile +8 -0
- data/LICENSE.txt +22 -0
- data/README.md +38 -0
- data/Rakefile +18 -0
- data/assets/javascript/app.js +377 -0
- data/assets/javascript/external/ember.js +44267 -0
- data/assets/javascript/external/ember.min.js +19 -0
- data/assets/javascript/external/handlebars.min.js +28 -0
- data/assets/javascript/external/jquery.min.js +5 -0
- data/assets/javascript/external/lodash.min.js +56 -0
- data/assets/javascript/external/moment.min.js +6 -0
- data/assets/javascript/templates/application.handlebars +1 -0
- data/assets/javascript/templates/index.handlebars +48 -0
- data/assets/javascript/templates/message.handlebars +7 -0
- data/assets/stylesheets/app.css +188 -0
- data/bower_components/ember/.bower.json +22 -0
- data/bower_components/ember/.gitignore +5 -0
- data/bower_components/ember/Makefile +9 -0
- data/bower_components/ember/README.md +12 -0
- data/bower_components/ember/bower.json +11 -0
- data/bower_components/ember/component.json +13 -0
- data/bower_components/ember/composer.json +27 -0
- data/bower_components/ember/ember-template-compiler.js +320 -0
- data/bower_components/ember/ember.js +44267 -0
- data/bower_components/ember/ember.min.js +19 -0
- data/bower_components/ember/ember.prod.js +42649 -0
- data/bower_components/ember/package.json +11 -0
- data/bower_components/handlebars/.bower.json +16 -0
- data/bower_components/handlebars/.gitignore +2 -0
- data/bower_components/handlebars/README.md +11 -0
- data/bower_components/handlebars/bower.json +6 -0
- data/bower_components/handlebars/component.json +9 -0
- data/bower_components/handlebars/composer.json +35 -0
- data/bower_components/handlebars/handlebars-source.gemspec +21 -0
- data/bower_components/handlebars/handlebars.amd.js +2719 -0
- data/bower_components/handlebars/handlebars.amd.min.js +28 -0
- data/bower_components/handlebars/handlebars.js +2746 -0
- data/bower_components/handlebars/handlebars.js.nuspec +17 -0
- data/bower_components/handlebars/handlebars.min.js +28 -0
- data/bower_components/handlebars/handlebars.runtime.amd.js +515 -0
- data/bower_components/handlebars/handlebars.runtime.amd.min.js +27 -0
- data/bower_components/handlebars/handlebars.runtime.js +530 -0
- data/bower_components/handlebars/handlebars.runtime.min.js +27 -0
- data/bower_components/handlebars/lib/handlebars/source.rb +11 -0
- data/bower_components/jquery/.bower.json +37 -0
- data/bower_components/jquery/MIT-LICENSE.txt +21 -0
- data/bower_components/jquery/bower.json +27 -0
- data/bower_components/jquery/dist/jquery.js +9111 -0
- data/bower_components/jquery/dist/jquery.min.js +5 -0
- data/bower_components/jquery/dist/jquery.min.map +1 -0
- data/bower_components/jquery/src/ajax.js +806 -0
- data/bower_components/jquery/src/ajax/jsonp.js +89 -0
- data/bower_components/jquery/src/ajax/load.js +75 -0
- data/bower_components/jquery/src/ajax/parseJSON.js +13 -0
- data/bower_components/jquery/src/ajax/parseXML.js +28 -0
- data/bower_components/jquery/src/ajax/script.js +64 -0
- data/bower_components/jquery/src/ajax/var/nonce.js +5 -0
- data/bower_components/jquery/src/ajax/var/rquery.js +3 -0
- data/bower_components/jquery/src/ajax/xhr.js +130 -0
- data/bower_components/jquery/src/attributes.js +11 -0
- data/bower_components/jquery/src/attributes/attr.js +143 -0
- data/bower_components/jquery/src/attributes/classes.js +158 -0
- data/bower_components/jquery/src/attributes/prop.js +96 -0
- data/bower_components/jquery/src/attributes/support.js +35 -0
- data/bower_components/jquery/src/attributes/val.js +153 -0
- data/bower_components/jquery/src/callbacks.js +205 -0
- data/bower_components/jquery/src/core.js +500 -0
- data/bower_components/jquery/src/core/access.js +60 -0
- data/bower_components/jquery/src/core/init.js +123 -0
- data/bower_components/jquery/src/core/parseHTML.js +39 -0
- data/bower_components/jquery/src/core/ready.js +96 -0
- data/bower_components/jquery/src/core/var/rsingleTag.js +4 -0
- data/bower_components/jquery/src/css.js +455 -0
- data/bower_components/jquery/src/css/addGetHookIf.js +24 -0
- data/bower_components/jquery/src/css/curCSS.js +57 -0
- data/bower_components/jquery/src/css/defaultDisplay.js +69 -0
- data/bower_components/jquery/src/css/hiddenVisibleSelectors.js +15 -0
- data/bower_components/jquery/src/css/support.js +83 -0
- data/bower_components/jquery/src/css/swap.js +28 -0
- data/bower_components/jquery/src/css/var/cssExpand.js +3 -0
- data/bower_components/jquery/src/css/var/getStyles.js +5 -0
- data/bower_components/jquery/src/css/var/isHidden.js +13 -0
- data/bower_components/jquery/src/css/var/rmargin.js +3 -0
- data/bower_components/jquery/src/css/var/rnumnonpx.js +5 -0
- data/bower_components/jquery/src/data.js +175 -0
- data/bower_components/jquery/src/data/Data.js +181 -0
- data/bower_components/jquery/src/data/accepts.js +20 -0
- data/bower_components/jquery/src/data/var/data_priv.js +5 -0
- data/bower_components/jquery/src/data/var/data_user.js +5 -0
- data/bower_components/jquery/src/deferred.js +149 -0
- data/bower_components/jquery/src/deprecated.js +13 -0
- data/bower_components/jquery/src/dimensions.js +50 -0
- data/bower_components/jquery/src/effects.js +642 -0
- data/bower_components/jquery/src/effects/Tween.js +114 -0
- data/bower_components/jquery/src/effects/animatedSelector.js +13 -0
- data/bower_components/jquery/src/event.js +859 -0
- data/bower_components/jquery/src/event/alias.js +39 -0
- data/bower_components/jquery/src/event/support.js +9 -0
- data/bower_components/jquery/src/exports/amd.js +18 -0
- data/bower_components/jquery/src/exports/global.js +32 -0
- data/bower_components/jquery/src/intro.js +44 -0
- data/bower_components/jquery/src/jquery.js +36 -0
- data/bower_components/jquery/src/manipulation.js +583 -0
- data/bower_components/jquery/src/manipulation/_evalUrl.js +18 -0
- data/bower_components/jquery/src/manipulation/support.js +24 -0
- data/bower_components/jquery/src/manipulation/var/rcheckableType.js +3 -0
- data/bower_components/jquery/src/offset.js +204 -0
- data/bower_components/jquery/src/outro.js +1 -0
- data/bower_components/jquery/src/queue.js +142 -0
- data/bower_components/jquery/src/queue/delay.js +22 -0
- data/bower_components/jquery/src/selector-native.js +171 -0
- data/bower_components/jquery/src/selector-sizzle.js +14 -0
- data/bower_components/jquery/src/selector.js +1 -0
- data/bower_components/jquery/src/serialize.js +111 -0
- data/bower_components/jquery/src/sizzle/dist/sizzle.js +2015 -0
- data/bower_components/jquery/src/sizzle/dist/sizzle.min.js +3 -0
- data/bower_components/jquery/src/sizzle/dist/sizzle.min.map +1 -0
- data/bower_components/jquery/src/traversing.js +200 -0
- data/bower_components/jquery/src/traversing/findFilter.js +100 -0
- data/bower_components/jquery/src/traversing/var/rneedsContext.js +6 -0
- data/bower_components/jquery/src/var/arr.js +3 -0
- data/bower_components/jquery/src/var/class2type.js +4 -0
- data/bower_components/jquery/src/var/concat.js +5 -0
- data/bower_components/jquery/src/var/hasOwn.js +5 -0
- data/bower_components/jquery/src/var/indexOf.js +5 -0
- data/bower_components/jquery/src/var/pnum.js +3 -0
- data/bower_components/jquery/src/var/push.js +5 -0
- data/bower_components/jquery/src/var/rnotwhite.js +3 -0
- data/bower_components/jquery/src/var/slice.js +5 -0
- data/bower_components/jquery/src/var/strundefined.js +3 -0
- data/bower_components/jquery/src/var/support.js +4 -0
- data/bower_components/jquery/src/var/toString.js +5 -0
- data/bower_components/jquery/src/var/trim.js +3 -0
- data/bower_components/jquery/src/wrap.js +78 -0
- data/bower_components/lodash/.bower.json +34 -0
- data/bower_components/lodash/LICENSE.txt +22 -0
- data/bower_components/lodash/bower.json +23 -0
- data/bower_components/lodash/dist/lodash.compat.js +7157 -0
- data/bower_components/lodash/dist/lodash.compat.min.js +61 -0
- data/bower_components/lodash/dist/lodash.js +6785 -0
- data/bower_components/lodash/dist/lodash.min.js +56 -0
- data/bower_components/lodash/dist/lodash.underscore.js +4979 -0
- data/bower_components/lodash/dist/lodash.underscore.min.js +39 -0
- data/bower_components/moment/.bower.json +31 -0
- data/bower_components/moment/LICENSE +22 -0
- data/bower_components/moment/bower.json +20 -0
- data/bower_components/moment/lang/ar-ma.js +56 -0
- data/bower_components/moment/lang/ar.js +56 -0
- data/bower_components/moment/lang/bg.js +86 -0
- data/bower_components/moment/lang/br.js +107 -0
- data/bower_components/moment/lang/bs.js +139 -0
- data/bower_components/moment/lang/ca.js +66 -0
- data/bower_components/moment/lang/cs.js +155 -0
- data/bower_components/moment/lang/cv.js +59 -0
- data/bower_components/moment/lang/cy.js +77 -0
- data/bower_components/moment/lang/da.js +56 -0
- data/bower_components/moment/lang/de.js +71 -0
- data/bower_components/moment/lang/el.js +79 -0
- data/bower_components/moment/lang/en-au.js +62 -0
- data/bower_components/moment/lang/en-ca.js +59 -0
- data/bower_components/moment/lang/en-gb.js +63 -0
- data/bower_components/moment/lang/eo.js +65 -0
- data/bower_components/moment/lang/es.js +75 -0
- data/bower_components/moment/lang/et.js +76 -0
- data/bower_components/moment/lang/eu.js +60 -0
- data/bower_components/moment/lang/fa.js +97 -0
- data/bower_components/moment/lang/fi.js +103 -0
- data/bower_components/moment/lang/fo.js +56 -0
- data/bower_components/moment/lang/fr-ca.js +54 -0
- data/bower_components/moment/lang/fr.js +58 -0
- data/bower_components/moment/lang/gl.js +71 -0
- data/bower_components/moment/lang/he.js +77 -0
- data/bower_components/moment/lang/hi.js +105 -0
- data/bower_components/moment/lang/hr.js +140 -0
- data/bower_components/moment/lang/hu.js +105 -0
- data/bower_components/moment/lang/hy-am.js +113 -0
- data/bower_components/moment/lang/id.js +67 -0
- data/bower_components/moment/lang/is.js +124 -0
- data/bower_components/moment/lang/it.js +59 -0
- data/bower_components/moment/lang/ja.js +58 -0
- data/bower_components/moment/lang/ka.js +108 -0
- data/bower_components/moment/lang/km.js +55 -0
- data/bower_components/moment/lang/ko.js +63 -0
- data/bower_components/moment/lang/lb.js +160 -0
- data/bower_components/moment/lang/lt.js +118 -0
- data/bower_components/moment/lang/lv.js +77 -0
- data/bower_components/moment/lang/mk.js +86 -0
- data/bower_components/moment/lang/ml.js +64 -0
- data/bower_components/moment/lang/mr.js +104 -0
- data/bower_components/moment/lang/ms-my.js +66 -0
- data/bower_components/moment/lang/nb.js +57 -0
- data/bower_components/moment/lang/ne.js +105 -0
- data/bower_components/moment/lang/nl.js +67 -0
- data/bower_components/moment/lang/nn.js +56 -0
- data/bower_components/moment/lang/pl.js +98 -0
- data/bower_components/moment/lang/pt-br.js +56 -0
- data/bower_components/moment/lang/pt.js +60 -0
- data/bower_components/moment/lang/ro.js +72 -0
- data/bower_components/moment/lang/ru.js +163 -0
- data/bower_components/moment/lang/sk.js +156 -0
- data/bower_components/moment/lang/sl.js +144 -0
- data/bower_components/moment/lang/sq.js +61 -0
- data/bower_components/moment/lang/sr-cyr.js +106 -0
- data/bower_components/moment/lang/sr.js +106 -0
- data/bower_components/moment/lang/sv.js +63 -0
- data/bower_components/moment/lang/ta.js +112 -0
- data/bower_components/moment/lang/th.js +58 -0
- data/bower_components/moment/lang/tl-ph.js +58 -0
- data/bower_components/moment/lang/tr.js +93 -0
- data/bower_components/moment/lang/tzm-la.js +55 -0
- data/bower_components/moment/lang/tzm.js +55 -0
- data/bower_components/moment/lang/uk.js +157 -0
- data/bower_components/moment/lang/uz.js +55 -0
- data/bower_components/moment/lang/vi.js +62 -0
- data/bower_components/moment/lang/zh-cn.js +108 -0
- data/bower_components/moment/lang/zh-tw.js +84 -0
- data/bower_components/moment/min/langs.js +5991 -0
- data/bower_components/moment/min/langs.min.js +3 -0
- data/bower_components/moment/min/moment-with-langs.js +7993 -0
- data/bower_components/moment/min/moment-with-langs.min.js +9 -0
- data/bower_components/moment/min/moment.min.js +6 -0
- data/bower_components/moment/moment.js +2489 -0
- data/bower_components/moment/readme.md +368 -0
- data/lib/logster.rb +9 -0
- data/lib/logster/logger.rb +31 -0
- data/lib/logster/message.rb +42 -0
- data/lib/logster/middleware/reporter.rb +13 -0
- data/lib/logster/middleware/viewer.rb +122 -0
- data/lib/logster/rails/railtie.rb +39 -0
- data/lib/logster/redis_store.rb +124 -0
- data/lib/logster/version.rb +3 -0
- data/logster.gemspec +30 -0
- data/test/logster/middleware/test_viewer.rb +34 -0
- data/test/logster/test_redis_store.rb +112 -0
- data/test/test_helper.rb +6 -0
- data/website/Gemfile +6 -0
- data/website/config.ru +2 -0
- data/website/data/data.json +1 -0
- data/website/docker_container/logster.yml +95 -0
- data/website/sample.rb +85 -0
- data/website/scripts/persist_logs.rb +13 -0
- metadata +375 -0
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
//! moment.js
|
|
2
|
+
//! version : 2.6.0
|
|
3
|
+
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
|
|
4
|
+
//! license : MIT
|
|
5
|
+
//! momentjs.com
|
|
6
|
+
(function(a){function b(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function c(a,b){function c(){ib.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+a)}var d=!0;return i(function(){return d&&(c(),d=!1),b.apply(this,arguments)},b)}function d(a,b){return function(c){return l(a.call(this,c),b)}}function e(a,b){return function(c){return this.lang().ordinal(a.call(this,c),b)}}function f(){}function g(a){y(a),i(this,a)}function h(a){var b=r(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._bubble()}function i(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return b.hasOwnProperty("toString")&&(a.toString=b.toString),b.hasOwnProperty("valueOf")&&(a.valueOf=b.valueOf),a}function j(a){var b,c={};for(b in a)a.hasOwnProperty(b)&&wb.hasOwnProperty(b)&&(c[b]=a[b]);return c}function k(a){return 0>a?Math.ceil(a):Math.floor(a)}function l(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.length<b;)d="0"+d;return(e?c?"+":"":"-")+d}function m(a,b,c,d){var e=b._milliseconds,f=b._days,g=b._months;d=null==d?!0:d,e&&a._d.setTime(+a._d+e*c),f&&db(a,"Date",cb(a,"Date")+f*c),g&&bb(a,cb(a,"Month")+g*c),d&&ib.updateOffset(a,f||g)}function n(a){return"[object Array]"===Object.prototype.toString.call(a)}function o(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function p(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&t(a[d])!==t(b[d]))&&g++;return g+f}function q(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=Zb[a]||$b[b]||b}return a}function r(a){var b,c,d={};for(c in a)a.hasOwnProperty(c)&&(b=q(c),b&&(d[b]=a[c]));return d}function s(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}ib[b]=function(e,f){var g,h,i=ib.fn._lang[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=ib().utc().set(d,a);return i.call(ib.fn._lang,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function t(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function u(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function v(a,b,c){return $(ib([a,11,31+b-c]),b,c).week}function w(a){return x(a)?366:365}function x(a){return a%4===0&&a%100!==0||a%400===0}function y(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[pb]<0||a._a[pb]>11?pb:a._a[qb]<1||a._a[qb]>u(a._a[ob],a._a[pb])?qb:a._a[rb]<0||a._a[rb]>23?rb:a._a[sb]<0||a._a[sb]>59?sb:a._a[tb]<0||a._a[tb]>59?tb:a._a[ub]<0||a._a[ub]>999?ub:-1,a._pf._overflowDayOfYear&&(ob>b||b>qb)&&(b=qb),a._pf.overflow=b)}function z(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&&a._pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function A(a){return a?a.toLowerCase().replace("_","-"):a}function B(a,b){return b._isUTC?ib(a).zone(b._offset||0):ib(a).local()}function C(a,b){return b.abbr=a,vb[a]||(vb[a]=new f),vb[a].set(b),vb[a]}function D(a){delete vb[a]}function E(a){var b,c,d,e,f=0,g=function(a){if(!vb[a]&&xb)try{require("./lang/"+a)}catch(b){}return vb[a]};if(!a)return ib.fn._lang;if(!n(a)){if(c=g(a))return c;a=[a]}for(;f<a.length;){for(e=A(a[f]).split("-"),b=e.length,d=A(a[f+1]),d=d?d.split("-"):null;b>0;){if(c=g(e.slice(0,b).join("-")))return c;if(d&&d.length>=b&&p(e,d,!0)>=b-1)break;b--}f++}return ib.fn._lang}function F(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function G(a){var b,c,d=a.match(Bb);for(b=0,c=d.length;c>b;b++)d[b]=cc[d[b]]?cc[d[b]]:F(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function H(a,b){return a.isValid()?(b=I(b,a.lang()),_b[b]||(_b[b]=G(b)),_b[b](a)):a.lang().invalidDate()}function I(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Cb.lastIndex=0;d>=0&&Cb.test(a);)a=a.replace(Cb,c),Cb.lastIndex=0,d-=1;return a}function J(a,b){var c,d=b._strict;switch(a){case"Q":return Nb;case"DDDD":return Pb;case"YYYY":case"GGGG":case"gggg":return d?Qb:Fb;case"Y":case"G":case"g":return Sb;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?Rb:Gb;case"S":if(d)return Nb;case"SS":if(d)return Ob;case"SSS":if(d)return Pb;case"DDD":return Eb;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ib;case"a":case"A":return E(b._l)._meridiemParse;case"X":return Lb;case"Z":case"ZZ":return Jb;case"T":return Kb;case"SSSS":return Hb;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?Ob:Db;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Db;case"Do":return Mb;default:return c=new RegExp(R(Q(a.replace("\\","")),"i"))}}function K(a){a=a||"";var b=a.match(Jb)||[],c=b[b.length-1]||[],d=(c+"").match(Xb)||["-",0,0],e=+(60*d[1])+t(d[2]);return"+"===d[0]?-e:e}function L(a,b,c){var d,e=c._a;switch(a){case"Q":null!=b&&(e[pb]=3*(t(b)-1));break;case"M":case"MM":null!=b&&(e[pb]=t(b)-1);break;case"MMM":case"MMMM":d=E(c._l).monthsParse(b),null!=d?e[pb]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[qb]=t(b));break;case"Do":null!=b&&(e[qb]=t(parseInt(b,10)));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=t(b));break;case"YY":e[ob]=ib.parseTwoDigitYear(b);break;case"YYYY":case"YYYYY":case"YYYYYY":e[ob]=t(b);break;case"a":case"A":c._isPm=E(c._l).isPM(b);break;case"H":case"HH":case"h":case"hh":e[rb]=t(b);break;case"m":case"mm":e[sb]=t(b);break;case"s":case"ss":e[tb]=t(b);break;case"S":case"SS":case"SSS":case"SSSS":e[ub]=t(1e3*("0."+b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=K(b);break;case"w":case"ww":case"W":case"WW":case"d":case"dd":case"ddd":case"dddd":case"e":case"E":a=a.substr(0,1);case"gg":case"gggg":case"GG":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=b)}}function M(a){var b,c,d,e,f,g,h,i,j,k,l=[];if(!a._d){for(d=O(a),a._w&&null==a._a[qb]&&null==a._a[pb]&&(f=function(b){var c=parseInt(b,10);return b?b.length<3?c>68?1900+c:2e3+c:c:null==a._a[ob]?ib().weekYear():a._a[ob]},g=a._w,null!=g.GG||null!=g.W||null!=g.E?h=_(f(g.GG),g.W||1,g.E,4,1):(i=E(a._l),j=null!=g.d?X(g.d,i):null!=g.e?parseInt(g.e,10)+i._week.dow:0,k=parseInt(g.w,10)||1,null!=g.d&&j<i._week.dow&&k++,h=_(f(g.gg),k,j,i._week.doy,i._week.dow)),a._a[ob]=h.year,a._dayOfYear=h.dayOfYear),a._dayOfYear&&(e=null==a._a[ob]?d[ob]:a._a[ob],a._dayOfYear>w(e)&&(a._pf._overflowDayOfYear=!0),c=W(e,0,a._dayOfYear),a._a[pb]=c.getUTCMonth(),a._a[qb]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=l[b]=d[b];for(;7>b;b++)a._a[b]=l[b]=null==a._a[b]?2===b?1:0:a._a[b];l[rb]+=t((a._tzm||0)/60),l[sb]+=t((a._tzm||0)%60),a._d=(a._useUTC?W:V).apply(null,l)}}function N(a){var b;a._d||(b=r(a._i),a._a=[b.year,b.month,b.day,b.hour,b.minute,b.second,b.millisecond],M(a))}function O(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function P(a){a._a=[],a._pf.empty=!0;var b,c,d,e,f,g=E(a._l),h=""+a._i,i=h.length,j=0;for(d=I(a._f,g).match(Bb)||[],b=0;b<d.length;b++)e=d[b],c=(h.match(J(e,a))||[])[0],c&&(f=h.substr(0,h.indexOf(c)),f.length>0&&a._pf.unusedInput.push(f),h=h.slice(h.indexOf(c)+c.length),j+=c.length),cc[e]?(c?a._pf.empty=!1:a._pf.unusedTokens.push(e),L(e,c,a)):a._strict&&!c&&a._pf.unusedTokens.push(e);a._pf.charsLeftOver=i-j,h.length>0&&a._pf.unusedInput.push(h),a._isPm&&a._a[rb]<12&&(a._a[rb]+=12),a._isPm===!1&&12===a._a[rb]&&(a._a[rb]=0),M(a),y(a)}function Q(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function R(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function S(a){var c,d,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0/0));for(f=0;f<a._f.length;f++)g=0,c=i({},a),c._pf=b(),c._f=a._f[f],P(c),z(c)&&(g+=c._pf.charsLeftOver,g+=10*c._pf.unusedTokens.length,c._pf.score=g,(null==e||e>g)&&(e=g,d=c));i(a,d||c)}function T(a){var b,c,d=a._i,e=Tb.exec(d);if(e){for(a._pf.iso=!0,b=0,c=Vb.length;c>b;b++)if(Vb[b][1].exec(d)){a._f=Vb[b][0]+(e[6]||" ");break}for(b=0,c=Wb.length;c>b;b++)if(Wb[b][1].exec(d)){a._f+=Wb[b][0];break}d.match(Jb)&&(a._f+="Z"),P(a)}else ib.createFromInputFallback(a)}function U(b){var c=b._i,d=yb.exec(c);c===a?b._d=new Date:d?b._d=new Date(+d[1]):"string"==typeof c?T(b):n(c)?(b._a=c.slice(0),M(b)):o(c)?b._d=new Date(+c):"object"==typeof c?N(b):"number"==typeof c?b._d=new Date(c):ib.createFromInputFallback(b)}function V(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function W(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function X(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function Y(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function Z(a,b,c){var d=nb(Math.abs(a)/1e3),e=nb(d/60),f=nb(e/60),g=nb(f/24),h=nb(g/365),i=45>d&&["s",d]||1===e&&["m"]||45>e&&["mm",e]||1===f&&["h"]||22>f&&["hh",f]||1===g&&["d"]||25>=g&&["dd",g]||45>=g&&["M"]||345>g&&["MM",nb(g/30)]||1===h&&["y"]||["yy",h];return i[2]=b,i[3]=a>0,i[4]=c,Y.apply({},i)}function $(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=ib(a).add("d",f),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function _(a,b,c,d,e){var f,g,h=W(a,0,1).getUTCDay();return c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:w(a-1)+g}}function ab(b){var c=b._i,d=b._f;return null===c||d===a&&""===c?ib.invalid({nullInput:!0}):("string"==typeof c&&(b._i=c=E().preparse(c)),ib.isMoment(c)?(b=j(c),b._d=new Date(+c._d)):d?n(d)?S(b):P(b):U(b),new g(b))}function bb(a,b){var c;return"string"==typeof b&&(b=a.lang().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),u(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function cb(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function db(a,b,c){return"Month"===b?bb(a,c):a._d["set"+(a._isUTC?"UTC":"")+b](c)}function eb(a,b){return function(c){return null!=c?(db(this,a,c),ib.updateOffset(this,b),this):cb(this,a)}}function fb(a){ib.duration.fn[a]=function(){return this._data[a]}}function gb(a,b){ib.duration.fn["as"+a]=function(){return+this/b}}function hb(a){"undefined"==typeof ender&&(jb=mb.moment,mb.moment=a?c("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.",ib):ib)}for(var ib,jb,kb,lb="2.6.0",mb="undefined"!=typeof global?global:this,nb=Math.round,ob=0,pb=1,qb=2,rb=3,sb=4,tb=5,ub=6,vb={},wb={_isAMomentObject:null,_i:null,_f:null,_l:null,_strict:null,_isUTC:null,_offset:null,_pf:null,_lang:null},xb="undefined"!=typeof module&&module.exports,yb=/^\/?Date\((\-?\d+)/i,zb=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Ab=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,Bb=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,Cb=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,Db=/\d\d?/,Eb=/\d{1,3}/,Fb=/\d{1,4}/,Gb=/[+\-]?\d{1,6}/,Hb=/\d+/,Ib=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Jb=/Z|[\+\-]\d\d:?\d\d/gi,Kb=/T/i,Lb=/[\+\-]?\d+(\.\d{1,3})?/,Mb=/\d{1,2}/,Nb=/\d/,Ob=/\d\d/,Pb=/\d{3}/,Qb=/\d{4}/,Rb=/[+-]?\d{6}/,Sb=/[+-]?\d+/,Tb=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ub="YYYY-MM-DDTHH:mm:ssZ",Vb=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],Wb=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],Xb=/([\+\-]|\d\d)/gi,Yb=("Date|Hours|Minutes|Seconds|Milliseconds".split("|"),{Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6}),Zb={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",Q:"quarter",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},$b={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},_b={},ac="DDD w W M D d".split(" "),bc="M D H h m s w W".split(" "),cc={M:function(){return this.month()+1},MMM:function(a){return this.lang().monthsShort(this,a)},MMMM:function(a){return this.lang().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.lang().weekdaysMin(this,a)},ddd:function(a){return this.lang().weekdaysShort(this,a)},dddd:function(a){return this.lang().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return l(this.year()%100,2)},YYYY:function(){return l(this.year(),4)},YYYYY:function(){return l(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?"+":"-";return b+l(Math.abs(a),6)},gg:function(){return l(this.weekYear()%100,2)},gggg:function(){return l(this.weekYear(),4)},ggggg:function(){return l(this.weekYear(),5)},GG:function(){return l(this.isoWeekYear()%100,2)},GGGG:function(){return l(this.isoWeekYear(),4)},GGGGG:function(){return l(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return t(this.milliseconds()/100)},SS:function(){return l(t(this.milliseconds()/10),2)},SSS:function(){return l(this.milliseconds(),3)},SSSS:function(){return l(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+l(t(a/60),2)+":"+l(t(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+l(t(a/60),2)+l(t(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},dc=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];ac.length;)kb=ac.pop(),cc[kb+"o"]=e(cc[kb],kb);for(;bc.length;)kb=bc.pop(),cc[kb+kb]=d(cc[kb],2);for(cc.DDDD=d(cc.DDD,3),i(f.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var b,c,d;for(this._monthsParse||(this._monthsParse=[]),b=0;12>b;b++)if(this._monthsParse[b]||(c=ib.utc([2e3,b]),d="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[b]=new RegExp(d.replace(".",""),"i")),this._monthsParse[b].test(a))return b},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=ib([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendar[a];return"function"==typeof c?c.apply(b):c},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",preparse:function(a){return a},postformat:function(a){return a},week:function(a){return $(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),ib=function(c,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=c,g._f=d,g._l=e,g._strict=f,g._isUTC=!1,g._pf=b(),ab(g)},ib.suppressDeprecationWarnings=!1,ib.createFromInputFallback=c("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i)}),ib.utc=function(c,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=c,g._f=d,g._strict=f,g._pf=b(),ab(g).utc()},ib.unix=function(a){return ib(1e3*a)},ib.duration=function(a,b){var c,d,e,f=a,g=null;return ib.isDuration(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(f={},b?f[b]=a:f.milliseconds=a):(g=zb.exec(a))?(c="-"===g[1]?-1:1,f={y:0,d:t(g[qb])*c,h:t(g[rb])*c,m:t(g[sb])*c,s:t(g[tb])*c,ms:t(g[ub])*c}):(g=Ab.exec(a))&&(c="-"===g[1]?-1:1,e=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*c},f={y:e(g[2]),M:e(g[3]),d:e(g[4]),h:e(g[5]),m:e(g[6]),s:e(g[7]),w:e(g[8])}),d=new h(f),ib.isDuration(a)&&a.hasOwnProperty("_lang")&&(d._lang=a._lang),d},ib.version=lb,ib.defaultFormat=Ub,ib.momentProperties=wb,ib.updateOffset=function(){},ib.lang=function(a,b){var c;return a?(b?C(A(a),b):null===b?(D(a),a="en"):vb[a]||E(a),c=ib.duration.fn._lang=ib.fn._lang=E(a),c._abbr):ib.fn._lang._abbr},ib.langData=function(a){return a&&a._lang&&a._lang._abbr&&(a=a._lang._abbr),E(a)},ib.isMoment=function(a){return a instanceof g||null!=a&&a.hasOwnProperty("_isAMomentObject")},ib.isDuration=function(a){return a instanceof h},kb=dc.length-1;kb>=0;--kb)s(dc[kb]);ib.normalizeUnits=function(a){return q(a)},ib.invalid=function(a){var b=ib.utc(0/0);return null!=a?i(b._pf,a):b._pf.userInvalidated=!0,b},ib.parseZone=function(){return ib.apply(null,arguments).parseZone()},ib.parseTwoDigitYear=function(a){return t(a)+(t(a)>68?1900:2e3)},i(ib.fn=g.prototype,{clone:function(){return ib(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=ib(this).utc();return 0<a.year()&&a.year()<=9999?H(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):H(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds()]},isValid:function(){return z(this)},isDSTShifted:function(){return this._a?this.isValid()&&p(this._a,(this._isUTC?ib.utc(this._a):ib(this._a)).toArray())>0:!1},parsingFlags:function(){return i({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(a){var b=H(this,a||ib.defaultFormat);return this.lang().postformat(b)},add:function(a,b){var c;return c="string"==typeof a?ib.duration(+b,a):ib.duration(a,b),m(this,c,1),this},subtract:function(a,b){var c;return c="string"==typeof a?ib.duration(+b,a):ib.duration(a,b),m(this,c,-1),this},diff:function(a,b,c){var d,e,f=B(a,this),g=6e4*(this.zone()-f.zone());return b=q(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+f.daysInMonth()),e=12*(this.year()-f.year())+(this.month()-f.month()),e+=(this-ib(this).startOf("month")-(f-ib(f).startOf("month")))/d,e-=6e4*(this.zone()-ib(this).startOf("month").zone()-(f.zone()-ib(f).startOf("month").zone()))/d,"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:k(e)},from:function(a,b){return ib.duration(this.diff(a)).lang(this.lang()._abbr).humanize(!b)},fromNow:function(a){return this.from(ib(),a)},calendar:function(){var a=B(ib(),this).startOf("day"),b=this.diff(a,"days",!0),c=-6>b?"sameElse":-1>b?"lastWeek":0>b?"lastDay":1>b?"sameDay":2>b?"nextDay":7>b?"nextWeek":"sameElse";return this.format(this.lang().calendar(c,this))},isLeapYear:function(){return x(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=X(a,this.lang()),this.add({d:a-b})):b},month:eb("Month",!0),startOf:function(a){switch(a=q(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a?this.weekday(0):"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(a){return a=q(a),this.startOf(a).add("isoWeek"===a?"week":a,1).subtract("ms",1)},isAfter:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)>+ib(a).startOf(b)},isBefore:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)<+ib(a).startOf(b)},isSame:function(a,b){return b=b||"ms",+this.clone().startOf(b)===+B(a,this).startOf(b)},min:function(a){return a=ib.apply(null,arguments),this>a?this:a},max:function(a){return a=ib.apply(null,arguments),a>this?this:a},zone:function(a,b){var c=this._offset||0;return null==a?this._isUTC?c:this._d.getTimezoneOffset():("string"==typeof a&&(a=K(a)),Math.abs(a)<16&&(a=60*a),this._offset=a,this._isUTC=!0,c!==a&&(!b||this._changeInProgress?m(this,ib.duration(c-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,ib.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?ib(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return u(this.year(),this.month())},dayOfYear:function(a){var b=nb((ib(this).startOf("day")-ib(this).startOf("year"))/864e5)+1;return null==a?b:this.add("d",a-b)},quarter:function(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)},weekYear:function(a){var b=$(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==a?b:this.add("y",a-b)},isoWeekYear:function(a){var b=$(this,1,4).year;return null==a?b:this.add("y",a-b)},week:function(a){var b=this.lang().week(this);return null==a?b:this.add("d",7*(a-b))},isoWeek:function(a){var b=$(this,1,4).week;return null==a?b:this.add("d",7*(a-b))},weekday:function(a){var b=(this.day()+7-this.lang()._week.dow)%7;return null==a?b:this.add("d",a-b)},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},isoWeeksInYear:function(){return v(this.year(),1,4)},weeksInYear:function(){var a=this._lang._week;return v(this.year(),a.dow,a.doy)},get:function(a){return a=q(a),this[a]()},set:function(a,b){return a=q(a),"function"==typeof this[a]&&this[a](b),this},lang:function(b){return b===a?this._lang:(this._lang=E(b),this)}}),ib.fn.millisecond=ib.fn.milliseconds=eb("Milliseconds",!1),ib.fn.second=ib.fn.seconds=eb("Seconds",!1),ib.fn.minute=ib.fn.minutes=eb("Minutes",!1),ib.fn.hour=ib.fn.hours=eb("Hours",!0),ib.fn.date=eb("Date",!0),ib.fn.dates=c("dates accessor is deprecated. Use date instead.",eb("Date",!0)),ib.fn.year=eb("FullYear",!0),ib.fn.years=c("years accessor is deprecated. Use year instead.",eb("FullYear",!0)),ib.fn.days=ib.fn.day,ib.fn.months=ib.fn.month,ib.fn.weeks=ib.fn.week,ib.fn.isoWeeks=ib.fn.isoWeek,ib.fn.quarters=ib.fn.quarter,ib.fn.toJSON=ib.fn.toISOString,i(ib.duration.fn=h.prototype,{_bubble:function(){var a,b,c,d,e=this._milliseconds,f=this._days,g=this._months,h=this._data;h.milliseconds=e%1e3,a=k(e/1e3),h.seconds=a%60,b=k(a/60),h.minutes=b%60,c=k(b/60),h.hours=c%24,f+=k(c/24),h.days=f%30,g+=k(f/30),h.months=g%12,d=k(g/12),h.years=d},weeks:function(){return k(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*t(this._months/12)},humanize:function(a){var b=+this,c=Z(b,!a,this.lang());return a&&(c=this.lang().pastFuture(b,c)),this.lang().postformat(c)},add:function(a,b){var c=ib.duration(a,b);return this._milliseconds+=c._milliseconds,this._days+=c._days,this._months+=c._months,this._bubble(),this},subtract:function(a,b){var c=ib.duration(a,b);return this._milliseconds-=c._milliseconds,this._days-=c._days,this._months-=c._months,this._bubble(),this},get:function(a){return a=q(a),this[a.toLowerCase()+"s"]()},as:function(a){return a=q(a),this["as"+a.charAt(0).toUpperCase()+a.slice(1)+"s"]()},lang:ib.fn.lang,toIsoString:function(){var a=Math.abs(this.years()),b=Math.abs(this.months()),c=Math.abs(this.days()),d=Math.abs(this.hours()),e=Math.abs(this.minutes()),f=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"}});for(kb in Yb)Yb.hasOwnProperty(kb)&&(gb(kb,Yb[kb]),fb(kb.toLowerCase()));gb("Weeks",6048e5),ib.duration.fn.asMonths=function(){return(+this-31536e6*this.years())/2592e6+12*this.years()},ib.lang("en",{ordinal:function(a){var b=a%10,c=1===t(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),function(a){a(ib)}(function(a){return a.lang("ar-ma",{months:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),monthsShort:"يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر".split("_"),weekdays:"الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})}),function(a){a(ib)}(function(a){return a.lang("ar",{months:"يناير/ كانون الثاني_فبراير/ شباط_مارس/ آذار_أبريل/ نيسان_مايو/ أيار_يونيو/ حزيران_يوليو/ تموز_أغسطس/ آب_سبتمبر/ أيلول_أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول".split("_"),monthsShort:"يناير/ كانون الثاني_فبراير/ شباط_مارس/ آذار_أبريل/ نيسان_مايو/ أيار_يونيو/ حزيران_يوليو/ تموز_أغسطس/ آب_سبتمبر/ أيلول_أكتوبر/ تشرين الأول_نوفمبر/ تشرين الثاني_ديسمبر/ كانون الأول".split("_"),weekdays:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysShort:"الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت".split("_"),weekdaysMin:"ح_ن_ث_ر_خ_ج_س".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[اليوم على الساعة] LT",nextDay:"[غدا على الساعة] LT",nextWeek:"dddd [على الساعة] LT",lastDay:"[أمس على الساعة] LT",lastWeek:"dddd [على الساعة] LT",sameElse:"L"},relativeTime:{future:"في %s",past:"منذ %s",s:"ثوان",m:"دقيقة",mm:"%d دقائق",h:"ساعة",hh:"%d ساعات",d:"يوم",dd:"%d أيام",M:"شهر",MM:"%d أشهر",y:"سنة",yy:"%d سنوات"},week:{dow:6,doy:12}})}),function(a){a(ib)}(function(a){return a.lang("bg",{months:"януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември".split("_"),monthsShort:"янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек".split("_"),weekdays:"неделя_понеделник_вторник_сряда_четвъртък_петък_събота".split("_"),weekdaysShort:"нед_пон_вто_сря_чет_пет_съб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"H:mm",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Днес в] LT",nextDay:"[Утре в] LT",nextWeek:"dddd [в] LT",lastDay:"[Вчера в] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[В изминалата] dddd [в] LT";case 1:case 2:case 4:case 5:return"[В изминалия] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"след %s",past:"преди %s",s:"няколко секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дни",M:"месец",MM:"%d месеца",y:"година",yy:"%d години"},ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&20>c?a+"-ти":1===b?a+"-ви":2===b?a+"-ри":7===b||8===b?a+"-ми":a+"-ти"},week:{dow:1,doy:7}})}),function(a){a(ib)}(function(b){function c(a,b,c){var d={mm:"munutenn",MM:"miz",dd:"devezh"};return a+" "+f(d[c],a)}function d(a){switch(e(a)){case 1:case 3:case 4:case 5:case 9:return a+" bloaz";default:return a+" vloaz"}}function e(a){return a>9?e(a%10):a}function f(a,b){return 2===b?g(a):a}function g(b){var c={m:"v",b:"v",d:"z"};return c[b.charAt(0)]===a?b:c[b.charAt(0)]+b.substring(1)}return b.lang("br",{months:"Genver_C'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu".split("_"),monthsShort:"Gen_C'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker".split("_"),weekdays:"Sul_Lun_Meurzh_Merc'her_Yaou_Gwener_Sadorn".split("_"),weekdaysShort:"Sul_Lun_Meu_Mer_Yao_Gwe_Sad".split("_"),weekdaysMin:"Su_Lu_Me_Mer_Ya_Gw_Sa".split("_"),longDateFormat:{LT:"h[e]mm A",L:"DD/MM/YYYY",LL:"D [a viz] MMMM YYYY",LLL:"D [a viz] MMMM YYYY LT",LLLL:"dddd, D [a viz] MMMM YYYY LT"},calendar:{sameDay:"[Hiziv da] LT",nextDay:"[Warc'hoazh da] LT",nextWeek:"dddd [da] LT",lastDay:"[Dec'h da] LT",lastWeek:"dddd [paset da] LT",sameElse:"L"},relativeTime:{future:"a-benn %s",past:"%s 'zo",s:"un nebeud segondennoù",m:"ur vunutenn",mm:c,h:"un eur",hh:"%d eur",d:"un devezh",dd:c,M:"ur miz",MM:c,y:"ur bloaz",yy:d},ordinal:function(a){var b=1===a?"añ":"vet";return a+b},week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){function b(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";
|
|
7
|
+
case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}return a.lang("bs",{months:"januar_februar_mart_april_maj_juni_juli_avgust_septembar_oktobar_novembar_decembar".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),longDateFormat:{LT:"H:mm",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:b,mm:b,h:b,hh:b,d:"dan",dd:b,M:"mjesec",MM:b,y:"godinu",yy:b},ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){return a.lang("ca",{months:"gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre".split("_"),monthsShort:"gen._febr._mar._abr._mai._jun._jul._ag._set._oct._nov._des.".split("_"),weekdays:"diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte".split("_"),weekdaysShort:"dg._dl._dt._dc._dj._dv._ds.".split("_"),weekdaysMin:"Dg_Dl_Dt_Dc_Dj_Dv_Ds".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:function(){return"[avui a "+(1!==this.hours()?"les":"la")+"] LT"},nextDay:function(){return"[demà a "+(1!==this.hours()?"les":"la")+"] LT"},nextWeek:function(){return"dddd [a "+(1!==this.hours()?"les":"la")+"] LT"},lastDay:function(){return"[ahir a "+(1!==this.hours()?"les":"la")+"] LT"},lastWeek:function(){return"[el] dddd [passat a "+(1!==this.hours()?"les":"la")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"fa %s",s:"uns segons",m:"un minut",mm:"%d minuts",h:"una hora",hh:"%d hores",d:"un dia",dd:"%d dies",M:"un mes",MM:"%d mesos",y:"un any",yy:"%d anys"},ordinal:"%dº",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){function b(a){return a>1&&5>a&&1!==~~(a/10)}function c(a,c,d,e){var f=a+" ";switch(d){case"s":return c||e?"pár sekund":"pár sekundami";case"m":return c?"minuta":e?"minutu":"minutou";case"mm":return c||e?f+(b(a)?"minuty":"minut"):f+"minutami";break;case"h":return c?"hodina":e?"hodinu":"hodinou";case"hh":return c||e?f+(b(a)?"hodiny":"hodin"):f+"hodinami";break;case"d":return c||e?"den":"dnem";case"dd":return c||e?f+(b(a)?"dny":"dní"):f+"dny";break;case"M":return c||e?"měsíc":"měsícem";case"MM":return c||e?f+(b(a)?"měsíce":"měsíců"):f+"měsíci";break;case"y":return c||e?"rok":"rokem";case"yy":return c||e?f+(b(a)?"roky":"let"):f+"lety"}}var d="leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec".split("_"),e="led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro".split("_");return a.lang("cs",{months:d,monthsShort:e,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(d,e),weekdays:"neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota".split("_"),weekdaysShort:"ne_po_út_st_čt_pá_so".split("_"),weekdaysMin:"ne_po_út_st_čt_pá_so".split("_"),longDateFormat:{LT:"H.mm",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd D. MMMM YYYY LT"},calendar:{sameDay:"[dnes v] LT",nextDay:"[zítra v] LT",nextWeek:function(){switch(this.day()){case 0:return"[v neděli v] LT";case 1:case 2:return"[v] dddd [v] LT";case 3:return"[ve středu v] LT";case 4:return"[ve čtvrtek v] LT";case 5:return"[v pátek v] LT";case 6:return"[v sobotu v] LT"}},lastDay:"[včera v] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulou neděli v] LT";case 1:case 2:return"[minulé] dddd [v] LT";case 3:return"[minulou středu v] LT";case 4:case 5:return"[minulý] dddd [v] LT";case 6:return"[minulou sobotu v] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"před %s",s:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("cv",{months:"кăрлач_нарăс_пуш_ака_май_çĕртме_утă_çурла_авăн_юпа_чӳк_раштав".split("_"),monthsShort:"кăр_нар_пуш_ака_май_çĕр_утă_çур_ав_юпа_чӳк_раш".split("_"),weekdays:"вырсарникун_тунтикун_ытларикун_юнкун_кĕçнерникун_эрнекун_шăматкун".split("_"),weekdaysShort:"выр_тун_ытл_юн_кĕç_эрн_шăм".split("_"),weekdaysMin:"вр_тн_ыт_юн_кç_эр_шм".split("_"),longDateFormat:{LT:"HH:mm",L:"DD-MM-YYYY",LL:"YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ]",LLL:"YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT",LLLL:"dddd, YYYY [çулхи] MMMM [уйăхĕн] D[-мĕшĕ], LT"},calendar:{sameDay:"[Паян] LT [сехетре]",nextDay:"[Ыран] LT [сехетре]",lastDay:"[Ĕнер] LT [сехетре]",nextWeek:"[Çитес] dddd LT [сехетре]",lastWeek:"[Иртнĕ] dddd LT [сехетре]",sameElse:"L"},relativeTime:{future:function(a){var b=/сехет$/i.exec(a)?"рен":/çул$/i.exec(a)?"тан":"ран";return a+b},past:"%s каялла",s:"пĕр-ик çеккунт",m:"пĕр минут",mm:"%d минут",h:"пĕр сехет",hh:"%d сехет",d:"пĕр кун",dd:"%d кун",M:"пĕр уйăх",MM:"%d уйăх",y:"пĕр çул",yy:"%d çул"},ordinal:"%d-мĕш",week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){return a.lang("cy",{months:"Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr".split("_"),monthsShort:"Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag".split("_"),weekdays:"Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn".split("_"),weekdaysShort:"Sul_Llun_Maw_Mer_Iau_Gwe_Sad".split("_"),weekdaysMin:"Su_Ll_Ma_Me_Ia_Gw_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Heddiw am] LT",nextDay:"[Yfory am] LT",nextWeek:"dddd [am] LT",lastDay:"[Ddoe am] LT",lastWeek:"dddd [diwethaf am] LT",sameElse:"L"},relativeTime:{future:"mewn %s",past:"%s yn àl",s:"ychydig eiliadau",m:"munud",mm:"%d munud",h:"awr",hh:"%d awr",d:"diwrnod",dd:"%d diwrnod",M:"mis",MM:"%d mis",y:"blwyddyn",yy:"%d flynedd"},ordinal:function(a){var b=a,c="",d=["","af","il","ydd","ydd","ed","ed","ed","fed","fed","fed","eg","fed","eg","eg","fed","eg","eg","fed","eg","fed"];return b>20?c=40===b||50===b||60===b||80===b||100===b?"fed":"ain":b>0&&(c=d[b]),a+c},week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("da",{months:"januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"søn_man_tir_ons_tor_fre_lør".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D. MMMM, YYYY LT"},calendar:{sameDay:"[I dag kl.] LT",nextDay:"[I morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[I går kl.] LT",lastWeek:"[sidste] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"%s siden",s:"få sekunder",m:"et minut",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dage",M:"en måned",MM:"%d måneder",y:"et år",yy:"%d år"},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){function b(a,b,c){var d={m:["eine Minute","einer Minute"],h:["eine Stunde","einer Stunde"],d:["ein Tag","einem Tag"],dd:[a+" Tage",a+" Tagen"],M:["ein Monat","einem Monat"],MM:[a+" Monate",a+" Monaten"],y:["ein Jahr","einem Jahr"],yy:[a+" Jahre",a+" Jahren"]};return b?d[c][0]:d[c][1]}return a.lang("de",{months:"Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Apr._Mai_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag".split("_"),weekdaysShort:"So._Mo._Di._Mi._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mo_Di_Mi_Do_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm [Uhr]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Heute um] LT",sameElse:"L",nextDay:"[Morgen um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gestern um] LT",lastWeek:"[letzten] dddd [um] LT"},relativeTime:{future:"in %s",past:"vor %s",s:"ein paar Sekunden",m:b,mm:"%d Minuten",h:b,hh:"%d Stunden",d:b,dd:b,M:b,MM:b,y:b,yy:b},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("el",{monthsNominativeEl:"Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος".split("_"),monthsGenitiveEl:"Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου".split("_"),months:function(a,b){return/D/.test(b.substring(0,b.indexOf("MMMM")))?this._monthsGenitiveEl[a.month()]:this._monthsNominativeEl[a.month()]},monthsShort:"Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ".split("_"),weekdays:"Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο".split("_"),weekdaysShort:"Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ".split("_"),weekdaysMin:"Κυ_Δε_Τρ_Τε_Πε_Πα_Σα".split("_"),meridiem:function(a,b,c){return a>11?c?"μμ":"ΜΜ":c?"πμ":"ΠΜ"},longDateFormat:{LT:"h:mm A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendarEl:{sameDay:"[Σήμερα {}] LT",nextDay:"[Αύριο {}] LT",nextWeek:"dddd [{}] LT",lastDay:"[Χθες {}] LT",lastWeek:"[την προηγούμενη] dddd [{}] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendarEl[a],d=b&&b.hours();return c.replace("{}",d%12===1?"στη":"στις")},relativeTime:{future:"σε %s",past:"%s πριν",s:"δευτερόλεπτα",m:"ένα λεπτό",mm:"%d λεπτά",h:"μία ώρα",hh:"%d ώρες",d:"μία μέρα",dd:"%d μέρες",M:"ένας μήνας",MM:"%d μήνες",y:"ένας χρόνος",yy:"%d χρόνια"},ordinal:function(a){return a+"η"},week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("en-au",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("en-ca",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"h:mm A",L:"YYYY-MM-DD",LL:"D MMMM, YYYY",LLL:"D MMMM, YYYY LT",LLLL:"dddd, D MMMM, YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}})}),function(a){a(ib)}(function(a){return a.lang("en-gb",{months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c},week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("eo",{months:"januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec".split("_"),weekdays:"Dimanĉo_Lundo_Mardo_Merkredo_Ĵaŭdo_Vendredo_Sabato".split("_"),weekdaysShort:"Dim_Lun_Mard_Merk_Ĵaŭ_Ven_Sab".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Ĵa_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D[-an de] MMMM, YYYY",LLL:"D[-an de] MMMM, YYYY LT",LLLL:"dddd, [la] D[-an de] MMMM, YYYY LT"},meridiem:function(a,b,c){return a>11?c?"p.t.m.":"P.T.M.":c?"a.t.m.":"A.T.M."},calendar:{sameDay:"[Hodiaŭ je] LT",nextDay:"[Morgaŭ je] LT",nextWeek:"dddd [je] LT",lastDay:"[Hieraŭ je] LT",lastWeek:"[pasinta] dddd [je] LT",sameElse:"L"},relativeTime:{future:"je %s",past:"antaŭ %s",s:"sekundoj",m:"minuto",mm:"%d minutoj",h:"horo",hh:"%d horoj",d:"tago",dd:"%d tagoj",M:"monato",MM:"%d monatoj",y:"jaro",yy:"%d jaroj"},ordinal:"%da",week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){var b="ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.".split("_"),c="ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic".split("_");return a.lang("es",{months:"enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre".split("_"),monthsShort:function(a,d){return/-MMM-/.test(d)?c[a.month()]:b[a.month()]},weekdays:"domingo_lunes_martes_miércoles_jueves_viernes_sábado".split("_"),weekdaysShort:"dom._lun._mar._mié._jue._vie._sáb.".split("_"),weekdaysMin:"Do_Lu_Ma_Mi_Ju_Vi_Sá".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D [de] MMMM [del] YYYY",LLL:"D [de] MMMM [del] YYYY LT",LLLL:"dddd, D [de] MMMM [del] YYYY LT"},calendar:{sameDay:function(){return"[hoy a la"+(1!==this.hours()?"s":"")+"] LT"},nextDay:function(){return"[mañana a la"+(1!==this.hours()?"s":"")+"] LT"},nextWeek:function(){return"dddd [a la"+(1!==this.hours()?"s":"")+"] LT"},lastDay:function(){return"[ayer a la"+(1!==this.hours()?"s":"")+"] LT"},lastWeek:function(){return"[el] dddd [pasado a la"+(1!==this.hours()?"s":"")+"] LT"},sameElse:"L"},relativeTime:{future:"en %s",past:"hace %s",s:"unos segundos",m:"un minuto",mm:"%d minutos",h:"una hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un año",yy:"%d años"},ordinal:"%dº",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){function b(a,b,c,d){var e={s:["mõne sekundi","mõni sekund","paar sekundit"],m:["ühe minuti","üks minut"],mm:[a+" minuti",a+" minutit"],h:["ühe tunni","tund aega","üks tund"],hh:[a+" tunni",a+" tundi"],d:["ühe päeva","üks päev"],M:["kuu aja","kuu aega","üks kuu"],MM:[a+" kuu",a+" kuud"],y:["ühe aasta","aasta","üks aasta"],yy:[a+" aasta",a+" aastat"]};return b?e[c][2]?e[c][2]:e[c][1]:d?e[c][0]:e[c][1]}return a.lang("et",{months:"jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember".split("_"),monthsShort:"jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets".split("_"),weekdays:"pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev".split("_"),weekdaysShort:"P_E_T_K_N_R_L".split("_"),weekdaysMin:"P_E_T_K_N_R_L".split("_"),longDateFormat:{LT:"H:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Täna,] LT",nextDay:"[Homme,] LT",nextWeek:"[Järgmine] dddd LT",lastDay:"[Eile,] LT",lastWeek:"[Eelmine] dddd LT",sameElse:"L"},relativeTime:{future:"%s pärast",past:"%s tagasi",s:b,m:b,mm:b,h:b,hh:b,d:b,dd:"%d päeva",M:b,MM:b,y:b,yy:b},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("eu",{months:"urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua".split("_"),monthsShort:"urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.".split("_"),weekdays:"igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata".split("_"),weekdaysShort:"ig._al._ar._az._og._ol._lr.".split("_"),weekdaysMin:"ig_al_ar_az_og_ol_lr".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"YYYY[ko] MMMM[ren] D[a]",LLL:"YYYY[ko] MMMM[ren] D[a] LT",LLLL:"dddd, YYYY[ko] MMMM[ren] D[a] LT",l:"YYYY-M-D",ll:"YYYY[ko] MMM D[a]",lll:"YYYY[ko] MMM D[a] LT",llll:"ddd, YYYY[ko] MMM D[a] LT"},calendar:{sameDay:"[gaur] LT[etan]",nextDay:"[bihar] LT[etan]",nextWeek:"dddd LT[etan]",lastDay:"[atzo] LT[etan]",lastWeek:"[aurreko] dddd LT[etan]",sameElse:"L"},relativeTime:{future:"%s barru",past:"duela %s",s:"segundo batzuk",m:"minutu bat",mm:"%d minutu",h:"ordu bat",hh:"%d ordu",d:"egun bat",dd:"%d egun",M:"hilabete bat",MM:"%d hilabete",y:"urte bat",yy:"%d urte"},ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){var b={1:"۱",2:"۲",3:"۳",4:"۴",5:"۵",6:"۶",7:"۷",8:"۸",9:"۹",0:"۰"},c={"۱":"1","۲":"2","۳":"3","۴":"4","۵":"5","۶":"6","۷":"7","۸":"8","۹":"9","۰":"0"};return a.lang("fa",{months:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),monthsShort:"ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر".split("_"),weekdays:"یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه".split("_"),weekdaysShort:"یکشنبه_دوشنبه_سهشنبه_چهارشنبه_پنجشنبه_جمعه_شنبه".split("_"),weekdaysMin:"ی_د_س_چ_پ_ج_ش".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},meridiem:function(a){return 12>a?"قبل از ظهر":"بعد از ظهر"},calendar:{sameDay:"[امروز ساعت] LT",nextDay:"[فردا ساعت] LT",nextWeek:"dddd [ساعت] LT",lastDay:"[دیروز ساعت] LT",lastWeek:"dddd [پیش] [ساعت] LT",sameElse:"L"},relativeTime:{future:"در %s",past:"%s پیش",s:"چندین ثانیه",m:"یک دقیقه",mm:"%d دقیقه",h:"یک ساعت",hh:"%d ساعت",d:"یک روز",dd:"%d روز",M:"یک ماه",MM:"%d ماه",y:"یک سال",yy:"%d سال"},preparse:function(a){return a.replace(/[۰-۹]/g,function(a){return c[a]}).replace(/،/g,",")},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]}).replace(/,/g,"،")},ordinal:"%dم",week:{dow:6,doy:12}})}),function(a){a(ib)}(function(a){function b(a,b,d,e){var f="";switch(d){case"s":return e?"muutaman sekunnin":"muutama sekunti";case"m":return e?"minuutin":"minuutti";case"mm":f=e?"minuutin":"minuuttia";break;case"h":return e?"tunnin":"tunti";case"hh":f=e?"tunnin":"tuntia";break;case"d":return e?"päivän":"päivä";case"dd":f=e?"päivän":"päivää";break;case"M":return e?"kuukauden":"kuukausi";case"MM":f=e?"kuukauden":"kuukautta";break;case"y":return e?"vuoden":"vuosi";case"yy":f=e?"vuoden":"vuotta"}return f=c(a,e)+" "+f}function c(a,b){return 10>a?b?e[a]:d[a]:a}var d="nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän".split(" "),e=["nolla","yhden","kahden","kolmen","neljän","viiden","kuuden",d[7],d[8],d[9]];return a.lang("fi",{months:"tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu".split("_"),monthsShort:"tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu".split("_"),weekdays:"sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai".split("_"),weekdaysShort:"su_ma_ti_ke_to_pe_la".split("_"),weekdaysMin:"su_ma_ti_ke_to_pe_la".split("_"),longDateFormat:{LT:"HH.mm",L:"DD.MM.YYYY",LL:"Do MMMM[ta] YYYY",LLL:"Do MMMM[ta] YYYY, [klo] LT",LLLL:"dddd, Do MMMM[ta] YYYY, [klo] LT",l:"D.M.YYYY",ll:"Do MMM YYYY",lll:"Do MMM YYYY, [klo] LT",llll:"ddd, Do MMM YYYY, [klo] LT"},calendar:{sameDay:"[tänään] [klo] LT",nextDay:"[huomenna] [klo] LT",nextWeek:"dddd [klo] LT",lastDay:"[eilen] [klo] LT",lastWeek:"[viime] dddd[na] [klo] LT",sameElse:"L"},relativeTime:{future:"%s päästä",past:"%s sitten",s:b,m:b,mm:b,h:b,hh:b,d:b,dd:b,M:b,MM:b,y:b,yy:b},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("fo",{months:"januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur".split("_"),weekdaysShort:"sun_mán_týs_mik_hós_frí_ley".split("_"),weekdaysMin:"su_má_tý_mi_hó_fr_le".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D. MMMM, YYYY LT"},calendar:{sameDay:"[Í dag kl.] LT",nextDay:"[Í morgin kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[Í gjár kl.] LT",lastWeek:"[síðstu] dddd [kl] LT",sameElse:"L"},relativeTime:{future:"um %s",past:"%s síðani",s:"fá sekund",m:"ein minutt",mm:"%d minuttir",h:"ein tími",hh:"%d tímar",d:"ein dagur",dd:"%d dagar",M:"ein mánaði",MM:"%d mánaðir",y:"eitt ár",yy:"%d ár"},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("fr-ca",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(a){return a+(1===a?"er":"")}})}),function(a){a(ib)}(function(a){return a.lang("fr",{months:"janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre".split("_"),monthsShort:"janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.".split("_"),weekdays:"dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi".split("_"),weekdaysShort:"dim._lun._mar._mer._jeu._ven._sam.".split("_"),weekdaysMin:"Di_Lu_Ma_Me_Je_Ve_Sa".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Aujourd'hui à] LT",nextDay:"[Demain à] LT",nextWeek:"dddd [à] LT",lastDay:"[Hier à] LT",lastWeek:"dddd [dernier à] LT",sameElse:"L"},relativeTime:{future:"dans %s",past:"il y a %s",s:"quelques secondes",m:"une minute",mm:"%d minutes",h:"une heure",hh:"%d heures",d:"un jour",dd:"%d jours",M:"un mois",MM:"%d mois",y:"un an",yy:"%d ans"},ordinal:function(a){return a+(1===a?"er":"")},week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("gl",{months:"Xaneiro_Febreiro_Marzo_Abril_Maio_Xuño_Xullo_Agosto_Setembro_Outubro_Novembro_Decembro".split("_"),monthsShort:"Xan._Feb._Mar._Abr._Mai._Xuñ._Xul._Ago._Set._Out._Nov._Dec.".split("_"),weekdays:"Domingo_Luns_Martes_Mércores_Xoves_Venres_Sábado".split("_"),weekdaysShort:"Dom._Lun._Mar._Mér._Xov._Ven._Sáb.".split("_"),weekdaysMin:"Do_Lu_Ma_Mé_Xo_Ve_Sá".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:function(){return"[hoxe "+(1!==this.hours()?"ás":"á")+"] LT"},nextDay:function(){return"[mañá "+(1!==this.hours()?"ás":"á")+"] LT"},nextWeek:function(){return"dddd ["+(1!==this.hours()?"ás":"a")+"] LT"},lastDay:function(){return"[onte "+(1!==this.hours()?"á":"a")+"] LT"},lastWeek:function(){return"[o] dddd [pasado "+(1!==this.hours()?"ás":"a")+"] LT"},sameElse:"L"},relativeTime:{future:function(a){return"uns segundos"===a?"nuns segundos":"en "+a},past:"hai %s",s:"uns segundos",m:"un minuto",mm:"%d minutos",h:"unha hora",hh:"%d horas",d:"un día",dd:"%d días",M:"un mes",MM:"%d meses",y:"un ano",yy:"%d anos"},ordinal:"%dº",week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){return a.lang("he",{months:"ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר".split("_"),monthsShort:"ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳".split("_"),weekdays:"ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת".split("_"),weekdaysShort:"א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳".split("_"),weekdaysMin:"א_ב_ג_ד_ה_ו_ש".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D [ב]MMMM YYYY",LLL:"D [ב]MMMM YYYY LT",LLLL:"dddd, D [ב]MMMM YYYY LT",l:"D/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY LT",llll:"ddd, D MMM YYYY LT"},calendar:{sameDay:"[היום ב־]LT",nextDay:"[מחר ב־]LT",nextWeek:"dddd [בשעה] LT",lastDay:"[אתמול ב־]LT",lastWeek:"[ביום] dddd [האחרון בשעה] LT",sameElse:"L"},relativeTime:{future:"בעוד %s",past:"לפני %s",s:"מספר שניות",m:"דקה",mm:"%d דקות",h:"שעה",hh:function(a){return 2===a?"שעתיים":a+" שעות"},d:"יום",dd:function(a){return 2===a?"יומיים":a+" ימים"},M:"חודש",MM:function(a){return 2===a?"חודשיים":a+" חודשים"},y:"שנה",yy:function(a){return 2===a?"שנתיים":a+" שנים"}}})}),function(a){a(ib)}(function(a){var b={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},c={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return a.lang("hi",{months:"जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर".split("_"),monthsShort:"जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.".split("_"),weekdays:"रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[आज] LT",nextDay:"[कल] LT",nextWeek:"dddd, LT",lastDay:"[कल] LT",lastWeek:"[पिछले] dddd, LT",sameElse:"L"},relativeTime:{future:"%s में",past:"%s पहले",s:"कुछ ही क्षण",m:"एक मिनट",mm:"%d मिनट",h:"एक घंटा",hh:"%d घंटे",d:"एक दिन",dd:"%d दिन",M:"एक महीने",MM:"%d महीने",y:"एक वर्ष",yy:"%d वर्ष"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},meridiem:function(a){return 4>a?"रात":10>a?"सुबह":17>a?"दोपहर":20>a?"शाम":"रात"},week:{dow:0,doy:6}})}),function(a){a(ib)}(function(a){function b(a,b,c){var d=a+" ";switch(c){case"m":return b?"jedna minuta":"jedne minute";case"mm":return d+=1===a?"minuta":2===a||3===a||4===a?"minute":"minuta";case"h":return b?"jedan sat":"jednog sata";case"hh":return d+=1===a?"sat":2===a||3===a||4===a?"sata":"sati";case"dd":return d+=1===a?"dan":"dana";case"MM":return d+=1===a?"mjesec":2===a||3===a||4===a?"mjeseca":"mjeseci";case"yy":return d+=1===a?"godina":2===a||3===a||4===a?"godine":"godina"}}return a.lang("hr",{months:"sječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac".split("_"),monthsShort:"sje._vel._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.".split("_"),weekdays:"nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota".split("_"),weekdaysShort:"ned._pon._uto._sri._čet._pet._sub.".split("_"),weekdaysMin:"ne_po_ut_sr_če_pe_su".split("_"),longDateFormat:{LT:"H:mm",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedjelju] [u] LT";case 3:return"[u] [srijedu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[jučer u] LT",lastWeek:function(){switch(this.day()){case 0:case 3:return"[prošlu] dddd [u] LT";case 6:return"[prošle] [subote] [u] LT";case 1:case 2:case 4:case 5:return"[prošli] dddd [u] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"prije %s",s:"par sekundi",m:b,mm:b,h:b,hh:b,d:"dan",dd:b,M:"mjesec",MM:b,y:"godinu",yy:b},ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){function b(a,b,c,d){var e=a;switch(c){case"s":return d||b?"néhány másodperc":"néhány másodperce";case"m":return"egy"+(d||b?" perc":" perce");case"mm":return e+(d||b?" perc":" perce");case"h":return"egy"+(d||b?" óra":" órája");case"hh":return e+(d||b?" óra":" órája");case"d":return"egy"+(d||b?" nap":" napja");case"dd":return e+(d||b?" nap":" napja");case"M":return"egy"+(d||b?" hónap":" hónapja");case"MM":return e+(d||b?" hónap":" hónapja");case"y":return"egy"+(d||b?" év":" éve");case"yy":return e+(d||b?" év":" éve")}return""}function c(a){return(a?"":"[múlt] ")+"["+d[this.day()]+"] LT[-kor]"}var d="vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton".split(" ");return a.lang("hu",{months:"január_február_március_április_május_június_július_augusztus_szeptember_október_november_december".split("_"),monthsShort:"jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec".split("_"),weekdays:"vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat".split("_"),weekdaysShort:"vas_hét_kedd_sze_csüt_pén_szo".split("_"),weekdaysMin:"v_h_k_sze_cs_p_szo".split("_"),longDateFormat:{LT:"H:mm",L:"YYYY.MM.DD.",LL:"YYYY. MMMM D.",LLL:"YYYY. MMMM D., LT",LLLL:"YYYY. MMMM D., dddd LT"},meridiem:function(a,b,c){return 12>a?c===!0?"de":"DE":c===!0?"du":"DU"},calendar:{sameDay:"[ma] LT[-kor]",nextDay:"[holnap] LT[-kor]",nextWeek:function(){return c.call(this,!0)},lastDay:"[tegnap] LT[-kor]",lastWeek:function(){return c.call(this,!1)},sameElse:"L"},relativeTime:{future:"%s múlva",past:"%s",s:b,m:b,mm:b,h:b,hh:b,d:b,dd:b,M:b,MM:b,y:b,yy:b},ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){function b(a,b){var c={nominative:"հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր".split("_"),accusative:"հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function c(a){var b="հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ".split("_");return b[a.month()]}function d(a){var b="կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ".split("_");return b[a.day()]}return a.lang("hy-am",{months:b,monthsShort:c,weekdays:d,weekdaysShort:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),weekdaysMin:"կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY թ.",LLL:"D MMMM YYYY թ., LT",LLLL:"dddd, D MMMM YYYY թ., LT"},calendar:{sameDay:"[այսօր] LT",nextDay:"[վաղը] LT",lastDay:"[երեկ] LT",nextWeek:function(){return"dddd [օրը ժամը] LT"},lastWeek:function(){return"[անցած] dddd [օրը ժամը] LT"},sameElse:"L"},relativeTime:{future:"%s հետո",past:"%s առաջ",s:"մի քանի վայրկյան",m:"րոպե",mm:"%d րոպե",h:"ժամ",hh:"%d ժամ",d:"օր",dd:"%d օր",M:"ամիս",MM:"%d ամիս",y:"տարի",yy:"%d տարի"},meridiem:function(a){return 4>a?"գիշերվա":12>a?"առավոտվա":17>a?"ցերեկվա":"երեկոյան"},ordinal:function(a,b){switch(b){case"DDD":case"w":case"W":case"DDDo":return 1===a?a+"-ին":a+"-րդ";default:return a}},week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){return a.lang("id",{months:"Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember".split("_"),monthsShort:"Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nov_Des".split("_"),weekdays:"Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu".split("_"),weekdaysShort:"Min_Sen_Sel_Rab_Kam_Jum_Sab".split("_"),weekdaysMin:"Mg_Sn_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] LT",LLLL:"dddd, D MMMM YYYY [pukul] LT"},meridiem:function(a){return 11>a?"pagi":15>a?"siang":19>a?"sore":"malam"
|
|
8
|
+
},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Besok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kemarin pukul] LT",lastWeek:"dddd [lalu pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lalu",s:"beberapa detik",m:"semenit",mm:"%d menit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){function b(a){return a%100===11?!0:a%10===1?!1:!0}function c(a,c,d,e){var f=a+" ";switch(d){case"s":return c||e?"nokkrar sekúndur":"nokkrum sekúndum";case"m":return c?"mínúta":"mínútu";case"mm":return b(a)?f+(c||e?"mínútur":"mínútum"):c?f+"mínúta":f+"mínútu";case"hh":return b(a)?f+(c||e?"klukkustundir":"klukkustundum"):f+"klukkustund";case"d":return c?"dagur":e?"dag":"degi";case"dd":return b(a)?c?f+"dagar":f+(e?"daga":"dögum"):c?f+"dagur":f+(e?"dag":"degi");case"M":return c?"mánuður":e?"mánuð":"mánuði";case"MM":return b(a)?c?f+"mánuðir":f+(e?"mánuði":"mánuðum"):c?f+"mánuður":f+(e?"mánuð":"mánuði");case"y":return c||e?"ár":"ári";case"yy":return b(a)?f+(c||e?"ár":"árum"):f+(c||e?"ár":"ári")}}return a.lang("is",{months:"janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember".split("_"),monthsShort:"jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des".split("_"),weekdays:"sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur".split("_"),weekdaysShort:"sun_mán_þri_mið_fim_fös_lau".split("_"),weekdaysMin:"Su_Má_Þr_Mi_Fi_Fö_La".split("_"),longDateFormat:{LT:"H:mm",L:"DD/MM/YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] LT",LLLL:"dddd, D. MMMM YYYY [kl.] LT"},calendar:{sameDay:"[í dag kl.] LT",nextDay:"[á morgun kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[í gær kl.] LT",lastWeek:"[síðasta] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"eftir %s",past:"fyrir %s síðan",s:c,m:c,mm:c,h:"klukkustund",hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("it",{months:"Gennaio_Febbraio_Marzo_Aprile_Maggio_Giugno_Luglio_Agosto_Settembre_Ottobre_Novembre_Dicembre".split("_"),monthsShort:"Gen_Feb_Mar_Apr_Mag_Giu_Lug_Ago_Set_Ott_Nov_Dic".split("_"),weekdays:"Domenica_Lunedì_Martedì_Mercoledì_Giovedì_Venerdì_Sabato".split("_"),weekdaysShort:"Dom_Lun_Mar_Mer_Gio_Ven_Sab".split("_"),weekdaysMin:"D_L_Ma_Me_G_V_S".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Oggi alle] LT",nextDay:"[Domani alle] LT",nextWeek:"dddd [alle] LT",lastDay:"[Ieri alle] LT",lastWeek:"[lo scorso] dddd [alle] LT",sameElse:"L"},relativeTime:{future:function(a){return(/^[0-9].+$/.test(a)?"tra":"in")+" "+a},past:"%s fa",s:"alcuni secondi",m:"un minuto",mm:"%d minuti",h:"un'ora",hh:"%d ore",d:"un giorno",dd:"%d giorni",M:"un mese",MM:"%d mesi",y:"un anno",yy:"%d anni"},ordinal:"%dº",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("ja",{months:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日".split("_"),weekdaysShort:"日_月_火_水_木_金_土".split("_"),weekdaysMin:"日_月_火_水_木_金_土".split("_"),longDateFormat:{LT:"Ah時m分",L:"YYYY/MM/DD",LL:"YYYY年M月D日",LLL:"YYYY年M月D日LT",LLLL:"YYYY年M月D日LT dddd"},meridiem:function(a){return 12>a?"午前":"午後"},calendar:{sameDay:"[今日] LT",nextDay:"[明日] LT",nextWeek:"[来週]dddd LT",lastDay:"[昨日] LT",lastWeek:"[前週]dddd LT",sameElse:"L"},relativeTime:{future:"%s後",past:"%s前",s:"数秒",m:"1分",mm:"%d分",h:"1時間",hh:"%d時間",d:"1日",dd:"%d日",M:"1ヶ月",MM:"%dヶ月",y:"1年",yy:"%d年"}})}),function(a){a(ib)}(function(a){function b(a,b){var c={nominative:"იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი".split("_"),accusative:"იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს".split("_")},d=/D[oD] *MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function c(a,b){var c={nominative:"კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი".split("_"),accusative:"კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს".split("_")},d=/(წინა|შემდეგ)/.test(b)?"accusative":"nominative";return c[d][a.day()]}return a.lang("ka",{months:b,monthsShort:"იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ".split("_"),weekdays:c,weekdaysShort:"კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ".split("_"),weekdaysMin:"კვ_ორ_სა_ოთ_ხუ_პა_შა".split("_"),longDateFormat:{LT:"h:mm A",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[დღეს] LT[-ზე]",nextDay:"[ხვალ] LT[-ზე]",lastDay:"[გუშინ] LT[-ზე]",nextWeek:"[შემდეგ] dddd LT[-ზე]",lastWeek:"[წინა] dddd LT-ზე",sameElse:"L"},relativeTime:{future:function(a){return/(წამი|წუთი|საათი|წელი)/.test(a)?a.replace(/ი$/,"ში"):a+"ში"},past:function(a){return/(წამი|წუთი|საათი|დღე|თვე)/.test(a)?a.replace(/(ი|ე)$/,"ის წინ"):/წელი/.test(a)?a.replace(/წელი$/,"წლის წინ"):void 0},s:"რამდენიმე წამი",m:"წუთი",mm:"%d წუთი",h:"საათი",hh:"%d საათი",d:"დღე",dd:"%d დღე",M:"თვე",MM:"%d თვე",y:"წელი",yy:"%d წელი"},ordinal:function(a){return 0===a?a:1===a?a+"-ლი":20>a||100>=a&&a%20===0||a%100===0?"მე-"+a:a+"-ე"},week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){return a.lang("km",{months:"មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),monthsShort:"មករា_កុម្ភៈ_មិនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ".split("_"),weekdays:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysShort:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),weekdaysMin:"អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[ថ្ងៃនៈ ម៉ោង] LT",nextDay:"[ស្អែក ម៉ោង] LT",nextWeek:"dddd [ម៉ោង] LT",lastDay:"[ម្សិលមិញ ម៉ោង] LT",lastWeek:"dddd [សប្តាហ៍មុន] [ម៉ោង] LT",sameElse:"L"},relativeTime:{future:"%sទៀត",past:"%sមុន",s:"ប៉ុន្មានវិនាទី",m:"មួយនាទី",mm:"%d នាទី",h:"មួយម៉ោង",hh:"%d ម៉ោង",d:"មួយថ្ងៃ",dd:"%d ថ្ងៃ",M:"មួយខែ",MM:"%d ខែ",y:"មួយឆ្នាំ",yy:"%d ឆ្នាំ"},week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("ko",{months:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),monthsShort:"1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월".split("_"),weekdays:"일요일_월요일_화요일_수요일_목요일_금요일_토요일".split("_"),weekdaysShort:"일_월_화_수_목_금_토".split("_"),weekdaysMin:"일_월_화_수_목_금_토".split("_"),longDateFormat:{LT:"A h시 mm분",L:"YYYY.MM.DD",LL:"YYYY년 MMMM D일",LLL:"YYYY년 MMMM D일 LT",LLLL:"YYYY년 MMMM D일 dddd LT"},meridiem:function(a){return 12>a?"오전":"오후"},calendar:{sameDay:"오늘 LT",nextDay:"내일 LT",nextWeek:"dddd LT",lastDay:"어제 LT",lastWeek:"지난주 dddd LT",sameElse:"L"},relativeTime:{future:"%s 후",past:"%s 전",s:"몇초",ss:"%d초",m:"일분",mm:"%d분",h:"한시간",hh:"%d시간",d:"하루",dd:"%d일",M:"한달",MM:"%d달",y:"일년",yy:"%d년"},ordinal:"%d일",meridiemParse:/(오전|오후)/,isPM:function(a){return"오후"===a}})}),function(a){a(ib)}(function(a){function b(a,b,c){var d={m:["eng Minutt","enger Minutt"],h:["eng Stonn","enger Stonn"],d:["een Dag","engem Dag"],dd:[a+" Deeg",a+" Deeg"],M:["ee Mount","engem Mount"],MM:[a+" Méint",a+" Méint"],y:["ee Joer","engem Joer"],yy:[a+" Joer",a+" Joer"]};return b?d[c][0]:d[c][1]}function c(a){var b=a.substr(0,a.indexOf(" "));return g(b)?"a "+a:"an "+a}function d(a){var b=a.substr(0,a.indexOf(" "));return g(b)?"viru "+a:"virun "+a}function e(){var a=this.format("d");return f(a)?"[Leschte] dddd [um] LT":"[Leschten] dddd [um] LT"}function f(a){switch(a=parseInt(a,10)){case 0:case 1:case 3:case 5:case 6:return!0;default:return!1}}function g(a){if(a=parseInt(a,10),isNaN(a))return!1;if(0>a)return!0;if(10>a)return a>=4&&7>=a?!0:!1;if(100>a){var b=a%10,c=a/10;return g(0===b?c:b)}if(1e4>a){for(;a>=10;)a/=10;return g(a)}return a/=1e3,g(a)}return a.lang("lb",{months:"Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember".split("_"),monthsShort:"Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.".split("_"),weekdays:"Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg".split("_"),weekdaysShort:"So._Mé._Dë._Më._Do._Fr._Sa.".split("_"),weekdaysMin:"So_Mé_Dë_Më_Do_Fr_Sa".split("_"),longDateFormat:{LT:"H:mm [Auer]",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[Haut um] LT",sameElse:"L",nextDay:"[Muer um] LT",nextWeek:"dddd [um] LT",lastDay:"[Gëschter um] LT",lastWeek:e},relativeTime:{future:c,past:d,s:"e puer Sekonnen",m:b,mm:"%d Minutten",h:b,hh:"%d Stonnen",d:b,dd:b,M:b,MM:b,y:b,yy:b},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){function b(a,b,c,d){return b?"kelios sekundės":d?"kelių sekundžių":"kelias sekundes"}function c(a,b,c,d){return b?e(c)[0]:d?e(c)[1]:e(c)[2]}function d(a){return a%10===0||a>10&&20>a}function e(a){return h[a].split("_")}function f(a,b,f,g){var h=a+" ";return 1===a?h+c(a,b,f[0],g):b?h+(d(a)?e(f)[1]:e(f)[0]):g?h+e(f)[1]:h+(d(a)?e(f)[1]:e(f)[2])}function g(a,b){var c=-1===b.indexOf("dddd HH:mm"),d=i[a.weekday()];return c?d:d.substring(0,d.length-2)+"į"}var h={m:"minutė_minutės_minutę",mm:"minutės_minučių_minutes",h:"valanda_valandos_valandą",hh:"valandos_valandų_valandas",d:"diena_dienos_dieną",dd:"dienos_dienų_dienas",M:"mėnuo_mėnesio_mėnesį",MM:"mėnesiai_mėnesių_mėnesius",y:"metai_metų_metus",yy:"metai_metų_metus"},i="pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis_sekmadienis".split("_");return a.lang("lt",{months:"sausio_vasario_kovo_balandžio_gegužės_biržėlio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio".split("_"),monthsShort:"sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd".split("_"),weekdays:g,weekdaysShort:"Sek_Pir_Ant_Tre_Ket_Pen_Šeš".split("_"),weekdaysMin:"S_P_A_T_K_Pn_Š".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"YYYY [m.] MMMM D [d.]",LLL:"YYYY [m.] MMMM D [d.], LT [val.]",LLLL:"YYYY [m.] MMMM D [d.], dddd, LT [val.]",l:"YYYY-MM-DD",ll:"YYYY [m.] MMMM D [d.]",lll:"YYYY [m.] MMMM D [d.], LT [val.]",llll:"YYYY [m.] MMMM D [d.], ddd, LT [val.]"},calendar:{sameDay:"[Šiandien] LT",nextDay:"[Rytoj] LT",nextWeek:"dddd LT",lastDay:"[Vakar] LT",lastWeek:"[Praėjusį] dddd LT",sameElse:"L"},relativeTime:{future:"po %s",past:"prieš %s",s:b,m:c,mm:f,h:c,hh:f,d:c,dd:f,M:c,MM:f,y:c,yy:f},ordinal:function(a){return a+"-oji"},week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){function b(a,b,c){var d=a.split("_");return c?b%10===1&&11!==b?d[2]:d[3]:b%10===1&&11!==b?d[0]:d[1]}function c(a,c,e){return a+" "+b(d[e],a,c)}var d={mm:"minūti_minūtes_minūte_minūtes",hh:"stundu_stundas_stunda_stundas",dd:"dienu_dienas_diena_dienas",MM:"mēnesi_mēnešus_mēnesis_mēneši",yy:"gadu_gadus_gads_gadi"};return a.lang("lv",{months:"janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris".split("_"),monthsShort:"jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec".split("_"),weekdays:"svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena".split("_"),weekdaysShort:"Sv_P_O_T_C_Pk_S".split("_"),weekdaysMin:"Sv_P_O_T_C_Pk_S".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"YYYY. [gada] D. MMMM",LLL:"YYYY. [gada] D. MMMM, LT",LLLL:"YYYY. [gada] D. MMMM, dddd, LT"},calendar:{sameDay:"[Šodien pulksten] LT",nextDay:"[Rīt pulksten] LT",nextWeek:"dddd [pulksten] LT",lastDay:"[Vakar pulksten] LT",lastWeek:"[Pagājušā] dddd [pulksten] LT",sameElse:"L"},relativeTime:{future:"%s vēlāk",past:"%s agrāk",s:"dažas sekundes",m:"minūti",mm:c,h:"stundu",hh:c,d:"dienu",dd:c,M:"mēnesi",MM:c,y:"gadu",yy:c},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("mk",{months:"јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември".split("_"),monthsShort:"јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек".split("_"),weekdays:"недела_понеделник_вторник_среда_четврток_петок_сабота".split("_"),weekdaysShort:"нед_пон_вто_сре_чет_пет_саб".split("_"),weekdaysMin:"нe_пo_вт_ср_че_пе_сa".split("_"),longDateFormat:{LT:"H:mm",L:"D.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Денес во] LT",nextDay:"[Утре во] LT",nextWeek:"dddd [во] LT",lastDay:"[Вчера во] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[Во изминатата] dddd [во] LT";case 1:case 2:case 4:case 5:return"[Во изминатиот] dddd [во] LT"}},sameElse:"L"},relativeTime:{future:"после %s",past:"пред %s",s:"неколку секунди",m:"минута",mm:"%d минути",h:"час",hh:"%d часа",d:"ден",dd:"%d дена",M:"месец",MM:"%d месеци",y:"година",yy:"%d години"},ordinal:function(a){var b=a%10,c=a%100;return 0===a?a+"-ев":0===c?a+"-ен":c>10&&20>c?a+"-ти":1===b?a+"-ви":2===b?a+"-ри":7===b||8===b?a+"-ми":a+"-ти"},week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){return a.lang("ml",{months:"ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ".split("_"),monthsShort:"ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.".split("_"),weekdays:"ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച".split("_"),weekdaysShort:"ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി".split("_"),weekdaysMin:"ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ".split("_"),longDateFormat:{LT:"A h:mm -നു",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[ഇന്ന്] LT",nextDay:"[നാളെ] LT",nextWeek:"dddd, LT",lastDay:"[ഇന്നലെ] LT",lastWeek:"[കഴിഞ്ഞ] dddd, LT",sameElse:"L"},relativeTime:{future:"%s കഴിഞ്ഞ്",past:"%s മുൻപ്",s:"അൽപ നിമിഷങ്ങൾ",m:"ഒരു മിനിറ്റ്",mm:"%d മിനിറ്റ്",h:"ഒരു മണിക്കൂർ",hh:"%d മണിക്കൂർ",d:"ഒരു ദിവസം",dd:"%d ദിവസം",M:"ഒരു മാസം",MM:"%d മാസം",y:"ഒരു വർഷം",yy:"%d വർഷം"},meridiem:function(a){return 4>a?"രാത്രി":12>a?"രാവിലെ":17>a?"ഉച്ച കഴിഞ്ഞ്":20>a?"വൈകുന്നേരം":"രാത്രി"}})}),function(a){a(ib)}(function(a){var b={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},c={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return a.lang("mr",{months:"जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर".split("_"),monthsShort:"जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.".split("_"),weekdays:"रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार".split("_"),weekdaysShort:"रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि".split("_"),weekdaysMin:"र_सो_मं_बु_गु_शु_श".split("_"),longDateFormat:{LT:"A h:mm वाजता",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[आज] LT",nextDay:"[उद्या] LT",nextWeek:"dddd, LT",lastDay:"[काल] LT",lastWeek:"[मागील] dddd, LT",sameElse:"L"},relativeTime:{future:"%s नंतर",past:"%s पूर्वी",s:"सेकंद",m:"एक मिनिट",mm:"%d मिनिटे",h:"एक तास",hh:"%d तास",d:"एक दिवस",dd:"%d दिवस",M:"एक महिना",MM:"%d महिने",y:"एक वर्ष",yy:"%d वर्षे"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},meridiem:function(a){return 4>a?"रात्री":10>a?"सकाळी":17>a?"दुपारी":20>a?"सायंकाळी":"रात्री"},week:{dow:0,doy:6}})}),function(a){a(ib)}(function(a){return a.lang("ms-my",{months:"Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember".split("_"),monthsShort:"Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis".split("_"),weekdays:"Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu".split("_"),weekdaysShort:"Ahd_Isn_Sel_Rab_Kha_Jum_Sab".split("_"),weekdaysMin:"Ah_Is_Sl_Rb_Km_Jm_Sb".split("_"),longDateFormat:{LT:"HH.mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY [pukul] LT",LLLL:"dddd, D MMMM YYYY [pukul] LT"},meridiem:function(a){return 11>a?"pagi":15>a?"tengahari":19>a?"petang":"malam"},calendar:{sameDay:"[Hari ini pukul] LT",nextDay:"[Esok pukul] LT",nextWeek:"dddd [pukul] LT",lastDay:"[Kelmarin pukul] LT",lastWeek:"dddd [lepas pukul] LT",sameElse:"L"},relativeTime:{future:"dalam %s",past:"%s yang lepas",s:"beberapa saat",m:"seminit",mm:"%d minit",h:"sejam",hh:"%d jam",d:"sehari",dd:"%d hari",M:"sebulan",MM:"%d bulan",y:"setahun",yy:"%d tahun"},week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){return a.lang("nb",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.".split("_"),weekdays:"søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag".split("_"),weekdaysShort:"sø._ma._ti._on._to._fr._lø.".split("_"),weekdaysMin:"sø_ma_ti_on_to_fr_lø".split("_"),longDateFormat:{LT:"H.mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY [kl.] LT",LLLL:"dddd D. MMMM YYYY [kl.] LT"},calendar:{sameDay:"[i dag kl.] LT",nextDay:"[i morgen kl.] LT",nextWeek:"dddd [kl.] LT",lastDay:"[i går kl.] LT",lastWeek:"[forrige] dddd [kl.] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s siden",s:"noen sekunder",m:"ett minutt",mm:"%d minutter",h:"en time",hh:"%d timer",d:"en dag",dd:"%d dager",M:"en måned",MM:"%d måneder",y:"ett år",yy:"%d år"},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){var b={1:"१",2:"२",3:"३",4:"४",5:"५",6:"६",7:"७",8:"८",9:"९",0:"०"},c={"१":"1","२":"2","३":"3","४":"4","५":"5","६":"6","७":"7","८":"8","९":"9","०":"0"};return a.lang("ne",{months:"जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर".split("_"),monthsShort:"जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.".split("_"),weekdays:"आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार".split("_"),weekdaysShort:"आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.".split("_"),weekdaysMin:"आइ._सो._मङ्_बु._बि._शु._श.".split("_"),longDateFormat:{LT:"Aको h:mm बजे",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},preparse:function(a){return a.replace(/[१२३४५६७८९०]/g,function(a){return c[a]})},postformat:function(a){return a.replace(/\d/g,function(a){return b[a]})},meridiem:function(a){return 3>a?"राती":10>a?"बिहान":15>a?"दिउँसो":18>a?"बेलुका":20>a?"साँझ":"राती"},calendar:{sameDay:"[आज] LT",nextDay:"[भोली] LT",nextWeek:"[आउँदो] dddd[,] LT",lastDay:"[हिजो] LT",lastWeek:"[गएको] dddd[,] LT",sameElse:"L"},relativeTime:{future:"%sमा",past:"%s अगाडी",s:"केही समय",m:"एक मिनेट",mm:"%d मिनेट",h:"एक घण्टा",hh:"%d घण्टा",d:"एक दिन",dd:"%d दिन",M:"एक महिना",MM:"%d महिना",y:"एक बर्ष",yy:"%d बर्ष"},week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){var b="jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.".split("_"),c="jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec".split("_");return a.lang("nl",{months:"januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december".split("_"),monthsShort:function(a,d){return/-MMM-/.test(d)?c[a.month()]:b[a.month()]},weekdays:"zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag".split("_"),weekdaysShort:"zo._ma._di._wo._do._vr._za.".split("_"),weekdaysMin:"Zo_Ma_Di_Wo_Do_Vr_Za".split("_"),longDateFormat:{LT:"HH:mm",L:"DD-MM-YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[vandaag om] LT",nextDay:"[morgen om] LT",nextWeek:"dddd [om] LT",lastDay:"[gisteren om] LT",lastWeek:"[afgelopen] dddd [om] LT",sameElse:"L"},relativeTime:{future:"over %s",past:"%s geleden",s:"een paar seconden",m:"één minuut",mm:"%d minuten",h:"één uur",hh:"%d uur",d:"één dag",dd:"%d dagen",M:"één maand",MM:"%d maanden",y:"één jaar",yy:"%d jaar"},ordinal:function(a){return a+(1===a||8===a||a>=20?"ste":"de")},week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("nn",{months:"januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember".split("_"),monthsShort:"jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des".split("_"),weekdays:"sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag".split("_"),weekdaysShort:"sun_mån_tys_ons_tor_fre_lau".split("_"),weekdaysMin:"su_må_ty_on_to_fr_lø".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[I dag klokka] LT",nextDay:"[I morgon klokka] LT",nextWeek:"dddd [klokka] LT",lastDay:"[I går klokka] LT",lastWeek:"[Føregåande] dddd [klokka] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"for %s sidan",s:"nokre sekund",m:"eit minutt",mm:"%d minutt",h:"ein time",hh:"%d timar",d:"ein dag",dd:"%d dagar",M:"ein månad",MM:"%d månader",y:"eit år",yy:"%d år"},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){function b(a){return 5>a%10&&a%10>1&&~~(a/10)%10!==1}function c(a,c,d){var e=a+" ";switch(d){case"m":return c?"minuta":"minutę";case"mm":return e+(b(a)?"minuty":"minut");case"h":return c?"godzina":"godzinę";case"hh":return e+(b(a)?"godziny":"godzin");case"MM":return e+(b(a)?"miesiące":"miesięcy");case"yy":return e+(b(a)?"lata":"lat")}}var d="styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień".split("_"),e="stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia".split("_");return a.lang("pl",{months:function(a,b){return/D MMMM/.test(b)?e[a.month()]:d[a.month()]},monthsShort:"sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru".split("_"),weekdays:"niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota".split("_"),weekdaysShort:"nie_pon_wt_śr_czw_pt_sb".split("_"),weekdaysMin:"N_Pn_Wt_Śr_Cz_Pt_So".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Dziś o] LT",nextDay:"[Jutro o] LT",nextWeek:"[W] dddd [o] LT",lastDay:"[Wczoraj o] LT",lastWeek:function(){switch(this.day()){case 0:return"[W zeszłą niedzielę o] LT";case 3:return"[W zeszłą środę o] LT";case 6:return"[W zeszłą sobotę o] LT";default:return"[W zeszły] dddd [o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"%s temu",s:"kilka sekund",m:c,mm:c,h:c,hh:c,d:"1 dzień",dd:"%d dni",M:"miesiąc",MM:c,y:"rok",yy:c},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("pt-br",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sáb".split("_"),weekdaysMin:"dom_2ª_3ª_4ª_5ª_6ª_sáb".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY [às] LT",LLLL:"dddd, D [de] MMMM [de] YYYY [às] LT"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinal:"%dº"})}),function(a){a(ib)}(function(a){return a.lang("pt",{months:"janeiro_fevereiro_março_abril_maio_junho_julho_agosto_setembro_outubro_novembro_dezembro".split("_"),monthsShort:"jan_fev_mar_abr_mai_jun_jul_ago_set_out_nov_dez".split("_"),weekdays:"domingo_segunda-feira_terça-feira_quarta-feira_quinta-feira_sexta-feira_sábado".split("_"),weekdaysShort:"dom_seg_ter_qua_qui_sex_sáb".split("_"),weekdaysMin:"dom_2ª_3ª_4ª_5ª_6ª_sáb".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D [de] MMMM [de] YYYY",LLL:"D [de] MMMM [de] YYYY LT",LLLL:"dddd, D [de] MMMM [de] YYYY LT"},calendar:{sameDay:"[Hoje às] LT",nextDay:"[Amanhã às] LT",nextWeek:"dddd [às] LT",lastDay:"[Ontem às] LT",lastWeek:function(){return 0===this.day()||6===this.day()?"[Último] dddd [às] LT":"[Última] dddd [às] LT"},sameElse:"L"},relativeTime:{future:"em %s",past:"%s atrás",s:"segundos",m:"um minuto",mm:"%d minutos",h:"uma hora",hh:"%d horas",d:"um dia",dd:"%d dias",M:"um mês",MM:"%d meses",y:"um ano",yy:"%d anos"},ordinal:"%dº",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){function b(a,b,c){var d={mm:"minute",hh:"ore",dd:"zile",MM:"luni",yy:"ani"},e=" ";return(a%100>=20||a>=100&&a%100===0)&&(e=" de "),a+e+d[c]}return a.lang("ro",{months:"ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie".split("_"),monthsShort:"ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.".split("_"),weekdays:"duminică_luni_marți_miercuri_joi_vineri_sâmbătă".split("_"),weekdaysShort:"Dum_Lun_Mar_Mie_Joi_Vin_Sâm".split("_"),weekdaysMin:"Du_Lu_Ma_Mi_Jo_Vi_Sâ".split("_"),longDateFormat:{LT:"H:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY H:mm",LLLL:"dddd, D MMMM YYYY H:mm"},calendar:{sameDay:"[azi la] LT",nextDay:"[mâine la] LT",nextWeek:"dddd [la] LT",lastDay:"[ieri la] LT",lastWeek:"[fosta] dddd [la] LT",sameElse:"L"},relativeTime:{future:"peste %s",past:"%s în urmă",s:"câteva secunde",m:"un minut",mm:b,h:"o oră",hh:b,d:"o zi",dd:b,M:"o lună",MM:b,y:"un an",yy:b},week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){function b(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function c(a,c,d){var e={mm:c?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return"m"===d?c?"минута":"минуту":a+" "+b(e[d],+a)}function d(a,b){var c={nominative:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),accusative:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function e(a,b){var c={nominative:"янв_фев_мар_апр_май_июнь_июль_авг_сен_окт_ноя_дек".split("_"),accusative:"янв_фев_мар_апр_мая_июня_июля_авг_сен_окт_ноя_дек".split("_")},d=/D[oD]?(\[[^\[\]]*\]|\s+)+MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function f(a,b){var c={nominative:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),accusative:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_")},d=/\[ ?[Вв] ?(?:прошлую|следующую)? ?\] ?dddd/.test(b)?"accusative":"nominative";return c[d][a.day()]}return a.lang("ru",{months:d,monthsShort:e,weekdays:f,weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse:[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[й|я]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i],longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., LT",LLLL:"dddd, D MMMM YYYY г., LT"},calendar:{sameDay:"[Сегодня в] LT",nextDay:"[Завтра в] LT",lastDay:"[Вчера в] LT",nextWeek:function(){return 2===this.day()?"[Во] dddd [в] LT":"[В] dddd [в] LT"},lastWeek:function(){switch(this.day()){case 0:return"[В прошлое] dddd [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd [в] LT"}},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",m:c,mm:c,h:"час",hh:c,d:"день",dd:c,M:"месяц",MM:c,y:"год",yy:c},meridiem:function(a){return 4>a?"ночи":12>a?"утра":17>a?"дня":"вечера"},ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":return a+"-й";case"D":return a+"-го";case"w":case"W":return a+"-я";default:return a}},week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){function b(a){return a>1&&5>a}function c(a,c,d,e){var f=a+" ";switch(d){case"s":return c||e?"pár sekúnd":"pár sekundami";case"m":return c?"minúta":e?"minútu":"minútou";case"mm":return c||e?f+(b(a)?"minúty":"minút"):f+"minútami";break;case"h":return c?"hodina":e?"hodinu":"hodinou";case"hh":return c||e?f+(b(a)?"hodiny":"hodín"):f+"hodinami";break;case"d":return c||e?"deň":"dňom";case"dd":return c||e?f+(b(a)?"dni":"dní"):f+"dňami";break;case"M":return c||e?"mesiac":"mesiacom";case"MM":return c||e?f+(b(a)?"mesiace":"mesiacov"):f+"mesiacmi";break;case"y":return c||e?"rok":"rokom";case"yy":return c||e?f+(b(a)?"roky":"rokov"):f+"rokmi"}}var d="január_február_marec_apríl_máj_jún_júl_august_september_október_november_december".split("_"),e="jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec".split("_");return a.lang("sk",{months:d,monthsShort:e,monthsParse:function(a,b){var c,d=[];for(c=0;12>c;c++)d[c]=new RegExp("^"+a[c]+"$|^"+b[c]+"$","i");return d}(d,e),weekdays:"nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota".split("_"),weekdaysShort:"ne_po_ut_st_št_pi_so".split("_"),weekdaysMin:"ne_po_ut_st_št_pi_so".split("_"),longDateFormat:{LT:"H:mm",L:"DD.MM.YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd D. MMMM YYYY LT"},calendar:{sameDay:"[dnes o] LT",nextDay:"[zajtra o] LT",nextWeek:function(){switch(this.day()){case 0:return"[v nedeľu o] LT";case 1:case 2:return"[v] dddd [o] LT";case 3:return"[v stredu o] LT";case 4:return"[vo štvrtok o] LT";case 5:return"[v piatok o] LT";case 6:return"[v sobotu o] LT"}},lastDay:"[včera o] LT",lastWeek:function(){switch(this.day()){case 0:return"[minulú nedeľu o] LT";case 1:case 2:return"[minulý] dddd [o] LT";case 3:return"[minulú stredu o] LT";case 4:case 5:return"[minulý] dddd [o] LT";case 6:return"[minulú sobotu o] LT"}},sameElse:"L"},relativeTime:{future:"za %s",past:"pred %s",s:c,m:c,mm:c,h:c,hh:c,d:c,dd:c,M:c,MM:c,y:c,yy:c},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){function b(a,b,c){var d=a+" ";switch(c){case"m":return b?"ena minuta":"eno minuto";case"mm":return d+=1===a?"minuta":2===a?"minuti":3===a||4===a?"minute":"minut";case"h":return b?"ena ura":"eno uro";case"hh":return d+=1===a?"ura":2===a?"uri":3===a||4===a?"ure":"ur";case"dd":return d+=1===a?"dan":"dni";case"MM":return d+=1===a?"mesec":2===a?"meseca":3===a||4===a?"mesece":"mesecev";case"yy":return d+=1===a?"leto":2===a?"leti":3===a||4===a?"leta":"let"}}return a.lang("sl",{months:"januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december".split("_"),monthsShort:"jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.".split("_"),weekdays:"nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota".split("_"),weekdaysShort:"ned._pon._tor._sre._čet._pet._sob.".split("_"),weekdaysMin:"ne_po_to_sr_če_pe_so".split("_"),longDateFormat:{LT:"H:mm",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danes ob] LT",nextDay:"[jutri ob] LT",nextWeek:function(){switch(this.day()){case 0:return"[v] [nedeljo] [ob] LT";case 3:return"[v] [sredo] [ob] LT";case 6:return"[v] [soboto] [ob] LT";case 1:case 2:case 4:case 5:return"[v] dddd [ob] LT"}},lastDay:"[včeraj ob] LT",lastWeek:function(){switch(this.day()){case 0:case 3:case 6:return"[prejšnja] dddd [ob] LT";case 1:case 2:case 4:case 5:return"[prejšnji] dddd [ob] LT"}},sameElse:"L"},relativeTime:{future:"čez %s",past:"%s nazaj",s:"nekaj sekund",m:b,mm:b,h:b,hh:b,d:"en dan",dd:b,M:"en mesec",MM:b,y:"eno leto",yy:b},ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){return a.lang("sq",{months:"Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor".split("_"),monthsShort:"Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj".split("_"),weekdays:"E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë".split("_"),weekdaysShort:"Die_Hën_Mar_Mër_Enj_Pre_Sht".split("_"),weekdaysMin:"D_H_Ma_Më_E_P_Sh".split("_"),meridiem:function(a){return 12>a?"PD":"MD"},longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[Sot në] LT",nextDay:"[Nesër në] LT",nextWeek:"dddd [në] LT",lastDay:"[Dje në] LT",lastWeek:"dddd [e kaluar në] LT",sameElse:"L"},relativeTime:{future:"në %s",past:"%s më parë",s:"disa sekonda",m:"një minutë",mm:"%d minuta",h:"një orë",hh:"%d orë",d:"një ditë",dd:"%d ditë",M:"një muaj",MM:"%d muaj",y:"një vit",yy:"%d vite"},ordinal:"%d.",week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){var b={words:{m:["један минут","једне минуте"],mm:["минут","минуте","минута"],h:["један сат","једног сата"],hh:["сат","сата","сати"],dd:["дан","дана","дана"],MM:["месец","месеца","месеци"],yy:["година","године","година"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]
|
|
9
|
+
},translate:function(a,c,d){var e=b.words[d];return 1===d.length?c?e[0]:e[1]:a+" "+b.correctGrammaticalCase(a,e)}};return a.lang("sr-cyr",{months:["јануар","фебруар","март","април","мај","јун","јул","август","септембар","октобар","новембар","децембар"],monthsShort:["јан.","феб.","мар.","апр.","мај","јун","јул","авг.","сеп.","окт.","нов.","дец."],weekdays:["недеља","понедељак","уторак","среда","четвртак","петак","субота"],weekdaysShort:["нед.","пон.","уто.","сре.","чет.","пет.","суб."],weekdaysMin:["не","по","ут","ср","че","пе","су"],longDateFormat:{LT:"H:mm",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[данас у] LT",nextDay:"[сутра у] LT",nextWeek:function(){switch(this.day()){case 0:return"[у] [недељу] [у] LT";case 3:return"[у] [среду] [у] LT";case 6:return"[у] [суботу] [у] LT";case 1:case 2:case 4:case 5:return"[у] dddd [у] LT"}},lastDay:"[јуче у] LT",lastWeek:function(){var a=["[прошле] [недеље] [у] LT","[прошлог] [понедељка] [у] LT","[прошлог] [уторка] [у] LT","[прошле] [среде] [у] LT","[прошлог] [четвртка] [у] LT","[прошлог] [петка] [у] LT","[прошле] [суботе] [у] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"за %s",past:"пре %s",s:"неколико секунди",m:b.translate,mm:b.translate,h:b.translate,hh:b.translate,d:"дан",dd:b.translate,M:"месец",MM:b.translate,y:"годину",yy:b.translate},ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){var b={words:{m:["jedan minut","jedne minute"],mm:["minut","minute","minuta"],h:["jedan sat","jednog sata"],hh:["sat","sata","sati"],dd:["dan","dana","dana"],MM:["mesec","meseca","meseci"],yy:["godina","godine","godina"]},correctGrammaticalCase:function(a,b){return 1===a?b[0]:a>=2&&4>=a?b[1]:b[2]},translate:function(a,c,d){var e=b.words[d];return 1===d.length?c?e[0]:e[1]:a+" "+b.correctGrammaticalCase(a,e)}};return a.lang("sr",{months:["januar","februar","mart","april","maj","jun","jul","avgust","septembar","oktobar","novembar","decembar"],monthsShort:["jan.","feb.","mar.","apr.","maj","jun","jul","avg.","sep.","okt.","nov.","dec."],weekdays:["nedelja","ponedeljak","utorak","sreda","četvrtak","petak","subota"],weekdaysShort:["ned.","pon.","uto.","sre.","čet.","pet.","sub."],weekdaysMin:["ne","po","ut","sr","če","pe","su"],longDateFormat:{LT:"H:mm",L:"DD. MM. YYYY",LL:"D. MMMM YYYY",LLL:"D. MMMM YYYY LT",LLLL:"dddd, D. MMMM YYYY LT"},calendar:{sameDay:"[danas u] LT",nextDay:"[sutra u] LT",nextWeek:function(){switch(this.day()){case 0:return"[u] [nedelju] [u] LT";case 3:return"[u] [sredu] [u] LT";case 6:return"[u] [subotu] [u] LT";case 1:case 2:case 4:case 5:return"[u] dddd [u] LT"}},lastDay:"[juče u] LT",lastWeek:function(){var a=["[prošle] [nedelje] [u] LT","[prošlog] [ponedeljka] [u] LT","[prošlog] [utorka] [u] LT","[prošle] [srede] [u] LT","[prošlog] [četvrtka] [u] LT","[prošlog] [petka] [u] LT","[prošle] [subote] [u] LT"];return a[this.day()]},sameElse:"L"},relativeTime:{future:"za %s",past:"pre %s",s:"nekoliko sekundi",m:b.translate,mm:b.translate,h:b.translate,hh:b.translate,d:"dan",dd:b.translate,M:"mesec",MM:b.translate,y:"godinu",yy:b.translate},ordinal:"%d.",week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){return a.lang("sv",{months:"januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december".split("_"),monthsShort:"jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec".split("_"),weekdays:"söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag".split("_"),weekdaysShort:"sön_mån_tis_ons_tor_fre_lör".split("_"),weekdaysMin:"sö_må_ti_on_to_fr_lö".split("_"),longDateFormat:{LT:"HH:mm",L:"YYYY-MM-DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[Idag] LT",nextDay:"[Imorgon] LT",lastDay:"[Igår] LT",nextWeek:"dddd LT",lastWeek:"[Förra] dddd[en] LT",sameElse:"L"},relativeTime:{future:"om %s",past:"för %s sedan",s:"några sekunder",m:"en minut",mm:"%d minuter",h:"en timme",hh:"%d timmar",d:"en dag",dd:"%d dagar",M:"en månad",MM:"%d månader",y:"ett år",yy:"%d år"},ordinal:function(a){var b=a%10,c=1===~~(a%100/10)?"e":1===b?"a":2===b?"a":3===b?"e":"e";return a+c},week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("ta",{months:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),monthsShort:"ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்".split("_"),weekdays:"ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை".split("_"),weekdaysShort:"ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி".split("_"),weekdaysMin:"ஞா_தி_செ_பு_வி_வெ_ச".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY, LT",LLLL:"dddd, D MMMM YYYY, LT"},calendar:{sameDay:"[இன்று] LT",nextDay:"[நாளை] LT",nextWeek:"dddd, LT",lastDay:"[நேற்று] LT",lastWeek:"[கடந்த வாரம்] dddd, LT",sameElse:"L"},relativeTime:{future:"%s இல்",past:"%s முன்",s:"ஒரு சில விநாடிகள்",m:"ஒரு நிமிடம்",mm:"%d நிமிடங்கள்",h:"ஒரு மணி நேரம்",hh:"%d மணி நேரம்",d:"ஒரு நாள்",dd:"%d நாட்கள்",M:"ஒரு மாதம்",MM:"%d மாதங்கள்",y:"ஒரு வருடம்",yy:"%d ஆண்டுகள்"},ordinal:function(a){return a+"வது"},meridiem:function(a){return a>=6&&10>=a?" காலை":a>=10&&14>=a?" நண்பகல்":a>=14&&18>=a?" எற்பாடு":a>=18&&20>=a?" மாலை":a>=20&&24>=a?" இரவு":a>=0&&6>=a?" வைகறை":void 0},week:{dow:0,doy:6}})}),function(a){a(ib)}(function(a){return a.lang("th",{months:"มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม".split("_"),monthsShort:"มกรา_กุมภา_มีนา_เมษา_พฤษภา_มิถุนา_กรกฎา_สิงหา_กันยา_ตุลา_พฤศจิกา_ธันวา".split("_"),weekdays:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์".split("_"),weekdaysShort:"อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์".split("_"),weekdaysMin:"อา._จ._อ._พ._พฤ._ศ._ส.".split("_"),longDateFormat:{LT:"H นาฬิกา m นาที",L:"YYYY/MM/DD",LL:"D MMMM YYYY",LLL:"D MMMM YYYY เวลา LT",LLLL:"วันddddที่ D MMMM YYYY เวลา LT"},meridiem:function(a){return 12>a?"ก่อนเที่ยง":"หลังเที่ยง"},calendar:{sameDay:"[วันนี้ เวลา] LT",nextDay:"[พรุ่งนี้ เวลา] LT",nextWeek:"dddd[หน้า เวลา] LT",lastDay:"[เมื่อวานนี้ เวลา] LT",lastWeek:"[วัน]dddd[ที่แล้ว เวลา] LT",sameElse:"L"},relativeTime:{future:"อีก %s",past:"%sที่แล้ว",s:"ไม่กี่วินาที",m:"1 นาที",mm:"%d นาที",h:"1 ชั่วโมง",hh:"%d ชั่วโมง",d:"1 วัน",dd:"%d วัน",M:"1 เดือน",MM:"%d เดือน",y:"1 ปี",yy:"%d ปี"}})}),function(a){a(ib)}(function(a){return a.lang("tl-ph",{months:"Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre".split("_"),monthsShort:"Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis".split("_"),weekdays:"Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado".split("_"),weekdaysShort:"Lin_Lun_Mar_Miy_Huw_Biy_Sab".split("_"),weekdaysMin:"Li_Lu_Ma_Mi_Hu_Bi_Sab".split("_"),longDateFormat:{LT:"HH:mm",L:"MM/D/YYYY",LL:"MMMM D, YYYY",LLL:"MMMM D, YYYY LT",LLLL:"dddd, MMMM DD, YYYY LT"},calendar:{sameDay:"[Ngayon sa] LT",nextDay:"[Bukas sa] LT",nextWeek:"dddd [sa] LT",lastDay:"[Kahapon sa] LT",lastWeek:"dddd [huling linggo] LT",sameElse:"L"},relativeTime:{future:"sa loob ng %s",past:"%s ang nakalipas",s:"ilang segundo",m:"isang minuto",mm:"%d minuto",h:"isang oras",hh:"%d oras",d:"isang araw",dd:"%d araw",M:"isang buwan",MM:"%d buwan",y:"isang taon",yy:"%d taon"},ordinal:function(a){return a},week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){var b={1:"'inci",5:"'inci",8:"'inci",70:"'inci",80:"'inci",2:"'nci",7:"'nci",20:"'nci",50:"'nci",3:"'üncü",4:"'üncü",100:"'üncü",6:"'ncı",9:"'uncu",10:"'uncu",30:"'uncu",60:"'ıncı",90:"'ıncı"};return a.lang("tr",{months:"Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık".split("_"),monthsShort:"Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara".split("_"),weekdays:"Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi".split("_"),weekdaysShort:"Paz_Pts_Sal_Çar_Per_Cum_Cts".split("_"),weekdaysMin:"Pz_Pt_Sa_Ça_Pe_Cu_Ct".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd, D MMMM YYYY LT"},calendar:{sameDay:"[bugün saat] LT",nextDay:"[yarın saat] LT",nextWeek:"[haftaya] dddd [saat] LT",lastDay:"[dün] LT",lastWeek:"[geçen hafta] dddd [saat] LT",sameElse:"L"},relativeTime:{future:"%s sonra",past:"%s önce",s:"birkaç saniye",m:"bir dakika",mm:"%d dakika",h:"bir saat",hh:"%d saat",d:"bir gün",dd:"%d gün",M:"bir ay",MM:"%d ay",y:"bir yıl",yy:"%d yıl"},ordinal:function(a){if(0===a)return a+"'ıncı";var c=a%10,d=a%100-c,e=a>=100?100:null;return a+(b[c]||b[d]||b[e])},week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){return a.lang("tzm-la",{months:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),monthsShort:"innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir".split("_"),weekdays:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysShort:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),weekdaysMin:"asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[asdkh g] LT",nextDay:"[aska g] LT",nextWeek:"dddd [g] LT",lastDay:"[assant g] LT",lastWeek:"dddd [g] LT",sameElse:"L"},relativeTime:{future:"dadkh s yan %s",past:"yan %s",s:"imik",m:"minuḍ",mm:"%d minuḍ",h:"saɛa",hh:"%d tassaɛin",d:"ass",dd:"%d ossan",M:"ayowr",MM:"%d iyyirn",y:"asgas",yy:"%d isgasn"},week:{dow:6,doy:12}})}),function(a){a(ib)}(function(a){return a.lang("tzm",{months:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),monthsShort:"ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ".split("_"),weekdays:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysShort:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),weekdaysMin:"ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"dddd D MMMM YYYY LT"},calendar:{sameDay:"[ⴰⵙⴷⵅ ⴴ] LT",nextDay:"[ⴰⵙⴽⴰ ⴴ] LT",nextWeek:"dddd [ⴴ] LT",lastDay:"[ⴰⵚⴰⵏⵜ ⴴ] LT",lastWeek:"dddd [ⴴ] LT",sameElse:"L"},relativeTime:{future:"ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s",past:"ⵢⴰⵏ %s",s:"ⵉⵎⵉⴽ",m:"ⵎⵉⵏⵓⴺ",mm:"%d ⵎⵉⵏⵓⴺ",h:"ⵙⴰⵄⴰ",hh:"%d ⵜⴰⵙⵙⴰⵄⵉⵏ",d:"ⴰⵙⵙ",dd:"%d oⵙⵙⴰⵏ",M:"ⴰⵢoⵓⵔ",MM:"%d ⵉⵢⵢⵉⵔⵏ",y:"ⴰⵙⴳⴰⵙ",yy:"%d ⵉⵙⴳⴰⵙⵏ"},week:{dow:6,doy:12}})}),function(a){a(ib)}(function(a){function b(a,b){var c=a.split("_");return b%10===1&&b%100!==11?c[0]:b%10>=2&&4>=b%10&&(10>b%100||b%100>=20)?c[1]:c[2]}function c(a,c,d){var e={mm:"хвилина_хвилини_хвилин",hh:"година_години_годин",dd:"день_дні_днів",MM:"місяць_місяці_місяців",yy:"рік_роки_років"};return"m"===d?c?"хвилина":"хвилину":"h"===d?c?"година":"годину":a+" "+b(e[d],+a)}function d(a,b){var c={nominative:"січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень".split("_"),accusative:"січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня".split("_")},d=/D[oD]? *MMMM?/.test(b)?"accusative":"nominative";return c[d][a.month()]}function e(a,b){var c={nominative:"неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота".split("_"),accusative:"неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу".split("_"),genitive:"неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи".split("_")},d=/(\[[ВвУу]\]) ?dddd/.test(b)?"accusative":/\[?(?:минулої|наступної)? ?\] ?dddd/.test(b)?"genitive":"nominative";return c[d][a.day()]}function f(a){return function(){return a+"о"+(11===this.hours()?"б":"")+"] LT"}}return a.lang("uk",{months:d,monthsShort:"січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд".split("_"),weekdays:e,weekdaysShort:"нд_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"нд_пн_вт_ср_чт_пт_сб".split("_"),longDateFormat:{LT:"HH:mm",L:"DD.MM.YYYY",LL:"D MMMM YYYY р.",LLL:"D MMMM YYYY р., LT",LLLL:"dddd, D MMMM YYYY р., LT"},calendar:{sameDay:f("[Сьогодні "),nextDay:f("[Завтра "),lastDay:f("[Вчора "),nextWeek:f("[У] dddd ["),lastWeek:function(){switch(this.day()){case 0:case 3:case 5:case 6:return f("[Минулої] dddd [").call(this);case 1:case 2:case 4:return f("[Минулого] dddd [").call(this)}},sameElse:"L"},relativeTime:{future:"за %s",past:"%s тому",s:"декілька секунд",m:c,mm:c,h:"годину",hh:c,d:"день",dd:c,M:"місяць",MM:c,y:"рік",yy:c},meridiem:function(a){return 4>a?"ночі":12>a?"ранку":17>a?"дня":"вечора"},ordinal:function(a,b){switch(b){case"M":case"d":case"DDD":case"w":case"W":return a+"-й";case"D":return a+"-го";default:return a}},week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){return a.lang("uz",{months:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_"),monthsShort:"янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек".split("_"),weekdays:"Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба".split("_"),weekdaysShort:"Якш_Душ_Сеш_Чор_Пай_Жум_Шан".split("_"),weekdaysMin:"Як_Ду_Се_Чо_Па_Жу_Ша".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM YYYY",LLL:"D MMMM YYYY LT",LLLL:"D MMMM YYYY, dddd LT"},calendar:{sameDay:"[Бугун соат] LT [да]",nextDay:"[Эртага] LT [да]",nextWeek:"dddd [куни соат] LT [да]",lastDay:"[Кеча соат] LT [да]",lastWeek:"[Утган] dddd [куни соат] LT [да]",sameElse:"L"},relativeTime:{future:"Якин %s ичида",past:"Бир неча %s олдин",s:"фурсат",m:"бир дакика",mm:"%d дакика",h:"бир соат",hh:"%d соат",d:"бир кун",dd:"%d кун",M:"бир ой",MM:"%d ой",y:"бир йил",yy:"%d йил"},week:{dow:1,doy:7}})}),function(a){a(ib)}(function(a){return a.lang("vi",{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("_"),monthsShort:"Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12".split("_"),weekdays:"chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy".split("_"),weekdaysShort:"CN_T2_T3_T4_T5_T6_T7".split("_"),weekdaysMin:"CN_T2_T3_T4_T5_T6_T7".split("_"),longDateFormat:{LT:"HH:mm",L:"DD/MM/YYYY",LL:"D MMMM [năm] YYYY",LLL:"D MMMM [năm] YYYY LT",LLLL:"dddd, D MMMM [năm] YYYY LT",l:"DD/M/YYYY",ll:"D MMM YYYY",lll:"D MMM YYYY LT",llll:"ddd, D MMM YYYY LT"},calendar:{sameDay:"[Hôm nay lúc] LT",nextDay:"[Ngày mai lúc] LT",nextWeek:"dddd [tuần tới lúc] LT",lastDay:"[Hôm qua lúc] LT",lastWeek:"dddd [tuần rồi lúc] LT",sameElse:"L"},relativeTime:{future:"%s tới",past:"%s trước",s:"vài giây",m:"một phút",mm:"%d phút",h:"một giờ",hh:"%d giờ",d:"một ngày",dd:"%d ngày",M:"một tháng",MM:"%d tháng",y:"một năm",yy:"%d năm"},ordinal:function(a){return a},week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("zh-cn",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"周日_周一_周二_周三_周四_周五_周六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah点mm",L:"YYYY-MM-DD",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日LT",LLLL:"YYYY年MMMD日ddddLT",l:"YYYY-MM-DD",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日LT",llll:"YYYY年MMMD日ddddLT"},meridiem:function(a,b){var c=100*a+b;return 600>c?"凌晨":900>c?"早上":1130>c?"上午":1230>c?"中午":1800>c?"下午":"晚上"},calendar:{sameDay:function(){return 0===this.minutes()?"[今天]Ah[点整]":"[今天]LT"},nextDay:function(){return 0===this.minutes()?"[明天]Ah[点整]":"[明天]LT"},lastDay:function(){return 0===this.minutes()?"[昨天]Ah[点整]":"[昨天]LT"},nextWeek:function(){var b,c;return b=a().startOf("week"),c=this.unix()-b.unix()>=604800?"[下]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},lastWeek:function(){var b,c;return b=a().startOf("week"),c=this.unix()<b.unix()?"[上]":"[本]",0===this.minutes()?c+"dddAh点整":c+"dddAh点mm"},sameElse:"LL"},ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"周";default:return a}},relativeTime:{future:"%s内",past:"%s前",s:"几秒",m:"1分钟",mm:"%d分钟",h:"1小时",hh:"%d小时",d:"1天",dd:"%d天",M:"1个月",MM:"%d个月",y:"1年",yy:"%d年"},week:{dow:1,doy:4}})}),function(a){a(ib)}(function(a){return a.lang("zh-tw",{months:"一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月".split("_"),monthsShort:"1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月".split("_"),weekdays:"星期日_星期一_星期二_星期三_星期四_星期五_星期六".split("_"),weekdaysShort:"週日_週一_週二_週三_週四_週五_週六".split("_"),weekdaysMin:"日_一_二_三_四_五_六".split("_"),longDateFormat:{LT:"Ah點mm",L:"YYYY年MMMD日",LL:"YYYY年MMMD日",LLL:"YYYY年MMMD日LT",LLLL:"YYYY年MMMD日ddddLT",l:"YYYY年MMMD日",ll:"YYYY年MMMD日",lll:"YYYY年MMMD日LT",llll:"YYYY年MMMD日ddddLT"},meridiem:function(a,b){var c=100*a+b;return 900>c?"早上":1130>c?"上午":1230>c?"中午":1800>c?"下午":"晚上"},calendar:{sameDay:"[今天]LT",nextDay:"[明天]LT",nextWeek:"[下]ddddLT",lastDay:"[昨天]LT",lastWeek:"[上]ddddLT",sameElse:"L"},ordinal:function(a,b){switch(b){case"d":case"D":case"DDD":return a+"日";case"M":return a+"月";case"w":case"W":return a+"週";default:return a}},relativeTime:{future:"%s內",past:"%s前",s:"幾秒",m:"一分鐘",mm:"%d分鐘",h:"一小時",hh:"%d小時",d:"一天",dd:"%d天",M:"一個月",MM:"%d個月",y:"一年",yy:"%d年"}})}),ib.lang("en"),xb?module.exports=ib:"function"==typeof define&&define.amd?(define("moment",function(a,b,c){return c.config&&c.config()&&c.config().noGlobal===!0&&(mb.moment=jb),ib}),hb(!0)):hb()}).call(this);
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
//! moment.js
|
|
2
|
+
//! version : 2.6.0
|
|
3
|
+
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
|
|
4
|
+
//! license : MIT
|
|
5
|
+
//! momentjs.com
|
|
6
|
+
(function(a){function b(){return{empty:!1,unusedTokens:[],unusedInput:[],overflow:-2,charsLeftOver:0,nullInput:!1,invalidMonth:null,invalidFormat:!1,userInvalidated:!1,iso:!1}}function c(a,b){function c(){ib.suppressDeprecationWarnings===!1&&"undefined"!=typeof console&&console.warn&&console.warn("Deprecation warning: "+a)}var d=!0;return i(function(){return d&&(c(),d=!1),b.apply(this,arguments)},b)}function d(a,b){return function(c){return l(a.call(this,c),b)}}function e(a,b){return function(c){return this.lang().ordinal(a.call(this,c),b)}}function f(){}function g(a){y(a),i(this,a)}function h(a){var b=r(a),c=b.year||0,d=b.quarter||0,e=b.month||0,f=b.week||0,g=b.day||0,h=b.hour||0,i=b.minute||0,j=b.second||0,k=b.millisecond||0;this._milliseconds=+k+1e3*j+6e4*i+36e5*h,this._days=+g+7*f,this._months=+e+3*d+12*c,this._data={},this._bubble()}function i(a,b){for(var c in b)b.hasOwnProperty(c)&&(a[c]=b[c]);return b.hasOwnProperty("toString")&&(a.toString=b.toString),b.hasOwnProperty("valueOf")&&(a.valueOf=b.valueOf),a}function j(a){var b,c={};for(b in a)a.hasOwnProperty(b)&&wb.hasOwnProperty(b)&&(c[b]=a[b]);return c}function k(a){return 0>a?Math.ceil(a):Math.floor(a)}function l(a,b,c){for(var d=""+Math.abs(a),e=a>=0;d.length<b;)d="0"+d;return(e?c?"+":"":"-")+d}function m(a,b,c,d){var e=b._milliseconds,f=b._days,g=b._months;d=null==d?!0:d,e&&a._d.setTime(+a._d+e*c),f&&db(a,"Date",cb(a,"Date")+f*c),g&&bb(a,cb(a,"Month")+g*c),d&&ib.updateOffset(a,f||g)}function n(a){return"[object Array]"===Object.prototype.toString.call(a)}function o(a){return"[object Date]"===Object.prototype.toString.call(a)||a instanceof Date}function p(a,b,c){var d,e=Math.min(a.length,b.length),f=Math.abs(a.length-b.length),g=0;for(d=0;e>d;d++)(c&&a[d]!==b[d]||!c&&t(a[d])!==t(b[d]))&&g++;return g+f}function q(a){if(a){var b=a.toLowerCase().replace(/(.)s$/,"$1");a=Zb[a]||$b[b]||b}return a}function r(a){var b,c,d={};for(c in a)a.hasOwnProperty(c)&&(b=q(c),b&&(d[b]=a[c]));return d}function s(b){var c,d;if(0===b.indexOf("week"))c=7,d="day";else{if(0!==b.indexOf("month"))return;c=12,d="month"}ib[b]=function(e,f){var g,h,i=ib.fn._lang[b],j=[];if("number"==typeof e&&(f=e,e=a),h=function(a){var b=ib().utc().set(d,a);return i.call(ib.fn._lang,b,e||"")},null!=f)return h(f);for(g=0;c>g;g++)j.push(h(g));return j}}function t(a){var b=+a,c=0;return 0!==b&&isFinite(b)&&(c=b>=0?Math.floor(b):Math.ceil(b)),c}function u(a,b){return new Date(Date.UTC(a,b+1,0)).getUTCDate()}function v(a,b,c){return $(ib([a,11,31+b-c]),b,c).week}function w(a){return x(a)?366:365}function x(a){return a%4===0&&a%100!==0||a%400===0}function y(a){var b;a._a&&-2===a._pf.overflow&&(b=a._a[pb]<0||a._a[pb]>11?pb:a._a[qb]<1||a._a[qb]>u(a._a[ob],a._a[pb])?qb:a._a[rb]<0||a._a[rb]>23?rb:a._a[sb]<0||a._a[sb]>59?sb:a._a[tb]<0||a._a[tb]>59?tb:a._a[ub]<0||a._a[ub]>999?ub:-1,a._pf._overflowDayOfYear&&(ob>b||b>qb)&&(b=qb),a._pf.overflow=b)}function z(a){return null==a._isValid&&(a._isValid=!isNaN(a._d.getTime())&&a._pf.overflow<0&&!a._pf.empty&&!a._pf.invalidMonth&&!a._pf.nullInput&&!a._pf.invalidFormat&&!a._pf.userInvalidated,a._strict&&(a._isValid=a._isValid&&0===a._pf.charsLeftOver&&0===a._pf.unusedTokens.length)),a._isValid}function A(a){return a?a.toLowerCase().replace("_","-"):a}function B(a,b){return b._isUTC?ib(a).zone(b._offset||0):ib(a).local()}function C(a,b){return b.abbr=a,vb[a]||(vb[a]=new f),vb[a].set(b),vb[a]}function D(a){delete vb[a]}function E(a){var b,c,d,e,f=0,g=function(a){if(!vb[a]&&xb)try{require("./lang/"+a)}catch(b){}return vb[a]};if(!a)return ib.fn._lang;if(!n(a)){if(c=g(a))return c;a=[a]}for(;f<a.length;){for(e=A(a[f]).split("-"),b=e.length,d=A(a[f+1]),d=d?d.split("-"):null;b>0;){if(c=g(e.slice(0,b).join("-")))return c;if(d&&d.length>=b&&p(e,d,!0)>=b-1)break;b--}f++}return ib.fn._lang}function F(a){return a.match(/\[[\s\S]/)?a.replace(/^\[|\]$/g,""):a.replace(/\\/g,"")}function G(a){var b,c,d=a.match(Bb);for(b=0,c=d.length;c>b;b++)d[b]=cc[d[b]]?cc[d[b]]:F(d[b]);return function(e){var f="";for(b=0;c>b;b++)f+=d[b]instanceof Function?d[b].call(e,a):d[b];return f}}function H(a,b){return a.isValid()?(b=I(b,a.lang()),_b[b]||(_b[b]=G(b)),_b[b](a)):a.lang().invalidDate()}function I(a,b){function c(a){return b.longDateFormat(a)||a}var d=5;for(Cb.lastIndex=0;d>=0&&Cb.test(a);)a=a.replace(Cb,c),Cb.lastIndex=0,d-=1;return a}function J(a,b){var c,d=b._strict;switch(a){case"Q":return Nb;case"DDDD":return Pb;case"YYYY":case"GGGG":case"gggg":return d?Qb:Fb;case"Y":case"G":case"g":return Sb;case"YYYYYY":case"YYYYY":case"GGGGG":case"ggggg":return d?Rb:Gb;case"S":if(d)return Nb;case"SS":if(d)return Ob;case"SSS":if(d)return Pb;case"DDD":return Eb;case"MMM":case"MMMM":case"dd":case"ddd":case"dddd":return Ib;case"a":case"A":return E(b._l)._meridiemParse;case"X":return Lb;case"Z":case"ZZ":return Jb;case"T":return Kb;case"SSSS":return Hb;case"MM":case"DD":case"YY":case"GG":case"gg":case"HH":case"hh":case"mm":case"ss":case"ww":case"WW":return d?Ob:Db;case"M":case"D":case"d":case"H":case"h":case"m":case"s":case"w":case"W":case"e":case"E":return Db;case"Do":return Mb;default:return c=new RegExp(R(Q(a.replace("\\","")),"i"))}}function K(a){a=a||"";var b=a.match(Jb)||[],c=b[b.length-1]||[],d=(c+"").match(Xb)||["-",0,0],e=+(60*d[1])+t(d[2]);return"+"===d[0]?-e:e}function L(a,b,c){var d,e=c._a;switch(a){case"Q":null!=b&&(e[pb]=3*(t(b)-1));break;case"M":case"MM":null!=b&&(e[pb]=t(b)-1);break;case"MMM":case"MMMM":d=E(c._l).monthsParse(b),null!=d?e[pb]=d:c._pf.invalidMonth=b;break;case"D":case"DD":null!=b&&(e[qb]=t(b));break;case"Do":null!=b&&(e[qb]=t(parseInt(b,10)));break;case"DDD":case"DDDD":null!=b&&(c._dayOfYear=t(b));break;case"YY":e[ob]=ib.parseTwoDigitYear(b);break;case"YYYY":case"YYYYY":case"YYYYYY":e[ob]=t(b);break;case"a":case"A":c._isPm=E(c._l).isPM(b);break;case"H":case"HH":case"h":case"hh":e[rb]=t(b);break;case"m":case"mm":e[sb]=t(b);break;case"s":case"ss":e[tb]=t(b);break;case"S":case"SS":case"SSS":case"SSSS":e[ub]=t(1e3*("0."+b));break;case"X":c._d=new Date(1e3*parseFloat(b));break;case"Z":case"ZZ":c._useUTC=!0,c._tzm=K(b);break;case"w":case"ww":case"W":case"WW":case"d":case"dd":case"ddd":case"dddd":case"e":case"E":a=a.substr(0,1);case"gg":case"gggg":case"GG":case"GGGG":case"GGGGG":a=a.substr(0,2),b&&(c._w=c._w||{},c._w[a]=b)}}function M(a){var b,c,d,e,f,g,h,i,j,k,l=[];if(!a._d){for(d=O(a),a._w&&null==a._a[qb]&&null==a._a[pb]&&(f=function(b){var c=parseInt(b,10);return b?b.length<3?c>68?1900+c:2e3+c:c:null==a._a[ob]?ib().weekYear():a._a[ob]},g=a._w,null!=g.GG||null!=g.W||null!=g.E?h=_(f(g.GG),g.W||1,g.E,4,1):(i=E(a._l),j=null!=g.d?X(g.d,i):null!=g.e?parseInt(g.e,10)+i._week.dow:0,k=parseInt(g.w,10)||1,null!=g.d&&j<i._week.dow&&k++,h=_(f(g.gg),k,j,i._week.doy,i._week.dow)),a._a[ob]=h.year,a._dayOfYear=h.dayOfYear),a._dayOfYear&&(e=null==a._a[ob]?d[ob]:a._a[ob],a._dayOfYear>w(e)&&(a._pf._overflowDayOfYear=!0),c=W(e,0,a._dayOfYear),a._a[pb]=c.getUTCMonth(),a._a[qb]=c.getUTCDate()),b=0;3>b&&null==a._a[b];++b)a._a[b]=l[b]=d[b];for(;7>b;b++)a._a[b]=l[b]=null==a._a[b]?2===b?1:0:a._a[b];l[rb]+=t((a._tzm||0)/60),l[sb]+=t((a._tzm||0)%60),a._d=(a._useUTC?W:V).apply(null,l)}}function N(a){var b;a._d||(b=r(a._i),a._a=[b.year,b.month,b.day,b.hour,b.minute,b.second,b.millisecond],M(a))}function O(a){var b=new Date;return a._useUTC?[b.getUTCFullYear(),b.getUTCMonth(),b.getUTCDate()]:[b.getFullYear(),b.getMonth(),b.getDate()]}function P(a){a._a=[],a._pf.empty=!0;var b,c,d,e,f,g=E(a._l),h=""+a._i,i=h.length,j=0;for(d=I(a._f,g).match(Bb)||[],b=0;b<d.length;b++)e=d[b],c=(h.match(J(e,a))||[])[0],c&&(f=h.substr(0,h.indexOf(c)),f.length>0&&a._pf.unusedInput.push(f),h=h.slice(h.indexOf(c)+c.length),j+=c.length),cc[e]?(c?a._pf.empty=!1:a._pf.unusedTokens.push(e),L(e,c,a)):a._strict&&!c&&a._pf.unusedTokens.push(e);a._pf.charsLeftOver=i-j,h.length>0&&a._pf.unusedInput.push(h),a._isPm&&a._a[rb]<12&&(a._a[rb]+=12),a._isPm===!1&&12===a._a[rb]&&(a._a[rb]=0),M(a),y(a)}function Q(a){return a.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(a,b,c,d,e){return b||c||d||e})}function R(a){return a.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function S(a){var c,d,e,f,g;if(0===a._f.length)return a._pf.invalidFormat=!0,void(a._d=new Date(0/0));for(f=0;f<a._f.length;f++)g=0,c=i({},a),c._pf=b(),c._f=a._f[f],P(c),z(c)&&(g+=c._pf.charsLeftOver,g+=10*c._pf.unusedTokens.length,c._pf.score=g,(null==e||e>g)&&(e=g,d=c));i(a,d||c)}function T(a){var b,c,d=a._i,e=Tb.exec(d);if(e){for(a._pf.iso=!0,b=0,c=Vb.length;c>b;b++)if(Vb[b][1].exec(d)){a._f=Vb[b][0]+(e[6]||" ");break}for(b=0,c=Wb.length;c>b;b++)if(Wb[b][1].exec(d)){a._f+=Wb[b][0];break}d.match(Jb)&&(a._f+="Z"),P(a)}else ib.createFromInputFallback(a)}function U(b){var c=b._i,d=yb.exec(c);c===a?b._d=new Date:d?b._d=new Date(+d[1]):"string"==typeof c?T(b):n(c)?(b._a=c.slice(0),M(b)):o(c)?b._d=new Date(+c):"object"==typeof c?N(b):"number"==typeof c?b._d=new Date(c):ib.createFromInputFallback(b)}function V(a,b,c,d,e,f,g){var h=new Date(a,b,c,d,e,f,g);return 1970>a&&h.setFullYear(a),h}function W(a){var b=new Date(Date.UTC.apply(null,arguments));return 1970>a&&b.setUTCFullYear(a),b}function X(a,b){if("string"==typeof a)if(isNaN(a)){if(a=b.weekdaysParse(a),"number"!=typeof a)return null}else a=parseInt(a,10);return a}function Y(a,b,c,d,e){return e.relativeTime(b||1,!!c,a,d)}function Z(a,b,c){var d=nb(Math.abs(a)/1e3),e=nb(d/60),f=nb(e/60),g=nb(f/24),h=nb(g/365),i=45>d&&["s",d]||1===e&&["m"]||45>e&&["mm",e]||1===f&&["h"]||22>f&&["hh",f]||1===g&&["d"]||25>=g&&["dd",g]||45>=g&&["M"]||345>g&&["MM",nb(g/30)]||1===h&&["y"]||["yy",h];return i[2]=b,i[3]=a>0,i[4]=c,Y.apply({},i)}function $(a,b,c){var d,e=c-b,f=c-a.day();return f>e&&(f-=7),e-7>f&&(f+=7),d=ib(a).add("d",f),{week:Math.ceil(d.dayOfYear()/7),year:d.year()}}function _(a,b,c,d,e){var f,g,h=W(a,0,1).getUTCDay();return c=null!=c?c:e,f=e-h+(h>d?7:0)-(e>h?7:0),g=7*(b-1)+(c-e)+f+1,{year:g>0?a:a-1,dayOfYear:g>0?g:w(a-1)+g}}function ab(b){var c=b._i,d=b._f;return null===c||d===a&&""===c?ib.invalid({nullInput:!0}):("string"==typeof c&&(b._i=c=E().preparse(c)),ib.isMoment(c)?(b=j(c),b._d=new Date(+c._d)):d?n(d)?S(b):P(b):U(b),new g(b))}function bb(a,b){var c;return"string"==typeof b&&(b=a.lang().monthsParse(b),"number"!=typeof b)?a:(c=Math.min(a.date(),u(a.year(),b)),a._d["set"+(a._isUTC?"UTC":"")+"Month"](b,c),a)}function cb(a,b){return a._d["get"+(a._isUTC?"UTC":"")+b]()}function db(a,b,c){return"Month"===b?bb(a,c):a._d["set"+(a._isUTC?"UTC":"")+b](c)}function eb(a,b){return function(c){return null!=c?(db(this,a,c),ib.updateOffset(this,b),this):cb(this,a)}}function fb(a){ib.duration.fn[a]=function(){return this._data[a]}}function gb(a,b){ib.duration.fn["as"+a]=function(){return+this/b}}function hb(a){"undefined"==typeof ender&&(jb=mb.moment,mb.moment=a?c("Accessing Moment through the global scope is deprecated, and will be removed in an upcoming release.",ib):ib)}for(var ib,jb,kb,lb="2.6.0",mb="undefined"!=typeof global?global:this,nb=Math.round,ob=0,pb=1,qb=2,rb=3,sb=4,tb=5,ub=6,vb={},wb={_isAMomentObject:null,_i:null,_f:null,_l:null,_strict:null,_isUTC:null,_offset:null,_pf:null,_lang:null},xb="undefined"!=typeof module&&module.exports,yb=/^\/?Date\((\-?\d+)/i,zb=/(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,Ab=/^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,Bb=/(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,Cb=/(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,Db=/\d\d?/,Eb=/\d{1,3}/,Fb=/\d{1,4}/,Gb=/[+\-]?\d{1,6}/,Hb=/\d+/,Ib=/[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i,Jb=/Z|[\+\-]\d\d:?\d\d/gi,Kb=/T/i,Lb=/[\+\-]?\d+(\.\d{1,3})?/,Mb=/\d{1,2}/,Nb=/\d/,Ob=/\d\d/,Pb=/\d{3}/,Qb=/\d{4}/,Rb=/[+-]?\d{6}/,Sb=/[+-]?\d+/,Tb=/^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Ub="YYYY-MM-DDTHH:mm:ssZ",Vb=[["YYYYYY-MM-DD",/[+-]\d{6}-\d{2}-\d{2}/],["YYYY-MM-DD",/\d{4}-\d{2}-\d{2}/],["GGGG-[W]WW-E",/\d{4}-W\d{2}-\d/],["GGGG-[W]WW",/\d{4}-W\d{2}/],["YYYY-DDD",/\d{4}-\d{3}/]],Wb=[["HH:mm:ss.SSSS",/(T| )\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss",/(T| )\d\d:\d\d:\d\d/],["HH:mm",/(T| )\d\d:\d\d/],["HH",/(T| )\d\d/]],Xb=/([\+\-]|\d\d)/gi,Yb=("Date|Hours|Minutes|Seconds|Milliseconds".split("|"),{Milliseconds:1,Seconds:1e3,Minutes:6e4,Hours:36e5,Days:864e5,Months:2592e6,Years:31536e6}),Zb={ms:"millisecond",s:"second",m:"minute",h:"hour",d:"day",D:"date",w:"week",W:"isoWeek",M:"month",Q:"quarter",y:"year",DDD:"dayOfYear",e:"weekday",E:"isoWeekday",gg:"weekYear",GG:"isoWeekYear"},$b={dayofyear:"dayOfYear",isoweekday:"isoWeekday",isoweek:"isoWeek",weekyear:"weekYear",isoweekyear:"isoWeekYear"},_b={},ac="DDD w W M D d".split(" "),bc="M D H h m s w W".split(" "),cc={M:function(){return this.month()+1},MMM:function(a){return this.lang().monthsShort(this,a)},MMMM:function(a){return this.lang().months(this,a)},D:function(){return this.date()},DDD:function(){return this.dayOfYear()},d:function(){return this.day()},dd:function(a){return this.lang().weekdaysMin(this,a)},ddd:function(a){return this.lang().weekdaysShort(this,a)},dddd:function(a){return this.lang().weekdays(this,a)},w:function(){return this.week()},W:function(){return this.isoWeek()},YY:function(){return l(this.year()%100,2)},YYYY:function(){return l(this.year(),4)},YYYYY:function(){return l(this.year(),5)},YYYYYY:function(){var a=this.year(),b=a>=0?"+":"-";return b+l(Math.abs(a),6)},gg:function(){return l(this.weekYear()%100,2)},gggg:function(){return l(this.weekYear(),4)},ggggg:function(){return l(this.weekYear(),5)},GG:function(){return l(this.isoWeekYear()%100,2)},GGGG:function(){return l(this.isoWeekYear(),4)},GGGGG:function(){return l(this.isoWeekYear(),5)},e:function(){return this.weekday()},E:function(){return this.isoWeekday()},a:function(){return this.lang().meridiem(this.hours(),this.minutes(),!0)},A:function(){return this.lang().meridiem(this.hours(),this.minutes(),!1)},H:function(){return this.hours()},h:function(){return this.hours()%12||12},m:function(){return this.minutes()},s:function(){return this.seconds()},S:function(){return t(this.milliseconds()/100)},SS:function(){return l(t(this.milliseconds()/10),2)},SSS:function(){return l(this.milliseconds(),3)},SSSS:function(){return l(this.milliseconds(),3)},Z:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+l(t(a/60),2)+":"+l(t(a)%60,2)},ZZ:function(){var a=-this.zone(),b="+";return 0>a&&(a=-a,b="-"),b+l(t(a/60),2)+l(t(a)%60,2)},z:function(){return this.zoneAbbr()},zz:function(){return this.zoneName()},X:function(){return this.unix()},Q:function(){return this.quarter()}},dc=["months","monthsShort","weekdays","weekdaysShort","weekdaysMin"];ac.length;)kb=ac.pop(),cc[kb+"o"]=e(cc[kb],kb);for(;bc.length;)kb=bc.pop(),cc[kb+kb]=d(cc[kb],2);for(cc.DDDD=d(cc.DDD,3),i(f.prototype,{set:function(a){var b,c;for(c in a)b=a[c],"function"==typeof b?this[c]=b:this["_"+c]=b},_months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),months:function(a){return this._months[a.month()]},_monthsShort:"Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),monthsShort:function(a){return this._monthsShort[a.month()]},monthsParse:function(a){var b,c,d;for(this._monthsParse||(this._monthsParse=[]),b=0;12>b;b++)if(this._monthsParse[b]||(c=ib.utc([2e3,b]),d="^"+this.months(c,"")+"|^"+this.monthsShort(c,""),this._monthsParse[b]=new RegExp(d.replace(".",""),"i")),this._monthsParse[b].test(a))return b},_weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),weekdays:function(a){return this._weekdays[a.day()]},_weekdaysShort:"Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),weekdaysShort:function(a){return this._weekdaysShort[a.day()]},_weekdaysMin:"Su_Mo_Tu_We_Th_Fr_Sa".split("_"),weekdaysMin:function(a){return this._weekdaysMin[a.day()]},weekdaysParse:function(a){var b,c,d;for(this._weekdaysParse||(this._weekdaysParse=[]),b=0;7>b;b++)if(this._weekdaysParse[b]||(c=ib([2e3,1]).day(b),d="^"+this.weekdays(c,"")+"|^"+this.weekdaysShort(c,"")+"|^"+this.weekdaysMin(c,""),this._weekdaysParse[b]=new RegExp(d.replace(".",""),"i")),this._weekdaysParse[b].test(a))return b},_longDateFormat:{LT:"h:mm A",L:"MM/DD/YYYY",LL:"MMMM D YYYY",LLL:"MMMM D YYYY LT",LLLL:"dddd, MMMM D YYYY LT"},longDateFormat:function(a){var b=this._longDateFormat[a];return!b&&this._longDateFormat[a.toUpperCase()]&&(b=this._longDateFormat[a.toUpperCase()].replace(/MMMM|MM|DD|dddd/g,function(a){return a.slice(1)}),this._longDateFormat[a]=b),b},isPM:function(a){return"p"===(a+"").toLowerCase().charAt(0)},_meridiemParse:/[ap]\.?m?\.?/i,meridiem:function(a,b,c){return a>11?c?"pm":"PM":c?"am":"AM"},_calendar:{sameDay:"[Today at] LT",nextDay:"[Tomorrow at] LT",nextWeek:"dddd [at] LT",lastDay:"[Yesterday at] LT",lastWeek:"[Last] dddd [at] LT",sameElse:"L"},calendar:function(a,b){var c=this._calendar[a];return"function"==typeof c?c.apply(b):c},_relativeTime:{future:"in %s",past:"%s ago",s:"a few seconds",m:"a minute",mm:"%d minutes",h:"an hour",hh:"%d hours",d:"a day",dd:"%d days",M:"a month",MM:"%d months",y:"a year",yy:"%d years"},relativeTime:function(a,b,c,d){var e=this._relativeTime[c];return"function"==typeof e?e(a,b,c,d):e.replace(/%d/i,a)},pastFuture:function(a,b){var c=this._relativeTime[a>0?"future":"past"];return"function"==typeof c?c(b):c.replace(/%s/i,b)},ordinal:function(a){return this._ordinal.replace("%d",a)},_ordinal:"%d",preparse:function(a){return a},postformat:function(a){return a},week:function(a){return $(a,this._week.dow,this._week.doy).week},_week:{dow:0,doy:6},_invalidDate:"Invalid date",invalidDate:function(){return this._invalidDate}}),ib=function(c,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._i=c,g._f=d,g._l=e,g._strict=f,g._isUTC=!1,g._pf=b(),ab(g)},ib.suppressDeprecationWarnings=!1,ib.createFromInputFallback=c("moment construction falls back to js Date. This is discouraged and will be removed in upcoming major release. Please refer to https://github.com/moment/moment/issues/1407 for more info.",function(a){a._d=new Date(a._i)}),ib.utc=function(c,d,e,f){var g;return"boolean"==typeof e&&(f=e,e=a),g={},g._isAMomentObject=!0,g._useUTC=!0,g._isUTC=!0,g._l=e,g._i=c,g._f=d,g._strict=f,g._pf=b(),ab(g).utc()},ib.unix=function(a){return ib(1e3*a)},ib.duration=function(a,b){var c,d,e,f=a,g=null;return ib.isDuration(a)?f={ms:a._milliseconds,d:a._days,M:a._months}:"number"==typeof a?(f={},b?f[b]=a:f.milliseconds=a):(g=zb.exec(a))?(c="-"===g[1]?-1:1,f={y:0,d:t(g[qb])*c,h:t(g[rb])*c,m:t(g[sb])*c,s:t(g[tb])*c,ms:t(g[ub])*c}):(g=Ab.exec(a))&&(c="-"===g[1]?-1:1,e=function(a){var b=a&&parseFloat(a.replace(",","."));return(isNaN(b)?0:b)*c},f={y:e(g[2]),M:e(g[3]),d:e(g[4]),h:e(g[5]),m:e(g[6]),s:e(g[7]),w:e(g[8])}),d=new h(f),ib.isDuration(a)&&a.hasOwnProperty("_lang")&&(d._lang=a._lang),d},ib.version=lb,ib.defaultFormat=Ub,ib.momentProperties=wb,ib.updateOffset=function(){},ib.lang=function(a,b){var c;return a?(b?C(A(a),b):null===b?(D(a),a="en"):vb[a]||E(a),c=ib.duration.fn._lang=ib.fn._lang=E(a),c._abbr):ib.fn._lang._abbr},ib.langData=function(a){return a&&a._lang&&a._lang._abbr&&(a=a._lang._abbr),E(a)},ib.isMoment=function(a){return a instanceof g||null!=a&&a.hasOwnProperty("_isAMomentObject")},ib.isDuration=function(a){return a instanceof h},kb=dc.length-1;kb>=0;--kb)s(dc[kb]);ib.normalizeUnits=function(a){return q(a)},ib.invalid=function(a){var b=ib.utc(0/0);return null!=a?i(b._pf,a):b._pf.userInvalidated=!0,b},ib.parseZone=function(){return ib.apply(null,arguments).parseZone()},ib.parseTwoDigitYear=function(a){return t(a)+(t(a)>68?1900:2e3)},i(ib.fn=g.prototype,{clone:function(){return ib(this)},valueOf:function(){return+this._d+6e4*(this._offset||0)},unix:function(){return Math.floor(+this/1e3)},toString:function(){return this.clone().lang("en").format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ")},toDate:function(){return this._offset?new Date(+this):this._d},toISOString:function(){var a=ib(this).utc();return 0<a.year()&&a.year()<=9999?H(a,"YYYY-MM-DD[T]HH:mm:ss.SSS[Z]"):H(a,"YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]")},toArray:function(){var a=this;return[a.year(),a.month(),a.date(),a.hours(),a.minutes(),a.seconds(),a.milliseconds()]},isValid:function(){return z(this)},isDSTShifted:function(){return this._a?this.isValid()&&p(this._a,(this._isUTC?ib.utc(this._a):ib(this._a)).toArray())>0:!1},parsingFlags:function(){return i({},this._pf)},invalidAt:function(){return this._pf.overflow},utc:function(){return this.zone(0)},local:function(){return this.zone(0),this._isUTC=!1,this},format:function(a){var b=H(this,a||ib.defaultFormat);return this.lang().postformat(b)},add:function(a,b){var c;return c="string"==typeof a?ib.duration(+b,a):ib.duration(a,b),m(this,c,1),this},subtract:function(a,b){var c;return c="string"==typeof a?ib.duration(+b,a):ib.duration(a,b),m(this,c,-1),this},diff:function(a,b,c){var d,e,f=B(a,this),g=6e4*(this.zone()-f.zone());return b=q(b),"year"===b||"month"===b?(d=432e5*(this.daysInMonth()+f.daysInMonth()),e=12*(this.year()-f.year())+(this.month()-f.month()),e+=(this-ib(this).startOf("month")-(f-ib(f).startOf("month")))/d,e-=6e4*(this.zone()-ib(this).startOf("month").zone()-(f.zone()-ib(f).startOf("month").zone()))/d,"year"===b&&(e/=12)):(d=this-f,e="second"===b?d/1e3:"minute"===b?d/6e4:"hour"===b?d/36e5:"day"===b?(d-g)/864e5:"week"===b?(d-g)/6048e5:d),c?e:k(e)},from:function(a,b){return ib.duration(this.diff(a)).lang(this.lang()._abbr).humanize(!b)},fromNow:function(a){return this.from(ib(),a)},calendar:function(){var a=B(ib(),this).startOf("day"),b=this.diff(a,"days",!0),c=-6>b?"sameElse":-1>b?"lastWeek":0>b?"lastDay":1>b?"sameDay":2>b?"nextDay":7>b?"nextWeek":"sameElse";return this.format(this.lang().calendar(c,this))},isLeapYear:function(){return x(this.year())},isDST:function(){return this.zone()<this.clone().month(0).zone()||this.zone()<this.clone().month(5).zone()},day:function(a){var b=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=a?(a=X(a,this.lang()),this.add({d:a-b})):b},month:eb("Month",!0),startOf:function(a){switch(a=q(a)){case"year":this.month(0);case"quarter":case"month":this.date(1);case"week":case"isoWeek":case"day":this.hours(0);case"hour":this.minutes(0);case"minute":this.seconds(0);case"second":this.milliseconds(0)}return"week"===a?this.weekday(0):"isoWeek"===a&&this.isoWeekday(1),"quarter"===a&&this.month(3*Math.floor(this.month()/3)),this},endOf:function(a){return a=q(a),this.startOf(a).add("isoWeek"===a?"week":a,1).subtract("ms",1)},isAfter:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)>+ib(a).startOf(b)},isBefore:function(a,b){return b="undefined"!=typeof b?b:"millisecond",+this.clone().startOf(b)<+ib(a).startOf(b)},isSame:function(a,b){return b=b||"ms",+this.clone().startOf(b)===+B(a,this).startOf(b)},min:function(a){return a=ib.apply(null,arguments),this>a?this:a},max:function(a){return a=ib.apply(null,arguments),a>this?this:a},zone:function(a,b){var c=this._offset||0;return null==a?this._isUTC?c:this._d.getTimezoneOffset():("string"==typeof a&&(a=K(a)),Math.abs(a)<16&&(a=60*a),this._offset=a,this._isUTC=!0,c!==a&&(!b||this._changeInProgress?m(this,ib.duration(c-a,"m"),1,!1):this._changeInProgress||(this._changeInProgress=!0,ib.updateOffset(this,!0),this._changeInProgress=null)),this)},zoneAbbr:function(){return this._isUTC?"UTC":""},zoneName:function(){return this._isUTC?"Coordinated Universal Time":""},parseZone:function(){return this._tzm?this.zone(this._tzm):"string"==typeof this._i&&this.zone(this._i),this},hasAlignedHourOffset:function(a){return a=a?ib(a).zone():0,(this.zone()-a)%60===0},daysInMonth:function(){return u(this.year(),this.month())},dayOfYear:function(a){var b=nb((ib(this).startOf("day")-ib(this).startOf("year"))/864e5)+1;return null==a?b:this.add("d",a-b)},quarter:function(a){return null==a?Math.ceil((this.month()+1)/3):this.month(3*(a-1)+this.month()%3)},weekYear:function(a){var b=$(this,this.lang()._week.dow,this.lang()._week.doy).year;return null==a?b:this.add("y",a-b)},isoWeekYear:function(a){var b=$(this,1,4).year;return null==a?b:this.add("y",a-b)},week:function(a){var b=this.lang().week(this);return null==a?b:this.add("d",7*(a-b))},isoWeek:function(a){var b=$(this,1,4).week;return null==a?b:this.add("d",7*(a-b))},weekday:function(a){var b=(this.day()+7-this.lang()._week.dow)%7;return null==a?b:this.add("d",a-b)},isoWeekday:function(a){return null==a?this.day()||7:this.day(this.day()%7?a:a-7)},isoWeeksInYear:function(){return v(this.year(),1,4)},weeksInYear:function(){var a=this._lang._week;return v(this.year(),a.dow,a.doy)},get:function(a){return a=q(a),this[a]()},set:function(a,b){return a=q(a),"function"==typeof this[a]&&this[a](b),this},lang:function(b){return b===a?this._lang:(this._lang=E(b),this)}}),ib.fn.millisecond=ib.fn.milliseconds=eb("Milliseconds",!1),ib.fn.second=ib.fn.seconds=eb("Seconds",!1),ib.fn.minute=ib.fn.minutes=eb("Minutes",!1),ib.fn.hour=ib.fn.hours=eb("Hours",!0),ib.fn.date=eb("Date",!0),ib.fn.dates=c("dates accessor is deprecated. Use date instead.",eb("Date",!0)),ib.fn.year=eb("FullYear",!0),ib.fn.years=c("years accessor is deprecated. Use year instead.",eb("FullYear",!0)),ib.fn.days=ib.fn.day,ib.fn.months=ib.fn.month,ib.fn.weeks=ib.fn.week,ib.fn.isoWeeks=ib.fn.isoWeek,ib.fn.quarters=ib.fn.quarter,ib.fn.toJSON=ib.fn.toISOString,i(ib.duration.fn=h.prototype,{_bubble:function(){var a,b,c,d,e=this._milliseconds,f=this._days,g=this._months,h=this._data;h.milliseconds=e%1e3,a=k(e/1e3),h.seconds=a%60,b=k(a/60),h.minutes=b%60,c=k(b/60),h.hours=c%24,f+=k(c/24),h.days=f%30,g+=k(f/30),h.months=g%12,d=k(g/12),h.years=d},weeks:function(){return k(this.days()/7)},valueOf:function(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*t(this._months/12)},humanize:function(a){var b=+this,c=Z(b,!a,this.lang());return a&&(c=this.lang().pastFuture(b,c)),this.lang().postformat(c)},add:function(a,b){var c=ib.duration(a,b);return this._milliseconds+=c._milliseconds,this._days+=c._days,this._months+=c._months,this._bubble(),this},subtract:function(a,b){var c=ib.duration(a,b);return this._milliseconds-=c._milliseconds,this._days-=c._days,this._months-=c._months,this._bubble(),this},get:function(a){return a=q(a),this[a.toLowerCase()+"s"]()},as:function(a){return a=q(a),this["as"+a.charAt(0).toUpperCase()+a.slice(1)+"s"]()},lang:ib.fn.lang,toIsoString:function(){var a=Math.abs(this.years()),b=Math.abs(this.months()),c=Math.abs(this.days()),d=Math.abs(this.hours()),e=Math.abs(this.minutes()),f=Math.abs(this.seconds()+this.milliseconds()/1e3);return this.asSeconds()?(this.asSeconds()<0?"-":"")+"P"+(a?a+"Y":"")+(b?b+"M":"")+(c?c+"D":"")+(d||e||f?"T":"")+(d?d+"H":"")+(e?e+"M":"")+(f?f+"S":""):"P0D"}});for(kb in Yb)Yb.hasOwnProperty(kb)&&(gb(kb,Yb[kb]),fb(kb.toLowerCase()));gb("Weeks",6048e5),ib.duration.fn.asMonths=function(){return(+this-31536e6*this.years())/2592e6+12*this.years()},ib.lang("en",{ordinal:function(a){var b=a%10,c=1===t(a%100/10)?"th":1===b?"st":2===b?"nd":3===b?"rd":"th";return a+c}}),xb?module.exports=ib:"function"==typeof define&&define.amd?(define("moment",function(a,b,c){return c.config&&c.config()&&c.config().noGlobal===!0&&(mb.moment=jb),ib}),hb(!0)):hb()}).call(this);
|
|
@@ -0,0 +1,2489 @@
|
|
|
1
|
+
//! moment.js
|
|
2
|
+
//! version : 2.6.0
|
|
3
|
+
//! authors : Tim Wood, Iskren Chernev, Moment.js contributors
|
|
4
|
+
//! license : MIT
|
|
5
|
+
//! momentjs.com
|
|
6
|
+
|
|
7
|
+
(function (undefined) {
|
|
8
|
+
|
|
9
|
+
/************************************
|
|
10
|
+
Constants
|
|
11
|
+
************************************/
|
|
12
|
+
|
|
13
|
+
var moment,
|
|
14
|
+
VERSION = "2.6.0",
|
|
15
|
+
// the global-scope this is NOT the global object in Node.js
|
|
16
|
+
globalScope = typeof global !== 'undefined' ? global : this,
|
|
17
|
+
oldGlobalMoment,
|
|
18
|
+
round = Math.round,
|
|
19
|
+
i,
|
|
20
|
+
|
|
21
|
+
YEAR = 0,
|
|
22
|
+
MONTH = 1,
|
|
23
|
+
DATE = 2,
|
|
24
|
+
HOUR = 3,
|
|
25
|
+
MINUTE = 4,
|
|
26
|
+
SECOND = 5,
|
|
27
|
+
MILLISECOND = 6,
|
|
28
|
+
|
|
29
|
+
// internal storage for language config files
|
|
30
|
+
languages = {},
|
|
31
|
+
|
|
32
|
+
// moment internal properties
|
|
33
|
+
momentProperties = {
|
|
34
|
+
_isAMomentObject: null,
|
|
35
|
+
_i : null,
|
|
36
|
+
_f : null,
|
|
37
|
+
_l : null,
|
|
38
|
+
_strict : null,
|
|
39
|
+
_isUTC : null,
|
|
40
|
+
_offset : null, // optional. Combine with _isUTC
|
|
41
|
+
_pf : null,
|
|
42
|
+
_lang : null // optional
|
|
43
|
+
},
|
|
44
|
+
|
|
45
|
+
// check for nodeJS
|
|
46
|
+
hasModule = (typeof module !== 'undefined' && module.exports),
|
|
47
|
+
|
|
48
|
+
// ASP.NET json date format regex
|
|
49
|
+
aspNetJsonRegex = /^\/?Date\((\-?\d+)/i,
|
|
50
|
+
aspNetTimeSpanJsonRegex = /(\-)?(?:(\d*)\.)?(\d+)\:(\d+)(?:\:(\d+)\.?(\d{3})?)?/,
|
|
51
|
+
|
|
52
|
+
// from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html
|
|
53
|
+
// somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere
|
|
54
|
+
isoDurationRegex = /^(-)?P(?:(?:([0-9,.]*)Y)?(?:([0-9,.]*)M)?(?:([0-9,.]*)D)?(?:T(?:([0-9,.]*)H)?(?:([0-9,.]*)M)?(?:([0-9,.]*)S)?)?|([0-9,.]*)W)$/,
|
|
55
|
+
|
|
56
|
+
// format tokens
|
|
57
|
+
formattingTokens = /(\[[^\[]*\])|(\\)?(Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Q|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|mm?|ss?|S{1,4}|X|zz?|ZZ?|.)/g,
|
|
58
|
+
localFormattingTokens = /(\[[^\[]*\])|(\\)?(LT|LL?L?L?|l{1,4})/g,
|
|
59
|
+
|
|
60
|
+
// parsing token regexes
|
|
61
|
+
parseTokenOneOrTwoDigits = /\d\d?/, // 0 - 99
|
|
62
|
+
parseTokenOneToThreeDigits = /\d{1,3}/, // 0 - 999
|
|
63
|
+
parseTokenOneToFourDigits = /\d{1,4}/, // 0 - 9999
|
|
64
|
+
parseTokenOneToSixDigits = /[+\-]?\d{1,6}/, // -999,999 - 999,999
|
|
65
|
+
parseTokenDigits = /\d+/, // nonzero number of digits
|
|
66
|
+
parseTokenWord = /[0-9]*['a-z\u00A0-\u05FF\u0700-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]+|[\u0600-\u06FF\/]+(\s*?[\u0600-\u06FF]+){1,2}/i, // any word (or two) characters or numbers including two/three word month in arabic.
|
|
67
|
+
parseTokenTimezone = /Z|[\+\-]\d\d:?\d\d/gi, // +00:00 -00:00 +0000 -0000 or Z
|
|
68
|
+
parseTokenT = /T/i, // T (ISO separator)
|
|
69
|
+
parseTokenTimestampMs = /[\+\-]?\d+(\.\d{1,3})?/, // 123456789 123456789.123
|
|
70
|
+
parseTokenOrdinal = /\d{1,2}/,
|
|
71
|
+
|
|
72
|
+
//strict parsing regexes
|
|
73
|
+
parseTokenOneDigit = /\d/, // 0 - 9
|
|
74
|
+
parseTokenTwoDigits = /\d\d/, // 00 - 99
|
|
75
|
+
parseTokenThreeDigits = /\d{3}/, // 000 - 999
|
|
76
|
+
parseTokenFourDigits = /\d{4}/, // 0000 - 9999
|
|
77
|
+
parseTokenSixDigits = /[+-]?\d{6}/, // -999,999 - 999,999
|
|
78
|
+
parseTokenSignedNumber = /[+-]?\d+/, // -inf - inf
|
|
79
|
+
|
|
80
|
+
// iso 8601 regex
|
|
81
|
+
// 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)
|
|
82
|
+
isoRegex = /^\s*(?:[+-]\d{6}|\d{4})-(?:(\d\d-\d\d)|(W\d\d$)|(W\d\d-\d)|(\d\d\d))((T| )(\d\d(:\d\d(:\d\d(\.\d+)?)?)?)?([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,
|
|
83
|
+
|
|
84
|
+
isoFormat = 'YYYY-MM-DDTHH:mm:ssZ',
|
|
85
|
+
|
|
86
|
+
isoDates = [
|
|
87
|
+
['YYYYYY-MM-DD', /[+-]\d{6}-\d{2}-\d{2}/],
|
|
88
|
+
['YYYY-MM-DD', /\d{4}-\d{2}-\d{2}/],
|
|
89
|
+
['GGGG-[W]WW-E', /\d{4}-W\d{2}-\d/],
|
|
90
|
+
['GGGG-[W]WW', /\d{4}-W\d{2}/],
|
|
91
|
+
['YYYY-DDD', /\d{4}-\d{3}/]
|
|
92
|
+
],
|
|
93
|
+
|
|
94
|
+
// iso time formats and regexes
|
|
95
|
+
isoTimes = [
|
|
96
|
+
['HH:mm:ss.SSSS', /(T| )\d\d:\d\d:\d\d\.\d+/],
|
|
97
|
+
['HH:mm:ss', /(T| )\d\d:\d\d:\d\d/],
|
|
98
|
+
['HH:mm', /(T| )\d\d:\d\d/],
|
|
99
|
+
['HH', /(T| )\d\d/]
|
|
100
|
+
],
|
|
101
|
+
|
|
102
|
+
// timezone chunker "+10:00" > ["10", "00"] or "-1530" > ["-15", "30"]
|
|
103
|
+
parseTimezoneChunker = /([\+\-]|\d\d)/gi,
|
|
104
|
+
|
|
105
|
+
// getter and setter names
|
|
106
|
+
proxyGettersAndSetters = 'Date|Hours|Minutes|Seconds|Milliseconds'.split('|'),
|
|
107
|
+
unitMillisecondFactors = {
|
|
108
|
+
'Milliseconds' : 1,
|
|
109
|
+
'Seconds' : 1e3,
|
|
110
|
+
'Minutes' : 6e4,
|
|
111
|
+
'Hours' : 36e5,
|
|
112
|
+
'Days' : 864e5,
|
|
113
|
+
'Months' : 2592e6,
|
|
114
|
+
'Years' : 31536e6
|
|
115
|
+
},
|
|
116
|
+
|
|
117
|
+
unitAliases = {
|
|
118
|
+
ms : 'millisecond',
|
|
119
|
+
s : 'second',
|
|
120
|
+
m : 'minute',
|
|
121
|
+
h : 'hour',
|
|
122
|
+
d : 'day',
|
|
123
|
+
D : 'date',
|
|
124
|
+
w : 'week',
|
|
125
|
+
W : 'isoWeek',
|
|
126
|
+
M : 'month',
|
|
127
|
+
Q : 'quarter',
|
|
128
|
+
y : 'year',
|
|
129
|
+
DDD : 'dayOfYear',
|
|
130
|
+
e : 'weekday',
|
|
131
|
+
E : 'isoWeekday',
|
|
132
|
+
gg: 'weekYear',
|
|
133
|
+
GG: 'isoWeekYear'
|
|
134
|
+
},
|
|
135
|
+
|
|
136
|
+
camelFunctions = {
|
|
137
|
+
dayofyear : 'dayOfYear',
|
|
138
|
+
isoweekday : 'isoWeekday',
|
|
139
|
+
isoweek : 'isoWeek',
|
|
140
|
+
weekyear : 'weekYear',
|
|
141
|
+
isoweekyear : 'isoWeekYear'
|
|
142
|
+
},
|
|
143
|
+
|
|
144
|
+
// format function strings
|
|
145
|
+
formatFunctions = {},
|
|
146
|
+
|
|
147
|
+
// tokens to ordinalize and pad
|
|
148
|
+
ordinalizeTokens = 'DDD w W M D d'.split(' '),
|
|
149
|
+
paddedTokens = 'M D H h m s w W'.split(' '),
|
|
150
|
+
|
|
151
|
+
formatTokenFunctions = {
|
|
152
|
+
M : function () {
|
|
153
|
+
return this.month() + 1;
|
|
154
|
+
},
|
|
155
|
+
MMM : function (format) {
|
|
156
|
+
return this.lang().monthsShort(this, format);
|
|
157
|
+
},
|
|
158
|
+
MMMM : function (format) {
|
|
159
|
+
return this.lang().months(this, format);
|
|
160
|
+
},
|
|
161
|
+
D : function () {
|
|
162
|
+
return this.date();
|
|
163
|
+
},
|
|
164
|
+
DDD : function () {
|
|
165
|
+
return this.dayOfYear();
|
|
166
|
+
},
|
|
167
|
+
d : function () {
|
|
168
|
+
return this.day();
|
|
169
|
+
},
|
|
170
|
+
dd : function (format) {
|
|
171
|
+
return this.lang().weekdaysMin(this, format);
|
|
172
|
+
},
|
|
173
|
+
ddd : function (format) {
|
|
174
|
+
return this.lang().weekdaysShort(this, format);
|
|
175
|
+
},
|
|
176
|
+
dddd : function (format) {
|
|
177
|
+
return this.lang().weekdays(this, format);
|
|
178
|
+
},
|
|
179
|
+
w : function () {
|
|
180
|
+
return this.week();
|
|
181
|
+
},
|
|
182
|
+
W : function () {
|
|
183
|
+
return this.isoWeek();
|
|
184
|
+
},
|
|
185
|
+
YY : function () {
|
|
186
|
+
return leftZeroFill(this.year() % 100, 2);
|
|
187
|
+
},
|
|
188
|
+
YYYY : function () {
|
|
189
|
+
return leftZeroFill(this.year(), 4);
|
|
190
|
+
},
|
|
191
|
+
YYYYY : function () {
|
|
192
|
+
return leftZeroFill(this.year(), 5);
|
|
193
|
+
},
|
|
194
|
+
YYYYYY : function () {
|
|
195
|
+
var y = this.year(), sign = y >= 0 ? '+' : '-';
|
|
196
|
+
return sign + leftZeroFill(Math.abs(y), 6);
|
|
197
|
+
},
|
|
198
|
+
gg : function () {
|
|
199
|
+
return leftZeroFill(this.weekYear() % 100, 2);
|
|
200
|
+
},
|
|
201
|
+
gggg : function () {
|
|
202
|
+
return leftZeroFill(this.weekYear(), 4);
|
|
203
|
+
},
|
|
204
|
+
ggggg : function () {
|
|
205
|
+
return leftZeroFill(this.weekYear(), 5);
|
|
206
|
+
},
|
|
207
|
+
GG : function () {
|
|
208
|
+
return leftZeroFill(this.isoWeekYear() % 100, 2);
|
|
209
|
+
},
|
|
210
|
+
GGGG : function () {
|
|
211
|
+
return leftZeroFill(this.isoWeekYear(), 4);
|
|
212
|
+
},
|
|
213
|
+
GGGGG : function () {
|
|
214
|
+
return leftZeroFill(this.isoWeekYear(), 5);
|
|
215
|
+
},
|
|
216
|
+
e : function () {
|
|
217
|
+
return this.weekday();
|
|
218
|
+
},
|
|
219
|
+
E : function () {
|
|
220
|
+
return this.isoWeekday();
|
|
221
|
+
},
|
|
222
|
+
a : function () {
|
|
223
|
+
return this.lang().meridiem(this.hours(), this.minutes(), true);
|
|
224
|
+
},
|
|
225
|
+
A : function () {
|
|
226
|
+
return this.lang().meridiem(this.hours(), this.minutes(), false);
|
|
227
|
+
},
|
|
228
|
+
H : function () {
|
|
229
|
+
return this.hours();
|
|
230
|
+
},
|
|
231
|
+
h : function () {
|
|
232
|
+
return this.hours() % 12 || 12;
|
|
233
|
+
},
|
|
234
|
+
m : function () {
|
|
235
|
+
return this.minutes();
|
|
236
|
+
},
|
|
237
|
+
s : function () {
|
|
238
|
+
return this.seconds();
|
|
239
|
+
},
|
|
240
|
+
S : function () {
|
|
241
|
+
return toInt(this.milliseconds() / 100);
|
|
242
|
+
},
|
|
243
|
+
SS : function () {
|
|
244
|
+
return leftZeroFill(toInt(this.milliseconds() / 10), 2);
|
|
245
|
+
},
|
|
246
|
+
SSS : function () {
|
|
247
|
+
return leftZeroFill(this.milliseconds(), 3);
|
|
248
|
+
},
|
|
249
|
+
SSSS : function () {
|
|
250
|
+
return leftZeroFill(this.milliseconds(), 3);
|
|
251
|
+
},
|
|
252
|
+
Z : function () {
|
|
253
|
+
var a = -this.zone(),
|
|
254
|
+
b = "+";
|
|
255
|
+
if (a < 0) {
|
|
256
|
+
a = -a;
|
|
257
|
+
b = "-";
|
|
258
|
+
}
|
|
259
|
+
return b + leftZeroFill(toInt(a / 60), 2) + ":" + leftZeroFill(toInt(a) % 60, 2);
|
|
260
|
+
},
|
|
261
|
+
ZZ : function () {
|
|
262
|
+
var a = -this.zone(),
|
|
263
|
+
b = "+";
|
|
264
|
+
if (a < 0) {
|
|
265
|
+
a = -a;
|
|
266
|
+
b = "-";
|
|
267
|
+
}
|
|
268
|
+
return b + leftZeroFill(toInt(a / 60), 2) + leftZeroFill(toInt(a) % 60, 2);
|
|
269
|
+
},
|
|
270
|
+
z : function () {
|
|
271
|
+
return this.zoneAbbr();
|
|
272
|
+
},
|
|
273
|
+
zz : function () {
|
|
274
|
+
return this.zoneName();
|
|
275
|
+
},
|
|
276
|
+
X : function () {
|
|
277
|
+
return this.unix();
|
|
278
|
+
},
|
|
279
|
+
Q : function () {
|
|
280
|
+
return this.quarter();
|
|
281
|
+
}
|
|
282
|
+
},
|
|
283
|
+
|
|
284
|
+
lists = ['months', 'monthsShort', 'weekdays', 'weekdaysShort', 'weekdaysMin'];
|
|
285
|
+
|
|
286
|
+
function defaultParsingFlags() {
|
|
287
|
+
// We need to deep clone this object, and es5 standard is not very
|
|
288
|
+
// helpful.
|
|
289
|
+
return {
|
|
290
|
+
empty : false,
|
|
291
|
+
unusedTokens : [],
|
|
292
|
+
unusedInput : [],
|
|
293
|
+
overflow : -2,
|
|
294
|
+
charsLeftOver : 0,
|
|
295
|
+
nullInput : false,
|
|
296
|
+
invalidMonth : null,
|
|
297
|
+
invalidFormat : false,
|
|
298
|
+
userInvalidated : false,
|
|
299
|
+
iso: false
|
|
300
|
+
};
|
|
301
|
+
}
|
|
302
|
+
|
|
303
|
+
function deprecate(msg, fn) {
|
|
304
|
+
var firstTime = true;
|
|
305
|
+
function printMsg() {
|
|
306
|
+
if (moment.suppressDeprecationWarnings === false &&
|
|
307
|
+
typeof console !== 'undefined' && console.warn) {
|
|
308
|
+
console.warn("Deprecation warning: " + msg);
|
|
309
|
+
}
|
|
310
|
+
}
|
|
311
|
+
return extend(function () {
|
|
312
|
+
if (firstTime) {
|
|
313
|
+
printMsg();
|
|
314
|
+
firstTime = false;
|
|
315
|
+
}
|
|
316
|
+
return fn.apply(this, arguments);
|
|
317
|
+
}, fn);
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
function padToken(func, count) {
|
|
321
|
+
return function (a) {
|
|
322
|
+
return leftZeroFill(func.call(this, a), count);
|
|
323
|
+
};
|
|
324
|
+
}
|
|
325
|
+
function ordinalizeToken(func, period) {
|
|
326
|
+
return function (a) {
|
|
327
|
+
return this.lang().ordinal(func.call(this, a), period);
|
|
328
|
+
};
|
|
329
|
+
}
|
|
330
|
+
|
|
331
|
+
while (ordinalizeTokens.length) {
|
|
332
|
+
i = ordinalizeTokens.pop();
|
|
333
|
+
formatTokenFunctions[i + 'o'] = ordinalizeToken(formatTokenFunctions[i], i);
|
|
334
|
+
}
|
|
335
|
+
while (paddedTokens.length) {
|
|
336
|
+
i = paddedTokens.pop();
|
|
337
|
+
formatTokenFunctions[i + i] = padToken(formatTokenFunctions[i], 2);
|
|
338
|
+
}
|
|
339
|
+
formatTokenFunctions.DDDD = padToken(formatTokenFunctions.DDD, 3);
|
|
340
|
+
|
|
341
|
+
|
|
342
|
+
/************************************
|
|
343
|
+
Constructors
|
|
344
|
+
************************************/
|
|
345
|
+
|
|
346
|
+
function Language() {
|
|
347
|
+
|
|
348
|
+
}
|
|
349
|
+
|
|
350
|
+
// Moment prototype object
|
|
351
|
+
function Moment(config) {
|
|
352
|
+
checkOverflow(config);
|
|
353
|
+
extend(this, config);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
// Duration Constructor
|
|
357
|
+
function Duration(duration) {
|
|
358
|
+
var normalizedInput = normalizeObjectUnits(duration),
|
|
359
|
+
years = normalizedInput.year || 0,
|
|
360
|
+
quarters = normalizedInput.quarter || 0,
|
|
361
|
+
months = normalizedInput.month || 0,
|
|
362
|
+
weeks = normalizedInput.week || 0,
|
|
363
|
+
days = normalizedInput.day || 0,
|
|
364
|
+
hours = normalizedInput.hour || 0,
|
|
365
|
+
minutes = normalizedInput.minute || 0,
|
|
366
|
+
seconds = normalizedInput.second || 0,
|
|
367
|
+
milliseconds = normalizedInput.millisecond || 0;
|
|
368
|
+
|
|
369
|
+
// representation for dateAddRemove
|
|
370
|
+
this._milliseconds = +milliseconds +
|
|
371
|
+
seconds * 1e3 + // 1000
|
|
372
|
+
minutes * 6e4 + // 1000 * 60
|
|
373
|
+
hours * 36e5; // 1000 * 60 * 60
|
|
374
|
+
// Because of dateAddRemove treats 24 hours as different from a
|
|
375
|
+
// day when working around DST, we need to store them separately
|
|
376
|
+
this._days = +days +
|
|
377
|
+
weeks * 7;
|
|
378
|
+
// It is impossible translate months into days without knowing
|
|
379
|
+
// which months you are are talking about, so we have to store
|
|
380
|
+
// it separately.
|
|
381
|
+
this._months = +months +
|
|
382
|
+
quarters * 3 +
|
|
383
|
+
years * 12;
|
|
384
|
+
|
|
385
|
+
this._data = {};
|
|
386
|
+
|
|
387
|
+
this._bubble();
|
|
388
|
+
}
|
|
389
|
+
|
|
390
|
+
/************************************
|
|
391
|
+
Helpers
|
|
392
|
+
************************************/
|
|
393
|
+
|
|
394
|
+
|
|
395
|
+
function extend(a, b) {
|
|
396
|
+
for (var i in b) {
|
|
397
|
+
if (b.hasOwnProperty(i)) {
|
|
398
|
+
a[i] = b[i];
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
|
|
402
|
+
if (b.hasOwnProperty("toString")) {
|
|
403
|
+
a.toString = b.toString;
|
|
404
|
+
}
|
|
405
|
+
|
|
406
|
+
if (b.hasOwnProperty("valueOf")) {
|
|
407
|
+
a.valueOf = b.valueOf;
|
|
408
|
+
}
|
|
409
|
+
|
|
410
|
+
return a;
|
|
411
|
+
}
|
|
412
|
+
|
|
413
|
+
function cloneMoment(m) {
|
|
414
|
+
var result = {}, i;
|
|
415
|
+
for (i in m) {
|
|
416
|
+
if (m.hasOwnProperty(i) && momentProperties.hasOwnProperty(i)) {
|
|
417
|
+
result[i] = m[i];
|
|
418
|
+
}
|
|
419
|
+
}
|
|
420
|
+
|
|
421
|
+
return result;
|
|
422
|
+
}
|
|
423
|
+
|
|
424
|
+
function absRound(number) {
|
|
425
|
+
if (number < 0) {
|
|
426
|
+
return Math.ceil(number);
|
|
427
|
+
} else {
|
|
428
|
+
return Math.floor(number);
|
|
429
|
+
}
|
|
430
|
+
}
|
|
431
|
+
|
|
432
|
+
// left zero fill a number
|
|
433
|
+
// see http://jsperf.com/left-zero-filling for performance comparison
|
|
434
|
+
function leftZeroFill(number, targetLength, forceSign) {
|
|
435
|
+
var output = '' + Math.abs(number),
|
|
436
|
+
sign = number >= 0;
|
|
437
|
+
|
|
438
|
+
while (output.length < targetLength) {
|
|
439
|
+
output = '0' + output;
|
|
440
|
+
}
|
|
441
|
+
return (sign ? (forceSign ? '+' : '') : '-') + output;
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
// helper function for _.addTime and _.subtractTime
|
|
445
|
+
function addOrSubtractDurationFromMoment(mom, duration, isAdding, updateOffset) {
|
|
446
|
+
var milliseconds = duration._milliseconds,
|
|
447
|
+
days = duration._days,
|
|
448
|
+
months = duration._months;
|
|
449
|
+
updateOffset = updateOffset == null ? true : updateOffset;
|
|
450
|
+
|
|
451
|
+
if (milliseconds) {
|
|
452
|
+
mom._d.setTime(+mom._d + milliseconds * isAdding);
|
|
453
|
+
}
|
|
454
|
+
if (days) {
|
|
455
|
+
rawSetter(mom, 'Date', rawGetter(mom, 'Date') + days * isAdding);
|
|
456
|
+
}
|
|
457
|
+
if (months) {
|
|
458
|
+
rawMonthSetter(mom, rawGetter(mom, 'Month') + months * isAdding);
|
|
459
|
+
}
|
|
460
|
+
if (updateOffset) {
|
|
461
|
+
moment.updateOffset(mom, days || months);
|
|
462
|
+
}
|
|
463
|
+
}
|
|
464
|
+
|
|
465
|
+
// check if is an array
|
|
466
|
+
function isArray(input) {
|
|
467
|
+
return Object.prototype.toString.call(input) === '[object Array]';
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
function isDate(input) {
|
|
471
|
+
return Object.prototype.toString.call(input) === '[object Date]' ||
|
|
472
|
+
input instanceof Date;
|
|
473
|
+
}
|
|
474
|
+
|
|
475
|
+
// compare two arrays, return the number of differences
|
|
476
|
+
function compareArrays(array1, array2, dontConvert) {
|
|
477
|
+
var len = Math.min(array1.length, array2.length),
|
|
478
|
+
lengthDiff = Math.abs(array1.length - array2.length),
|
|
479
|
+
diffs = 0,
|
|
480
|
+
i;
|
|
481
|
+
for (i = 0; i < len; i++) {
|
|
482
|
+
if ((dontConvert && array1[i] !== array2[i]) ||
|
|
483
|
+
(!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {
|
|
484
|
+
diffs++;
|
|
485
|
+
}
|
|
486
|
+
}
|
|
487
|
+
return diffs + lengthDiff;
|
|
488
|
+
}
|
|
489
|
+
|
|
490
|
+
function normalizeUnits(units) {
|
|
491
|
+
if (units) {
|
|
492
|
+
var lowered = units.toLowerCase().replace(/(.)s$/, '$1');
|
|
493
|
+
units = unitAliases[units] || camelFunctions[lowered] || lowered;
|
|
494
|
+
}
|
|
495
|
+
return units;
|
|
496
|
+
}
|
|
497
|
+
|
|
498
|
+
function normalizeObjectUnits(inputObject) {
|
|
499
|
+
var normalizedInput = {},
|
|
500
|
+
normalizedProp,
|
|
501
|
+
prop;
|
|
502
|
+
|
|
503
|
+
for (prop in inputObject) {
|
|
504
|
+
if (inputObject.hasOwnProperty(prop)) {
|
|
505
|
+
normalizedProp = normalizeUnits(prop);
|
|
506
|
+
if (normalizedProp) {
|
|
507
|
+
normalizedInput[normalizedProp] = inputObject[prop];
|
|
508
|
+
}
|
|
509
|
+
}
|
|
510
|
+
}
|
|
511
|
+
|
|
512
|
+
return normalizedInput;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
function makeList(field) {
|
|
516
|
+
var count, setter;
|
|
517
|
+
|
|
518
|
+
if (field.indexOf('week') === 0) {
|
|
519
|
+
count = 7;
|
|
520
|
+
setter = 'day';
|
|
521
|
+
}
|
|
522
|
+
else if (field.indexOf('month') === 0) {
|
|
523
|
+
count = 12;
|
|
524
|
+
setter = 'month';
|
|
525
|
+
}
|
|
526
|
+
else {
|
|
527
|
+
return;
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
moment[field] = function (format, index) {
|
|
531
|
+
var i, getter,
|
|
532
|
+
method = moment.fn._lang[field],
|
|
533
|
+
results = [];
|
|
534
|
+
|
|
535
|
+
if (typeof format === 'number') {
|
|
536
|
+
index = format;
|
|
537
|
+
format = undefined;
|
|
538
|
+
}
|
|
539
|
+
|
|
540
|
+
getter = function (i) {
|
|
541
|
+
var m = moment().utc().set(setter, i);
|
|
542
|
+
return method.call(moment.fn._lang, m, format || '');
|
|
543
|
+
};
|
|
544
|
+
|
|
545
|
+
if (index != null) {
|
|
546
|
+
return getter(index);
|
|
547
|
+
}
|
|
548
|
+
else {
|
|
549
|
+
for (i = 0; i < count; i++) {
|
|
550
|
+
results.push(getter(i));
|
|
551
|
+
}
|
|
552
|
+
return results;
|
|
553
|
+
}
|
|
554
|
+
};
|
|
555
|
+
}
|
|
556
|
+
|
|
557
|
+
function toInt(argumentForCoercion) {
|
|
558
|
+
var coercedNumber = +argumentForCoercion,
|
|
559
|
+
value = 0;
|
|
560
|
+
|
|
561
|
+
if (coercedNumber !== 0 && isFinite(coercedNumber)) {
|
|
562
|
+
if (coercedNumber >= 0) {
|
|
563
|
+
value = Math.floor(coercedNumber);
|
|
564
|
+
} else {
|
|
565
|
+
value = Math.ceil(coercedNumber);
|
|
566
|
+
}
|
|
567
|
+
}
|
|
568
|
+
|
|
569
|
+
return value;
|
|
570
|
+
}
|
|
571
|
+
|
|
572
|
+
function daysInMonth(year, month) {
|
|
573
|
+
return new Date(Date.UTC(year, month + 1, 0)).getUTCDate();
|
|
574
|
+
}
|
|
575
|
+
|
|
576
|
+
function weeksInYear(year, dow, doy) {
|
|
577
|
+
return weekOfYear(moment([year, 11, 31 + dow - doy]), dow, doy).week;
|
|
578
|
+
}
|
|
579
|
+
|
|
580
|
+
function daysInYear(year) {
|
|
581
|
+
return isLeapYear(year) ? 366 : 365;
|
|
582
|
+
}
|
|
583
|
+
|
|
584
|
+
function isLeapYear(year) {
|
|
585
|
+
return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;
|
|
586
|
+
}
|
|
587
|
+
|
|
588
|
+
function checkOverflow(m) {
|
|
589
|
+
var overflow;
|
|
590
|
+
if (m._a && m._pf.overflow === -2) {
|
|
591
|
+
overflow =
|
|
592
|
+
m._a[MONTH] < 0 || m._a[MONTH] > 11 ? MONTH :
|
|
593
|
+
m._a[DATE] < 1 || m._a[DATE] > daysInMonth(m._a[YEAR], m._a[MONTH]) ? DATE :
|
|
594
|
+
m._a[HOUR] < 0 || m._a[HOUR] > 23 ? HOUR :
|
|
595
|
+
m._a[MINUTE] < 0 || m._a[MINUTE] > 59 ? MINUTE :
|
|
596
|
+
m._a[SECOND] < 0 || m._a[SECOND] > 59 ? SECOND :
|
|
597
|
+
m._a[MILLISECOND] < 0 || m._a[MILLISECOND] > 999 ? MILLISECOND :
|
|
598
|
+
-1;
|
|
599
|
+
|
|
600
|
+
if (m._pf._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {
|
|
601
|
+
overflow = DATE;
|
|
602
|
+
}
|
|
603
|
+
|
|
604
|
+
m._pf.overflow = overflow;
|
|
605
|
+
}
|
|
606
|
+
}
|
|
607
|
+
|
|
608
|
+
function isValid(m) {
|
|
609
|
+
if (m._isValid == null) {
|
|
610
|
+
m._isValid = !isNaN(m._d.getTime()) &&
|
|
611
|
+
m._pf.overflow < 0 &&
|
|
612
|
+
!m._pf.empty &&
|
|
613
|
+
!m._pf.invalidMonth &&
|
|
614
|
+
!m._pf.nullInput &&
|
|
615
|
+
!m._pf.invalidFormat &&
|
|
616
|
+
!m._pf.userInvalidated;
|
|
617
|
+
|
|
618
|
+
if (m._strict) {
|
|
619
|
+
m._isValid = m._isValid &&
|
|
620
|
+
m._pf.charsLeftOver === 0 &&
|
|
621
|
+
m._pf.unusedTokens.length === 0;
|
|
622
|
+
}
|
|
623
|
+
}
|
|
624
|
+
return m._isValid;
|
|
625
|
+
}
|
|
626
|
+
|
|
627
|
+
function normalizeLanguage(key) {
|
|
628
|
+
return key ? key.toLowerCase().replace('_', '-') : key;
|
|
629
|
+
}
|
|
630
|
+
|
|
631
|
+
// Return a moment from input, that is local/utc/zone equivalent to model.
|
|
632
|
+
function makeAs(input, model) {
|
|
633
|
+
return model._isUTC ? moment(input).zone(model._offset || 0) :
|
|
634
|
+
moment(input).local();
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
/************************************
|
|
638
|
+
Languages
|
|
639
|
+
************************************/
|
|
640
|
+
|
|
641
|
+
|
|
642
|
+
extend(Language.prototype, {
|
|
643
|
+
|
|
644
|
+
set : function (config) {
|
|
645
|
+
var prop, i;
|
|
646
|
+
for (i in config) {
|
|
647
|
+
prop = config[i];
|
|
648
|
+
if (typeof prop === 'function') {
|
|
649
|
+
this[i] = prop;
|
|
650
|
+
} else {
|
|
651
|
+
this['_' + i] = prop;
|
|
652
|
+
}
|
|
653
|
+
}
|
|
654
|
+
},
|
|
655
|
+
|
|
656
|
+
_months : "January_February_March_April_May_June_July_August_September_October_November_December".split("_"),
|
|
657
|
+
months : function (m) {
|
|
658
|
+
return this._months[m.month()];
|
|
659
|
+
},
|
|
660
|
+
|
|
661
|
+
_monthsShort : "Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec".split("_"),
|
|
662
|
+
monthsShort : function (m) {
|
|
663
|
+
return this._monthsShort[m.month()];
|
|
664
|
+
},
|
|
665
|
+
|
|
666
|
+
monthsParse : function (monthName) {
|
|
667
|
+
var i, mom, regex;
|
|
668
|
+
|
|
669
|
+
if (!this._monthsParse) {
|
|
670
|
+
this._monthsParse = [];
|
|
671
|
+
}
|
|
672
|
+
|
|
673
|
+
for (i = 0; i < 12; i++) {
|
|
674
|
+
// make the regex if we don't have it already
|
|
675
|
+
if (!this._monthsParse[i]) {
|
|
676
|
+
mom = moment.utc([2000, i]);
|
|
677
|
+
regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');
|
|
678
|
+
this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');
|
|
679
|
+
}
|
|
680
|
+
// test the regex
|
|
681
|
+
if (this._monthsParse[i].test(monthName)) {
|
|
682
|
+
return i;
|
|
683
|
+
}
|
|
684
|
+
}
|
|
685
|
+
},
|
|
686
|
+
|
|
687
|
+
_weekdays : "Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),
|
|
688
|
+
weekdays : function (m) {
|
|
689
|
+
return this._weekdays[m.day()];
|
|
690
|
+
},
|
|
691
|
+
|
|
692
|
+
_weekdaysShort : "Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),
|
|
693
|
+
weekdaysShort : function (m) {
|
|
694
|
+
return this._weekdaysShort[m.day()];
|
|
695
|
+
},
|
|
696
|
+
|
|
697
|
+
_weekdaysMin : "Su_Mo_Tu_We_Th_Fr_Sa".split("_"),
|
|
698
|
+
weekdaysMin : function (m) {
|
|
699
|
+
return this._weekdaysMin[m.day()];
|
|
700
|
+
},
|
|
701
|
+
|
|
702
|
+
weekdaysParse : function (weekdayName) {
|
|
703
|
+
var i, mom, regex;
|
|
704
|
+
|
|
705
|
+
if (!this._weekdaysParse) {
|
|
706
|
+
this._weekdaysParse = [];
|
|
707
|
+
}
|
|
708
|
+
|
|
709
|
+
for (i = 0; i < 7; i++) {
|
|
710
|
+
// make the regex if we don't have it already
|
|
711
|
+
if (!this._weekdaysParse[i]) {
|
|
712
|
+
mom = moment([2000, 1]).day(i);
|
|
713
|
+
regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');
|
|
714
|
+
this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');
|
|
715
|
+
}
|
|
716
|
+
// test the regex
|
|
717
|
+
if (this._weekdaysParse[i].test(weekdayName)) {
|
|
718
|
+
return i;
|
|
719
|
+
}
|
|
720
|
+
}
|
|
721
|
+
},
|
|
722
|
+
|
|
723
|
+
_longDateFormat : {
|
|
724
|
+
LT : "h:mm A",
|
|
725
|
+
L : "MM/DD/YYYY",
|
|
726
|
+
LL : "MMMM D YYYY",
|
|
727
|
+
LLL : "MMMM D YYYY LT",
|
|
728
|
+
LLLL : "dddd, MMMM D YYYY LT"
|
|
729
|
+
},
|
|
730
|
+
longDateFormat : function (key) {
|
|
731
|
+
var output = this._longDateFormat[key];
|
|
732
|
+
if (!output && this._longDateFormat[key.toUpperCase()]) {
|
|
733
|
+
output = this._longDateFormat[key.toUpperCase()].replace(/MMMM|MM|DD|dddd/g, function (val) {
|
|
734
|
+
return val.slice(1);
|
|
735
|
+
});
|
|
736
|
+
this._longDateFormat[key] = output;
|
|
737
|
+
}
|
|
738
|
+
return output;
|
|
739
|
+
},
|
|
740
|
+
|
|
741
|
+
isPM : function (input) {
|
|
742
|
+
// IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays
|
|
743
|
+
// Using charAt should be more compatible.
|
|
744
|
+
return ((input + '').toLowerCase().charAt(0) === 'p');
|
|
745
|
+
},
|
|
746
|
+
|
|
747
|
+
_meridiemParse : /[ap]\.?m?\.?/i,
|
|
748
|
+
meridiem : function (hours, minutes, isLower) {
|
|
749
|
+
if (hours > 11) {
|
|
750
|
+
return isLower ? 'pm' : 'PM';
|
|
751
|
+
} else {
|
|
752
|
+
return isLower ? 'am' : 'AM';
|
|
753
|
+
}
|
|
754
|
+
},
|
|
755
|
+
|
|
756
|
+
_calendar : {
|
|
757
|
+
sameDay : '[Today at] LT',
|
|
758
|
+
nextDay : '[Tomorrow at] LT',
|
|
759
|
+
nextWeek : 'dddd [at] LT',
|
|
760
|
+
lastDay : '[Yesterday at] LT',
|
|
761
|
+
lastWeek : '[Last] dddd [at] LT',
|
|
762
|
+
sameElse : 'L'
|
|
763
|
+
},
|
|
764
|
+
calendar : function (key, mom) {
|
|
765
|
+
var output = this._calendar[key];
|
|
766
|
+
return typeof output === 'function' ? output.apply(mom) : output;
|
|
767
|
+
},
|
|
768
|
+
|
|
769
|
+
_relativeTime : {
|
|
770
|
+
future : "in %s",
|
|
771
|
+
past : "%s ago",
|
|
772
|
+
s : "a few seconds",
|
|
773
|
+
m : "a minute",
|
|
774
|
+
mm : "%d minutes",
|
|
775
|
+
h : "an hour",
|
|
776
|
+
hh : "%d hours",
|
|
777
|
+
d : "a day",
|
|
778
|
+
dd : "%d days",
|
|
779
|
+
M : "a month",
|
|
780
|
+
MM : "%d months",
|
|
781
|
+
y : "a year",
|
|
782
|
+
yy : "%d years"
|
|
783
|
+
},
|
|
784
|
+
relativeTime : function (number, withoutSuffix, string, isFuture) {
|
|
785
|
+
var output = this._relativeTime[string];
|
|
786
|
+
return (typeof output === 'function') ?
|
|
787
|
+
output(number, withoutSuffix, string, isFuture) :
|
|
788
|
+
output.replace(/%d/i, number);
|
|
789
|
+
},
|
|
790
|
+
pastFuture : function (diff, output) {
|
|
791
|
+
var format = this._relativeTime[diff > 0 ? 'future' : 'past'];
|
|
792
|
+
return typeof format === 'function' ? format(output) : format.replace(/%s/i, output);
|
|
793
|
+
},
|
|
794
|
+
|
|
795
|
+
ordinal : function (number) {
|
|
796
|
+
return this._ordinal.replace("%d", number);
|
|
797
|
+
},
|
|
798
|
+
_ordinal : "%d",
|
|
799
|
+
|
|
800
|
+
preparse : function (string) {
|
|
801
|
+
return string;
|
|
802
|
+
},
|
|
803
|
+
|
|
804
|
+
postformat : function (string) {
|
|
805
|
+
return string;
|
|
806
|
+
},
|
|
807
|
+
|
|
808
|
+
week : function (mom) {
|
|
809
|
+
return weekOfYear(mom, this._week.dow, this._week.doy).week;
|
|
810
|
+
},
|
|
811
|
+
|
|
812
|
+
_week : {
|
|
813
|
+
dow : 0, // Sunday is the first day of the week.
|
|
814
|
+
doy : 6 // The week that contains Jan 1st is the first week of the year.
|
|
815
|
+
},
|
|
816
|
+
|
|
817
|
+
_invalidDate: 'Invalid date',
|
|
818
|
+
invalidDate: function () {
|
|
819
|
+
return this._invalidDate;
|
|
820
|
+
}
|
|
821
|
+
});
|
|
822
|
+
|
|
823
|
+
// Loads a language definition into the `languages` cache. The function
|
|
824
|
+
// takes a key and optionally values. If not in the browser and no values
|
|
825
|
+
// are provided, it will load the language file module. As a convenience,
|
|
826
|
+
// this function also returns the language values.
|
|
827
|
+
function loadLang(key, values) {
|
|
828
|
+
values.abbr = key;
|
|
829
|
+
if (!languages[key]) {
|
|
830
|
+
languages[key] = new Language();
|
|
831
|
+
}
|
|
832
|
+
languages[key].set(values);
|
|
833
|
+
return languages[key];
|
|
834
|
+
}
|
|
835
|
+
|
|
836
|
+
// Remove a language from the `languages` cache. Mostly useful in tests.
|
|
837
|
+
function unloadLang(key) {
|
|
838
|
+
delete languages[key];
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
// Determines which language definition to use and returns it.
|
|
842
|
+
//
|
|
843
|
+
// With no parameters, it will return the global language. If you
|
|
844
|
+
// pass in a language key, such as 'en', it will return the
|
|
845
|
+
// definition for 'en', so long as 'en' has already been loaded using
|
|
846
|
+
// moment.lang.
|
|
847
|
+
function getLangDefinition(key) {
|
|
848
|
+
var i = 0, j, lang, next, split,
|
|
849
|
+
get = function (k) {
|
|
850
|
+
if (!languages[k] && hasModule) {
|
|
851
|
+
try {
|
|
852
|
+
require('./lang/' + k);
|
|
853
|
+
} catch (e) { }
|
|
854
|
+
}
|
|
855
|
+
return languages[k];
|
|
856
|
+
};
|
|
857
|
+
|
|
858
|
+
if (!key) {
|
|
859
|
+
return moment.fn._lang;
|
|
860
|
+
}
|
|
861
|
+
|
|
862
|
+
if (!isArray(key)) {
|
|
863
|
+
//short-circuit everything else
|
|
864
|
+
lang = get(key);
|
|
865
|
+
if (lang) {
|
|
866
|
+
return lang;
|
|
867
|
+
}
|
|
868
|
+
key = [key];
|
|
869
|
+
}
|
|
870
|
+
|
|
871
|
+
//pick the language from the array
|
|
872
|
+
//try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each
|
|
873
|
+
//substring from most specific to least, but move to the next array item if it's a more specific variant than the current root
|
|
874
|
+
while (i < key.length) {
|
|
875
|
+
split = normalizeLanguage(key[i]).split('-');
|
|
876
|
+
j = split.length;
|
|
877
|
+
next = normalizeLanguage(key[i + 1]);
|
|
878
|
+
next = next ? next.split('-') : null;
|
|
879
|
+
while (j > 0) {
|
|
880
|
+
lang = get(split.slice(0, j).join('-'));
|
|
881
|
+
if (lang) {
|
|
882
|
+
return lang;
|
|
883
|
+
}
|
|
884
|
+
if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {
|
|
885
|
+
//the next array item is better than a shallower substring of this one
|
|
886
|
+
break;
|
|
887
|
+
}
|
|
888
|
+
j--;
|
|
889
|
+
}
|
|
890
|
+
i++;
|
|
891
|
+
}
|
|
892
|
+
return moment.fn._lang;
|
|
893
|
+
}
|
|
894
|
+
|
|
895
|
+
/************************************
|
|
896
|
+
Formatting
|
|
897
|
+
************************************/
|
|
898
|
+
|
|
899
|
+
|
|
900
|
+
function removeFormattingTokens(input) {
|
|
901
|
+
if (input.match(/\[[\s\S]/)) {
|
|
902
|
+
return input.replace(/^\[|\]$/g, "");
|
|
903
|
+
}
|
|
904
|
+
return input.replace(/\\/g, "");
|
|
905
|
+
}
|
|
906
|
+
|
|
907
|
+
function makeFormatFunction(format) {
|
|
908
|
+
var array = format.match(formattingTokens), i, length;
|
|
909
|
+
|
|
910
|
+
for (i = 0, length = array.length; i < length; i++) {
|
|
911
|
+
if (formatTokenFunctions[array[i]]) {
|
|
912
|
+
array[i] = formatTokenFunctions[array[i]];
|
|
913
|
+
} else {
|
|
914
|
+
array[i] = removeFormattingTokens(array[i]);
|
|
915
|
+
}
|
|
916
|
+
}
|
|
917
|
+
|
|
918
|
+
return function (mom) {
|
|
919
|
+
var output = "";
|
|
920
|
+
for (i = 0; i < length; i++) {
|
|
921
|
+
output += array[i] instanceof Function ? array[i].call(mom, format) : array[i];
|
|
922
|
+
}
|
|
923
|
+
return output;
|
|
924
|
+
};
|
|
925
|
+
}
|
|
926
|
+
|
|
927
|
+
// format date using native date object
|
|
928
|
+
function formatMoment(m, format) {
|
|
929
|
+
|
|
930
|
+
if (!m.isValid()) {
|
|
931
|
+
return m.lang().invalidDate();
|
|
932
|
+
}
|
|
933
|
+
|
|
934
|
+
format = expandFormat(format, m.lang());
|
|
935
|
+
|
|
936
|
+
if (!formatFunctions[format]) {
|
|
937
|
+
formatFunctions[format] = makeFormatFunction(format);
|
|
938
|
+
}
|
|
939
|
+
|
|
940
|
+
return formatFunctions[format](m);
|
|
941
|
+
}
|
|
942
|
+
|
|
943
|
+
function expandFormat(format, lang) {
|
|
944
|
+
var i = 5;
|
|
945
|
+
|
|
946
|
+
function replaceLongDateFormatTokens(input) {
|
|
947
|
+
return lang.longDateFormat(input) || input;
|
|
948
|
+
}
|
|
949
|
+
|
|
950
|
+
localFormattingTokens.lastIndex = 0;
|
|
951
|
+
while (i >= 0 && localFormattingTokens.test(format)) {
|
|
952
|
+
format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);
|
|
953
|
+
localFormattingTokens.lastIndex = 0;
|
|
954
|
+
i -= 1;
|
|
955
|
+
}
|
|
956
|
+
|
|
957
|
+
return format;
|
|
958
|
+
}
|
|
959
|
+
|
|
960
|
+
|
|
961
|
+
/************************************
|
|
962
|
+
Parsing
|
|
963
|
+
************************************/
|
|
964
|
+
|
|
965
|
+
|
|
966
|
+
// get the regex to find the next token
|
|
967
|
+
function getParseRegexForToken(token, config) {
|
|
968
|
+
var a, strict = config._strict;
|
|
969
|
+
switch (token) {
|
|
970
|
+
case 'Q':
|
|
971
|
+
return parseTokenOneDigit;
|
|
972
|
+
case 'DDDD':
|
|
973
|
+
return parseTokenThreeDigits;
|
|
974
|
+
case 'YYYY':
|
|
975
|
+
case 'GGGG':
|
|
976
|
+
case 'gggg':
|
|
977
|
+
return strict ? parseTokenFourDigits : parseTokenOneToFourDigits;
|
|
978
|
+
case 'Y':
|
|
979
|
+
case 'G':
|
|
980
|
+
case 'g':
|
|
981
|
+
return parseTokenSignedNumber;
|
|
982
|
+
case 'YYYYYY':
|
|
983
|
+
case 'YYYYY':
|
|
984
|
+
case 'GGGGG':
|
|
985
|
+
case 'ggggg':
|
|
986
|
+
return strict ? parseTokenSixDigits : parseTokenOneToSixDigits;
|
|
987
|
+
case 'S':
|
|
988
|
+
if (strict) { return parseTokenOneDigit; }
|
|
989
|
+
/* falls through */
|
|
990
|
+
case 'SS':
|
|
991
|
+
if (strict) { return parseTokenTwoDigits; }
|
|
992
|
+
/* falls through */
|
|
993
|
+
case 'SSS':
|
|
994
|
+
if (strict) { return parseTokenThreeDigits; }
|
|
995
|
+
/* falls through */
|
|
996
|
+
case 'DDD':
|
|
997
|
+
return parseTokenOneToThreeDigits;
|
|
998
|
+
case 'MMM':
|
|
999
|
+
case 'MMMM':
|
|
1000
|
+
case 'dd':
|
|
1001
|
+
case 'ddd':
|
|
1002
|
+
case 'dddd':
|
|
1003
|
+
return parseTokenWord;
|
|
1004
|
+
case 'a':
|
|
1005
|
+
case 'A':
|
|
1006
|
+
return getLangDefinition(config._l)._meridiemParse;
|
|
1007
|
+
case 'X':
|
|
1008
|
+
return parseTokenTimestampMs;
|
|
1009
|
+
case 'Z':
|
|
1010
|
+
case 'ZZ':
|
|
1011
|
+
return parseTokenTimezone;
|
|
1012
|
+
case 'T':
|
|
1013
|
+
return parseTokenT;
|
|
1014
|
+
case 'SSSS':
|
|
1015
|
+
return parseTokenDigits;
|
|
1016
|
+
case 'MM':
|
|
1017
|
+
case 'DD':
|
|
1018
|
+
case 'YY':
|
|
1019
|
+
case 'GG':
|
|
1020
|
+
case 'gg':
|
|
1021
|
+
case 'HH':
|
|
1022
|
+
case 'hh':
|
|
1023
|
+
case 'mm':
|
|
1024
|
+
case 'ss':
|
|
1025
|
+
case 'ww':
|
|
1026
|
+
case 'WW':
|
|
1027
|
+
return strict ? parseTokenTwoDigits : parseTokenOneOrTwoDigits;
|
|
1028
|
+
case 'M':
|
|
1029
|
+
case 'D':
|
|
1030
|
+
case 'd':
|
|
1031
|
+
case 'H':
|
|
1032
|
+
case 'h':
|
|
1033
|
+
case 'm':
|
|
1034
|
+
case 's':
|
|
1035
|
+
case 'w':
|
|
1036
|
+
case 'W':
|
|
1037
|
+
case 'e':
|
|
1038
|
+
case 'E':
|
|
1039
|
+
return parseTokenOneOrTwoDigits;
|
|
1040
|
+
case 'Do':
|
|
1041
|
+
return parseTokenOrdinal;
|
|
1042
|
+
default :
|
|
1043
|
+
a = new RegExp(regexpEscape(unescapeFormat(token.replace('\\', '')), "i"));
|
|
1044
|
+
return a;
|
|
1045
|
+
}
|
|
1046
|
+
}
|
|
1047
|
+
|
|
1048
|
+
function timezoneMinutesFromString(string) {
|
|
1049
|
+
string = string || "";
|
|
1050
|
+
var possibleTzMatches = (string.match(parseTokenTimezone) || []),
|
|
1051
|
+
tzChunk = possibleTzMatches[possibleTzMatches.length - 1] || [],
|
|
1052
|
+
parts = (tzChunk + '').match(parseTimezoneChunker) || ['-', 0, 0],
|
|
1053
|
+
minutes = +(parts[1] * 60) + toInt(parts[2]);
|
|
1054
|
+
|
|
1055
|
+
return parts[0] === '+' ? -minutes : minutes;
|
|
1056
|
+
}
|
|
1057
|
+
|
|
1058
|
+
// function to convert string input to date
|
|
1059
|
+
function addTimeToArrayFromToken(token, input, config) {
|
|
1060
|
+
var a, datePartArray = config._a;
|
|
1061
|
+
|
|
1062
|
+
switch (token) {
|
|
1063
|
+
// QUARTER
|
|
1064
|
+
case 'Q':
|
|
1065
|
+
if (input != null) {
|
|
1066
|
+
datePartArray[MONTH] = (toInt(input) - 1) * 3;
|
|
1067
|
+
}
|
|
1068
|
+
break;
|
|
1069
|
+
// MONTH
|
|
1070
|
+
case 'M' : // fall through to MM
|
|
1071
|
+
case 'MM' :
|
|
1072
|
+
if (input != null) {
|
|
1073
|
+
datePartArray[MONTH] = toInt(input) - 1;
|
|
1074
|
+
}
|
|
1075
|
+
break;
|
|
1076
|
+
case 'MMM' : // fall through to MMMM
|
|
1077
|
+
case 'MMMM' :
|
|
1078
|
+
a = getLangDefinition(config._l).monthsParse(input);
|
|
1079
|
+
// if we didn't find a month name, mark the date as invalid.
|
|
1080
|
+
if (a != null) {
|
|
1081
|
+
datePartArray[MONTH] = a;
|
|
1082
|
+
} else {
|
|
1083
|
+
config._pf.invalidMonth = input;
|
|
1084
|
+
}
|
|
1085
|
+
break;
|
|
1086
|
+
// DAY OF MONTH
|
|
1087
|
+
case 'D' : // fall through to DD
|
|
1088
|
+
case 'DD' :
|
|
1089
|
+
if (input != null) {
|
|
1090
|
+
datePartArray[DATE] = toInt(input);
|
|
1091
|
+
}
|
|
1092
|
+
break;
|
|
1093
|
+
case 'Do' :
|
|
1094
|
+
if (input != null) {
|
|
1095
|
+
datePartArray[DATE] = toInt(parseInt(input, 10));
|
|
1096
|
+
}
|
|
1097
|
+
break;
|
|
1098
|
+
// DAY OF YEAR
|
|
1099
|
+
case 'DDD' : // fall through to DDDD
|
|
1100
|
+
case 'DDDD' :
|
|
1101
|
+
if (input != null) {
|
|
1102
|
+
config._dayOfYear = toInt(input);
|
|
1103
|
+
}
|
|
1104
|
+
|
|
1105
|
+
break;
|
|
1106
|
+
// YEAR
|
|
1107
|
+
case 'YY' :
|
|
1108
|
+
datePartArray[YEAR] = moment.parseTwoDigitYear(input);
|
|
1109
|
+
break;
|
|
1110
|
+
case 'YYYY' :
|
|
1111
|
+
case 'YYYYY' :
|
|
1112
|
+
case 'YYYYYY' :
|
|
1113
|
+
datePartArray[YEAR] = toInt(input);
|
|
1114
|
+
break;
|
|
1115
|
+
// AM / PM
|
|
1116
|
+
case 'a' : // fall through to A
|
|
1117
|
+
case 'A' :
|
|
1118
|
+
config._isPm = getLangDefinition(config._l).isPM(input);
|
|
1119
|
+
break;
|
|
1120
|
+
// 24 HOUR
|
|
1121
|
+
case 'H' : // fall through to hh
|
|
1122
|
+
case 'HH' : // fall through to hh
|
|
1123
|
+
case 'h' : // fall through to hh
|
|
1124
|
+
case 'hh' :
|
|
1125
|
+
datePartArray[HOUR] = toInt(input);
|
|
1126
|
+
break;
|
|
1127
|
+
// MINUTE
|
|
1128
|
+
case 'm' : // fall through to mm
|
|
1129
|
+
case 'mm' :
|
|
1130
|
+
datePartArray[MINUTE] = toInt(input);
|
|
1131
|
+
break;
|
|
1132
|
+
// SECOND
|
|
1133
|
+
case 's' : // fall through to ss
|
|
1134
|
+
case 'ss' :
|
|
1135
|
+
datePartArray[SECOND] = toInt(input);
|
|
1136
|
+
break;
|
|
1137
|
+
// MILLISECOND
|
|
1138
|
+
case 'S' :
|
|
1139
|
+
case 'SS' :
|
|
1140
|
+
case 'SSS' :
|
|
1141
|
+
case 'SSSS' :
|
|
1142
|
+
datePartArray[MILLISECOND] = toInt(('0.' + input) * 1000);
|
|
1143
|
+
break;
|
|
1144
|
+
// UNIX TIMESTAMP WITH MS
|
|
1145
|
+
case 'X':
|
|
1146
|
+
config._d = new Date(parseFloat(input) * 1000);
|
|
1147
|
+
break;
|
|
1148
|
+
// TIMEZONE
|
|
1149
|
+
case 'Z' : // fall through to ZZ
|
|
1150
|
+
case 'ZZ' :
|
|
1151
|
+
config._useUTC = true;
|
|
1152
|
+
config._tzm = timezoneMinutesFromString(input);
|
|
1153
|
+
break;
|
|
1154
|
+
case 'w':
|
|
1155
|
+
case 'ww':
|
|
1156
|
+
case 'W':
|
|
1157
|
+
case 'WW':
|
|
1158
|
+
case 'd':
|
|
1159
|
+
case 'dd':
|
|
1160
|
+
case 'ddd':
|
|
1161
|
+
case 'dddd':
|
|
1162
|
+
case 'e':
|
|
1163
|
+
case 'E':
|
|
1164
|
+
token = token.substr(0, 1);
|
|
1165
|
+
/* falls through */
|
|
1166
|
+
case 'gg':
|
|
1167
|
+
case 'gggg':
|
|
1168
|
+
case 'GG':
|
|
1169
|
+
case 'GGGG':
|
|
1170
|
+
case 'GGGGG':
|
|
1171
|
+
token = token.substr(0, 2);
|
|
1172
|
+
if (input) {
|
|
1173
|
+
config._w = config._w || {};
|
|
1174
|
+
config._w[token] = input;
|
|
1175
|
+
}
|
|
1176
|
+
break;
|
|
1177
|
+
}
|
|
1178
|
+
}
|
|
1179
|
+
|
|
1180
|
+
// convert an array to a date.
|
|
1181
|
+
// the array should mirror the parameters below
|
|
1182
|
+
// note: all values past the year are optional and will default to the lowest possible value.
|
|
1183
|
+
// [year, month, day , hour, minute, second, millisecond]
|
|
1184
|
+
function dateFromConfig(config) {
|
|
1185
|
+
var i, date, input = [], currentDate,
|
|
1186
|
+
yearToUse, fixYear, w, temp, lang, weekday, week;
|
|
1187
|
+
|
|
1188
|
+
if (config._d) {
|
|
1189
|
+
return;
|
|
1190
|
+
}
|
|
1191
|
+
|
|
1192
|
+
currentDate = currentDateArray(config);
|
|
1193
|
+
|
|
1194
|
+
//compute day of the year from weeks and weekdays
|
|
1195
|
+
if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {
|
|
1196
|
+
fixYear = function (val) {
|
|
1197
|
+
var intVal = parseInt(val, 10);
|
|
1198
|
+
return val ?
|
|
1199
|
+
(val.length < 3 ? (intVal > 68 ? 1900 + intVal : 2000 + intVal) : intVal) :
|
|
1200
|
+
(config._a[YEAR] == null ? moment().weekYear() : config._a[YEAR]);
|
|
1201
|
+
};
|
|
1202
|
+
|
|
1203
|
+
w = config._w;
|
|
1204
|
+
if (w.GG != null || w.W != null || w.E != null) {
|
|
1205
|
+
temp = dayOfYearFromWeeks(fixYear(w.GG), w.W || 1, w.E, 4, 1);
|
|
1206
|
+
}
|
|
1207
|
+
else {
|
|
1208
|
+
lang = getLangDefinition(config._l);
|
|
1209
|
+
weekday = w.d != null ? parseWeekday(w.d, lang) :
|
|
1210
|
+
(w.e != null ? parseInt(w.e, 10) + lang._week.dow : 0);
|
|
1211
|
+
|
|
1212
|
+
week = parseInt(w.w, 10) || 1;
|
|
1213
|
+
|
|
1214
|
+
//if we're parsing 'd', then the low day numbers may be next week
|
|
1215
|
+
if (w.d != null && weekday < lang._week.dow) {
|
|
1216
|
+
week++;
|
|
1217
|
+
}
|
|
1218
|
+
|
|
1219
|
+
temp = dayOfYearFromWeeks(fixYear(w.gg), week, weekday, lang._week.doy, lang._week.dow);
|
|
1220
|
+
}
|
|
1221
|
+
|
|
1222
|
+
config._a[YEAR] = temp.year;
|
|
1223
|
+
config._dayOfYear = temp.dayOfYear;
|
|
1224
|
+
}
|
|
1225
|
+
|
|
1226
|
+
//if the day of the year is set, figure out what it is
|
|
1227
|
+
if (config._dayOfYear) {
|
|
1228
|
+
yearToUse = config._a[YEAR] == null ? currentDate[YEAR] : config._a[YEAR];
|
|
1229
|
+
|
|
1230
|
+
if (config._dayOfYear > daysInYear(yearToUse)) {
|
|
1231
|
+
config._pf._overflowDayOfYear = true;
|
|
1232
|
+
}
|
|
1233
|
+
|
|
1234
|
+
date = makeUTCDate(yearToUse, 0, config._dayOfYear);
|
|
1235
|
+
config._a[MONTH] = date.getUTCMonth();
|
|
1236
|
+
config._a[DATE] = date.getUTCDate();
|
|
1237
|
+
}
|
|
1238
|
+
|
|
1239
|
+
// Default to current date.
|
|
1240
|
+
// * if no year, month, day of month are given, default to today
|
|
1241
|
+
// * if day of month is given, default month and year
|
|
1242
|
+
// * if month is given, default only year
|
|
1243
|
+
// * if year is given, don't default anything
|
|
1244
|
+
for (i = 0; i < 3 && config._a[i] == null; ++i) {
|
|
1245
|
+
config._a[i] = input[i] = currentDate[i];
|
|
1246
|
+
}
|
|
1247
|
+
|
|
1248
|
+
// Zero out whatever was not defaulted, including time
|
|
1249
|
+
for (; i < 7; i++) {
|
|
1250
|
+
config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];
|
|
1251
|
+
}
|
|
1252
|
+
|
|
1253
|
+
// add the offsets to the time to be parsed so that we can have a clean array for checking isValid
|
|
1254
|
+
input[HOUR] += toInt((config._tzm || 0) / 60);
|
|
1255
|
+
input[MINUTE] += toInt((config._tzm || 0) % 60);
|
|
1256
|
+
|
|
1257
|
+
config._d = (config._useUTC ? makeUTCDate : makeDate).apply(null, input);
|
|
1258
|
+
}
|
|
1259
|
+
|
|
1260
|
+
function dateFromObject(config) {
|
|
1261
|
+
var normalizedInput;
|
|
1262
|
+
|
|
1263
|
+
if (config._d) {
|
|
1264
|
+
return;
|
|
1265
|
+
}
|
|
1266
|
+
|
|
1267
|
+
normalizedInput = normalizeObjectUnits(config._i);
|
|
1268
|
+
config._a = [
|
|
1269
|
+
normalizedInput.year,
|
|
1270
|
+
normalizedInput.month,
|
|
1271
|
+
normalizedInput.day,
|
|
1272
|
+
normalizedInput.hour,
|
|
1273
|
+
normalizedInput.minute,
|
|
1274
|
+
normalizedInput.second,
|
|
1275
|
+
normalizedInput.millisecond
|
|
1276
|
+
];
|
|
1277
|
+
|
|
1278
|
+
dateFromConfig(config);
|
|
1279
|
+
}
|
|
1280
|
+
|
|
1281
|
+
function currentDateArray(config) {
|
|
1282
|
+
var now = new Date();
|
|
1283
|
+
if (config._useUTC) {
|
|
1284
|
+
return [
|
|
1285
|
+
now.getUTCFullYear(),
|
|
1286
|
+
now.getUTCMonth(),
|
|
1287
|
+
now.getUTCDate()
|
|
1288
|
+
];
|
|
1289
|
+
} else {
|
|
1290
|
+
return [now.getFullYear(), now.getMonth(), now.getDate()];
|
|
1291
|
+
}
|
|
1292
|
+
}
|
|
1293
|
+
|
|
1294
|
+
// date from string and format string
|
|
1295
|
+
function makeDateFromStringAndFormat(config) {
|
|
1296
|
+
|
|
1297
|
+
config._a = [];
|
|
1298
|
+
config._pf.empty = true;
|
|
1299
|
+
|
|
1300
|
+
// This array is used to make a Date, either with `new Date` or `Date.UTC`
|
|
1301
|
+
var lang = getLangDefinition(config._l),
|
|
1302
|
+
string = '' + config._i,
|
|
1303
|
+
i, parsedInput, tokens, token, skipped,
|
|
1304
|
+
stringLength = string.length,
|
|
1305
|
+
totalParsedInputLength = 0;
|
|
1306
|
+
|
|
1307
|
+
tokens = expandFormat(config._f, lang).match(formattingTokens) || [];
|
|
1308
|
+
|
|
1309
|
+
for (i = 0; i < tokens.length; i++) {
|
|
1310
|
+
token = tokens[i];
|
|
1311
|
+
parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];
|
|
1312
|
+
if (parsedInput) {
|
|
1313
|
+
skipped = string.substr(0, string.indexOf(parsedInput));
|
|
1314
|
+
if (skipped.length > 0) {
|
|
1315
|
+
config._pf.unusedInput.push(skipped);
|
|
1316
|
+
}
|
|
1317
|
+
string = string.slice(string.indexOf(parsedInput) + parsedInput.length);
|
|
1318
|
+
totalParsedInputLength += parsedInput.length;
|
|
1319
|
+
}
|
|
1320
|
+
// don't parse if it's not a known token
|
|
1321
|
+
if (formatTokenFunctions[token]) {
|
|
1322
|
+
if (parsedInput) {
|
|
1323
|
+
config._pf.empty = false;
|
|
1324
|
+
}
|
|
1325
|
+
else {
|
|
1326
|
+
config._pf.unusedTokens.push(token);
|
|
1327
|
+
}
|
|
1328
|
+
addTimeToArrayFromToken(token, parsedInput, config);
|
|
1329
|
+
}
|
|
1330
|
+
else if (config._strict && !parsedInput) {
|
|
1331
|
+
config._pf.unusedTokens.push(token);
|
|
1332
|
+
}
|
|
1333
|
+
}
|
|
1334
|
+
|
|
1335
|
+
// add remaining unparsed input length to the string
|
|
1336
|
+
config._pf.charsLeftOver = stringLength - totalParsedInputLength;
|
|
1337
|
+
if (string.length > 0) {
|
|
1338
|
+
config._pf.unusedInput.push(string);
|
|
1339
|
+
}
|
|
1340
|
+
|
|
1341
|
+
// handle am pm
|
|
1342
|
+
if (config._isPm && config._a[HOUR] < 12) {
|
|
1343
|
+
config._a[HOUR] += 12;
|
|
1344
|
+
}
|
|
1345
|
+
// if is 12 am, change hours to 0
|
|
1346
|
+
if (config._isPm === false && config._a[HOUR] === 12) {
|
|
1347
|
+
config._a[HOUR] = 0;
|
|
1348
|
+
}
|
|
1349
|
+
|
|
1350
|
+
dateFromConfig(config);
|
|
1351
|
+
checkOverflow(config);
|
|
1352
|
+
}
|
|
1353
|
+
|
|
1354
|
+
function unescapeFormat(s) {
|
|
1355
|
+
return s.replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g, function (matched, p1, p2, p3, p4) {
|
|
1356
|
+
return p1 || p2 || p3 || p4;
|
|
1357
|
+
});
|
|
1358
|
+
}
|
|
1359
|
+
|
|
1360
|
+
// Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript
|
|
1361
|
+
function regexpEscape(s) {
|
|
1362
|
+
return s.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
|
1363
|
+
}
|
|
1364
|
+
|
|
1365
|
+
// date from string and array of format strings
|
|
1366
|
+
function makeDateFromStringAndArray(config) {
|
|
1367
|
+
var tempConfig,
|
|
1368
|
+
bestMoment,
|
|
1369
|
+
|
|
1370
|
+
scoreToBeat,
|
|
1371
|
+
i,
|
|
1372
|
+
currentScore;
|
|
1373
|
+
|
|
1374
|
+
if (config._f.length === 0) {
|
|
1375
|
+
config._pf.invalidFormat = true;
|
|
1376
|
+
config._d = new Date(NaN);
|
|
1377
|
+
return;
|
|
1378
|
+
}
|
|
1379
|
+
|
|
1380
|
+
for (i = 0; i < config._f.length; i++) {
|
|
1381
|
+
currentScore = 0;
|
|
1382
|
+
tempConfig = extend({}, config);
|
|
1383
|
+
tempConfig._pf = defaultParsingFlags();
|
|
1384
|
+
tempConfig._f = config._f[i];
|
|
1385
|
+
makeDateFromStringAndFormat(tempConfig);
|
|
1386
|
+
|
|
1387
|
+
if (!isValid(tempConfig)) {
|
|
1388
|
+
continue;
|
|
1389
|
+
}
|
|
1390
|
+
|
|
1391
|
+
// if there is any input that was not parsed add a penalty for that format
|
|
1392
|
+
currentScore += tempConfig._pf.charsLeftOver;
|
|
1393
|
+
|
|
1394
|
+
//or tokens
|
|
1395
|
+
currentScore += tempConfig._pf.unusedTokens.length * 10;
|
|
1396
|
+
|
|
1397
|
+
tempConfig._pf.score = currentScore;
|
|
1398
|
+
|
|
1399
|
+
if (scoreToBeat == null || currentScore < scoreToBeat) {
|
|
1400
|
+
scoreToBeat = currentScore;
|
|
1401
|
+
bestMoment = tempConfig;
|
|
1402
|
+
}
|
|
1403
|
+
}
|
|
1404
|
+
|
|
1405
|
+
extend(config, bestMoment || tempConfig);
|
|
1406
|
+
}
|
|
1407
|
+
|
|
1408
|
+
// date from iso format
|
|
1409
|
+
function makeDateFromString(config) {
|
|
1410
|
+
var i, l,
|
|
1411
|
+
string = config._i,
|
|
1412
|
+
match = isoRegex.exec(string);
|
|
1413
|
+
|
|
1414
|
+
if (match) {
|
|
1415
|
+
config._pf.iso = true;
|
|
1416
|
+
for (i = 0, l = isoDates.length; i < l; i++) {
|
|
1417
|
+
if (isoDates[i][1].exec(string)) {
|
|
1418
|
+
// match[5] should be "T" or undefined
|
|
1419
|
+
config._f = isoDates[i][0] + (match[6] || " ");
|
|
1420
|
+
break;
|
|
1421
|
+
}
|
|
1422
|
+
}
|
|
1423
|
+
for (i = 0, l = isoTimes.length; i < l; i++) {
|
|
1424
|
+
if (isoTimes[i][1].exec(string)) {
|
|
1425
|
+
config._f += isoTimes[i][0];
|
|
1426
|
+
break;
|
|
1427
|
+
}
|
|
1428
|
+
}
|
|
1429
|
+
if (string.match(parseTokenTimezone)) {
|
|
1430
|
+
config._f += "Z";
|
|
1431
|
+
}
|
|
1432
|
+
makeDateFromStringAndFormat(config);
|
|
1433
|
+
}
|
|
1434
|
+
else {
|
|
1435
|
+
moment.createFromInputFallback(config);
|
|
1436
|
+
}
|
|
1437
|
+
}
|
|
1438
|
+
|
|
1439
|
+
function makeDateFromInput(config) {
|
|
1440
|
+
var input = config._i,
|
|
1441
|
+
matched = aspNetJsonRegex.exec(input);
|
|
1442
|
+
|
|
1443
|
+
if (input === undefined) {
|
|
1444
|
+
config._d = new Date();
|
|
1445
|
+
} else if (matched) {
|
|
1446
|
+
config._d = new Date(+matched[1]);
|
|
1447
|
+
} else if (typeof input === 'string') {
|
|
1448
|
+
makeDateFromString(config);
|
|
1449
|
+
} else if (isArray(input)) {
|
|
1450
|
+
config._a = input.slice(0);
|
|
1451
|
+
dateFromConfig(config);
|
|
1452
|
+
} else if (isDate(input)) {
|
|
1453
|
+
config._d = new Date(+input);
|
|
1454
|
+
} else if (typeof(input) === 'object') {
|
|
1455
|
+
dateFromObject(config);
|
|
1456
|
+
} else if (typeof(input) === 'number') {
|
|
1457
|
+
// from milliseconds
|
|
1458
|
+
config._d = new Date(input);
|
|
1459
|
+
} else {
|
|
1460
|
+
moment.createFromInputFallback(config);
|
|
1461
|
+
}
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1464
|
+
function makeDate(y, m, d, h, M, s, ms) {
|
|
1465
|
+
//can't just apply() to create a date:
|
|
1466
|
+
//http://stackoverflow.com/questions/181348/instantiating-a-javascript-object-by-calling-prototype-constructor-apply
|
|
1467
|
+
var date = new Date(y, m, d, h, M, s, ms);
|
|
1468
|
+
|
|
1469
|
+
//the date constructor doesn't accept years < 1970
|
|
1470
|
+
if (y < 1970) {
|
|
1471
|
+
date.setFullYear(y);
|
|
1472
|
+
}
|
|
1473
|
+
return date;
|
|
1474
|
+
}
|
|
1475
|
+
|
|
1476
|
+
function makeUTCDate(y) {
|
|
1477
|
+
var date = new Date(Date.UTC.apply(null, arguments));
|
|
1478
|
+
if (y < 1970) {
|
|
1479
|
+
date.setUTCFullYear(y);
|
|
1480
|
+
}
|
|
1481
|
+
return date;
|
|
1482
|
+
}
|
|
1483
|
+
|
|
1484
|
+
function parseWeekday(input, language) {
|
|
1485
|
+
if (typeof input === 'string') {
|
|
1486
|
+
if (!isNaN(input)) {
|
|
1487
|
+
input = parseInt(input, 10);
|
|
1488
|
+
}
|
|
1489
|
+
else {
|
|
1490
|
+
input = language.weekdaysParse(input);
|
|
1491
|
+
if (typeof input !== 'number') {
|
|
1492
|
+
return null;
|
|
1493
|
+
}
|
|
1494
|
+
}
|
|
1495
|
+
}
|
|
1496
|
+
return input;
|
|
1497
|
+
}
|
|
1498
|
+
|
|
1499
|
+
/************************************
|
|
1500
|
+
Relative Time
|
|
1501
|
+
************************************/
|
|
1502
|
+
|
|
1503
|
+
|
|
1504
|
+
// helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize
|
|
1505
|
+
function substituteTimeAgo(string, number, withoutSuffix, isFuture, lang) {
|
|
1506
|
+
return lang.relativeTime(number || 1, !!withoutSuffix, string, isFuture);
|
|
1507
|
+
}
|
|
1508
|
+
|
|
1509
|
+
function relativeTime(milliseconds, withoutSuffix, lang) {
|
|
1510
|
+
var seconds = round(Math.abs(milliseconds) / 1000),
|
|
1511
|
+
minutes = round(seconds / 60),
|
|
1512
|
+
hours = round(minutes / 60),
|
|
1513
|
+
days = round(hours / 24),
|
|
1514
|
+
years = round(days / 365),
|
|
1515
|
+
args = seconds < 45 && ['s', seconds] ||
|
|
1516
|
+
minutes === 1 && ['m'] ||
|
|
1517
|
+
minutes < 45 && ['mm', minutes] ||
|
|
1518
|
+
hours === 1 && ['h'] ||
|
|
1519
|
+
hours < 22 && ['hh', hours] ||
|
|
1520
|
+
days === 1 && ['d'] ||
|
|
1521
|
+
days <= 25 && ['dd', days] ||
|
|
1522
|
+
days <= 45 && ['M'] ||
|
|
1523
|
+
days < 345 && ['MM', round(days / 30)] ||
|
|
1524
|
+
years === 1 && ['y'] || ['yy', years];
|
|
1525
|
+
args[2] = withoutSuffix;
|
|
1526
|
+
args[3] = milliseconds > 0;
|
|
1527
|
+
args[4] = lang;
|
|
1528
|
+
return substituteTimeAgo.apply({}, args);
|
|
1529
|
+
}
|
|
1530
|
+
|
|
1531
|
+
|
|
1532
|
+
/************************************
|
|
1533
|
+
Week of Year
|
|
1534
|
+
************************************/
|
|
1535
|
+
|
|
1536
|
+
|
|
1537
|
+
// firstDayOfWeek 0 = sun, 6 = sat
|
|
1538
|
+
// the day of the week that starts the week
|
|
1539
|
+
// (usually sunday or monday)
|
|
1540
|
+
// firstDayOfWeekOfYear 0 = sun, 6 = sat
|
|
1541
|
+
// the first week is the week that contains the first
|
|
1542
|
+
// of this day of the week
|
|
1543
|
+
// (eg. ISO weeks use thursday (4))
|
|
1544
|
+
function weekOfYear(mom, firstDayOfWeek, firstDayOfWeekOfYear) {
|
|
1545
|
+
var end = firstDayOfWeekOfYear - firstDayOfWeek,
|
|
1546
|
+
daysToDayOfWeek = firstDayOfWeekOfYear - mom.day(),
|
|
1547
|
+
adjustedMoment;
|
|
1548
|
+
|
|
1549
|
+
|
|
1550
|
+
if (daysToDayOfWeek > end) {
|
|
1551
|
+
daysToDayOfWeek -= 7;
|
|
1552
|
+
}
|
|
1553
|
+
|
|
1554
|
+
if (daysToDayOfWeek < end - 7) {
|
|
1555
|
+
daysToDayOfWeek += 7;
|
|
1556
|
+
}
|
|
1557
|
+
|
|
1558
|
+
adjustedMoment = moment(mom).add('d', daysToDayOfWeek);
|
|
1559
|
+
return {
|
|
1560
|
+
week: Math.ceil(adjustedMoment.dayOfYear() / 7),
|
|
1561
|
+
year: adjustedMoment.year()
|
|
1562
|
+
};
|
|
1563
|
+
}
|
|
1564
|
+
|
|
1565
|
+
//http://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday
|
|
1566
|
+
function dayOfYearFromWeeks(year, week, weekday, firstDayOfWeekOfYear, firstDayOfWeek) {
|
|
1567
|
+
var d = makeUTCDate(year, 0, 1).getUTCDay(), daysToAdd, dayOfYear;
|
|
1568
|
+
|
|
1569
|
+
weekday = weekday != null ? weekday : firstDayOfWeek;
|
|
1570
|
+
daysToAdd = firstDayOfWeek - d + (d > firstDayOfWeekOfYear ? 7 : 0) - (d < firstDayOfWeek ? 7 : 0);
|
|
1571
|
+
dayOfYear = 7 * (week - 1) + (weekday - firstDayOfWeek) + daysToAdd + 1;
|
|
1572
|
+
|
|
1573
|
+
return {
|
|
1574
|
+
year: dayOfYear > 0 ? year : year - 1,
|
|
1575
|
+
dayOfYear: dayOfYear > 0 ? dayOfYear : daysInYear(year - 1) + dayOfYear
|
|
1576
|
+
};
|
|
1577
|
+
}
|
|
1578
|
+
|
|
1579
|
+
/************************************
|
|
1580
|
+
Top Level Functions
|
|
1581
|
+
************************************/
|
|
1582
|
+
|
|
1583
|
+
function makeMoment(config) {
|
|
1584
|
+
var input = config._i,
|
|
1585
|
+
format = config._f;
|
|
1586
|
+
|
|
1587
|
+
if (input === null || (format === undefined && input === '')) {
|
|
1588
|
+
return moment.invalid({nullInput: true});
|
|
1589
|
+
}
|
|
1590
|
+
|
|
1591
|
+
if (typeof input === 'string') {
|
|
1592
|
+
config._i = input = getLangDefinition().preparse(input);
|
|
1593
|
+
}
|
|
1594
|
+
|
|
1595
|
+
if (moment.isMoment(input)) {
|
|
1596
|
+
config = cloneMoment(input);
|
|
1597
|
+
|
|
1598
|
+
config._d = new Date(+input._d);
|
|
1599
|
+
} else if (format) {
|
|
1600
|
+
if (isArray(format)) {
|
|
1601
|
+
makeDateFromStringAndArray(config);
|
|
1602
|
+
} else {
|
|
1603
|
+
makeDateFromStringAndFormat(config);
|
|
1604
|
+
}
|
|
1605
|
+
} else {
|
|
1606
|
+
makeDateFromInput(config);
|
|
1607
|
+
}
|
|
1608
|
+
|
|
1609
|
+
return new Moment(config);
|
|
1610
|
+
}
|
|
1611
|
+
|
|
1612
|
+
moment = function (input, format, lang, strict) {
|
|
1613
|
+
var c;
|
|
1614
|
+
|
|
1615
|
+
if (typeof(lang) === "boolean") {
|
|
1616
|
+
strict = lang;
|
|
1617
|
+
lang = undefined;
|
|
1618
|
+
}
|
|
1619
|
+
// object construction must be done this way.
|
|
1620
|
+
// https://github.com/moment/moment/issues/1423
|
|
1621
|
+
c = {};
|
|
1622
|
+
c._isAMomentObject = true;
|
|
1623
|
+
c._i = input;
|
|
1624
|
+
c._f = format;
|
|
1625
|
+
c._l = lang;
|
|
1626
|
+
c._strict = strict;
|
|
1627
|
+
c._isUTC = false;
|
|
1628
|
+
c._pf = defaultParsingFlags();
|
|
1629
|
+
|
|
1630
|
+
return makeMoment(c);
|
|
1631
|
+
};
|
|
1632
|
+
|
|
1633
|
+
moment.suppressDeprecationWarnings = false;
|
|
1634
|
+
|
|
1635
|
+
moment.createFromInputFallback = deprecate(
|
|
1636
|
+
"moment construction falls back to js Date. This is " +
|
|
1637
|
+
"discouraged and will be removed in upcoming major " +
|
|
1638
|
+
"release. Please refer to " +
|
|
1639
|
+
"https://github.com/moment/moment/issues/1407 for more info.",
|
|
1640
|
+
function (config) {
|
|
1641
|
+
config._d = new Date(config._i);
|
|
1642
|
+
});
|
|
1643
|
+
|
|
1644
|
+
// creating with utc
|
|
1645
|
+
moment.utc = function (input, format, lang, strict) {
|
|
1646
|
+
var c;
|
|
1647
|
+
|
|
1648
|
+
if (typeof(lang) === "boolean") {
|
|
1649
|
+
strict = lang;
|
|
1650
|
+
lang = undefined;
|
|
1651
|
+
}
|
|
1652
|
+
// object construction must be done this way.
|
|
1653
|
+
// https://github.com/moment/moment/issues/1423
|
|
1654
|
+
c = {};
|
|
1655
|
+
c._isAMomentObject = true;
|
|
1656
|
+
c._useUTC = true;
|
|
1657
|
+
c._isUTC = true;
|
|
1658
|
+
c._l = lang;
|
|
1659
|
+
c._i = input;
|
|
1660
|
+
c._f = format;
|
|
1661
|
+
c._strict = strict;
|
|
1662
|
+
c._pf = defaultParsingFlags();
|
|
1663
|
+
|
|
1664
|
+
return makeMoment(c).utc();
|
|
1665
|
+
};
|
|
1666
|
+
|
|
1667
|
+
// creating with unix timestamp (in seconds)
|
|
1668
|
+
moment.unix = function (input) {
|
|
1669
|
+
return moment(input * 1000);
|
|
1670
|
+
};
|
|
1671
|
+
|
|
1672
|
+
// duration
|
|
1673
|
+
moment.duration = function (input, key) {
|
|
1674
|
+
var duration = input,
|
|
1675
|
+
// matching against regexp is expensive, do it on demand
|
|
1676
|
+
match = null,
|
|
1677
|
+
sign,
|
|
1678
|
+
ret,
|
|
1679
|
+
parseIso;
|
|
1680
|
+
|
|
1681
|
+
if (moment.isDuration(input)) {
|
|
1682
|
+
duration = {
|
|
1683
|
+
ms: input._milliseconds,
|
|
1684
|
+
d: input._days,
|
|
1685
|
+
M: input._months
|
|
1686
|
+
};
|
|
1687
|
+
} else if (typeof input === 'number') {
|
|
1688
|
+
duration = {};
|
|
1689
|
+
if (key) {
|
|
1690
|
+
duration[key] = input;
|
|
1691
|
+
} else {
|
|
1692
|
+
duration.milliseconds = input;
|
|
1693
|
+
}
|
|
1694
|
+
} else if (!!(match = aspNetTimeSpanJsonRegex.exec(input))) {
|
|
1695
|
+
sign = (match[1] === "-") ? -1 : 1;
|
|
1696
|
+
duration = {
|
|
1697
|
+
y: 0,
|
|
1698
|
+
d: toInt(match[DATE]) * sign,
|
|
1699
|
+
h: toInt(match[HOUR]) * sign,
|
|
1700
|
+
m: toInt(match[MINUTE]) * sign,
|
|
1701
|
+
s: toInt(match[SECOND]) * sign,
|
|
1702
|
+
ms: toInt(match[MILLISECOND]) * sign
|
|
1703
|
+
};
|
|
1704
|
+
} else if (!!(match = isoDurationRegex.exec(input))) {
|
|
1705
|
+
sign = (match[1] === "-") ? -1 : 1;
|
|
1706
|
+
parseIso = function (inp) {
|
|
1707
|
+
// We'd normally use ~~inp for this, but unfortunately it also
|
|
1708
|
+
// converts floats to ints.
|
|
1709
|
+
// inp may be undefined, so careful calling replace on it.
|
|
1710
|
+
var res = inp && parseFloat(inp.replace(',', '.'));
|
|
1711
|
+
// apply sign while we're at it
|
|
1712
|
+
return (isNaN(res) ? 0 : res) * sign;
|
|
1713
|
+
};
|
|
1714
|
+
duration = {
|
|
1715
|
+
y: parseIso(match[2]),
|
|
1716
|
+
M: parseIso(match[3]),
|
|
1717
|
+
d: parseIso(match[4]),
|
|
1718
|
+
h: parseIso(match[5]),
|
|
1719
|
+
m: parseIso(match[6]),
|
|
1720
|
+
s: parseIso(match[7]),
|
|
1721
|
+
w: parseIso(match[8])
|
|
1722
|
+
};
|
|
1723
|
+
}
|
|
1724
|
+
|
|
1725
|
+
ret = new Duration(duration);
|
|
1726
|
+
|
|
1727
|
+
if (moment.isDuration(input) && input.hasOwnProperty('_lang')) {
|
|
1728
|
+
ret._lang = input._lang;
|
|
1729
|
+
}
|
|
1730
|
+
|
|
1731
|
+
return ret;
|
|
1732
|
+
};
|
|
1733
|
+
|
|
1734
|
+
// version number
|
|
1735
|
+
moment.version = VERSION;
|
|
1736
|
+
|
|
1737
|
+
// default format
|
|
1738
|
+
moment.defaultFormat = isoFormat;
|
|
1739
|
+
|
|
1740
|
+
// Plugins that add properties should also add the key here (null value),
|
|
1741
|
+
// so we can properly clone ourselves.
|
|
1742
|
+
moment.momentProperties = momentProperties;
|
|
1743
|
+
|
|
1744
|
+
// This function will be called whenever a moment is mutated.
|
|
1745
|
+
// It is intended to keep the offset in sync with the timezone.
|
|
1746
|
+
moment.updateOffset = function () {};
|
|
1747
|
+
|
|
1748
|
+
// This function will load languages and then set the global language. If
|
|
1749
|
+
// no arguments are passed in, it will simply return the current global
|
|
1750
|
+
// language key.
|
|
1751
|
+
moment.lang = function (key, values) {
|
|
1752
|
+
var r;
|
|
1753
|
+
if (!key) {
|
|
1754
|
+
return moment.fn._lang._abbr;
|
|
1755
|
+
}
|
|
1756
|
+
if (values) {
|
|
1757
|
+
loadLang(normalizeLanguage(key), values);
|
|
1758
|
+
} else if (values === null) {
|
|
1759
|
+
unloadLang(key);
|
|
1760
|
+
key = 'en';
|
|
1761
|
+
} else if (!languages[key]) {
|
|
1762
|
+
getLangDefinition(key);
|
|
1763
|
+
}
|
|
1764
|
+
r = moment.duration.fn._lang = moment.fn._lang = getLangDefinition(key);
|
|
1765
|
+
return r._abbr;
|
|
1766
|
+
};
|
|
1767
|
+
|
|
1768
|
+
// returns language data
|
|
1769
|
+
moment.langData = function (key) {
|
|
1770
|
+
if (key && key._lang && key._lang._abbr) {
|
|
1771
|
+
key = key._lang._abbr;
|
|
1772
|
+
}
|
|
1773
|
+
return getLangDefinition(key);
|
|
1774
|
+
};
|
|
1775
|
+
|
|
1776
|
+
// compare moment object
|
|
1777
|
+
moment.isMoment = function (obj) {
|
|
1778
|
+
return obj instanceof Moment ||
|
|
1779
|
+
(obj != null && obj.hasOwnProperty('_isAMomentObject'));
|
|
1780
|
+
};
|
|
1781
|
+
|
|
1782
|
+
// for typechecking Duration objects
|
|
1783
|
+
moment.isDuration = function (obj) {
|
|
1784
|
+
return obj instanceof Duration;
|
|
1785
|
+
};
|
|
1786
|
+
|
|
1787
|
+
for (i = lists.length - 1; i >= 0; --i) {
|
|
1788
|
+
makeList(lists[i]);
|
|
1789
|
+
}
|
|
1790
|
+
|
|
1791
|
+
moment.normalizeUnits = function (units) {
|
|
1792
|
+
return normalizeUnits(units);
|
|
1793
|
+
};
|
|
1794
|
+
|
|
1795
|
+
moment.invalid = function (flags) {
|
|
1796
|
+
var m = moment.utc(NaN);
|
|
1797
|
+
if (flags != null) {
|
|
1798
|
+
extend(m._pf, flags);
|
|
1799
|
+
}
|
|
1800
|
+
else {
|
|
1801
|
+
m._pf.userInvalidated = true;
|
|
1802
|
+
}
|
|
1803
|
+
|
|
1804
|
+
return m;
|
|
1805
|
+
};
|
|
1806
|
+
|
|
1807
|
+
moment.parseZone = function () {
|
|
1808
|
+
return moment.apply(null, arguments).parseZone();
|
|
1809
|
+
};
|
|
1810
|
+
|
|
1811
|
+
moment.parseTwoDigitYear = function (input) {
|
|
1812
|
+
return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);
|
|
1813
|
+
};
|
|
1814
|
+
|
|
1815
|
+
/************************************
|
|
1816
|
+
Moment Prototype
|
|
1817
|
+
************************************/
|
|
1818
|
+
|
|
1819
|
+
|
|
1820
|
+
extend(moment.fn = Moment.prototype, {
|
|
1821
|
+
|
|
1822
|
+
clone : function () {
|
|
1823
|
+
return moment(this);
|
|
1824
|
+
},
|
|
1825
|
+
|
|
1826
|
+
valueOf : function () {
|
|
1827
|
+
return +this._d + ((this._offset || 0) * 60000);
|
|
1828
|
+
},
|
|
1829
|
+
|
|
1830
|
+
unix : function () {
|
|
1831
|
+
return Math.floor(+this / 1000);
|
|
1832
|
+
},
|
|
1833
|
+
|
|
1834
|
+
toString : function () {
|
|
1835
|
+
return this.clone().lang('en').format("ddd MMM DD YYYY HH:mm:ss [GMT]ZZ");
|
|
1836
|
+
},
|
|
1837
|
+
|
|
1838
|
+
toDate : function () {
|
|
1839
|
+
return this._offset ? new Date(+this) : this._d;
|
|
1840
|
+
},
|
|
1841
|
+
|
|
1842
|
+
toISOString : function () {
|
|
1843
|
+
var m = moment(this).utc();
|
|
1844
|
+
if (0 < m.year() && m.year() <= 9999) {
|
|
1845
|
+
return formatMoment(m, 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
|
|
1846
|
+
} else {
|
|
1847
|
+
return formatMoment(m, 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]');
|
|
1848
|
+
}
|
|
1849
|
+
},
|
|
1850
|
+
|
|
1851
|
+
toArray : function () {
|
|
1852
|
+
var m = this;
|
|
1853
|
+
return [
|
|
1854
|
+
m.year(),
|
|
1855
|
+
m.month(),
|
|
1856
|
+
m.date(),
|
|
1857
|
+
m.hours(),
|
|
1858
|
+
m.minutes(),
|
|
1859
|
+
m.seconds(),
|
|
1860
|
+
m.milliseconds()
|
|
1861
|
+
];
|
|
1862
|
+
},
|
|
1863
|
+
|
|
1864
|
+
isValid : function () {
|
|
1865
|
+
return isValid(this);
|
|
1866
|
+
},
|
|
1867
|
+
|
|
1868
|
+
isDSTShifted : function () {
|
|
1869
|
+
|
|
1870
|
+
if (this._a) {
|
|
1871
|
+
return this.isValid() && compareArrays(this._a, (this._isUTC ? moment.utc(this._a) : moment(this._a)).toArray()) > 0;
|
|
1872
|
+
}
|
|
1873
|
+
|
|
1874
|
+
return false;
|
|
1875
|
+
},
|
|
1876
|
+
|
|
1877
|
+
parsingFlags : function () {
|
|
1878
|
+
return extend({}, this._pf);
|
|
1879
|
+
},
|
|
1880
|
+
|
|
1881
|
+
invalidAt: function () {
|
|
1882
|
+
return this._pf.overflow;
|
|
1883
|
+
},
|
|
1884
|
+
|
|
1885
|
+
utc : function () {
|
|
1886
|
+
return this.zone(0);
|
|
1887
|
+
},
|
|
1888
|
+
|
|
1889
|
+
local : function () {
|
|
1890
|
+
this.zone(0);
|
|
1891
|
+
this._isUTC = false;
|
|
1892
|
+
return this;
|
|
1893
|
+
},
|
|
1894
|
+
|
|
1895
|
+
format : function (inputString) {
|
|
1896
|
+
var output = formatMoment(this, inputString || moment.defaultFormat);
|
|
1897
|
+
return this.lang().postformat(output);
|
|
1898
|
+
},
|
|
1899
|
+
|
|
1900
|
+
add : function (input, val) {
|
|
1901
|
+
var dur;
|
|
1902
|
+
// switch args to support add('s', 1) and add(1, 's')
|
|
1903
|
+
if (typeof input === 'string') {
|
|
1904
|
+
dur = moment.duration(+val, input);
|
|
1905
|
+
} else {
|
|
1906
|
+
dur = moment.duration(input, val);
|
|
1907
|
+
}
|
|
1908
|
+
addOrSubtractDurationFromMoment(this, dur, 1);
|
|
1909
|
+
return this;
|
|
1910
|
+
},
|
|
1911
|
+
|
|
1912
|
+
subtract : function (input, val) {
|
|
1913
|
+
var dur;
|
|
1914
|
+
// switch args to support subtract('s', 1) and subtract(1, 's')
|
|
1915
|
+
if (typeof input === 'string') {
|
|
1916
|
+
dur = moment.duration(+val, input);
|
|
1917
|
+
} else {
|
|
1918
|
+
dur = moment.duration(input, val);
|
|
1919
|
+
}
|
|
1920
|
+
addOrSubtractDurationFromMoment(this, dur, -1);
|
|
1921
|
+
return this;
|
|
1922
|
+
},
|
|
1923
|
+
|
|
1924
|
+
diff : function (input, units, asFloat) {
|
|
1925
|
+
var that = makeAs(input, this),
|
|
1926
|
+
zoneDiff = (this.zone() - that.zone()) * 6e4,
|
|
1927
|
+
diff, output;
|
|
1928
|
+
|
|
1929
|
+
units = normalizeUnits(units);
|
|
1930
|
+
|
|
1931
|
+
if (units === 'year' || units === 'month') {
|
|
1932
|
+
// average number of days in the months in the given dates
|
|
1933
|
+
diff = (this.daysInMonth() + that.daysInMonth()) * 432e5; // 24 * 60 * 60 * 1000 / 2
|
|
1934
|
+
// difference in months
|
|
1935
|
+
output = ((this.year() - that.year()) * 12) + (this.month() - that.month());
|
|
1936
|
+
// adjust by taking difference in days, average number of days
|
|
1937
|
+
// and dst in the given months.
|
|
1938
|
+
output += ((this - moment(this).startOf('month')) -
|
|
1939
|
+
(that - moment(that).startOf('month'))) / diff;
|
|
1940
|
+
// same as above but with zones, to negate all dst
|
|
1941
|
+
output -= ((this.zone() - moment(this).startOf('month').zone()) -
|
|
1942
|
+
(that.zone() - moment(that).startOf('month').zone())) * 6e4 / diff;
|
|
1943
|
+
if (units === 'year') {
|
|
1944
|
+
output = output / 12;
|
|
1945
|
+
}
|
|
1946
|
+
} else {
|
|
1947
|
+
diff = (this - that);
|
|
1948
|
+
output = units === 'second' ? diff / 1e3 : // 1000
|
|
1949
|
+
units === 'minute' ? diff / 6e4 : // 1000 * 60
|
|
1950
|
+
units === 'hour' ? diff / 36e5 : // 1000 * 60 * 60
|
|
1951
|
+
units === 'day' ? (diff - zoneDiff) / 864e5 : // 1000 * 60 * 60 * 24, negate dst
|
|
1952
|
+
units === 'week' ? (diff - zoneDiff) / 6048e5 : // 1000 * 60 * 60 * 24 * 7, negate dst
|
|
1953
|
+
diff;
|
|
1954
|
+
}
|
|
1955
|
+
return asFloat ? output : absRound(output);
|
|
1956
|
+
},
|
|
1957
|
+
|
|
1958
|
+
from : function (time, withoutSuffix) {
|
|
1959
|
+
return moment.duration(this.diff(time)).lang(this.lang()._abbr).humanize(!withoutSuffix);
|
|
1960
|
+
},
|
|
1961
|
+
|
|
1962
|
+
fromNow : function (withoutSuffix) {
|
|
1963
|
+
return this.from(moment(), withoutSuffix);
|
|
1964
|
+
},
|
|
1965
|
+
|
|
1966
|
+
calendar : function () {
|
|
1967
|
+
// We want to compare the start of today, vs this.
|
|
1968
|
+
// Getting start-of-today depends on whether we're zone'd or not.
|
|
1969
|
+
var sod = makeAs(moment(), this).startOf('day'),
|
|
1970
|
+
diff = this.diff(sod, 'days', true),
|
|
1971
|
+
format = diff < -6 ? 'sameElse' :
|
|
1972
|
+
diff < -1 ? 'lastWeek' :
|
|
1973
|
+
diff < 0 ? 'lastDay' :
|
|
1974
|
+
diff < 1 ? 'sameDay' :
|
|
1975
|
+
diff < 2 ? 'nextDay' :
|
|
1976
|
+
diff < 7 ? 'nextWeek' : 'sameElse';
|
|
1977
|
+
return this.format(this.lang().calendar(format, this));
|
|
1978
|
+
},
|
|
1979
|
+
|
|
1980
|
+
isLeapYear : function () {
|
|
1981
|
+
return isLeapYear(this.year());
|
|
1982
|
+
},
|
|
1983
|
+
|
|
1984
|
+
isDST : function () {
|
|
1985
|
+
return (this.zone() < this.clone().month(0).zone() ||
|
|
1986
|
+
this.zone() < this.clone().month(5).zone());
|
|
1987
|
+
},
|
|
1988
|
+
|
|
1989
|
+
day : function (input) {
|
|
1990
|
+
var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();
|
|
1991
|
+
if (input != null) {
|
|
1992
|
+
input = parseWeekday(input, this.lang());
|
|
1993
|
+
return this.add({ d : input - day });
|
|
1994
|
+
} else {
|
|
1995
|
+
return day;
|
|
1996
|
+
}
|
|
1997
|
+
},
|
|
1998
|
+
|
|
1999
|
+
month : makeAccessor('Month', true),
|
|
2000
|
+
|
|
2001
|
+
startOf: function (units) {
|
|
2002
|
+
units = normalizeUnits(units);
|
|
2003
|
+
// the following switch intentionally omits break keywords
|
|
2004
|
+
// to utilize falling through the cases.
|
|
2005
|
+
switch (units) {
|
|
2006
|
+
case 'year':
|
|
2007
|
+
this.month(0);
|
|
2008
|
+
/* falls through */
|
|
2009
|
+
case 'quarter':
|
|
2010
|
+
case 'month':
|
|
2011
|
+
this.date(1);
|
|
2012
|
+
/* falls through */
|
|
2013
|
+
case 'week':
|
|
2014
|
+
case 'isoWeek':
|
|
2015
|
+
case 'day':
|
|
2016
|
+
this.hours(0);
|
|
2017
|
+
/* falls through */
|
|
2018
|
+
case 'hour':
|
|
2019
|
+
this.minutes(0);
|
|
2020
|
+
/* falls through */
|
|
2021
|
+
case 'minute':
|
|
2022
|
+
this.seconds(0);
|
|
2023
|
+
/* falls through */
|
|
2024
|
+
case 'second':
|
|
2025
|
+
this.milliseconds(0);
|
|
2026
|
+
/* falls through */
|
|
2027
|
+
}
|
|
2028
|
+
|
|
2029
|
+
// weeks are a special case
|
|
2030
|
+
if (units === 'week') {
|
|
2031
|
+
this.weekday(0);
|
|
2032
|
+
} else if (units === 'isoWeek') {
|
|
2033
|
+
this.isoWeekday(1);
|
|
2034
|
+
}
|
|
2035
|
+
|
|
2036
|
+
// quarters are also special
|
|
2037
|
+
if (units === 'quarter') {
|
|
2038
|
+
this.month(Math.floor(this.month() / 3) * 3);
|
|
2039
|
+
}
|
|
2040
|
+
|
|
2041
|
+
return this;
|
|
2042
|
+
},
|
|
2043
|
+
|
|
2044
|
+
endOf: function (units) {
|
|
2045
|
+
units = normalizeUnits(units);
|
|
2046
|
+
return this.startOf(units).add((units === 'isoWeek' ? 'week' : units), 1).subtract('ms', 1);
|
|
2047
|
+
},
|
|
2048
|
+
|
|
2049
|
+
isAfter: function (input, units) {
|
|
2050
|
+
units = typeof units !== 'undefined' ? units : 'millisecond';
|
|
2051
|
+
return +this.clone().startOf(units) > +moment(input).startOf(units);
|
|
2052
|
+
},
|
|
2053
|
+
|
|
2054
|
+
isBefore: function (input, units) {
|
|
2055
|
+
units = typeof units !== 'undefined' ? units : 'millisecond';
|
|
2056
|
+
return +this.clone().startOf(units) < +moment(input).startOf(units);
|
|
2057
|
+
},
|
|
2058
|
+
|
|
2059
|
+
isSame: function (input, units) {
|
|
2060
|
+
units = units || 'ms';
|
|
2061
|
+
return +this.clone().startOf(units) === +makeAs(input, this).startOf(units);
|
|
2062
|
+
},
|
|
2063
|
+
|
|
2064
|
+
min: function (other) {
|
|
2065
|
+
other = moment.apply(null, arguments);
|
|
2066
|
+
return other < this ? this : other;
|
|
2067
|
+
},
|
|
2068
|
+
|
|
2069
|
+
max: function (other) {
|
|
2070
|
+
other = moment.apply(null, arguments);
|
|
2071
|
+
return other > this ? this : other;
|
|
2072
|
+
},
|
|
2073
|
+
|
|
2074
|
+
// keepTime = true means only change the timezone, without affecting
|
|
2075
|
+
// the local hour. So 5:31:26 +0300 --[zone(2, true)]--> 5:31:26 +0200
|
|
2076
|
+
// It is possible that 5:31:26 doesn't exist int zone +0200, so we
|
|
2077
|
+
// adjust the time as needed, to be valid.
|
|
2078
|
+
//
|
|
2079
|
+
// Keeping the time actually adds/subtracts (one hour)
|
|
2080
|
+
// from the actual represented time. That is why we call updateOffset
|
|
2081
|
+
// a second time. In case it wants us to change the offset again
|
|
2082
|
+
// _changeInProgress == true case, then we have to adjust, because
|
|
2083
|
+
// there is no such time in the given timezone.
|
|
2084
|
+
zone : function (input, keepTime) {
|
|
2085
|
+
var offset = this._offset || 0;
|
|
2086
|
+
if (input != null) {
|
|
2087
|
+
if (typeof input === "string") {
|
|
2088
|
+
input = timezoneMinutesFromString(input);
|
|
2089
|
+
}
|
|
2090
|
+
if (Math.abs(input) < 16) {
|
|
2091
|
+
input = input * 60;
|
|
2092
|
+
}
|
|
2093
|
+
this._offset = input;
|
|
2094
|
+
this._isUTC = true;
|
|
2095
|
+
if (offset !== input) {
|
|
2096
|
+
if (!keepTime || this._changeInProgress) {
|
|
2097
|
+
addOrSubtractDurationFromMoment(this,
|
|
2098
|
+
moment.duration(offset - input, 'm'), 1, false);
|
|
2099
|
+
} else if (!this._changeInProgress) {
|
|
2100
|
+
this._changeInProgress = true;
|
|
2101
|
+
moment.updateOffset(this, true);
|
|
2102
|
+
this._changeInProgress = null;
|
|
2103
|
+
}
|
|
2104
|
+
}
|
|
2105
|
+
} else {
|
|
2106
|
+
return this._isUTC ? offset : this._d.getTimezoneOffset();
|
|
2107
|
+
}
|
|
2108
|
+
return this;
|
|
2109
|
+
},
|
|
2110
|
+
|
|
2111
|
+
zoneAbbr : function () {
|
|
2112
|
+
return this._isUTC ? "UTC" : "";
|
|
2113
|
+
},
|
|
2114
|
+
|
|
2115
|
+
zoneName : function () {
|
|
2116
|
+
return this._isUTC ? "Coordinated Universal Time" : "";
|
|
2117
|
+
},
|
|
2118
|
+
|
|
2119
|
+
parseZone : function () {
|
|
2120
|
+
if (this._tzm) {
|
|
2121
|
+
this.zone(this._tzm);
|
|
2122
|
+
} else if (typeof this._i === 'string') {
|
|
2123
|
+
this.zone(this._i);
|
|
2124
|
+
}
|
|
2125
|
+
return this;
|
|
2126
|
+
},
|
|
2127
|
+
|
|
2128
|
+
hasAlignedHourOffset : function (input) {
|
|
2129
|
+
if (!input) {
|
|
2130
|
+
input = 0;
|
|
2131
|
+
}
|
|
2132
|
+
else {
|
|
2133
|
+
input = moment(input).zone();
|
|
2134
|
+
}
|
|
2135
|
+
|
|
2136
|
+
return (this.zone() - input) % 60 === 0;
|
|
2137
|
+
},
|
|
2138
|
+
|
|
2139
|
+
daysInMonth : function () {
|
|
2140
|
+
return daysInMonth(this.year(), this.month());
|
|
2141
|
+
},
|
|
2142
|
+
|
|
2143
|
+
dayOfYear : function (input) {
|
|
2144
|
+
var dayOfYear = round((moment(this).startOf('day') - moment(this).startOf('year')) / 864e5) + 1;
|
|
2145
|
+
return input == null ? dayOfYear : this.add("d", (input - dayOfYear));
|
|
2146
|
+
},
|
|
2147
|
+
|
|
2148
|
+
quarter : function (input) {
|
|
2149
|
+
return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);
|
|
2150
|
+
},
|
|
2151
|
+
|
|
2152
|
+
weekYear : function (input) {
|
|
2153
|
+
var year = weekOfYear(this, this.lang()._week.dow, this.lang()._week.doy).year;
|
|
2154
|
+
return input == null ? year : this.add("y", (input - year));
|
|
2155
|
+
},
|
|
2156
|
+
|
|
2157
|
+
isoWeekYear : function (input) {
|
|
2158
|
+
var year = weekOfYear(this, 1, 4).year;
|
|
2159
|
+
return input == null ? year : this.add("y", (input - year));
|
|
2160
|
+
},
|
|
2161
|
+
|
|
2162
|
+
week : function (input) {
|
|
2163
|
+
var week = this.lang().week(this);
|
|
2164
|
+
return input == null ? week : this.add("d", (input - week) * 7);
|
|
2165
|
+
},
|
|
2166
|
+
|
|
2167
|
+
isoWeek : function (input) {
|
|
2168
|
+
var week = weekOfYear(this, 1, 4).week;
|
|
2169
|
+
return input == null ? week : this.add("d", (input - week) * 7);
|
|
2170
|
+
},
|
|
2171
|
+
|
|
2172
|
+
weekday : function (input) {
|
|
2173
|
+
var weekday = (this.day() + 7 - this.lang()._week.dow) % 7;
|
|
2174
|
+
return input == null ? weekday : this.add("d", input - weekday);
|
|
2175
|
+
},
|
|
2176
|
+
|
|
2177
|
+
isoWeekday : function (input) {
|
|
2178
|
+
// behaves the same as moment#day except
|
|
2179
|
+
// as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)
|
|
2180
|
+
// as a setter, sunday should belong to the previous week.
|
|
2181
|
+
return input == null ? this.day() || 7 : this.day(this.day() % 7 ? input : input - 7);
|
|
2182
|
+
},
|
|
2183
|
+
|
|
2184
|
+
isoWeeksInYear : function () {
|
|
2185
|
+
return weeksInYear(this.year(), 1, 4);
|
|
2186
|
+
},
|
|
2187
|
+
|
|
2188
|
+
weeksInYear : function () {
|
|
2189
|
+
var weekInfo = this._lang._week;
|
|
2190
|
+
return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);
|
|
2191
|
+
},
|
|
2192
|
+
|
|
2193
|
+
get : function (units) {
|
|
2194
|
+
units = normalizeUnits(units);
|
|
2195
|
+
return this[units]();
|
|
2196
|
+
},
|
|
2197
|
+
|
|
2198
|
+
set : function (units, value) {
|
|
2199
|
+
units = normalizeUnits(units);
|
|
2200
|
+
if (typeof this[units] === 'function') {
|
|
2201
|
+
this[units](value);
|
|
2202
|
+
}
|
|
2203
|
+
return this;
|
|
2204
|
+
},
|
|
2205
|
+
|
|
2206
|
+
// If passed a language key, it will set the language for this
|
|
2207
|
+
// instance. Otherwise, it will return the language configuration
|
|
2208
|
+
// variables for this instance.
|
|
2209
|
+
lang : function (key) {
|
|
2210
|
+
if (key === undefined) {
|
|
2211
|
+
return this._lang;
|
|
2212
|
+
} else {
|
|
2213
|
+
this._lang = getLangDefinition(key);
|
|
2214
|
+
return this;
|
|
2215
|
+
}
|
|
2216
|
+
}
|
|
2217
|
+
});
|
|
2218
|
+
|
|
2219
|
+
function rawMonthSetter(mom, value) {
|
|
2220
|
+
var dayOfMonth;
|
|
2221
|
+
|
|
2222
|
+
// TODO: Move this out of here!
|
|
2223
|
+
if (typeof value === 'string') {
|
|
2224
|
+
value = mom.lang().monthsParse(value);
|
|
2225
|
+
// TODO: Another silent failure?
|
|
2226
|
+
if (typeof value !== 'number') {
|
|
2227
|
+
return mom;
|
|
2228
|
+
}
|
|
2229
|
+
}
|
|
2230
|
+
|
|
2231
|
+
dayOfMonth = Math.min(mom.date(),
|
|
2232
|
+
daysInMonth(mom.year(), value));
|
|
2233
|
+
mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);
|
|
2234
|
+
return mom;
|
|
2235
|
+
}
|
|
2236
|
+
|
|
2237
|
+
function rawGetter(mom, unit) {
|
|
2238
|
+
return mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]();
|
|
2239
|
+
}
|
|
2240
|
+
|
|
2241
|
+
function rawSetter(mom, unit, value) {
|
|
2242
|
+
if (unit === 'Month') {
|
|
2243
|
+
return rawMonthSetter(mom, value);
|
|
2244
|
+
} else {
|
|
2245
|
+
return mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);
|
|
2246
|
+
}
|
|
2247
|
+
}
|
|
2248
|
+
|
|
2249
|
+
function makeAccessor(unit, keepTime) {
|
|
2250
|
+
return function (value) {
|
|
2251
|
+
if (value != null) {
|
|
2252
|
+
rawSetter(this, unit, value);
|
|
2253
|
+
moment.updateOffset(this, keepTime);
|
|
2254
|
+
return this;
|
|
2255
|
+
} else {
|
|
2256
|
+
return rawGetter(this, unit);
|
|
2257
|
+
}
|
|
2258
|
+
};
|
|
2259
|
+
}
|
|
2260
|
+
|
|
2261
|
+
moment.fn.millisecond = moment.fn.milliseconds = makeAccessor('Milliseconds', false);
|
|
2262
|
+
moment.fn.second = moment.fn.seconds = makeAccessor('Seconds', false);
|
|
2263
|
+
moment.fn.minute = moment.fn.minutes = makeAccessor('Minutes', false);
|
|
2264
|
+
// Setting the hour should keep the time, because the user explicitly
|
|
2265
|
+
// specified which hour he wants. So trying to maintain the same hour (in
|
|
2266
|
+
// a new timezone) makes sense. Adding/subtracting hours does not follow
|
|
2267
|
+
// this rule.
|
|
2268
|
+
moment.fn.hour = moment.fn.hours = makeAccessor('Hours', true);
|
|
2269
|
+
// moment.fn.month is defined separately
|
|
2270
|
+
moment.fn.date = makeAccessor('Date', true);
|
|
2271
|
+
moment.fn.dates = deprecate("dates accessor is deprecated. Use date instead.", makeAccessor('Date', true));
|
|
2272
|
+
moment.fn.year = makeAccessor('FullYear', true);
|
|
2273
|
+
moment.fn.years = deprecate("years accessor is deprecated. Use year instead.", makeAccessor('FullYear', true));
|
|
2274
|
+
|
|
2275
|
+
// add plural methods
|
|
2276
|
+
moment.fn.days = moment.fn.day;
|
|
2277
|
+
moment.fn.months = moment.fn.month;
|
|
2278
|
+
moment.fn.weeks = moment.fn.week;
|
|
2279
|
+
moment.fn.isoWeeks = moment.fn.isoWeek;
|
|
2280
|
+
moment.fn.quarters = moment.fn.quarter;
|
|
2281
|
+
|
|
2282
|
+
// add aliased format methods
|
|
2283
|
+
moment.fn.toJSON = moment.fn.toISOString;
|
|
2284
|
+
|
|
2285
|
+
/************************************
|
|
2286
|
+
Duration Prototype
|
|
2287
|
+
************************************/
|
|
2288
|
+
|
|
2289
|
+
|
|
2290
|
+
extend(moment.duration.fn = Duration.prototype, {
|
|
2291
|
+
|
|
2292
|
+
_bubble : function () {
|
|
2293
|
+
var milliseconds = this._milliseconds,
|
|
2294
|
+
days = this._days,
|
|
2295
|
+
months = this._months,
|
|
2296
|
+
data = this._data,
|
|
2297
|
+
seconds, minutes, hours, years;
|
|
2298
|
+
|
|
2299
|
+
// The following code bubbles up values, see the tests for
|
|
2300
|
+
// examples of what that means.
|
|
2301
|
+
data.milliseconds = milliseconds % 1000;
|
|
2302
|
+
|
|
2303
|
+
seconds = absRound(milliseconds / 1000);
|
|
2304
|
+
data.seconds = seconds % 60;
|
|
2305
|
+
|
|
2306
|
+
minutes = absRound(seconds / 60);
|
|
2307
|
+
data.minutes = minutes % 60;
|
|
2308
|
+
|
|
2309
|
+
hours = absRound(minutes / 60);
|
|
2310
|
+
data.hours = hours % 24;
|
|
2311
|
+
|
|
2312
|
+
days += absRound(hours / 24);
|
|
2313
|
+
data.days = days % 30;
|
|
2314
|
+
|
|
2315
|
+
months += absRound(days / 30);
|
|
2316
|
+
data.months = months % 12;
|
|
2317
|
+
|
|
2318
|
+
years = absRound(months / 12);
|
|
2319
|
+
data.years = years;
|
|
2320
|
+
},
|
|
2321
|
+
|
|
2322
|
+
weeks : function () {
|
|
2323
|
+
return absRound(this.days() / 7);
|
|
2324
|
+
},
|
|
2325
|
+
|
|
2326
|
+
valueOf : function () {
|
|
2327
|
+
return this._milliseconds +
|
|
2328
|
+
this._days * 864e5 +
|
|
2329
|
+
(this._months % 12) * 2592e6 +
|
|
2330
|
+
toInt(this._months / 12) * 31536e6;
|
|
2331
|
+
},
|
|
2332
|
+
|
|
2333
|
+
humanize : function (withSuffix) {
|
|
2334
|
+
var difference = +this,
|
|
2335
|
+
output = relativeTime(difference, !withSuffix, this.lang());
|
|
2336
|
+
|
|
2337
|
+
if (withSuffix) {
|
|
2338
|
+
output = this.lang().pastFuture(difference, output);
|
|
2339
|
+
}
|
|
2340
|
+
|
|
2341
|
+
return this.lang().postformat(output);
|
|
2342
|
+
},
|
|
2343
|
+
|
|
2344
|
+
add : function (input, val) {
|
|
2345
|
+
// supports only 2.0-style add(1, 's') or add(moment)
|
|
2346
|
+
var dur = moment.duration(input, val);
|
|
2347
|
+
|
|
2348
|
+
this._milliseconds += dur._milliseconds;
|
|
2349
|
+
this._days += dur._days;
|
|
2350
|
+
this._months += dur._months;
|
|
2351
|
+
|
|
2352
|
+
this._bubble();
|
|
2353
|
+
|
|
2354
|
+
return this;
|
|
2355
|
+
},
|
|
2356
|
+
|
|
2357
|
+
subtract : function (input, val) {
|
|
2358
|
+
var dur = moment.duration(input, val);
|
|
2359
|
+
|
|
2360
|
+
this._milliseconds -= dur._milliseconds;
|
|
2361
|
+
this._days -= dur._days;
|
|
2362
|
+
this._months -= dur._months;
|
|
2363
|
+
|
|
2364
|
+
this._bubble();
|
|
2365
|
+
|
|
2366
|
+
return this;
|
|
2367
|
+
},
|
|
2368
|
+
|
|
2369
|
+
get : function (units) {
|
|
2370
|
+
units = normalizeUnits(units);
|
|
2371
|
+
return this[units.toLowerCase() + 's']();
|
|
2372
|
+
},
|
|
2373
|
+
|
|
2374
|
+
as : function (units) {
|
|
2375
|
+
units = normalizeUnits(units);
|
|
2376
|
+
return this['as' + units.charAt(0).toUpperCase() + units.slice(1) + 's']();
|
|
2377
|
+
},
|
|
2378
|
+
|
|
2379
|
+
lang : moment.fn.lang,
|
|
2380
|
+
|
|
2381
|
+
toIsoString : function () {
|
|
2382
|
+
// inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js
|
|
2383
|
+
var years = Math.abs(this.years()),
|
|
2384
|
+
months = Math.abs(this.months()),
|
|
2385
|
+
days = Math.abs(this.days()),
|
|
2386
|
+
hours = Math.abs(this.hours()),
|
|
2387
|
+
minutes = Math.abs(this.minutes()),
|
|
2388
|
+
seconds = Math.abs(this.seconds() + this.milliseconds() / 1000);
|
|
2389
|
+
|
|
2390
|
+
if (!this.asSeconds()) {
|
|
2391
|
+
// this is the same as C#'s (Noda) and python (isodate)...
|
|
2392
|
+
// but not other JS (goog.date)
|
|
2393
|
+
return 'P0D';
|
|
2394
|
+
}
|
|
2395
|
+
|
|
2396
|
+
return (this.asSeconds() < 0 ? '-' : '') +
|
|
2397
|
+
'P' +
|
|
2398
|
+
(years ? years + 'Y' : '') +
|
|
2399
|
+
(months ? months + 'M' : '') +
|
|
2400
|
+
(days ? days + 'D' : '') +
|
|
2401
|
+
((hours || minutes || seconds) ? 'T' : '') +
|
|
2402
|
+
(hours ? hours + 'H' : '') +
|
|
2403
|
+
(minutes ? minutes + 'M' : '') +
|
|
2404
|
+
(seconds ? seconds + 'S' : '');
|
|
2405
|
+
}
|
|
2406
|
+
});
|
|
2407
|
+
|
|
2408
|
+
function makeDurationGetter(name) {
|
|
2409
|
+
moment.duration.fn[name] = function () {
|
|
2410
|
+
return this._data[name];
|
|
2411
|
+
};
|
|
2412
|
+
}
|
|
2413
|
+
|
|
2414
|
+
function makeDurationAsGetter(name, factor) {
|
|
2415
|
+
moment.duration.fn['as' + name] = function () {
|
|
2416
|
+
return +this / factor;
|
|
2417
|
+
};
|
|
2418
|
+
}
|
|
2419
|
+
|
|
2420
|
+
for (i in unitMillisecondFactors) {
|
|
2421
|
+
if (unitMillisecondFactors.hasOwnProperty(i)) {
|
|
2422
|
+
makeDurationAsGetter(i, unitMillisecondFactors[i]);
|
|
2423
|
+
makeDurationGetter(i.toLowerCase());
|
|
2424
|
+
}
|
|
2425
|
+
}
|
|
2426
|
+
|
|
2427
|
+
makeDurationAsGetter('Weeks', 6048e5);
|
|
2428
|
+
moment.duration.fn.asMonths = function () {
|
|
2429
|
+
return (+this - this.years() * 31536e6) / 2592e6 + this.years() * 12;
|
|
2430
|
+
};
|
|
2431
|
+
|
|
2432
|
+
|
|
2433
|
+
/************************************
|
|
2434
|
+
Default Lang
|
|
2435
|
+
************************************/
|
|
2436
|
+
|
|
2437
|
+
|
|
2438
|
+
// Set default language, other languages will inherit from English.
|
|
2439
|
+
moment.lang('en', {
|
|
2440
|
+
ordinal : function (number) {
|
|
2441
|
+
var b = number % 10,
|
|
2442
|
+
output = (toInt(number % 100 / 10) === 1) ? 'th' :
|
|
2443
|
+
(b === 1) ? 'st' :
|
|
2444
|
+
(b === 2) ? 'nd' :
|
|
2445
|
+
(b === 3) ? 'rd' : 'th';
|
|
2446
|
+
return number + output;
|
|
2447
|
+
}
|
|
2448
|
+
});
|
|
2449
|
+
|
|
2450
|
+
/* EMBED_LANGUAGES */
|
|
2451
|
+
|
|
2452
|
+
/************************************
|
|
2453
|
+
Exposing Moment
|
|
2454
|
+
************************************/
|
|
2455
|
+
|
|
2456
|
+
function makeGlobal(shouldDeprecate) {
|
|
2457
|
+
/*global ender:false */
|
|
2458
|
+
if (typeof ender !== 'undefined') {
|
|
2459
|
+
return;
|
|
2460
|
+
}
|
|
2461
|
+
oldGlobalMoment = globalScope.moment;
|
|
2462
|
+
if (shouldDeprecate) {
|
|
2463
|
+
globalScope.moment = deprecate(
|
|
2464
|
+
"Accessing Moment through the global scope is " +
|
|
2465
|
+
"deprecated, and will be removed in an upcoming " +
|
|
2466
|
+
"release.",
|
|
2467
|
+
moment);
|
|
2468
|
+
} else {
|
|
2469
|
+
globalScope.moment = moment;
|
|
2470
|
+
}
|
|
2471
|
+
}
|
|
2472
|
+
|
|
2473
|
+
// CommonJS module is defined
|
|
2474
|
+
if (hasModule) {
|
|
2475
|
+
module.exports = moment;
|
|
2476
|
+
} else if (typeof define === "function" && define.amd) {
|
|
2477
|
+
define("moment", function (require, exports, module) {
|
|
2478
|
+
if (module.config && module.config() && module.config().noGlobal === true) {
|
|
2479
|
+
// release the global variable
|
|
2480
|
+
globalScope.moment = oldGlobalMoment;
|
|
2481
|
+
}
|
|
2482
|
+
|
|
2483
|
+
return moment;
|
|
2484
|
+
});
|
|
2485
|
+
makeGlobal(true);
|
|
2486
|
+
} else {
|
|
2487
|
+
makeGlobal();
|
|
2488
|
+
}
|
|
2489
|
+
}).call(this);
|