Welcome to mirror list, hosted at ThFree Co, Russian Federation.

photos-vendors-node_modules_nextcloud_moment_dist_index_js-node_modules_nextcloud_moment_node_module-ca085a.js.map « js - github.com/nextcloud/photos.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 265531ca6cf75bedd956a9289d6c42ac1b0ea437 (plain)
1
{"version":3,"file":"photos-vendors-node_modules_nextcloud_moment_dist_index_js-node_modules_nextcloud_moment_node_module-ca085a.js?v=a0d3df5b93baa0f1b66f","mappings":"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","sources":["webpack:///photos/node_modules/@nextcloud/moment/dist/index.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/@nextcloud/l10n/dist/index.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/af.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ar-dz.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ar-kw.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ar-ly.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ar-ma.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ar-sa.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ar-tn.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ar.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/az.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/be.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/bg.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/bm.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/bn.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/bo.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/br.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/bs.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ca.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/cs.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/cv.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/cy.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/da.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/de-at.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/de-ch.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/de.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/dv.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/el.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/en-SG.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/en-au.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/en-ca.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/en-gb.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/en-ie.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/en-il.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/en-nz.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/eo.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/es-do.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/es-us.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/es.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/et.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/eu.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/fa.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/fi.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/fo.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/fr-ca.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/fr-ch.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/fr.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/fy.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ga.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/gd.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/gl.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/gom-latn.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/gu.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/he.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/hi.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/hr.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/hu.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/hy-am.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/id.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/is.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/it-ch.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/it.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ja.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/jv.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ka.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/kk.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/km.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/kn.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ko.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ku.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ky.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/lb.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/lo.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/lt.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/lv.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/me.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/mi.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/mk.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ml.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/mn.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/mr.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ms-my.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ms.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/mt.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/my.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/nb.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ne.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/nl-be.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/nl.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/nn.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/pa-in.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/pl.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/pt-br.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/pt.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ro.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ru.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/sd.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/se.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/si.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/sk.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/sl.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/sq.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/sr-cyrl.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/sr.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ss.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/sv.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/sw.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ta.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/te.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/tet.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/tg.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/th.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/tl-ph.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/tlh.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/tr.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/tzl.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/tzm-latn.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/tzm.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ug-cn.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/uk.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/ur.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/uz-latn.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/uz.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/vi.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/x-pseudo.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/yo.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/zh-cn.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/zh-hk.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/locale/zh-tw.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/moment/moment.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/node-gettext/lib/gettext.js","webpack:///photos/node_modules/@nextcloud/moment/node_modules/node-gettext/lib/plurals.js"],"sourcesContent":["!function(a,n){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=n():\"function\"==typeof define&&define.amd?define([],n):\"object\"==typeof exports?exports.NextcloudMoment=n():a.NextcloudMoment=n()}(window,(function(){return function(a){var n={};function e(s){if(n[s])return n[s].exports;var t=n[s]={i:s,l:!1,exports:{}};return a[s].call(t.exports,t,t.exports,e),t.l=!0,t.exports}return e.m=a,e.c=n,e.d=function(a,n,s){e.o(a,n)||Object.defineProperty(a,n,{enumerable:!0,get:s})},e.r=function(a){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(a,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(a,\"__esModule\",{value:!0})},e.t=function(a,n){if(1&n&&(a=e(a)),8&n)return a;if(4&n&&\"object\"==typeof a&&a&&a.__esModule)return a;var s=Object.create(null);if(e.r(s),Object.defineProperty(s,\"default\",{enumerable:!0,value:a}),2&n&&\"string\"!=typeof a)for(var t in a)e.d(s,t,function(n){return a[n]}.bind(null,t));return s},e.n=function(a){var n=a&&a.__esModule?function(){return a.default}:function(){return a};return e.d(n,\"a\",n),n},e.o=function(a,n){return Object.prototype.hasOwnProperty.call(a,n)},e.p=\"\",e(e.s=3)}([function(a,n){a.exports=require(\"moment\")},function(a,n){a.exports=require(\"node-gettext\")},function(a,n){a.exports=require(\"@nextcloud/l10n\")},function(a,n,e){\"use strict\";e.r(n);var s=e(0),t=e.n(s),r=e(1),l=e.n(r),o=e(2),m=new l.a,u=Object(o.getLocale)();[{locale:\"ast\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"enolp <enolp@softastur.org>, 2020\",\"Language-Team\":\"Asturian (https://www.transifex.com/nextcloud/teams/64236/ast/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"ast\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nenolp <enolp@softastur.org>, 2020\\n\"},msgstr:[\"Last-Translator: enolp <enolp@softastur.org>, 2020\\nLanguage-Team: Asturian (https://www.transifex.com/nextcloud/teams/64236/ast/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ast\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"segundos\"]}}}}},{locale:\"cs_CZ\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Pavel Borecki <pavel.borecki@gmail.com>, 2020\",\"Language-Team\":\"Czech (Czech Republic) (https://www.transifex.com/nextcloud/teams/64236/cs_CZ/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"cs_CZ\",\"Plural-Forms\":\"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nPavel Borecki <pavel.borecki@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Pavel Borecki <pavel.borecki@gmail.com>, 2020\\nLanguage-Team: Czech (Czech Republic) (https://www.transifex.com/nextcloud/teams/64236/cs_CZ/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: cs_CZ\\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n >= 2 && n <= 4 && n % 1 == 0) ? 1: (n % 1 != 0 ) ? 2 : 3;\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"sekund\"]}}}}},{locale:\"da\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Henrik Troels-Hansen <henrik@troels-hansen.dk>, 2020\",\"Language-Team\":\"Danish (https://www.transifex.com/nextcloud/teams/64236/da/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"da\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nHenrik Troels-Hansen <henrik@troels-hansen.dk>, 2020\\n\"},msgstr:[\"Last-Translator: Henrik Troels-Hansen <henrik@troels-hansen.dk>, 2020\\nLanguage-Team: Danish (https://www.transifex.com/nextcloud/teams/64236/da/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: da\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"sekunder\"]}}}}},{locale:\"de_DE\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Christoph Wurst <christoph@winzerhof-wurst.at>, 2020\",\"Language-Team\":\"German (Germany) (https://www.transifex.com/nextcloud/teams/64236/de_DE/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"de_DE\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nChristoph Wurst <christoph@winzerhof-wurst.at>, 2020\\n\"},msgstr:[\"Last-Translator: Christoph Wurst <christoph@winzerhof-wurst.at>, 2020\\nLanguage-Team: German (Germany) (https://www.transifex.com/nextcloud/teams/64236/de_DE/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: de_DE\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"Sekunden\"]}}}}},{locale:\"el\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"GRMarksman <alexakos01@gmail.com>, 2020\",\"Language-Team\":\"Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"el\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nGRMarksman <alexakos01@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: GRMarksman <alexakos01@gmail.com>, 2020\\nLanguage-Team: Greek (https://www.transifex.com/nextcloud/teams/64236/el/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: el\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"δευτερόλεπτα\"]}}}}},{locale:\"en_GB\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Oleksa Stasevych <oleksiy.stasevych@gmail.com>, 2020\",\"Language-Team\":\"English (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/en_GB/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"en_GB\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nOleksa Stasevych <oleksiy.stasevych@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Oleksa Stasevych <oleksiy.stasevych@gmail.com>, 2020\\nLanguage-Team: English (United Kingdom) (https://www.transifex.com/nextcloud/teams/64236/en_GB/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: en_GB\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"seconds\"]}}}}},{locale:\"es\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Javier San Juan <javier.sj@trantor.es>, 2020\",\"Language-Team\":\"Spanish (https://www.transifex.com/nextcloud/teams/64236/es/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"es\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nJavier San Juan <javier.sj@trantor.es>, 2020\\n\"},msgstr:[\"Last-Translator: Javier San Juan <javier.sj@trantor.es>, 2020\\nLanguage-Team: Spanish (https://www.transifex.com/nextcloud/teams/64236/es/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: es\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"segundos\"]}}}}},{locale:\"eu\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Asier Iturralde Sarasola <asier.iturralde@gmail.com>, 2020\",\"Language-Team\":\"Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"eu\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nAsier Iturralde Sarasola <asier.iturralde@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Asier Iturralde Sarasola <asier.iturralde@gmail.com>, 2020\\nLanguage-Team: Basque (https://www.transifex.com/nextcloud/teams/64236/eu/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: eu\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"segundo\"]}}}}},{locale:\"fr\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Yoplala <yoplala@pataraphe.net>, 2020\",\"Language-Team\":\"French (https://www.transifex.com/nextcloud/teams/64236/fr/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"fr\",\"Plural-Forms\":\"nplurals=2; plural=(n > 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nYoplala <yoplala@pataraphe.net>, 2020\\n\"},msgstr:[\"Last-Translator: Yoplala <yoplala@pataraphe.net>, 2020\\nLanguage-Team: French (https://www.transifex.com/nextcloud/teams/64236/fr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: fr\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"secondes\"]}}}}},{locale:\"gl\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Miguel Anxo Bouzada <mbouzada@gmail.com>, 2020\",\"Language-Team\":\"Galician (https://www.transifex.com/nextcloud/teams/64236/gl/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"gl\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nMiguel Anxo Bouzada <mbouzada@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Miguel Anxo Bouzada <mbouzada@gmail.com>, 2020\\nLanguage-Team: Galician (https://www.transifex.com/nextcloud/teams/64236/gl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: gl\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"segundos\"]}}}}},{locale:\"he\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Yaron Shahrabani <sh.yaron@gmail.com>, 2020\",\"Language-Team\":\"Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"he\",\"Plural-Forms\":\"nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nYaron Shahrabani <sh.yaron@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Yaron Shahrabani <sh.yaron@gmail.com>, 2020\\nLanguage-Team: Hebrew (https://www.transifex.com/nextcloud/teams/64236/he/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: he\\nPlural-Forms: nplurals=4; plural=(n == 1 && n % 1 == 0) ? 0 : (n == 2 && n % 1 == 0) ? 1: (n % 10 == 0 && n % 1 == 0 && n > 10) ? 2 : 3;\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"שניות\"]}}}}},{locale:\"hu_HU\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Balázs Meskó <meskobalazs@gmail.com>, 2020\",\"Language-Team\":\"Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"hu_HU\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nBalázs Meskó <meskobalazs@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Balázs Meskó <meskobalazs@gmail.com>, 2020\\nLanguage-Team: Hungarian (Hungary) (https://www.transifex.com/nextcloud/teams/64236/hu_HU/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: hu_HU\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"másodperc\"]}}}}},{locale:\"is\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Sveinn í Felli <sv1@fellsnet.is>, 2020\",\"Language-Team\":\"Icelandic (https://www.transifex.com/nextcloud/teams/64236/is/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"is\",\"Plural-Forms\":\"nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nSveinn í Felli <sv1@fellsnet.is>, 2020\\n\"},msgstr:[\"Last-Translator: Sveinn í Felli <sv1@fellsnet.is>, 2020\\nLanguage-Team: Icelandic (https://www.transifex.com/nextcloud/teams/64236/is/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: is\\nPlural-Forms: nplurals=2; plural=(n % 10 != 1 || n % 100 == 11);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"sekúndur\"]}}}}},{locale:\"it\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Random_R, 2020\",\"Language-Team\":\"Italian (https://www.transifex.com/nextcloud/teams/64236/it/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"it\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nRandom_R, 2020\\n\"},msgstr:[\"Last-Translator: Random_R, 2020\\nLanguage-Team: Italian (https://www.transifex.com/nextcloud/teams/64236/it/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: it\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"secondi\"]}}}}},{locale:\"ja_JP\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"YANO Tetsu <tetuyano+transi@gmail.com>, 2020\",\"Language-Team\":\"Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"ja_JP\",\"Plural-Forms\":\"nplurals=1; plural=0;\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nYANO Tetsu <tetuyano+transi@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: YANO Tetsu <tetuyano+transi@gmail.com>, 2020\\nLanguage-Team: Japanese (Japan) (https://www.transifex.com/nextcloud/teams/64236/ja_JP/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ja_JP\\nPlural-Forms: nplurals=1; plural=0;\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"秒\"]}}}}},{locale:\"lt_LT\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Moo, 2020\",\"Language-Team\":\"Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"lt_LT\",\"Plural-Forms\":\"nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nMoo, 2020\\n\"},msgstr:[\"Last-Translator: Moo, 2020\\nLanguage-Team: Lithuanian (Lithuania) (https://www.transifex.com/nextcloud/teams/64236/lt_LT/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lt_LT\\nPlural-Forms: nplurals=4; plural=(n % 10 == 1 && (n % 100 > 19 || n % 100 < 11) ? 0 : (n % 10 >= 2 && n % 10 <=9) && (n % 100 > 19 || n % 100 < 11) ? 1 : n % 1 != 0 ? 2: 3);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"sek.\"]}}}}},{locale:\"lv\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"stendec <stendec@inbox.lv>, 2020\",\"Language-Team\":\"Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"lv\",\"Plural-Forms\":\"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nstendec <stendec@inbox.lv>, 2020\\n\"},msgstr:[\"Last-Translator: stendec <stendec@inbox.lv>, 2020\\nLanguage-Team: Latvian (https://www.transifex.com/nextcloud/teams/64236/lv/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: lv\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : 2);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"sekundes\"]}}}}},{locale:\"mk\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Сашко Тодоров, 2020\",\"Language-Team\":\"Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"mk\",\"Plural-Forms\":\"nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nСашко Тодоров, 2020\\n\"},msgstr:[\"Last-Translator: Сашко Тодоров, 2020\\nLanguage-Team: Macedonian (https://www.transifex.com/nextcloud/teams/64236/mk/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: mk\\nPlural-Forms: nplurals=2; plural=(n % 10 == 1 && n % 100 != 11) ? 0 : 1;\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"секунди\"]}}}}},{locale:\"nl\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Roeland Jago Douma <roeland@famdouma.nl>, 2020\",\"Language-Team\":\"Dutch (https://www.transifex.com/nextcloud/teams/64236/nl/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"nl\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nRoeland Jago Douma <roeland@famdouma.nl>, 2020\\n\"},msgstr:[\"Last-Translator: Roeland Jago Douma <roeland@famdouma.nl>, 2020\\nLanguage-Team: Dutch (https://www.transifex.com/nextcloud/teams/64236/nl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: nl\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"seconden\"]}}}}},{locale:\"oc\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Quentin PAGÈS, 2020\",\"Language-Team\":\"Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"oc\",\"Plural-Forms\":\"nplurals=2; plural=(n > 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nQuentin PAGÈS, 2020\\n\"},msgstr:[\"Last-Translator: Quentin PAGÈS, 2020\\nLanguage-Team: Occitan (post 1500) (https://www.transifex.com/nextcloud/teams/64236/oc/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: oc\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"segondas\"]}}}}},{locale:\"pl\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Janusz Gwiazda <j.gwiazda@gwiazdaelektronika.eu>, 2020\",\"Language-Team\":\"Polish (https://www.transifex.com/nextcloud/teams/64236/pl/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"pl\",\"Plural-Forms\":\"nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nJanusz Gwiazda <j.gwiazda@gwiazdaelektronika.eu>, 2020\\n\"},msgstr:[\"Last-Translator: Janusz Gwiazda <j.gwiazda@gwiazdaelektronika.eu>, 2020\\nLanguage-Team: Polish (https://www.transifex.com/nextcloud/teams/64236/pl/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: pl\\nPlural-Forms: nplurals=4; plural=(n==1 ? 0 : (n%10>=2 && n%10<=4) && (n%100<12 || n%100>14) ? 1 : n!=1 && (n%10>=0 && n%10<=1) || (n%10>=5 && n%10<=9) || (n%100>=12 && n%100<=14) ? 2 : 3);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"sekundy\"]}}}}},{locale:\"pt_BR\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"André Marcelo Alvarenga <alvarenga@kde.org>, 2020\",\"Language-Team\":\"Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"pt_BR\",\"Plural-Forms\":\"nplurals=2; plural=(n > 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nAndré Marcelo Alvarenga <alvarenga@kde.org>, 2020\\n\"},msgstr:[\"Last-Translator: André Marcelo Alvarenga <alvarenga@kde.org>, 2020\\nLanguage-Team: Portuguese (Brazil) (https://www.transifex.com/nextcloud/teams/64236/pt_BR/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: pt_BR\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"segundos\"]}}}}},{locale:\"pt_PT\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"fpapoila <fpapoila@gmail.com>, 2020\",\"Language-Team\":\"Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"pt_PT\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nfpapoila <fpapoila@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: fpapoila <fpapoila@gmail.com>, 2020\\nLanguage-Team: Portuguese (Portugal) (https://www.transifex.com/nextcloud/teams/64236/pt_PT/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: pt_PT\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"segundos\"]}}}}},{locale:\"ru\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Игорь Бондаренко <garbond@yandex.ru>, 2020\",\"Language-Team\":\"Russian (https://www.transifex.com/nextcloud/teams/64236/ru/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"ru\",\"Plural-Forms\":\"nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nИгорь Бондаренко <garbond@yandex.ru>, 2020\\n\"},msgstr:[\"Last-Translator: Игорь Бондаренко <garbond@yandex.ru>, 2020\\nLanguage-Team: Russian (https://www.transifex.com/nextcloud/teams/64236/ru/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: ru\\nPlural-Forms: nplurals=4; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<12 || n%100>14) ? 1 : n%10==0 || (n%10>=5 && n%10<=9) || (n%100>=11 && n%100<=14)? 2 : 3);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"секунды\"]}}}}},{locale:\"sq\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Greta, 2020\",\"Language-Team\":\"Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"sq\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nGreta, 2020\\n\"},msgstr:[\"Last-Translator: Greta, 2020\\nLanguage-Team: Albanian (https://www.transifex.com/nextcloud/teams/64236/sq/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sq\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"sekonda\"]}}}}},{locale:\"sr\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Slobodan Simić <slsimic@gmail.com>, 2020\",\"Language-Team\":\"Serbian (https://www.transifex.com/nextcloud/teams/64236/sr/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"sr\",\"Plural-Forms\":\"nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nSlobodan Simić <slsimic@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Slobodan Simić <slsimic@gmail.com>, 2020\\nLanguage-Team: Serbian (https://www.transifex.com/nextcloud/teams/64236/sr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sr\\nPlural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"секунде\"]}}}}},{locale:\"sv\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Magnus Höglund, 2020\",\"Language-Team\":\"Swedish (https://www.transifex.com/nextcloud/teams/64236/sv/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"sv\",\"Plural-Forms\":\"nplurals=2; plural=(n != 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nMagnus Höglund, 2020\\n\"},msgstr:[\"Last-Translator: Magnus Höglund, 2020\\nLanguage-Team: Swedish (https://www.transifex.com/nextcloud/teams/64236/sv/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: sv\\nPlural-Forms: nplurals=2; plural=(n != 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"sekunder\"]}}}}},{locale:\"tr\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Hüseyin Fahri Uzun <mail@fahriuzun.com>, 2020\",\"Language-Team\":\"Turkish (https://www.transifex.com/nextcloud/teams/64236/tr/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"tr\",\"Plural-Forms\":\"nplurals=2; plural=(n > 1);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nHüseyin Fahri Uzun <mail@fahriuzun.com>, 2020\\n\"},msgstr:[\"Last-Translator: Hüseyin Fahri Uzun <mail@fahriuzun.com>, 2020\\nLanguage-Team: Turkish (https://www.transifex.com/nextcloud/teams/64236/tr/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: tr\\nPlural-Forms: nplurals=2; plural=(n > 1);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"saniye\"]}}}}},{locale:\"uk\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Oleksa Stasevych <oleksiy.stasevych@gmail.com>, 2020\",\"Language-Team\":\"Ukrainian (https://www.transifex.com/nextcloud/teams/64236/uk/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"uk\",\"Plural-Forms\":\"nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nOleksa Stasevych <oleksiy.stasevych@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Oleksa Stasevych <oleksiy.stasevych@gmail.com>, 2020\\nLanguage-Team: Ukrainian (https://www.transifex.com/nextcloud/teams/64236/uk/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: uk\\nPlural-Forms: nplurals=4; plural=(n % 1 == 0 && n % 10 == 1 && n % 100 != 11 ? 0 : n % 1 == 0 && n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 12 || n % 100 > 14) ? 1 : n % 1 == 0 && (n % 10 ==0 || (n % 10 >=5 && n % 10 <=9) || (n % 100 >=11 && n % 100 <=14 )) ? 2: 3);\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"секунди\"]}}}}},{locale:\"zh_CN\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Jay Guo <jayguo921@gmail.com>, 2020\",\"Language-Team\":\"Chinese (China) (https://www.transifex.com/nextcloud/teams/64236/zh_CN/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"zh_CN\",\"Plural-Forms\":\"nplurals=1; plural=0;\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nJay Guo <jayguo921@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Jay Guo <jayguo921@gmail.com>, 2020\\nLanguage-Team: Chinese (China) (https://www.transifex.com/nextcloud/teams/64236/zh_CN/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: zh_CN\\nPlural-Forms: nplurals=1; plural=0;\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"秒\"]}}}}},{locale:\"zh_TW\",json:{charset:\"utf-8\",headers:{\"Last-Translator\":\"Jim Tsai <poormusic2001@gmail.com>, 2020\",\"Language-Team\":\"Chinese (Taiwan) (https://www.transifex.com/nextcloud/teams/64236/zh_TW/)\",\"Content-Type\":\"text/plain; charset=UTF-8\",Language:\"zh_TW\",\"Plural-Forms\":\"nplurals=1; plural=0;\"},translations:{\"\":{\"\":{msgid:\"\",comments:{translator:\"Translators:\\nJim Tsai <poormusic2001@gmail.com>, 2020\\n\"},msgstr:[\"Last-Translator: Jim Tsai <poormusic2001@gmail.com>, 2020\\nLanguage-Team: Chinese (Taiwan) (https://www.transifex.com/nextcloud/teams/64236/zh_TW/)\\nContent-Type: text/plain; charset=UTF-8\\nLanguage: zh_TW\\nPlural-Forms: nplurals=1; plural=0;\\n\"]},seconds:{msgid:\"seconds\",comments:{reference:\"lib/index.ts:22\"},msgstr:[\"秒\"]}}}}}].map((function(a){m.addTranslations(a.locale,\"messages\",a.json)})),m.setLocale(u),t.a.locale(u),t.a.updateLocale(t.a.locale(),{parentLocale:t.a.locale(),relativeTime:Object.assign(t.a.localeData(t.a.locale())._relativeTime,{s:m.gettext(\"seconds\")})}),n.default=t.a}])}));\n//# sourceMappingURL=index.js.map","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n  value: true\n});\nexports.getLocale = getLocale;\nexports.getLanguage = getLanguage;\nexports.translate = translate;\nexports.translatePlural = translatePlural;\nexports.getFirstDay = getFirstDay;\nexports.getDayNames = getDayNames;\nexports.getDayNamesShort = getDayNamesShort;\nexports.getDayNamesMin = getDayNamesMin;\nexports.getMonthNames = getMonthNames;\nexports.getMonthNamesShort = getMonthNamesShort;\n\n/// <reference types=\"@nextcloud/typings\" />\n\n/**\n * Returns the user's locale\n */\nfunction getLocale() {\n  if (typeof OC === 'undefined') {\n    console.warn('No OC found');\n    return 'en';\n  }\n\n  return OC.getLocale();\n}\n/**\n * Returns the user's language\n */\n\n\nfunction getLanguage() {\n  if (typeof OC === 'undefined') {\n    console.warn('No OC found');\n    return 'en';\n  }\n\n  return OC.getLanguage();\n}\n\n/**\n * Translate a string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} text the string to translate\n * @param {object} vars map of placeholder key to value\n * @param {number} number to replace %n with\n * @param {object} [options] options object\n * @return {string}\n */\nfunction translate(app, text, vars, count, options) {\n  if (typeof OC === 'undefined') {\n    console.warn('No OC found');\n    return text;\n  }\n\n  return OC.L10N.translate(app, text, vars, count, options);\n}\n/**\n * Translate a plural string\n *\n * @param {string} app the id of the app for which to translate the string\n * @param {string} textSingular the string to translate for exactly one object\n * @param {string} textPlural the string to translate for n objects\n * @param {number} count number to determine whether to use singular or plural\n * @param {Object} vars of placeholder key to value\n * @param {object} options options object\n * @return {string}\n */\n\n\nfunction translatePlural(app, textSingular, textPlural, count, vars, options) {\n  if (typeof OC === 'undefined') {\n    console.warn('No OC found');\n    return textSingular;\n  }\n\n  return OC.L10N.translatePlural(app, textSingular, textPlural, count, vars, options);\n}\n/**\n * Get the first day of the week\n *\n * @return {number}\n */\n\n\nfunction getFirstDay() {\n  if (typeof window.firstDay === 'undefined') {\n    console.warn('No firstDay found');\n    return 1;\n  }\n\n  return window.firstDay;\n}\n/**\n * Get a list of day names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNames() {\n  if (typeof window.dayNames === 'undefined') {\n    console.warn('No dayNames found');\n    return ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday'];\n  }\n\n  return window.dayNames;\n}\n/**\n * Get a list of day names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesShort() {\n  if (typeof window.dayNamesShort === 'undefined') {\n    console.warn('No dayNamesShort found');\n    return ['Sun.', 'Mon.', 'Tue.', 'Wed.', 'Thu.', 'Fri.', 'Sat.'];\n  }\n\n  return window.dayNamesShort;\n}\n/**\n * Get a list of day names (minified names)\n *\n * @return {string[]}\n */\n\n\nfunction getDayNamesMin() {\n  if (typeof window.dayNamesMin === 'undefined') {\n    console.warn('No dayNamesMin found');\n    return ['Su', 'Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa'];\n  }\n\n  return window.dayNamesMin;\n}\n/**\n * Get a list of month names (full names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNames() {\n  if (typeof window.monthNames === 'undefined') {\n    console.warn('No monthNames found');\n    return ['January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December'];\n  }\n\n  return window.monthNames;\n}\n/**\n * Get a list of month names (short names)\n *\n * @return {string[]}\n */\n\n\nfunction getMonthNamesShort() {\n  if (typeof window.monthNamesShort === 'undefined') {\n    console.warn('No monthNamesShort found');\n    return ['Jan.', 'Feb.', 'Mar.', 'Apr.', 'May.', 'Jun.', 'Jul.', 'Aug.', 'Sep.', 'Oct.', 'Nov.', 'Dec.'];\n  }\n\n  return window.monthNamesShort;\n}\n//# sourceMappingURL=index.js.map","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var af = moment.defineLocale('af', {\n        months : 'Januarie_Februarie_Maart_April_Mei_Junie_Julie_Augustus_September_Oktober_November_Desember'.split('_'),\n        monthsShort : 'Jan_Feb_Mrt_Apr_Mei_Jun_Jul_Aug_Sep_Okt_Nov_Des'.split('_'),\n        weekdays : 'Sondag_Maandag_Dinsdag_Woensdag_Donderdag_Vrydag_Saterdag'.split('_'),\n        weekdaysShort : 'Son_Maa_Din_Woe_Don_Vry_Sat'.split('_'),\n        weekdaysMin : 'So_Ma_Di_Wo_Do_Vr_Sa'.split('_'),\n        meridiemParse: /vm|nm/i,\n        isPM : function (input) {\n            return /^nm$/i.test(input);\n        },\n        meridiem : function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'vm' : 'VM';\n            } else {\n                return isLower ? 'nm' : 'NM';\n            }\n        },\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[Vandag om] LT',\n            nextDay : '[Môre om] LT',\n            nextWeek : 'dddd [om] LT',\n            lastDay : '[Gister om] LT',\n            lastWeek : '[Laas] dddd [om] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'oor %s',\n            past : '%s gelede',\n            s : '\\'n paar sekondes',\n            ss : '%d sekondes',\n            m : '\\'n minuut',\n            mm : '%d minute',\n            h : '\\'n uur',\n            hh : '%d ure',\n            d : '\\'n dag',\n            dd : '%d dae',\n            M : '\\'n maand',\n            MM : '%d maande',\n            y : '\\'n jaar',\n            yy : '%d jaar'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal : function (number) {\n            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de'); // Thanks to Joris Röling : https://github.com/jjupiter\n        },\n        week : {\n            dow : 1, // Maandag is die eerste dag van die week.\n            doy : 4  // Die week wat die 4de Januarie bevat is die eerste week van die jaar.\n        }\n    });\n\n    return af;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var arDz = moment.defineLocale('ar-dz', {\n        months : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n        monthsShort : 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort : 'احد_اثنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin : 'أح_إث_ثلا_أر_خم_جم_سب'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'في %s',\n            past : 'منذ %s',\n            s : 'ثوان',\n            ss : '%d ثانية',\n            m : 'دقيقة',\n            mm : '%d دقائق',\n            h : 'ساعة',\n            hh : '%d ساعات',\n            d : 'يوم',\n            dd : '%d أيام',\n            M : 'شهر',\n            MM : '%d أشهر',\n            y : 'سنة',\n            yy : '%d سنوات'\n        },\n        week : {\n            dow : 0, // Sunday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return arDz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var arKw = moment.defineLocale('ar-kw', {\n        months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n        monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n        weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'في %s',\n            past : 'منذ %s',\n            s : 'ثوان',\n            ss : '%d ثانية',\n            m : 'دقيقة',\n            mm : '%d دقائق',\n            h : 'ساعة',\n            hh : '%d ساعات',\n            d : 'يوم',\n            dd : '%d أيام',\n            M : 'شهر',\n            MM : '%d أشهر',\n            y : 'سنة',\n            yy : '%d سنوات'\n        },\n        week : {\n            dow : 0, // Sunday is the first day of the week.\n            doy : 12  // The week that contains Jan 12th is the first week of the year.\n        }\n    });\n\n    return arKw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '1',\n        '2': '2',\n        '3': '3',\n        '4': '4',\n        '5': '5',\n        '6': '6',\n        '7': '7',\n        '8': '8',\n        '9': '9',\n        '0': '0'\n    }, pluralForm = function (n) {\n        return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n    }, plurals = {\n        s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n        m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n        h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n        d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n        M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n        y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n    }, pluralize = function (u) {\n        return function (number, withoutSuffix, string, isFuture) {\n            var f = pluralForm(number),\n                str = plurals[u][pluralForm(number)];\n            if (f === 2) {\n                str = str[withoutSuffix ? 0 : 1];\n            }\n            return str.replace(/%d/i, number);\n        };\n    }, months = [\n        'يناير',\n        'فبراير',\n        'مارس',\n        'أبريل',\n        'مايو',\n        'يونيو',\n        'يوليو',\n        'أغسطس',\n        'سبتمبر',\n        'أكتوبر',\n        'نوفمبر',\n        'ديسمبر'\n    ];\n\n    var arLy = moment.defineLocale('ar-ly', {\n        months : months,\n        monthsShort : months,\n        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'D/\\u200FM/\\u200FYYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        meridiemParse: /ص|م/,\n        isPM : function (input) {\n            return 'م' === input;\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar : {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'بعد %s',\n            past : 'منذ %s',\n            s : pluralize('s'),\n            ss : pluralize('s'),\n            m : pluralize('m'),\n            mm : pluralize('m'),\n            h : pluralize('h'),\n            hh : pluralize('h'),\n            d : pluralize('d'),\n            dd : pluralize('d'),\n            M : pluralize('M'),\n            MM : pluralize('M'),\n            y : pluralize('y'),\n            yy : pluralize('y')\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            }).replace(/,/g, '،');\n        },\n        week : {\n            dow : 6, // Saturday is the first day of the week.\n            doy : 12  // The week that contains Jan 12th is the first week of the year.\n        }\n    });\n\n    return arLy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var arMa = moment.defineLocale('ar-ma', {\n        months : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n        monthsShort : 'يناير_فبراير_مارس_أبريل_ماي_يونيو_يوليوز_غشت_شتنبر_أكتوبر_نونبر_دجنبر'.split('_'),\n        weekdays : 'الأحد_الإتنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort : 'احد_اتنين_ثلاثاء_اربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'في %s',\n            past : 'منذ %s',\n            s : 'ثوان',\n            ss : '%d ثانية',\n            m : 'دقيقة',\n            mm : '%d دقائق',\n            h : 'ساعة',\n            hh : '%d ساعات',\n            d : 'يوم',\n            dd : '%d أيام',\n            M : 'شهر',\n            MM : '%d أشهر',\n            y : 'سنة',\n            yy : '%d سنوات'\n        },\n        week : {\n            dow : 6, // Saturday is the first day of the week.\n            doy : 12  // The week that contains Jan 12th is the first week of the year.\n        }\n    });\n\n    return arMa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '١',\n        '2': '٢',\n        '3': '٣',\n        '4': '٤',\n        '5': '٥',\n        '6': '٦',\n        '7': '٧',\n        '8': '٨',\n        '9': '٩',\n        '0': '٠'\n    }, numberMap = {\n        '١': '1',\n        '٢': '2',\n        '٣': '3',\n        '٤': '4',\n        '٥': '5',\n        '٦': '6',\n        '٧': '7',\n        '٨': '8',\n        '٩': '9',\n        '٠': '0'\n    };\n\n    var arSa = moment.defineLocale('ar-sa', {\n        months : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n        monthsShort : 'يناير_فبراير_مارس_أبريل_مايو_يونيو_يوليو_أغسطس_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        meridiemParse: /ص|م/,\n        isPM : function (input) {\n            return 'م' === input;\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar : {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'في %s',\n            past : 'منذ %s',\n            s : 'ثوان',\n            ss : '%d ثانية',\n            m : 'دقيقة',\n            mm : '%d دقائق',\n            h : 'ساعة',\n            hh : '%d ساعات',\n            d : 'يوم',\n            dd : '%d أيام',\n            M : 'شهر',\n            MM : '%d أشهر',\n            y : 'سنة',\n            yy : '%d سنوات'\n        },\n        preparse: function (string) {\n            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                return numberMap[match];\n            }).replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            }).replace(/,/g, '،');\n        },\n        week : {\n            dow : 0, // Sunday is the first day of the week.\n            doy : 6  // The week that contains Jan 6th is the first week of the year.\n        }\n    });\n\n    return arSa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var arTn = moment.defineLocale('ar-tn', {\n        months: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n        monthsShort: 'جانفي_فيفري_مارس_أفريل_ماي_جوان_جويلية_أوت_سبتمبر_أكتوبر_نوفمبر_ديسمبر'.split('_'),\n        weekdays: 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort: 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin: 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar: {\n            sameDay: '[اليوم على الساعة] LT',\n            nextDay: '[غدا على الساعة] LT',\n            nextWeek: 'dddd [على الساعة] LT',\n            lastDay: '[أمس على الساعة] LT',\n            lastWeek: 'dddd [على الساعة] LT',\n            sameElse: 'L'\n        },\n        relativeTime: {\n            future: 'في %s',\n            past: 'منذ %s',\n            s: 'ثوان',\n            ss : '%d ثانية',\n            m: 'دقيقة',\n            mm: '%d دقائق',\n            h: 'ساعة',\n            hh: '%d ساعات',\n            d: 'يوم',\n            dd: '%d أيام',\n            M: 'شهر',\n            MM: '%d أشهر',\n            y: 'سنة',\n            yy: '%d سنوات'\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4 // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return arTn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '١',\n        '2': '٢',\n        '3': '٣',\n        '4': '٤',\n        '5': '٥',\n        '6': '٦',\n        '7': '٧',\n        '8': '٨',\n        '9': '٩',\n        '0': '٠'\n    }, numberMap = {\n        '١': '1',\n        '٢': '2',\n        '٣': '3',\n        '٤': '4',\n        '٥': '5',\n        '٦': '6',\n        '٧': '7',\n        '٨': '8',\n        '٩': '9',\n        '٠': '0'\n    }, pluralForm = function (n) {\n        return n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5;\n    }, plurals = {\n        s : ['أقل من ثانية', 'ثانية واحدة', ['ثانيتان', 'ثانيتين'], '%d ثوان', '%d ثانية', '%d ثانية'],\n        m : ['أقل من دقيقة', 'دقيقة واحدة', ['دقيقتان', 'دقيقتين'], '%d دقائق', '%d دقيقة', '%d دقيقة'],\n        h : ['أقل من ساعة', 'ساعة واحدة', ['ساعتان', 'ساعتين'], '%d ساعات', '%d ساعة', '%d ساعة'],\n        d : ['أقل من يوم', 'يوم واحد', ['يومان', 'يومين'], '%d أيام', '%d يومًا', '%d يوم'],\n        M : ['أقل من شهر', 'شهر واحد', ['شهران', 'شهرين'], '%d أشهر', '%d شهرا', '%d شهر'],\n        y : ['أقل من عام', 'عام واحد', ['عامان', 'عامين'], '%d أعوام', '%d عامًا', '%d عام']\n    }, pluralize = function (u) {\n        return function (number, withoutSuffix, string, isFuture) {\n            var f = pluralForm(number),\n                str = plurals[u][pluralForm(number)];\n            if (f === 2) {\n                str = str[withoutSuffix ? 0 : 1];\n            }\n            return str.replace(/%d/i, number);\n        };\n    }, months = [\n        'يناير',\n        'فبراير',\n        'مارس',\n        'أبريل',\n        'مايو',\n        'يونيو',\n        'يوليو',\n        'أغسطس',\n        'سبتمبر',\n        'أكتوبر',\n        'نوفمبر',\n        'ديسمبر'\n    ];\n\n    var ar = moment.defineLocale('ar', {\n        months : months,\n        monthsShort : months,\n        weekdays : 'الأحد_الإثنين_الثلاثاء_الأربعاء_الخميس_الجمعة_السبت'.split('_'),\n        weekdaysShort : 'أحد_إثنين_ثلاثاء_أربعاء_خميس_جمعة_سبت'.split('_'),\n        weekdaysMin : 'ح_ن_ث_ر_خ_ج_س'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'D/\\u200FM/\\u200FYYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        meridiemParse: /ص|م/,\n        isPM : function (input) {\n            return 'م' === input;\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ص';\n            } else {\n                return 'م';\n            }\n        },\n        calendar : {\n            sameDay: '[اليوم عند الساعة] LT',\n            nextDay: '[غدًا عند الساعة] LT',\n            nextWeek: 'dddd [عند الساعة] LT',\n            lastDay: '[أمس عند الساعة] LT',\n            lastWeek: 'dddd [عند الساعة] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'بعد %s',\n            past : 'منذ %s',\n            s : pluralize('s'),\n            ss : pluralize('s'),\n            m : pluralize('m'),\n            mm : pluralize('m'),\n            h : pluralize('h'),\n            hh : pluralize('h'),\n            d : pluralize('d'),\n            dd : pluralize('d'),\n            M : pluralize('M'),\n            MM : pluralize('M'),\n            y : pluralize('y'),\n            yy : pluralize('y')\n        },\n        preparse: function (string) {\n            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                return numberMap[match];\n            }).replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            }).replace(/,/g, '،');\n        },\n        week : {\n            dow : 6, // Saturday is the first day of the week.\n            doy : 12  // The week that contains Jan 12th is the first week of the year.\n        }\n    });\n\n    return ar;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var suffixes = {\n        1: '-inci',\n        5: '-inci',\n        8: '-inci',\n        70: '-inci',\n        80: '-inci',\n        2: '-nci',\n        7: '-nci',\n        20: '-nci',\n        50: '-nci',\n        3: '-üncü',\n        4: '-üncü',\n        100: '-üncü',\n        6: '-ncı',\n        9: '-uncu',\n        10: '-uncu',\n        30: '-uncu',\n        60: '-ıncı',\n        90: '-ıncı'\n    };\n\n    var az = moment.defineLocale('az', {\n        months : 'yanvar_fevral_mart_aprel_may_iyun_iyul_avqust_sentyabr_oktyabr_noyabr_dekabr'.split('_'),\n        monthsShort : 'yan_fev_mar_apr_may_iyn_iyl_avq_sen_okt_noy_dek'.split('_'),\n        weekdays : 'Bazar_Bazar ertəsi_Çərşənbə axşamı_Çərşənbə_Cümə axşamı_Cümə_Şənbə'.split('_'),\n        weekdaysShort : 'Baz_BzE_ÇAx_Çər_CAx_Cüm_Şən'.split('_'),\n        weekdaysMin : 'Bz_BE_ÇA_Çə_CA_Cü_Şə'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[bugün saat] LT',\n            nextDay : '[sabah saat] LT',\n            nextWeek : '[gələn həftə] dddd [saat] LT',\n            lastDay : '[dünən] LT',\n            lastWeek : '[keçən həftə] dddd [saat] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s sonra',\n            past : '%s əvvəl',\n            s : 'birneçə saniyə',\n            ss : '%d saniyə',\n            m : 'bir dəqiqə',\n            mm : '%d dəqiqə',\n            h : 'bir saat',\n            hh : '%d saat',\n            d : 'bir gün',\n            dd : '%d gün',\n            M : 'bir ay',\n            MM : '%d ay',\n            y : 'bir il',\n            yy : '%d il'\n        },\n        meridiemParse: /gecə|səhər|gündüz|axşam/,\n        isPM : function (input) {\n            return /^(gündüz|axşam)$/.test(input);\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'gecə';\n            } else if (hour < 12) {\n                return 'səhər';\n            } else if (hour < 17) {\n                return 'gündüz';\n            } else {\n                return 'axşam';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ıncı|inci|nci|üncü|ncı|uncu)/,\n        ordinal : function (number) {\n            if (number === 0) {  // special case for zero\n                return number + '-ıncı';\n            }\n            var a = number % 10,\n                b = number % 100 - a,\n                c = number >= 100 ? 100 : null;\n            return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return az;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            'mm': withoutSuffix ? 'хвіліна_хвіліны_хвілін' : 'хвіліну_хвіліны_хвілін',\n            'hh': withoutSuffix ? 'гадзіна_гадзіны_гадзін' : 'гадзіну_гадзіны_гадзін',\n            'dd': 'дзень_дні_дзён',\n            'MM': 'месяц_месяцы_месяцаў',\n            'yy': 'год_гады_гадоў'\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвіліна' : 'хвіліну';\n        }\n        else if (key === 'h') {\n            return withoutSuffix ? 'гадзіна' : 'гадзіну';\n        }\n        else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n\n    var be = moment.defineLocale('be', {\n        months : {\n            format: 'студзеня_лютага_сакавіка_красавіка_траўня_чэрвеня_ліпеня_жніўня_верасня_кастрычніка_лістапада_снежня'.split('_'),\n            standalone: 'студзень_люты_сакавік_красавік_травень_чэрвень_ліпень_жнівень_верасень_кастрычнік_лістапад_снежань'.split('_')\n        },\n        monthsShort : 'студ_лют_сак_крас_трав_чэрв_ліп_жнів_вер_каст_ліст_снеж'.split('_'),\n        weekdays : {\n            format: 'нядзелю_панядзелак_аўторак_сераду_чацвер_пятніцу_суботу'.split('_'),\n            standalone: 'нядзеля_панядзелак_аўторак_серада_чацвер_пятніца_субота'.split('_'),\n            isFormat: /\\[ ?[Ууў] ?(?:мінулую|наступную)? ?\\] ?dddd/\n        },\n        weekdaysShort : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        weekdaysMin : 'нд_пн_ат_ср_чц_пт_сб'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D MMMM YYYY г.',\n            LLL : 'D MMMM YYYY г., HH:mm',\n            LLLL : 'dddd, D MMMM YYYY г., HH:mm'\n        },\n        calendar : {\n            sameDay: '[Сёння ў] LT',\n            nextDay: '[Заўтра ў] LT',\n            lastDay: '[Учора ў] LT',\n            nextWeek: function () {\n                return '[У] dddd [ў] LT';\n            },\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return '[У мінулую] dddd [ў] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                        return '[У мінулы] dddd [ў] LT';\n                }\n            },\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'праз %s',\n            past : '%s таму',\n            s : 'некалькі секунд',\n            m : relativeTimeWithPlural,\n            mm : relativeTimeWithPlural,\n            h : relativeTimeWithPlural,\n            hh : relativeTimeWithPlural,\n            d : 'дзень',\n            dd : relativeTimeWithPlural,\n            M : 'месяц',\n            MM : relativeTimeWithPlural,\n            y : 'год',\n            yy : relativeTimeWithPlural\n        },\n        meridiemParse: /ночы|раніцы|дня|вечара/,\n        isPM : function (input) {\n            return /^(дня|вечара)$/.test(input);\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночы';\n            } else if (hour < 12) {\n                return 'раніцы';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечара';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(і|ы|га)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return (number % 10 === 2 || number % 10 === 3) && (number % 100 !== 12 && number % 100 !== 13) ? number + '-і' : number + '-ы';\n                case 'D':\n                    return number + '-га';\n                default:\n                    return number;\n            }\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return be;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var bg = moment.defineLocale('bg', {\n        months : 'януари_февруари_март_април_май_юни_юли_август_септември_октомври_ноември_декември'.split('_'),\n        monthsShort : 'янр_фев_мар_апр_май_юни_юли_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays : 'неделя_понеделник_вторник_сряда_четвъртък_петък_събота'.split('_'),\n        weekdaysShort : 'нед_пон_вто_сря_чет_пет_съб'.split('_'),\n        weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat : {\n            LT : 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'D.MM.YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY H:mm',\n            LLLL : 'dddd, D MMMM YYYY H:mm'\n        },\n        calendar : {\n            sameDay : '[Днес в] LT',\n            nextDay : '[Утре в] LT',\n            nextWeek : 'dddd [в] LT',\n            lastDay : '[Вчера в] LT',\n            lastWeek : function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[В изминалата] dddd [в] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[В изминалия] dddd [в] LT';\n                }\n            },\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'след %s',\n            past : 'преди %s',\n            s : 'няколко секунди',\n            ss : '%d секунди',\n            m : 'минута',\n            mm : '%d минути',\n            h : 'час',\n            hh : '%d часа',\n            d : 'ден',\n            dd : '%d дни',\n            M : 'месец',\n            MM : '%d месеца',\n            y : 'година',\n            yy : '%d години'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal : function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return bg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var bm = moment.defineLocale('bm', {\n        months : 'Zanwuyekalo_Fewuruyekalo_Marisikalo_Awirilikalo_Mɛkalo_Zuwɛnkalo_Zuluyekalo_Utikalo_Sɛtanburukalo_ɔkutɔburukalo_Nowanburukalo_Desanburukalo'.split('_'),\n        monthsShort : 'Zan_Few_Mar_Awi_Mɛ_Zuw_Zul_Uti_Sɛt_ɔku_Now_Des'.split('_'),\n        weekdays : 'Kari_Ntɛnɛn_Tarata_Araba_Alamisa_Juma_Sibiri'.split('_'),\n        weekdaysShort : 'Kar_Ntɛ_Tar_Ara_Ala_Jum_Sib'.split('_'),\n        weekdaysMin : 'Ka_Nt_Ta_Ar_Al_Ju_Si'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'MMMM [tile] D [san] YYYY',\n            LLL : 'MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm',\n            LLLL : 'dddd MMMM [tile] D [san] YYYY [lɛrɛ] HH:mm'\n        },\n        calendar : {\n            sameDay : '[Bi lɛrɛ] LT',\n            nextDay : '[Sini lɛrɛ] LT',\n            nextWeek : 'dddd [don lɛrɛ] LT',\n            lastDay : '[Kunu lɛrɛ] LT',\n            lastWeek : 'dddd [tɛmɛnen lɛrɛ] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s kɔnɔ',\n            past : 'a bɛ %s bɔ',\n            s : 'sanga dama dama',\n            ss : 'sekondi %d',\n            m : 'miniti kelen',\n            mm : 'miniti %d',\n            h : 'lɛrɛ kelen',\n            hh : 'lɛrɛ %d',\n            d : 'tile kelen',\n            dd : 'tile %d',\n            M : 'kalo kelen',\n            MM : 'kalo %d',\n            y : 'san kelen',\n            yy : 'san %d'\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return bm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '১',\n        '2': '২',\n        '3': '৩',\n        '4': '৪',\n        '5': '৫',\n        '6': '৬',\n        '7': '৭',\n        '8': '৮',\n        '9': '৯',\n        '0': '০'\n    },\n    numberMap = {\n        '১': '1',\n        '২': '2',\n        '৩': '3',\n        '৪': '4',\n        '৫': '5',\n        '৬': '6',\n        '৭': '7',\n        '৮': '8',\n        '৯': '9',\n        '০': '0'\n    };\n\n    var bn = moment.defineLocale('bn', {\n        months : 'জানুয়ারী_ফেব্রুয়ারি_মার্চ_এপ্রিল_মে_জুন_জুলাই_আগস্ট_সেপ্টেম্বর_অক্টোবর_নভেম্বর_ডিসেম্বর'.split('_'),\n        monthsShort : 'জানু_ফেব_মার্চ_এপ্র_মে_জুন_জুল_আগ_সেপ্ট_অক্টো_নভে_ডিসে'.split('_'),\n        weekdays : 'রবিবার_সোমবার_মঙ্গলবার_বুধবার_বৃহস্পতিবার_শুক্রবার_শনিবার'.split('_'),\n        weekdaysShort : 'রবি_সোম_মঙ্গল_বুধ_বৃহস্পতি_শুক্র_শনি'.split('_'),\n        weekdaysMin : 'রবি_সোম_মঙ্গ_বুধ_বৃহঃ_শুক্র_শনি'.split('_'),\n        longDateFormat : {\n            LT : 'A h:mm সময়',\n            LTS : 'A h:mm:ss সময়',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY, A h:mm সময়',\n            LLLL : 'dddd, D MMMM YYYY, A h:mm সময়'\n        },\n        calendar : {\n            sameDay : '[আজ] LT',\n            nextDay : '[আগামীকাল] LT',\n            nextWeek : 'dddd, LT',\n            lastDay : '[গতকাল] LT',\n            lastWeek : '[গত] dddd, LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s পরে',\n            past : '%s আগে',\n            s : 'কয়েক সেকেন্ড',\n            ss : '%d সেকেন্ড',\n            m : 'এক মিনিট',\n            mm : '%d মিনিট',\n            h : 'এক ঘন্টা',\n            hh : '%d ঘন্টা',\n            d : 'এক দিন',\n            dd : '%d দিন',\n            M : 'এক মাস',\n            MM : '%d মাস',\n            y : 'এক বছর',\n            yy : '%d বছর'\n        },\n        preparse: function (string) {\n            return string.replace(/[১২৩৪৫৬৭৮৯০]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /রাত|সকাল|দুপুর|বিকাল|রাত/,\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if ((meridiem === 'রাত' && hour >= 4) ||\n                    (meridiem === 'দুপুর' && hour < 5) ||\n                    meridiem === 'বিকাল') {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'রাত';\n            } else if (hour < 10) {\n                return 'সকাল';\n            } else if (hour < 17) {\n                return 'দুপুর';\n            } else if (hour < 20) {\n                return 'বিকাল';\n            } else {\n                return 'রাত';\n            }\n        },\n        week : {\n            dow : 0, // Sunday is the first day of the week.\n            doy : 6  // The week that contains Jan 6th is the first week of the year.\n        }\n    });\n\n    return bn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '༡',\n        '2': '༢',\n        '3': '༣',\n        '4': '༤',\n        '5': '༥',\n        '6': '༦',\n        '7': '༧',\n        '8': '༨',\n        '9': '༩',\n        '0': '༠'\n    },\n    numberMap = {\n        '༡': '1',\n        '༢': '2',\n        '༣': '3',\n        '༤': '4',\n        '༥': '5',\n        '༦': '6',\n        '༧': '7',\n        '༨': '8',\n        '༩': '9',\n        '༠': '0'\n    };\n\n    var bo = moment.defineLocale('bo', {\n        months : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n        monthsShort : 'ཟླ་བ་དང་པོ_ཟླ་བ་གཉིས་པ_ཟླ་བ་གསུམ་པ_ཟླ་བ་བཞི་པ_ཟླ་བ་ལྔ་པ_ཟླ་བ་དྲུག་པ_ཟླ་བ་བདུན་པ_ཟླ་བ་བརྒྱད་པ_ཟླ་བ་དགུ་པ_ཟླ་བ་བཅུ་པ_ཟླ་བ་བཅུ་གཅིག་པ_ཟླ་བ་བཅུ་གཉིས་པ'.split('_'),\n        weekdays : 'གཟའ་ཉི་མ་_གཟའ་ཟླ་བ་_གཟའ་མིག་དམར་_གཟའ་ལྷག་པ་_གཟའ་ཕུར་བུ_གཟའ་པ་སངས་_གཟའ་སྤེན་པ་'.split('_'),\n        weekdaysShort : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n        weekdaysMin : 'ཉི་མ་_ཟླ་བ་_མིག་དམར་_ལྷག་པ་_ཕུར་བུ_པ་སངས་_སྤེན་པ་'.split('_'),\n        longDateFormat : {\n            LT : 'A h:mm',\n            LTS : 'A h:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY, A h:mm',\n            LLLL : 'dddd, D MMMM YYYY, A h:mm'\n        },\n        calendar : {\n            sameDay : '[དི་རིང] LT',\n            nextDay : '[སང་ཉིན] LT',\n            nextWeek : '[བདུན་ཕྲག་རྗེས་མ], LT',\n            lastDay : '[ཁ་སང] LT',\n            lastWeek : '[བདུན་ཕྲག་མཐའ་མ] dddd, LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s ལ་',\n            past : '%s སྔན་ལ',\n            s : 'ལམ་སང',\n            ss : '%d སྐར་ཆ།',\n            m : 'སྐར་མ་གཅིག',\n            mm : '%d སྐར་མ',\n            h : 'ཆུ་ཚོད་གཅིག',\n            hh : '%d ཆུ་ཚོད',\n            d : 'ཉིན་གཅིག',\n            dd : '%d ཉིན་',\n            M : 'ཟླ་བ་གཅིག',\n            MM : '%d ཟླ་བ',\n            y : 'ལོ་གཅིག',\n            yy : '%d ལོ'\n        },\n        preparse: function (string) {\n            return string.replace(/[༡༢༣༤༥༦༧༨༩༠]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /མཚན་མོ|ཞོགས་ཀས|ཉིན་གུང|དགོང་དག|མཚན་མོ/,\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if ((meridiem === 'མཚན་མོ' && hour >= 4) ||\n                    (meridiem === 'ཉིན་གུང' && hour < 5) ||\n                    meridiem === 'དགོང་དག') {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'མཚན་མོ';\n            } else if (hour < 10) {\n                return 'ཞོགས་ཀས';\n            } else if (hour < 17) {\n                return 'ཉིན་གུང';\n            } else if (hour < 20) {\n                return 'དགོང་དག';\n            } else {\n                return 'མཚན་མོ';\n            }\n        },\n        week : {\n            dow : 0, // Sunday is the first day of the week.\n            doy : 6  // The week that contains Jan 6th is the first week of the year.\n        }\n    });\n\n    return bo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function relativeTimeWithMutation(number, withoutSuffix, key) {\n        var format = {\n            'mm': 'munutenn',\n            'MM': 'miz',\n            'dd': 'devezh'\n        };\n        return number + ' ' + mutation(format[key], number);\n    }\n    function specialMutationForYears(number) {\n        switch (lastNumber(number)) {\n            case 1:\n            case 3:\n            case 4:\n            case 5:\n            case 9:\n                return number + ' bloaz';\n            default:\n                return number + ' vloaz';\n        }\n    }\n    function lastNumber(number) {\n        if (number > 9) {\n            return lastNumber(number % 10);\n        }\n        return number;\n    }\n    function mutation(text, number) {\n        if (number === 2) {\n            return softMutation(text);\n        }\n        return text;\n    }\n    function softMutation(text) {\n        var mutationTable = {\n            'm': 'v',\n            'b': 'v',\n            'd': 'z'\n        };\n        if (mutationTable[text.charAt(0)] === undefined) {\n            return text;\n        }\n        return mutationTable[text.charAt(0)] + text.substring(1);\n    }\n\n    var br = moment.defineLocale('br', {\n        months : 'Genver_C\\'hwevrer_Meurzh_Ebrel_Mae_Mezheven_Gouere_Eost_Gwengolo_Here_Du_Kerzu'.split('_'),\n        monthsShort : 'Gen_C\\'hwe_Meu_Ebr_Mae_Eve_Gou_Eos_Gwe_Her_Du_Ker'.split('_'),\n        weekdays : 'Sul_Lun_Meurzh_Merc\\'her_Yaou_Gwener_Sadorn'.split('_'),\n        weekdaysShort : 'Sul_Lun_Meu_Mer_Yao_Gwe_Sad'.split('_'),\n        weekdaysMin : 'Su_Lu_Me_Mer_Ya_Gw_Sa'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'h[e]mm A',\n            LTS : 'h[e]mm:ss A',\n            L : 'DD/MM/YYYY',\n            LL : 'D [a viz] MMMM YYYY',\n            LLL : 'D [a viz] MMMM YYYY h[e]mm A',\n            LLLL : 'dddd, D [a viz] MMMM YYYY h[e]mm A'\n        },\n        calendar : {\n            sameDay : '[Hiziv da] LT',\n            nextDay : '[Warc\\'hoazh da] LT',\n            nextWeek : 'dddd [da] LT',\n            lastDay : '[Dec\\'h da] LT',\n            lastWeek : 'dddd [paset da] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'a-benn %s',\n            past : '%s \\'zo',\n            s : 'un nebeud segondennoù',\n            ss : '%d eilenn',\n            m : 'ur vunutenn',\n            mm : relativeTimeWithMutation,\n            h : 'un eur',\n            hh : '%d eur',\n            d : 'un devezh',\n            dd : relativeTimeWithMutation,\n            M : 'ur miz',\n            MM : relativeTimeWithMutation,\n            y : 'ur bloaz',\n            yy : specialMutationForYears\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(añ|vet)/,\n        ordinal : function (number) {\n            var output = (number === 1) ? 'añ' : 'vet';\n            return number + output;\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return br;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jednog sata';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var bs = moment.defineLocale('bs', {\n        months : 'januar_februar_mart_april_maj_juni_juli_august_septembar_oktobar_novembar_decembar'.split('_'),\n        monthsShort : 'jan._feb._mar._apr._maj._jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n        weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D. MMMM YYYY',\n            LLL : 'D. MMMM YYYY H:mm',\n            LLLL : 'dddd, D. MMMM YYYY H:mm'\n        },\n        calendar : {\n            sameDay  : '[danas u] LT',\n            nextDay  : '[sutra u] LT',\n            nextWeek : function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay  : '[jučer u] LT',\n            lastWeek : function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                        return '[prošlu] dddd [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'za %s',\n            past   : 'prije %s',\n            s      : 'par sekundi',\n            ss     : translate,\n            m      : translate,\n            mm     : translate,\n            h      : translate,\n            hh     : translate,\n            d      : 'dan',\n            dd     : translate,\n            M      : 'mjesec',\n            MM     : translate,\n            y      : 'godinu',\n            yy     : translate\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return bs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var ca = moment.defineLocale('ca', {\n        months : {\n            standalone: 'gener_febrer_març_abril_maig_juny_juliol_agost_setembre_octubre_novembre_desembre'.split('_'),\n            format: 'de gener_de febrer_de març_d\\'abril_de maig_de juny_de juliol_d\\'agost_de setembre_d\\'octubre_de novembre_de desembre'.split('_'),\n            isFormat: /D[oD]?(\\s)+MMMM/\n        },\n        monthsShort : 'gen._febr._març_abr._maig_juny_jul._ag._set._oct._nov._des.'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'diumenge_dilluns_dimarts_dimecres_dijous_divendres_dissabte'.split('_'),\n        weekdaysShort : 'dg._dl._dt._dc._dj._dv._ds.'.split('_'),\n        weekdaysMin : 'dg_dl_dt_dc_dj_dv_ds'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM [de] YYYY',\n            ll : 'D MMM YYYY',\n            LLL : 'D MMMM [de] YYYY [a les] H:mm',\n            lll : 'D MMM YYYY, H:mm',\n            LLLL : 'dddd D MMMM [de] YYYY [a les] H:mm',\n            llll : 'ddd D MMM YYYY, H:mm'\n        },\n        calendar : {\n            sameDay : function () {\n                return '[avui a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n            },\n            nextDay : function () {\n                return '[demà a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n            },\n            nextWeek : function () {\n                return 'dddd [a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n            },\n            lastDay : function () {\n                return '[ahir a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n            },\n            lastWeek : function () {\n                return '[el] dddd [passat a ' + ((this.hours() !== 1) ? 'les' : 'la') + '] LT';\n            },\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'd\\'aquí %s',\n            past : 'fa %s',\n            s : 'uns segons',\n            ss : '%d segons',\n            m : 'un minut',\n            mm : '%d minuts',\n            h : 'una hora',\n            hh : '%d hores',\n            d : 'un dia',\n            dd : '%d dies',\n            M : 'un mes',\n            MM : '%d mesos',\n            y : 'un any',\n            yy : '%d anys'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(r|n|t|è|a)/,\n        ordinal : function (number, period) {\n            var output = (number === 1) ? 'r' :\n                (number === 2) ? 'n' :\n                (number === 3) ? 'r' :\n                (number === 4) ? 't' : 'è';\n            if (period === 'w' || period === 'W') {\n                output = 'a';\n            }\n            return number + output;\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return ca;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var months = 'leden_únor_březen_duben_květen_červen_červenec_srpen_září_říjen_listopad_prosinec'.split('_'),\n        monthsShort = 'led_úno_bře_dub_kvě_čvn_čvc_srp_zář_říj_lis_pro'.split('_');\n\n    var monthsParse = [/^led/i, /^úno/i, /^bře/i, /^dub/i, /^kvě/i, /^(čvn|červen$|června)/i, /^(čvc|červenec|července)/i, /^srp/i, /^zář/i, /^říj/i, /^lis/i, /^pro/i];\n    // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n    // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n    var monthsRegex = /^(leden|únor|březen|duben|květen|červenec|července|červen|června|srpen|září|říjen|listopad|prosinec|led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i;\n\n    function plural(n) {\n        return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':  // a few seconds / in a few seconds / a few seconds ago\n                return (withoutSuffix || isFuture) ? 'pár sekund' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekund');\n                } else {\n                    return result + 'sekundami';\n                }\n                break;\n            case 'm':  // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minuta' : (isFuture ? 'minutu' : 'minutou');\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minuty' : 'minut');\n                } else {\n                    return result + 'minutami';\n                }\n                break;\n            case 'h':  // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodin');\n                } else {\n                    return result + 'hodinami';\n                }\n                break;\n            case 'd':  // a day / in a day / a day ago\n                return (withoutSuffix || isFuture) ? 'den' : 'dnem';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dny' : 'dní');\n                } else {\n                    return result + 'dny';\n                }\n                break;\n            case 'M':  // a month / in a month / a month ago\n                return (withoutSuffix || isFuture) ? 'měsíc' : 'měsícem';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'měsíce' : 'měsíců');\n                } else {\n                    return result + 'měsíci';\n                }\n                break;\n            case 'y':  // a year / in a year / a year ago\n                return (withoutSuffix || isFuture) ? 'rok' : 'rokem';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'let');\n                } else {\n                    return result + 'lety';\n                }\n                break;\n        }\n    }\n\n    var cs = moment.defineLocale('cs', {\n        months : months,\n        monthsShort : monthsShort,\n        monthsRegex : monthsRegex,\n        monthsShortRegex : monthsRegex,\n        // NOTE: 'červen' is substring of 'červenec'; therefore 'červenec' must precede 'červen' in the regex to be fully matched.\n        // Otherwise parser matches '1. červenec' as '1. červen' + 'ec'.\n        monthsStrictRegex : /^(leden|ledna|února|únor|březen|března|duben|dubna|květen|května|červenec|července|červen|června|srpen|srpna|září|říjen|října|listopadu|listopad|prosinec|prosince)/i,\n        monthsShortStrictRegex : /^(led|úno|bře|dub|kvě|čvn|čvc|srp|zář|říj|lis|pro)/i,\n        monthsParse : monthsParse,\n        longMonthsParse : monthsParse,\n        shortMonthsParse : monthsParse,\n        weekdays : 'neděle_pondělí_úterý_středa_čtvrtek_pátek_sobota'.split('_'),\n        weekdaysShort : 'ne_po_út_st_čt_pá_so'.split('_'),\n        weekdaysMin : 'ne_po_út_st_čt_pá_so'.split('_'),\n        longDateFormat : {\n            LT: 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D. MMMM YYYY',\n            LLL : 'D. MMMM YYYY H:mm',\n            LLLL : 'dddd D. MMMM YYYY H:mm',\n            l : 'D. M. YYYY'\n        },\n        calendar : {\n            sameDay: '[dnes v] LT',\n            nextDay: '[zítra v] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [v] LT';\n                    case 3:\n                        return '[ve středu v] LT';\n                    case 4:\n                        return '[ve čtvrtek v] LT';\n                    case 5:\n                        return '[v pátek v] LT';\n                    case 6:\n                        return '[v sobotu v] LT';\n                }\n            },\n            lastDay: '[včera v] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulou neděli v] LT';\n                    case 1:\n                    case 2:\n                        return '[minulé] dddd [v] LT';\n                    case 3:\n                        return '[minulou středu v] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [v] LT';\n                    case 6:\n                        return '[minulou sobotu v] LT';\n                }\n            },\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'za %s',\n            past : 'před %s',\n            s : translate,\n            ss : translate,\n            m : translate,\n            mm : translate,\n            h : translate,\n            hh : translate,\n            d : translate,\n            dd : translate,\n            M : translate,\n            MM : translate,\n            y : translate,\n            yy : translate\n        },\n        dayOfMonthOrdinalParse : /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return cs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var cv = moment.defineLocale('cv', {\n        months : 'кӑрлач_нарӑс_пуш_ака_май_ҫӗртме_утӑ_ҫурла_авӑн_юпа_чӳк_раштав'.split('_'),\n        monthsShort : 'кӑр_нар_пуш_ака_май_ҫӗр_утӑ_ҫур_авн_юпа_чӳк_раш'.split('_'),\n        weekdays : 'вырсарникун_тунтикун_ытларикун_юнкун_кӗҫнерникун_эрнекун_шӑматкун'.split('_'),\n        weekdaysShort : 'выр_тун_ытл_юн_кӗҫ_эрн_шӑм'.split('_'),\n        weekdaysMin : 'вр_тн_ыт_юн_кҫ_эр_шм'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD-MM-YYYY',\n            LL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ]',\n            LLL : 'YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm',\n            LLLL : 'dddd, YYYY [ҫулхи] MMMM [уйӑхӗн] D[-мӗшӗ], HH:mm'\n        },\n        calendar : {\n            sameDay: '[Паян] LT [сехетре]',\n            nextDay: '[Ыран] LT [сехетре]',\n            lastDay: '[Ӗнер] LT [сехетре]',\n            nextWeek: '[Ҫитес] dddd LT [сехетре]',\n            lastWeek: '[Иртнӗ] dddd LT [сехетре]',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : function (output) {\n                var affix = /сехет$/i.exec(output) ? 'рен' : /ҫул$/i.exec(output) ? 'тан' : 'ран';\n                return output + affix;\n            },\n            past : '%s каялла',\n            s : 'пӗр-ик ҫеккунт',\n            ss : '%d ҫеккунт',\n            m : 'пӗр минут',\n            mm : '%d минут',\n            h : 'пӗр сехет',\n            hh : '%d сехет',\n            d : 'пӗр кун',\n            dd : '%d кун',\n            M : 'пӗр уйӑх',\n            MM : '%d уйӑх',\n            y : 'пӗр ҫул',\n            yy : '%d ҫул'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-мӗш/,\n        ordinal : '%d-мӗш',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return cv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var cy = moment.defineLocale('cy', {\n        months: 'Ionawr_Chwefror_Mawrth_Ebrill_Mai_Mehefin_Gorffennaf_Awst_Medi_Hydref_Tachwedd_Rhagfyr'.split('_'),\n        monthsShort: 'Ion_Chwe_Maw_Ebr_Mai_Meh_Gor_Aws_Med_Hyd_Tach_Rhag'.split('_'),\n        weekdays: 'Dydd Sul_Dydd Llun_Dydd Mawrth_Dydd Mercher_Dydd Iau_Dydd Gwener_Dydd Sadwrn'.split('_'),\n        weekdaysShort: 'Sul_Llun_Maw_Mer_Iau_Gwe_Sad'.split('_'),\n        weekdaysMin: 'Su_Ll_Ma_Me_Ia_Gw_Sa'.split('_'),\n        weekdaysParseExact : true,\n        // time formats are the same as en-gb\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar: {\n            sameDay: '[Heddiw am] LT',\n            nextDay: '[Yfory am] LT',\n            nextWeek: 'dddd [am] LT',\n            lastDay: '[Ddoe am] LT',\n            lastWeek: 'dddd [diwethaf am] LT',\n            sameElse: 'L'\n        },\n        relativeTime: {\n            future: 'mewn %s',\n            past: '%s yn ôl',\n            s: 'ychydig eiliadau',\n            ss: '%d eiliad',\n            m: 'munud',\n            mm: '%d munud',\n            h: 'awr',\n            hh: '%d awr',\n            d: 'diwrnod',\n            dd: '%d diwrnod',\n            M: 'mis',\n            MM: '%d mis',\n            y: 'blwyddyn',\n            yy: '%d flynedd'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(fed|ain|af|il|ydd|ed|eg)/,\n        // traditional ordinal numbers above 31 are not commonly used in colloquial Welsh\n        ordinal: function (number) {\n            var b = number,\n                output = '',\n                lookup = [\n                    '', 'af', 'il', 'ydd', 'ydd', 'ed', 'ed', 'ed', 'fed', 'fed', 'fed', // 1af to 10fed\n                    'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'eg', 'fed', 'eg', 'fed' // 11eg to 20fed\n                ];\n            if (b > 20) {\n                if (b === 40 || b === 50 || b === 60 || b === 80 || b === 100) {\n                    output = 'fed'; // not 30ain, 70ain or 90ain\n                } else {\n                    output = 'ain';\n                }\n            } else if (b > 0) {\n                output = lookup[b];\n            }\n            return number + output;\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return cy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var da = moment.defineLocale('da', {\n        months : 'januar_februar_marts_april_maj_juni_juli_august_september_oktober_november_december'.split('_'),\n        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort : 'søn_man_tir_ons_tor_fre_lør'.split('_'),\n        weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D. MMMM YYYY',\n            LLL : 'D. MMMM YYYY HH:mm',\n            LLLL : 'dddd [d.] D. MMMM YYYY [kl.] HH:mm'\n        },\n        calendar : {\n            sameDay : '[i dag kl.] LT',\n            nextDay : '[i morgen kl.] LT',\n            nextWeek : 'på dddd [kl.] LT',\n            lastDay : '[i går kl.] LT',\n            lastWeek : '[i] dddd[s kl.] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'om %s',\n            past : '%s siden',\n            s : 'få sekunder',\n            ss : '%d sekunder',\n            m : 'et minut',\n            mm : '%d minutter',\n            h : 'en time',\n            hh : '%d timer',\n            d : 'en dag',\n            dd : '%d dage',\n            M : 'en måned',\n            MM : '%d måneder',\n            y : 'et år',\n            yy : '%d år'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return da;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            'm': ['eine Minute', 'einer Minute'],\n            'h': ['eine Stunde', 'einer Stunde'],\n            'd': ['ein Tag', 'einem Tag'],\n            'dd': [number + ' Tage', number + ' Tagen'],\n            'M': ['ein Monat', 'einem Monat'],\n            'MM': [number + ' Monate', number + ' Monaten'],\n            'y': ['ein Jahr', 'einem Jahr'],\n            'yy': [number + ' Jahre', number + ' Jahren']\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deAt = moment.defineLocale('de-at', {\n        months : 'Jänner_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n        monthsShort : 'Jän._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n        weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D. MMMM YYYY',\n            LLL : 'D. MMMM YYYY HH:mm',\n            LLLL : 'dddd, D. MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]'\n        },\n        relativeTime : {\n            future : 'in %s',\n            past : 'vor %s',\n            s : 'ein paar Sekunden',\n            ss : '%d Sekunden',\n            m : processRelativeTime,\n            mm : '%d Minuten',\n            h : processRelativeTime,\n            hh : '%d Stunden',\n            d : processRelativeTime,\n            dd : processRelativeTime,\n            M : processRelativeTime,\n            MM : processRelativeTime,\n            y : processRelativeTime,\n            yy : processRelativeTime\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return deAt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            'm': ['eine Minute', 'einer Minute'],\n            'h': ['eine Stunde', 'einer Stunde'],\n            'd': ['ein Tag', 'einem Tag'],\n            'dd': [number + ' Tage', number + ' Tagen'],\n            'M': ['ein Monat', 'einem Monat'],\n            'MM': [number + ' Monate', number + ' Monaten'],\n            'y': ['ein Jahr', 'einem Jahr'],\n            'yy': [number + ' Jahre', number + ' Jahren']\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var deCh = moment.defineLocale('de-ch', {\n        months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n        monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n        weekdaysShort : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D. MMMM YYYY',\n            LLL : 'D. MMMM YYYY HH:mm',\n            LLLL : 'dddd, D. MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]'\n        },\n        relativeTime : {\n            future : 'in %s',\n            past : 'vor %s',\n            s : 'ein paar Sekunden',\n            ss : '%d Sekunden',\n            m : processRelativeTime,\n            mm : '%d Minuten',\n            h : processRelativeTime,\n            hh : '%d Stunden',\n            d : processRelativeTime,\n            dd : processRelativeTime,\n            M : processRelativeTime,\n            MM : processRelativeTime,\n            y : processRelativeTime,\n            yy : processRelativeTime\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return deCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            'm': ['eine Minute', 'einer Minute'],\n            'h': ['eine Stunde', 'einer Stunde'],\n            'd': ['ein Tag', 'einem Tag'],\n            'dd': [number + ' Tage', number + ' Tagen'],\n            'M': ['ein Monat', 'einem Monat'],\n            'MM': [number + ' Monate', number + ' Monaten'],\n            'y': ['ein Jahr', 'einem Jahr'],\n            'yy': [number + ' Jahre', number + ' Jahren']\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var de = moment.defineLocale('de', {\n        months : 'Januar_Februar_März_April_Mai_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n        monthsShort : 'Jan._Feb._März_Apr._Mai_Juni_Juli_Aug._Sep._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'Sonntag_Montag_Dienstag_Mittwoch_Donnerstag_Freitag_Samstag'.split('_'),\n        weekdaysShort : 'So._Mo._Di._Mi._Do._Fr._Sa.'.split('_'),\n        weekdaysMin : 'So_Mo_Di_Mi_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D. MMMM YYYY',\n            LLL : 'D. MMMM YYYY HH:mm',\n            LLLL : 'dddd, D. MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[heute um] LT [Uhr]',\n            sameElse: 'L',\n            nextDay: '[morgen um] LT [Uhr]',\n            nextWeek: 'dddd [um] LT [Uhr]',\n            lastDay: '[gestern um] LT [Uhr]',\n            lastWeek: '[letzten] dddd [um] LT [Uhr]'\n        },\n        relativeTime : {\n            future : 'in %s',\n            past : 'vor %s',\n            s : 'ein paar Sekunden',\n            ss : '%d Sekunden',\n            m : processRelativeTime,\n            mm : '%d Minuten',\n            h : processRelativeTime,\n            hh : '%d Stunden',\n            d : processRelativeTime,\n            dd : processRelativeTime,\n            M : processRelativeTime,\n            MM : processRelativeTime,\n            y : processRelativeTime,\n            yy : processRelativeTime\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return de;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var months = [\n        'ޖެނުއަރީ',\n        'ފެބްރުއަރީ',\n        'މާރިޗު',\n        'އޭޕްރީލު',\n        'މޭ',\n        'ޖޫން',\n        'ޖުލައި',\n        'އޯގަސްޓު',\n        'ސެޕްޓެމްބަރު',\n        'އޮކްޓޯބަރު',\n        'ނޮވެމްބަރު',\n        'ޑިސެމްބަރު'\n    ], weekdays = [\n        'އާދިއްތަ',\n        'ހޯމަ',\n        'އަންގާރަ',\n        'ބުދަ',\n        'ބުރާސްފަތި',\n        'ހުކުރު',\n        'ހޮނިހިރު'\n    ];\n\n    var dv = moment.defineLocale('dv', {\n        months : months,\n        monthsShort : months,\n        weekdays : weekdays,\n        weekdaysShort : weekdays,\n        weekdaysMin : 'އާދި_ހޯމަ_އަން_ބުދަ_ބުރާ_ހުކު_ހޮނި'.split('_'),\n        longDateFormat : {\n\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'D/M/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        meridiemParse: /މކ|މފ/,\n        isPM : function (input) {\n            return 'މފ' === input;\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'މކ';\n            } else {\n                return 'މފ';\n            }\n        },\n        calendar : {\n            sameDay : '[މިއަދު] LT',\n            nextDay : '[މާދަމާ] LT',\n            nextWeek : 'dddd LT',\n            lastDay : '[އިއްޔެ] LT',\n            lastWeek : '[ފާއިތުވި] dddd LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'ތެރޭގައި %s',\n            past : 'ކުރިން %s',\n            s : 'ސިކުންތުކޮޅެއް',\n            ss : 'd% ސިކުންތު',\n            m : 'މިނިޓެއް',\n            mm : 'މިނިޓު %d',\n            h : 'ގަޑިއިރެއް',\n            hh : 'ގަޑިއިރު %d',\n            d : 'ދުވަހެއް',\n            dd : 'ދުވަސް %d',\n            M : 'މަހެއް',\n            MM : 'މަސް %d',\n            y : 'އަހަރެއް',\n            yy : 'އަހަރު %d'\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week : {\n            dow : 7,  // Sunday is the first day of the week.\n            doy : 12  // The week that contains Jan 12th is the first week of the year.\n        }\n    });\n\n    return dv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    function isFunction(input) {\n        return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n    }\n\n\n    var el = moment.defineLocale('el', {\n        monthsNominativeEl : 'Ιανουάριος_Φεβρουάριος_Μάρτιος_Απρίλιος_Μάιος_Ιούνιος_Ιούλιος_Αύγουστος_Σεπτέμβριος_Οκτώβριος_Νοέμβριος_Δεκέμβριος'.split('_'),\n        monthsGenitiveEl : 'Ιανουαρίου_Φεβρουαρίου_Μαρτίου_Απριλίου_Μαΐου_Ιουνίου_Ιουλίου_Αυγούστου_Σεπτεμβρίου_Οκτωβρίου_Νοεμβρίου_Δεκεμβρίου'.split('_'),\n        months : function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return this._monthsNominativeEl;\n            } else if (typeof format === 'string' && /D/.test(format.substring(0, format.indexOf('MMMM')))) { // if there is a day number before 'MMMM'\n                return this._monthsGenitiveEl[momentToFormat.month()];\n            } else {\n                return this._monthsNominativeEl[momentToFormat.month()];\n            }\n        },\n        monthsShort : 'Ιαν_Φεβ_Μαρ_Απρ_Μαϊ_Ιουν_Ιουλ_Αυγ_Σεπ_Οκτ_Νοε_Δεκ'.split('_'),\n        weekdays : 'Κυριακή_Δευτέρα_Τρίτη_Τετάρτη_Πέμπτη_Παρασκευή_Σάββατο'.split('_'),\n        weekdaysShort : 'Κυρ_Δευ_Τρι_Τετ_Πεμ_Παρ_Σαβ'.split('_'),\n        weekdaysMin : 'Κυ_Δε_Τρ_Τε_Πε_Πα_Σα'.split('_'),\n        meridiem : function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'μμ' : 'ΜΜ';\n            } else {\n                return isLower ? 'πμ' : 'ΠΜ';\n            }\n        },\n        isPM : function (input) {\n            return ((input + '').toLowerCase()[0] === 'μ');\n        },\n        meridiemParse : /[ΠΜ]\\.?Μ?\\.?/i,\n        longDateFormat : {\n            LT : 'h:mm A',\n            LTS : 'h:mm:ss A',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY h:mm A',\n            LLLL : 'dddd, D MMMM YYYY h:mm A'\n        },\n        calendarEl : {\n            sameDay : '[Σήμερα {}] LT',\n            nextDay : '[Αύριο {}] LT',\n            nextWeek : 'dddd [{}] LT',\n            lastDay : '[Χθες {}] LT',\n            lastWeek : function () {\n                switch (this.day()) {\n                    case 6:\n                        return '[το προηγούμενο] dddd [{}] LT';\n                    default:\n                        return '[την προηγούμενη] dddd [{}] LT';\n                }\n            },\n            sameElse : 'L'\n        },\n        calendar : function (key, mom) {\n            var output = this._calendarEl[key],\n                hours = mom && mom.hours();\n            if (isFunction(output)) {\n                output = output.apply(mom);\n            }\n            return output.replace('{}', (hours % 12 === 1 ? 'στη' : 'στις'));\n        },\n        relativeTime : {\n            future : 'σε %s',\n            past : '%s πριν',\n            s : 'λίγα δευτερόλεπτα',\n            ss : '%d δευτερόλεπτα',\n            m : 'ένα λεπτό',\n            mm : '%d λεπτά',\n            h : 'μία ώρα',\n            hh : '%d ώρες',\n            d : 'μία μέρα',\n            dd : '%d μέρες',\n            M : 'ένας μήνας',\n            MM : '%d μήνες',\n            y : 'ένας χρόνος',\n            yy : '%d χρόνια'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}η/,\n        ordinal: '%dη',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4st is the first week of the year.\n        }\n    });\n\n    return el;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var enSG = moment.defineLocale('en-SG', {\n        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[Today at] LT',\n            nextDay : '[Tomorrow at] LT',\n            nextWeek : 'dddd [at] LT',\n            lastDay : '[Yesterday at] LT',\n            lastWeek : '[Last] dddd [at] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'in %s',\n            past : '%s ago',\n            s : 'a few seconds',\n            ss : '%d seconds',\n            m : 'a minute',\n            mm : '%d minutes',\n            h : 'an hour',\n            hh : '%d hours',\n            d : 'a day',\n            dd : '%d days',\n            M : 'a month',\n            MM : '%d months',\n            y : 'a year',\n            yy : '%d years'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal : function (number) {\n            var b = number % 10,\n                output = (~~(number % 100 / 10) === 1) ? 'th' :\n                (b === 1) ? 'st' :\n                (b === 2) ? 'nd' :\n                (b === 3) ? 'rd' : 'th';\n            return number + output;\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return enSG;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var enAu = moment.defineLocale('en-au', {\n        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat : {\n            LT : 'h:mm A',\n            LTS : 'h:mm:ss A',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY h:mm A',\n            LLLL : 'dddd, D MMMM YYYY h:mm A'\n        },\n        calendar : {\n            sameDay : '[Today at] LT',\n            nextDay : '[Tomorrow at] LT',\n            nextWeek : 'dddd [at] LT',\n            lastDay : '[Yesterday at] LT',\n            lastWeek : '[Last] dddd [at] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'in %s',\n            past : '%s ago',\n            s : 'a few seconds',\n            ss : '%d seconds',\n            m : 'a minute',\n            mm : '%d minutes',\n            h : 'an hour',\n            hh : '%d hours',\n            d : 'a day',\n            dd : '%d days',\n            M : 'a month',\n            MM : '%d months',\n            y : 'a year',\n            yy : '%d years'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal : function (number) {\n            var b = number % 10,\n                output = (~~(number % 100 / 10) === 1) ? 'th' :\n                (b === 1) ? 'st' :\n                (b === 2) ? 'nd' :\n                (b === 3) ? 'rd' : 'th';\n            return number + output;\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return enAu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var enCa = moment.defineLocale('en-ca', {\n        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat : {\n            LT : 'h:mm A',\n            LTS : 'h:mm:ss A',\n            L : 'YYYY-MM-DD',\n            LL : 'MMMM D, YYYY',\n            LLL : 'MMMM D, YYYY h:mm A',\n            LLLL : 'dddd, MMMM D, YYYY h:mm A'\n        },\n        calendar : {\n            sameDay : '[Today at] LT',\n            nextDay : '[Tomorrow at] LT',\n            nextWeek : 'dddd [at] LT',\n            lastDay : '[Yesterday at] LT',\n            lastWeek : '[Last] dddd [at] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'in %s',\n            past : '%s ago',\n            s : 'a few seconds',\n            ss : '%d seconds',\n            m : 'a minute',\n            mm : '%d minutes',\n            h : 'an hour',\n            hh : '%d hours',\n            d : 'a day',\n            dd : '%d days',\n            M : 'a month',\n            MM : '%d months',\n            y : 'a year',\n            yy : '%d years'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal : function (number) {\n            var b = number % 10,\n                output = (~~(number % 100 / 10) === 1) ? 'th' :\n                (b === 1) ? 'st' :\n                (b === 2) ? 'nd' :\n                (b === 3) ? 'rd' : 'th';\n            return number + output;\n        }\n    });\n\n    return enCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var enGb = moment.defineLocale('en-gb', {\n        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[Today at] LT',\n            nextDay : '[Tomorrow at] LT',\n            nextWeek : 'dddd [at] LT',\n            lastDay : '[Yesterday at] LT',\n            lastWeek : '[Last] dddd [at] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'in %s',\n            past : '%s ago',\n            s : 'a few seconds',\n            ss : '%d seconds',\n            m : 'a minute',\n            mm : '%d minutes',\n            h : 'an hour',\n            hh : '%d hours',\n            d : 'a day',\n            dd : '%d days',\n            M : 'a month',\n            MM : '%d months',\n            y : 'a year',\n            yy : '%d years'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal : function (number) {\n            var b = number % 10,\n                output = (~~(number % 100 / 10) === 1) ? 'th' :\n                (b === 1) ? 'st' :\n                (b === 2) ? 'nd' :\n                (b === 3) ? 'rd' : 'th';\n            return number + output;\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return enGb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var enIe = moment.defineLocale('en-ie', {\n        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[Today at] LT',\n            nextDay : '[Tomorrow at] LT',\n            nextWeek : 'dddd [at] LT',\n            lastDay : '[Yesterday at] LT',\n            lastWeek : '[Last] dddd [at] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'in %s',\n            past : '%s ago',\n            s : 'a few seconds',\n            ss : '%d seconds',\n            m : 'a minute',\n            mm : '%d minutes',\n            h : 'an hour',\n            hh : '%d hours',\n            d : 'a day',\n            dd : '%d days',\n            M : 'a month',\n            MM : '%d months',\n            y : 'a year',\n            yy : '%d years'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal : function (number) {\n            var b = number % 10,\n                output = (~~(number % 100 / 10) === 1) ? 'th' :\n                (b === 1) ? 'st' :\n                (b === 2) ? 'nd' :\n                (b === 3) ? 'rd' : 'th';\n            return number + output;\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return enIe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var enIl = moment.defineLocale('en-il', {\n        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[Today at] LT',\n            nextDay : '[Tomorrow at] LT',\n            nextWeek : 'dddd [at] LT',\n            lastDay : '[Yesterday at] LT',\n            lastWeek : '[Last] dddd [at] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'in %s',\n            past : '%s ago',\n            s : 'a few seconds',\n            m : 'a minute',\n            mm : '%d minutes',\n            h : 'an hour',\n            hh : '%d hours',\n            d : 'a day',\n            dd : '%d days',\n            M : 'a month',\n            MM : '%d months',\n            y : 'a year',\n            yy : '%d years'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal : function (number) {\n            var b = number % 10,\n                output = (~~(number % 100 / 10) === 1) ? 'th' :\n                (b === 1) ? 'st' :\n                (b === 2) ? 'nd' :\n                (b === 3) ? 'rd' : 'th';\n            return number + output;\n        }\n    });\n\n    return enIl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var enNz = moment.defineLocale('en-nz', {\n        months : 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_'),\n        monthsShort : 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_'),\n        weekdays : 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_'),\n        weekdaysShort : 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_'),\n        weekdaysMin : 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_'),\n        longDateFormat : {\n            LT : 'h:mm A',\n            LTS : 'h:mm:ss A',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY h:mm A',\n            LLLL : 'dddd, D MMMM YYYY h:mm A'\n        },\n        calendar : {\n            sameDay : '[Today at] LT',\n            nextDay : '[Tomorrow at] LT',\n            nextWeek : 'dddd [at] LT',\n            lastDay : '[Yesterday at] LT',\n            lastWeek : '[Last] dddd [at] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'in %s',\n            past : '%s ago',\n            s : 'a few seconds',\n            ss : '%d seconds',\n            m : 'a minute',\n            mm : '%d minutes',\n            h : 'an hour',\n            hh : '%d hours',\n            d : 'a day',\n            dd : '%d days',\n            M : 'a month',\n            MM : '%d months',\n            y : 'a year',\n            yy : '%d years'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal : function (number) {\n            var b = number % 10,\n                output = (~~(number % 100 / 10) === 1) ? 'th' :\n                (b === 1) ? 'st' :\n                (b === 2) ? 'nd' :\n                (b === 3) ? 'rd' : 'th';\n            return number + output;\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return enNz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var eo = moment.defineLocale('eo', {\n        months : 'januaro_februaro_marto_aprilo_majo_junio_julio_aŭgusto_septembro_oktobro_novembro_decembro'.split('_'),\n        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aŭg_sep_okt_nov_dec'.split('_'),\n        weekdays : 'dimanĉo_lundo_mardo_merkredo_ĵaŭdo_vendredo_sabato'.split('_'),\n        weekdaysShort : 'dim_lun_mard_merk_ĵaŭ_ven_sab'.split('_'),\n        weekdaysMin : 'di_lu_ma_me_ĵa_ve_sa'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'YYYY-MM-DD',\n            LL : 'D[-a de] MMMM, YYYY',\n            LLL : 'D[-a de] MMMM, YYYY HH:mm',\n            LLLL : 'dddd, [la] D[-a de] MMMM, YYYY HH:mm'\n        },\n        meridiemParse: /[ap]\\.t\\.m/i,\n        isPM: function (input) {\n            return input.charAt(0).toLowerCase() === 'p';\n        },\n        meridiem : function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'p.t.m.' : 'P.T.M.';\n            } else {\n                return isLower ? 'a.t.m.' : 'A.T.M.';\n            }\n        },\n        calendar : {\n            sameDay : '[Hodiaŭ je] LT',\n            nextDay : '[Morgaŭ je] LT',\n            nextWeek : 'dddd [je] LT',\n            lastDay : '[Hieraŭ je] LT',\n            lastWeek : '[pasinta] dddd [je] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'post %s',\n            past : 'antaŭ %s',\n            s : 'sekundoj',\n            ss : '%d sekundoj',\n            m : 'minuto',\n            mm : '%d minutoj',\n            h : 'horo',\n            hh : '%d horoj',\n            d : 'tago',//ne 'diurno', ĉar estas uzita por proksimumo\n            dd : '%d tagoj',\n            M : 'monato',\n            MM : '%d monatoj',\n            y : 'jaro',\n            yy : '%d jaroj'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}a/,\n        ordinal : '%da',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return eo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n    var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n    var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esDo = moment.defineLocale('es-do', {\n        months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n        monthsShort : function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'h:mm A',\n            LTS : 'h:mm:ss A',\n            L : 'DD/MM/YYYY',\n            LL : 'D [de] MMMM [de] YYYY',\n            LLL : 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n        },\n        calendar : {\n            sameDay : function () {\n                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            nextDay : function () {\n                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            nextWeek : function () {\n                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            lastDay : function () {\n                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            lastWeek : function () {\n                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'en %s',\n            past : 'hace %s',\n            s : 'unos segundos',\n            ss : '%d segundos',\n            m : 'un minuto',\n            mm : '%d minutos',\n            h : 'una hora',\n            hh : '%d horas',\n            d : 'un día',\n            dd : '%d días',\n            M : 'un mes',\n            MM : '%d meses',\n            y : 'un año',\n            yy : '%d años'\n        },\n        dayOfMonthOrdinalParse : /\\d{1,2}º/,\n        ordinal : '%dº',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return esDo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n    var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n    var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var esUs = moment.defineLocale('es-us', {\n        months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n        monthsShort : function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex: /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse: monthsParse,\n        longMonthsParse: monthsParse,\n        shortMonthsParse: monthsParse,\n        weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'h:mm A',\n            LTS : 'h:mm:ss A',\n            L : 'MM/DD/YYYY',\n            LL : 'D [de] MMMM [de] YYYY',\n            LLL : 'D [de] MMMM [de] YYYY h:mm A',\n            LLLL : 'dddd, D [de] MMMM [de] YYYY h:mm A'\n        },\n        calendar : {\n            sameDay : function () {\n                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            nextDay : function () {\n                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            nextWeek : function () {\n                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            lastDay : function () {\n                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            lastWeek : function () {\n                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'en %s',\n            past : 'hace %s',\n            s : 'unos segundos',\n            ss : '%d segundos',\n            m : 'un minuto',\n            mm : '%d minutos',\n            h : 'una hora',\n            hh : '%d horas',\n            d : 'un día',\n            dd : '%d días',\n            M : 'un mes',\n            MM : '%d meses',\n            y : 'un año',\n            yy : '%d años'\n        },\n        dayOfMonthOrdinalParse : /\\d{1,2}º/,\n        ordinal : '%dº',\n        week : {\n            dow : 0, // Sunday is the first day of the week.\n            doy : 6  // The week that contains Jan 6th is the first week of the year.\n        }\n    });\n\n    return esUs;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n        monthsShort = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\n    var monthsParse = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\n    var monthsRegex = /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre|ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i;\n\n    var es = moment.defineLocale('es', {\n        months : 'enero_febrero_marzo_abril_mayo_junio_julio_agosto_septiembre_octubre_noviembre_diciembre'.split('_'),\n        monthsShort : function (m, format) {\n            if (!m) {\n                return monthsShortDot;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShort[m.month()];\n            } else {\n                return monthsShortDot[m.month()];\n            }\n        },\n        monthsRegex : monthsRegex,\n        monthsShortRegex : monthsRegex,\n        monthsStrictRegex : /^(enero|febrero|marzo|abril|mayo|junio|julio|agosto|septiembre|octubre|noviembre|diciembre)/i,\n        monthsShortStrictRegex : /^(ene\\.?|feb\\.?|mar\\.?|abr\\.?|may\\.?|jun\\.?|jul\\.?|ago\\.?|sep\\.?|oct\\.?|nov\\.?|dic\\.?)/i,\n        monthsParse : monthsParse,\n        longMonthsParse : monthsParse,\n        shortMonthsParse : monthsParse,\n        weekdays : 'domingo_lunes_martes_miércoles_jueves_viernes_sábado'.split('_'),\n        weekdaysShort : 'dom._lun._mar._mié._jue._vie._sáb.'.split('_'),\n        weekdaysMin : 'do_lu_ma_mi_ju_vi_sá'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D [de] MMMM [de] YYYY',\n            LLL : 'D [de] MMMM [de] YYYY H:mm',\n            LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n        },\n        calendar : {\n            sameDay : function () {\n                return '[hoy a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            nextDay : function () {\n                return '[mañana a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            nextWeek : function () {\n                return 'dddd [a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            lastDay : function () {\n                return '[ayer a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            lastWeek : function () {\n                return '[el] dddd [pasado a la' + ((this.hours() !== 1) ? 's' : '') + '] LT';\n            },\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'en %s',\n            past : 'hace %s',\n            s : 'unos segundos',\n            ss : '%d segundos',\n            m : 'un minuto',\n            mm : '%d minutos',\n            h : 'una hora',\n            hh : '%d horas',\n            d : 'un día',\n            dd : '%d días',\n            M : 'un mes',\n            MM : '%d meses',\n            y : 'un año',\n            yy : '%d años'\n        },\n        dayOfMonthOrdinalParse : /\\d{1,2}º/,\n        ordinal : '%dº',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return es;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            's' : ['mõne sekundi', 'mõni sekund', 'paar sekundit'],\n            'ss': [number + 'sekundi', number + 'sekundit'],\n            'm' : ['ühe minuti', 'üks minut'],\n            'mm': [number + ' minuti', number + ' minutit'],\n            'h' : ['ühe tunni', 'tund aega', 'üks tund'],\n            'hh': [number + ' tunni', number + ' tundi'],\n            'd' : ['ühe päeva', 'üks päev'],\n            'M' : ['kuu aja', 'kuu aega', 'üks kuu'],\n            'MM': [number + ' kuu', number + ' kuud'],\n            'y' : ['ühe aasta', 'aasta', 'üks aasta'],\n            'yy': [number + ' aasta', number + ' aastat']\n        };\n        if (withoutSuffix) {\n            return format[key][2] ? format[key][2] : format[key][1];\n        }\n        return isFuture ? format[key][0] : format[key][1];\n    }\n\n    var et = moment.defineLocale('et', {\n        months        : 'jaanuar_veebruar_märts_aprill_mai_juuni_juuli_august_september_oktoober_november_detsember'.split('_'),\n        monthsShort   : 'jaan_veebr_märts_apr_mai_juuni_juuli_aug_sept_okt_nov_dets'.split('_'),\n        weekdays      : 'pühapäev_esmaspäev_teisipäev_kolmapäev_neljapäev_reede_laupäev'.split('_'),\n        weekdaysShort : 'P_E_T_K_N_R_L'.split('_'),\n        weekdaysMin   : 'P_E_T_K_N_R_L'.split('_'),\n        longDateFormat : {\n            LT   : 'H:mm',\n            LTS : 'H:mm:ss',\n            L    : 'DD.MM.YYYY',\n            LL   : 'D. MMMM YYYY',\n            LLL  : 'D. MMMM YYYY H:mm',\n            LLLL : 'dddd, D. MMMM YYYY H:mm'\n        },\n        calendar : {\n            sameDay  : '[Täna,] LT',\n            nextDay  : '[Homme,] LT',\n            nextWeek : '[Järgmine] dddd LT',\n            lastDay  : '[Eile,] LT',\n            lastWeek : '[Eelmine] dddd LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s pärast',\n            past   : '%s tagasi',\n            s      : processRelativeTime,\n            ss     : processRelativeTime,\n            m      : processRelativeTime,\n            mm     : processRelativeTime,\n            h      : processRelativeTime,\n            hh     : processRelativeTime,\n            d      : processRelativeTime,\n            dd     : '%d päeva',\n            M      : processRelativeTime,\n            MM     : processRelativeTime,\n            y      : processRelativeTime,\n            yy     : processRelativeTime\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return et;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var eu = moment.defineLocale('eu', {\n        months : 'urtarrila_otsaila_martxoa_apirila_maiatza_ekaina_uztaila_abuztua_iraila_urria_azaroa_abendua'.split('_'),\n        monthsShort : 'urt._ots._mar._api._mai._eka._uzt._abu._ira._urr._aza._abe.'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'igandea_astelehena_asteartea_asteazkena_osteguna_ostirala_larunbata'.split('_'),\n        weekdaysShort : 'ig._al._ar._az._og._ol._lr.'.split('_'),\n        weekdaysMin : 'ig_al_ar_az_og_ol_lr'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'YYYY-MM-DD',\n            LL : 'YYYY[ko] MMMM[ren] D[a]',\n            LLL : 'YYYY[ko] MMMM[ren] D[a] HH:mm',\n            LLLL : 'dddd, YYYY[ko] MMMM[ren] D[a] HH:mm',\n            l : 'YYYY-M-D',\n            ll : 'YYYY[ko] MMM D[a]',\n            lll : 'YYYY[ko] MMM D[a] HH:mm',\n            llll : 'ddd, YYYY[ko] MMM D[a] HH:mm'\n        },\n        calendar : {\n            sameDay : '[gaur] LT[etan]',\n            nextDay : '[bihar] LT[etan]',\n            nextWeek : 'dddd LT[etan]',\n            lastDay : '[atzo] LT[etan]',\n            lastWeek : '[aurreko] dddd LT[etan]',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s barru',\n            past : 'duela %s',\n            s : 'segundo batzuk',\n            ss : '%d segundo',\n            m : 'minutu bat',\n            mm : '%d minutu',\n            h : 'ordu bat',\n            hh : '%d ordu',\n            d : 'egun bat',\n            dd : '%d egun',\n            M : 'hilabete bat',\n            MM : '%d hilabete',\n            y : 'urte bat',\n            yy : '%d urte'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return eu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '۱',\n        '2': '۲',\n        '3': '۳',\n        '4': '۴',\n        '5': '۵',\n        '6': '۶',\n        '7': '۷',\n        '8': '۸',\n        '9': '۹',\n        '0': '۰'\n    }, numberMap = {\n        '۱': '1',\n        '۲': '2',\n        '۳': '3',\n        '۴': '4',\n        '۵': '5',\n        '۶': '6',\n        '۷': '7',\n        '۸': '8',\n        '۹': '9',\n        '۰': '0'\n    };\n\n    var fa = moment.defineLocale('fa', {\n        months : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n        monthsShort : 'ژانویه_فوریه_مارس_آوریل_مه_ژوئن_ژوئیه_اوت_سپتامبر_اکتبر_نوامبر_دسامبر'.split('_'),\n        weekdays : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n        weekdaysShort : 'یک\\u200cشنبه_دوشنبه_سه\\u200cشنبه_چهارشنبه_پنج\\u200cشنبه_جمعه_شنبه'.split('_'),\n        weekdaysMin : 'ی_د_س_چ_پ_ج_ش'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        meridiemParse: /قبل از ظهر|بعد از ظهر/,\n        isPM: function (input) {\n            return /بعد از ظهر/.test(input);\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'قبل از ظهر';\n            } else {\n                return 'بعد از ظهر';\n            }\n        },\n        calendar : {\n            sameDay : '[امروز ساعت] LT',\n            nextDay : '[فردا ساعت] LT',\n            nextWeek : 'dddd [ساعت] LT',\n            lastDay : '[دیروز ساعت] LT',\n            lastWeek : 'dddd [پیش] [ساعت] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'در %s',\n            past : '%s پیش',\n            s : 'چند ثانیه',\n            ss : 'ثانیه d%',\n            m : 'یک دقیقه',\n            mm : '%d دقیقه',\n            h : 'یک ساعت',\n            hh : '%d ساعت',\n            d : 'یک روز',\n            dd : '%d روز',\n            M : 'یک ماه',\n            MM : '%d ماه',\n            y : 'یک سال',\n            yy : '%d سال'\n        },\n        preparse: function (string) {\n            return string.replace(/[۰-۹]/g, function (match) {\n                return numberMap[match];\n            }).replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            }).replace(/,/g, '،');\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}م/,\n        ordinal : '%dم',\n        week : {\n            dow : 6, // Saturday is the first day of the week.\n            doy : 12 // The week that contains Jan 12th is the first week of the year.\n        }\n    });\n\n    return fa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var numbersPast = 'nolla yksi kaksi kolme neljä viisi kuusi seitsemän kahdeksan yhdeksän'.split(' '),\n        numbersFuture = [\n            'nolla', 'yhden', 'kahden', 'kolmen', 'neljän', 'viiden', 'kuuden',\n            numbersPast[7], numbersPast[8], numbersPast[9]\n        ];\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = '';\n        switch (key) {\n            case 's':\n                return isFuture ? 'muutaman sekunnin' : 'muutama sekunti';\n            case 'ss':\n                return isFuture ? 'sekunnin' : 'sekuntia';\n            case 'm':\n                return isFuture ? 'minuutin' : 'minuutti';\n            case 'mm':\n                result = isFuture ? 'minuutin' : 'minuuttia';\n                break;\n            case 'h':\n                return isFuture ? 'tunnin' : 'tunti';\n            case 'hh':\n                result = isFuture ? 'tunnin' : 'tuntia';\n                break;\n            case 'd':\n                return isFuture ? 'päivän' : 'päivä';\n            case 'dd':\n                result = isFuture ? 'päivän' : 'päivää';\n                break;\n            case 'M':\n                return isFuture ? 'kuukauden' : 'kuukausi';\n            case 'MM':\n                result = isFuture ? 'kuukauden' : 'kuukautta';\n                break;\n            case 'y':\n                return isFuture ? 'vuoden' : 'vuosi';\n            case 'yy':\n                result = isFuture ? 'vuoden' : 'vuotta';\n                break;\n        }\n        result = verbalNumber(number, isFuture) + ' ' + result;\n        return result;\n    }\n    function verbalNumber(number, isFuture) {\n        return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n    }\n\n    var fi = moment.defineLocale('fi', {\n        months : 'tammikuu_helmikuu_maaliskuu_huhtikuu_toukokuu_kesäkuu_heinäkuu_elokuu_syyskuu_lokakuu_marraskuu_joulukuu'.split('_'),\n        monthsShort : 'tammi_helmi_maalis_huhti_touko_kesä_heinä_elo_syys_loka_marras_joulu'.split('_'),\n        weekdays : 'sunnuntai_maanantai_tiistai_keskiviikko_torstai_perjantai_lauantai'.split('_'),\n        weekdaysShort : 'su_ma_ti_ke_to_pe_la'.split('_'),\n        weekdaysMin : 'su_ma_ti_ke_to_pe_la'.split('_'),\n        longDateFormat : {\n            LT : 'HH.mm',\n            LTS : 'HH.mm.ss',\n            L : 'DD.MM.YYYY',\n            LL : 'Do MMMM[ta] YYYY',\n            LLL : 'Do MMMM[ta] YYYY, [klo] HH.mm',\n            LLLL : 'dddd, Do MMMM[ta] YYYY, [klo] HH.mm',\n            l : 'D.M.YYYY',\n            ll : 'Do MMM YYYY',\n            lll : 'Do MMM YYYY, [klo] HH.mm',\n            llll : 'ddd, Do MMM YYYY, [klo] HH.mm'\n        },\n        calendar : {\n            sameDay : '[tänään] [klo] LT',\n            nextDay : '[huomenna] [klo] LT',\n            nextWeek : 'dddd [klo] LT',\n            lastDay : '[eilen] [klo] LT',\n            lastWeek : '[viime] dddd[na] [klo] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s päästä',\n            past : '%s sitten',\n            s : translate,\n            ss : translate,\n            m : translate,\n            mm : translate,\n            h : translate,\n            hh : translate,\n            d : translate,\n            dd : translate,\n            M : translate,\n            MM : translate,\n            y : translate,\n            yy : translate\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return fi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var fo = moment.defineLocale('fo', {\n        months : 'januar_februar_mars_apríl_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n        monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n        weekdays : 'sunnudagur_mánadagur_týsdagur_mikudagur_hósdagur_fríggjadagur_leygardagur'.split('_'),\n        weekdaysShort : 'sun_mán_týs_mik_hós_frí_ley'.split('_'),\n        weekdaysMin : 'su_má_tý_mi_hó_fr_le'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D. MMMM, YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[Í dag kl.] LT',\n            nextDay : '[Í morgin kl.] LT',\n            nextWeek : 'dddd [kl.] LT',\n            lastDay : '[Í gjár kl.] LT',\n            lastWeek : '[síðstu] dddd [kl] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'um %s',\n            past : '%s síðani',\n            s : 'fá sekund',\n            ss : '%d sekundir',\n            m : 'ein minuttur',\n            mm : '%d minuttir',\n            h : 'ein tími',\n            hh : '%d tímar',\n            d : 'ein dagur',\n            dd : '%d dagar',\n            M : 'ein mánaður',\n            MM : '%d mánaðir',\n            y : 'eitt ár',\n            yy : '%d ár'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return fo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var frCa = moment.defineLocale('fr-ca', {\n        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'YYYY-MM-DD',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[Aujourd’hui à] LT',\n            nextDay : '[Demain à] LT',\n            nextWeek : 'dddd [à] LT',\n            lastDay : '[Hier à] LT',\n            lastWeek : 'dddd [dernier à] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'dans %s',\n            past : 'il y a %s',\n            s : 'quelques secondes',\n            ss : '%d secondes',\n            m : 'une minute',\n            mm : '%d minutes',\n            h : 'une heure',\n            hh : '%d heures',\n            d : 'un jour',\n            dd : '%d jours',\n            M : 'un mois',\n            MM : '%d mois',\n            y : 'un an',\n            yy : '%d ans'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal : function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        }\n    });\n\n    return frCa;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var frCh = moment.defineLocale('fr-ch', {\n        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[Aujourd’hui à] LT',\n            nextDay : '[Demain à] LT',\n            nextWeek : 'dddd [à] LT',\n            lastDay : '[Hier à] LT',\n            lastWeek : 'dddd [dernier à] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'dans %s',\n            past : 'il y a %s',\n            s : 'quelques secondes',\n            ss : '%d secondes',\n            m : 'une minute',\n            mm : '%d minutes',\n            h : 'une heure',\n            hh : '%d heures',\n            d : 'un jour',\n            dd : '%d jours',\n            M : 'un mois',\n            MM : '%d mois',\n            y : 'un an',\n            yy : '%d ans'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|e)/,\n        ordinal : function (number, period) {\n            switch (period) {\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'D':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return frCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var fr = moment.defineLocale('fr', {\n        months : 'janvier_février_mars_avril_mai_juin_juillet_août_septembre_octobre_novembre_décembre'.split('_'),\n        monthsShort : 'janv._févr._mars_avr._mai_juin_juil._août_sept._oct._nov._déc.'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'dimanche_lundi_mardi_mercredi_jeudi_vendredi_samedi'.split('_'),\n        weekdaysShort : 'dim._lun._mar._mer._jeu._ven._sam.'.split('_'),\n        weekdaysMin : 'di_lu_ma_me_je_ve_sa'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[Aujourd’hui à] LT',\n            nextDay : '[Demain à] LT',\n            nextWeek : 'dddd [à] LT',\n            lastDay : '[Hier à] LT',\n            lastWeek : 'dddd [dernier à] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'dans %s',\n            past : 'il y a %s',\n            s : 'quelques secondes',\n            ss : '%d secondes',\n            m : 'une minute',\n            mm : '%d minutes',\n            h : 'une heure',\n            hh : '%d heures',\n            d : 'un jour',\n            dd : '%d jours',\n            M : 'un mois',\n            MM : '%d mois',\n            y : 'un an',\n            yy : '%d ans'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(er|)/,\n        ordinal : function (number, period) {\n            switch (period) {\n                // TODO: Return 'e' when day of month > 1. Move this case inside\n                // block for masculine words below.\n                // See https://github.com/moment/moment/issues/3375\n                case 'D':\n                    return number + (number === 1 ? 'er' : '');\n\n                // Words with masculine grammatical gender: mois, trimestre, jour\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                    return number + (number === 1 ? 'er' : 'e');\n\n                // Words with feminine grammatical gender: semaine\n                case 'w':\n                case 'W':\n                    return number + (number === 1 ? 're' : 'e');\n            }\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return fr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var monthsShortWithDots = 'jan._feb._mrt._apr._mai_jun._jul._aug._sep._okt._nov._des.'.split('_'),\n        monthsShortWithoutDots = 'jan_feb_mrt_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_');\n\n    var fy = moment.defineLocale('fy', {\n        months : 'jannewaris_febrewaris_maart_april_maaie_juny_july_augustus_septimber_oktober_novimber_desimber'.split('_'),\n        monthsShort : function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n        monthsParseExact : true,\n        weekdays : 'snein_moandei_tiisdei_woansdei_tongersdei_freed_sneon'.split('_'),\n        weekdaysShort : 'si._mo._ti._wo._to._fr._so.'.split('_'),\n        weekdaysMin : 'Si_Mo_Ti_Wo_To_Fr_So'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD-MM-YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[hjoed om] LT',\n            nextDay: '[moarn om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[juster om] LT',\n            lastWeek: '[ôfrûne] dddd [om] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'oer %s',\n            past : '%s lyn',\n            s : 'in pear sekonden',\n            ss : '%d sekonden',\n            m : 'ien minút',\n            mm : '%d minuten',\n            h : 'ien oere',\n            hh : '%d oeren',\n            d : 'ien dei',\n            dd : '%d dagen',\n            M : 'ien moanne',\n            MM : '%d moannen',\n            y : 'ien jier',\n            yy : '%d jierren'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal : function (number) {\n            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return fy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n\n    var months = [\n        'Eanáir', 'Feabhra', 'Márta', 'Aibreán', 'Bealtaine', 'Méitheamh', 'Iúil', 'Lúnasa', 'Meán Fómhair', 'Deaireadh Fómhair', 'Samhain', 'Nollaig'\n    ];\n\n    var monthsShort = ['Eaná', 'Feab', 'Márt', 'Aibr', 'Beal', 'Méit', 'Iúil', 'Lúna', 'Meán', 'Deai', 'Samh', 'Noll'];\n\n    var weekdays = ['Dé Domhnaigh', 'Dé Luain', 'Dé Máirt', 'Dé Céadaoin', 'Déardaoin', 'Dé hAoine', 'Dé Satharn'];\n\n    var weekdaysShort = ['Dom', 'Lua', 'Mái', 'Céa', 'Déa', 'hAo', 'Sat'];\n\n    var weekdaysMin = ['Do', 'Lu', 'Má', 'Ce', 'Dé', 'hA', 'Sa'];\n\n    var ga = moment.defineLocale('ga', {\n        months: months,\n        monthsShort: monthsShort,\n        monthsParseExact: true,\n        weekdays: weekdays,\n        weekdaysShort: weekdaysShort,\n        weekdaysMin: weekdaysMin,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar: {\n            sameDay: '[Inniu ag] LT',\n            nextDay: '[Amárach ag] LT',\n            nextWeek: 'dddd [ag] LT',\n            lastDay: '[Inné aig] LT',\n            lastWeek: 'dddd [seo caite] [ag] LT',\n            sameElse: 'L'\n        },\n        relativeTime: {\n            future: 'i %s',\n            past: '%s ó shin',\n            s: 'cúpla soicind',\n            ss: '%d soicind',\n            m: 'nóiméad',\n            mm: '%d nóiméad',\n            h: 'uair an chloig',\n            hh: '%d uair an chloig',\n            d: 'lá',\n            dd: '%d lá',\n            M: 'mí',\n            MM: '%d mí',\n            y: 'bliain',\n            yy: '%d bliain'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(d|na|mh)/,\n        ordinal: function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return ga;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var months = [\n        'Am Faoilleach', 'An Gearran', 'Am Màrt', 'An Giblean', 'An Cèitean', 'An t-Ògmhios', 'An t-Iuchar', 'An Lùnastal', 'An t-Sultain', 'An Dàmhair', 'An t-Samhain', 'An Dùbhlachd'\n    ];\n\n    var monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\n    var weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\n    var weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\n    var weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\n    var gd = moment.defineLocale('gd', {\n        months : months,\n        monthsShort : monthsShort,\n        monthsParseExact : true,\n        weekdays : weekdays,\n        weekdaysShort : weekdaysShort,\n        weekdaysMin : weekdaysMin,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[An-diugh aig] LT',\n            nextDay : '[A-màireach aig] LT',\n            nextWeek : 'dddd [aig] LT',\n            lastDay : '[An-dè aig] LT',\n            lastWeek : 'dddd [seo chaidh] [aig] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'ann an %s',\n            past : 'bho chionn %s',\n            s : 'beagan diogan',\n            ss : '%d diogan',\n            m : 'mionaid',\n            mm : '%d mionaidean',\n            h : 'uair',\n            hh : '%d uairean',\n            d : 'latha',\n            dd : '%d latha',\n            M : 'mìos',\n            MM : '%d mìosan',\n            y : 'bliadhna',\n            yy : '%d bliadhna'\n        },\n        dayOfMonthOrdinalParse : /\\d{1,2}(d|na|mh)/,\n        ordinal : function (number) {\n            var output = number === 1 ? 'd' : number % 10 === 2 ? 'na' : 'mh';\n            return number + output;\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return gd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var gl = moment.defineLocale('gl', {\n        months : 'xaneiro_febreiro_marzo_abril_maio_xuño_xullo_agosto_setembro_outubro_novembro_decembro'.split('_'),\n        monthsShort : 'xan._feb._mar._abr._mai._xuñ._xul._ago._set._out._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays : 'domingo_luns_martes_mércores_xoves_venres_sábado'.split('_'),\n        weekdaysShort : 'dom._lun._mar._mér._xov._ven._sáb.'.split('_'),\n        weekdaysMin : 'do_lu_ma_mé_xo_ve_sá'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D [de] MMMM [de] YYYY',\n            LLL : 'D [de] MMMM [de] YYYY H:mm',\n            LLLL : 'dddd, D [de] MMMM [de] YYYY H:mm'\n        },\n        calendar : {\n            sameDay : function () {\n                return '[hoxe ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n            },\n            nextDay : function () {\n                return '[mañá ' + ((this.hours() !== 1) ? 'ás' : 'á') + '] LT';\n            },\n            nextWeek : function () {\n                return 'dddd [' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n            },\n            lastDay : function () {\n                return '[onte ' + ((this.hours() !== 1) ? 'á' : 'a') + '] LT';\n            },\n            lastWeek : function () {\n                return '[o] dddd [pasado ' + ((this.hours() !== 1) ? 'ás' : 'a') + '] LT';\n            },\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : function (str) {\n                if (str.indexOf('un') === 0) {\n                    return 'n' + str;\n                }\n                return 'en ' + str;\n            },\n            past : 'hai %s',\n            s : 'uns segundos',\n            ss : '%d segundos',\n            m : 'un minuto',\n            mm : '%d minutos',\n            h : 'unha hora',\n            hh : '%d horas',\n            d : 'un día',\n            dd : '%d días',\n            M : 'un mes',\n            MM : '%d meses',\n            y : 'un ano',\n            yy : '%d anos'\n        },\n        dayOfMonthOrdinalParse : /\\d{1,2}º/,\n        ordinal : '%dº',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return gl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            's': ['thodde secondanim', 'thodde second'],\n            'ss': [number + ' secondanim', number + ' second'],\n            'm': ['eka mintan', 'ek minute'],\n            'mm': [number + ' mintanim', number + ' mintam'],\n            'h': ['eka voran', 'ek vor'],\n            'hh': [number + ' voranim', number + ' voram'],\n            'd': ['eka disan', 'ek dis'],\n            'dd': [number + ' disanim', number + ' dis'],\n            'M': ['eka mhoinean', 'ek mhoino'],\n            'MM': [number + ' mhoineanim', number + ' mhoine'],\n            'y': ['eka vorsan', 'ek voros'],\n            'yy': [number + ' vorsanim', number + ' vorsam']\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n\n    var gomLatn = moment.defineLocale('gom-latn', {\n        months : 'Janer_Febrer_Mars_Abril_Mai_Jun_Julai_Agost_Setembr_Otubr_Novembr_Dezembr'.split('_'),\n        monthsShort : 'Jan._Feb._Mars_Abr._Mai_Jun_Jul._Ago._Set._Otu._Nov._Dez.'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'Aitar_Somar_Mongllar_Budvar_Brestar_Sukrar_Son\\'var'.split('_'),\n        weekdaysShort : 'Ait._Som._Mon._Bud._Bre._Suk._Son.'.split('_'),\n        weekdaysMin : 'Ai_Sm_Mo_Bu_Br_Su_Sn'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'A h:mm [vazta]',\n            LTS : 'A h:mm:ss [vazta]',\n            L : 'DD-MM-YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY A h:mm [vazta]',\n            LLLL : 'dddd, MMMM[achea] Do, YYYY, A h:mm [vazta]',\n            llll: 'ddd, D MMM YYYY, A h:mm [vazta]'\n        },\n        calendar : {\n            sameDay: '[Aiz] LT',\n            nextDay: '[Faleam] LT',\n            nextWeek: '[Ieta to] dddd[,] LT',\n            lastDay: '[Kal] LT',\n            lastWeek: '[Fatlo] dddd[,] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : '%s',\n            past : '%s adim',\n            s : processRelativeTime,\n            ss : processRelativeTime,\n            m : processRelativeTime,\n            mm : processRelativeTime,\n            h : processRelativeTime,\n            hh : processRelativeTime,\n            d : processRelativeTime,\n            dd : processRelativeTime,\n            M : processRelativeTime,\n            MM : processRelativeTime,\n            y : processRelativeTime,\n            yy : processRelativeTime\n        },\n        dayOfMonthOrdinalParse : /\\d{1,2}(er)/,\n        ordinal : function (number, period) {\n            switch (period) {\n                // the ordinal 'er' only applies to day of the month\n                case 'D':\n                    return number + 'er';\n                default:\n                case 'M':\n                case 'Q':\n                case 'DDD':\n                case 'd':\n                case 'w':\n                case 'W':\n                    return number;\n            }\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        },\n        meridiemParse: /rati|sokalli|donparam|sanje/,\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'rati') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'sokalli') {\n                return hour;\n            } else if (meridiem === 'donparam') {\n                return hour > 12 ? hour : hour + 12;\n            } else if (meridiem === 'sanje') {\n                return hour + 12;\n            }\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'rati';\n            } else if (hour < 12) {\n                return 'sokalli';\n            } else if (hour < 16) {\n                return 'donparam';\n            } else if (hour < 20) {\n                return 'sanje';\n            } else {\n                return 'rati';\n            }\n        }\n    });\n\n    return gomLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n            '1': '૧',\n            '2': '૨',\n            '3': '૩',\n            '4': '૪',\n            '5': '૫',\n            '6': '૬',\n            '7': '૭',\n            '8': '૮',\n            '9': '૯',\n            '0': '૦'\n        },\n        numberMap = {\n            '૧': '1',\n            '૨': '2',\n            '૩': '3',\n            '૪': '4',\n            '૫': '5',\n            '૬': '6',\n            '૭': '7',\n            '૮': '8',\n            '૯': '9',\n            '૦': '0'\n        };\n\n    var gu = moment.defineLocale('gu', {\n        months: 'જાન્યુઆરી_ફેબ્રુઆરી_માર્ચ_એપ્રિલ_મે_જૂન_જુલાઈ_ઑગસ્ટ_સપ્ટેમ્બર_ઑક્ટ્બર_નવેમ્બર_ડિસેમ્બર'.split('_'),\n        monthsShort: 'જાન્યુ._ફેબ્રુ._માર્ચ_એપ્રિ._મે_જૂન_જુલા._ઑગ._સપ્ટે._ઑક્ટ્._નવે._ડિસે.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'રવિવાર_સોમવાર_મંગળવાર_બુધ્વાર_ગુરુવાર_શુક્રવાર_શનિવાર'.split('_'),\n        weekdaysShort: 'રવિ_સોમ_મંગળ_બુધ્_ગુરુ_શુક્ર_શનિ'.split('_'),\n        weekdaysMin: 'ર_સો_મં_બુ_ગુ_શુ_શ'.split('_'),\n        longDateFormat: {\n            LT: 'A h:mm વાગ્યે',\n            LTS: 'A h:mm:ss વાગ્યે',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY, A h:mm વાગ્યે',\n            LLLL: 'dddd, D MMMM YYYY, A h:mm વાગ્યે'\n        },\n        calendar: {\n            sameDay: '[આજ] LT',\n            nextDay: '[કાલે] LT',\n            nextWeek: 'dddd, LT',\n            lastDay: '[ગઇકાલે] LT',\n            lastWeek: '[પાછલા] dddd, LT',\n            sameElse: 'L'\n        },\n        relativeTime: {\n            future: '%s મા',\n            past: '%s પેહલા',\n            s: 'અમુક પળો',\n            ss: '%d સેકંડ',\n            m: 'એક મિનિટ',\n            mm: '%d મિનિટ',\n            h: 'એક કલાક',\n            hh: '%d કલાક',\n            d: 'એક દિવસ',\n            dd: '%d દિવસ',\n            M: 'એક મહિનો',\n            MM: '%d મહિનો',\n            y: 'એક વર્ષ',\n            yy: '%d વર્ષ'\n        },\n        preparse: function (string) {\n            return string.replace(/[૧૨૩૪૫૬૭૮૯૦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Gujarati notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Gujarati.\n        meridiemParse: /રાત|બપોર|સવાર|સાંજ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'રાત') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'સવાર') {\n                return hour;\n            } else if (meridiem === 'બપોર') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'સાંજ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'રાત';\n            } else if (hour < 10) {\n                return 'સવાર';\n            } else if (hour < 17) {\n                return 'બપોર';\n            } else if (hour < 20) {\n                return 'સાંજ';\n            } else {\n                return 'રાત';\n            }\n        },\n        week: {\n            dow: 0, // Sunday is the first day of the week.\n            doy: 6 // The week that contains Jan 6th is the first week of the year.\n        }\n    });\n\n    return gu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var he = moment.defineLocale('he', {\n        months : 'ינואר_פברואר_מרץ_אפריל_מאי_יוני_יולי_אוגוסט_ספטמבר_אוקטובר_נובמבר_דצמבר'.split('_'),\n        monthsShort : 'ינו׳_פבר׳_מרץ_אפר׳_מאי_יוני_יולי_אוג׳_ספט׳_אוק׳_נוב׳_דצמ׳'.split('_'),\n        weekdays : 'ראשון_שני_שלישי_רביעי_חמישי_שישי_שבת'.split('_'),\n        weekdaysShort : 'א׳_ב׳_ג׳_ד׳_ה׳_ו׳_ש׳'.split('_'),\n        weekdaysMin : 'א_ב_ג_ד_ה_ו_ש'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D [ב]MMMM YYYY',\n            LLL : 'D [ב]MMMM YYYY HH:mm',\n            LLLL : 'dddd, D [ב]MMMM YYYY HH:mm',\n            l : 'D/M/YYYY',\n            ll : 'D MMM YYYY',\n            lll : 'D MMM YYYY HH:mm',\n            llll : 'ddd, D MMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[היום ב־]LT',\n            nextDay : '[מחר ב־]LT',\n            nextWeek : 'dddd [בשעה] LT',\n            lastDay : '[אתמול ב־]LT',\n            lastWeek : '[ביום] dddd [האחרון בשעה] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'בעוד %s',\n            past : 'לפני %s',\n            s : 'מספר שניות',\n            ss : '%d שניות',\n            m : 'דקה',\n            mm : '%d דקות',\n            h : 'שעה',\n            hh : function (number) {\n                if (number === 2) {\n                    return 'שעתיים';\n                }\n                return number + ' שעות';\n            },\n            d : 'יום',\n            dd : function (number) {\n                if (number === 2) {\n                    return 'יומיים';\n                }\n                return number + ' ימים';\n            },\n            M : 'חודש',\n            MM : function (number) {\n                if (number === 2) {\n                    return 'חודשיים';\n                }\n                return number + ' חודשים';\n            },\n            y : 'שנה',\n            yy : function (number) {\n                if (number === 2) {\n                    return 'שנתיים';\n                } else if (number % 10 === 0 && number !== 10) {\n                    return number + ' שנה';\n                }\n                return number + ' שנים';\n            }\n        },\n        meridiemParse: /אחה\"צ|לפנה\"צ|אחרי הצהריים|לפני הצהריים|לפנות בוקר|בבוקר|בערב/i,\n        isPM : function (input) {\n            return /^(אחה\"צ|אחרי הצהריים|בערב)$/.test(input);\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 5) {\n                return 'לפנות בוקר';\n            } else if (hour < 10) {\n                return 'בבוקר';\n            } else if (hour < 12) {\n                return isLower ? 'לפנה\"צ' : 'לפני הצהריים';\n            } else if (hour < 18) {\n                return isLower ? 'אחה\"צ' : 'אחרי הצהריים';\n            } else {\n                return 'בערב';\n            }\n        }\n    });\n\n    return he;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '१',\n        '2': '२',\n        '3': '३',\n        '4': '४',\n        '5': '५',\n        '6': '६',\n        '7': '७',\n        '8': '८',\n        '9': '९',\n        '0': '०'\n    },\n    numberMap = {\n        '१': '1',\n        '२': '2',\n        '३': '3',\n        '४': '4',\n        '५': '5',\n        '६': '6',\n        '७': '7',\n        '८': '8',\n        '९': '9',\n        '०': '0'\n    };\n\n    var hi = moment.defineLocale('hi', {\n        months : 'जनवरी_फ़रवरी_मार्च_अप्रैल_मई_जून_जुलाई_अगस्त_सितम्बर_अक्टूबर_नवम्बर_दिसम्बर'.split('_'),\n        monthsShort : 'जन._फ़र._मार्च_अप्रै._मई_जून_जुल._अग._सित._अक्टू._नव._दिस.'.split('_'),\n        monthsParseExact: true,\n        weekdays : 'रविवार_सोमवार_मंगलवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort : 'रवि_सोम_मंगल_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat : {\n            LT : 'A h:mm बजे',\n            LTS : 'A h:mm:ss बजे',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY, A h:mm बजे',\n            LLLL : 'dddd, D MMMM YYYY, A h:mm बजे'\n        },\n        calendar : {\n            sameDay : '[आज] LT',\n            nextDay : '[कल] LT',\n            nextWeek : 'dddd, LT',\n            lastDay : '[कल] LT',\n            lastWeek : '[पिछले] dddd, LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s में',\n            past : '%s पहले',\n            s : 'कुछ ही क्षण',\n            ss : '%d सेकंड',\n            m : 'एक मिनट',\n            mm : '%d मिनट',\n            h : 'एक घंटा',\n            hh : '%d घंटे',\n            d : 'एक दिन',\n            dd : '%d दिन',\n            M : 'एक महीने',\n            MM : '%d महीने',\n            y : 'एक वर्ष',\n            yy : '%d वर्ष'\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Hindi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Hindi.\n        meridiemParse: /रात|सुबह|दोपहर|शाम/,\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'रात') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सुबह') {\n                return hour;\n            } else if (meridiem === 'दोपहर') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'शाम') {\n                return hour + 12;\n            }\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'रात';\n            } else if (hour < 10) {\n                return 'सुबह';\n            } else if (hour < 17) {\n                return 'दोपहर';\n            } else if (hour < 20) {\n                return 'शाम';\n            } else {\n                return 'रात';\n            }\n        },\n        week : {\n            dow : 0, // Sunday is the first day of the week.\n            doy : 6  // The week that contains Jan 6th is the first week of the year.\n        }\n    });\n\n    return hi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                if (number === 1) {\n                    result += 'sekunda';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sekunde';\n                } else {\n                    result += 'sekundi';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'jedna minuta' : 'jedne minute';\n            case 'mm':\n                if (number === 1) {\n                    result += 'minuta';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'minute';\n                } else {\n                    result += 'minuta';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'jedan sat' : 'jednog sata';\n            case 'hh':\n                if (number === 1) {\n                    result += 'sat';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'sata';\n                } else {\n                    result += 'sati';\n                }\n                return result;\n            case 'dd':\n                if (number === 1) {\n                    result += 'dan';\n                } else {\n                    result += 'dana';\n                }\n                return result;\n            case 'MM':\n                if (number === 1) {\n                    result += 'mjesec';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'mjeseca';\n                } else {\n                    result += 'mjeseci';\n                }\n                return result;\n            case 'yy':\n                if (number === 1) {\n                    result += 'godina';\n                } else if (number === 2 || number === 3 || number === 4) {\n                    result += 'godine';\n                } else {\n                    result += 'godina';\n                }\n                return result;\n        }\n    }\n\n    var hr = moment.defineLocale('hr', {\n        months : {\n            format: 'siječnja_veljače_ožujka_travnja_svibnja_lipnja_srpnja_kolovoza_rujna_listopada_studenoga_prosinca'.split('_'),\n            standalone: 'siječanj_veljača_ožujak_travanj_svibanj_lipanj_srpanj_kolovoz_rujan_listopad_studeni_prosinac'.split('_')\n        },\n        monthsShort : 'sij._velj._ožu._tra._svi._lip._srp._kol._ruj._lis._stu._pro.'.split('_'),\n        monthsParseExact: true,\n        weekdays : 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n        weekdaysShort : 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin : 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D. MMMM YYYY',\n            LLL : 'D. MMMM YYYY H:mm',\n            LLLL : 'dddd, D. MMMM YYYY H:mm'\n        },\n        calendar : {\n            sameDay  : '[danas u] LT',\n            nextDay  : '[sutra u] LT',\n            nextWeek : function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay  : '[jučer u] LT',\n            lastWeek : function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                        return '[prošlu] dddd [u] LT';\n                    case 6:\n                        return '[prošle] [subote] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prošli] dddd [u] LT';\n                }\n            },\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'za %s',\n            past   : 'prije %s',\n            s      : 'par sekundi',\n            ss     : translate,\n            m      : translate,\n            mm     : translate,\n            h      : translate,\n            hh     : translate,\n            d      : 'dan',\n            dd     : translate,\n            M      : 'mjesec',\n            MM     : translate,\n            y      : 'godinu',\n            yy     : translate\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return hr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\n    function translate(number, withoutSuffix, key, isFuture) {\n        var num = number;\n        switch (key) {\n            case 's':\n                return (isFuture || withoutSuffix) ? 'néhány másodperc' : 'néhány másodperce';\n            case 'ss':\n                return num + (isFuture || withoutSuffix) ? ' másodperc' : ' másodperce';\n            case 'm':\n                return 'egy' + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'mm':\n                return num + (isFuture || withoutSuffix ? ' perc' : ' perce');\n            case 'h':\n                return 'egy' + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'hh':\n                return num + (isFuture || withoutSuffix ? ' óra' : ' órája');\n            case 'd':\n                return 'egy' + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'dd':\n                return num + (isFuture || withoutSuffix ? ' nap' : ' napja');\n            case 'M':\n                return 'egy' + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'MM':\n                return num + (isFuture || withoutSuffix ? ' hónap' : ' hónapja');\n            case 'y':\n                return 'egy' + (isFuture || withoutSuffix ? ' év' : ' éve');\n            case 'yy':\n                return num + (isFuture || withoutSuffix ? ' év' : ' éve');\n        }\n        return '';\n    }\n    function week(isFuture) {\n        return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n    }\n\n    var hu = moment.defineLocale('hu', {\n        months : 'január_február_március_április_május_június_július_augusztus_szeptember_október_november_december'.split('_'),\n        monthsShort : 'jan_feb_márc_ápr_máj_jún_júl_aug_szept_okt_nov_dec'.split('_'),\n        weekdays : 'vasárnap_hétfő_kedd_szerda_csütörtök_péntek_szombat'.split('_'),\n        weekdaysShort : 'vas_hét_kedd_sze_csüt_pén_szo'.split('_'),\n        weekdaysMin : 'v_h_k_sze_cs_p_szo'.split('_'),\n        longDateFormat : {\n            LT : 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'YYYY.MM.DD.',\n            LL : 'YYYY. MMMM D.',\n            LLL : 'YYYY. MMMM D. H:mm',\n            LLLL : 'YYYY. MMMM D., dddd H:mm'\n        },\n        meridiemParse: /de|du/i,\n        isPM: function (input) {\n            return input.charAt(1).toLowerCase() === 'u';\n        },\n        meridiem : function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower === true ? 'de' : 'DE';\n            } else {\n                return isLower === true ? 'du' : 'DU';\n            }\n        },\n        calendar : {\n            sameDay : '[ma] LT[-kor]',\n            nextDay : '[holnap] LT[-kor]',\n            nextWeek : function () {\n                return week.call(this, true);\n            },\n            lastDay : '[tegnap] LT[-kor]',\n            lastWeek : function () {\n                return week.call(this, false);\n            },\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s múlva',\n            past : '%s',\n            s : translate,\n            ss : translate,\n            m : translate,\n            mm : translate,\n            h : translate,\n            hh : translate,\n            d : translate,\n            dd : translate,\n            M : translate,\n            MM : translate,\n            y : translate,\n            yy : translate\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return hu;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var hyAm = moment.defineLocale('hy-am', {\n        months : {\n            format: 'հունվարի_փետրվարի_մարտի_ապրիլի_մայիսի_հունիսի_հուլիսի_օգոստոսի_սեպտեմբերի_հոկտեմբերի_նոյեմբերի_դեկտեմբերի'.split('_'),\n            standalone: 'հունվար_փետրվար_մարտ_ապրիլ_մայիս_հունիս_հուլիս_օգոստոս_սեպտեմբեր_հոկտեմբեր_նոյեմբեր_դեկտեմբեր'.split('_')\n        },\n        monthsShort : 'հնվ_փտր_մրտ_ապր_մյս_հնս_հլս_օգս_սպտ_հկտ_նմբ_դկտ'.split('_'),\n        weekdays : 'կիրակի_երկուշաբթի_երեքշաբթի_չորեքշաբթի_հինգշաբթի_ուրբաթ_շաբաթ'.split('_'),\n        weekdaysShort : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        weekdaysMin : 'կրկ_երկ_երք_չրք_հնգ_ուրբ_շբթ'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D MMMM YYYY թ.',\n            LLL : 'D MMMM YYYY թ., HH:mm',\n            LLLL : 'dddd, D MMMM YYYY թ., HH:mm'\n        },\n        calendar : {\n            sameDay: '[այսօր] LT',\n            nextDay: '[վաղը] LT',\n            lastDay: '[երեկ] LT',\n            nextWeek: function () {\n                return 'dddd [օրը ժամը] LT';\n            },\n            lastWeek: function () {\n                return '[անցած] dddd [օրը ժամը] LT';\n            },\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : '%s հետո',\n            past : '%s առաջ',\n            s : 'մի քանի վայրկյան',\n            ss : '%d վայրկյան',\n            m : 'րոպե',\n            mm : '%d րոպե',\n            h : 'ժամ',\n            hh : '%d ժամ',\n            d : 'օր',\n            dd : '%d օր',\n            M : 'ամիս',\n            MM : '%d ամիս',\n            y : 'տարի',\n            yy : '%d տարի'\n        },\n        meridiemParse: /գիշերվա|առավոտվա|ցերեկվա|երեկոյան/,\n        isPM: function (input) {\n            return /^(ցերեկվա|երեկոյան)$/.test(input);\n        },\n        meridiem : function (hour) {\n            if (hour < 4) {\n                return 'գիշերվա';\n            } else if (hour < 12) {\n                return 'առավոտվա';\n            } else if (hour < 17) {\n                return 'ցերեկվա';\n            } else {\n                return 'երեկոյան';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}|\\d{1,2}-(ին|րդ)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'DDD':\n                case 'w':\n                case 'W':\n                case 'DDDo':\n                    if (number === 1) {\n                        return number + '-ին';\n                    }\n                    return number + '-րդ';\n                default:\n                    return number;\n            }\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return hyAm;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var id = moment.defineLocale('id', {\n        months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_November_Desember'.split('_'),\n        monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Agt_Sep_Okt_Nov_Des'.split('_'),\n        weekdays : 'Minggu_Senin_Selasa_Rabu_Kamis_Jumat_Sabtu'.split('_'),\n        weekdaysShort : 'Min_Sen_Sel_Rab_Kam_Jum_Sab'.split('_'),\n        weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat : {\n            LT : 'HH.mm',\n            LTS : 'HH.mm.ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY [pukul] HH.mm',\n            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n        },\n        meridiemParse: /pagi|siang|sore|malam/,\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'siang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sore' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem : function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'siang';\n            } else if (hours < 19) {\n                return 'sore';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar : {\n            sameDay : '[Hari ini pukul] LT',\n            nextDay : '[Besok pukul] LT',\n            nextWeek : 'dddd [pukul] LT',\n            lastDay : '[Kemarin pukul] LT',\n            lastWeek : 'dddd [lalu pukul] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'dalam %s',\n            past : '%s yang lalu',\n            s : 'beberapa detik',\n            ss : '%d detik',\n            m : 'semenit',\n            mm : '%d menit',\n            h : 'sejam',\n            hh : '%d jam',\n            d : 'sehari',\n            dd : '%d hari',\n            M : 'sebulan',\n            MM : '%d bulan',\n            y : 'setahun',\n            yy : '%d tahun'\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return id;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function plural(n) {\n        if (n % 100 === 11) {\n            return true;\n        } else if (n % 10 === 1) {\n            return false;\n        }\n        return true;\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture ? 'nokkrar sekúndur' : 'nokkrum sekúndum';\n            case 'ss':\n                if (plural(number)) {\n                    return result + (withoutSuffix || isFuture ? 'sekúndur' : 'sekúndum');\n                }\n                return result + 'sekúnda';\n            case 'm':\n                return withoutSuffix ? 'mínúta' : 'mínútu';\n            case 'mm':\n                if (plural(number)) {\n                    return result + (withoutSuffix || isFuture ? 'mínútur' : 'mínútum');\n                } else if (withoutSuffix) {\n                    return result + 'mínúta';\n                }\n                return result + 'mínútu';\n            case 'hh':\n                if (plural(number)) {\n                    return result + (withoutSuffix || isFuture ? 'klukkustundir' : 'klukkustundum');\n                }\n                return result + 'klukkustund';\n            case 'd':\n                if (withoutSuffix) {\n                    return 'dagur';\n                }\n                return isFuture ? 'dag' : 'degi';\n            case 'dd':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'dagar';\n                    }\n                    return result + (isFuture ? 'daga' : 'dögum');\n                } else if (withoutSuffix) {\n                    return result + 'dagur';\n                }\n                return result + (isFuture ? 'dag' : 'degi');\n            case 'M':\n                if (withoutSuffix) {\n                    return 'mánuður';\n                }\n                return isFuture ? 'mánuð' : 'mánuði';\n            case 'MM':\n                if (plural(number)) {\n                    if (withoutSuffix) {\n                        return result + 'mánuðir';\n                    }\n                    return result + (isFuture ? 'mánuði' : 'mánuðum');\n                } else if (withoutSuffix) {\n                    return result + 'mánuður';\n                }\n                return result + (isFuture ? 'mánuð' : 'mánuði');\n            case 'y':\n                return withoutSuffix || isFuture ? 'ár' : 'ári';\n            case 'yy':\n                if (plural(number)) {\n                    return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n                }\n                return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n        }\n    }\n\n    var is = moment.defineLocale('is', {\n        months : 'janúar_febrúar_mars_apríl_maí_júní_júlí_ágúst_september_október_nóvember_desember'.split('_'),\n        monthsShort : 'jan_feb_mar_apr_maí_jún_júl_ágú_sep_okt_nóv_des'.split('_'),\n        weekdays : 'sunnudagur_mánudagur_þriðjudagur_miðvikudagur_fimmtudagur_föstudagur_laugardagur'.split('_'),\n        weekdaysShort : 'sun_mán_þri_mið_fim_fös_lau'.split('_'),\n        weekdaysMin : 'Su_Má_Þr_Mi_Fi_Fö_La'.split('_'),\n        longDateFormat : {\n            LT : 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D. MMMM YYYY',\n            LLL : 'D. MMMM YYYY [kl.] H:mm',\n            LLLL : 'dddd, D. MMMM YYYY [kl.] H:mm'\n        },\n        calendar : {\n            sameDay : '[í dag kl.] LT',\n            nextDay : '[á morgun kl.] LT',\n            nextWeek : 'dddd [kl.] LT',\n            lastDay : '[í gær kl.] LT',\n            lastWeek : '[síðasta] dddd [kl.] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'eftir %s',\n            past : 'fyrir %s síðan',\n            s : translate,\n            ss : translate,\n            m : translate,\n            mm : translate,\n            h : 'klukkustund',\n            hh : translate,\n            d : translate,\n            dd : translate,\n            M : translate,\n            MM : translate,\n            y : translate,\n            yy : translate\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return is;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var itCh = moment.defineLocale('it-ch', {\n        months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n        monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n        weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[Oggi alle] LT',\n            nextDay: '[Domani alle] LT',\n            nextWeek: 'dddd [alle] LT',\n            lastDay: '[Ieri alle] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[la scorsa] dddd [alle] LT';\n                    default:\n                        return '[lo scorso] dddd [alle] LT';\n                }\n            },\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : function (s) {\n                return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n            },\n            past : '%s fa',\n            s : 'alcuni secondi',\n            ss : '%d secondi',\n            m : 'un minuto',\n            mm : '%d minuti',\n            h : 'un\\'ora',\n            hh : '%d ore',\n            d : 'un giorno',\n            dd : '%d giorni',\n            M : 'un mese',\n            MM : '%d mesi',\n            y : 'un anno',\n            yy : '%d anni'\n        },\n        dayOfMonthOrdinalParse : /\\d{1,2}º/,\n        ordinal: '%dº',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return itCh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var it = moment.defineLocale('it', {\n        months : 'gennaio_febbraio_marzo_aprile_maggio_giugno_luglio_agosto_settembre_ottobre_novembre_dicembre'.split('_'),\n        monthsShort : 'gen_feb_mar_apr_mag_giu_lug_ago_set_ott_nov_dic'.split('_'),\n        weekdays : 'domenica_lunedì_martedì_mercoledì_giovedì_venerdì_sabato'.split('_'),\n        weekdaysShort : 'dom_lun_mar_mer_gio_ven_sab'.split('_'),\n        weekdaysMin : 'do_lu_ma_me_gi_ve_sa'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[Oggi alle] LT',\n            nextDay: '[Domani alle] LT',\n            nextWeek: 'dddd [alle] LT',\n            lastDay: '[Ieri alle] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[la scorsa] dddd [alle] LT';\n                    default:\n                        return '[lo scorso] dddd [alle] LT';\n                }\n            },\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : function (s) {\n                return ((/^[0-9].+$/).test(s) ? 'tra' : 'in') + ' ' + s;\n            },\n            past : '%s fa',\n            s : 'alcuni secondi',\n            ss : '%d secondi',\n            m : 'un minuto',\n            mm : '%d minuti',\n            h : 'un\\'ora',\n            hh : '%d ore',\n            d : 'un giorno',\n            dd : '%d giorni',\n            M : 'un mese',\n            MM : '%d mesi',\n            y : 'un anno',\n            yy : '%d anni'\n        },\n        dayOfMonthOrdinalParse : /\\d{1,2}º/,\n        ordinal: '%dº',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return it;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var ja = moment.defineLocale('ja', {\n        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n        weekdays : '日曜日_月曜日_火曜日_水曜日_木曜日_金曜日_土曜日'.split('_'),\n        weekdaysShort : '日_月_火_水_木_金_土'.split('_'),\n        weekdaysMin : '日_月_火_水_木_金_土'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'YYYY/MM/DD',\n            LL : 'YYYY年M月D日',\n            LLL : 'YYYY年M月D日 HH:mm',\n            LLLL : 'YYYY年M月D日 dddd HH:mm',\n            l : 'YYYY/MM/DD',\n            ll : 'YYYY年M月D日',\n            lll : 'YYYY年M月D日 HH:mm',\n            llll : 'YYYY年M月D日(ddd) HH:mm'\n        },\n        meridiemParse: /午前|午後/i,\n        isPM : function (input) {\n            return input === '午後';\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 12) {\n                return '午前';\n            } else {\n                return '午後';\n            }\n        },\n        calendar : {\n            sameDay : '[今日] LT',\n            nextDay : '[明日] LT',\n            nextWeek : function (now) {\n                if (now.week() < this.week()) {\n                    return '[来週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            lastDay : '[昨日] LT',\n            lastWeek : function (now) {\n                if (this.week() < now.week()) {\n                    return '[先週]dddd LT';\n                } else {\n                    return 'dddd LT';\n                }\n            },\n            sameElse : 'L'\n        },\n        dayOfMonthOrdinalParse : /\\d{1,2}日/,\n        ordinal : function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                default:\n                    return number;\n            }\n        },\n        relativeTime : {\n            future : '%s後',\n            past : '%s前',\n            s : '数秒',\n            ss : '%d秒',\n            m : '1分',\n            mm : '%d分',\n            h : '1時間',\n            hh : '%d時間',\n            d : '1日',\n            dd : '%d日',\n            M : '1ヶ月',\n            MM : '%dヶ月',\n            y : '1年',\n            yy : '%d年'\n        }\n    });\n\n    return ja;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var jv = moment.defineLocale('jv', {\n        months : 'Januari_Februari_Maret_April_Mei_Juni_Juli_Agustus_September_Oktober_Nopember_Desember'.split('_'),\n        monthsShort : 'Jan_Feb_Mar_Apr_Mei_Jun_Jul_Ags_Sep_Okt_Nop_Des'.split('_'),\n        weekdays : 'Minggu_Senen_Seloso_Rebu_Kemis_Jemuwah_Septu'.split('_'),\n        weekdaysShort : 'Min_Sen_Sel_Reb_Kem_Jem_Sep'.split('_'),\n        weekdaysMin : 'Mg_Sn_Sl_Rb_Km_Jm_Sp'.split('_'),\n        longDateFormat : {\n            LT : 'HH.mm',\n            LTS : 'HH.mm.ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY [pukul] HH.mm',\n            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n        },\n        meridiemParse: /enjing|siyang|sonten|ndalu/,\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'enjing') {\n                return hour;\n            } else if (meridiem === 'siyang') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'sonten' || meridiem === 'ndalu') {\n                return hour + 12;\n            }\n        },\n        meridiem : function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'enjing';\n            } else if (hours < 15) {\n                return 'siyang';\n            } else if (hours < 19) {\n                return 'sonten';\n            } else {\n                return 'ndalu';\n            }\n        },\n        calendar : {\n            sameDay : '[Dinten puniko pukul] LT',\n            nextDay : '[Mbenjang pukul] LT',\n            nextWeek : 'dddd [pukul] LT',\n            lastDay : '[Kala wingi pukul] LT',\n            lastWeek : 'dddd [kepengker pukul] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'wonten ing %s',\n            past : '%s ingkang kepengker',\n            s : 'sawetawis detik',\n            ss : '%d detik',\n            m : 'setunggal menit',\n            mm : '%d menit',\n            h : 'setunggal jam',\n            hh : '%d jam',\n            d : 'sedinten',\n            dd : '%d dinten',\n            M : 'sewulan',\n            MM : '%d wulan',\n            y : 'setaun',\n            yy : '%d taun'\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return jv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var ka = moment.defineLocale('ka', {\n        months : {\n            standalone: 'იანვარი_თებერვალი_მარტი_აპრილი_მაისი_ივნისი_ივლისი_აგვისტო_სექტემბერი_ოქტომბერი_ნოემბერი_დეკემბერი'.split('_'),\n            format: 'იანვარს_თებერვალს_მარტს_აპრილის_მაისს_ივნისს_ივლისს_აგვისტს_სექტემბერს_ოქტომბერს_ნოემბერს_დეკემბერს'.split('_')\n        },\n        monthsShort : 'იან_თებ_მარ_აპრ_მაი_ივნ_ივლ_აგვ_სექ_ოქტ_ნოე_დეკ'.split('_'),\n        weekdays : {\n            standalone: 'კვირა_ორშაბათი_სამშაბათი_ოთხშაბათი_ხუთშაბათი_პარასკევი_შაბათი'.split('_'),\n            format: 'კვირას_ორშაბათს_სამშაბათს_ოთხშაბათს_ხუთშაბათს_პარასკევს_შაბათს'.split('_'),\n            isFormat: /(წინა|შემდეგ)/\n        },\n        weekdaysShort : 'კვი_ორშ_სამ_ოთხ_ხუთ_პარ_შაბ'.split('_'),\n        weekdaysMin : 'კვ_ორ_სა_ოთ_ხუ_პა_შა'.split('_'),\n        longDateFormat : {\n            LT : 'h:mm A',\n            LTS : 'h:mm:ss A',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY h:mm A',\n            LLLL : 'dddd, D MMMM YYYY h:mm A'\n        },\n        calendar : {\n            sameDay : '[დღეს] LT[-ზე]',\n            nextDay : '[ხვალ] LT[-ზე]',\n            lastDay : '[გუშინ] LT[-ზე]',\n            nextWeek : '[შემდეგ] dddd LT[-ზე]',\n            lastWeek : '[წინა] dddd LT-ზე',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : function (s) {\n                return (/(წამი|წუთი|საათი|წელი)/).test(s) ?\n                    s.replace(/ი$/, 'ში') :\n                    s + 'ში';\n            },\n            past : function (s) {\n                if ((/(წამი|წუთი|საათი|დღე|თვე)/).test(s)) {\n                    return s.replace(/(ი|ე)$/, 'ის წინ');\n                }\n                if ((/წელი/).test(s)) {\n                    return s.replace(/წელი$/, 'წლის წინ');\n                }\n            },\n            s : 'რამდენიმე წამი',\n            ss : '%d წამი',\n            m : 'წუთი',\n            mm : '%d წუთი',\n            h : 'საათი',\n            hh : '%d საათი',\n            d : 'დღე',\n            dd : '%d დღე',\n            M : 'თვე',\n            MM : '%d თვე',\n            y : 'წელი',\n            yy : '%d წელი'\n        },\n        dayOfMonthOrdinalParse: /0|1-ლი|მე-\\d{1,2}|\\d{1,2}-ე/,\n        ordinal : function (number) {\n            if (number === 0) {\n                return number;\n            }\n            if (number === 1) {\n                return number + '-ლი';\n            }\n            if ((number < 20) || (number <= 100 && (number % 20 === 0)) || (number % 100 === 0)) {\n                return 'მე-' + number;\n            }\n            return number + '-ე';\n        },\n        week : {\n            dow : 1,\n            doy : 7\n        }\n    });\n\n    return ka;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var suffixes = {\n        0: '-ші',\n        1: '-ші',\n        2: '-ші',\n        3: '-ші',\n        4: '-ші',\n        5: '-ші',\n        6: '-шы',\n        7: '-ші',\n        8: '-ші',\n        9: '-шы',\n        10: '-шы',\n        20: '-шы',\n        30: '-шы',\n        40: '-шы',\n        50: '-ші',\n        60: '-шы',\n        70: '-ші',\n        80: '-ші',\n        90: '-шы',\n        100: '-ші'\n    };\n\n    var kk = moment.defineLocale('kk', {\n        months : 'қаңтар_ақпан_наурыз_сәуір_мамыр_маусым_шілде_тамыз_қыркүйек_қазан_қараша_желтоқсан'.split('_'),\n        monthsShort : 'қаң_ақп_нау_сәу_мам_мау_шіл_там_қыр_қаз_қар_жел'.split('_'),\n        weekdays : 'жексенбі_дүйсенбі_сейсенбі_сәрсенбі_бейсенбі_жұма_сенбі'.split('_'),\n        weekdaysShort : 'жек_дүй_сей_сәр_бей_жұм_сен'.split('_'),\n        weekdaysMin : 'жк_дй_сй_ср_бй_жм_сн'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[Бүгін сағат] LT',\n            nextDay : '[Ертең сағат] LT',\n            nextWeek : 'dddd [сағат] LT',\n            lastDay : '[Кеше сағат] LT',\n            lastWeek : '[Өткен аптаның] dddd [сағат] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s ішінде',\n            past : '%s бұрын',\n            s : 'бірнеше секунд',\n            ss : '%d секунд',\n            m : 'бір минут',\n            mm : '%d минут',\n            h : 'бір сағат',\n            hh : '%d сағат',\n            d : 'бір күн',\n            dd : '%d күн',\n            M : 'бір ай',\n            MM : '%d ай',\n            y : 'бір жыл',\n            yy : '%d жыл'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ші|шы)/,\n        ordinal : function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return kk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '១',\n        '2': '២',\n        '3': '៣',\n        '4': '៤',\n        '5': '៥',\n        '6': '៦',\n        '7': '៧',\n        '8': '៨',\n        '9': '៩',\n        '0': '០'\n    }, numberMap = {\n        '១': '1',\n        '២': '2',\n        '៣': '3',\n        '៤': '4',\n        '៥': '5',\n        '៦': '6',\n        '៧': '7',\n        '៨': '8',\n        '៩': '9',\n        '០': '0'\n    };\n\n    var km = moment.defineLocale('km', {\n        months: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n            '_'\n        ),\n        monthsShort: 'មករា_កុម្ភៈ_មីនា_មេសា_ឧសភា_មិថុនា_កក្កដា_សីហា_កញ្ញា_តុលា_វិច្ឆិកា_ធ្នូ'.split(\n            '_'\n        ),\n        weekdays: 'អាទិត្យ_ច័ន្ទ_អង្គារ_ពុធ_ព្រហស្បតិ៍_សុក្រ_សៅរ៍'.split('_'),\n        weekdaysShort: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysMin: 'អា_ច_អ_ព_ព្រ_សុ_ស'.split('_'),\n        weekdaysParseExact: true,\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd, D MMMM YYYY HH:mm'\n        },\n        meridiemParse: /ព្រឹក|ល្ងាច/,\n        isPM: function (input) {\n            return input === 'ល្ងាច';\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ព្រឹក';\n            } else {\n                return 'ល្ងាច';\n            }\n        },\n        calendar: {\n            sameDay: '[ថ្ងៃនេះ ម៉ោង] LT',\n            nextDay: '[ស្អែក ម៉ោង] LT',\n            nextWeek: 'dddd [ម៉ោង] LT',\n            lastDay: '[ម្សិលមិញ ម៉ោង] LT',\n            lastWeek: 'dddd [សប្តាហ៍មុន] [ម៉ោង] LT',\n            sameElse: 'L'\n        },\n        relativeTime: {\n            future: '%sទៀត',\n            past: '%sមុន',\n            s: 'ប៉ុន្មានវិនាទី',\n            ss: '%d វិនាទី',\n            m: 'មួយនាទី',\n            mm: '%d នាទី',\n            h: 'មួយម៉ោង',\n            hh: '%d ម៉ោង',\n            d: 'មួយថ្ងៃ',\n            dd: '%d ថ្ងៃ',\n            M: 'មួយខែ',\n            MM: '%d ខែ',\n            y: 'មួយឆ្នាំ',\n            yy: '%d ឆ្នាំ'\n        },\n        dayOfMonthOrdinalParse : /ទី\\d{1,2}/,\n        ordinal : 'ទី%d',\n        preparse: function (string) {\n            return string.replace(/[១២៣៤៥៦៧៨៩០]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4 // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return km;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '೧',\n        '2': '೨',\n        '3': '೩',\n        '4': '೪',\n        '5': '೫',\n        '6': '೬',\n        '7': '೭',\n        '8': '೮',\n        '9': '೯',\n        '0': '೦'\n    },\n    numberMap = {\n        '೧': '1',\n        '೨': '2',\n        '೩': '3',\n        '೪': '4',\n        '೫': '5',\n        '೬': '6',\n        '೭': '7',\n        '೮': '8',\n        '೯': '9',\n        '೦': '0'\n    };\n\n    var kn = moment.defineLocale('kn', {\n        months : 'ಜನವರಿ_ಫೆಬ್ರವರಿ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂಬರ್_ಅಕ್ಟೋಬರ್_ನವೆಂಬರ್_ಡಿಸೆಂಬರ್'.split('_'),\n        monthsShort : 'ಜನ_ಫೆಬ್ರ_ಮಾರ್ಚ್_ಏಪ್ರಿಲ್_ಮೇ_ಜೂನ್_ಜುಲೈ_ಆಗಸ್ಟ್_ಸೆಪ್ಟೆಂ_ಅಕ್ಟೋ_ನವೆಂ_ಡಿಸೆಂ'.split('_'),\n        monthsParseExact: true,\n        weekdays : 'ಭಾನುವಾರ_ಸೋಮವಾರ_ಮಂಗಳವಾರ_ಬುಧವಾರ_ಗುರುವಾರ_ಶುಕ್ರವಾರ_ಶನಿವಾರ'.split('_'),\n        weekdaysShort : 'ಭಾನು_ಸೋಮ_ಮಂಗಳ_ಬುಧ_ಗುರು_ಶುಕ್ರ_ಶನಿ'.split('_'),\n        weekdaysMin : 'ಭಾ_ಸೋ_ಮಂ_ಬು_ಗು_ಶು_ಶ'.split('_'),\n        longDateFormat : {\n            LT : 'A h:mm',\n            LTS : 'A h:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY, A h:mm',\n            LLLL : 'dddd, D MMMM YYYY, A h:mm'\n        },\n        calendar : {\n            sameDay : '[ಇಂದು] LT',\n            nextDay : '[ನಾಳೆ] LT',\n            nextWeek : 'dddd, LT',\n            lastDay : '[ನಿನ್ನೆ] LT',\n            lastWeek : '[ಕೊನೆಯ] dddd, LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s ನಂತರ',\n            past : '%s ಹಿಂದೆ',\n            s : 'ಕೆಲವು ಕ್ಷಣಗಳು',\n            ss : '%d ಸೆಕೆಂಡುಗಳು',\n            m : 'ಒಂದು ನಿಮಿಷ',\n            mm : '%d ನಿಮಿಷ',\n            h : 'ಒಂದು ಗಂಟೆ',\n            hh : '%d ಗಂಟೆ',\n            d : 'ಒಂದು ದಿನ',\n            dd : '%d ದಿನ',\n            M : 'ಒಂದು ತಿಂಗಳು',\n            MM : '%d ತಿಂಗಳು',\n            y : 'ಒಂದು ವರ್ಷ',\n            yy : '%d ವರ್ಷ'\n        },\n        preparse: function (string) {\n            return string.replace(/[೧೨೩೪೫೬೭೮೯೦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /ರಾತ್ರಿ|ಬೆಳಿಗ್ಗೆ|ಮಧ್ಯಾಹ್ನ|ಸಂಜೆ/,\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ರಾತ್ರಿ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ಬೆಳಿಗ್ಗೆ') {\n                return hour;\n            } else if (meridiem === 'ಮಧ್ಯಾಹ್ನ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ಸಂಜೆ') {\n                return hour + 12;\n            }\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ರಾತ್ರಿ';\n            } else if (hour < 10) {\n                return 'ಬೆಳಿಗ್ಗೆ';\n            } else if (hour < 17) {\n                return 'ಮಧ್ಯಾಹ್ನ';\n            } else if (hour < 20) {\n                return 'ಸಂಜೆ';\n            } else {\n                return 'ರಾತ್ರಿ';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ನೇ)/,\n        ordinal : function (number) {\n            return number + 'ನೇ';\n        },\n        week : {\n            dow : 0, // Sunday is the first day of the week.\n            doy : 6  // The week that contains Jan 6th is the first week of the year.\n        }\n    });\n\n    return kn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var ko = moment.defineLocale('ko', {\n        months : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n        monthsShort : '1월_2월_3월_4월_5월_6월_7월_8월_9월_10월_11월_12월'.split('_'),\n        weekdays : '일요일_월요일_화요일_수요일_목요일_금요일_토요일'.split('_'),\n        weekdaysShort : '일_월_화_수_목_금_토'.split('_'),\n        weekdaysMin : '일_월_화_수_목_금_토'.split('_'),\n        longDateFormat : {\n            LT : 'A h:mm',\n            LTS : 'A h:mm:ss',\n            L : 'YYYY.MM.DD.',\n            LL : 'YYYY년 MMMM D일',\n            LLL : 'YYYY년 MMMM D일 A h:mm',\n            LLLL : 'YYYY년 MMMM D일 dddd A h:mm',\n            l : 'YYYY.MM.DD.',\n            ll : 'YYYY년 MMMM D일',\n            lll : 'YYYY년 MMMM D일 A h:mm',\n            llll : 'YYYY년 MMMM D일 dddd A h:mm'\n        },\n        calendar : {\n            sameDay : '오늘 LT',\n            nextDay : '내일 LT',\n            nextWeek : 'dddd LT',\n            lastDay : '어제 LT',\n            lastWeek : '지난주 dddd LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s 후',\n            past : '%s 전',\n            s : '몇 초',\n            ss : '%d초',\n            m : '1분',\n            mm : '%d분',\n            h : '한 시간',\n            hh : '%d시간',\n            d : '하루',\n            dd : '%d일',\n            M : '한 달',\n            MM : '%d달',\n            y : '일 년',\n            yy : '%d년'\n        },\n        dayOfMonthOrdinalParse : /\\d{1,2}(일|월|주)/,\n        ordinal : function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '일';\n                case 'M':\n                    return number + '월';\n                case 'w':\n                case 'W':\n                    return number + '주';\n                default:\n                    return number;\n            }\n        },\n        meridiemParse : /오전|오후/,\n        isPM : function (token) {\n            return token === '오후';\n        },\n        meridiem : function (hour, minute, isUpper) {\n            return hour < 12 ? '오전' : '오후';\n        }\n    });\n\n    return ko;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '١',\n        '2': '٢',\n        '3': '٣',\n        '4': '٤',\n        '5': '٥',\n        '6': '٦',\n        '7': '٧',\n        '8': '٨',\n        '9': '٩',\n        '0': '٠'\n    }, numberMap = {\n        '١': '1',\n        '٢': '2',\n        '٣': '3',\n        '٤': '4',\n        '٥': '5',\n        '٦': '6',\n        '٧': '7',\n        '٨': '8',\n        '٩': '9',\n        '٠': '0'\n    },\n    months = [\n        'کانونی دووەم',\n        'شوبات',\n        'ئازار',\n        'نیسان',\n        'ئایار',\n        'حوزەیران',\n        'تەمموز',\n        'ئاب',\n        'ئەیلوول',\n        'تشرینی یەكەم',\n        'تشرینی دووەم',\n        'كانونی یەکەم'\n    ];\n\n\n    var ku = moment.defineLocale('ku', {\n        months : months,\n        monthsShort : months,\n        weekdays : 'یه‌كشه‌ممه‌_دووشه‌ممه‌_سێشه‌ممه‌_چوارشه‌ممه‌_پێنجشه‌ممه‌_هه‌ینی_شه‌ممه‌'.split('_'),\n        weekdaysShort : 'یه‌كشه‌م_دووشه‌م_سێشه‌م_چوارشه‌م_پێنجشه‌م_هه‌ینی_شه‌ممه‌'.split('_'),\n        weekdaysMin : 'ی_د_س_چ_پ_ه_ش'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        meridiemParse: /ئێواره‌|به‌یانی/,\n        isPM: function (input) {\n            return /ئێواره‌/.test(input);\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'به‌یانی';\n            } else {\n                return 'ئێواره‌';\n            }\n        },\n        calendar : {\n            sameDay : '[ئه‌مرۆ كاتژمێر] LT',\n            nextDay : '[به‌یانی كاتژمێر] LT',\n            nextWeek : 'dddd [كاتژمێر] LT',\n            lastDay : '[دوێنێ كاتژمێر] LT',\n            lastWeek : 'dddd [كاتژمێر] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'له‌ %s',\n            past : '%s',\n            s : 'چه‌ند چركه‌یه‌ك',\n            ss : 'چركه‌ %d',\n            m : 'یه‌ك خوله‌ك',\n            mm : '%d خوله‌ك',\n            h : 'یه‌ك كاتژمێر',\n            hh : '%d كاتژمێر',\n            d : 'یه‌ك ڕۆژ',\n            dd : '%d ڕۆژ',\n            M : 'یه‌ك مانگ',\n            MM : '%d مانگ',\n            y : 'یه‌ك ساڵ',\n            yy : '%d ساڵ'\n        },\n        preparse: function (string) {\n            return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n                return numberMap[match];\n            }).replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            }).replace(/,/g, '،');\n        },\n        week : {\n            dow : 6, // Saturday is the first day of the week.\n            doy : 12 // The week that contains Jan 12th is the first week of the year.\n        }\n    });\n\n    return ku;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var suffixes = {\n        0: '-чү',\n        1: '-чи',\n        2: '-чи',\n        3: '-чү',\n        4: '-чү',\n        5: '-чи',\n        6: '-чы',\n        7: '-чи',\n        8: '-чи',\n        9: '-чу',\n        10: '-чу',\n        20: '-чы',\n        30: '-чу',\n        40: '-чы',\n        50: '-чү',\n        60: '-чы',\n        70: '-чи',\n        80: '-чи',\n        90: '-чу',\n        100: '-чү'\n    };\n\n    var ky = moment.defineLocale('ky', {\n        months : 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_'),\n        monthsShort : 'янв_фев_март_апр_май_июнь_июль_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays : 'Жекшемби_Дүйшөмбү_Шейшемби_Шаршемби_Бейшемби_Жума_Ишемби'.split('_'),\n        weekdaysShort : 'Жек_Дүй_Шей_Шар_Бей_Жум_Ише'.split('_'),\n        weekdaysMin : 'Жк_Дй_Шй_Шр_Бй_Жм_Иш'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[Бүгүн саат] LT',\n            nextDay : '[Эртең саат] LT',\n            nextWeek : 'dddd [саат] LT',\n            lastDay : '[Кечээ саат] LT',\n            lastWeek : '[Өткөн аптанын] dddd [күнү] [саат] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s ичинде',\n            past : '%s мурун',\n            s : 'бирнече секунд',\n            ss : '%d секунд',\n            m : 'бир мүнөт',\n            mm : '%d мүнөт',\n            h : 'бир саат',\n            hh : '%d саат',\n            d : 'бир күн',\n            dd : '%d күн',\n            M : 'бир ай',\n            MM : '%d ай',\n            y : 'бир жыл',\n            yy : '%d жыл'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(чи|чы|чү|чу)/,\n        ordinal : function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return ky;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            'm': ['eng Minutt', 'enger Minutt'],\n            'h': ['eng Stonn', 'enger Stonn'],\n            'd': ['een Dag', 'engem Dag'],\n            'M': ['ee Mount', 'engem Mount'],\n            'y': ['ee Joer', 'engem Joer']\n        };\n        return withoutSuffix ? format[key][0] : format[key][1];\n    }\n    function processFutureTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'a ' + string;\n        }\n        return 'an ' + string;\n    }\n    function processPastTime(string) {\n        var number = string.substr(0, string.indexOf(' '));\n        if (eifelerRegelAppliesToNumber(number)) {\n            return 'viru ' + string;\n        }\n        return 'virun ' + string;\n    }\n    /**\n     * Returns true if the word before the given number loses the '-n' ending.\n     * e.g. 'an 10 Deeg' but 'a 5 Deeg'\n     *\n     * @param number {integer}\n     * @returns {boolean}\n     */\n    function eifelerRegelAppliesToNumber(number) {\n        number = parseInt(number, 10);\n        if (isNaN(number)) {\n            return false;\n        }\n        if (number < 0) {\n            // Negative Number --> always true\n            return true;\n        } else if (number < 10) {\n            // Only 1 digit\n            if (4 <= number && number <= 7) {\n                return true;\n            }\n            return false;\n        } else if (number < 100) {\n            // 2 digits\n            var lastDigit = number % 10, firstDigit = number / 10;\n            if (lastDigit === 0) {\n                return eifelerRegelAppliesToNumber(firstDigit);\n            }\n            return eifelerRegelAppliesToNumber(lastDigit);\n        } else if (number < 10000) {\n            // 3 or 4 digits --> recursively check first digit\n            while (number >= 10) {\n                number = number / 10;\n            }\n            return eifelerRegelAppliesToNumber(number);\n        } else {\n            // Anything larger than 4 digits: recursively check first n-3 digits\n            number = number / 1000;\n            return eifelerRegelAppliesToNumber(number);\n        }\n    }\n\n    var lb = moment.defineLocale('lb', {\n        months: 'Januar_Februar_Mäerz_Abrëll_Mee_Juni_Juli_August_September_Oktober_November_Dezember'.split('_'),\n        monthsShort: 'Jan._Febr._Mrz._Abr._Mee_Jun._Jul._Aug._Sept._Okt._Nov._Dez.'.split('_'),\n        monthsParseExact : true,\n        weekdays: 'Sonndeg_Méindeg_Dënschdeg_Mëttwoch_Donneschdeg_Freideg_Samschdeg'.split('_'),\n        weekdaysShort: 'So._Mé._Dë._Më._Do._Fr._Sa.'.split('_'),\n        weekdaysMin: 'So_Mé_Dë_Më_Do_Fr_Sa'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat: {\n            LT: 'H:mm [Auer]',\n            LTS: 'H:mm:ss [Auer]',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm [Auer]',\n            LLLL: 'dddd, D. MMMM YYYY H:mm [Auer]'\n        },\n        calendar: {\n            sameDay: '[Haut um] LT',\n            sameElse: 'L',\n            nextDay: '[Muer um] LT',\n            nextWeek: 'dddd [um] LT',\n            lastDay: '[Gëschter um] LT',\n            lastWeek: function () {\n                // Different date string for 'Dënschdeg' (Tuesday) and 'Donneschdeg' (Thursday) due to phonological rule\n                switch (this.day()) {\n                    case 2:\n                    case 4:\n                        return '[Leschten] dddd [um] LT';\n                    default:\n                        return '[Leschte] dddd [um] LT';\n                }\n            }\n        },\n        relativeTime : {\n            future : processFutureTime,\n            past : processPastTime,\n            s : 'e puer Sekonnen',\n            ss : '%d Sekonnen',\n            m : processRelativeTime,\n            mm : '%d Minutten',\n            h : processRelativeTime,\n            hh : '%d Stonnen',\n            d : processRelativeTime,\n            dd : '%d Deeg',\n            M : processRelativeTime,\n            MM : '%d Méint',\n            y : processRelativeTime,\n            yy : '%d Joer'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal: '%d.',\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return lb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var lo = moment.defineLocale('lo', {\n        months : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n        monthsShort : 'ມັງກອນ_ກຸມພາ_ມີນາ_ເມສາ_ພຶດສະພາ_ມິຖຸນາ_ກໍລະກົດ_ສິງຫາ_ກັນຍາ_ຕຸລາ_ພະຈິກ_ທັນວາ'.split('_'),\n        weekdays : 'ອາທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysShort : 'ທິດ_ຈັນ_ອັງຄານ_ພຸດ_ພະຫັດ_ສຸກ_ເສົາ'.split('_'),\n        weekdaysMin : 'ທ_ຈ_ອຄ_ພ_ພຫ_ສກ_ສ'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'ວັນdddd D MMMM YYYY HH:mm'\n        },\n        meridiemParse: /ຕອນເຊົ້າ|ຕອນແລງ/,\n        isPM: function (input) {\n            return input === 'ຕອນແລງ';\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ຕອນເຊົ້າ';\n            } else {\n                return 'ຕອນແລງ';\n            }\n        },\n        calendar : {\n            sameDay : '[ມື້ນີ້ເວລາ] LT',\n            nextDay : '[ມື້ອື່ນເວລາ] LT',\n            nextWeek : '[ວັນ]dddd[ໜ້າເວລາ] LT',\n            lastDay : '[ມື້ວານນີ້ເວລາ] LT',\n            lastWeek : '[ວັນ]dddd[ແລ້ວນີ້ເວລາ] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'ອີກ %s',\n            past : '%sຜ່ານມາ',\n            s : 'ບໍ່ເທົ່າໃດວິນາທີ',\n            ss : '%d ວິນາທີ' ,\n            m : '1 ນາທີ',\n            mm : '%d ນາທີ',\n            h : '1 ຊົ່ວໂມງ',\n            hh : '%d ຊົ່ວໂມງ',\n            d : '1 ມື້',\n            dd : '%d ມື້',\n            M : '1 ເດືອນ',\n            MM : '%d ເດືອນ',\n            y : '1 ປີ',\n            yy : '%d ປີ'\n        },\n        dayOfMonthOrdinalParse: /(ທີ່)\\d{1,2}/,\n        ordinal : function (number) {\n            return 'ທີ່' + number;\n        }\n    });\n\n    return lo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var units = {\n        'ss' : 'sekundė_sekundžių_sekundes',\n        'm' : 'minutė_minutės_minutę',\n        'mm': 'minutės_minučių_minutes',\n        'h' : 'valanda_valandos_valandą',\n        'hh': 'valandos_valandų_valandas',\n        'd' : 'diena_dienos_dieną',\n        'dd': 'dienos_dienų_dienas',\n        'M' : 'mėnuo_mėnesio_mėnesį',\n        'MM': 'mėnesiai_mėnesių_mėnesius',\n        'y' : 'metai_metų_metus',\n        'yy': 'metai_metų_metus'\n    };\n    function translateSeconds(number, withoutSuffix, key, isFuture) {\n        if (withoutSuffix) {\n            return 'kelios sekundės';\n        } else {\n            return isFuture ? 'kelių sekundžių' : 'kelias sekundes';\n        }\n    }\n    function translateSingular(number, withoutSuffix, key, isFuture) {\n        return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n    }\n    function special(number) {\n        return number % 10 === 0 || (number > 10 && number < 20);\n    }\n    function forms(key) {\n        return units[key].split('_');\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        if (number === 1) {\n            return result + translateSingular(number, withoutSuffix, key[0], isFuture);\n        } else if (withoutSuffix) {\n            return result + (special(number) ? forms(key)[1] : forms(key)[0]);\n        } else {\n            if (isFuture) {\n                return result + forms(key)[1];\n            } else {\n                return result + (special(number) ? forms(key)[1] : forms(key)[2]);\n            }\n        }\n    }\n    var lt = moment.defineLocale('lt', {\n        months : {\n            format: 'sausio_vasario_kovo_balandžio_gegužės_birželio_liepos_rugpjūčio_rugsėjo_spalio_lapkričio_gruodžio'.split('_'),\n            standalone: 'sausis_vasaris_kovas_balandis_gegužė_birželis_liepa_rugpjūtis_rugsėjis_spalis_lapkritis_gruodis'.split('_'),\n            isFormat: /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?|MMMM?(\\[[^\\[\\]]*\\]|\\s)+D[oD]?/\n        },\n        monthsShort : 'sau_vas_kov_bal_geg_bir_lie_rgp_rgs_spa_lap_grd'.split('_'),\n        weekdays : {\n            format: 'sekmadienį_pirmadienį_antradienį_trečiadienį_ketvirtadienį_penktadienį_šeštadienį'.split('_'),\n            standalone: 'sekmadienis_pirmadienis_antradienis_trečiadienis_ketvirtadienis_penktadienis_šeštadienis'.split('_'),\n            isFormat: /dddd HH:mm/\n        },\n        weekdaysShort : 'Sek_Pir_Ant_Tre_Ket_Pen_Šeš'.split('_'),\n        weekdaysMin : 'S_P_A_T_K_Pn_Š'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'YYYY-MM-DD',\n            LL : 'YYYY [m.] MMMM D [d.]',\n            LLL : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            LLLL : 'YYYY [m.] MMMM D [d.], dddd, HH:mm [val.]',\n            l : 'YYYY-MM-DD',\n            ll : 'YYYY [m.] MMMM D [d.]',\n            lll : 'YYYY [m.] MMMM D [d.], HH:mm [val.]',\n            llll : 'YYYY [m.] MMMM D [d.], ddd, HH:mm [val.]'\n        },\n        calendar : {\n            sameDay : '[Šiandien] LT',\n            nextDay : '[Rytoj] LT',\n            nextWeek : 'dddd LT',\n            lastDay : '[Vakar] LT',\n            lastWeek : '[Praėjusį] dddd LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'po %s',\n            past : 'prieš %s',\n            s : translateSeconds,\n            ss : translate,\n            m : translateSingular,\n            mm : translate,\n            h : translateSingular,\n            hh : translate,\n            d : translateSingular,\n            dd : translate,\n            M : translateSingular,\n            MM : translate,\n            y : translateSingular,\n            yy : translate\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-oji/,\n        ordinal : function (number) {\n            return number + '-oji';\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return lt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var units = {\n        'ss': 'sekundes_sekundēm_sekunde_sekundes'.split('_'),\n        'm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        'mm': 'minūtes_minūtēm_minūte_minūtes'.split('_'),\n        'h': 'stundas_stundām_stunda_stundas'.split('_'),\n        'hh': 'stundas_stundām_stunda_stundas'.split('_'),\n        'd': 'dienas_dienām_diena_dienas'.split('_'),\n        'dd': 'dienas_dienām_diena_dienas'.split('_'),\n        'M': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        'MM': 'mēneša_mēnešiem_mēnesis_mēneši'.split('_'),\n        'y': 'gada_gadiem_gads_gadi'.split('_'),\n        'yy': 'gada_gadiem_gads_gadi'.split('_')\n    };\n    /**\n     * @param withoutSuffix boolean true = a length of time; false = before/after a period of time.\n     */\n    function format(forms, number, withoutSuffix) {\n        if (withoutSuffix) {\n            // E.g. \"21 minūte\", \"3 minūtes\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[2] : forms[3];\n        } else {\n            // E.g. \"21 minūtes\" as in \"pēc 21 minūtes\".\n            // E.g. \"3 minūtēm\" as in \"pēc 3 minūtēm\".\n            return number % 10 === 1 && number % 100 !== 11 ? forms[0] : forms[1];\n        }\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        return number + ' ' + format(units[key], number, withoutSuffix);\n    }\n    function relativeTimeWithSingular(number, withoutSuffix, key) {\n        return format(units[key], number, withoutSuffix);\n    }\n    function relativeSeconds(number, withoutSuffix) {\n        return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n    }\n\n    var lv = moment.defineLocale('lv', {\n        months : 'janvāris_februāris_marts_aprīlis_maijs_jūnijs_jūlijs_augusts_septembris_oktobris_novembris_decembris'.split('_'),\n        monthsShort : 'jan_feb_mar_apr_mai_jūn_jūl_aug_sep_okt_nov_dec'.split('_'),\n        weekdays : 'svētdiena_pirmdiena_otrdiena_trešdiena_ceturtdiena_piektdiena_sestdiena'.split('_'),\n        weekdaysShort : 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysMin : 'Sv_P_O_T_C_Pk_S'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY.',\n            LL : 'YYYY. [gada] D. MMMM',\n            LLL : 'YYYY. [gada] D. MMMM, HH:mm',\n            LLLL : 'YYYY. [gada] D. MMMM, dddd, HH:mm'\n        },\n        calendar : {\n            sameDay : '[Šodien pulksten] LT',\n            nextDay : '[Rīt pulksten] LT',\n            nextWeek : 'dddd [pulksten] LT',\n            lastDay : '[Vakar pulksten] LT',\n            lastWeek : '[Pagājušā] dddd [pulksten] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'pēc %s',\n            past : 'pirms %s',\n            s : relativeSeconds,\n            ss : relativeTimeWithPlural,\n            m : relativeTimeWithSingular,\n            mm : relativeTimeWithPlural,\n            h : relativeTimeWithSingular,\n            hh : relativeTimeWithPlural,\n            d : relativeTimeWithSingular,\n            dd : relativeTimeWithPlural,\n            M : relativeTimeWithSingular,\n            MM : relativeTimeWithPlural,\n            y : relativeTimeWithSingular,\n            yy : relativeTimeWithPlural\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return lv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var translator = {\n        words: { //Different grammatical cases\n            ss: ['sekund', 'sekunda', 'sekundi'],\n            m: ['jedan minut', 'jednog minuta'],\n            mm: ['minut', 'minuta', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            dd: ['dan', 'dana', 'dana'],\n            MM: ['mjesec', 'mjeseca', 'mjeseci'],\n            yy: ['godina', 'godine', 'godina']\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n        },\n        translate: function (number, withoutSuffix, key) {\n            var wordKey = translator.words[key];\n            if (key.length === 1) {\n                return withoutSuffix ? wordKey[0] : wordKey[1];\n            } else {\n                return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n            }\n        }\n    };\n\n    var me = moment.defineLocale('me', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n        monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact : true,\n        weekdays: 'nedjelja_ponedjeljak_utorak_srijeda_četvrtak_petak_subota'.split('_'),\n        weekdaysShort: 'ned._pon._uto._sri._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS : 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm'\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sjutra u] LT',\n\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedjelju] [u] LT';\n                    case 3:\n                        return '[u] [srijedu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay  : '[juče u] LT',\n            lastWeek : function () {\n                var lastWeekDays = [\n                    '[prošle] [nedjelje] [u] LT',\n                    '[prošlog] [ponedjeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srijede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT'\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'za %s',\n            past   : 'prije %s',\n            s      : 'nekoliko sekundi',\n            ss     : translator.translate,\n            m      : translator.translate,\n            mm     : translator.translate,\n            h      : translator.translate,\n            hh     : translator.translate,\n            d      : 'dan',\n            dd     : translator.translate,\n            M      : 'mjesec',\n            MM     : translator.translate,\n            y      : 'godinu',\n            yy     : translator.translate\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return me;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var mi = moment.defineLocale('mi', {\n        months: 'Kohi-tāte_Hui-tanguru_Poutū-te-rangi_Paenga-whāwhā_Haratua_Pipiri_Hōngoingoi_Here-turi-kōkā_Mahuru_Whiringa-ā-nuku_Whiringa-ā-rangi_Hakihea'.split('_'),\n        monthsShort: 'Kohi_Hui_Pou_Pae_Hara_Pipi_Hōngoi_Here_Mahu_Whi-nu_Whi-ra_Haki'.split('_'),\n        monthsRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,3}/i,\n        monthsShortStrictRegex: /(?:['a-z\\u0101\\u014D\\u016B]+\\-?){1,2}/i,\n        weekdays: 'Rātapu_Mane_Tūrei_Wenerei_Tāite_Paraire_Hātarei'.split('_'),\n        weekdaysShort: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        weekdaysMin: 'Ta_Ma_Tū_We_Tāi_Pa_Hā'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY [i] HH:mm',\n            LLLL: 'dddd, D MMMM YYYY [i] HH:mm'\n        },\n        calendar: {\n            sameDay: '[i teie mahana, i] LT',\n            nextDay: '[apopo i] LT',\n            nextWeek: 'dddd [i] LT',\n            lastDay: '[inanahi i] LT',\n            lastWeek: 'dddd [whakamutunga i] LT',\n            sameElse: 'L'\n        },\n        relativeTime: {\n            future: 'i roto i %s',\n            past: '%s i mua',\n            s: 'te hēkona ruarua',\n            ss: '%d hēkona',\n            m: 'he meneti',\n            mm: '%d meneti',\n            h: 'te haora',\n            hh: '%d haora',\n            d: 'he ra',\n            dd: '%d ra',\n            M: 'he marama',\n            MM: '%d marama',\n            y: 'he tau',\n            yy: '%d tau'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal: '%dº',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return mi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var mk = moment.defineLocale('mk', {\n        months : 'јануари_февруари_март_април_мај_јуни_јули_август_септември_октомври_ноември_декември'.split('_'),\n        monthsShort : 'јан_фев_мар_апр_мај_јун_јул_авг_сеп_окт_ное_дек'.split('_'),\n        weekdays : 'недела_понеделник_вторник_среда_четврток_петок_сабота'.split('_'),\n        weekdaysShort : 'нед_пон_вто_сре_чет_пет_саб'.split('_'),\n        weekdaysMin : 'нe_пo_вт_ср_че_пе_сa'.split('_'),\n        longDateFormat : {\n            LT : 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'D.MM.YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY H:mm',\n            LLLL : 'dddd, D MMMM YYYY H:mm'\n        },\n        calendar : {\n            sameDay : '[Денес во] LT',\n            nextDay : '[Утре во] LT',\n            nextWeek : '[Во] dddd [во] LT',\n            lastDay : '[Вчера во] LT',\n            lastWeek : function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 6:\n                        return '[Изминатата] dddd [во] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[Изминатиот] dddd [во] LT';\n                }\n            },\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'после %s',\n            past : 'пред %s',\n            s : 'неколку секунди',\n            ss : '%d секунди',\n            m : 'минута',\n            mm : '%d минути',\n            h : 'час',\n            hh : '%d часа',\n            d : 'ден',\n            dd : '%d дена',\n            M : 'месец',\n            MM : '%d месеци',\n            y : 'година',\n            yy : '%d години'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ев|ен|ти|ви|ри|ми)/,\n        ordinal : function (number) {\n            var lastDigit = number % 10,\n                last2Digits = number % 100;\n            if (number === 0) {\n                return number + '-ев';\n            } else if (last2Digits === 0) {\n                return number + '-ен';\n            } else if (last2Digits > 10 && last2Digits < 20) {\n                return number + '-ти';\n            } else if (lastDigit === 1) {\n                return number + '-ви';\n            } else if (lastDigit === 2) {\n                return number + '-ри';\n            } else if (lastDigit === 7 || lastDigit === 8) {\n                return number + '-ми';\n            } else {\n                return number + '-ти';\n            }\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return mk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var ml = moment.defineLocale('ml', {\n        months : 'ജനുവരി_ഫെബ്രുവരി_മാർച്ച്_ഏപ്രിൽ_മേയ്_ജൂൺ_ജൂലൈ_ഓഗസ്റ്റ്_സെപ്റ്റംബർ_ഒക്ടോബർ_നവംബർ_ഡിസംബർ'.split('_'),\n        monthsShort : 'ജനു._ഫെബ്രു._മാർ._ഏപ്രി._മേയ്_ജൂൺ_ജൂലൈ._ഓഗ._സെപ്റ്റ._ഒക്ടോ._നവം._ഡിസം.'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'ഞായറാഴ്ച_തിങ്കളാഴ്ച_ചൊവ്വാഴ്ച_ബുധനാഴ്ച_വ്യാഴാഴ്ച_വെള്ളിയാഴ്ച_ശനിയാഴ്ച'.split('_'),\n        weekdaysShort : 'ഞായർ_തിങ്കൾ_ചൊവ്വ_ബുധൻ_വ്യാഴം_വെള്ളി_ശനി'.split('_'),\n        weekdaysMin : 'ഞാ_തി_ചൊ_ബു_വ്യാ_വെ_ശ'.split('_'),\n        longDateFormat : {\n            LT : 'A h:mm -നു',\n            LTS : 'A h:mm:ss -നു',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY, A h:mm -നു',\n            LLLL : 'dddd, D MMMM YYYY, A h:mm -നു'\n        },\n        calendar : {\n            sameDay : '[ഇന്ന്] LT',\n            nextDay : '[നാളെ] LT',\n            nextWeek : 'dddd, LT',\n            lastDay : '[ഇന്നലെ] LT',\n            lastWeek : '[കഴിഞ്ഞ] dddd, LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s കഴിഞ്ഞ്',\n            past : '%s മുൻപ്',\n            s : 'അൽപ നിമിഷങ്ങൾ',\n            ss : '%d സെക്കൻഡ്',\n            m : 'ഒരു മിനിറ്റ്',\n            mm : '%d മിനിറ്റ്',\n            h : 'ഒരു മണിക്കൂർ',\n            hh : '%d മണിക്കൂർ',\n            d : 'ഒരു ദിവസം',\n            dd : '%d ദിവസം',\n            M : 'ഒരു മാസം',\n            MM : '%d മാസം',\n            y : 'ഒരു വർഷം',\n            yy : '%d വർഷം'\n        },\n        meridiemParse: /രാത്രി|രാവിലെ|ഉച്ച കഴിഞ്ഞ്|വൈകുന്നേരം|രാത്രി/i,\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if ((meridiem === 'രാത്രി' && hour >= 4) ||\n                    meridiem === 'ഉച്ച കഴിഞ്ഞ്' ||\n                    meridiem === 'വൈകുന്നേരം') {\n                return hour + 12;\n            } else {\n                return hour;\n            }\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'രാത്രി';\n            } else if (hour < 12) {\n                return 'രാവിലെ';\n            } else if (hour < 17) {\n                return 'ഉച്ച കഴിഞ്ഞ്';\n            } else if (hour < 20) {\n                return 'വൈകുന്നേരം';\n            } else {\n                return 'രാത്രി';\n            }\n        }\n    });\n\n    return ml;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function translate(number, withoutSuffix, key, isFuture) {\n        switch (key) {\n            case 's':\n                return withoutSuffix ? 'хэдхэн секунд' : 'хэдхэн секундын';\n            case 'ss':\n                return number + (withoutSuffix ? ' секунд' : ' секундын');\n            case 'm':\n            case 'mm':\n                return number + (withoutSuffix ? ' минут' : ' минутын');\n            case 'h':\n            case 'hh':\n                return number + (withoutSuffix ? ' цаг' : ' цагийн');\n            case 'd':\n            case 'dd':\n                return number + (withoutSuffix ? ' өдөр' : ' өдрийн');\n            case 'M':\n            case 'MM':\n                return number + (withoutSuffix ? ' сар' : ' сарын');\n            case 'y':\n            case 'yy':\n                return number + (withoutSuffix ? ' жил' : ' жилийн');\n            default:\n                return number;\n        }\n    }\n\n    var mn = moment.defineLocale('mn', {\n        months : 'Нэгдүгээр сар_Хоёрдугаар сар_Гуравдугаар сар_Дөрөвдүгээр сар_Тавдугаар сар_Зургадугаар сар_Долдугаар сар_Наймдугаар сар_Есдүгээр сар_Аравдугаар сар_Арван нэгдүгээр сар_Арван хоёрдугаар сар'.split('_'),\n        monthsShort : '1 сар_2 сар_3 сар_4 сар_5 сар_6 сар_7 сар_8 сар_9 сар_10 сар_11 сар_12 сар'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'Ням_Даваа_Мягмар_Лхагва_Пүрэв_Баасан_Бямба'.split('_'),\n        weekdaysShort : 'Ням_Дав_Мяг_Лха_Пүр_Баа_Бям'.split('_'),\n        weekdaysMin : 'Ня_Да_Мя_Лх_Пү_Ба_Бя'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'YYYY-MM-DD',\n            LL : 'YYYY оны MMMMын D',\n            LLL : 'YYYY оны MMMMын D HH:mm',\n            LLLL : 'dddd, YYYY оны MMMMын D HH:mm'\n        },\n        meridiemParse: /ҮӨ|ҮХ/i,\n        isPM : function (input) {\n            return input === 'ҮХ';\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ҮӨ';\n            } else {\n                return 'ҮХ';\n            }\n        },\n        calendar : {\n            sameDay : '[Өнөөдөр] LT',\n            nextDay : '[Маргааш] LT',\n            nextWeek : '[Ирэх] dddd LT',\n            lastDay : '[Өчигдөр] LT',\n            lastWeek : '[Өнгөрсөн] dddd LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s дараа',\n            past : '%s өмнө',\n            s : translate,\n            ss : translate,\n            m : translate,\n            mm : translate,\n            h : translate,\n            hh : translate,\n            d : translate,\n            dd : translate,\n            M : translate,\n            MM : translate,\n            y : translate,\n            yy : translate\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} өдөр/,\n        ordinal : function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + ' өдөр';\n                default:\n                    return number;\n            }\n        }\n    });\n\n    return mn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '१',\n        '2': '२',\n        '3': '३',\n        '4': '४',\n        '5': '५',\n        '6': '६',\n        '7': '७',\n        '8': '८',\n        '9': '९',\n        '0': '०'\n    },\n    numberMap = {\n        '१': '1',\n        '२': '2',\n        '३': '3',\n        '४': '4',\n        '५': '5',\n        '६': '6',\n        '७': '7',\n        '८': '8',\n        '९': '9',\n        '०': '0'\n    };\n\n    function relativeTimeMr(number, withoutSuffix, string, isFuture)\n    {\n        var output = '';\n        if (withoutSuffix) {\n            switch (string) {\n                case 's': output = 'काही सेकंद'; break;\n                case 'ss': output = '%d सेकंद'; break;\n                case 'm': output = 'एक मिनिट'; break;\n                case 'mm': output = '%d मिनिटे'; break;\n                case 'h': output = 'एक तास'; break;\n                case 'hh': output = '%d तास'; break;\n                case 'd': output = 'एक दिवस'; break;\n                case 'dd': output = '%d दिवस'; break;\n                case 'M': output = 'एक महिना'; break;\n                case 'MM': output = '%d महिने'; break;\n                case 'y': output = 'एक वर्ष'; break;\n                case 'yy': output = '%d वर्षे'; break;\n            }\n        }\n        else {\n            switch (string) {\n                case 's': output = 'काही सेकंदां'; break;\n                case 'ss': output = '%d सेकंदां'; break;\n                case 'm': output = 'एका मिनिटा'; break;\n                case 'mm': output = '%d मिनिटां'; break;\n                case 'h': output = 'एका तासा'; break;\n                case 'hh': output = '%d तासां'; break;\n                case 'd': output = 'एका दिवसा'; break;\n                case 'dd': output = '%d दिवसां'; break;\n                case 'M': output = 'एका महिन्या'; break;\n                case 'MM': output = '%d महिन्यां'; break;\n                case 'y': output = 'एका वर्षा'; break;\n                case 'yy': output = '%d वर्षां'; break;\n            }\n        }\n        return output.replace(/%d/i, number);\n    }\n\n    var mr = moment.defineLocale('mr', {\n        months : 'जानेवारी_फेब्रुवारी_मार्च_एप्रिल_मे_जून_जुलै_ऑगस्ट_सप्टेंबर_ऑक्टोबर_नोव्हेंबर_डिसेंबर'.split('_'),\n        monthsShort: 'जाने._फेब्रु._मार्च._एप्रि._मे._जून._जुलै._ऑग._सप्टें._ऑक्टो._नोव्हें._डिसें.'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'रविवार_सोमवार_मंगळवार_बुधवार_गुरूवार_शुक्रवार_शनिवार'.split('_'),\n        weekdaysShort : 'रवि_सोम_मंगळ_बुध_गुरू_शुक्र_शनि'.split('_'),\n        weekdaysMin : 'र_सो_मं_बु_गु_शु_श'.split('_'),\n        longDateFormat : {\n            LT : 'A h:mm वाजता',\n            LTS : 'A h:mm:ss वाजता',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY, A h:mm वाजता',\n            LLLL : 'dddd, D MMMM YYYY, A h:mm वाजता'\n        },\n        calendar : {\n            sameDay : '[आज] LT',\n            nextDay : '[उद्या] LT',\n            nextWeek : 'dddd, LT',\n            lastDay : '[काल] LT',\n            lastWeek: '[मागील] dddd, LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future: '%sमध्ये',\n            past: '%sपूर्वी',\n            s: relativeTimeMr,\n            ss: relativeTimeMr,\n            m: relativeTimeMr,\n            mm: relativeTimeMr,\n            h: relativeTimeMr,\n            hh: relativeTimeMr,\n            d: relativeTimeMr,\n            dd: relativeTimeMr,\n            M: relativeTimeMr,\n            MM: relativeTimeMr,\n            y: relativeTimeMr,\n            yy: relativeTimeMr\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /रात्री|सकाळी|दुपारी|सायंकाळी/,\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'रात्री') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'सकाळी') {\n                return hour;\n            } else if (meridiem === 'दुपारी') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'सायंकाळी') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'रात्री';\n            } else if (hour < 10) {\n                return 'सकाळी';\n            } else if (hour < 17) {\n                return 'दुपारी';\n            } else if (hour < 20) {\n                return 'सायंकाळी';\n            } else {\n                return 'रात्री';\n            }\n        },\n        week : {\n            dow : 0, // Sunday is the first day of the week.\n            doy : 6  // The week that contains Jan 6th is the first week of the year.\n        }\n    });\n\n    return mr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var msMy = moment.defineLocale('ms-my', {\n        months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat : {\n            LT : 'HH.mm',\n            LTS : 'HH.mm.ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY [pukul] HH.mm',\n            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem : function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar : {\n            sameDay : '[Hari ini pukul] LT',\n            nextDay : '[Esok pukul] LT',\n            nextWeek : 'dddd [pukul] LT',\n            lastDay : '[Kelmarin pukul] LT',\n            lastWeek : 'dddd [lepas pukul] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'dalam %s',\n            past : '%s yang lepas',\n            s : 'beberapa saat',\n            ss : '%d saat',\n            m : 'seminit',\n            mm : '%d minit',\n            h : 'sejam',\n            hh : '%d jam',\n            d : 'sehari',\n            dd : '%d hari',\n            M : 'sebulan',\n            MM : '%d bulan',\n            y : 'setahun',\n            yy : '%d tahun'\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return msMy;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var ms = moment.defineLocale('ms', {\n        months : 'Januari_Februari_Mac_April_Mei_Jun_Julai_Ogos_September_Oktober_November_Disember'.split('_'),\n        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ogs_Sep_Okt_Nov_Dis'.split('_'),\n        weekdays : 'Ahad_Isnin_Selasa_Rabu_Khamis_Jumaat_Sabtu'.split('_'),\n        weekdaysShort : 'Ahd_Isn_Sel_Rab_Kha_Jum_Sab'.split('_'),\n        weekdaysMin : 'Ah_Is_Sl_Rb_Km_Jm_Sb'.split('_'),\n        longDateFormat : {\n            LT : 'HH.mm',\n            LTS : 'HH.mm.ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY [pukul] HH.mm',\n            LLLL : 'dddd, D MMMM YYYY [pukul] HH.mm'\n        },\n        meridiemParse: /pagi|tengahari|petang|malam/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'pagi') {\n                return hour;\n            } else if (meridiem === 'tengahari') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'petang' || meridiem === 'malam') {\n                return hour + 12;\n            }\n        },\n        meridiem : function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'pagi';\n            } else if (hours < 15) {\n                return 'tengahari';\n            } else if (hours < 19) {\n                return 'petang';\n            } else {\n                return 'malam';\n            }\n        },\n        calendar : {\n            sameDay : '[Hari ini pukul] LT',\n            nextDay : '[Esok pukul] LT',\n            nextWeek : 'dddd [pukul] LT',\n            lastDay : '[Kelmarin pukul] LT',\n            lastWeek : 'dddd [lepas pukul] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'dalam %s',\n            past : '%s yang lepas',\n            s : 'beberapa saat',\n            ss : '%d saat',\n            m : 'seminit',\n            mm : '%d minit',\n            h : 'sejam',\n            hh : '%d jam',\n            d : 'sehari',\n            dd : '%d hari',\n            M : 'sebulan',\n            MM : '%d bulan',\n            y : 'setahun',\n            yy : '%d tahun'\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return ms;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var mt = moment.defineLocale('mt', {\n        months : 'Jannar_Frar_Marzu_April_Mejju_Ġunju_Lulju_Awwissu_Settembru_Ottubru_Novembru_Diċembru'.split('_'),\n        monthsShort : 'Jan_Fra_Mar_Apr_Mej_Ġun_Lul_Aww_Set_Ott_Nov_Diċ'.split('_'),\n        weekdays : 'Il-Ħadd_It-Tnejn_It-Tlieta_L-Erbgħa_Il-Ħamis_Il-Ġimgħa_Is-Sibt'.split('_'),\n        weekdaysShort : 'Ħad_Tne_Tli_Erb_Ħam_Ġim_Sib'.split('_'),\n        weekdaysMin : 'Ħa_Tn_Tl_Er_Ħa_Ġi_Si'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[Illum fil-]LT',\n            nextDay : '[Għada fil-]LT',\n            nextWeek : 'dddd [fil-]LT',\n            lastDay : '[Il-bieraħ fil-]LT',\n            lastWeek : 'dddd [li għadda] [fil-]LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'f’ %s',\n            past : '%s ilu',\n            s : 'ftit sekondi',\n            ss : '%d sekondi',\n            m : 'minuta',\n            mm : '%d minuti',\n            h : 'siegħa',\n            hh : '%d siegħat',\n            d : 'ġurnata',\n            dd : '%d ġranet',\n            M : 'xahar',\n            MM : '%d xhur',\n            y : 'sena',\n            yy : '%d sni'\n        },\n        dayOfMonthOrdinalParse : /\\d{1,2}º/,\n        ordinal: '%dº',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return mt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '၁',\n        '2': '၂',\n        '3': '၃',\n        '4': '၄',\n        '5': '၅',\n        '6': '၆',\n        '7': '၇',\n        '8': '၈',\n        '9': '၉',\n        '0': '၀'\n    }, numberMap = {\n        '၁': '1',\n        '၂': '2',\n        '၃': '3',\n        '၄': '4',\n        '၅': '5',\n        '၆': '6',\n        '၇': '7',\n        '၈': '8',\n        '၉': '9',\n        '၀': '0'\n    };\n\n    var my = moment.defineLocale('my', {\n        months: 'ဇန်နဝါရီ_ဖေဖော်ဝါရီ_မတ်_ဧပြီ_မေ_ဇွန်_ဇူလိုင်_သြဂုတ်_စက်တင်ဘာ_အောက်တိုဘာ_နိုဝင်ဘာ_ဒီဇင်ဘာ'.split('_'),\n        monthsShort: 'ဇန်_ဖေ_မတ်_ပြီ_မေ_ဇွန်_လိုင်_သြ_စက်_အောက်_နို_ဒီ'.split('_'),\n        weekdays: 'တနင်္ဂနွေ_တနင်္လာ_အင်္ဂါ_ဗုဒ္ဓဟူး_ကြာသပတေး_သောကြာ_စနေ'.split('_'),\n        weekdaysShort: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n        weekdaysMin: 'နွေ_လာ_ဂါ_ဟူး_ကြာ_သော_နေ'.split('_'),\n\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'DD/MM/YYYY',\n            LL: 'D MMMM YYYY',\n            LLL: 'D MMMM YYYY HH:mm',\n            LLLL: 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar: {\n            sameDay: '[ယနေ.] LT [မှာ]',\n            nextDay: '[မနက်ဖြန်] LT [မှာ]',\n            nextWeek: 'dddd LT [မှာ]',\n            lastDay: '[မနေ.က] LT [မှာ]',\n            lastWeek: '[ပြီးခဲ့သော] dddd LT [မှာ]',\n            sameElse: 'L'\n        },\n        relativeTime: {\n            future: 'လာမည့် %s မှာ',\n            past: 'လွန်ခဲ့သော %s က',\n            s: 'စက္ကန်.အနည်းငယ်',\n            ss : '%d စက္ကန့်',\n            m: 'တစ်မိနစ်',\n            mm: '%d မိနစ်',\n            h: 'တစ်နာရီ',\n            hh: '%d နာရီ',\n            d: 'တစ်ရက်',\n            dd: '%d ရက်',\n            M: 'တစ်လ',\n            MM: '%d လ',\n            y: 'တစ်နှစ်',\n            yy: '%d နှစ်'\n        },\n        preparse: function (string) {\n            return string.replace(/[၁၂၃၄၅၆၇၈၉၀]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        week: {\n            dow: 1, // Monday is the first day of the week.\n            doy: 4 // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return my;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var nb = moment.defineLocale('nb', {\n        months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n        monthsShort : 'jan._feb._mars_april_mai_juni_juli_aug._sep._okt._nov._des.'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'søndag_mandag_tirsdag_onsdag_torsdag_fredag_lørdag'.split('_'),\n        weekdaysShort : 'sø._ma._ti._on._to._fr._lø.'.split('_'),\n        weekdaysMin : 'sø_ma_ti_on_to_fr_lø'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D. MMMM YYYY',\n            LLL : 'D. MMMM YYYY [kl.] HH:mm',\n            LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n        },\n        calendar : {\n            sameDay: '[i dag kl.] LT',\n            nextDay: '[i morgen kl.] LT',\n            nextWeek: 'dddd [kl.] LT',\n            lastDay: '[i går kl.] LT',\n            lastWeek: '[forrige] dddd [kl.] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'om %s',\n            past : '%s siden',\n            s : 'noen sekunder',\n            ss : '%d sekunder',\n            m : 'ett minutt',\n            mm : '%d minutter',\n            h : 'en time',\n            hh : '%d timer',\n            d : 'en dag',\n            dd : '%d dager',\n            M : 'en måned',\n            MM : '%d måneder',\n            y : 'ett år',\n            yy : '%d år'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return nb;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '१',\n        '2': '२',\n        '3': '३',\n        '4': '४',\n        '5': '५',\n        '6': '६',\n        '7': '७',\n        '8': '८',\n        '9': '९',\n        '0': '०'\n    },\n    numberMap = {\n        '१': '1',\n        '२': '2',\n        '३': '3',\n        '४': '4',\n        '५': '5',\n        '६': '6',\n        '७': '7',\n        '८': '8',\n        '९': '9',\n        '०': '0'\n    };\n\n    var ne = moment.defineLocale('ne', {\n        months : 'जनवरी_फेब्रुवरी_मार्च_अप्रिल_मई_जुन_जुलाई_अगष्ट_सेप्टेम्बर_अक्टोबर_नोभेम्बर_डिसेम्बर'.split('_'),\n        monthsShort : 'जन._फेब्रु._मार्च_अप्रि._मई_जुन_जुलाई._अग._सेप्ट._अक्टो._नोभे._डिसे.'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'आइतबार_सोमबार_मङ्गलबार_बुधबार_बिहिबार_शुक्रबार_शनिबार'.split('_'),\n        weekdaysShort : 'आइत._सोम._मङ्गल._बुध._बिहि._शुक्र._शनि.'.split('_'),\n        weekdaysMin : 'आ._सो._मं._बु._बि._शु._श.'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'Aको h:mm बजे',\n            LTS : 'Aको h:mm:ss बजे',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY, Aको h:mm बजे',\n            LLLL : 'dddd, D MMMM YYYY, Aको h:mm बजे'\n        },\n        preparse: function (string) {\n            return string.replace(/[१२३४५६७८९०]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        meridiemParse: /राति|बिहान|दिउँसो|साँझ/,\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'राति') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'बिहान') {\n                return hour;\n            } else if (meridiem === 'दिउँसो') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'साँझ') {\n                return hour + 12;\n            }\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 3) {\n                return 'राति';\n            } else if (hour < 12) {\n                return 'बिहान';\n            } else if (hour < 16) {\n                return 'दिउँसो';\n            } else if (hour < 20) {\n                return 'साँझ';\n            } else {\n                return 'राति';\n            }\n        },\n        calendar : {\n            sameDay : '[आज] LT',\n            nextDay : '[भोलि] LT',\n            nextWeek : '[आउँदो] dddd[,] LT',\n            lastDay : '[हिजो] LT',\n            lastWeek : '[गएको] dddd[,] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%sमा',\n            past : '%s अगाडि',\n            s : 'केही क्षण',\n            ss : '%d सेकेण्ड',\n            m : 'एक मिनेट',\n            mm : '%d मिनेट',\n            h : 'एक घण्टा',\n            hh : '%d घण्टा',\n            d : 'एक दिन',\n            dd : '%d दिन',\n            M : 'एक महिना',\n            MM : '%d महिना',\n            y : 'एक बर्ष',\n            yy : '%d बर्ष'\n        },\n        week : {\n            dow : 0, // Sunday is the first day of the week.\n            doy : 6  // The week that contains Jan 6th is the first week of the year.\n        }\n    });\n\n    return ne;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n    var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n    var monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nlBe = moment.defineLocale('nl-be', {\n        months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n        monthsShort : function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse : monthsParse,\n        longMonthsParse : monthsParse,\n        shortMonthsParse : monthsParse,\n\n        weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n        weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'over %s',\n            past : '%s geleden',\n            s : 'een paar seconden',\n            ss : '%d seconden',\n            m : 'één minuut',\n            mm : '%d minuten',\n            h : 'één uur',\n            hh : '%d uur',\n            d : 'één dag',\n            dd : '%d dagen',\n            M : 'één maand',\n            MM : '%d maanden',\n            y : 'één jaar',\n            yy : '%d jaar'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal : function (number) {\n            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return nlBe;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var monthsShortWithDots = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n        monthsShortWithoutDots = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\n    var monthsParse = [/^jan/i, /^feb/i, /^maart|mrt.?$/i, /^apr/i, /^mei$/i, /^jun[i.]?$/i, /^jul[i.]?$/i, /^aug/i, /^sep/i, /^okt/i, /^nov/i, /^dec/i];\n    var monthsRegex = /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\n    var nl = moment.defineLocale('nl', {\n        months : 'januari_februari_maart_april_mei_juni_juli_augustus_september_oktober_november_december'.split('_'),\n        monthsShort : function (m, format) {\n            if (!m) {\n                return monthsShortWithDots;\n            } else if (/-MMM-/.test(format)) {\n                return monthsShortWithoutDots[m.month()];\n            } else {\n                return monthsShortWithDots[m.month()];\n            }\n        },\n\n        monthsRegex: monthsRegex,\n        monthsShortRegex: monthsRegex,\n        monthsStrictRegex: /^(januari|februari|maart|april|mei|ju[nl]i|augustus|september|oktober|november|december)/i,\n        monthsShortStrictRegex: /^(jan\\.?|feb\\.?|mrt\\.?|apr\\.?|mei|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i,\n\n        monthsParse : monthsParse,\n        longMonthsParse : monthsParse,\n        shortMonthsParse : monthsParse,\n\n        weekdays : 'zondag_maandag_dinsdag_woensdag_donderdag_vrijdag_zaterdag'.split('_'),\n        weekdaysShort : 'zo._ma._di._wo._do._vr._za.'.split('_'),\n        weekdaysMin : 'zo_ma_di_wo_do_vr_za'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD-MM-YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[vandaag om] LT',\n            nextDay: '[morgen om] LT',\n            nextWeek: 'dddd [om] LT',\n            lastDay: '[gisteren om] LT',\n            lastWeek: '[afgelopen] dddd [om] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'over %s',\n            past : '%s geleden',\n            s : 'een paar seconden',\n            ss : '%d seconden',\n            m : 'één minuut',\n            mm : '%d minuten',\n            h : 'één uur',\n            hh : '%d uur',\n            d : 'één dag',\n            dd : '%d dagen',\n            M : 'één maand',\n            MM : '%d maanden',\n            y : 'één jaar',\n            yy : '%d jaar'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(ste|de)/,\n        ordinal : function (number) {\n            return number + ((number === 1 || number === 8 || number >= 20) ? 'ste' : 'de');\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return nl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var nn = moment.defineLocale('nn', {\n        months : 'januar_februar_mars_april_mai_juni_juli_august_september_oktober_november_desember'.split('_'),\n        monthsShort : 'jan_feb_mar_apr_mai_jun_jul_aug_sep_okt_nov_des'.split('_'),\n        weekdays : 'sundag_måndag_tysdag_onsdag_torsdag_fredag_laurdag'.split('_'),\n        weekdaysShort : 'sun_mån_tys_ons_tor_fre_lau'.split('_'),\n        weekdaysMin : 'su_må_ty_on_to_fr_lø'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D. MMMM YYYY',\n            LLL : 'D. MMMM YYYY [kl.] H:mm',\n            LLLL : 'dddd D. MMMM YYYY [kl.] HH:mm'\n        },\n        calendar : {\n            sameDay: '[I dag klokka] LT',\n            nextDay: '[I morgon klokka] LT',\n            nextWeek: 'dddd [klokka] LT',\n            lastDay: '[I går klokka] LT',\n            lastWeek: '[Føregåande] dddd [klokka] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'om %s',\n            past : '%s sidan',\n            s : 'nokre sekund',\n            ss : '%d sekund',\n            m : 'eit minutt',\n            mm : '%d minutt',\n            h : 'ein time',\n            hh : '%d timar',\n            d : 'ein dag',\n            dd : '%d dagar',\n            M : 'ein månad',\n            MM : '%d månader',\n            y : 'eit år',\n            yy : '%d år'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return nn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '੧',\n        '2': '੨',\n        '3': '੩',\n        '4': '੪',\n        '5': '੫',\n        '6': '੬',\n        '7': '੭',\n        '8': '੮',\n        '9': '੯',\n        '0': '੦'\n    },\n    numberMap = {\n        '੧': '1',\n        '੨': '2',\n        '੩': '3',\n        '੪': '4',\n        '੫': '5',\n        '੬': '6',\n        '੭': '7',\n        '੮': '8',\n        '੯': '9',\n        '੦': '0'\n    };\n\n    var paIn = moment.defineLocale('pa-in', {\n        // There are months name as per Nanakshahi Calendar but they are not used as rigidly in modern Punjabi.\n        months : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n        monthsShort : 'ਜਨਵਰੀ_ਫ਼ਰਵਰੀ_ਮਾਰਚ_ਅਪ੍ਰੈਲ_ਮਈ_ਜੂਨ_ਜੁਲਾਈ_ਅਗਸਤ_ਸਤੰਬਰ_ਅਕਤੂਬਰ_ਨਵੰਬਰ_ਦਸੰਬਰ'.split('_'),\n        weekdays : 'ਐਤਵਾਰ_ਸੋਮਵਾਰ_ਮੰਗਲਵਾਰ_ਬੁਧਵਾਰ_ਵੀਰਵਾਰ_ਸ਼ੁੱਕਰਵਾਰ_ਸ਼ਨੀਚਰਵਾਰ'.split('_'),\n        weekdaysShort : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        weekdaysMin : 'ਐਤ_ਸੋਮ_ਮੰਗਲ_ਬੁਧ_ਵੀਰ_ਸ਼ੁਕਰ_ਸ਼ਨੀ'.split('_'),\n        longDateFormat : {\n            LT : 'A h:mm ਵਜੇ',\n            LTS : 'A h:mm:ss ਵਜੇ',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY, A h:mm ਵਜੇ',\n            LLLL : 'dddd, D MMMM YYYY, A h:mm ਵਜੇ'\n        },\n        calendar : {\n            sameDay : '[ਅਜ] LT',\n            nextDay : '[ਕਲ] LT',\n            nextWeek : '[ਅਗਲਾ] dddd, LT',\n            lastDay : '[ਕਲ] LT',\n            lastWeek : '[ਪਿਛਲੇ] dddd, LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s ਵਿੱਚ',\n            past : '%s ਪਿਛਲੇ',\n            s : 'ਕੁਝ ਸਕਿੰਟ',\n            ss : '%d ਸਕਿੰਟ',\n            m : 'ਇਕ ਮਿੰਟ',\n            mm : '%d ਮਿੰਟ',\n            h : 'ਇੱਕ ਘੰਟਾ',\n            hh : '%d ਘੰਟੇ',\n            d : 'ਇੱਕ ਦਿਨ',\n            dd : '%d ਦਿਨ',\n            M : 'ਇੱਕ ਮਹੀਨਾ',\n            MM : '%d ਮਹੀਨੇ',\n            y : 'ਇੱਕ ਸਾਲ',\n            yy : '%d ਸਾਲ'\n        },\n        preparse: function (string) {\n            return string.replace(/[੧੨੩੪੫੬੭੮੯੦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // Punjabi notation for meridiems are quite fuzzy in practice. While there exists\n        // a rigid notion of a 'Pahar' it is not used as rigidly in modern Punjabi.\n        meridiemParse: /ਰਾਤ|ਸਵੇਰ|ਦੁਪਹਿਰ|ਸ਼ਾਮ/,\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ਰਾਤ') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ਸਵੇਰ') {\n                return hour;\n            } else if (meridiem === 'ਦੁਪਹਿਰ') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'ਸ਼ਾਮ') {\n                return hour + 12;\n            }\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ਰਾਤ';\n            } else if (hour < 10) {\n                return 'ਸਵੇਰ';\n            } else if (hour < 17) {\n                return 'ਦੁਪਹਿਰ';\n            } else if (hour < 20) {\n                return 'ਸ਼ਾਮ';\n            } else {\n                return 'ਰਾਤ';\n            }\n        },\n        week : {\n            dow : 0, // Sunday is the first day of the week.\n            doy : 6  // The week that contains Jan 6th is the first week of the year.\n        }\n    });\n\n    return paIn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split('_'),\n        monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split('_');\n    function plural(n) {\n        return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n    }\n    function translate(number, withoutSuffix, key) {\n        var result = number + ' ';\n        switch (key) {\n            case 'ss':\n                return result + (plural(number) ? 'sekundy' : 'sekund');\n            case 'm':\n                return withoutSuffix ? 'minuta' : 'minutę';\n            case 'mm':\n                return result + (plural(number) ? 'minuty' : 'minut');\n            case 'h':\n                return withoutSuffix  ? 'godzina'  : 'godzinę';\n            case 'hh':\n                return result + (plural(number) ? 'godziny' : 'godzin');\n            case 'MM':\n                return result + (plural(number) ? 'miesiące' : 'miesięcy');\n            case 'yy':\n                return result + (plural(number) ? 'lata' : 'lat');\n        }\n    }\n\n    var pl = moment.defineLocale('pl', {\n        months : function (momentToFormat, format) {\n            if (!momentToFormat) {\n                return monthsNominative;\n            } else if (format === '') {\n                // Hack: if format empty we know this is used to generate\n                // RegExp by moment. Give then back both valid forms of months\n                // in RegExp ready format.\n                return '(' + monthsSubjective[momentToFormat.month()] + '|' + monthsNominative[momentToFormat.month()] + ')';\n            } else if (/D MMMM/.test(format)) {\n                return monthsSubjective[momentToFormat.month()];\n            } else {\n                return monthsNominative[momentToFormat.month()];\n            }\n        },\n        monthsShort : 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),\n        weekdays : 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split('_'),\n        weekdaysShort : 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),\n        weekdaysMin : 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[Dziś o] LT',\n            nextDay: '[Jutro o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W niedzielę o] LT';\n\n                    case 2:\n                        return '[We wtorek o] LT';\n\n                    case 3:\n                        return '[W środę o] LT';\n\n                    case 6:\n                        return '[W sobotę o] LT';\n\n                    default:\n                        return '[W] dddd [o] LT';\n                }\n            },\n            lastDay: '[Wczoraj o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[W zeszłą niedzielę o] LT';\n                    case 3:\n                        return '[W zeszłą środę o] LT';\n                    case 6:\n                        return '[W zeszłą sobotę o] LT';\n                    default:\n                        return '[W zeszły] dddd [o] LT';\n                }\n            },\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'za %s',\n            past : '%s temu',\n            s : 'kilka sekund',\n            ss : translate,\n            m : translate,\n            mm : translate,\n            h : translate,\n            hh : translate,\n            d : '1 dzień',\n            dd : '%d dni',\n            M : 'miesiąc',\n            MM : translate,\n            y : 'rok',\n            yy : translate\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return pl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var ptBr = moment.defineLocale('pt-br', {\n        months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n        monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n        weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n        weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n        weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D [de] MMMM [de] YYYY',\n            LLL : 'D [de] MMMM [de] YYYY [às] HH:mm',\n            LLLL : 'dddd, D [de] MMMM [de] YYYY [às] HH:mm'\n        },\n        calendar : {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return (this.day() === 0 || this.day() === 6) ?\n                    '[Último] dddd [às] LT' : // Saturday + Sunday\n                    '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'em %s',\n            past : 'há %s',\n            s : 'poucos segundos',\n            ss : '%d segundos',\n            m : 'um minuto',\n            mm : '%d minutos',\n            h : 'uma hora',\n            hh : '%d horas',\n            d : 'um dia',\n            dd : '%d dias',\n            M : 'um mês',\n            MM : '%d meses',\n            y : 'um ano',\n            yy : '%d anos'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal : '%dº'\n    });\n\n    return ptBr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var pt = moment.defineLocale('pt', {\n        months : 'Janeiro_Fevereiro_Março_Abril_Maio_Junho_Julho_Agosto_Setembro_Outubro_Novembro_Dezembro'.split('_'),\n        monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n        weekdays : 'Domingo_Segunda-feira_Terça-feira_Quarta-feira_Quinta-feira_Sexta-feira_Sábado'.split('_'),\n        weekdaysShort : 'Dom_Seg_Ter_Qua_Qui_Sex_Sáb'.split('_'),\n        weekdaysMin : 'Do_2ª_3ª_4ª_5ª_6ª_Sá'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D [de] MMMM [de] YYYY',\n            LLL : 'D [de] MMMM [de] YYYY HH:mm',\n            LLLL : 'dddd, D [de] MMMM [de] YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[Hoje às] LT',\n            nextDay: '[Amanhã às] LT',\n            nextWeek: 'dddd [às] LT',\n            lastDay: '[Ontem às] LT',\n            lastWeek: function () {\n                return (this.day() === 0 || this.day() === 6) ?\n                    '[Último] dddd [às] LT' : // Saturday + Sunday\n                    '[Última] dddd [às] LT'; // Monday - Friday\n            },\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'em %s',\n            past : 'há %s',\n            s : 'segundos',\n            ss : '%d segundos',\n            m : 'um minuto',\n            mm : '%d minutos',\n            h : 'uma hora',\n            hh : '%d horas',\n            d : 'um dia',\n            dd : '%d dias',\n            M : 'um mês',\n            MM : '%d meses',\n            y : 'um ano',\n            yy : '%d anos'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}º/,\n        ordinal : '%dº',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return pt;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n                'ss': 'secunde',\n                'mm': 'minute',\n                'hh': 'ore',\n                'dd': 'zile',\n                'MM': 'luni',\n                'yy': 'ani'\n            },\n            separator = ' ';\n        if (number % 100 >= 20 || (number >= 100 && number % 100 === 0)) {\n            separator = ' de ';\n        }\n        return number + separator + format[key];\n    }\n\n    var ro = moment.defineLocale('ro', {\n        months : 'ianuarie_februarie_martie_aprilie_mai_iunie_iulie_august_septembrie_octombrie_noiembrie_decembrie'.split('_'),\n        monthsShort : 'ian._febr._mart._apr._mai_iun._iul._aug._sept._oct._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays : 'duminică_luni_marți_miercuri_joi_vineri_sâmbătă'.split('_'),\n        weekdaysShort : 'Dum_Lun_Mar_Mie_Joi_Vin_Sâm'.split('_'),\n        weekdaysMin : 'Du_Lu_Ma_Mi_Jo_Vi_Sâ'.split('_'),\n        longDateFormat : {\n            LT : 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY H:mm',\n            LLLL : 'dddd, D MMMM YYYY H:mm'\n        },\n        calendar : {\n            sameDay: '[azi la] LT',\n            nextDay: '[mâine la] LT',\n            nextWeek: 'dddd [la] LT',\n            lastDay: '[ieri la] LT',\n            lastWeek: '[fosta] dddd [la] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'peste %s',\n            past : '%s în urmă',\n            s : 'câteva secunde',\n            ss : relativeTimeWithPlural,\n            m : 'un minut',\n            mm : relativeTimeWithPlural,\n            h : 'o oră',\n            hh : relativeTimeWithPlural,\n            d : 'o zi',\n            dd : relativeTimeWithPlural,\n            M : 'o lună',\n            MM : relativeTimeWithPlural,\n            y : 'un an',\n            yy : relativeTimeWithPlural\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return ro;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            'ss': withoutSuffix ? 'секунда_секунды_секунд' : 'секунду_секунды_секунд',\n            'mm': withoutSuffix ? 'минута_минуты_минут' : 'минуту_минуты_минут',\n            'hh': 'час_часа_часов',\n            'dd': 'день_дня_дней',\n            'MM': 'месяц_месяца_месяцев',\n            'yy': 'год_года_лет'\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'минута' : 'минуту';\n        }\n        else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    var monthsParse = [/^янв/i, /^фев/i, /^мар/i, /^апр/i, /^ма[йя]/i, /^июн/i, /^июл/i, /^авг/i, /^сен/i, /^окт/i, /^ноя/i, /^дек/i];\n\n    // http://new.gramota.ru/spravka/rules/139-prop : § 103\n    // Сокращения месяцев: http://new.gramota.ru/spravka/buro/search-answer?s=242637\n    // CLDR data:          http://www.unicode.org/cldr/charts/28/summary/ru.html#1753\n    var ru = moment.defineLocale('ru', {\n        months : {\n            format: 'января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря'.split('_'),\n            standalone: 'январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь'.split('_')\n        },\n        monthsShort : {\n            // по CLDR именно \"июл.\" и \"июн.\", но какой смысл менять букву на точку ?\n            format: 'янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.'.split('_'),\n            standalone: 'янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.'.split('_')\n        },\n        weekdays : {\n            standalone: 'воскресенье_понедельник_вторник_среда_четверг_пятница_суббота'.split('_'),\n            format: 'воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу'.split('_'),\n            isFormat: /\\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?\\] ?dddd/\n        },\n        weekdaysShort : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin : 'вс_пн_вт_ср_чт_пт_сб'.split('_'),\n        monthsParse : monthsParse,\n        longMonthsParse : monthsParse,\n        shortMonthsParse : monthsParse,\n\n        // полные названия с падежами, по три буквы, для некоторых, по 4 буквы, сокращения с точкой и без точки\n        monthsRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // копия предыдущего\n        monthsShortRegex: /^(январ[ья]|янв\\.?|феврал[ья]|февр?\\.?|марта?|мар\\.?|апрел[ья]|апр\\.?|ма[йя]|июн[ья]|июн\\.?|июл[ья]|июл\\.?|августа?|авг\\.?|сентябр[ья]|сент?\\.?|октябр[ья]|окт\\.?|ноябр[ья]|нояб?\\.?|декабр[ья]|дек\\.?)/i,\n\n        // полные названия с падежами\n        monthsStrictRegex: /^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,\n\n        // Выражение, которое соотвествует только сокращённым формам\n        monthsShortStrictRegex: /^(янв\\.|февр?\\.|мар[т.]|апр\\.|ма[яй]|июн[ья.]|июл[ья.]|авг\\.|сент?\\.|окт\\.|нояб?\\.|дек\\.)/i,\n        longDateFormat : {\n            LT : 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D MMMM YYYY г.',\n            LLL : 'D MMMM YYYY г., H:mm',\n            LLLL : 'dddd, D MMMM YYYY г., H:mm'\n        },\n        calendar : {\n            sameDay: '[Сегодня, в] LT',\n            nextDay: '[Завтра, в] LT',\n            lastDay: '[Вчера, в] LT',\n            nextWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В следующее] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В следующий] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В следующую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            lastWeek: function (now) {\n                if (now.week() !== this.week()) {\n                    switch (this.day()) {\n                        case 0:\n                            return '[В прошлое] dddd, [в] LT';\n                        case 1:\n                        case 2:\n                        case 4:\n                            return '[В прошлый] dddd, [в] LT';\n                        case 3:\n                        case 5:\n                        case 6:\n                            return '[В прошлую] dddd, [в] LT';\n                    }\n                } else {\n                    if (this.day() === 2) {\n                        return '[Во] dddd, [в] LT';\n                    } else {\n                        return '[В] dddd, [в] LT';\n                    }\n                }\n            },\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'через %s',\n            past : '%s назад',\n            s : 'несколько секунд',\n            ss : relativeTimeWithPlural,\n            m : relativeTimeWithPlural,\n            mm : relativeTimeWithPlural,\n            h : 'час',\n            hh : relativeTimeWithPlural,\n            d : 'день',\n            dd : relativeTimeWithPlural,\n            M : 'месяц',\n            MM : relativeTimeWithPlural,\n            y : 'год',\n            yy : relativeTimeWithPlural\n        },\n        meridiemParse: /ночи|утра|дня|вечера/i,\n        isPM : function (input) {\n            return /^(дня|вечера)$/.test(input);\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночи';\n            } else if (hour < 12) {\n                return 'утра';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечера';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го|я)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                case 'w':\n                case 'W':\n                    return number + '-я';\n                default:\n                    return number;\n            }\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return ru;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var months = [\n        'جنوري',\n        'فيبروري',\n        'مارچ',\n        'اپريل',\n        'مئي',\n        'جون',\n        'جولاءِ',\n        'آگسٽ',\n        'سيپٽمبر',\n        'آڪٽوبر',\n        'نومبر',\n        'ڊسمبر'\n    ];\n    var days = [\n        'آچر',\n        'سومر',\n        'اڱارو',\n        'اربع',\n        'خميس',\n        'جمع',\n        'ڇنڇر'\n    ];\n\n    var sd = moment.defineLocale('sd', {\n        months : months,\n        monthsShort : months,\n        weekdays : days,\n        weekdaysShort : days,\n        weekdaysMin : days,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd، D MMMM YYYY HH:mm'\n        },\n        meridiemParse: /صبح|شام/,\n        isPM : function (input) {\n            return 'شام' === input;\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar : {\n            sameDay : '[اڄ] LT',\n            nextDay : '[سڀاڻي] LT',\n            nextWeek : 'dddd [اڳين هفتي تي] LT',\n            lastDay : '[ڪالهه] LT',\n            lastWeek : '[گزريل هفتي] dddd [تي] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s پوء',\n            past : '%s اڳ',\n            s : 'چند سيڪنڊ',\n            ss : '%d سيڪنڊ',\n            m : 'هڪ منٽ',\n            mm : '%d منٽ',\n            h : 'هڪ ڪلاڪ',\n            hh : '%d ڪلاڪ',\n            d : 'هڪ ڏينهن',\n            dd : '%d ڏينهن',\n            M : 'هڪ مهينو',\n            MM : '%d مهينا',\n            y : 'هڪ سال',\n            yy : '%d سال'\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return sd;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var se = moment.defineLocale('se', {\n        months : 'ođđajagemánnu_guovvamánnu_njukčamánnu_cuoŋománnu_miessemánnu_geassemánnu_suoidnemánnu_borgemánnu_čakčamánnu_golggotmánnu_skábmamánnu_juovlamánnu'.split('_'),\n        monthsShort : 'ođđj_guov_njuk_cuo_mies_geas_suoi_borg_čakč_golg_skáb_juov'.split('_'),\n        weekdays : 'sotnabeaivi_vuossárga_maŋŋebárga_gaskavahkku_duorastat_bearjadat_lávvardat'.split('_'),\n        weekdaysShort : 'sotn_vuos_maŋ_gask_duor_bear_láv'.split('_'),\n        weekdaysMin : 's_v_m_g_d_b_L'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'MMMM D. [b.] YYYY',\n            LLL : 'MMMM D. [b.] YYYY [ti.] HH:mm',\n            LLLL : 'dddd, MMMM D. [b.] YYYY [ti.] HH:mm'\n        },\n        calendar : {\n            sameDay: '[otne ti] LT',\n            nextDay: '[ihttin ti] LT',\n            nextWeek: 'dddd [ti] LT',\n            lastDay: '[ikte ti] LT',\n            lastWeek: '[ovddit] dddd [ti] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : '%s geažes',\n            past : 'maŋit %s',\n            s : 'moadde sekunddat',\n            ss: '%d sekunddat',\n            m : 'okta minuhta',\n            mm : '%d minuhtat',\n            h : 'okta diimmu',\n            hh : '%d diimmut',\n            d : 'okta beaivi',\n            dd : '%d beaivvit',\n            M : 'okta mánnu',\n            MM : '%d mánut',\n            y : 'okta jahki',\n            yy : '%d jagit'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return se;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    /*jshint -W100*/\n    var si = moment.defineLocale('si', {\n        months : 'ජනවාරි_පෙබරවාරි_මාර්තු_අප්‍රේල්_මැයි_ජූනි_ජූලි_අගෝස්තු_සැප්තැම්බර්_ඔක්තෝබර්_නොවැම්බර්_දෙසැම්බර්'.split('_'),\n        monthsShort : 'ජන_පෙබ_මාර්_අප්_මැයි_ජූනි_ජූලි_අගෝ_සැප්_ඔක්_නොවැ_දෙසැ'.split('_'),\n        weekdays : 'ඉරිදා_සඳුදා_අඟහරුවාදා_බදාදා_බ්‍රහස්පතින්දා_සිකුරාදා_සෙනසුරාදා'.split('_'),\n        weekdaysShort : 'ඉරි_සඳු_අඟ_බදා_බ්‍රහ_සිකු_සෙන'.split('_'),\n        weekdaysMin : 'ඉ_ස_අ_බ_බ්‍ර_සි_සෙ'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'a h:mm',\n            LTS : 'a h:mm:ss',\n            L : 'YYYY/MM/DD',\n            LL : 'YYYY MMMM D',\n            LLL : 'YYYY MMMM D, a h:mm',\n            LLLL : 'YYYY MMMM D [වැනි] dddd, a h:mm:ss'\n        },\n        calendar : {\n            sameDay : '[අද] LT[ට]',\n            nextDay : '[හෙට] LT[ට]',\n            nextWeek : 'dddd LT[ට]',\n            lastDay : '[ඊයේ] LT[ට]',\n            lastWeek : '[පසුගිය] dddd LT[ට]',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%sකින්',\n            past : '%sකට පෙර',\n            s : 'තත්පර කිහිපය',\n            ss : 'තත්පර %d',\n            m : 'මිනිත්තුව',\n            mm : 'මිනිත්තු %d',\n            h : 'පැය',\n            hh : 'පැය %d',\n            d : 'දිනය',\n            dd : 'දින %d',\n            M : 'මාසය',\n            MM : 'මාස %d',\n            y : 'වසර',\n            yy : 'වසර %d'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2} වැනි/,\n        ordinal : function (number) {\n            return number + ' වැනි';\n        },\n        meridiemParse : /පෙර වරු|පස් වරු|පෙ.ව|ප.ව./,\n        isPM : function (input) {\n            return input === 'ප.ව.' || input === 'පස් වරු';\n        },\n        meridiem : function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'ප.ව.' : 'පස් වරු';\n            } else {\n                return isLower ? 'පෙ.ව.' : 'පෙර වරු';\n            }\n        }\n    });\n\n    return si;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var months = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n        monthsShort = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\n    function plural(n) {\n        return (n > 1) && (n < 5);\n    }\n    function translate(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':  // a few seconds / in a few seconds / a few seconds ago\n                return (withoutSuffix || isFuture) ? 'pár sekúnd' : 'pár sekundami';\n            case 'ss': // 9 seconds / in 9 seconds / 9 seconds ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'sekundy' : 'sekúnd');\n                } else {\n                    return result + 'sekundami';\n                }\n                break;\n            case 'm':  // a minute / in a minute / a minute ago\n                return withoutSuffix ? 'minúta' : (isFuture ? 'minútu' : 'minútou');\n            case 'mm': // 9 minutes / in 9 minutes / 9 minutes ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'minúty' : 'minút');\n                } else {\n                    return result + 'minútami';\n                }\n                break;\n            case 'h':  // an hour / in an hour / an hour ago\n                return withoutSuffix ? 'hodina' : (isFuture ? 'hodinu' : 'hodinou');\n            case 'hh': // 9 hours / in 9 hours / 9 hours ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'hodiny' : 'hodín');\n                } else {\n                    return result + 'hodinami';\n                }\n                break;\n            case 'd':  // a day / in a day / a day ago\n                return (withoutSuffix || isFuture) ? 'deň' : 'dňom';\n            case 'dd': // 9 days / in 9 days / 9 days ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'dni' : 'dní');\n                } else {\n                    return result + 'dňami';\n                }\n                break;\n            case 'M':  // a month / in a month / a month ago\n                return (withoutSuffix || isFuture) ? 'mesiac' : 'mesiacom';\n            case 'MM': // 9 months / in 9 months / 9 months ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'mesiace' : 'mesiacov');\n                } else {\n                    return result + 'mesiacmi';\n                }\n                break;\n            case 'y':  // a year / in a year / a year ago\n                return (withoutSuffix || isFuture) ? 'rok' : 'rokom';\n            case 'yy': // 9 years / in 9 years / 9 years ago\n                if (withoutSuffix || isFuture) {\n                    return result + (plural(number) ? 'roky' : 'rokov');\n                } else {\n                    return result + 'rokmi';\n                }\n                break;\n        }\n    }\n\n    var sk = moment.defineLocale('sk', {\n        months : months,\n        monthsShort : monthsShort,\n        weekdays : 'nedeľa_pondelok_utorok_streda_štvrtok_piatok_sobota'.split('_'),\n        weekdaysShort : 'ne_po_ut_st_št_pi_so'.split('_'),\n        weekdaysMin : 'ne_po_ut_st_št_pi_so'.split('_'),\n        longDateFormat : {\n            LT: 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D. MMMM YYYY',\n            LLL : 'D. MMMM YYYY H:mm',\n            LLLL : 'dddd D. MMMM YYYY H:mm'\n        },\n        calendar : {\n            sameDay: '[dnes o] LT',\n            nextDay: '[zajtra o] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[v] dddd [o] LT';\n                    case 3:\n                        return '[v stredu o] LT';\n                    case 4:\n                        return '[vo štvrtok o] LT';\n                    case 5:\n                        return '[v piatok o] LT';\n                    case 6:\n                        return '[v sobotu o] LT';\n                }\n            },\n            lastDay: '[včera o] LT',\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[minulú nedeľu o] LT';\n                    case 1:\n                    case 2:\n                        return '[minulý] dddd [o] LT';\n                    case 3:\n                        return '[minulú stredu o] LT';\n                    case 4:\n                    case 5:\n                        return '[minulý] dddd [o] LT';\n                    case 6:\n                        return '[minulú sobotu o] LT';\n                }\n            },\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'za %s',\n            past : 'pred %s',\n            s : translate,\n            ss : translate,\n            m : translate,\n            mm : translate,\n            h : translate,\n            hh : translate,\n            d : translate,\n            dd : translate,\n            M : translate,\n            MM : translate,\n            y : translate,\n            yy : translate\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return sk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var result = number + ' ';\n        switch (key) {\n            case 's':\n                return withoutSuffix || isFuture ? 'nekaj sekund' : 'nekaj sekundami';\n            case 'ss':\n                if (number === 1) {\n                    result += withoutSuffix ? 'sekundo' : 'sekundi';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'sekundi' : 'sekundah';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'sekunde' : 'sekundah';\n                } else {\n                    result += 'sekund';\n                }\n                return result;\n            case 'm':\n                return withoutSuffix ? 'ena minuta' : 'eno minuto';\n            case 'mm':\n                if (number === 1) {\n                    result += withoutSuffix ? 'minuta' : 'minuto';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'minuti' : 'minutama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'minute' : 'minutami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'minut' : 'minutami';\n                }\n                return result;\n            case 'h':\n                return withoutSuffix ? 'ena ura' : 'eno uro';\n            case 'hh':\n                if (number === 1) {\n                    result += withoutSuffix ? 'ura' : 'uro';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'uri' : 'urama';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'ure' : 'urami';\n                } else {\n                    result += withoutSuffix || isFuture ? 'ur' : 'urami';\n                }\n                return result;\n            case 'd':\n                return withoutSuffix || isFuture ? 'en dan' : 'enim dnem';\n            case 'dd':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'dan' : 'dnem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevoma';\n                } else {\n                    result += withoutSuffix || isFuture ? 'dni' : 'dnevi';\n                }\n                return result;\n            case 'M':\n                return withoutSuffix || isFuture ? 'en mesec' : 'enim mesecem';\n            case 'MM':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'mesec' : 'mesecem';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'meseca' : 'mesecema';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'mesece' : 'meseci';\n                } else {\n                    result += withoutSuffix || isFuture ? 'mesecev' : 'meseci';\n                }\n                return result;\n            case 'y':\n                return withoutSuffix || isFuture ? 'eno leto' : 'enim letom';\n            case 'yy':\n                if (number === 1) {\n                    result += withoutSuffix || isFuture ? 'leto' : 'letom';\n                } else if (number === 2) {\n                    result += withoutSuffix || isFuture ? 'leti' : 'letoma';\n                } else if (number < 5) {\n                    result += withoutSuffix || isFuture ? 'leta' : 'leti';\n                } else {\n                    result += withoutSuffix || isFuture ? 'let' : 'leti';\n                }\n                return result;\n        }\n    }\n\n    var sl = moment.defineLocale('sl', {\n        months : 'januar_februar_marec_april_maj_junij_julij_avgust_september_oktober_november_december'.split('_'),\n        monthsShort : 'jan._feb._mar._apr._maj._jun._jul._avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays : 'nedelja_ponedeljek_torek_sreda_četrtek_petek_sobota'.split('_'),\n        weekdaysShort : 'ned._pon._tor._sre._čet._pet._sob.'.split('_'),\n        weekdaysMin : 'ne_po_to_sr_če_pe_so'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D. MMMM YYYY',\n            LLL : 'D. MMMM YYYY H:mm',\n            LLLL : 'dddd, D. MMMM YYYY H:mm'\n        },\n        calendar : {\n            sameDay  : '[danes ob] LT',\n            nextDay  : '[jutri ob] LT',\n\n            nextWeek : function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[v] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[v] [sredo] [ob] LT';\n                    case 6:\n                        return '[v] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[v] dddd [ob] LT';\n                }\n            },\n            lastDay  : '[včeraj ob] LT',\n            lastWeek : function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[prejšnjo] [nedeljo] [ob] LT';\n                    case 3:\n                        return '[prejšnjo] [sredo] [ob] LT';\n                    case 6:\n                        return '[prejšnjo] [soboto] [ob] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[prejšnji] dddd [ob] LT';\n                }\n            },\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'čez %s',\n            past   : 'pred %s',\n            s      : processRelativeTime,\n            ss     : processRelativeTime,\n            m      : processRelativeTime,\n            mm     : processRelativeTime,\n            h      : processRelativeTime,\n            hh     : processRelativeTime,\n            d      : processRelativeTime,\n            dd     : processRelativeTime,\n            M      : processRelativeTime,\n            MM     : processRelativeTime,\n            y      : processRelativeTime,\n            yy     : processRelativeTime\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return sl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var sq = moment.defineLocale('sq', {\n        months : 'Janar_Shkurt_Mars_Prill_Maj_Qershor_Korrik_Gusht_Shtator_Tetor_Nëntor_Dhjetor'.split('_'),\n        monthsShort : 'Jan_Shk_Mar_Pri_Maj_Qer_Kor_Gus_Sht_Tet_Nën_Dhj'.split('_'),\n        weekdays : 'E Diel_E Hënë_E Martë_E Mërkurë_E Enjte_E Premte_E Shtunë'.split('_'),\n        weekdaysShort : 'Die_Hën_Mar_Mër_Enj_Pre_Sht'.split('_'),\n        weekdaysMin : 'D_H_Ma_Më_E_P_Sh'.split('_'),\n        weekdaysParseExact : true,\n        meridiemParse: /PD|MD/,\n        isPM: function (input) {\n            return input.charAt(0) === 'M';\n        },\n        meridiem : function (hours, minutes, isLower) {\n            return hours < 12 ? 'PD' : 'MD';\n        },\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[Sot në] LT',\n            nextDay : '[Nesër në] LT',\n            nextWeek : 'dddd [në] LT',\n            lastDay : '[Dje në] LT',\n            lastWeek : 'dddd [e kaluar në] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'në %s',\n            past : '%s më parë',\n            s : 'disa sekonda',\n            ss : '%d sekonda',\n            m : 'një minutë',\n            mm : '%d minuta',\n            h : 'një orë',\n            hh : '%d orë',\n            d : 'një ditë',\n            dd : '%d ditë',\n            M : 'një muaj',\n            MM : '%d muaj',\n            y : 'një vit',\n            yy : '%d vite'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return sq;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var translator = {\n        words: { //Different grammatical cases\n            ss: ['секунда', 'секунде', 'секунди'],\n            m: ['један минут', 'једне минуте'],\n            mm: ['минут', 'минуте', 'минута'],\n            h: ['један сат', 'једног сата'],\n            hh: ['сат', 'сата', 'сати'],\n            dd: ['дан', 'дана', 'дана'],\n            MM: ['месец', 'месеца', 'месеци'],\n            yy: ['година', 'године', 'година']\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n        },\n        translate: function (number, withoutSuffix, key) {\n            var wordKey = translator.words[key];\n            if (key.length === 1) {\n                return withoutSuffix ? wordKey[0] : wordKey[1];\n            } else {\n                return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n            }\n        }\n    };\n\n    var srCyrl = moment.defineLocale('sr-cyrl', {\n        months: 'јануар_фебруар_март_април_мај_јун_јул_август_септембар_октобар_новембар_децембар'.split('_'),\n        monthsShort: 'јан._феб._мар._апр._мај_јун_јул_авг._сеп._окт._нов._дец.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'недеља_понедељак_уторак_среда_четвртак_петак_субота'.split('_'),\n        weekdaysShort: 'нед._пон._уто._сре._чет._пет._суб.'.split('_'),\n        weekdaysMin: 'не_по_ут_ср_че_пе_су'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS : 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm'\n        },\n        calendar: {\n            sameDay: '[данас у] LT',\n            nextDay: '[сутра у] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[у] [недељу] [у] LT';\n                    case 3:\n                        return '[у] [среду] [у] LT';\n                    case 6:\n                        return '[у] [суботу] [у] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[у] dddd [у] LT';\n                }\n            },\n            lastDay  : '[јуче у] LT',\n            lastWeek : function () {\n                var lastWeekDays = [\n                    '[прошле] [недеље] [у] LT',\n                    '[прошлог] [понедељка] [у] LT',\n                    '[прошлог] [уторка] [у] LT',\n                    '[прошле] [среде] [у] LT',\n                    '[прошлог] [четвртка] [у] LT',\n                    '[прошлог] [петка] [у] LT',\n                    '[прошле] [суботе] [у] LT'\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'за %s',\n            past   : 'пре %s',\n            s      : 'неколико секунди',\n            ss     : translator.translate,\n            m      : translator.translate,\n            mm     : translator.translate,\n            h      : translator.translate,\n            hh     : translator.translate,\n            d      : 'дан',\n            dd     : translator.translate,\n            M      : 'месец',\n            MM     : translator.translate,\n            y      : 'годину',\n            yy     : translator.translate\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return srCyrl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var translator = {\n        words: { //Different grammatical cases\n            ss: ['sekunda', 'sekunde', 'sekundi'],\n            m: ['jedan minut', 'jedne minute'],\n            mm: ['minut', 'minute', 'minuta'],\n            h: ['jedan sat', 'jednog sata'],\n            hh: ['sat', 'sata', 'sati'],\n            dd: ['dan', 'dana', 'dana'],\n            MM: ['mesec', 'meseca', 'meseci'],\n            yy: ['godina', 'godine', 'godina']\n        },\n        correctGrammaticalCase: function (number, wordKey) {\n            return number === 1 ? wordKey[0] : (number >= 2 && number <= 4 ? wordKey[1] : wordKey[2]);\n        },\n        translate: function (number, withoutSuffix, key) {\n            var wordKey = translator.words[key];\n            if (key.length === 1) {\n                return withoutSuffix ? wordKey[0] : wordKey[1];\n            } else {\n                return number + ' ' + translator.correctGrammaticalCase(number, wordKey);\n            }\n        }\n    };\n\n    var sr = moment.defineLocale('sr', {\n        months: 'januar_februar_mart_april_maj_jun_jul_avgust_septembar_oktobar_novembar_decembar'.split('_'),\n        monthsShort: 'jan._feb._mar._apr._maj_jun_jul_avg._sep._okt._nov._dec.'.split('_'),\n        monthsParseExact: true,\n        weekdays: 'nedelja_ponedeljak_utorak_sreda_četvrtak_petak_subota'.split('_'),\n        weekdaysShort: 'ned._pon._uto._sre._čet._pet._sub.'.split('_'),\n        weekdaysMin: 'ne_po_ut_sr_če_pe_su'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat: {\n            LT: 'H:mm',\n            LTS : 'H:mm:ss',\n            L: 'DD.MM.YYYY',\n            LL: 'D. MMMM YYYY',\n            LLL: 'D. MMMM YYYY H:mm',\n            LLLL: 'dddd, D. MMMM YYYY H:mm'\n        },\n        calendar: {\n            sameDay: '[danas u] LT',\n            nextDay: '[sutra u] LT',\n            nextWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                        return '[u] [nedelju] [u] LT';\n                    case 3:\n                        return '[u] [sredu] [u] LT';\n                    case 6:\n                        return '[u] [subotu] [u] LT';\n                    case 1:\n                    case 2:\n                    case 4:\n                    case 5:\n                        return '[u] dddd [u] LT';\n                }\n            },\n            lastDay  : '[juče u] LT',\n            lastWeek : function () {\n                var lastWeekDays = [\n                    '[prošle] [nedelje] [u] LT',\n                    '[prošlog] [ponedeljka] [u] LT',\n                    '[prošlog] [utorka] [u] LT',\n                    '[prošle] [srede] [u] LT',\n                    '[prošlog] [četvrtka] [u] LT',\n                    '[prošlog] [petka] [u] LT',\n                    '[prošle] [subote] [u] LT'\n                ];\n                return lastWeekDays[this.day()];\n            },\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'za %s',\n            past   : 'pre %s',\n            s      : 'nekoliko sekundi',\n            ss     : translator.translate,\n            m      : translator.translate,\n            mm     : translator.translate,\n            h      : translator.translate,\n            hh     : translator.translate,\n            d      : 'dan',\n            dd     : translator.translate,\n            M      : 'mesec',\n            MM     : translator.translate,\n            y      : 'godinu',\n            yy     : translator.translate\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return sr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var ss = moment.defineLocale('ss', {\n        months : \"Bhimbidvwane_Indlovana_Indlov'lenkhulu_Mabasa_Inkhwekhweti_Inhlaba_Kholwane_Ingci_Inyoni_Imphala_Lweti_Ingongoni\".split('_'),\n        monthsShort : 'Bhi_Ina_Inu_Mab_Ink_Inh_Kho_Igc_Iny_Imp_Lwe_Igo'.split('_'),\n        weekdays : 'Lisontfo_Umsombuluko_Lesibili_Lesitsatfu_Lesine_Lesihlanu_Umgcibelo'.split('_'),\n        weekdaysShort : 'Lis_Umb_Lsb_Les_Lsi_Lsh_Umg'.split('_'),\n        weekdaysMin : 'Li_Us_Lb_Lt_Ls_Lh_Ug'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'h:mm A',\n            LTS : 'h:mm:ss A',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY h:mm A',\n            LLLL : 'dddd, D MMMM YYYY h:mm A'\n        },\n        calendar : {\n            sameDay : '[Namuhla nga] LT',\n            nextDay : '[Kusasa nga] LT',\n            nextWeek : 'dddd [nga] LT',\n            lastDay : '[Itolo nga] LT',\n            lastWeek : 'dddd [leliphelile] [nga] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'nga %s',\n            past : 'wenteka nga %s',\n            s : 'emizuzwana lomcane',\n            ss : '%d mzuzwana',\n            m : 'umzuzu',\n            mm : '%d emizuzu',\n            h : 'lihora',\n            hh : '%d emahora',\n            d : 'lilanga',\n            dd : '%d emalanga',\n            M : 'inyanga',\n            MM : '%d tinyanga',\n            y : 'umnyaka',\n            yy : '%d iminyaka'\n        },\n        meridiemParse: /ekuseni|emini|entsambama|ebusuku/,\n        meridiem : function (hours, minutes, isLower) {\n            if (hours < 11) {\n                return 'ekuseni';\n            } else if (hours < 15) {\n                return 'emini';\n            } else if (hours < 19) {\n                return 'entsambama';\n            } else {\n                return 'ebusuku';\n            }\n        },\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'ekuseni') {\n                return hour;\n            } else if (meridiem === 'emini') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'entsambama' || meridiem === 'ebusuku') {\n                if (hour === 0) {\n                    return 0;\n                }\n                return hour + 12;\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal : '%d',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return ss;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var sv = moment.defineLocale('sv', {\n        months : 'januari_februari_mars_april_maj_juni_juli_augusti_september_oktober_november_december'.split('_'),\n        monthsShort : 'jan_feb_mar_apr_maj_jun_jul_aug_sep_okt_nov_dec'.split('_'),\n        weekdays : 'söndag_måndag_tisdag_onsdag_torsdag_fredag_lördag'.split('_'),\n        weekdaysShort : 'sön_mån_tis_ons_tor_fre_lör'.split('_'),\n        weekdaysMin : 'sö_må_ti_on_to_fr_lö'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'YYYY-MM-DD',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY [kl.] HH:mm',\n            LLLL : 'dddd D MMMM YYYY [kl.] HH:mm',\n            lll : 'D MMM YYYY HH:mm',\n            llll : 'ddd D MMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[Idag] LT',\n            nextDay: '[Imorgon] LT',\n            lastDay: '[Igår] LT',\n            nextWeek: '[På] dddd LT',\n            lastWeek: '[I] dddd[s] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'om %s',\n            past : 'för %s sedan',\n            s : 'några sekunder',\n            ss : '%d sekunder',\n            m : 'en minut',\n            mm : '%d minuter',\n            h : 'en timme',\n            hh : '%d timmar',\n            d : 'en dag',\n            dd : '%d dagar',\n            M : 'en månad',\n            MM : '%d månader',\n            y : 'ett år',\n            yy : '%d år'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(e|a)/,\n        ordinal : function (number) {\n            var b = number % 10,\n                output = (~~(number % 100 / 10) === 1) ? 'e' :\n                (b === 1) ? 'a' :\n                (b === 2) ? 'a' :\n                (b === 3) ? 'e' : 'e';\n            return number + output;\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return sv;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var sw = moment.defineLocale('sw', {\n        months : 'Januari_Februari_Machi_Aprili_Mei_Juni_Julai_Agosti_Septemba_Oktoba_Novemba_Desemba'.split('_'),\n        monthsShort : 'Jan_Feb_Mac_Apr_Mei_Jun_Jul_Ago_Sep_Okt_Nov_Des'.split('_'),\n        weekdays : 'Jumapili_Jumatatu_Jumanne_Jumatano_Alhamisi_Ijumaa_Jumamosi'.split('_'),\n        weekdaysShort : 'Jpl_Jtat_Jnne_Jtan_Alh_Ijm_Jmos'.split('_'),\n        weekdaysMin : 'J2_J3_J4_J5_Al_Ij_J1'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[leo saa] LT',\n            nextDay : '[kesho saa] LT',\n            nextWeek : '[wiki ijayo] dddd [saat] LT',\n            lastDay : '[jana] LT',\n            lastWeek : '[wiki iliyopita] dddd [saat] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s baadaye',\n            past : 'tokea %s',\n            s : 'hivi punde',\n            ss : 'sekunde %d',\n            m : 'dakika moja',\n            mm : 'dakika %d',\n            h : 'saa limoja',\n            hh : 'masaa %d',\n            d : 'siku moja',\n            dd : 'masiku %d',\n            M : 'mwezi mmoja',\n            MM : 'miezi %d',\n            y : 'mwaka mmoja',\n            yy : 'miaka %d'\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return sw;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var symbolMap = {\n        '1': '௧',\n        '2': '௨',\n        '3': '௩',\n        '4': '௪',\n        '5': '௫',\n        '6': '௬',\n        '7': '௭',\n        '8': '௮',\n        '9': '௯',\n        '0': '௦'\n    }, numberMap = {\n        '௧': '1',\n        '௨': '2',\n        '௩': '3',\n        '௪': '4',\n        '௫': '5',\n        '௬': '6',\n        '௭': '7',\n        '௮': '8',\n        '௯': '9',\n        '௦': '0'\n    };\n\n    var ta = moment.defineLocale('ta', {\n        months : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n        monthsShort : 'ஜனவரி_பிப்ரவரி_மார்ச்_ஏப்ரல்_மே_ஜூன்_ஜூலை_ஆகஸ்ட்_செப்டெம்பர்_அக்டோபர்_நவம்பர்_டிசம்பர்'.split('_'),\n        weekdays : 'ஞாயிற்றுக்கிழமை_திங்கட்கிழமை_செவ்வாய்கிழமை_புதன்கிழமை_வியாழக்கிழமை_வெள்ளிக்கிழமை_சனிக்கிழமை'.split('_'),\n        weekdaysShort : 'ஞாயிறு_திங்கள்_செவ்வாய்_புதன்_வியாழன்_வெள்ளி_சனி'.split('_'),\n        weekdaysMin : 'ஞா_தி_செ_பு_வி_வெ_ச'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY, HH:mm',\n            LLLL : 'dddd, D MMMM YYYY, HH:mm'\n        },\n        calendar : {\n            sameDay : '[இன்று] LT',\n            nextDay : '[நாளை] LT',\n            nextWeek : 'dddd, LT',\n            lastDay : '[நேற்று] LT',\n            lastWeek : '[கடந்த வாரம்] dddd, LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s இல்',\n            past : '%s முன்',\n            s : 'ஒரு சில விநாடிகள்',\n            ss : '%d விநாடிகள்',\n            m : 'ஒரு நிமிடம்',\n            mm : '%d நிமிடங்கள்',\n            h : 'ஒரு மணி நேரம்',\n            hh : '%d மணி நேரம்',\n            d : 'ஒரு நாள்',\n            dd : '%d நாட்கள்',\n            M : 'ஒரு மாதம்',\n            MM : '%d மாதங்கள்',\n            y : 'ஒரு வருடம்',\n            yy : '%d ஆண்டுகள்'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}வது/,\n        ordinal : function (number) {\n            return number + 'வது';\n        },\n        preparse: function (string) {\n            return string.replace(/[௧௨௩௪௫௬௭௮௯௦]/g, function (match) {\n                return numberMap[match];\n            });\n        },\n        postformat: function (string) {\n            return string.replace(/\\d/g, function (match) {\n                return symbolMap[match];\n            });\n        },\n        // refer http://ta.wikipedia.org/s/1er1\n        meridiemParse: /யாமம்|வைகறை|காலை|நண்பகல்|எற்பாடு|மாலை/,\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 2) {\n                return ' யாமம்';\n            } else if (hour < 6) {\n                return ' வைகறை';  // வைகறை\n            } else if (hour < 10) {\n                return ' காலை'; // காலை\n            } else if (hour < 14) {\n                return ' நண்பகல்'; // நண்பகல்\n            } else if (hour < 18) {\n                return ' எற்பாடு'; // எற்பாடு\n            } else if (hour < 22) {\n                return ' மாலை'; // மாலை\n            } else {\n                return ' யாமம்';\n            }\n        },\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'யாமம்') {\n                return hour < 2 ? hour : hour + 12;\n            } else if (meridiem === 'வைகறை' || meridiem === 'காலை') {\n                return hour;\n            } else if (meridiem === 'நண்பகல்') {\n                return hour >= 10 ? hour : hour + 12;\n            } else {\n                return hour + 12;\n            }\n        },\n        week : {\n            dow : 0, // Sunday is the first day of the week.\n            doy : 6  // The week that contains Jan 6th is the first week of the year.\n        }\n    });\n\n    return ta;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var te = moment.defineLocale('te', {\n        months : 'జనవరి_ఫిబ్రవరి_మార్చి_ఏప్రిల్_మే_జూన్_జులై_ఆగస్టు_సెప్టెంబర్_అక్టోబర్_నవంబర్_డిసెంబర్'.split('_'),\n        monthsShort : 'జన._ఫిబ్ర._మార్చి_ఏప్రి._మే_జూన్_జులై_ఆగ._సెప్._అక్టో._నవ._డిసె.'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'ఆదివారం_సోమవారం_మంగళవారం_బుధవారం_గురువారం_శుక్రవారం_శనివారం'.split('_'),\n        weekdaysShort : 'ఆది_సోమ_మంగళ_బుధ_గురు_శుక్ర_శని'.split('_'),\n        weekdaysMin : 'ఆ_సో_మం_బు_గు_శు_శ'.split('_'),\n        longDateFormat : {\n            LT : 'A h:mm',\n            LTS : 'A h:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY, A h:mm',\n            LLLL : 'dddd, D MMMM YYYY, A h:mm'\n        },\n        calendar : {\n            sameDay : '[నేడు] LT',\n            nextDay : '[రేపు] LT',\n            nextWeek : 'dddd, LT',\n            lastDay : '[నిన్న] LT',\n            lastWeek : '[గత] dddd, LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s లో',\n            past : '%s క్రితం',\n            s : 'కొన్ని క్షణాలు',\n            ss : '%d సెకన్లు',\n            m : 'ఒక నిమిషం',\n            mm : '%d నిమిషాలు',\n            h : 'ఒక గంట',\n            hh : '%d గంటలు',\n            d : 'ఒక రోజు',\n            dd : '%d రోజులు',\n            M : 'ఒక నెల',\n            MM : '%d నెలలు',\n            y : 'ఒక సంవత్సరం',\n            yy : '%d సంవత్సరాలు'\n        },\n        dayOfMonthOrdinalParse : /\\d{1,2}వ/,\n        ordinal : '%dవ',\n        meridiemParse: /రాత్రి|ఉదయం|మధ్యాహ్నం|సాయంత్రం/,\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'రాత్రి') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'ఉదయం') {\n                return hour;\n            } else if (meridiem === 'మధ్యాహ్నం') {\n                return hour >= 10 ? hour : hour + 12;\n            } else if (meridiem === 'సాయంత్రం') {\n                return hour + 12;\n            }\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'రాత్రి';\n            } else if (hour < 10) {\n                return 'ఉదయం';\n            } else if (hour < 17) {\n                return 'మధ్యాహ్నం';\n            } else if (hour < 20) {\n                return 'సాయంత్రం';\n            } else {\n                return 'రాత్రి';\n            }\n        },\n        week : {\n            dow : 0, // Sunday is the first day of the week.\n            doy : 6  // The week that contains Jan 6th is the first week of the year.\n        }\n    });\n\n    return te;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var tet = moment.defineLocale('tet', {\n        months : 'Janeiru_Fevereiru_Marsu_Abril_Maiu_Juñu_Jullu_Agustu_Setembru_Outubru_Novembru_Dezembru'.split('_'),\n        monthsShort : 'Jan_Fev_Mar_Abr_Mai_Jun_Jul_Ago_Set_Out_Nov_Dez'.split('_'),\n        weekdays : 'Domingu_Segunda_Tersa_Kuarta_Kinta_Sesta_Sabadu'.split('_'),\n        weekdaysShort : 'Dom_Seg_Ters_Kua_Kint_Sest_Sab'.split('_'),\n        weekdaysMin : 'Do_Seg_Te_Ku_Ki_Ses_Sa'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[Ohin iha] LT',\n            nextDay: '[Aban iha] LT',\n            nextWeek: 'dddd [iha] LT',\n            lastDay: '[Horiseik iha] LT',\n            lastWeek: 'dddd [semana kotuk] [iha] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'iha %s',\n            past : '%s liuba',\n            s : 'minutu balun',\n            ss : 'minutu %d',\n            m : 'minutu ida',\n            mm : 'minutu %d',\n            h : 'oras ida',\n            hh : 'oras %d',\n            d : 'loron ida',\n            dd : 'loron %d',\n            M : 'fulan ida',\n            MM : 'fulan %d',\n            y : 'tinan ida',\n            yy : 'tinan %d'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(st|nd|rd|th)/,\n        ordinal : function (number) {\n            var b = number % 10,\n                output = (~~(number % 100 / 10) === 1) ? 'th' :\n                (b === 1) ? 'st' :\n                (b === 2) ? 'nd' :\n                (b === 3) ? 'rd' : 'th';\n            return number + output;\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return tet;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var suffixes = {\n        0: '-ум',\n        1: '-ум',\n        2: '-юм',\n        3: '-юм',\n        4: '-ум',\n        5: '-ум',\n        6: '-ум',\n        7: '-ум',\n        8: '-ум',\n        9: '-ум',\n        10: '-ум',\n        12: '-ум',\n        13: '-ум',\n        20: '-ум',\n        30: '-юм',\n        40: '-ум',\n        50: '-ум',\n        60: '-ум',\n        70: '-ум',\n        80: '-ум',\n        90: '-ум',\n        100: '-ум'\n    };\n\n    var tg = moment.defineLocale('tg', {\n        months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n        monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays : 'якшанбе_душанбе_сешанбе_чоршанбе_панҷшанбе_ҷумъа_шанбе'.split('_'),\n        weekdaysShort : 'яшб_дшб_сшб_чшб_пшб_ҷум_шнб'.split('_'),\n        weekdaysMin : 'яш_дш_сш_чш_пш_ҷм_шб'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[Имрӯз соати] LT',\n            nextDay : '[Пагоҳ соати] LT',\n            lastDay : '[Дирӯз соати] LT',\n            nextWeek : 'dddd[и] [ҳафтаи оянда соати] LT',\n            lastWeek : 'dddd[и] [ҳафтаи гузашта соати] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'баъди %s',\n            past : '%s пеш',\n            s : 'якчанд сония',\n            m : 'як дақиқа',\n            mm : '%d дақиқа',\n            h : 'як соат',\n            hh : '%d соат',\n            d : 'як рӯз',\n            dd : '%d рӯз',\n            M : 'як моҳ',\n            MM : '%d моҳ',\n            y : 'як сол',\n            yy : '%d сол'\n        },\n        meridiemParse: /шаб|субҳ|рӯз|бегоҳ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === 'шаб') {\n                return hour < 4 ? hour : hour + 12;\n            } else if (meridiem === 'субҳ') {\n                return hour;\n            } else if (meridiem === 'рӯз') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === 'бегоҳ') {\n                return hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'шаб';\n            } else if (hour < 11) {\n                return 'субҳ';\n            } else if (hour < 16) {\n                return 'рӯз';\n            } else if (hour < 19) {\n                return 'бегоҳ';\n            } else {\n                return 'шаб';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(ум|юм)/,\n        ordinal: function (number) {\n            var a = number % 10,\n                b = number >= 100 ? 100 : null;\n            return number + (suffixes[number] || suffixes[a] || suffixes[b]);\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 1th is the first week of the year.\n        }\n    });\n\n    return tg;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var th = moment.defineLocale('th', {\n        months : 'มกราคม_กุมภาพันธ์_มีนาคม_เมษายน_พฤษภาคม_มิถุนายน_กรกฎาคม_สิงหาคม_กันยายน_ตุลาคม_พฤศจิกายน_ธันวาคม'.split('_'),\n        monthsShort : 'ม.ค._ก.พ._มี.ค._เม.ย._พ.ค._มิ.ย._ก.ค._ส.ค._ก.ย._ต.ค._พ.ย._ธ.ค.'.split('_'),\n        monthsParseExact: true,\n        weekdays : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัสบดี_ศุกร์_เสาร์'.split('_'),\n        weekdaysShort : 'อาทิตย์_จันทร์_อังคาร_พุธ_พฤหัส_ศุกร์_เสาร์'.split('_'), // yes, three characters difference\n        weekdaysMin : 'อา._จ._อ._พ._พฤ._ศ._ส.'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'H:mm',\n            LTS : 'H:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY เวลา H:mm',\n            LLLL : 'วันddddที่ D MMMM YYYY เวลา H:mm'\n        },\n        meridiemParse: /ก่อนเที่ยง|หลังเที่ยง/,\n        isPM: function (input) {\n            return input === 'หลังเที่ยง';\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'ก่อนเที่ยง';\n            } else {\n                return 'หลังเที่ยง';\n            }\n        },\n        calendar : {\n            sameDay : '[วันนี้ เวลา] LT',\n            nextDay : '[พรุ่งนี้ เวลา] LT',\n            nextWeek : 'dddd[หน้า เวลา] LT',\n            lastDay : '[เมื่อวานนี้ เวลา] LT',\n            lastWeek : '[วัน]dddd[ที่แล้ว เวลา] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'อีก %s',\n            past : '%sที่แล้ว',\n            s : 'ไม่กี่วินาที',\n            ss : '%d วินาที',\n            m : '1 นาที',\n            mm : '%d นาที',\n            h : '1 ชั่วโมง',\n            hh : '%d ชั่วโมง',\n            d : '1 วัน',\n            dd : '%d วัน',\n            M : '1 เดือน',\n            MM : '%d เดือน',\n            y : '1 ปี',\n            yy : '%d ปี'\n        }\n    });\n\n    return th;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var tlPh = moment.defineLocale('tl-ph', {\n        months : 'Enero_Pebrero_Marso_Abril_Mayo_Hunyo_Hulyo_Agosto_Setyembre_Oktubre_Nobyembre_Disyembre'.split('_'),\n        monthsShort : 'Ene_Peb_Mar_Abr_May_Hun_Hul_Ago_Set_Okt_Nob_Dis'.split('_'),\n        weekdays : 'Linggo_Lunes_Martes_Miyerkules_Huwebes_Biyernes_Sabado'.split('_'),\n        weekdaysShort : 'Lin_Lun_Mar_Miy_Huw_Biy_Sab'.split('_'),\n        weekdaysMin : 'Li_Lu_Ma_Mi_Hu_Bi_Sab'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'MM/D/YYYY',\n            LL : 'MMMM D, YYYY',\n            LLL : 'MMMM D, YYYY HH:mm',\n            LLLL : 'dddd, MMMM DD, YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: 'LT [ngayong araw]',\n            nextDay: '[Bukas ng] LT',\n            nextWeek: 'LT [sa susunod na] dddd',\n            lastDay: 'LT [kahapon]',\n            lastWeek: 'LT [noong nakaraang] dddd',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'sa loob ng %s',\n            past : '%s ang nakalipas',\n            s : 'ilang segundo',\n            ss : '%d segundo',\n            m : 'isang minuto',\n            mm : '%d minuto',\n            h : 'isang oras',\n            hh : '%d oras',\n            d : 'isang araw',\n            dd : '%d araw',\n            M : 'isang buwan',\n            MM : '%d buwan',\n            y : 'isang taon',\n            yy : '%d taon'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal : function (number) {\n            return number;\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return tlPh;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\n    function translateFuture(output) {\n        var time = output;\n        time = (output.indexOf('jaj') !== -1) ?\n        time.slice(0, -3) + 'leS' :\n        (output.indexOf('jar') !== -1) ?\n        time.slice(0, -3) + 'waQ' :\n        (output.indexOf('DIS') !== -1) ?\n        time.slice(0, -3) + 'nem' :\n        time + ' pIq';\n        return time;\n    }\n\n    function translatePast(output) {\n        var time = output;\n        time = (output.indexOf('jaj') !== -1) ?\n        time.slice(0, -3) + 'Hu’' :\n        (output.indexOf('jar') !== -1) ?\n        time.slice(0, -3) + 'wen' :\n        (output.indexOf('DIS') !== -1) ?\n        time.slice(0, -3) + 'ben' :\n        time + ' ret';\n        return time;\n    }\n\n    function translate(number, withoutSuffix, string, isFuture) {\n        var numberNoun = numberAsNoun(number);\n        switch (string) {\n            case 'ss':\n                return numberNoun + ' lup';\n            case 'mm':\n                return numberNoun + ' tup';\n            case 'hh':\n                return numberNoun + ' rep';\n            case 'dd':\n                return numberNoun + ' jaj';\n            case 'MM':\n                return numberNoun + ' jar';\n            case 'yy':\n                return numberNoun + ' DIS';\n        }\n    }\n\n    function numberAsNoun(number) {\n        var hundred = Math.floor((number % 1000) / 100),\n        ten = Math.floor((number % 100) / 10),\n        one = number % 10,\n        word = '';\n        if (hundred > 0) {\n            word += numbersNouns[hundred] + 'vatlh';\n        }\n        if (ten > 0) {\n            word += ((word !== '') ? ' ' : '') + numbersNouns[ten] + 'maH';\n        }\n        if (one > 0) {\n            word += ((word !== '') ? ' ' : '') + numbersNouns[one];\n        }\n        return (word === '') ? 'pagh' : word;\n    }\n\n    var tlh = moment.defineLocale('tlh', {\n        months : 'tera’ jar wa’_tera’ jar cha’_tera’ jar wej_tera’ jar loS_tera’ jar vagh_tera’ jar jav_tera’ jar Soch_tera’ jar chorgh_tera’ jar Hut_tera’ jar wa’maH_tera’ jar wa’maH wa’_tera’ jar wa’maH cha’'.split('_'),\n        monthsShort : 'jar wa’_jar cha’_jar wej_jar loS_jar vagh_jar jav_jar Soch_jar chorgh_jar Hut_jar wa’maH_jar wa’maH wa’_jar wa’maH cha’'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        weekdaysShort : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        weekdaysMin : 'lojmItjaj_DaSjaj_povjaj_ghItlhjaj_loghjaj_buqjaj_ghInjaj'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[DaHjaj] LT',\n            nextDay: '[wa’leS] LT',\n            nextWeek: 'LLL',\n            lastDay: '[wa’Hu’] LT',\n            lastWeek: 'LLL',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : translateFuture,\n            past : translatePast,\n            s : 'puS lup',\n            ss : translate,\n            m : 'wa’ tup',\n            mm : translate,\n            h : 'wa’ rep',\n            hh : translate,\n            d : 'wa’ jaj',\n            dd : translate,\n            M : 'wa’ jar',\n            MM : translate,\n            y : 'wa’ DIS',\n            yy : translate\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return tlh;\n\n})));\n","\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n    var suffixes = {\n        1: '\\'inci',\n        5: '\\'inci',\n        8: '\\'inci',\n        70: '\\'inci',\n        80: '\\'inci',\n        2: '\\'nci',\n        7: '\\'nci',\n        20: '\\'nci',\n        50: '\\'nci',\n        3: '\\'üncü',\n        4: '\\'üncü',\n        100: '\\'üncü',\n        6: '\\'ncı',\n        9: '\\'uncu',\n        10: '\\'uncu',\n        30: '\\'uncu',\n        60: '\\'ıncı',\n        90: '\\'ıncı'\n    };\n\n    var tr = moment.defineLocale('tr', {\n        months : 'Ocak_Şubat_Mart_Nisan_Mayıs_Haziran_Temmuz_Ağustos_Eylül_Ekim_Kasım_Aralık'.split('_'),\n        monthsShort : 'Oca_Şub_Mar_Nis_May_Haz_Tem_Ağu_Eyl_Eki_Kas_Ara'.split('_'),\n        weekdays : 'Pazar_Pazartesi_Salı_Çarşamba_Perşembe_Cuma_Cumartesi'.split('_'),\n        weekdaysShort : 'Paz_Pts_Sal_Çar_Per_Cum_Cts'.split('_'),\n        weekdaysMin : 'Pz_Pt_Sa_Ça_Pe_Cu_Ct'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[bugün saat] LT',\n            nextDay : '[yarın saat] LT',\n            nextWeek : '[gelecek] dddd [saat] LT',\n            lastDay : '[dün] LT',\n            lastWeek : '[geçen] dddd [saat] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s sonra',\n            past : '%s önce',\n            s : 'birkaç saniye',\n            ss : '%d saniye',\n            m : 'bir dakika',\n            mm : '%d dakika',\n            h : 'bir saat',\n            hh : '%d saat',\n            d : 'bir gün',\n            dd : '%d gün',\n            M : 'bir ay',\n            MM : '%d ay',\n            y : 'bir yıl',\n            yy : '%d yıl'\n        },\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'Do':\n                case 'DD':\n                    return number;\n                default:\n                    if (number === 0) {  // special case for zero\n                        return number + '\\'ıncı';\n                    }\n                    var a = number % 10,\n                        b = number % 100 - a,\n                        c = number >= 100 ? 100 : null;\n                    return number + (suffixes[a] || suffixes[b] || suffixes[c]);\n            }\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return tr;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    // After the year there should be a slash and the amount of years since December 26, 1979 in Roman numerals.\n    // This is currently too difficult (maybe even impossible) to add.\n    var tzl = moment.defineLocale('tzl', {\n        months : 'Januar_Fevraglh_Març_Avrïu_Mai_Gün_Julia_Guscht_Setemvar_Listopäts_Noemvar_Zecemvar'.split('_'),\n        monthsShort : 'Jan_Fev_Mar_Avr_Mai_Gün_Jul_Gus_Set_Lis_Noe_Zec'.split('_'),\n        weekdays : 'Súladi_Lúneçi_Maitzi_Márcuri_Xhúadi_Viénerçi_Sáturi'.split('_'),\n        weekdaysShort : 'Súl_Lún_Mai_Már_Xhú_Vié_Sát'.split('_'),\n        weekdaysMin : 'Sú_Lú_Ma_Má_Xh_Vi_Sá'.split('_'),\n        longDateFormat : {\n            LT : 'HH.mm',\n            LTS : 'HH.mm.ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D. MMMM [dallas] YYYY',\n            LLL : 'D. MMMM [dallas] YYYY HH.mm',\n            LLLL : 'dddd, [li] D. MMMM [dallas] YYYY HH.mm'\n        },\n        meridiemParse: /d\\'o|d\\'a/i,\n        isPM : function (input) {\n            return 'd\\'o' === input.toLowerCase();\n        },\n        meridiem : function (hours, minutes, isLower) {\n            if (hours > 11) {\n                return isLower ? 'd\\'o' : 'D\\'O';\n            } else {\n                return isLower ? 'd\\'a' : 'D\\'A';\n            }\n        },\n        calendar : {\n            sameDay : '[oxhi à] LT',\n            nextDay : '[demà à] LT',\n            nextWeek : 'dddd [à] LT',\n            lastDay : '[ieiri à] LT',\n            lastWeek : '[sür el] dddd [lasteu à] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'osprei %s',\n            past : 'ja%s',\n            s : processRelativeTime,\n            ss : processRelativeTime,\n            m : processRelativeTime,\n            mm : processRelativeTime,\n            h : processRelativeTime,\n            hh : processRelativeTime,\n            d : processRelativeTime,\n            dd : processRelativeTime,\n            M : processRelativeTime,\n            MM : processRelativeTime,\n            y : processRelativeTime,\n            yy : processRelativeTime\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}\\./,\n        ordinal : '%d.',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    function processRelativeTime(number, withoutSuffix, key, isFuture) {\n        var format = {\n            's': ['viensas secunds', '\\'iensas secunds'],\n            'ss': [number + ' secunds', '' + number + ' secunds'],\n            'm': ['\\'n míut', '\\'iens míut'],\n            'mm': [number + ' míuts', '' + number + ' míuts'],\n            'h': ['\\'n þora', '\\'iensa þora'],\n            'hh': [number + ' þoras', '' + number + ' þoras'],\n            'd': ['\\'n ziua', '\\'iensa ziua'],\n            'dd': [number + ' ziuas', '' + number + ' ziuas'],\n            'M': ['\\'n mes', '\\'iens mes'],\n            'MM': [number + ' mesen', '' + number + ' mesen'],\n            'y': ['\\'n ar', '\\'iens ar'],\n            'yy': [number + ' ars', '' + number + ' ars']\n        };\n        return isFuture ? format[key][0] : (withoutSuffix ? format[key][0] : format[key][1]);\n    }\n\n    return tzl;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var tzmLatn = moment.defineLocale('tzm-latn', {\n        months : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n        monthsShort : 'innayr_brˤayrˤ_marˤsˤ_ibrir_mayyw_ywnyw_ywlywz_ɣwšt_šwtanbir_ktˤwbrˤ_nwwanbir_dwjnbir'.split('_'),\n        weekdays : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysShort : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        weekdaysMin : 'asamas_aynas_asinas_akras_akwas_asimwas_asiḍyas'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[asdkh g] LT',\n            nextDay: '[aska g] LT',\n            nextWeek: 'dddd [g] LT',\n            lastDay: '[assant g] LT',\n            lastWeek: 'dddd [g] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'dadkh s yan %s',\n            past : 'yan %s',\n            s : 'imik',\n            ss : '%d imik',\n            m : 'minuḍ',\n            mm : '%d minuḍ',\n            h : 'saɛa',\n            hh : '%d tassaɛin',\n            d : 'ass',\n            dd : '%d ossan',\n            M : 'ayowr',\n            MM : '%d iyyirn',\n            y : 'asgas',\n            yy : '%d isgasn'\n        },\n        week : {\n            dow : 6, // Saturday is the first day of the week.\n            doy : 12  // The week that contains Jan 12th is the first week of the year.\n        }\n    });\n\n    return tzmLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var tzm = moment.defineLocale('tzm', {\n        months : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n        monthsShort : 'ⵉⵏⵏⴰⵢⵔ_ⴱⵕⴰⵢⵕ_ⵎⴰⵕⵚ_ⵉⴱⵔⵉⵔ_ⵎⴰⵢⵢⵓ_ⵢⵓⵏⵢⵓ_ⵢⵓⵍⵢⵓⵣ_ⵖⵓⵛⵜ_ⵛⵓⵜⴰⵏⴱⵉⵔ_ⴽⵟⵓⴱⵕ_ⵏⵓⵡⴰⵏⴱⵉⵔ_ⴷⵓⵊⵏⴱⵉⵔ'.split('_'),\n        weekdays : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysShort : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        weekdaysMin : 'ⴰⵙⴰⵎⴰⵙ_ⴰⵢⵏⴰⵙ_ⴰⵙⵉⵏⴰⵙ_ⴰⴽⵔⴰⵙ_ⴰⴽⵡⴰⵙ_ⴰⵙⵉⵎⵡⴰⵙ_ⴰⵙⵉⴹⵢⴰⵙ'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[ⴰⵙⴷⵅ ⴴ] LT',\n            nextDay: '[ⴰⵙⴽⴰ ⴴ] LT',\n            nextWeek: 'dddd [ⴴ] LT',\n            lastDay: '[ⴰⵚⴰⵏⵜ ⴴ] LT',\n            lastWeek: 'dddd [ⴴ] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'ⴷⴰⴷⵅ ⵙ ⵢⴰⵏ %s',\n            past : 'ⵢⴰⵏ %s',\n            s : 'ⵉⵎⵉⴽ',\n            ss : '%d ⵉⵎⵉⴽ',\n            m : 'ⵎⵉⵏⵓⴺ',\n            mm : '%d ⵎⵉⵏⵓⴺ',\n            h : 'ⵙⴰⵄⴰ',\n            hh : '%d ⵜⴰⵙⵙⴰⵄⵉⵏ',\n            d : 'ⴰⵙⵙ',\n            dd : '%d oⵙⵙⴰⵏ',\n            M : 'ⴰⵢoⵓⵔ',\n            MM : '%d ⵉⵢⵢⵉⵔⵏ',\n            y : 'ⴰⵙⴳⴰⵙ',\n            yy : '%d ⵉⵙⴳⴰⵙⵏ'\n        },\n        week : {\n            dow : 6, // Saturday is the first day of the week.\n            doy : 12  // The week that contains Jan 12th is the first week of the year.\n        }\n    });\n\n    return tzm;\n\n})));\n","//! moment.js language configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var ugCn = moment.defineLocale('ug-cn', {\n        months: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n            '_'\n        ),\n        monthsShort: 'يانۋار_فېۋرال_مارت_ئاپرېل_ماي_ئىيۇن_ئىيۇل_ئاۋغۇست_سېنتەبىر_ئۆكتەبىر_نويابىر_دېكابىر'.split(\n            '_'\n        ),\n        weekdays: 'يەكشەنبە_دۈشەنبە_سەيشەنبە_چارشەنبە_پەيشەنبە_جۈمە_شەنبە'.split(\n            '_'\n        ),\n        weekdaysShort: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        weekdaysMin: 'يە_دۈ_سە_چا_پە_جۈ_شە'.split('_'),\n        longDateFormat: {\n            LT: 'HH:mm',\n            LTS: 'HH:mm:ss',\n            L: 'YYYY-MM-DD',\n            LL: 'YYYY-يىلىM-ئاينىڭD-كۈنى',\n            LLL: 'YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm',\n            LLLL: 'dddd، YYYY-يىلىM-ئاينىڭD-كۈنى، HH:mm'\n        },\n        meridiemParse: /يېرىم كېچە|سەھەر|چۈشتىن بۇرۇن|چۈش|چۈشتىن كېيىن|كەچ/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (\n                meridiem === 'يېرىم كېچە' ||\n                meridiem === 'سەھەر' ||\n                meridiem === 'چۈشتىن بۇرۇن'\n            ) {\n                return hour;\n            } else if (meridiem === 'چۈشتىن كېيىن' || meridiem === 'كەچ') {\n                return hour + 12;\n            } else {\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem: function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return 'يېرىم كېچە';\n            } else if (hm < 900) {\n                return 'سەھەر';\n            } else if (hm < 1130) {\n                return 'چۈشتىن بۇرۇن';\n            } else if (hm < 1230) {\n                return 'چۈش';\n            } else if (hm < 1800) {\n                return 'چۈشتىن كېيىن';\n            } else {\n                return 'كەچ';\n            }\n        },\n        calendar: {\n            sameDay: '[بۈگۈن سائەت] LT',\n            nextDay: '[ئەتە سائەت] LT',\n            nextWeek: '[كېلەركى] dddd [سائەت] LT',\n            lastDay: '[تۆنۈگۈن] LT',\n            lastWeek: '[ئالدىنقى] dddd [سائەت] LT',\n            sameElse: 'L'\n        },\n        relativeTime: {\n            future: '%s كېيىن',\n            past: '%s بۇرۇن',\n            s: 'نەچچە سېكونت',\n            ss: '%d سېكونت',\n            m: 'بىر مىنۇت',\n            mm: '%d مىنۇت',\n            h: 'بىر سائەت',\n            hh: '%d سائەت',\n            d: 'بىر كۈن',\n            dd: '%d كۈن',\n            M: 'بىر ئاي',\n            MM: '%d ئاي',\n            y: 'بىر يىل',\n            yy: '%d يىل'\n        },\n\n        dayOfMonthOrdinalParse: /\\d{1,2}(-كۈنى|-ئاي|-ھەپتە)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '-كۈنى';\n                case 'w':\n                case 'W':\n                    return number + '-ھەپتە';\n                default:\n                    return number;\n            }\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week: {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow: 1, // Monday is the first day of the week.\n            doy: 7 // The week that contains Jan 1st is the first week of the year.\n        }\n    });\n\n    return ugCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    function plural(word, num) {\n        var forms = word.split('_');\n        return num % 10 === 1 && num % 100 !== 11 ? forms[0] : (num % 10 >= 2 && num % 10 <= 4 && (num % 100 < 10 || num % 100 >= 20) ? forms[1] : forms[2]);\n    }\n    function relativeTimeWithPlural(number, withoutSuffix, key) {\n        var format = {\n            'ss': withoutSuffix ? 'секунда_секунди_секунд' : 'секунду_секунди_секунд',\n            'mm': withoutSuffix ? 'хвилина_хвилини_хвилин' : 'хвилину_хвилини_хвилин',\n            'hh': withoutSuffix ? 'година_години_годин' : 'годину_години_годин',\n            'dd': 'день_дні_днів',\n            'MM': 'місяць_місяці_місяців',\n            'yy': 'рік_роки_років'\n        };\n        if (key === 'm') {\n            return withoutSuffix ? 'хвилина' : 'хвилину';\n        }\n        else if (key === 'h') {\n            return withoutSuffix ? 'година' : 'годину';\n        }\n        else {\n            return number + ' ' + plural(format[key], +number);\n        }\n    }\n    function weekdaysCaseReplace(m, format) {\n        var weekdays = {\n            'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n            'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n            'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n        };\n\n        if (m === true) {\n            return weekdays['nominative'].slice(1, 7).concat(weekdays['nominative'].slice(0, 1));\n        }\n        if (!m) {\n            return weekdays['nominative'];\n        }\n\n        var nounCase = (/(\\[[ВвУу]\\]) ?dddd/).test(format) ?\n            'accusative' :\n            ((/\\[?(?:минулої|наступної)? ?\\] ?dddd/).test(format) ?\n                'genitive' :\n                'nominative');\n        return weekdays[nounCase][m.day()];\n    }\n    function processHoursFunction(str) {\n        return function () {\n            return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n        };\n    }\n\n    var uk = moment.defineLocale('uk', {\n        months : {\n            'format': 'січня_лютого_березня_квітня_травня_червня_липня_серпня_вересня_жовтня_листопада_грудня'.split('_'),\n            'standalone': 'січень_лютий_березень_квітень_травень_червень_липень_серпень_вересень_жовтень_листопад_грудень'.split('_')\n        },\n        monthsShort : 'січ_лют_бер_квіт_трав_черв_лип_серп_вер_жовт_лист_груд'.split('_'),\n        weekdays : weekdaysCaseReplace,\n        weekdaysShort : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        weekdaysMin : 'нд_пн_вт_ср_чт_пт_сб'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD.MM.YYYY',\n            LL : 'D MMMM YYYY р.',\n            LLL : 'D MMMM YYYY р., HH:mm',\n            LLLL : 'dddd, D MMMM YYYY р., HH:mm'\n        },\n        calendar : {\n            sameDay: processHoursFunction('[Сьогодні '),\n            nextDay: processHoursFunction('[Завтра '),\n            lastDay: processHoursFunction('[Вчора '),\n            nextWeek: processHoursFunction('[У] dddd ['),\n            lastWeek: function () {\n                switch (this.day()) {\n                    case 0:\n                    case 3:\n                    case 5:\n                    case 6:\n                        return processHoursFunction('[Минулої] dddd [').call(this);\n                    case 1:\n                    case 2:\n                    case 4:\n                        return processHoursFunction('[Минулого] dddd [').call(this);\n                }\n            },\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : 'за %s',\n            past : '%s тому',\n            s : 'декілька секунд',\n            ss : relativeTimeWithPlural,\n            m : relativeTimeWithPlural,\n            mm : relativeTimeWithPlural,\n            h : 'годину',\n            hh : relativeTimeWithPlural,\n            d : 'день',\n            dd : relativeTimeWithPlural,\n            M : 'місяць',\n            MM : relativeTimeWithPlural,\n            y : 'рік',\n            yy : relativeTimeWithPlural\n        },\n        // M. E.: those two are virtually unused but a user might want to implement them for his/her website for some reason\n        meridiemParse: /ночі|ранку|дня|вечора/,\n        isPM: function (input) {\n            return /^(дня|вечора)$/.test(input);\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 4) {\n                return 'ночі';\n            } else if (hour < 12) {\n                return 'ранку';\n            } else if (hour < 17) {\n                return 'дня';\n            } else {\n                return 'вечора';\n            }\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}-(й|го)/,\n        ordinal: function (number, period) {\n            switch (period) {\n                case 'M':\n                case 'd':\n                case 'DDD':\n                case 'w':\n                case 'W':\n                    return number + '-й';\n                case 'D':\n                    return number + '-го';\n                default:\n                    return number;\n            }\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return uk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var months = [\n        'جنوری',\n        'فروری',\n        'مارچ',\n        'اپریل',\n        'مئی',\n        'جون',\n        'جولائی',\n        'اگست',\n        'ستمبر',\n        'اکتوبر',\n        'نومبر',\n        'دسمبر'\n    ];\n    var days = [\n        'اتوار',\n        'پیر',\n        'منگل',\n        'بدھ',\n        'جمعرات',\n        'جمعہ',\n        'ہفتہ'\n    ];\n\n    var ur = moment.defineLocale('ur', {\n        months : months,\n        monthsShort : months,\n        weekdays : days,\n        weekdaysShort : days,\n        weekdaysMin : days,\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd، D MMMM YYYY HH:mm'\n        },\n        meridiemParse: /صبح|شام/,\n        isPM : function (input) {\n            return 'شام' === input;\n        },\n        meridiem : function (hour, minute, isLower) {\n            if (hour < 12) {\n                return 'صبح';\n            }\n            return 'شام';\n        },\n        calendar : {\n            sameDay : '[آج بوقت] LT',\n            nextDay : '[کل بوقت] LT',\n            nextWeek : 'dddd [بوقت] LT',\n            lastDay : '[گذشتہ روز بوقت] LT',\n            lastWeek : '[گذشتہ] dddd [بوقت] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : '%s بعد',\n            past : '%s قبل',\n            s : 'چند سیکنڈ',\n            ss : '%d سیکنڈ',\n            m : 'ایک منٹ',\n            mm : '%d منٹ',\n            h : 'ایک گھنٹہ',\n            hh : '%d گھنٹے',\n            d : 'ایک دن',\n            dd : '%d دن',\n            M : 'ایک ماہ',\n            MM : '%d ماہ',\n            y : 'ایک سال',\n            yy : '%d سال'\n        },\n        preparse: function (string) {\n            return string.replace(/،/g, ',');\n        },\n        postformat: function (string) {\n            return string.replace(/,/g, '،');\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return ur;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var uzLatn = moment.defineLocale('uz-latn', {\n        months : 'Yanvar_Fevral_Mart_Aprel_May_Iyun_Iyul_Avgust_Sentabr_Oktabr_Noyabr_Dekabr'.split('_'),\n        monthsShort : 'Yan_Fev_Mar_Apr_May_Iyun_Iyul_Avg_Sen_Okt_Noy_Dek'.split('_'),\n        weekdays : 'Yakshanba_Dushanba_Seshanba_Chorshanba_Payshanba_Juma_Shanba'.split('_'),\n        weekdaysShort : 'Yak_Dush_Sesh_Chor_Pay_Jum_Shan'.split('_'),\n        weekdaysMin : 'Ya_Du_Se_Cho_Pa_Ju_Sha'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'D MMMM YYYY, dddd HH:mm'\n        },\n        calendar : {\n            sameDay : '[Bugun soat] LT [da]',\n            nextDay : '[Ertaga] LT [da]',\n            nextWeek : 'dddd [kuni soat] LT [da]',\n            lastDay : '[Kecha soat] LT [da]',\n            lastWeek : '[O\\'tgan] dddd [kuni soat] LT [da]',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'Yaqin %s ichida',\n            past : 'Bir necha %s oldin',\n            s : 'soniya',\n            ss : '%d soniya',\n            m : 'bir daqiqa',\n            mm : '%d daqiqa',\n            h : 'bir soat',\n            hh : '%d soat',\n            d : 'bir kun',\n            dd : '%d kun',\n            M : 'bir oy',\n            MM : '%d oy',\n            y : 'bir yil',\n            yy : '%d yil'\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 7th is the first week of the year.\n        }\n    });\n\n    return uzLatn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var uz = moment.defineLocale('uz', {\n        months : 'январ_феврал_март_апрел_май_июн_июл_август_сентябр_октябр_ноябр_декабр'.split('_'),\n        monthsShort : 'янв_фев_мар_апр_май_июн_июл_авг_сен_окт_ноя_дек'.split('_'),\n        weekdays : 'Якшанба_Душанба_Сешанба_Чоршанба_Пайшанба_Жума_Шанба'.split('_'),\n        weekdaysShort : 'Якш_Душ_Сеш_Чор_Пай_Жум_Шан'.split('_'),\n        weekdaysMin : 'Як_Ду_Се_Чо_Па_Жу_Ша'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'D MMMM YYYY, dddd HH:mm'\n        },\n        calendar : {\n            sameDay : '[Бугун соат] LT [да]',\n            nextDay : '[Эртага] LT [да]',\n            nextWeek : 'dddd [куни соат] LT [да]',\n            lastDay : '[Кеча соат] LT [да]',\n            lastWeek : '[Утган] dddd [куни соат] LT [да]',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'Якин %s ичида',\n            past : 'Бир неча %s олдин',\n            s : 'фурсат',\n            ss : '%d фурсат',\n            m : 'бир дакика',\n            mm : '%d дакика',\n            h : 'бир соат',\n            hh : '%d соат',\n            d : 'бир кун',\n            dd : '%d кун',\n            M : 'бир ой',\n            MM : '%d ой',\n            y : 'бир йил',\n            yy : '%d йил'\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 7  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return uz;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var vi = moment.defineLocale('vi', {\n        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('_'),\n        monthsShort : 'Th01_Th02_Th03_Th04_Th05_Th06_Th07_Th08_Th09_Th10_Th11_Th12'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'chủ nhật_thứ hai_thứ ba_thứ tư_thứ năm_thứ sáu_thứ bảy'.split('_'),\n        weekdaysShort : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysMin : 'CN_T2_T3_T4_T5_T6_T7'.split('_'),\n        weekdaysParseExact : true,\n        meridiemParse: /sa|ch/i,\n        isPM : function (input) {\n            return /^ch$/i.test(input);\n        },\n        meridiem : function (hours, minutes, isLower) {\n            if (hours < 12) {\n                return isLower ? 'sa' : 'SA';\n            } else {\n                return isLower ? 'ch' : 'CH';\n            }\n        },\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM [năm] YYYY',\n            LLL : 'D MMMM [năm] YYYY HH:mm',\n            LLLL : 'dddd, D MMMM [năm] YYYY HH:mm',\n            l : 'DD/M/YYYY',\n            ll : 'D MMM YYYY',\n            lll : 'D MMM YYYY HH:mm',\n            llll : 'ddd, D MMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay: '[Hôm nay lúc] LT',\n            nextDay: '[Ngày mai lúc] LT',\n            nextWeek: 'dddd [tuần tới lúc] LT',\n            lastDay: '[Hôm qua lúc] LT',\n            lastWeek: 'dddd [tuần rồi lúc] LT',\n            sameElse: 'L'\n        },\n        relativeTime : {\n            future : '%s tới',\n            past : '%s trước',\n            s : 'vài giây',\n            ss : '%d giây' ,\n            m : 'một phút',\n            mm : '%d phút',\n            h : 'một giờ',\n            hh : '%d giờ',\n            d : 'một ngày',\n            dd : '%d ngày',\n            M : 'một tháng',\n            MM : '%d tháng',\n            y : 'một năm',\n            yy : '%d năm'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}/,\n        ordinal : function (number) {\n            return number;\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return vi;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var xPseudo = moment.defineLocale('x-pseudo', {\n        months : 'J~áñúá~rý_F~ébrú~árý_~Márc~h_Áp~ríl_~Máý_~Júñé~_Júl~ý_Áú~gúst~_Sép~témb~ér_Ó~ctób~ér_Ñ~óvém~bér_~Décé~mbér'.split('_'),\n        monthsShort : 'J~áñ_~Féb_~Már_~Ápr_~Máý_~Júñ_~Júl_~Áúg_~Sép_~Óct_~Ñóv_~Déc'.split('_'),\n        monthsParseExact : true,\n        weekdays : 'S~úñdá~ý_Mó~ñdáý~_Túé~sdáý~_Wéd~ñésd~áý_T~húrs~dáý_~Fríd~áý_S~átúr~dáý'.split('_'),\n        weekdaysShort : 'S~úñ_~Móñ_~Túé_~Wéd_~Thú_~Frí_~Sát'.split('_'),\n        weekdaysMin : 'S~ú_Mó~_Tú_~Wé_T~h_Fr~_Sá'.split('_'),\n        weekdaysParseExact : true,\n        longDateFormat : {\n            LT : 'HH:mm',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY HH:mm',\n            LLLL : 'dddd, D MMMM YYYY HH:mm'\n        },\n        calendar : {\n            sameDay : '[T~ódá~ý át] LT',\n            nextDay : '[T~ómó~rró~w át] LT',\n            nextWeek : 'dddd [át] LT',\n            lastDay : '[Ý~ést~érdá~ý át] LT',\n            lastWeek : '[L~ást] dddd [át] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'í~ñ %s',\n            past : '%s á~gó',\n            s : 'á ~féw ~sécó~ñds',\n            ss : '%d s~écóñ~ds',\n            m : 'á ~míñ~úté',\n            mm : '%d m~íñú~tés',\n            h : 'á~ñ hó~úr',\n            hh : '%d h~óúrs',\n            d : 'á ~dáý',\n            dd : '%d d~áýs',\n            M : 'á ~móñ~th',\n            MM : '%d m~óñt~hs',\n            y : 'á ~ýéár',\n            yy : '%d ý~éárs'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal : function (number) {\n            var b = number % 10,\n                output = (~~(number % 100 / 10) === 1) ? 'th' :\n                (b === 1) ? 'st' :\n                (b === 2) ? 'nd' :\n                (b === 3) ? 'rd' : 'th';\n            return number + output;\n        },\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return xPseudo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var yo = moment.defineLocale('yo', {\n        months : 'Sẹ́rẹ́_Èrèlè_Ẹrẹ̀nà_Ìgbé_Èbibi_Òkùdu_Agẹmo_Ògún_Owewe_Ọ̀wàrà_Bélú_Ọ̀pẹ̀̀'.split('_'),\n        monthsShort : 'Sẹ́r_Èrl_Ẹrn_Ìgb_Èbi_Òkù_Agẹ_Ògú_Owe_Ọ̀wà_Bél_Ọ̀pẹ̀̀'.split('_'),\n        weekdays : 'Àìkú_Ajé_Ìsẹ́gun_Ọjọ́rú_Ọjọ́bọ_Ẹtì_Àbámẹ́ta'.split('_'),\n        weekdaysShort : 'Àìk_Ajé_Ìsẹ́_Ọjr_Ọjb_Ẹtì_Àbá'.split('_'),\n        weekdaysMin : 'Àì_Aj_Ìs_Ọr_Ọb_Ẹt_Àb'.split('_'),\n        longDateFormat : {\n            LT : 'h:mm A',\n            LTS : 'h:mm:ss A',\n            L : 'DD/MM/YYYY',\n            LL : 'D MMMM YYYY',\n            LLL : 'D MMMM YYYY h:mm A',\n            LLLL : 'dddd, D MMMM YYYY h:mm A'\n        },\n        calendar : {\n            sameDay : '[Ònì ni] LT',\n            nextDay : '[Ọ̀la ni] LT',\n            nextWeek : 'dddd [Ọsẹ̀ tón\\'bọ] [ni] LT',\n            lastDay : '[Àna ni] LT',\n            lastWeek : 'dddd [Ọsẹ̀ tólọ́] [ni] LT',\n            sameElse : 'L'\n        },\n        relativeTime : {\n            future : 'ní %s',\n            past : '%s kọjá',\n            s : 'ìsẹjú aayá die',\n            ss :'aayá %d',\n            m : 'ìsẹjú kan',\n            mm : 'ìsẹjú %d',\n            h : 'wákati kan',\n            hh : 'wákati %d',\n            d : 'ọjọ́ kan',\n            dd : 'ọjọ́ %d',\n            M : 'osù kan',\n            MM : 'osù %d',\n            y : 'ọdún kan',\n            yy : 'ọdún %d'\n        },\n        dayOfMonthOrdinalParse : /ọjọ́\\s\\d{1,2}/,\n        ordinal : 'ọjọ́ %d',\n        week : {\n            dow : 1, // Monday is the first day of the week.\n            doy : 4 // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return yo;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var zhCn = moment.defineLocale('zh-cn', {\n        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n        weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort : '周日_周一_周二_周三_周四_周五_周六'.split('_'),\n        weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'YYYY/MM/DD',\n            LL : 'YYYY年M月D日',\n            LLL : 'YYYY年M月D日Ah点mm分',\n            LLLL : 'YYYY年M月D日ddddAh点mm分',\n            l : 'YYYY/M/D',\n            ll : 'YYYY年M月D日',\n            lll : 'YYYY年M月D日 HH:mm',\n            llll : 'YYYY年M月D日dddd HH:mm'\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour: function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' ||\n                    meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            } else {\n                // '中午'\n                return hour >= 11 ? hour : hour + 12;\n            }\n        },\n        meridiem : function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar : {\n            sameDay : '[今天]LT',\n            nextDay : '[明天]LT',\n            nextWeek : '[下]ddddLT',\n            lastDay : '[昨天]LT',\n            lastWeek : '[上]ddddLT',\n            sameElse : 'L'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|周)/,\n        ordinal : function (number, period) {\n            switch (period) {\n                case 'd':\n                case 'D':\n                case 'DDD':\n                    return number + '日';\n                case 'M':\n                    return number + '月';\n                case 'w':\n                case 'W':\n                    return number + '周';\n                default:\n                    return number;\n            }\n        },\n        relativeTime : {\n            future : '%s内',\n            past : '%s前',\n            s : '几秒',\n            ss : '%d 秒',\n            m : '1 分钟',\n            mm : '%d 分钟',\n            h : '1 小时',\n            hh : '%d 小时',\n            d : '1 天',\n            dd : '%d 天',\n            M : '1 个月',\n            MM : '%d 个月',\n            y : '1 年',\n            yy : '%d 年'\n        },\n        week : {\n            // GB/T 7408-1994《数据元和交换格式·信息交换·日期和时间表示法》与ISO 8601:1988等效\n            dow : 1, // Monday is the first day of the week.\n            doy : 4  // The week that contains Jan 4th is the first week of the year.\n        }\n    });\n\n    return zhCn;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var zhHk = moment.defineLocale('zh-hk', {\n        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n        weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'YYYY/MM/DD',\n            LL : 'YYYY年M月D日',\n            LLL : 'YYYY年M月D日 HH:mm',\n            LLLL : 'YYYY年M月D日dddd HH:mm',\n            l : 'YYYY/M/D',\n            ll : 'YYYY年M月D日',\n            lll : 'YYYY年M月D日 HH:mm',\n            llll : 'YYYY年M月D日dddd HH:mm'\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem : function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar : {\n            sameDay : '[今天]LT',\n            nextDay : '[明天]LT',\n            nextWeek : '[下]ddddLT',\n            lastDay : '[昨天]LT',\n            lastWeek : '[上]ddddLT',\n            sameElse : 'L'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal : function (number, period) {\n            switch (period) {\n                case 'd' :\n                case 'D' :\n                case 'DDD' :\n                    return number + '日';\n                case 'M' :\n                    return number + '月';\n                case 'w' :\n                case 'W' :\n                    return number + '週';\n                default :\n                    return number;\n            }\n        },\n        relativeTime : {\n            future : '%s內',\n            past : '%s前',\n            s : '幾秒',\n            ss : '%d 秒',\n            m : '1 分鐘',\n            mm : '%d 分鐘',\n            h : '1 小時',\n            hh : '%d 小時',\n            d : '1 天',\n            dd : '%d 天',\n            M : '1 個月',\n            MM : '%d 個月',\n            y : '1 年',\n            yy : '%d 年'\n        }\n    });\n\n    return zhHk;\n\n})));\n","//! moment.js locale configuration\n\n;(function (global, factory) {\n   typeof exports === 'object' && typeof module !== 'undefined'\n       && typeof require === 'function' ? factory(require('../moment')) :\n   typeof define === 'function' && define.amd ? define(['../moment'], factory) :\n   factory(global.moment)\n}(this, (function (moment) { 'use strict';\n\n\n    var zhTw = moment.defineLocale('zh-tw', {\n        months : '一月_二月_三月_四月_五月_六月_七月_八月_九月_十月_十一月_十二月'.split('_'),\n        monthsShort : '1月_2月_3月_4月_5月_6月_7月_8月_9月_10月_11月_12月'.split('_'),\n        weekdays : '星期日_星期一_星期二_星期三_星期四_星期五_星期六'.split('_'),\n        weekdaysShort : '週日_週一_週二_週三_週四_週五_週六'.split('_'),\n        weekdaysMin : '日_一_二_三_四_五_六'.split('_'),\n        longDateFormat : {\n            LT : 'HH:mm',\n            LTS : 'HH:mm:ss',\n            L : 'YYYY/MM/DD',\n            LL : 'YYYY年M月D日',\n            LLL : 'YYYY年M月D日 HH:mm',\n            LLLL : 'YYYY年M月D日dddd HH:mm',\n            l : 'YYYY/M/D',\n            ll : 'YYYY年M月D日',\n            lll : 'YYYY年M月D日 HH:mm',\n            llll : 'YYYY年M月D日dddd HH:mm'\n        },\n        meridiemParse: /凌晨|早上|上午|中午|下午|晚上/,\n        meridiemHour : function (hour, meridiem) {\n            if (hour === 12) {\n                hour = 0;\n            }\n            if (meridiem === '凌晨' || meridiem === '早上' || meridiem === '上午') {\n                return hour;\n            } else if (meridiem === '中午') {\n                return hour >= 11 ? hour : hour + 12;\n            } else if (meridiem === '下午' || meridiem === '晚上') {\n                return hour + 12;\n            }\n        },\n        meridiem : function (hour, minute, isLower) {\n            var hm = hour * 100 + minute;\n            if (hm < 600) {\n                return '凌晨';\n            } else if (hm < 900) {\n                return '早上';\n            } else if (hm < 1130) {\n                return '上午';\n            } else if (hm < 1230) {\n                return '中午';\n            } else if (hm < 1800) {\n                return '下午';\n            } else {\n                return '晚上';\n            }\n        },\n        calendar : {\n            sameDay : '[今天] LT',\n            nextDay : '[明天] LT',\n            nextWeek : '[下]dddd LT',\n            lastDay : '[昨天] LT',\n            lastWeek : '[上]dddd LT',\n            sameElse : 'L'\n        },\n        dayOfMonthOrdinalParse: /\\d{1,2}(日|月|週)/,\n        ordinal : function (number, period) {\n            switch (period) {\n                case 'd' :\n                case 'D' :\n                case 'DDD' :\n                    return number + '日';\n                case 'M' :\n                    return number + '月';\n                case 'w' :\n                case 'W' :\n                    return number + '週';\n                default :\n                    return number;\n            }\n        },\n        relativeTime : {\n            future : '%s內',\n            past : '%s前',\n            s : '幾秒',\n            ss : '%d 秒',\n            m : '1 分鐘',\n            mm : '%d 分鐘',\n            h : '1 小時',\n            hh : '%d 小時',\n            d : '1 天',\n            dd : '%d 天',\n            M : '1 個月',\n            MM : '%d 個月',\n            y : '1 年',\n            yy : '%d 年'\n        }\n    });\n\n    return zhTw;\n\n})));\n","//! moment.js\n\n;(function (global, factory) {\n    typeof exports === 'object' && typeof module !== 'undefined' ? module.exports = factory() :\n    typeof define === 'function' && define.amd ? define(factory) :\n    global.moment = factory()\n}(this, (function () { 'use strict';\n\n    var hookCallback;\n\n    function hooks () {\n        return hookCallback.apply(null, arguments);\n    }\n\n    // This is done to register the method called with moment()\n    // without creating circular dependencies.\n    function setHookCallback (callback) {\n        hookCallback = callback;\n    }\n\n    function isArray(input) {\n        return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n    }\n\n    function isObject(input) {\n        // IE8 will treat undefined and null as object if it wasn't for\n        // input != null\n        return input != null && Object.prototype.toString.call(input) === '[object Object]';\n    }\n\n    function isObjectEmpty(obj) {\n        if (Object.getOwnPropertyNames) {\n            return (Object.getOwnPropertyNames(obj).length === 0);\n        } else {\n            var k;\n            for (k in obj) {\n                if (obj.hasOwnProperty(k)) {\n                    return false;\n                }\n            }\n            return true;\n        }\n    }\n\n    function isUndefined(input) {\n        return input === void 0;\n    }\n\n    function isNumber(input) {\n        return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n    }\n\n    function isDate(input) {\n        return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n    }\n\n    function map(arr, fn) {\n        var res = [], i;\n        for (i = 0; i < arr.length; ++i) {\n            res.push(fn(arr[i], i));\n        }\n        return res;\n    }\n\n    function hasOwnProp(a, b) {\n        return Object.prototype.hasOwnProperty.call(a, b);\n    }\n\n    function extend(a, b) {\n        for (var i in b) {\n            if (hasOwnProp(b, i)) {\n                a[i] = b[i];\n            }\n        }\n\n        if (hasOwnProp(b, 'toString')) {\n            a.toString = b.toString;\n        }\n\n        if (hasOwnProp(b, 'valueOf')) {\n            a.valueOf = b.valueOf;\n        }\n\n        return a;\n    }\n\n    function createUTC (input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, true).utc();\n    }\n\n    function defaultParsingFlags() {\n        // We need to deep clone this object.\n        return {\n            empty           : false,\n            unusedTokens    : [],\n            unusedInput     : [],\n            overflow        : -2,\n            charsLeftOver   : 0,\n            nullInput       : false,\n            invalidMonth    : null,\n            invalidFormat   : false,\n            userInvalidated : false,\n            iso             : false,\n            parsedDateParts : [],\n            meridiem        : null,\n            rfc2822         : false,\n            weekdayMismatch : false\n        };\n    }\n\n    function getParsingFlags(m) {\n        if (m._pf == null) {\n            m._pf = defaultParsingFlags();\n        }\n        return m._pf;\n    }\n\n    var some;\n    if (Array.prototype.some) {\n        some = Array.prototype.some;\n    } else {\n        some = function (fun) {\n            var t = Object(this);\n            var len = t.length >>> 0;\n\n            for (var i = 0; i < len; i++) {\n                if (i in t && fun.call(this, t[i], i, t)) {\n                    return true;\n                }\n            }\n\n            return false;\n        };\n    }\n\n    function isValid(m) {\n        if (m._isValid == null) {\n            var flags = getParsingFlags(m);\n            var parsedParts = some.call(flags.parsedDateParts, function (i) {\n                return i != null;\n            });\n            var isNowValid = !isNaN(m._d.getTime()) &&\n                flags.overflow < 0 &&\n                !flags.empty &&\n                !flags.invalidMonth &&\n                !flags.invalidWeekday &&\n                !flags.weekdayMismatch &&\n                !flags.nullInput &&\n                !flags.invalidFormat &&\n                !flags.userInvalidated &&\n                (!flags.meridiem || (flags.meridiem && parsedParts));\n\n            if (m._strict) {\n                isNowValid = isNowValid &&\n                    flags.charsLeftOver === 0 &&\n                    flags.unusedTokens.length === 0 &&\n                    flags.bigHour === undefined;\n            }\n\n            if (Object.isFrozen == null || !Object.isFrozen(m)) {\n                m._isValid = isNowValid;\n            }\n            else {\n                return isNowValid;\n            }\n        }\n        return m._isValid;\n    }\n\n    function createInvalid (flags) {\n        var m = createUTC(NaN);\n        if (flags != null) {\n            extend(getParsingFlags(m), flags);\n        }\n        else {\n            getParsingFlags(m).userInvalidated = true;\n        }\n\n        return m;\n    }\n\n    // Plugins that add properties should also add the key here (null value),\n    // so we can properly clone ourselves.\n    var momentProperties = hooks.momentProperties = [];\n\n    function copyConfig(to, from) {\n        var i, prop, val;\n\n        if (!isUndefined(from._isAMomentObject)) {\n            to._isAMomentObject = from._isAMomentObject;\n        }\n        if (!isUndefined(from._i)) {\n            to._i = from._i;\n        }\n        if (!isUndefined(from._f)) {\n            to._f = from._f;\n        }\n        if (!isUndefined(from._l)) {\n            to._l = from._l;\n        }\n        if (!isUndefined(from._strict)) {\n            to._strict = from._strict;\n        }\n        if (!isUndefined(from._tzm)) {\n            to._tzm = from._tzm;\n        }\n        if (!isUndefined(from._isUTC)) {\n            to._isUTC = from._isUTC;\n        }\n        if (!isUndefined(from._offset)) {\n            to._offset = from._offset;\n        }\n        if (!isUndefined(from._pf)) {\n            to._pf = getParsingFlags(from);\n        }\n        if (!isUndefined(from._locale)) {\n            to._locale = from._locale;\n        }\n\n        if (momentProperties.length > 0) {\n            for (i = 0; i < momentProperties.length; i++) {\n                prop = momentProperties[i];\n                val = from[prop];\n                if (!isUndefined(val)) {\n                    to[prop] = val;\n                }\n            }\n        }\n\n        return to;\n    }\n\n    var updateInProgress = false;\n\n    // Moment prototype object\n    function Moment(config) {\n        copyConfig(this, config);\n        this._d = new Date(config._d != null ? config._d.getTime() : NaN);\n        if (!this.isValid()) {\n            this._d = new Date(NaN);\n        }\n        // Prevent infinite loop in case updateOffset creates new moment\n        // objects.\n        if (updateInProgress === false) {\n            updateInProgress = true;\n            hooks.updateOffset(this);\n            updateInProgress = false;\n        }\n    }\n\n    function isMoment (obj) {\n        return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n    }\n\n    function absFloor (number) {\n        if (number < 0) {\n            // -0 -> 0\n            return Math.ceil(number) || 0;\n        } else {\n            return Math.floor(number);\n        }\n    }\n\n    function toInt(argumentForCoercion) {\n        var coercedNumber = +argumentForCoercion,\n            value = 0;\n\n        if (coercedNumber !== 0 && isFinite(coercedNumber)) {\n            value = absFloor(coercedNumber);\n        }\n\n        return value;\n    }\n\n    // compare two arrays, return the number of differences\n    function compareArrays(array1, array2, dontConvert) {\n        var len = Math.min(array1.length, array2.length),\n            lengthDiff = Math.abs(array1.length - array2.length),\n            diffs = 0,\n            i;\n        for (i = 0; i < len; i++) {\n            if ((dontConvert && array1[i] !== array2[i]) ||\n                (!dontConvert && toInt(array1[i]) !== toInt(array2[i]))) {\n                diffs++;\n            }\n        }\n        return diffs + lengthDiff;\n    }\n\n    function warn(msg) {\n        if (hooks.suppressDeprecationWarnings === false &&\n                (typeof console !==  'undefined') && console.warn) {\n            console.warn('Deprecation warning: ' + msg);\n        }\n    }\n\n    function deprecate(msg, fn) {\n        var firstTime = true;\n\n        return extend(function () {\n            if (hooks.deprecationHandler != null) {\n                hooks.deprecationHandler(null, msg);\n            }\n            if (firstTime) {\n                var args = [];\n                var arg;\n                for (var i = 0; i < arguments.length; i++) {\n                    arg = '';\n                    if (typeof arguments[i] === 'object') {\n                        arg += '\\n[' + i + '] ';\n                        for (var key in arguments[0]) {\n                            arg += key + ': ' + arguments[0][key] + ', ';\n                        }\n                        arg = arg.slice(0, -2); // Remove trailing comma and space\n                    } else {\n                        arg = arguments[i];\n                    }\n                    args.push(arg);\n                }\n                warn(msg + '\\nArguments: ' + Array.prototype.slice.call(args).join('') + '\\n' + (new Error()).stack);\n                firstTime = false;\n            }\n            return fn.apply(this, arguments);\n        }, fn);\n    }\n\n    var deprecations = {};\n\n    function deprecateSimple(name, msg) {\n        if (hooks.deprecationHandler != null) {\n            hooks.deprecationHandler(name, msg);\n        }\n        if (!deprecations[name]) {\n            warn(msg);\n            deprecations[name] = true;\n        }\n    }\n\n    hooks.suppressDeprecationWarnings = false;\n    hooks.deprecationHandler = null;\n\n    function isFunction(input) {\n        return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n    }\n\n    function set (config) {\n        var prop, i;\n        for (i in config) {\n            prop = config[i];\n            if (isFunction(prop)) {\n                this[i] = prop;\n            } else {\n                this['_' + i] = prop;\n            }\n        }\n        this._config = config;\n        // Lenient ordinal parsing accepts just a number in addition to\n        // number + (possibly) stuff coming from _dayOfMonthOrdinalParse.\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        this._dayOfMonthOrdinalParseLenient = new RegExp(\n            (this._dayOfMonthOrdinalParse.source || this._ordinalParse.source) +\n                '|' + (/\\d{1,2}/).source);\n    }\n\n    function mergeConfigs(parentConfig, childConfig) {\n        var res = extend({}, parentConfig), prop;\n        for (prop in childConfig) {\n            if (hasOwnProp(childConfig, prop)) {\n                if (isObject(parentConfig[prop]) && isObject(childConfig[prop])) {\n                    res[prop] = {};\n                    extend(res[prop], parentConfig[prop]);\n                    extend(res[prop], childConfig[prop]);\n                } else if (childConfig[prop] != null) {\n                    res[prop] = childConfig[prop];\n                } else {\n                    delete res[prop];\n                }\n            }\n        }\n        for (prop in parentConfig) {\n            if (hasOwnProp(parentConfig, prop) &&\n                    !hasOwnProp(childConfig, prop) &&\n                    isObject(parentConfig[prop])) {\n                // make sure changes to properties don't modify parent config\n                res[prop] = extend({}, res[prop]);\n            }\n        }\n        return res;\n    }\n\n    function Locale(config) {\n        if (config != null) {\n            this.set(config);\n        }\n    }\n\n    var keys;\n\n    if (Object.keys) {\n        keys = Object.keys;\n    } else {\n        keys = function (obj) {\n            var i, res = [];\n            for (i in obj) {\n                if (hasOwnProp(obj, i)) {\n                    res.push(i);\n                }\n            }\n            return res;\n        };\n    }\n\n    var defaultCalendar = {\n        sameDay : '[Today at] LT',\n        nextDay : '[Tomorrow at] LT',\n        nextWeek : 'dddd [at] LT',\n        lastDay : '[Yesterday at] LT',\n        lastWeek : '[Last] dddd [at] LT',\n        sameElse : 'L'\n    };\n\n    function calendar (key, mom, now) {\n        var output = this._calendar[key] || this._calendar['sameElse'];\n        return isFunction(output) ? output.call(mom, now) : output;\n    }\n\n    var defaultLongDateFormat = {\n        LTS  : 'h:mm:ss A',\n        LT   : 'h:mm A',\n        L    : 'MM/DD/YYYY',\n        LL   : 'MMMM D, YYYY',\n        LLL  : 'MMMM D, YYYY h:mm A',\n        LLLL : 'dddd, MMMM D, YYYY h:mm A'\n    };\n\n    function longDateFormat (key) {\n        var format = this._longDateFormat[key],\n            formatUpper = this._longDateFormat[key.toUpperCase()];\n\n        if (format || !formatUpper) {\n            return format;\n        }\n\n        this._longDateFormat[key] = formatUpper.replace(/MMMM|MM|DD|dddd/g, function (val) {\n            return val.slice(1);\n        });\n\n        return this._longDateFormat[key];\n    }\n\n    var defaultInvalidDate = 'Invalid date';\n\n    function invalidDate () {\n        return this._invalidDate;\n    }\n\n    var defaultOrdinal = '%d';\n    var defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\n    function ordinal (number) {\n        return this._ordinal.replace('%d', number);\n    }\n\n    var defaultRelativeTime = {\n        future : 'in %s',\n        past   : '%s ago',\n        s  : 'a few seconds',\n        ss : '%d seconds',\n        m  : 'a minute',\n        mm : '%d minutes',\n        h  : 'an hour',\n        hh : '%d hours',\n        d  : 'a day',\n        dd : '%d days',\n        M  : 'a month',\n        MM : '%d months',\n        y  : 'a year',\n        yy : '%d years'\n    };\n\n    function relativeTime (number, withoutSuffix, string, isFuture) {\n        var output = this._relativeTime[string];\n        return (isFunction(output)) ?\n            output(number, withoutSuffix, string, isFuture) :\n            output.replace(/%d/i, number);\n    }\n\n    function pastFuture (diff, output) {\n        var format = this._relativeTime[diff > 0 ? 'future' : 'past'];\n        return isFunction(format) ? format(output) : format.replace(/%s/i, output);\n    }\n\n    var aliases = {};\n\n    function addUnitAlias (unit, shorthand) {\n        var lowerCase = unit.toLowerCase();\n        aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n    }\n\n    function normalizeUnits(units) {\n        return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n    }\n\n    function normalizeObjectUnits(inputObject) {\n        var normalizedInput = {},\n            normalizedProp,\n            prop;\n\n        for (prop in inputObject) {\n            if (hasOwnProp(inputObject, prop)) {\n                normalizedProp = normalizeUnits(prop);\n                if (normalizedProp) {\n                    normalizedInput[normalizedProp] = inputObject[prop];\n                }\n            }\n        }\n\n        return normalizedInput;\n    }\n\n    var priorities = {};\n\n    function addUnitPriority(unit, priority) {\n        priorities[unit] = priority;\n    }\n\n    function getPrioritizedUnits(unitsObj) {\n        var units = [];\n        for (var u in unitsObj) {\n            units.push({unit: u, priority: priorities[u]});\n        }\n        units.sort(function (a, b) {\n            return a.priority - b.priority;\n        });\n        return units;\n    }\n\n    function zeroFill(number, targetLength, forceSign) {\n        var absNumber = '' + Math.abs(number),\n            zerosToFill = targetLength - absNumber.length,\n            sign = number >= 0;\n        return (sign ? (forceSign ? '+' : '') : '-') +\n            Math.pow(10, Math.max(0, zerosToFill)).toString().substr(1) + absNumber;\n    }\n\n    var formattingTokens = /(\\[[^\\[]*\\])|(\\\\)?([Hh]mm(ss)?|Mo|MM?M?M?|Do|DDDo|DD?D?D?|ddd?d?|do?|w[o|w]?|W[o|W]?|Qo?|YYYYYY|YYYYY|YYYY|YY|gg(ggg?)?|GG(GGG?)?|e|E|a|A|hh?|HH?|kk?|mm?|ss?|S{1,9}|x|X|zz?|ZZ?|.)/g;\n\n    var localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\n    var formatFunctions = {};\n\n    var formatTokenFunctions = {};\n\n    // token:    'M'\n    // padded:   ['MM', 2]\n    // ordinal:  'Mo'\n    // callback: function () { this.month() + 1 }\n    function addFormatToken (token, padded, ordinal, callback) {\n        var func = callback;\n        if (typeof callback === 'string') {\n            func = function () {\n                return this[callback]();\n            };\n        }\n        if (token) {\n            formatTokenFunctions[token] = func;\n        }\n        if (padded) {\n            formatTokenFunctions[padded[0]] = function () {\n                return zeroFill(func.apply(this, arguments), padded[1], padded[2]);\n            };\n        }\n        if (ordinal) {\n            formatTokenFunctions[ordinal] = function () {\n                return this.localeData().ordinal(func.apply(this, arguments), token);\n            };\n        }\n    }\n\n    function removeFormattingTokens(input) {\n        if (input.match(/\\[[\\s\\S]/)) {\n            return input.replace(/^\\[|\\]$/g, '');\n        }\n        return input.replace(/\\\\/g, '');\n    }\n\n    function makeFormatFunction(format) {\n        var array = format.match(formattingTokens), i, length;\n\n        for (i = 0, length = array.length; i < length; i++) {\n            if (formatTokenFunctions[array[i]]) {\n                array[i] = formatTokenFunctions[array[i]];\n            } else {\n                array[i] = removeFormattingTokens(array[i]);\n            }\n        }\n\n        return function (mom) {\n            var output = '', i;\n            for (i = 0; i < length; i++) {\n                output += isFunction(array[i]) ? array[i].call(mom, format) : array[i];\n            }\n            return output;\n        };\n    }\n\n    // format date using native date object\n    function formatMoment(m, format) {\n        if (!m.isValid()) {\n            return m.localeData().invalidDate();\n        }\n\n        format = expandFormat(format, m.localeData());\n        formatFunctions[format] = formatFunctions[format] || makeFormatFunction(format);\n\n        return formatFunctions[format](m);\n    }\n\n    function expandFormat(format, locale) {\n        var i = 5;\n\n        function replaceLongDateFormatTokens(input) {\n            return locale.longDateFormat(input) || input;\n        }\n\n        localFormattingTokens.lastIndex = 0;\n        while (i >= 0 && localFormattingTokens.test(format)) {\n            format = format.replace(localFormattingTokens, replaceLongDateFormatTokens);\n            localFormattingTokens.lastIndex = 0;\n            i -= 1;\n        }\n\n        return format;\n    }\n\n    var match1         = /\\d/;            //       0 - 9\n    var match2         = /\\d\\d/;          //      00 - 99\n    var match3         = /\\d{3}/;         //     000 - 999\n    var match4         = /\\d{4}/;         //    0000 - 9999\n    var match6         = /[+-]?\\d{6}/;    // -999999 - 999999\n    var match1to2      = /\\d\\d?/;         //       0 - 99\n    var match3to4      = /\\d\\d\\d\\d?/;     //     999 - 9999\n    var match5to6      = /\\d\\d\\d\\d\\d\\d?/; //   99999 - 999999\n    var match1to3      = /\\d{1,3}/;       //       0 - 999\n    var match1to4      = /\\d{1,4}/;       //       0 - 9999\n    var match1to6      = /[+-]?\\d{1,6}/;  // -999999 - 999999\n\n    var matchUnsigned  = /\\d+/;           //       0 - inf\n    var matchSigned    = /[+-]?\\d+/;      //    -inf - inf\n\n    var matchOffset    = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\n    var matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\n    var matchTimestamp = /[+-]?\\d+(\\.\\d{1,3})?/; // 123456789 123456789.123\n\n    // any word (or two) characters or numbers including two/three word month in arabic.\n    // includes scottish gaelic two word and hyphenated months\n    var matchWord = /[0-9]{0,256}['a-z\\u00A0-\\u05FF\\u0700-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFF07\\uFF10-\\uFFEF]{1,256}|[\\u0600-\\u06FF\\/]{1,256}(\\s*?[\\u0600-\\u06FF]{1,256}){1,2}/i;\n\n    var regexes = {};\n\n    function addRegexToken (token, regex, strictRegex) {\n        regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n            return (isStrict && strictRegex) ? strictRegex : regex;\n        };\n    }\n\n    function getParseRegexForToken (token, config) {\n        if (!hasOwnProp(regexes, token)) {\n            return new RegExp(unescapeFormat(token));\n        }\n\n        return regexes[token](config._strict, config._locale);\n    }\n\n    // Code from http://stackoverflow.com/questions/3561493/is-there-a-regexp-escape-function-in-javascript\n    function unescapeFormat(s) {\n        return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n            return p1 || p2 || p3 || p4;\n        }));\n    }\n\n    function regexEscape(s) {\n        return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n    }\n\n    var tokens = {};\n\n    function addParseToken (token, callback) {\n        var i, func = callback;\n        if (typeof token === 'string') {\n            token = [token];\n        }\n        if (isNumber(callback)) {\n            func = function (input, array) {\n                array[callback] = toInt(input);\n            };\n        }\n        for (i = 0; i < token.length; i++) {\n            tokens[token[i]] = func;\n        }\n    }\n\n    function addWeekParseToken (token, callback) {\n        addParseToken(token, function (input, array, config, token) {\n            config._w = config._w || {};\n            callback(input, config._w, config, token);\n        });\n    }\n\n    function addTimeToArrayFromToken(token, input, config) {\n        if (input != null && hasOwnProp(tokens, token)) {\n            tokens[token](input, config._a, config, token);\n        }\n    }\n\n    var YEAR = 0;\n    var MONTH = 1;\n    var DATE = 2;\n    var HOUR = 3;\n    var MINUTE = 4;\n    var SECOND = 5;\n    var MILLISECOND = 6;\n    var WEEK = 7;\n    var WEEKDAY = 8;\n\n    // FORMATTING\n\n    addFormatToken('Y', 0, 0, function () {\n        var y = this.year();\n        return y <= 9999 ? '' + y : '+' + y;\n    });\n\n    addFormatToken(0, ['YY', 2], 0, function () {\n        return this.year() % 100;\n    });\n\n    addFormatToken(0, ['YYYY',   4],       0, 'year');\n    addFormatToken(0, ['YYYYY',  5],       0, 'year');\n    addFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n    // ALIASES\n\n    addUnitAlias('year', 'y');\n\n    // PRIORITIES\n\n    addUnitPriority('year', 1);\n\n    // PARSING\n\n    addRegexToken('Y',      matchSigned);\n    addRegexToken('YY',     match1to2, match2);\n    addRegexToken('YYYY',   match1to4, match4);\n    addRegexToken('YYYYY',  match1to6, match6);\n    addRegexToken('YYYYYY', match1to6, match6);\n\n    addParseToken(['YYYYY', 'YYYYYY'], YEAR);\n    addParseToken('YYYY', function (input, array) {\n        array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n    });\n    addParseToken('YY', function (input, array) {\n        array[YEAR] = hooks.parseTwoDigitYear(input);\n    });\n    addParseToken('Y', function (input, array) {\n        array[YEAR] = parseInt(input, 10);\n    });\n\n    // HELPERS\n\n    function daysInYear(year) {\n        return isLeapYear(year) ? 366 : 365;\n    }\n\n    function isLeapYear(year) {\n        return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n    }\n\n    // HOOKS\n\n    hooks.parseTwoDigitYear = function (input) {\n        return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n    };\n\n    // MOMENTS\n\n    var getSetYear = makeGetSet('FullYear', true);\n\n    function getIsLeapYear () {\n        return isLeapYear(this.year());\n    }\n\n    function makeGetSet (unit, keepTime) {\n        return function (value) {\n            if (value != null) {\n                set$1(this, unit, value);\n                hooks.updateOffset(this, keepTime);\n                return this;\n            } else {\n                return get(this, unit);\n            }\n        };\n    }\n\n    function get (mom, unit) {\n        return mom.isValid() ?\n            mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n    }\n\n    function set$1 (mom, unit, value) {\n        if (mom.isValid() && !isNaN(value)) {\n            if (unit === 'FullYear' && isLeapYear(mom.year()) && mom.month() === 1 && mom.date() === 29) {\n                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value, mom.month(), daysInMonth(value, mom.month()));\n            }\n            else {\n                mom._d['set' + (mom._isUTC ? 'UTC' : '') + unit](value);\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function stringGet (units) {\n        units = normalizeUnits(units);\n        if (isFunction(this[units])) {\n            return this[units]();\n        }\n        return this;\n    }\n\n\n    function stringSet (units, value) {\n        if (typeof units === 'object') {\n            units = normalizeObjectUnits(units);\n            var prioritized = getPrioritizedUnits(units);\n            for (var i = 0; i < prioritized.length; i++) {\n                this[prioritized[i].unit](units[prioritized[i].unit]);\n            }\n        } else {\n            units = normalizeUnits(units);\n            if (isFunction(this[units])) {\n                return this[units](value);\n            }\n        }\n        return this;\n    }\n\n    function mod(n, x) {\n        return ((n % x) + x) % x;\n    }\n\n    var indexOf;\n\n    if (Array.prototype.indexOf) {\n        indexOf = Array.prototype.indexOf;\n    } else {\n        indexOf = function (o) {\n            // I know\n            var i;\n            for (i = 0; i < this.length; ++i) {\n                if (this[i] === o) {\n                    return i;\n                }\n            }\n            return -1;\n        };\n    }\n\n    function daysInMonth(year, month) {\n        if (isNaN(year) || isNaN(month)) {\n            return NaN;\n        }\n        var modMonth = mod(month, 12);\n        year += (month - modMonth) / 12;\n        return modMonth === 1 ? (isLeapYear(year) ? 29 : 28) : (31 - modMonth % 7 % 2);\n    }\n\n    // FORMATTING\n\n    addFormatToken('M', ['MM', 2], 'Mo', function () {\n        return this.month() + 1;\n    });\n\n    addFormatToken('MMM', 0, 0, function (format) {\n        return this.localeData().monthsShort(this, format);\n    });\n\n    addFormatToken('MMMM', 0, 0, function (format) {\n        return this.localeData().months(this, format);\n    });\n\n    // ALIASES\n\n    addUnitAlias('month', 'M');\n\n    // PRIORITY\n\n    addUnitPriority('month', 8);\n\n    // PARSING\n\n    addRegexToken('M',    match1to2);\n    addRegexToken('MM',   match1to2, match2);\n    addRegexToken('MMM',  function (isStrict, locale) {\n        return locale.monthsShortRegex(isStrict);\n    });\n    addRegexToken('MMMM', function (isStrict, locale) {\n        return locale.monthsRegex(isStrict);\n    });\n\n    addParseToken(['M', 'MM'], function (input, array) {\n        array[MONTH] = toInt(input) - 1;\n    });\n\n    addParseToken(['MMM', 'MMMM'], function (input, array, config, token) {\n        var month = config._locale.monthsParse(input, token, config._strict);\n        // if we didn't find a month name, mark the date as invalid.\n        if (month != null) {\n            array[MONTH] = month;\n        } else {\n            getParsingFlags(config).invalidMonth = input;\n        }\n    });\n\n    // LOCALES\n\n    var MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\n    var defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\n    function localeMonths (m, format) {\n        if (!m) {\n            return isArray(this._months) ? this._months :\n                this._months['standalone'];\n        }\n        return isArray(this._months) ? this._months[m.month()] :\n            this._months[(this._months.isFormat || MONTHS_IN_FORMAT).test(format) ? 'format' : 'standalone'][m.month()];\n    }\n\n    var defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\n    function localeMonthsShort (m, format) {\n        if (!m) {\n            return isArray(this._monthsShort) ? this._monthsShort :\n                this._monthsShort['standalone'];\n        }\n        return isArray(this._monthsShort) ? this._monthsShort[m.month()] :\n            this._monthsShort[MONTHS_IN_FORMAT.test(format) ? 'format' : 'standalone'][m.month()];\n    }\n\n    function handleStrictParse(monthName, format, strict) {\n        var i, ii, mom, llc = monthName.toLocaleLowerCase();\n        if (!this._monthsParse) {\n            // this is not used\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n            for (i = 0; i < 12; ++i) {\n                mom = createUTC([2000, i]);\n                this._shortMonthsParse[i] = this.monthsShort(mom, '').toLocaleLowerCase();\n                this._longMonthsParse[i] = this.months(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'MMM') {\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._longMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._longMonthsParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortMonthsParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeMonthsParse (monthName, format, strict) {\n        var i, mom, regex;\n\n        if (this._monthsParseExact) {\n            return handleStrictParse.call(this, monthName, format, strict);\n        }\n\n        if (!this._monthsParse) {\n            this._monthsParse = [];\n            this._longMonthsParse = [];\n            this._shortMonthsParse = [];\n        }\n\n        // TODO: add sorting\n        // Sorting makes sure if one month (or abbr) is a prefix of another\n        // see sorting in computeMonthsParse\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            if (strict && !this._longMonthsParse[i]) {\n                this._longMonthsParse[i] = new RegExp('^' + this.months(mom, '').replace('.', '') + '$', 'i');\n                this._shortMonthsParse[i] = new RegExp('^' + this.monthsShort(mom, '').replace('.', '') + '$', 'i');\n            }\n            if (!strict && !this._monthsParse[i]) {\n                regex = '^' + this.months(mom, '') + '|^' + this.monthsShort(mom, '');\n                this._monthsParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (strict && format === 'MMMM' && this._longMonthsParse[i].test(monthName)) {\n                return i;\n            } else if (strict && format === 'MMM' && this._shortMonthsParse[i].test(monthName)) {\n                return i;\n            } else if (!strict && this._monthsParse[i].test(monthName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function setMonth (mom, value) {\n        var dayOfMonth;\n\n        if (!mom.isValid()) {\n            // No op\n            return mom;\n        }\n\n        if (typeof value === 'string') {\n            if (/^\\d+$/.test(value)) {\n                value = toInt(value);\n            } else {\n                value = mom.localeData().monthsParse(value);\n                // TODO: Another silent failure?\n                if (!isNumber(value)) {\n                    return mom;\n                }\n            }\n        }\n\n        dayOfMonth = Math.min(mom.date(), daysInMonth(mom.year(), value));\n        mom._d['set' + (mom._isUTC ? 'UTC' : '') + 'Month'](value, dayOfMonth);\n        return mom;\n    }\n\n    function getSetMonth (value) {\n        if (value != null) {\n            setMonth(this, value);\n            hooks.updateOffset(this, true);\n            return this;\n        } else {\n            return get(this, 'Month');\n        }\n    }\n\n    function getDaysInMonth () {\n        return daysInMonth(this.year(), this.month());\n    }\n\n    var defaultMonthsShortRegex = matchWord;\n    function monthsShortRegex (isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsShortStrictRegex;\n            } else {\n                return this._monthsShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsShortRegex')) {\n                this._monthsShortRegex = defaultMonthsShortRegex;\n            }\n            return this._monthsShortStrictRegex && isStrict ?\n                this._monthsShortStrictRegex : this._monthsShortRegex;\n        }\n    }\n\n    var defaultMonthsRegex = matchWord;\n    function monthsRegex (isStrict) {\n        if (this._monthsParseExact) {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                computeMonthsParse.call(this);\n            }\n            if (isStrict) {\n                return this._monthsStrictRegex;\n            } else {\n                return this._monthsRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_monthsRegex')) {\n                this._monthsRegex = defaultMonthsRegex;\n            }\n            return this._monthsStrictRegex && isStrict ?\n                this._monthsStrictRegex : this._monthsRegex;\n        }\n    }\n\n    function computeMonthsParse () {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var shortPieces = [], longPieces = [], mixedPieces = [],\n            i, mom;\n        for (i = 0; i < 12; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, i]);\n            shortPieces.push(this.monthsShort(mom, ''));\n            longPieces.push(this.months(mom, ''));\n            mixedPieces.push(this.months(mom, ''));\n            mixedPieces.push(this.monthsShort(mom, ''));\n        }\n        // Sorting makes sure if one month (or abbr) is a prefix of another it\n        // will match the longer piece.\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n        for (i = 0; i < 12; i++) {\n            shortPieces[i] = regexEscape(shortPieces[i]);\n            longPieces[i] = regexEscape(longPieces[i]);\n        }\n        for (i = 0; i < 24; i++) {\n            mixedPieces[i] = regexEscape(mixedPieces[i]);\n        }\n\n        this._monthsRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._monthsShortRegex = this._monthsRegex;\n        this._monthsStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n        this._monthsShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n    }\n\n    function createDate (y, m, d, h, M, s, ms) {\n        // can't just apply() to create a date:\n        // https://stackoverflow.com/q/181348\n        var date;\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            date = new Date(y + 400, m, d, h, M, s, ms);\n            if (isFinite(date.getFullYear())) {\n                date.setFullYear(y);\n            }\n        } else {\n            date = new Date(y, m, d, h, M, s, ms);\n        }\n\n        return date;\n    }\n\n    function createUTCDate (y) {\n        var date;\n        // the Date.UTC function remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            var args = Array.prototype.slice.call(arguments);\n            // preserve leap years using a full 400 year cycle, then reset\n            args[0] = y + 400;\n            date = new Date(Date.UTC.apply(null, args));\n            if (isFinite(date.getUTCFullYear())) {\n                date.setUTCFullYear(y);\n            }\n        } else {\n            date = new Date(Date.UTC.apply(null, arguments));\n        }\n\n        return date;\n    }\n\n    // start-of-first-week - start-of-year\n    function firstWeekOffset(year, dow, doy) {\n        var // first-week day -- which january is always in the first week (4 for iso, 1 for other)\n            fwd = 7 + dow - doy,\n            // first-week day local weekday -- which local weekday is fwd\n            fwdlw = (7 + createUTCDate(year, 0, fwd).getUTCDay() - dow) % 7;\n\n        return -fwdlw + fwd - 1;\n    }\n\n    // https://en.wikipedia.org/wiki/ISO_week_date#Calculating_a_date_given_the_year.2C_week_number_and_weekday\n    function dayOfYearFromWeeks(year, week, weekday, dow, doy) {\n        var localWeekday = (7 + weekday - dow) % 7,\n            weekOffset = firstWeekOffset(year, dow, doy),\n            dayOfYear = 1 + 7 * (week - 1) + localWeekday + weekOffset,\n            resYear, resDayOfYear;\n\n        if (dayOfYear <= 0) {\n            resYear = year - 1;\n            resDayOfYear = daysInYear(resYear) + dayOfYear;\n        } else if (dayOfYear > daysInYear(year)) {\n            resYear = year + 1;\n            resDayOfYear = dayOfYear - daysInYear(year);\n        } else {\n            resYear = year;\n            resDayOfYear = dayOfYear;\n        }\n\n        return {\n            year: resYear,\n            dayOfYear: resDayOfYear\n        };\n    }\n\n    function weekOfYear(mom, dow, doy) {\n        var weekOffset = firstWeekOffset(mom.year(), dow, doy),\n            week = Math.floor((mom.dayOfYear() - weekOffset - 1) / 7) + 1,\n            resWeek, resYear;\n\n        if (week < 1) {\n            resYear = mom.year() - 1;\n            resWeek = week + weeksInYear(resYear, dow, doy);\n        } else if (week > weeksInYear(mom.year(), dow, doy)) {\n            resWeek = week - weeksInYear(mom.year(), dow, doy);\n            resYear = mom.year() + 1;\n        } else {\n            resYear = mom.year();\n            resWeek = week;\n        }\n\n        return {\n            week: resWeek,\n            year: resYear\n        };\n    }\n\n    function weeksInYear(year, dow, doy) {\n        var weekOffset = firstWeekOffset(year, dow, doy),\n            weekOffsetNext = firstWeekOffset(year + 1, dow, doy);\n        return (daysInYear(year) - weekOffset + weekOffsetNext) / 7;\n    }\n\n    // FORMATTING\n\n    addFormatToken('w', ['ww', 2], 'wo', 'week');\n    addFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n    // ALIASES\n\n    addUnitAlias('week', 'w');\n    addUnitAlias('isoWeek', 'W');\n\n    // PRIORITIES\n\n    addUnitPriority('week', 5);\n    addUnitPriority('isoWeek', 5);\n\n    // PARSING\n\n    addRegexToken('w',  match1to2);\n    addRegexToken('ww', match1to2, match2);\n    addRegexToken('W',  match1to2);\n    addRegexToken('WW', match1to2, match2);\n\n    addWeekParseToken(['w', 'ww', 'W', 'WW'], function (input, week, config, token) {\n        week[token.substr(0, 1)] = toInt(input);\n    });\n\n    // HELPERS\n\n    // LOCALES\n\n    function localeWeek (mom) {\n        return weekOfYear(mom, this._week.dow, this._week.doy).week;\n    }\n\n    var defaultLocaleWeek = {\n        dow : 0, // Sunday is the first day of the week.\n        doy : 6  // The week that contains Jan 6th is the first week of the year.\n    };\n\n    function localeFirstDayOfWeek () {\n        return this._week.dow;\n    }\n\n    function localeFirstDayOfYear () {\n        return this._week.doy;\n    }\n\n    // MOMENTS\n\n    function getSetWeek (input) {\n        var week = this.localeData().week(this);\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    function getSetISOWeek (input) {\n        var week = weekOfYear(this, 1, 4).week;\n        return input == null ? week : this.add((input - week) * 7, 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('d', 0, 'do', 'day');\n\n    addFormatToken('dd', 0, 0, function (format) {\n        return this.localeData().weekdaysMin(this, format);\n    });\n\n    addFormatToken('ddd', 0, 0, function (format) {\n        return this.localeData().weekdaysShort(this, format);\n    });\n\n    addFormatToken('dddd', 0, 0, function (format) {\n        return this.localeData().weekdays(this, format);\n    });\n\n    addFormatToken('e', 0, 0, 'weekday');\n    addFormatToken('E', 0, 0, 'isoWeekday');\n\n    // ALIASES\n\n    addUnitAlias('day', 'd');\n    addUnitAlias('weekday', 'e');\n    addUnitAlias('isoWeekday', 'E');\n\n    // PRIORITY\n    addUnitPriority('day', 11);\n    addUnitPriority('weekday', 11);\n    addUnitPriority('isoWeekday', 11);\n\n    // PARSING\n\n    addRegexToken('d',    match1to2);\n    addRegexToken('e',    match1to2);\n    addRegexToken('E',    match1to2);\n    addRegexToken('dd',   function (isStrict, locale) {\n        return locale.weekdaysMinRegex(isStrict);\n    });\n    addRegexToken('ddd',   function (isStrict, locale) {\n        return locale.weekdaysShortRegex(isStrict);\n    });\n    addRegexToken('dddd',   function (isStrict, locale) {\n        return locale.weekdaysRegex(isStrict);\n    });\n\n    addWeekParseToken(['dd', 'ddd', 'dddd'], function (input, week, config, token) {\n        var weekday = config._locale.weekdaysParse(input, token, config._strict);\n        // if we didn't get a weekday name, mark the date as invalid\n        if (weekday != null) {\n            week.d = weekday;\n        } else {\n            getParsingFlags(config).invalidWeekday = input;\n        }\n    });\n\n    addWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n        week[token] = toInt(input);\n    });\n\n    // HELPERS\n\n    function parseWeekday(input, locale) {\n        if (typeof input !== 'string') {\n            return input;\n        }\n\n        if (!isNaN(input)) {\n            return parseInt(input, 10);\n        }\n\n        input = locale.weekdaysParse(input);\n        if (typeof input === 'number') {\n            return input;\n        }\n\n        return null;\n    }\n\n    function parseIsoWeekday(input, locale) {\n        if (typeof input === 'string') {\n            return locale.weekdaysParse(input) % 7 || 7;\n        }\n        return isNaN(input) ? null : input;\n    }\n\n    // LOCALES\n    function shiftWeekdays (ws, n) {\n        return ws.slice(n, 7).concat(ws.slice(0, n));\n    }\n\n    var defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\n    function localeWeekdays (m, format) {\n        var weekdays = isArray(this._weekdays) ? this._weekdays :\n            this._weekdays[(m && m !== true && this._weekdays.isFormat.test(format)) ? 'format' : 'standalone'];\n        return (m === true) ? shiftWeekdays(weekdays, this._week.dow)\n            : (m) ? weekdays[m.day()] : weekdays;\n    }\n\n    var defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\n    function localeWeekdaysShort (m) {\n        return (m === true) ? shiftWeekdays(this._weekdaysShort, this._week.dow)\n            : (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n    }\n\n    var defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\n    function localeWeekdaysMin (m) {\n        return (m === true) ? shiftWeekdays(this._weekdaysMin, this._week.dow)\n            : (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n    }\n\n    function handleStrictParse$1(weekdayName, format, strict) {\n        var i, ii, mom, llc = weekdayName.toLocaleLowerCase();\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._minWeekdaysParse = [];\n\n            for (i = 0; i < 7; ++i) {\n                mom = createUTC([2000, 1]).day(i);\n                this._minWeekdaysParse[i] = this.weekdaysMin(mom, '').toLocaleLowerCase();\n                this._shortWeekdaysParse[i] = this.weekdaysShort(mom, '').toLocaleLowerCase();\n                this._weekdaysParse[i] = this.weekdays(mom, '').toLocaleLowerCase();\n            }\n        }\n\n        if (strict) {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        } else {\n            if (format === 'dddd') {\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else if (format === 'ddd') {\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            } else {\n                ii = indexOf.call(this._minWeekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._weekdaysParse, llc);\n                if (ii !== -1) {\n                    return ii;\n                }\n                ii = indexOf.call(this._shortWeekdaysParse, llc);\n                return ii !== -1 ? ii : null;\n            }\n        }\n    }\n\n    function localeWeekdaysParse (weekdayName, format, strict) {\n        var i, mom, regex;\n\n        if (this._weekdaysParseExact) {\n            return handleStrictParse$1.call(this, weekdayName, format, strict);\n        }\n\n        if (!this._weekdaysParse) {\n            this._weekdaysParse = [];\n            this._minWeekdaysParse = [];\n            this._shortWeekdaysParse = [];\n            this._fullWeekdaysParse = [];\n        }\n\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n\n            mom = createUTC([2000, 1]).day(i);\n            if (strict && !this._fullWeekdaysParse[i]) {\n                this._fullWeekdaysParse[i] = new RegExp('^' + this.weekdays(mom, '').replace('.', '\\\\.?') + '$', 'i');\n                this._shortWeekdaysParse[i] = new RegExp('^' + this.weekdaysShort(mom, '').replace('.', '\\\\.?') + '$', 'i');\n                this._minWeekdaysParse[i] = new RegExp('^' + this.weekdaysMin(mom, '').replace('.', '\\\\.?') + '$', 'i');\n            }\n            if (!this._weekdaysParse[i]) {\n                regex = '^' + this.weekdays(mom, '') + '|^' + this.weekdaysShort(mom, '') + '|^' + this.weekdaysMin(mom, '');\n                this._weekdaysParse[i] = new RegExp(regex.replace('.', ''), 'i');\n            }\n            // test the regex\n            if (strict && format === 'dddd' && this._fullWeekdaysParse[i].test(weekdayName)) {\n                return i;\n            } else if (strict && format === 'ddd' && this._shortWeekdaysParse[i].test(weekdayName)) {\n                return i;\n            } else if (strict && format === 'dd' && this._minWeekdaysParse[i].test(weekdayName)) {\n                return i;\n            } else if (!strict && this._weekdaysParse[i].test(weekdayName)) {\n                return i;\n            }\n        }\n    }\n\n    // MOMENTS\n\n    function getSetDayOfWeek (input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        var day = this._isUTC ? this._d.getUTCDay() : this._d.getDay();\n        if (input != null) {\n            input = parseWeekday(input, this.localeData());\n            return this.add(input - day, 'd');\n        } else {\n            return day;\n        }\n    }\n\n    function getSetLocaleDayOfWeek (input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        var weekday = (this.day() + 7 - this.localeData()._week.dow) % 7;\n        return input == null ? weekday : this.add(input - weekday, 'd');\n    }\n\n    function getSetISODayOfWeek (input) {\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n\n        // behaves the same as moment#day except\n        // as a getter, returns 7 instead of 0 (1-7 range instead of 0-6)\n        // as a setter, sunday should belong to the previous week.\n\n        if (input != null) {\n            var weekday = parseIsoWeekday(input, this.localeData());\n            return this.day(this.day() % 7 ? weekday : weekday - 7);\n        } else {\n            return this.day() || 7;\n        }\n    }\n\n    var defaultWeekdaysRegex = matchWord;\n    function weekdaysRegex (isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysStrictRegex;\n            } else {\n                return this._weekdaysRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                this._weekdaysRegex = defaultWeekdaysRegex;\n            }\n            return this._weekdaysStrictRegex && isStrict ?\n                this._weekdaysStrictRegex : this._weekdaysRegex;\n        }\n    }\n\n    var defaultWeekdaysShortRegex = matchWord;\n    function weekdaysShortRegex (isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysShortStrictRegex;\n            } else {\n                return this._weekdaysShortRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysShortRegex')) {\n                this._weekdaysShortRegex = defaultWeekdaysShortRegex;\n            }\n            return this._weekdaysShortStrictRegex && isStrict ?\n                this._weekdaysShortStrictRegex : this._weekdaysShortRegex;\n        }\n    }\n\n    var defaultWeekdaysMinRegex = matchWord;\n    function weekdaysMinRegex (isStrict) {\n        if (this._weekdaysParseExact) {\n            if (!hasOwnProp(this, '_weekdaysRegex')) {\n                computeWeekdaysParse.call(this);\n            }\n            if (isStrict) {\n                return this._weekdaysMinStrictRegex;\n            } else {\n                return this._weekdaysMinRegex;\n            }\n        } else {\n            if (!hasOwnProp(this, '_weekdaysMinRegex')) {\n                this._weekdaysMinRegex = defaultWeekdaysMinRegex;\n            }\n            return this._weekdaysMinStrictRegex && isStrict ?\n                this._weekdaysMinStrictRegex : this._weekdaysMinRegex;\n        }\n    }\n\n\n    function computeWeekdaysParse () {\n        function cmpLenRev(a, b) {\n            return b.length - a.length;\n        }\n\n        var minPieces = [], shortPieces = [], longPieces = [], mixedPieces = [],\n            i, mom, minp, shortp, longp;\n        for (i = 0; i < 7; i++) {\n            // make the regex if we don't have it already\n            mom = createUTC([2000, 1]).day(i);\n            minp = this.weekdaysMin(mom, '');\n            shortp = this.weekdaysShort(mom, '');\n            longp = this.weekdays(mom, '');\n            minPieces.push(minp);\n            shortPieces.push(shortp);\n            longPieces.push(longp);\n            mixedPieces.push(minp);\n            mixedPieces.push(shortp);\n            mixedPieces.push(longp);\n        }\n        // Sorting makes sure if one weekday (or abbr) is a prefix of another it\n        // will match the longer piece.\n        minPieces.sort(cmpLenRev);\n        shortPieces.sort(cmpLenRev);\n        longPieces.sort(cmpLenRev);\n        mixedPieces.sort(cmpLenRev);\n        for (i = 0; i < 7; i++) {\n            shortPieces[i] = regexEscape(shortPieces[i]);\n            longPieces[i] = regexEscape(longPieces[i]);\n            mixedPieces[i] = regexEscape(mixedPieces[i]);\n        }\n\n        this._weekdaysRegex = new RegExp('^(' + mixedPieces.join('|') + ')', 'i');\n        this._weekdaysShortRegex = this._weekdaysRegex;\n        this._weekdaysMinRegex = this._weekdaysRegex;\n\n        this._weekdaysStrictRegex = new RegExp('^(' + longPieces.join('|') + ')', 'i');\n        this._weekdaysShortStrictRegex = new RegExp('^(' + shortPieces.join('|') + ')', 'i');\n        this._weekdaysMinStrictRegex = new RegExp('^(' + minPieces.join('|') + ')', 'i');\n    }\n\n    // FORMATTING\n\n    function hFormat() {\n        return this.hours() % 12 || 12;\n    }\n\n    function kFormat() {\n        return this.hours() || 24;\n    }\n\n    addFormatToken('H', ['HH', 2], 0, 'hour');\n    addFormatToken('h', ['hh', 2], 0, hFormat);\n    addFormatToken('k', ['kk', 2], 0, kFormat);\n\n    addFormatToken('hmm', 0, 0, function () {\n        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('hmmss', 0, 0, function () {\n        return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2);\n    });\n\n    addFormatToken('Hmm', 0, 0, function () {\n        return '' + this.hours() + zeroFill(this.minutes(), 2);\n    });\n\n    addFormatToken('Hmmss', 0, 0, function () {\n        return '' + this.hours() + zeroFill(this.minutes(), 2) +\n            zeroFill(this.seconds(), 2);\n    });\n\n    function meridiem (token, lowercase) {\n        addFormatToken(token, 0, 0, function () {\n            return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n        });\n    }\n\n    meridiem('a', true);\n    meridiem('A', false);\n\n    // ALIASES\n\n    addUnitAlias('hour', 'h');\n\n    // PRIORITY\n    addUnitPriority('hour', 13);\n\n    // PARSING\n\n    function matchMeridiem (isStrict, locale) {\n        return locale._meridiemParse;\n    }\n\n    addRegexToken('a',  matchMeridiem);\n    addRegexToken('A',  matchMeridiem);\n    addRegexToken('H',  match1to2);\n    addRegexToken('h',  match1to2);\n    addRegexToken('k',  match1to2);\n    addRegexToken('HH', match1to2, match2);\n    addRegexToken('hh', match1to2, match2);\n    addRegexToken('kk', match1to2, match2);\n\n    addRegexToken('hmm', match3to4);\n    addRegexToken('hmmss', match5to6);\n    addRegexToken('Hmm', match3to4);\n    addRegexToken('Hmmss', match5to6);\n\n    addParseToken(['H', 'HH'], HOUR);\n    addParseToken(['k', 'kk'], function (input, array, config) {\n        var kInput = toInt(input);\n        array[HOUR] = kInput === 24 ? 0 : kInput;\n    });\n    addParseToken(['a', 'A'], function (input, array, config) {\n        config._isPm = config._locale.isPM(input);\n        config._meridiem = input;\n    });\n    addParseToken(['h', 'hh'], function (input, array, config) {\n        array[HOUR] = toInt(input);\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('hmmss', function (input, array, config) {\n        var pos1 = input.length - 4;\n        var pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n        getParsingFlags(config).bigHour = true;\n    });\n    addParseToken('Hmm', function (input, array, config) {\n        var pos = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos));\n        array[MINUTE] = toInt(input.substr(pos));\n    });\n    addParseToken('Hmmss', function (input, array, config) {\n        var pos1 = input.length - 4;\n        var pos2 = input.length - 2;\n        array[HOUR] = toInt(input.substr(0, pos1));\n        array[MINUTE] = toInt(input.substr(pos1, 2));\n        array[SECOND] = toInt(input.substr(pos2));\n    });\n\n    // LOCALES\n\n    function localeIsPM (input) {\n        // IE8 Quirks Mode & IE7 Standards Mode do not allow accessing strings like arrays\n        // Using charAt should be more compatible.\n        return ((input + '').toLowerCase().charAt(0) === 'p');\n    }\n\n    var defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\n    function localeMeridiem (hours, minutes, isLower) {\n        if (hours > 11) {\n            return isLower ? 'pm' : 'PM';\n        } else {\n            return isLower ? 'am' : 'AM';\n        }\n    }\n\n\n    // MOMENTS\n\n    // Setting the hour should keep the time, because the user explicitly\n    // specified which hour they want. So trying to maintain the same hour (in\n    // a new timezone) makes sense. Adding/subtracting hours does not follow\n    // this rule.\n    var getSetHour = makeGetSet('Hours', true);\n\n    var baseConfig = {\n        calendar: defaultCalendar,\n        longDateFormat: defaultLongDateFormat,\n        invalidDate: defaultInvalidDate,\n        ordinal: defaultOrdinal,\n        dayOfMonthOrdinalParse: defaultDayOfMonthOrdinalParse,\n        relativeTime: defaultRelativeTime,\n\n        months: defaultLocaleMonths,\n        monthsShort: defaultLocaleMonthsShort,\n\n        week: defaultLocaleWeek,\n\n        weekdays: defaultLocaleWeekdays,\n        weekdaysMin: defaultLocaleWeekdaysMin,\n        weekdaysShort: defaultLocaleWeekdaysShort,\n\n        meridiemParse: defaultLocaleMeridiemParse\n    };\n\n    // internal storage for locale config files\n    var locales = {};\n    var localeFamilies = {};\n    var globalLocale;\n\n    function normalizeLocale(key) {\n        return key ? key.toLowerCase().replace('_', '-') : key;\n    }\n\n    // pick the locale from the array\n    // try ['en-au', 'en-gb'] as 'en-au', 'en-gb', 'en', as in move through the list trying each\n    // substring from most specific to least, but move to the next array item if it's a more specific variant than the current root\n    function chooseLocale(names) {\n        var i = 0, j, next, locale, split;\n\n        while (i < names.length) {\n            split = normalizeLocale(names[i]).split('-');\n            j = split.length;\n            next = normalizeLocale(names[i + 1]);\n            next = next ? next.split('-') : null;\n            while (j > 0) {\n                locale = loadLocale(split.slice(0, j).join('-'));\n                if (locale) {\n                    return locale;\n                }\n                if (next && next.length >= j && compareArrays(split, next, true) >= j - 1) {\n                    //the next array item is better than a shallower substring of this one\n                    break;\n                }\n                j--;\n            }\n            i++;\n        }\n        return globalLocale;\n    }\n\n    function loadLocale(name) {\n        var oldLocale = null;\n        // TODO: Find a better way to register and load all the locales in Node\n        if (!locales[name] && (typeof module !== 'undefined') &&\n                module && module.exports) {\n            try {\n                oldLocale = globalLocale._abbr;\n                var aliasedRequire = require;\n                aliasedRequire('./locale/' + name);\n                getSetGlobalLocale(oldLocale);\n            } catch (e) {}\n        }\n        return locales[name];\n    }\n\n    // This function will load locale and then set the global locale.  If\n    // no arguments are passed in, it will simply return the current global\n    // locale key.\n    function getSetGlobalLocale (key, values) {\n        var data;\n        if (key) {\n            if (isUndefined(values)) {\n                data = getLocale(key);\n            }\n            else {\n                data = defineLocale(key, values);\n            }\n\n            if (data) {\n                // moment.duration._locale = moment._locale = data;\n                globalLocale = data;\n            }\n            else {\n                if ((typeof console !==  'undefined') && console.warn) {\n                    //warn user if arguments are passed but the locale could not be set\n                    console.warn('Locale ' + key +  ' not found. Did you forget to load it?');\n                }\n            }\n        }\n\n        return globalLocale._abbr;\n    }\n\n    function defineLocale (name, config) {\n        if (config !== null) {\n            var locale, parentConfig = baseConfig;\n            config.abbr = name;\n            if (locales[name] != null) {\n                deprecateSimple('defineLocaleOverride',\n                        'use moment.updateLocale(localeName, config) to change ' +\n                        'an existing locale. moment.defineLocale(localeName, ' +\n                        'config) should only be used for creating a new locale ' +\n                        'See http://momentjs.com/guides/#/warnings/define-locale/ for more info.');\n                parentConfig = locales[name]._config;\n            } else if (config.parentLocale != null) {\n                if (locales[config.parentLocale] != null) {\n                    parentConfig = locales[config.parentLocale]._config;\n                } else {\n                    locale = loadLocale(config.parentLocale);\n                    if (locale != null) {\n                        parentConfig = locale._config;\n                    } else {\n                        if (!localeFamilies[config.parentLocale]) {\n                            localeFamilies[config.parentLocale] = [];\n                        }\n                        localeFamilies[config.parentLocale].push({\n                            name: name,\n                            config: config\n                        });\n                        return null;\n                    }\n                }\n            }\n            locales[name] = new Locale(mergeConfigs(parentConfig, config));\n\n            if (localeFamilies[name]) {\n                localeFamilies[name].forEach(function (x) {\n                    defineLocale(x.name, x.config);\n                });\n            }\n\n            // backwards compat for now: also set the locale\n            // make sure we set the locale AFTER all child locales have been\n            // created, so we won't end up with the child locale set.\n            getSetGlobalLocale(name);\n\n\n            return locales[name];\n        } else {\n            // useful for testing\n            delete locales[name];\n            return null;\n        }\n    }\n\n    function updateLocale(name, config) {\n        if (config != null) {\n            var locale, tmpLocale, parentConfig = baseConfig;\n            // MERGE\n            tmpLocale = loadLocale(name);\n            if (tmpLocale != null) {\n                parentConfig = tmpLocale._config;\n            }\n            config = mergeConfigs(parentConfig, config);\n            locale = new Locale(config);\n            locale.parentLocale = locales[name];\n            locales[name] = locale;\n\n            // backwards compat for now: also set the locale\n            getSetGlobalLocale(name);\n        } else {\n            // pass null for config to unupdate, useful for tests\n            if (locales[name] != null) {\n                if (locales[name].parentLocale != null) {\n                    locales[name] = locales[name].parentLocale;\n                } else if (locales[name] != null) {\n                    delete locales[name];\n                }\n            }\n        }\n        return locales[name];\n    }\n\n    // returns locale data\n    function getLocale (key) {\n        var locale;\n\n        if (key && key._locale && key._locale._abbr) {\n            key = key._locale._abbr;\n        }\n\n        if (!key) {\n            return globalLocale;\n        }\n\n        if (!isArray(key)) {\n            //short-circuit everything else\n            locale = loadLocale(key);\n            if (locale) {\n                return locale;\n            }\n            key = [key];\n        }\n\n        return chooseLocale(key);\n    }\n\n    function listLocales() {\n        return keys(locales);\n    }\n\n    function checkOverflow (m) {\n        var overflow;\n        var a = m._a;\n\n        if (a && getParsingFlags(m).overflow === -2) {\n            overflow =\n                a[MONTH]       < 0 || a[MONTH]       > 11  ? MONTH :\n                a[DATE]        < 1 || a[DATE]        > daysInMonth(a[YEAR], a[MONTH]) ? DATE :\n                a[HOUR]        < 0 || a[HOUR]        > 24 || (a[HOUR] === 24 && (a[MINUTE] !== 0 || a[SECOND] !== 0 || a[MILLISECOND] !== 0)) ? HOUR :\n                a[MINUTE]      < 0 || a[MINUTE]      > 59  ? MINUTE :\n                a[SECOND]      < 0 || a[SECOND]      > 59  ? SECOND :\n                a[MILLISECOND] < 0 || a[MILLISECOND] > 999 ? MILLISECOND :\n                -1;\n\n            if (getParsingFlags(m)._overflowDayOfYear && (overflow < YEAR || overflow > DATE)) {\n                overflow = DATE;\n            }\n            if (getParsingFlags(m)._overflowWeeks && overflow === -1) {\n                overflow = WEEK;\n            }\n            if (getParsingFlags(m)._overflowWeekday && overflow === -1) {\n                overflow = WEEKDAY;\n            }\n\n            getParsingFlags(m).overflow = overflow;\n        }\n\n        return m;\n    }\n\n    // Pick the first defined of two or three arguments.\n    function defaults(a, b, c) {\n        if (a != null) {\n            return a;\n        }\n        if (b != null) {\n            return b;\n        }\n        return c;\n    }\n\n    function currentDateArray(config) {\n        // hooks is actually the exported moment object\n        var nowValue = new Date(hooks.now());\n        if (config._useUTC) {\n            return [nowValue.getUTCFullYear(), nowValue.getUTCMonth(), nowValue.getUTCDate()];\n        }\n        return [nowValue.getFullYear(), nowValue.getMonth(), nowValue.getDate()];\n    }\n\n    // convert an array to a date.\n    // the array should mirror the parameters below\n    // note: all values past the year are optional and will default to the lowest possible value.\n    // [year, month, day , hour, minute, second, millisecond]\n    function configFromArray (config) {\n        var i, date, input = [], currentDate, expectedWeekday, yearToUse;\n\n        if (config._d) {\n            return;\n        }\n\n        currentDate = currentDateArray(config);\n\n        //compute day of the year from weeks and weekdays\n        if (config._w && config._a[DATE] == null && config._a[MONTH] == null) {\n            dayOfYearFromWeekInfo(config);\n        }\n\n        //if the day of the year is set, figure out what it is\n        if (config._dayOfYear != null) {\n            yearToUse = defaults(config._a[YEAR], currentDate[YEAR]);\n\n            if (config._dayOfYear > daysInYear(yearToUse) || config._dayOfYear === 0) {\n                getParsingFlags(config)._overflowDayOfYear = true;\n            }\n\n            date = createUTCDate(yearToUse, 0, config._dayOfYear);\n            config._a[MONTH] = date.getUTCMonth();\n            config._a[DATE] = date.getUTCDate();\n        }\n\n        // Default to current date.\n        // * if no year, month, day of month are given, default to today\n        // * if day of month is given, default month and year\n        // * if month is given, default only year\n        // * if year is given, don't default anything\n        for (i = 0; i < 3 && config._a[i] == null; ++i) {\n            config._a[i] = input[i] = currentDate[i];\n        }\n\n        // Zero out whatever was not defaulted, including time\n        for (; i < 7; i++) {\n            config._a[i] = input[i] = (config._a[i] == null) ? (i === 2 ? 1 : 0) : config._a[i];\n        }\n\n        // Check for 24:00:00.000\n        if (config._a[HOUR] === 24 &&\n                config._a[MINUTE] === 0 &&\n                config._a[SECOND] === 0 &&\n                config._a[MILLISECOND] === 0) {\n            config._nextDay = true;\n            config._a[HOUR] = 0;\n        }\n\n        config._d = (config._useUTC ? createUTCDate : createDate).apply(null, input);\n        expectedWeekday = config._useUTC ? config._d.getUTCDay() : config._d.getDay();\n\n        // Apply timezone offset from input. The actual utcOffset can be changed\n        // with parseZone.\n        if (config._tzm != null) {\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n        }\n\n        if (config._nextDay) {\n            config._a[HOUR] = 24;\n        }\n\n        // check for mismatching day of week\n        if (config._w && typeof config._w.d !== 'undefined' && config._w.d !== expectedWeekday) {\n            getParsingFlags(config).weekdayMismatch = true;\n        }\n    }\n\n    function dayOfYearFromWeekInfo(config) {\n        var w, weekYear, week, weekday, dow, doy, temp, weekdayOverflow;\n\n        w = config._w;\n        if (w.GG != null || w.W != null || w.E != null) {\n            dow = 1;\n            doy = 4;\n\n            // TODO: We need to take the current isoWeekYear, but that depends on\n            // how we interpret now (local, utc, fixed offset). So create\n            // a now version of current config (take local/utc/offset flags, and\n            // create now).\n            weekYear = defaults(w.GG, config._a[YEAR], weekOfYear(createLocal(), 1, 4).year);\n            week = defaults(w.W, 1);\n            weekday = defaults(w.E, 1);\n            if (weekday < 1 || weekday > 7) {\n                weekdayOverflow = true;\n            }\n        } else {\n            dow = config._locale._week.dow;\n            doy = config._locale._week.doy;\n\n            var curWeek = weekOfYear(createLocal(), dow, doy);\n\n            weekYear = defaults(w.gg, config._a[YEAR], curWeek.year);\n\n            // Default to current week.\n            week = defaults(w.w, curWeek.week);\n\n            if (w.d != null) {\n                // weekday -- low day numbers are considered next week\n                weekday = w.d;\n                if (weekday < 0 || weekday > 6) {\n                    weekdayOverflow = true;\n                }\n            } else if (w.e != null) {\n                // local weekday -- counting starts from beginning of week\n                weekday = w.e + dow;\n                if (w.e < 0 || w.e > 6) {\n                    weekdayOverflow = true;\n                }\n            } else {\n                // default to beginning of week\n                weekday = dow;\n            }\n        }\n        if (week < 1 || week > weeksInYear(weekYear, dow, doy)) {\n            getParsingFlags(config)._overflowWeeks = true;\n        } else if (weekdayOverflow != null) {\n            getParsingFlags(config)._overflowWeekday = true;\n        } else {\n            temp = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy);\n            config._a[YEAR] = temp.year;\n            config._dayOfYear = temp.dayOfYear;\n        }\n    }\n\n    // iso 8601 regex\n    // 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)\n    var extendedIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})-(?:\\d\\d-\\d\\d|W\\d\\d-\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?::\\d\\d(?::\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n    var basicIsoRegex = /^\\s*((?:[+-]\\d{6}|\\d{4})(?:\\d\\d\\d\\d|W\\d\\d\\d|W\\d\\d|\\d\\d\\d|\\d\\d))(?:(T| )(\\d\\d(?:\\d\\d(?:\\d\\d(?:[.,]\\d+)?)?)?)([\\+\\-]\\d\\d(?::?\\d\\d)?|\\s*Z)?)?$/;\n\n    var tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\n    var isoDates = [\n        ['YYYYYY-MM-DD', /[+-]\\d{6}-\\d\\d-\\d\\d/],\n        ['YYYY-MM-DD', /\\d{4}-\\d\\d-\\d\\d/],\n        ['GGGG-[W]WW-E', /\\d{4}-W\\d\\d-\\d/],\n        ['GGGG-[W]WW', /\\d{4}-W\\d\\d/, false],\n        ['YYYY-DDD', /\\d{4}-\\d{3}/],\n        ['YYYY-MM', /\\d{4}-\\d\\d/, false],\n        ['YYYYYYMMDD', /[+-]\\d{10}/],\n        ['YYYYMMDD', /\\d{8}/],\n        // YYYYMM is NOT allowed by the standard\n        ['GGGG[W]WWE', /\\d{4}W\\d{3}/],\n        ['GGGG[W]WW', /\\d{4}W\\d{2}/, false],\n        ['YYYYDDD', /\\d{7}/]\n    ];\n\n    // iso time formats and regexes\n    var isoTimes = [\n        ['HH:mm:ss.SSSS', /\\d\\d:\\d\\d:\\d\\d\\.\\d+/],\n        ['HH:mm:ss,SSSS', /\\d\\d:\\d\\d:\\d\\d,\\d+/],\n        ['HH:mm:ss', /\\d\\d:\\d\\d:\\d\\d/],\n        ['HH:mm', /\\d\\d:\\d\\d/],\n        ['HHmmss.SSSS', /\\d\\d\\d\\d\\d\\d\\.\\d+/],\n        ['HHmmss,SSSS', /\\d\\d\\d\\d\\d\\d,\\d+/],\n        ['HHmmss', /\\d\\d\\d\\d\\d\\d/],\n        ['HHmm', /\\d\\d\\d\\d/],\n        ['HH', /\\d\\d/]\n    ];\n\n    var aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n    // date from iso format\n    function configFromISO(config) {\n        var i, l,\n            string = config._i,\n            match = extendedIsoRegex.exec(string) || basicIsoRegex.exec(string),\n            allowTime, dateFormat, timeFormat, tzFormat;\n\n        if (match) {\n            getParsingFlags(config).iso = true;\n\n            for (i = 0, l = isoDates.length; i < l; i++) {\n                if (isoDates[i][1].exec(match[1])) {\n                    dateFormat = isoDates[i][0];\n                    allowTime = isoDates[i][2] !== false;\n                    break;\n                }\n            }\n            if (dateFormat == null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[3]) {\n                for (i = 0, l = isoTimes.length; i < l; i++) {\n                    if (isoTimes[i][1].exec(match[3])) {\n                        // match[2] should be 'T' or space\n                        timeFormat = (match[2] || ' ') + isoTimes[i][0];\n                        break;\n                    }\n                }\n                if (timeFormat == null) {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            if (!allowTime && timeFormat != null) {\n                config._isValid = false;\n                return;\n            }\n            if (match[4]) {\n                if (tzRegex.exec(match[4])) {\n                    tzFormat = 'Z';\n                } else {\n                    config._isValid = false;\n                    return;\n                }\n            }\n            config._f = dateFormat + (timeFormat || '') + (tzFormat || '');\n            configFromStringAndFormat(config);\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    // RFC 2822 regex: For details see https://tools.ietf.org/html/rfc2822#section-3.3\n    var rfc2822 = /^(?:(Mon|Tue|Wed|Thu|Fri|Sat|Sun),?\\s)?(\\d{1,2})\\s(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\\s(\\d{2,4})\\s(\\d\\d):(\\d\\d)(?::(\\d\\d))?\\s(?:(UT|GMT|[ECMP][SD]T)|([Zz])|([+-]\\d{4}))$/;\n\n    function extractFromRFC2822Strings(yearStr, monthStr, dayStr, hourStr, minuteStr, secondStr) {\n        var result = [\n            untruncateYear(yearStr),\n            defaultLocaleMonthsShort.indexOf(monthStr),\n            parseInt(dayStr, 10),\n            parseInt(hourStr, 10),\n            parseInt(minuteStr, 10)\n        ];\n\n        if (secondStr) {\n            result.push(parseInt(secondStr, 10));\n        }\n\n        return result;\n    }\n\n    function untruncateYear(yearStr) {\n        var year = parseInt(yearStr, 10);\n        if (year <= 49) {\n            return 2000 + year;\n        } else if (year <= 999) {\n            return 1900 + year;\n        }\n        return year;\n    }\n\n    function preprocessRFC2822(s) {\n        // Remove comments and folding whitespace and replace multiple-spaces with a single space\n        return s.replace(/\\([^)]*\\)|[\\n\\t]/g, ' ').replace(/(\\s\\s+)/g, ' ').replace(/^\\s\\s*/, '').replace(/\\s\\s*$/, '');\n    }\n\n    function checkWeekday(weekdayStr, parsedInput, config) {\n        if (weekdayStr) {\n            // TODO: Replace the vanilla JS Date object with an indepentent day-of-week check.\n            var weekdayProvided = defaultLocaleWeekdaysShort.indexOf(weekdayStr),\n                weekdayActual = new Date(parsedInput[0], parsedInput[1], parsedInput[2]).getDay();\n            if (weekdayProvided !== weekdayActual) {\n                getParsingFlags(config).weekdayMismatch = true;\n                config._isValid = false;\n                return false;\n            }\n        }\n        return true;\n    }\n\n    var obsOffsets = {\n        UT: 0,\n        GMT: 0,\n        EDT: -4 * 60,\n        EST: -5 * 60,\n        CDT: -5 * 60,\n        CST: -6 * 60,\n        MDT: -6 * 60,\n        MST: -7 * 60,\n        PDT: -7 * 60,\n        PST: -8 * 60\n    };\n\n    function calculateOffset(obsOffset, militaryOffset, numOffset) {\n        if (obsOffset) {\n            return obsOffsets[obsOffset];\n        } else if (militaryOffset) {\n            // the only allowed military tz is Z\n            return 0;\n        } else {\n            var hm = parseInt(numOffset, 10);\n            var m = hm % 100, h = (hm - m) / 100;\n            return h * 60 + m;\n        }\n    }\n\n    // date and time from ref 2822 format\n    function configFromRFC2822(config) {\n        var match = rfc2822.exec(preprocessRFC2822(config._i));\n        if (match) {\n            var parsedArray = extractFromRFC2822Strings(match[4], match[3], match[2], match[5], match[6], match[7]);\n            if (!checkWeekday(match[1], parsedArray, config)) {\n                return;\n            }\n\n            config._a = parsedArray;\n            config._tzm = calculateOffset(match[8], match[9], match[10]);\n\n            config._d = createUTCDate.apply(null, config._a);\n            config._d.setUTCMinutes(config._d.getUTCMinutes() - config._tzm);\n\n            getParsingFlags(config).rfc2822 = true;\n        } else {\n            config._isValid = false;\n        }\n    }\n\n    // date from iso format or fallback\n    function configFromString(config) {\n        var matched = aspNetJsonRegex.exec(config._i);\n\n        if (matched !== null) {\n            config._d = new Date(+matched[1]);\n            return;\n        }\n\n        configFromISO(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        configFromRFC2822(config);\n        if (config._isValid === false) {\n            delete config._isValid;\n        } else {\n            return;\n        }\n\n        // Final attempt, use Input Fallback\n        hooks.createFromInputFallback(config);\n    }\n\n    hooks.createFromInputFallback = deprecate(\n        'value provided is not in a recognized RFC2822 or ISO format. moment construction falls back to js Date(), ' +\n        'which is not reliable across all browsers and versions. Non RFC2822/ISO date formats are ' +\n        'discouraged and will be removed in an upcoming major release. Please refer to ' +\n        'http://momentjs.com/guides/#/warnings/js-date/ for more info.',\n        function (config) {\n            config._d = new Date(config._i + (config._useUTC ? ' UTC' : ''));\n        }\n    );\n\n    // constant that refers to the ISO standard\n    hooks.ISO_8601 = function () {};\n\n    // constant that refers to the RFC 2822 form\n    hooks.RFC_2822 = function () {};\n\n    // date from string and format string\n    function configFromStringAndFormat(config) {\n        // TODO: Move this to another part of the creation flow to prevent circular deps\n        if (config._f === hooks.ISO_8601) {\n            configFromISO(config);\n            return;\n        }\n        if (config._f === hooks.RFC_2822) {\n            configFromRFC2822(config);\n            return;\n        }\n        config._a = [];\n        getParsingFlags(config).empty = true;\n\n        // This array is used to make a Date, either with `new Date` or `Date.UTC`\n        var string = '' + config._i,\n            i, parsedInput, tokens, token, skipped,\n            stringLength = string.length,\n            totalParsedInputLength = 0;\n\n        tokens = expandFormat(config._f, config._locale).match(formattingTokens) || [];\n\n        for (i = 0; i < tokens.length; i++) {\n            token = tokens[i];\n            parsedInput = (string.match(getParseRegexForToken(token, config)) || [])[0];\n            // console.log('token', token, 'parsedInput', parsedInput,\n            //         'regex', getParseRegexForToken(token, config));\n            if (parsedInput) {\n                skipped = string.substr(0, string.indexOf(parsedInput));\n                if (skipped.length > 0) {\n                    getParsingFlags(config).unusedInput.push(skipped);\n                }\n                string = string.slice(string.indexOf(parsedInput) + parsedInput.length);\n                totalParsedInputLength += parsedInput.length;\n            }\n            // don't parse if it's not a known token\n            if (formatTokenFunctions[token]) {\n                if (parsedInput) {\n                    getParsingFlags(config).empty = false;\n                }\n                else {\n                    getParsingFlags(config).unusedTokens.push(token);\n                }\n                addTimeToArrayFromToken(token, parsedInput, config);\n            }\n            else if (config._strict && !parsedInput) {\n                getParsingFlags(config).unusedTokens.push(token);\n            }\n        }\n\n        // add remaining unparsed input length to the string\n        getParsingFlags(config).charsLeftOver = stringLength - totalParsedInputLength;\n        if (string.length > 0) {\n            getParsingFlags(config).unusedInput.push(string);\n        }\n\n        // clear _12h flag if hour is <= 12\n        if (config._a[HOUR] <= 12 &&\n            getParsingFlags(config).bigHour === true &&\n            config._a[HOUR] > 0) {\n            getParsingFlags(config).bigHour = undefined;\n        }\n\n        getParsingFlags(config).parsedDateParts = config._a.slice(0);\n        getParsingFlags(config).meridiem = config._meridiem;\n        // handle meridiem\n        config._a[HOUR] = meridiemFixWrap(config._locale, config._a[HOUR], config._meridiem);\n\n        configFromArray(config);\n        checkOverflow(config);\n    }\n\n\n    function meridiemFixWrap (locale, hour, meridiem) {\n        var isPm;\n\n        if (meridiem == null) {\n            // nothing to do\n            return hour;\n        }\n        if (locale.meridiemHour != null) {\n            return locale.meridiemHour(hour, meridiem);\n        } else if (locale.isPM != null) {\n            // Fallback\n            isPm = locale.isPM(meridiem);\n            if (isPm && hour < 12) {\n                hour += 12;\n            }\n            if (!isPm && hour === 12) {\n                hour = 0;\n            }\n            return hour;\n        } else {\n            // this is not supposed to happen\n            return hour;\n        }\n    }\n\n    // date from string and array of format strings\n    function configFromStringAndArray(config) {\n        var tempConfig,\n            bestMoment,\n\n            scoreToBeat,\n            i,\n            currentScore;\n\n        if (config._f.length === 0) {\n            getParsingFlags(config).invalidFormat = true;\n            config._d = new Date(NaN);\n            return;\n        }\n\n        for (i = 0; i < config._f.length; i++) {\n            currentScore = 0;\n            tempConfig = copyConfig({}, config);\n            if (config._useUTC != null) {\n                tempConfig._useUTC = config._useUTC;\n            }\n            tempConfig._f = config._f[i];\n            configFromStringAndFormat(tempConfig);\n\n            if (!isValid(tempConfig)) {\n                continue;\n            }\n\n            // if there is any input that was not parsed add a penalty for that format\n            currentScore += getParsingFlags(tempConfig).charsLeftOver;\n\n            //or tokens\n            currentScore += getParsingFlags(tempConfig).unusedTokens.length * 10;\n\n            getParsingFlags(tempConfig).score = currentScore;\n\n            if (scoreToBeat == null || currentScore < scoreToBeat) {\n                scoreToBeat = currentScore;\n                bestMoment = tempConfig;\n            }\n        }\n\n        extend(config, bestMoment || tempConfig);\n    }\n\n    function configFromObject(config) {\n        if (config._d) {\n            return;\n        }\n\n        var i = normalizeObjectUnits(config._i);\n        config._a = map([i.year, i.month, i.day || i.date, i.hour, i.minute, i.second, i.millisecond], function (obj) {\n            return obj && parseInt(obj, 10);\n        });\n\n        configFromArray(config);\n    }\n\n    function createFromConfig (config) {\n        var res = new Moment(checkOverflow(prepareConfig(config)));\n        if (res._nextDay) {\n            // Adding is smart enough around DST\n            res.add(1, 'd');\n            res._nextDay = undefined;\n        }\n\n        return res;\n    }\n\n    function prepareConfig (config) {\n        var input = config._i,\n            format = config._f;\n\n        config._locale = config._locale || getLocale(config._l);\n\n        if (input === null || (format === undefined && input === '')) {\n            return createInvalid({nullInput: true});\n        }\n\n        if (typeof input === 'string') {\n            config._i = input = config._locale.preparse(input);\n        }\n\n        if (isMoment(input)) {\n            return new Moment(checkOverflow(input));\n        } else if (isDate(input)) {\n            config._d = input;\n        } else if (isArray(format)) {\n            configFromStringAndArray(config);\n        } else if (format) {\n            configFromStringAndFormat(config);\n        }  else {\n            configFromInput(config);\n        }\n\n        if (!isValid(config)) {\n            config._d = null;\n        }\n\n        return config;\n    }\n\n    function configFromInput(config) {\n        var input = config._i;\n        if (isUndefined(input)) {\n            config._d = new Date(hooks.now());\n        } else if (isDate(input)) {\n            config._d = new Date(input.valueOf());\n        } else if (typeof input === 'string') {\n            configFromString(config);\n        } else if (isArray(input)) {\n            config._a = map(input.slice(0), function (obj) {\n                return parseInt(obj, 10);\n            });\n            configFromArray(config);\n        } else if (isObject(input)) {\n            configFromObject(config);\n        } else if (isNumber(input)) {\n            // from milliseconds\n            config._d = new Date(input);\n        } else {\n            hooks.createFromInputFallback(config);\n        }\n    }\n\n    function createLocalOrUTC (input, format, locale, strict, isUTC) {\n        var c = {};\n\n        if (locale === true || locale === false) {\n            strict = locale;\n            locale = undefined;\n        }\n\n        if ((isObject(input) && isObjectEmpty(input)) ||\n                (isArray(input) && input.length === 0)) {\n            input = undefined;\n        }\n        // object construction must be done this way.\n        // https://github.com/moment/moment/issues/1423\n        c._isAMomentObject = true;\n        c._useUTC = c._isUTC = isUTC;\n        c._l = locale;\n        c._i = input;\n        c._f = format;\n        c._strict = strict;\n\n        return createFromConfig(c);\n    }\n\n    function createLocal (input, format, locale, strict) {\n        return createLocalOrUTC(input, format, locale, strict, false);\n    }\n\n    var prototypeMin = deprecate(\n        'moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/',\n        function () {\n            var other = createLocal.apply(null, arguments);\n            if (this.isValid() && other.isValid()) {\n                return other < this ? this : other;\n            } else {\n                return createInvalid();\n            }\n        }\n    );\n\n    var prototypeMax = deprecate(\n        'moment().max is deprecated, use moment.min instead. http://momentjs.com/guides/#/warnings/min-max/',\n        function () {\n            var other = createLocal.apply(null, arguments);\n            if (this.isValid() && other.isValid()) {\n                return other > this ? this : other;\n            } else {\n                return createInvalid();\n            }\n        }\n    );\n\n    // Pick a moment m from moments so that m[fn](other) is true for all\n    // other. This relies on the function fn to be transitive.\n    //\n    // moments should either be an array of moment objects or an array, whose\n    // first element is an array of moment objects.\n    function pickBy(fn, moments) {\n        var res, i;\n        if (moments.length === 1 && isArray(moments[0])) {\n            moments = moments[0];\n        }\n        if (!moments.length) {\n            return createLocal();\n        }\n        res = moments[0];\n        for (i = 1; i < moments.length; ++i) {\n            if (!moments[i].isValid() || moments[i][fn](res)) {\n                res = moments[i];\n            }\n        }\n        return res;\n    }\n\n    // TODO: Use [].sort instead?\n    function min () {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isBefore', args);\n    }\n\n    function max () {\n        var args = [].slice.call(arguments, 0);\n\n        return pickBy('isAfter', args);\n    }\n\n    var now = function () {\n        return Date.now ? Date.now() : +(new Date());\n    };\n\n    var ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\n    function isDurationValid(m) {\n        for (var key in m) {\n            if (!(indexOf.call(ordering, key) !== -1 && (m[key] == null || !isNaN(m[key])))) {\n                return false;\n            }\n        }\n\n        var unitHasDecimal = false;\n        for (var i = 0; i < ordering.length; ++i) {\n            if (m[ordering[i]]) {\n                if (unitHasDecimal) {\n                    return false; // only allow non-integers for smallest unit\n                }\n                if (parseFloat(m[ordering[i]]) !== toInt(m[ordering[i]])) {\n                    unitHasDecimal = true;\n                }\n            }\n        }\n\n        return true;\n    }\n\n    function isValid$1() {\n        return this._isValid;\n    }\n\n    function createInvalid$1() {\n        return createDuration(NaN);\n    }\n\n    function Duration (duration) {\n        var normalizedInput = normalizeObjectUnits(duration),\n            years = normalizedInput.year || 0,\n            quarters = normalizedInput.quarter || 0,\n            months = normalizedInput.month || 0,\n            weeks = normalizedInput.week || normalizedInput.isoWeek || 0,\n            days = normalizedInput.day || 0,\n            hours = normalizedInput.hour || 0,\n            minutes = normalizedInput.minute || 0,\n            seconds = normalizedInput.second || 0,\n            milliseconds = normalizedInput.millisecond || 0;\n\n        this._isValid = isDurationValid(normalizedInput);\n\n        // representation for dateAddRemove\n        this._milliseconds = +milliseconds +\n            seconds * 1e3 + // 1000\n            minutes * 6e4 + // 1000 * 60\n            hours * 1000 * 60 * 60; //using 1000 * 60 * 60 instead of 36e5 to avoid floating point rounding errors https://github.com/moment/moment/issues/2978\n        // Because of dateAddRemove treats 24 hours as different from a\n        // day when working around DST, we need to store them separately\n        this._days = +days +\n            weeks * 7;\n        // It is impossible to translate months into days without knowing\n        // which months you are are talking about, so we have to store\n        // it separately.\n        this._months = +months +\n            quarters * 3 +\n            years * 12;\n\n        this._data = {};\n\n        this._locale = getLocale();\n\n        this._bubble();\n    }\n\n    function isDuration (obj) {\n        return obj instanceof Duration;\n    }\n\n    function absRound (number) {\n        if (number < 0) {\n            return Math.round(-1 * number) * -1;\n        } else {\n            return Math.round(number);\n        }\n    }\n\n    // FORMATTING\n\n    function offset (token, separator) {\n        addFormatToken(token, 0, 0, function () {\n            var offset = this.utcOffset();\n            var sign = '+';\n            if (offset < 0) {\n                offset = -offset;\n                sign = '-';\n            }\n            return sign + zeroFill(~~(offset / 60), 2) + separator + zeroFill(~~(offset) % 60, 2);\n        });\n    }\n\n    offset('Z', ':');\n    offset('ZZ', '');\n\n    // PARSING\n\n    addRegexToken('Z',  matchShortOffset);\n    addRegexToken('ZZ', matchShortOffset);\n    addParseToken(['Z', 'ZZ'], function (input, array, config) {\n        config._useUTC = true;\n        config._tzm = offsetFromString(matchShortOffset, input);\n    });\n\n    // HELPERS\n\n    // timezone chunker\n    // '+10:00' > ['10',  '00']\n    // '-1530'  > ['-15', '30']\n    var chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\n    function offsetFromString(matcher, string) {\n        var matches = (string || '').match(matcher);\n\n        if (matches === null) {\n            return null;\n        }\n\n        var chunk   = matches[matches.length - 1] || [];\n        var parts   = (chunk + '').match(chunkOffset) || ['-', 0, 0];\n        var minutes = +(parts[1] * 60) + toInt(parts[2]);\n\n        return minutes === 0 ?\n          0 :\n          parts[0] === '+' ? minutes : -minutes;\n    }\n\n    // Return a moment from input, that is local/utc/zone equivalent to model.\n    function cloneWithOffset(input, model) {\n        var res, diff;\n        if (model._isUTC) {\n            res = model.clone();\n            diff = (isMoment(input) || isDate(input) ? input.valueOf() : createLocal(input).valueOf()) - res.valueOf();\n            // Use low-level api, because this fn is low-level api.\n            res._d.setTime(res._d.valueOf() + diff);\n            hooks.updateOffset(res, false);\n            return res;\n        } else {\n            return createLocal(input).local();\n        }\n    }\n\n    function getDateOffset (m) {\n        // On Firefox.24 Date#getTimezoneOffset returns a floating point.\n        // https://github.com/moment/moment/pull/1871\n        return -Math.round(m._d.getTimezoneOffset() / 15) * 15;\n    }\n\n    // HOOKS\n\n    // This function will be called whenever a moment is mutated.\n    // It is intended to keep the offset in sync with the timezone.\n    hooks.updateOffset = function () {};\n\n    // MOMENTS\n\n    // keepLocalTime = true means only change the timezone, without\n    // affecting the local hour. So 5:31:26 +0300 --[utcOffset(2, true)]-->\n    // 5:31:26 +0200 It is possible that 5:31:26 doesn't exist with offset\n    // +0200, so we adjust the time as needed, to be valid.\n    //\n    // Keeping the time actually adds/subtracts (one hour)\n    // from the actual represented time. That is why we call updateOffset\n    // a second time. In case it wants us to change the offset again\n    // _changeInProgress == true case, then we have to adjust, because\n    // there is no such time in the given timezone.\n    function getSetOffset (input, keepLocalTime, keepMinutes) {\n        var offset = this._offset || 0,\n            localAdjust;\n        if (!this.isValid()) {\n            return input != null ? this : NaN;\n        }\n        if (input != null) {\n            if (typeof input === 'string') {\n                input = offsetFromString(matchShortOffset, input);\n                if (input === null) {\n                    return this;\n                }\n            } else if (Math.abs(input) < 16 && !keepMinutes) {\n                input = input * 60;\n            }\n            if (!this._isUTC && keepLocalTime) {\n                localAdjust = getDateOffset(this);\n            }\n            this._offset = input;\n            this._isUTC = true;\n            if (localAdjust != null) {\n                this.add(localAdjust, 'm');\n            }\n            if (offset !== input) {\n                if (!keepLocalTime || this._changeInProgress) {\n                    addSubtract(this, createDuration(input - offset, 'm'), 1, false);\n                } else if (!this._changeInProgress) {\n                    this._changeInProgress = true;\n                    hooks.updateOffset(this, true);\n                    this._changeInProgress = null;\n                }\n            }\n            return this;\n        } else {\n            return this._isUTC ? offset : getDateOffset(this);\n        }\n    }\n\n    function getSetZone (input, keepLocalTime) {\n        if (input != null) {\n            if (typeof input !== 'string') {\n                input = -input;\n            }\n\n            this.utcOffset(input, keepLocalTime);\n\n            return this;\n        } else {\n            return -this.utcOffset();\n        }\n    }\n\n    function setOffsetToUTC (keepLocalTime) {\n        return this.utcOffset(0, keepLocalTime);\n    }\n\n    function setOffsetToLocal (keepLocalTime) {\n        if (this._isUTC) {\n            this.utcOffset(0, keepLocalTime);\n            this._isUTC = false;\n\n            if (keepLocalTime) {\n                this.subtract(getDateOffset(this), 'm');\n            }\n        }\n        return this;\n    }\n\n    function setOffsetToParsedOffset () {\n        if (this._tzm != null) {\n            this.utcOffset(this._tzm, false, true);\n        } else if (typeof this._i === 'string') {\n            var tZone = offsetFromString(matchOffset, this._i);\n            if (tZone != null) {\n                this.utcOffset(tZone);\n            }\n            else {\n                this.utcOffset(0, true);\n            }\n        }\n        return this;\n    }\n\n    function hasAlignedHourOffset (input) {\n        if (!this.isValid()) {\n            return false;\n        }\n        input = input ? createLocal(input).utcOffset() : 0;\n\n        return (this.utcOffset() - input) % 60 === 0;\n    }\n\n    function isDaylightSavingTime () {\n        return (\n            this.utcOffset() > this.clone().month(0).utcOffset() ||\n            this.utcOffset() > this.clone().month(5).utcOffset()\n        );\n    }\n\n    function isDaylightSavingTimeShifted () {\n        if (!isUndefined(this._isDSTShifted)) {\n            return this._isDSTShifted;\n        }\n\n        var c = {};\n\n        copyConfig(c, this);\n        c = prepareConfig(c);\n\n        if (c._a) {\n            var other = c._isUTC ? createUTC(c._a) : createLocal(c._a);\n            this._isDSTShifted = this.isValid() &&\n                compareArrays(c._a, other.toArray()) > 0;\n        } else {\n            this._isDSTShifted = false;\n        }\n\n        return this._isDSTShifted;\n    }\n\n    function isLocal () {\n        return this.isValid() ? !this._isUTC : false;\n    }\n\n    function isUtcOffset () {\n        return this.isValid() ? this._isUTC : false;\n    }\n\n    function isUtc () {\n        return this.isValid() ? this._isUTC && this._offset === 0 : false;\n    }\n\n    // ASP.NET json date format regex\n    var aspNetRegex = /^(\\-|\\+)?(?:(\\d*)[. ])?(\\d+)\\:(\\d+)(?:\\:(\\d+)(\\.\\d*)?)?$/;\n\n    // from http://docs.closure-library.googlecode.com/git/closure_goog_date_date.js.source.html\n    // somewhat more in line with 4.4.3.2 2004 spec, but allows decimal anywhere\n    // and further modified to allow for strings containing both week and day\n    var isoRegex = /^(-|\\+)?P(?:([-+]?[0-9,.]*)Y)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)W)?(?:([-+]?[0-9,.]*)D)?(?:T(?:([-+]?[0-9,.]*)H)?(?:([-+]?[0-9,.]*)M)?(?:([-+]?[0-9,.]*)S)?)?$/;\n\n    function createDuration (input, key) {\n        var duration = input,\n            // matching against regexp is expensive, do it on demand\n            match = null,\n            sign,\n            ret,\n            diffRes;\n\n        if (isDuration(input)) {\n            duration = {\n                ms : input._milliseconds,\n                d  : input._days,\n                M  : input._months\n            };\n        } else if (isNumber(input)) {\n            duration = {};\n            if (key) {\n                duration[key] = input;\n            } else {\n                duration.milliseconds = input;\n            }\n        } else if (!!(match = aspNetRegex.exec(input))) {\n            sign = (match[1] === '-') ? -1 : 1;\n            duration = {\n                y  : 0,\n                d  : toInt(match[DATE])                         * sign,\n                h  : toInt(match[HOUR])                         * sign,\n                m  : toInt(match[MINUTE])                       * sign,\n                s  : toInt(match[SECOND])                       * sign,\n                ms : toInt(absRound(match[MILLISECOND] * 1000)) * sign // the millisecond decimal point is included in the match\n            };\n        } else if (!!(match = isoRegex.exec(input))) {\n            sign = (match[1] === '-') ? -1 : 1;\n            duration = {\n                y : parseIso(match[2], sign),\n                M : parseIso(match[3], sign),\n                w : parseIso(match[4], sign),\n                d : parseIso(match[5], sign),\n                h : parseIso(match[6], sign),\n                m : parseIso(match[7], sign),\n                s : parseIso(match[8], sign)\n            };\n        } else if (duration == null) {// checks for null or undefined\n            duration = {};\n        } else if (typeof duration === 'object' && ('from' in duration || 'to' in duration)) {\n            diffRes = momentsDifference(createLocal(duration.from), createLocal(duration.to));\n\n            duration = {};\n            duration.ms = diffRes.milliseconds;\n            duration.M = diffRes.months;\n        }\n\n        ret = new Duration(duration);\n\n        if (isDuration(input) && hasOwnProp(input, '_locale')) {\n            ret._locale = input._locale;\n        }\n\n        return ret;\n    }\n\n    createDuration.fn = Duration.prototype;\n    createDuration.invalid = createInvalid$1;\n\n    function parseIso (inp, sign) {\n        // We'd normally use ~~inp for this, but unfortunately it also\n        // converts floats to ints.\n        // inp may be undefined, so careful calling replace on it.\n        var res = inp && parseFloat(inp.replace(',', '.'));\n        // apply sign while we're at it\n        return (isNaN(res) ? 0 : res) * sign;\n    }\n\n    function positiveMomentsDifference(base, other) {\n        var res = {};\n\n        res.months = other.month() - base.month() +\n            (other.year() - base.year()) * 12;\n        if (base.clone().add(res.months, 'M').isAfter(other)) {\n            --res.months;\n        }\n\n        res.milliseconds = +other - +(base.clone().add(res.months, 'M'));\n\n        return res;\n    }\n\n    function momentsDifference(base, other) {\n        var res;\n        if (!(base.isValid() && other.isValid())) {\n            return {milliseconds: 0, months: 0};\n        }\n\n        other = cloneWithOffset(other, base);\n        if (base.isBefore(other)) {\n            res = positiveMomentsDifference(base, other);\n        } else {\n            res = positiveMomentsDifference(other, base);\n            res.milliseconds = -res.milliseconds;\n            res.months = -res.months;\n        }\n\n        return res;\n    }\n\n    // TODO: remove 'name' arg after deprecation is removed\n    function createAdder(direction, name) {\n        return function (val, period) {\n            var dur, tmp;\n            //invert the arguments, but complain about it\n            if (period !== null && !isNaN(+period)) {\n                deprecateSimple(name, 'moment().' + name  + '(period, number) is deprecated. Please use moment().' + name + '(number, period). ' +\n                'See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info.');\n                tmp = val; val = period; period = tmp;\n            }\n\n            val = typeof val === 'string' ? +val : val;\n            dur = createDuration(val, period);\n            addSubtract(this, dur, direction);\n            return this;\n        };\n    }\n\n    function addSubtract (mom, duration, isAdding, updateOffset) {\n        var milliseconds = duration._milliseconds,\n            days = absRound(duration._days),\n            months = absRound(duration._months);\n\n        if (!mom.isValid()) {\n            // No op\n            return;\n        }\n\n        updateOffset = updateOffset == null ? true : updateOffset;\n\n        if (months) {\n            setMonth(mom, get(mom, 'Month') + months * isAdding);\n        }\n        if (days) {\n            set$1(mom, 'Date', get(mom, 'Date') + days * isAdding);\n        }\n        if (milliseconds) {\n            mom._d.setTime(mom._d.valueOf() + milliseconds * isAdding);\n        }\n        if (updateOffset) {\n            hooks.updateOffset(mom, days || months);\n        }\n    }\n\n    var add      = createAdder(1, 'add');\n    var subtract = createAdder(-1, 'subtract');\n\n    function getCalendarFormat(myMoment, now) {\n        var diff = myMoment.diff(now, 'days', true);\n        return diff < -6 ? 'sameElse' :\n                diff < -1 ? 'lastWeek' :\n                diff < 0 ? 'lastDay' :\n                diff < 1 ? 'sameDay' :\n                diff < 2 ? 'nextDay' :\n                diff < 7 ? 'nextWeek' : 'sameElse';\n    }\n\n    function calendar$1 (time, formats) {\n        // We want to compare the start of today, vs this.\n        // Getting start-of-today depends on whether we're local/utc/offset or not.\n        var now = time || createLocal(),\n            sod = cloneWithOffset(now, this).startOf('day'),\n            format = hooks.calendarFormat(this, sod) || 'sameElse';\n\n        var output = formats && (isFunction(formats[format]) ? formats[format].call(this, now) : formats[format]);\n\n        return this.format(output || this.localeData().calendar(format, this, createLocal(now)));\n    }\n\n    function clone () {\n        return new Moment(this);\n    }\n\n    function isAfter (input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() > localInput.valueOf();\n        } else {\n            return localInput.valueOf() < this.clone().startOf(units).valueOf();\n        }\n    }\n\n    function isBefore (input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input);\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() < localInput.valueOf();\n        } else {\n            return this.clone().endOf(units).valueOf() < localInput.valueOf();\n        }\n    }\n\n    function isBetween (from, to, units, inclusivity) {\n        var localFrom = isMoment(from) ? from : createLocal(from),\n            localTo = isMoment(to) ? to : createLocal(to);\n        if (!(this.isValid() && localFrom.isValid() && localTo.isValid())) {\n            return false;\n        }\n        inclusivity = inclusivity || '()';\n        return (inclusivity[0] === '(' ? this.isAfter(localFrom, units) : !this.isBefore(localFrom, units)) &&\n            (inclusivity[1] === ')' ? this.isBefore(localTo, units) : !this.isAfter(localTo, units));\n    }\n\n    function isSame (input, units) {\n        var localInput = isMoment(input) ? input : createLocal(input),\n            inputMs;\n        if (!(this.isValid() && localInput.isValid())) {\n            return false;\n        }\n        units = normalizeUnits(units) || 'millisecond';\n        if (units === 'millisecond') {\n            return this.valueOf() === localInput.valueOf();\n        } else {\n            inputMs = localInput.valueOf();\n            return this.clone().startOf(units).valueOf() <= inputMs && inputMs <= this.clone().endOf(units).valueOf();\n        }\n    }\n\n    function isSameOrAfter (input, units) {\n        return this.isSame(input, units) || this.isAfter(input, units);\n    }\n\n    function isSameOrBefore (input, units) {\n        return this.isSame(input, units) || this.isBefore(input, units);\n    }\n\n    function diff (input, units, asFloat) {\n        var that,\n            zoneDelta,\n            output;\n\n        if (!this.isValid()) {\n            return NaN;\n        }\n\n        that = cloneWithOffset(input, this);\n\n        if (!that.isValid()) {\n            return NaN;\n        }\n\n        zoneDelta = (that.utcOffset() - this.utcOffset()) * 6e4;\n\n        units = normalizeUnits(units);\n\n        switch (units) {\n            case 'year': output = monthDiff(this, that) / 12; break;\n            case 'month': output = monthDiff(this, that); break;\n            case 'quarter': output = monthDiff(this, that) / 3; break;\n            case 'second': output = (this - that) / 1e3; break; // 1000\n            case 'minute': output = (this - that) / 6e4; break; // 1000 * 60\n            case 'hour': output = (this - that) / 36e5; break; // 1000 * 60 * 60\n            case 'day': output = (this - that - zoneDelta) / 864e5; break; // 1000 * 60 * 60 * 24, negate dst\n            case 'week': output = (this - that - zoneDelta) / 6048e5; break; // 1000 * 60 * 60 * 24 * 7, negate dst\n            default: output = this - that;\n        }\n\n        return asFloat ? output : absFloor(output);\n    }\n\n    function monthDiff (a, b) {\n        // difference in months\n        var wholeMonthDiff = ((b.year() - a.year()) * 12) + (b.month() - a.month()),\n            // b is in (anchor - 1 month, anchor + 1 month)\n            anchor = a.clone().add(wholeMonthDiff, 'months'),\n            anchor2, adjust;\n\n        if (b - anchor < 0) {\n            anchor2 = a.clone().add(wholeMonthDiff - 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor - anchor2);\n        } else {\n            anchor2 = a.clone().add(wholeMonthDiff + 1, 'months');\n            // linear across the month\n            adjust = (b - anchor) / (anchor2 - anchor);\n        }\n\n        //check for negative zero, return zero if negative zero\n        return -(wholeMonthDiff + adjust) || 0;\n    }\n\n    hooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\n    hooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\n    function toString () {\n        return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n    }\n\n    function toISOString(keepOffset) {\n        if (!this.isValid()) {\n            return null;\n        }\n        var utc = keepOffset !== true;\n        var m = utc ? this.clone().utc() : this;\n        if (m.year() < 0 || m.year() > 9999) {\n            return formatMoment(m, utc ? 'YYYYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYYYY-MM-DD[T]HH:mm:ss.SSSZ');\n        }\n        if (isFunction(Date.prototype.toISOString)) {\n            // native implementation is ~50x faster, use it when we can\n            if (utc) {\n                return this.toDate().toISOString();\n            } else {\n                return new Date(this.valueOf() + this.utcOffset() * 60 * 1000).toISOString().replace('Z', formatMoment(m, 'Z'));\n            }\n        }\n        return formatMoment(m, utc ? 'YYYY-MM-DD[T]HH:mm:ss.SSS[Z]' : 'YYYY-MM-DD[T]HH:mm:ss.SSSZ');\n    }\n\n    /**\n     * Return a human readable representation of a moment that can\n     * also be evaluated to get a new moment which is the same\n     *\n     * @link https://nodejs.org/dist/latest/docs/api/util.html#util_custom_inspect_function_on_objects\n     */\n    function inspect () {\n        if (!this.isValid()) {\n            return 'moment.invalid(/* ' + this._i + ' */)';\n        }\n        var func = 'moment';\n        var zone = '';\n        if (!this.isLocal()) {\n            func = this.utcOffset() === 0 ? 'moment.utc' : 'moment.parseZone';\n            zone = 'Z';\n        }\n        var prefix = '[' + func + '(\"]';\n        var year = (0 <= this.year() && this.year() <= 9999) ? 'YYYY' : 'YYYYYY';\n        var datetime = '-MM-DD[T]HH:mm:ss.SSS';\n        var suffix = zone + '[\")]';\n\n        return this.format(prefix + year + datetime + suffix);\n    }\n\n    function format (inputString) {\n        if (!inputString) {\n            inputString = this.isUtc() ? hooks.defaultFormatUtc : hooks.defaultFormat;\n        }\n        var output = formatMoment(this, inputString);\n        return this.localeData().postformat(output);\n    }\n\n    function from (time, withoutSuffix) {\n        if (this.isValid() &&\n                ((isMoment(time) && time.isValid()) ||\n                 createLocal(time).isValid())) {\n            return createDuration({to: this, from: time}).locale(this.locale()).humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function fromNow (withoutSuffix) {\n        return this.from(createLocal(), withoutSuffix);\n    }\n\n    function to (time, withoutSuffix) {\n        if (this.isValid() &&\n                ((isMoment(time) && time.isValid()) ||\n                 createLocal(time).isValid())) {\n            return createDuration({from: this, to: time}).locale(this.locale()).humanize(!withoutSuffix);\n        } else {\n            return this.localeData().invalidDate();\n        }\n    }\n\n    function toNow (withoutSuffix) {\n        return this.to(createLocal(), withoutSuffix);\n    }\n\n    // If passed a locale key, it will set the locale for this\n    // instance.  Otherwise, it will return the locale configuration\n    // variables for this instance.\n    function locale (key) {\n        var newLocaleData;\n\n        if (key === undefined) {\n            return this._locale._abbr;\n        } else {\n            newLocaleData = getLocale(key);\n            if (newLocaleData != null) {\n                this._locale = newLocaleData;\n            }\n            return this;\n        }\n    }\n\n    var lang = deprecate(\n        'moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.',\n        function (key) {\n            if (key === undefined) {\n                return this.localeData();\n            } else {\n                return this.locale(key);\n            }\n        }\n    );\n\n    function localeData () {\n        return this._locale;\n    }\n\n    var MS_PER_SECOND = 1000;\n    var MS_PER_MINUTE = 60 * MS_PER_SECOND;\n    var MS_PER_HOUR = 60 * MS_PER_MINUTE;\n    var MS_PER_400_YEARS = (365 * 400 + 97) * 24 * MS_PER_HOUR;\n\n    // actual modulo - handles negative numbers (for dates before 1970):\n    function mod$1(dividend, divisor) {\n        return (dividend % divisor + divisor) % divisor;\n    }\n\n    function localStartOfDate(y, m, d) {\n        // the date constructor remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return new Date(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return new Date(y, m, d).valueOf();\n        }\n    }\n\n    function utcStartOfDate(y, m, d) {\n        // Date.UTC remaps years 0-99 to 1900-1999\n        if (y < 100 && y >= 0) {\n            // preserve leap years using a full 400 year cycle, then reset\n            return Date.UTC(y + 400, m, d) - MS_PER_400_YEARS;\n        } else {\n            return Date.UTC(y, m, d);\n        }\n    }\n\n    function startOf (units) {\n        var time;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year(), 0, 1);\n                break;\n            case 'quarter':\n                time = startOfDate(this.year(), this.month() - this.month() % 3, 1);\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month(), 1);\n                break;\n            case 'week':\n                time = startOfDate(this.year(), this.month(), this.date() - this.weekday());\n                break;\n            case 'isoWeek':\n                time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1));\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date());\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time -= mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR);\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_MINUTE);\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time -= mod$1(time, MS_PER_SECOND);\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function endOf (units) {\n        var time;\n        units = normalizeUnits(units);\n        if (units === undefined || units === 'millisecond' || !this.isValid()) {\n            return this;\n        }\n\n        var startOfDate = this._isUTC ? utcStartOfDate : localStartOfDate;\n\n        switch (units) {\n            case 'year':\n                time = startOfDate(this.year() + 1, 0, 1) - 1;\n                break;\n            case 'quarter':\n                time = startOfDate(this.year(), this.month() - this.month() % 3 + 3, 1) - 1;\n                break;\n            case 'month':\n                time = startOfDate(this.year(), this.month() + 1, 1) - 1;\n                break;\n            case 'week':\n                time = startOfDate(this.year(), this.month(), this.date() - this.weekday() + 7) - 1;\n                break;\n            case 'isoWeek':\n                time = startOfDate(this.year(), this.month(), this.date() - (this.isoWeekday() - 1) + 7) - 1;\n                break;\n            case 'day':\n            case 'date':\n                time = startOfDate(this.year(), this.month(), this.date() + 1) - 1;\n                break;\n            case 'hour':\n                time = this._d.valueOf();\n                time += MS_PER_HOUR - mod$1(time + (this._isUTC ? 0 : this.utcOffset() * MS_PER_MINUTE), MS_PER_HOUR) - 1;\n                break;\n            case 'minute':\n                time = this._d.valueOf();\n                time += MS_PER_MINUTE - mod$1(time, MS_PER_MINUTE) - 1;\n                break;\n            case 'second':\n                time = this._d.valueOf();\n                time += MS_PER_SECOND - mod$1(time, MS_PER_SECOND) - 1;\n                break;\n        }\n\n        this._d.setTime(time);\n        hooks.updateOffset(this, true);\n        return this;\n    }\n\n    function valueOf () {\n        return this._d.valueOf() - ((this._offset || 0) * 60000);\n    }\n\n    function unix () {\n        return Math.floor(this.valueOf() / 1000);\n    }\n\n    function toDate () {\n        return new Date(this.valueOf());\n    }\n\n    function toArray () {\n        var m = this;\n        return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n    }\n\n    function toObject () {\n        var m = this;\n        return {\n            years: m.year(),\n            months: m.month(),\n            date: m.date(),\n            hours: m.hours(),\n            minutes: m.minutes(),\n            seconds: m.seconds(),\n            milliseconds: m.milliseconds()\n        };\n    }\n\n    function toJSON () {\n        // new Date(NaN).toJSON() === null\n        return this.isValid() ? this.toISOString() : null;\n    }\n\n    function isValid$2 () {\n        return isValid(this);\n    }\n\n    function parsingFlags () {\n        return extend({}, getParsingFlags(this));\n    }\n\n    function invalidAt () {\n        return getParsingFlags(this).overflow;\n    }\n\n    function creationData() {\n        return {\n            input: this._i,\n            format: this._f,\n            locale: this._locale,\n            isUTC: this._isUTC,\n            strict: this._strict\n        };\n    }\n\n    // FORMATTING\n\n    addFormatToken(0, ['gg', 2], 0, function () {\n        return this.weekYear() % 100;\n    });\n\n    addFormatToken(0, ['GG', 2], 0, function () {\n        return this.isoWeekYear() % 100;\n    });\n\n    function addWeekYearFormatToken (token, getter) {\n        addFormatToken(0, [token, token.length], 0, getter);\n    }\n\n    addWeekYearFormatToken('gggg',     'weekYear');\n    addWeekYearFormatToken('ggggg',    'weekYear');\n    addWeekYearFormatToken('GGGG',  'isoWeekYear');\n    addWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n    // ALIASES\n\n    addUnitAlias('weekYear', 'gg');\n    addUnitAlias('isoWeekYear', 'GG');\n\n    // PRIORITY\n\n    addUnitPriority('weekYear', 1);\n    addUnitPriority('isoWeekYear', 1);\n\n\n    // PARSING\n\n    addRegexToken('G',      matchSigned);\n    addRegexToken('g',      matchSigned);\n    addRegexToken('GG',     match1to2, match2);\n    addRegexToken('gg',     match1to2, match2);\n    addRegexToken('GGGG',   match1to4, match4);\n    addRegexToken('gggg',   match1to4, match4);\n    addRegexToken('GGGGG',  match1to6, match6);\n    addRegexToken('ggggg',  match1to6, match6);\n\n    addWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n        week[token.substr(0, 2)] = toInt(input);\n    });\n\n    addWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n        week[token] = hooks.parseTwoDigitYear(input);\n    });\n\n    // MOMENTS\n\n    function getSetWeekYear (input) {\n        return getSetWeekYearHelper.call(this,\n                input,\n                this.week(),\n                this.weekday(),\n                this.localeData()._week.dow,\n                this.localeData()._week.doy);\n    }\n\n    function getSetISOWeekYear (input) {\n        return getSetWeekYearHelper.call(this,\n                input, this.isoWeek(), this.isoWeekday(), 1, 4);\n    }\n\n    function getISOWeeksInYear () {\n        return weeksInYear(this.year(), 1, 4);\n    }\n\n    function getWeeksInYear () {\n        var weekInfo = this.localeData()._week;\n        return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n    }\n\n    function getSetWeekYearHelper(input, week, weekday, dow, doy) {\n        var weeksTarget;\n        if (input == null) {\n            return weekOfYear(this, dow, doy).year;\n        } else {\n            weeksTarget = weeksInYear(input, dow, doy);\n            if (week > weeksTarget) {\n                week = weeksTarget;\n            }\n            return setWeekAll.call(this, input, week, weekday, dow, doy);\n        }\n    }\n\n    function setWeekAll(weekYear, week, weekday, dow, doy) {\n        var dayOfYearData = dayOfYearFromWeeks(weekYear, week, weekday, dow, doy),\n            date = createUTCDate(dayOfYearData.year, 0, dayOfYearData.dayOfYear);\n\n        this.year(date.getUTCFullYear());\n        this.month(date.getUTCMonth());\n        this.date(date.getUTCDate());\n        return this;\n    }\n\n    // FORMATTING\n\n    addFormatToken('Q', 0, 'Qo', 'quarter');\n\n    // ALIASES\n\n    addUnitAlias('quarter', 'Q');\n\n    // PRIORITY\n\n    addUnitPriority('quarter', 7);\n\n    // PARSING\n\n    addRegexToken('Q', match1);\n    addParseToken('Q', function (input, array) {\n        array[MONTH] = (toInt(input) - 1) * 3;\n    });\n\n    // MOMENTS\n\n    function getSetQuarter (input) {\n        return input == null ? Math.ceil((this.month() + 1) / 3) : this.month((input - 1) * 3 + this.month() % 3);\n    }\n\n    // FORMATTING\n\n    addFormatToken('D', ['DD', 2], 'Do', 'date');\n\n    // ALIASES\n\n    addUnitAlias('date', 'D');\n\n    // PRIORITY\n    addUnitPriority('date', 9);\n\n    // PARSING\n\n    addRegexToken('D',  match1to2);\n    addRegexToken('DD', match1to2, match2);\n    addRegexToken('Do', function (isStrict, locale) {\n        // TODO: Remove \"ordinalParse\" fallback in next major release.\n        return isStrict ?\n          (locale._dayOfMonthOrdinalParse || locale._ordinalParse) :\n          locale._dayOfMonthOrdinalParseLenient;\n    });\n\n    addParseToken(['D', 'DD'], DATE);\n    addParseToken('Do', function (input, array) {\n        array[DATE] = toInt(input.match(match1to2)[0]);\n    });\n\n    // MOMENTS\n\n    var getSetDayOfMonth = makeGetSet('Date', true);\n\n    // FORMATTING\n\n    addFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n    // ALIASES\n\n    addUnitAlias('dayOfYear', 'DDD');\n\n    // PRIORITY\n    addUnitPriority('dayOfYear', 4);\n\n    // PARSING\n\n    addRegexToken('DDD',  match1to3);\n    addRegexToken('DDDD', match3);\n    addParseToken(['DDD', 'DDDD'], function (input, array, config) {\n        config._dayOfYear = toInt(input);\n    });\n\n    // HELPERS\n\n    // MOMENTS\n\n    function getSetDayOfYear (input) {\n        var dayOfYear = Math.round((this.clone().startOf('day') - this.clone().startOf('year')) / 864e5) + 1;\n        return input == null ? dayOfYear : this.add((input - dayOfYear), 'd');\n    }\n\n    // FORMATTING\n\n    addFormatToken('m', ['mm', 2], 0, 'minute');\n\n    // ALIASES\n\n    addUnitAlias('minute', 'm');\n\n    // PRIORITY\n\n    addUnitPriority('minute', 14);\n\n    // PARSING\n\n    addRegexToken('m',  match1to2);\n    addRegexToken('mm', match1to2, match2);\n    addParseToken(['m', 'mm'], MINUTE);\n\n    // MOMENTS\n\n    var getSetMinute = makeGetSet('Minutes', false);\n\n    // FORMATTING\n\n    addFormatToken('s', ['ss', 2], 0, 'second');\n\n    // ALIASES\n\n    addUnitAlias('second', 's');\n\n    // PRIORITY\n\n    addUnitPriority('second', 15);\n\n    // PARSING\n\n    addRegexToken('s',  match1to2);\n    addRegexToken('ss', match1to2, match2);\n    addParseToken(['s', 'ss'], SECOND);\n\n    // MOMENTS\n\n    var getSetSecond = makeGetSet('Seconds', false);\n\n    // FORMATTING\n\n    addFormatToken('S', 0, 0, function () {\n        return ~~(this.millisecond() / 100);\n    });\n\n    addFormatToken(0, ['SS', 2], 0, function () {\n        return ~~(this.millisecond() / 10);\n    });\n\n    addFormatToken(0, ['SSS', 3], 0, 'millisecond');\n    addFormatToken(0, ['SSSS', 4], 0, function () {\n        return this.millisecond() * 10;\n    });\n    addFormatToken(0, ['SSSSS', 5], 0, function () {\n        return this.millisecond() * 100;\n    });\n    addFormatToken(0, ['SSSSSS', 6], 0, function () {\n        return this.millisecond() * 1000;\n    });\n    addFormatToken(0, ['SSSSSSS', 7], 0, function () {\n        return this.millisecond() * 10000;\n    });\n    addFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n        return this.millisecond() * 100000;\n    });\n    addFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n        return this.millisecond() * 1000000;\n    });\n\n\n    // ALIASES\n\n    addUnitAlias('millisecond', 'ms');\n\n    // PRIORITY\n\n    addUnitPriority('millisecond', 16);\n\n    // PARSING\n\n    addRegexToken('S',    match1to3, match1);\n    addRegexToken('SS',   match1to3, match2);\n    addRegexToken('SSS',  match1to3, match3);\n\n    var token;\n    for (token = 'SSSS'; token.length <= 9; token += 'S') {\n        addRegexToken(token, matchUnsigned);\n    }\n\n    function parseMs(input, array) {\n        array[MILLISECOND] = toInt(('0.' + input) * 1000);\n    }\n\n    for (token = 'S'; token.length <= 9; token += 'S') {\n        addParseToken(token, parseMs);\n    }\n    // MOMENTS\n\n    var getSetMillisecond = makeGetSet('Milliseconds', false);\n\n    // FORMATTING\n\n    addFormatToken('z',  0, 0, 'zoneAbbr');\n    addFormatToken('zz', 0, 0, 'zoneName');\n\n    // MOMENTS\n\n    function getZoneAbbr () {\n        return this._isUTC ? 'UTC' : '';\n    }\n\n    function getZoneName () {\n        return this._isUTC ? 'Coordinated Universal Time' : '';\n    }\n\n    var proto = Moment.prototype;\n\n    proto.add               = add;\n    proto.calendar          = calendar$1;\n    proto.clone             = clone;\n    proto.diff              = diff;\n    proto.endOf             = endOf;\n    proto.format            = format;\n    proto.from              = from;\n    proto.fromNow           = fromNow;\n    proto.to                = to;\n    proto.toNow             = toNow;\n    proto.get               = stringGet;\n    proto.invalidAt         = invalidAt;\n    proto.isAfter           = isAfter;\n    proto.isBefore          = isBefore;\n    proto.isBetween         = isBetween;\n    proto.isSame            = isSame;\n    proto.isSameOrAfter     = isSameOrAfter;\n    proto.isSameOrBefore    = isSameOrBefore;\n    proto.isValid           = isValid$2;\n    proto.lang              = lang;\n    proto.locale            = locale;\n    proto.localeData        = localeData;\n    proto.max               = prototypeMax;\n    proto.min               = prototypeMin;\n    proto.parsingFlags      = parsingFlags;\n    proto.set               = stringSet;\n    proto.startOf           = startOf;\n    proto.subtract          = subtract;\n    proto.toArray           = toArray;\n    proto.toObject          = toObject;\n    proto.toDate            = toDate;\n    proto.toISOString       = toISOString;\n    proto.inspect           = inspect;\n    proto.toJSON            = toJSON;\n    proto.toString          = toString;\n    proto.unix              = unix;\n    proto.valueOf           = valueOf;\n    proto.creationData      = creationData;\n    proto.year       = getSetYear;\n    proto.isLeapYear = getIsLeapYear;\n    proto.weekYear    = getSetWeekYear;\n    proto.isoWeekYear = getSetISOWeekYear;\n    proto.quarter = proto.quarters = getSetQuarter;\n    proto.month       = getSetMonth;\n    proto.daysInMonth = getDaysInMonth;\n    proto.week           = proto.weeks        = getSetWeek;\n    proto.isoWeek        = proto.isoWeeks     = getSetISOWeek;\n    proto.weeksInYear    = getWeeksInYear;\n    proto.isoWeeksInYear = getISOWeeksInYear;\n    proto.date       = getSetDayOfMonth;\n    proto.day        = proto.days             = getSetDayOfWeek;\n    proto.weekday    = getSetLocaleDayOfWeek;\n    proto.isoWeekday = getSetISODayOfWeek;\n    proto.dayOfYear  = getSetDayOfYear;\n    proto.hour = proto.hours = getSetHour;\n    proto.minute = proto.minutes = getSetMinute;\n    proto.second = proto.seconds = getSetSecond;\n    proto.millisecond = proto.milliseconds = getSetMillisecond;\n    proto.utcOffset            = getSetOffset;\n    proto.utc                  = setOffsetToUTC;\n    proto.local                = setOffsetToLocal;\n    proto.parseZone            = setOffsetToParsedOffset;\n    proto.hasAlignedHourOffset = hasAlignedHourOffset;\n    proto.isDST                = isDaylightSavingTime;\n    proto.isLocal              = isLocal;\n    proto.isUtcOffset          = isUtcOffset;\n    proto.isUtc                = isUtc;\n    proto.isUTC                = isUtc;\n    proto.zoneAbbr = getZoneAbbr;\n    proto.zoneName = getZoneName;\n    proto.dates  = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\n    proto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\n    proto.years  = deprecate('years accessor is deprecated. Use year instead', getSetYear);\n    proto.zone   = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\n    proto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\n    function createUnix (input) {\n        return createLocal(input * 1000);\n    }\n\n    function createInZone () {\n        return createLocal.apply(null, arguments).parseZone();\n    }\n\n    function preParsePostFormat (string) {\n        return string;\n    }\n\n    var proto$1 = Locale.prototype;\n\n    proto$1.calendar        = calendar;\n    proto$1.longDateFormat  = longDateFormat;\n    proto$1.invalidDate     = invalidDate;\n    proto$1.ordinal         = ordinal;\n    proto$1.preparse        = preParsePostFormat;\n    proto$1.postformat      = preParsePostFormat;\n    proto$1.relativeTime    = relativeTime;\n    proto$1.pastFuture      = pastFuture;\n    proto$1.set             = set;\n\n    proto$1.months            =        localeMonths;\n    proto$1.monthsShort       =        localeMonthsShort;\n    proto$1.monthsParse       =        localeMonthsParse;\n    proto$1.monthsRegex       = monthsRegex;\n    proto$1.monthsShortRegex  = monthsShortRegex;\n    proto$1.week = localeWeek;\n    proto$1.firstDayOfYear = localeFirstDayOfYear;\n    proto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\n    proto$1.weekdays       =        localeWeekdays;\n    proto$1.weekdaysMin    =        localeWeekdaysMin;\n    proto$1.weekdaysShort  =        localeWeekdaysShort;\n    proto$1.weekdaysParse  =        localeWeekdaysParse;\n\n    proto$1.weekdaysRegex       =        weekdaysRegex;\n    proto$1.weekdaysShortRegex  =        weekdaysShortRegex;\n    proto$1.weekdaysMinRegex    =        weekdaysMinRegex;\n\n    proto$1.isPM = localeIsPM;\n    proto$1.meridiem = localeMeridiem;\n\n    function get$1 (format, index, field, setter) {\n        var locale = getLocale();\n        var utc = createUTC().set(setter, index);\n        return locale[field](utc, format);\n    }\n\n    function listMonthsImpl (format, index, field) {\n        if (isNumber(format)) {\n            index = format;\n            format = undefined;\n        }\n\n        format = format || '';\n\n        if (index != null) {\n            return get$1(format, index, field, 'month');\n        }\n\n        var i;\n        var out = [];\n        for (i = 0; i < 12; i++) {\n            out[i] = get$1(format, i, field, 'month');\n        }\n        return out;\n    }\n\n    // ()\n    // (5)\n    // (fmt, 5)\n    // (fmt)\n    // (true)\n    // (true, 5)\n    // (true, fmt, 5)\n    // (true, fmt)\n    function listWeekdaysImpl (localeSorted, format, index, field) {\n        if (typeof localeSorted === 'boolean') {\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        } else {\n            format = localeSorted;\n            index = format;\n            localeSorted = false;\n\n            if (isNumber(format)) {\n                index = format;\n                format = undefined;\n            }\n\n            format = format || '';\n        }\n\n        var locale = getLocale(),\n            shift = localeSorted ? locale._week.dow : 0;\n\n        if (index != null) {\n            return get$1(format, (index + shift) % 7, field, 'day');\n        }\n\n        var i;\n        var out = [];\n        for (i = 0; i < 7; i++) {\n            out[i] = get$1(format, (i + shift) % 7, field, 'day');\n        }\n        return out;\n    }\n\n    function listMonths (format, index) {\n        return listMonthsImpl(format, index, 'months');\n    }\n\n    function listMonthsShort (format, index) {\n        return listMonthsImpl(format, index, 'monthsShort');\n    }\n\n    function listWeekdays (localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n    }\n\n    function listWeekdaysShort (localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n    }\n\n    function listWeekdaysMin (localeSorted, format, index) {\n        return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n    }\n\n    getSetGlobalLocale('en', {\n        dayOfMonthOrdinalParse: /\\d{1,2}(th|st|nd|rd)/,\n        ordinal : function (number) {\n            var b = number % 10,\n                output = (toInt(number % 100 / 10) === 1) ? 'th' :\n                (b === 1) ? 'st' :\n                (b === 2) ? 'nd' :\n                (b === 3) ? 'rd' : 'th';\n            return number + output;\n        }\n    });\n\n    // Side effect imports\n\n    hooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\n    hooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\n    var mathAbs = Math.abs;\n\n    function abs () {\n        var data           = this._data;\n\n        this._milliseconds = mathAbs(this._milliseconds);\n        this._days         = mathAbs(this._days);\n        this._months       = mathAbs(this._months);\n\n        data.milliseconds  = mathAbs(data.milliseconds);\n        data.seconds       = mathAbs(data.seconds);\n        data.minutes       = mathAbs(data.minutes);\n        data.hours         = mathAbs(data.hours);\n        data.months        = mathAbs(data.months);\n        data.years         = mathAbs(data.years);\n\n        return this;\n    }\n\n    function addSubtract$1 (duration, input, value, direction) {\n        var other = createDuration(input, value);\n\n        duration._milliseconds += direction * other._milliseconds;\n        duration._days         += direction * other._days;\n        duration._months       += direction * other._months;\n\n        return duration._bubble();\n    }\n\n    // supports only 2.0-style add(1, 's') or add(duration)\n    function add$1 (input, value) {\n        return addSubtract$1(this, input, value, 1);\n    }\n\n    // supports only 2.0-style subtract(1, 's') or subtract(duration)\n    function subtract$1 (input, value) {\n        return addSubtract$1(this, input, value, -1);\n    }\n\n    function absCeil (number) {\n        if (number < 0) {\n            return Math.floor(number);\n        } else {\n            return Math.ceil(number);\n        }\n    }\n\n    function bubble () {\n        var milliseconds = this._milliseconds;\n        var days         = this._days;\n        var months       = this._months;\n        var data         = this._data;\n        var seconds, minutes, hours, years, monthsFromDays;\n\n        // if we have a mix of positive and negative values, bubble down first\n        // check: https://github.com/moment/moment/issues/2166\n        if (!((milliseconds >= 0 && days >= 0 && months >= 0) ||\n                (milliseconds <= 0 && days <= 0 && months <= 0))) {\n            milliseconds += absCeil(monthsToDays(months) + days) * 864e5;\n            days = 0;\n            months = 0;\n        }\n\n        // The following code bubbles up values, see the tests for\n        // examples of what that means.\n        data.milliseconds = milliseconds % 1000;\n\n        seconds           = absFloor(milliseconds / 1000);\n        data.seconds      = seconds % 60;\n\n        minutes           = absFloor(seconds / 60);\n        data.minutes      = minutes % 60;\n\n        hours             = absFloor(minutes / 60);\n        data.hours        = hours % 24;\n\n        days += absFloor(hours / 24);\n\n        // convert days to months\n        monthsFromDays = absFloor(daysToMonths(days));\n        months += monthsFromDays;\n        days -= absCeil(monthsToDays(monthsFromDays));\n\n        // 12 months -> 1 year\n        years = absFloor(months / 12);\n        months %= 12;\n\n        data.days   = days;\n        data.months = months;\n        data.years  = years;\n\n        return this;\n    }\n\n    function daysToMonths (days) {\n        // 400 years have 146097 days (taking into account leap year rules)\n        // 400 years have 12 months === 4800\n        return days * 4800 / 146097;\n    }\n\n    function monthsToDays (months) {\n        // the reverse of daysToMonths\n        return months * 146097 / 4800;\n    }\n\n    function as (units) {\n        if (!this.isValid()) {\n            return NaN;\n        }\n        var days;\n        var months;\n        var milliseconds = this._milliseconds;\n\n        units = normalizeUnits(units);\n\n        if (units === 'month' || units === 'quarter' || units === 'year') {\n            days = this._days + milliseconds / 864e5;\n            months = this._months + daysToMonths(days);\n            switch (units) {\n                case 'month':   return months;\n                case 'quarter': return months / 3;\n                case 'year':    return months / 12;\n            }\n        } else {\n            // handle milliseconds separately because of floating point math errors (issue #1867)\n            days = this._days + Math.round(monthsToDays(this._months));\n            switch (units) {\n                case 'week'   : return days / 7     + milliseconds / 6048e5;\n                case 'day'    : return days         + milliseconds / 864e5;\n                case 'hour'   : return days * 24    + milliseconds / 36e5;\n                case 'minute' : return days * 1440  + milliseconds / 6e4;\n                case 'second' : return days * 86400 + milliseconds / 1000;\n                // Math.floor prevents floating point math errors here\n                case 'millisecond': return Math.floor(days * 864e5) + milliseconds;\n                default: throw new Error('Unknown unit ' + units);\n            }\n        }\n    }\n\n    // TODO: Use this.as('ms')?\n    function valueOf$1 () {\n        if (!this.isValid()) {\n            return NaN;\n        }\n        return (\n            this._milliseconds +\n            this._days * 864e5 +\n            (this._months % 12) * 2592e6 +\n            toInt(this._months / 12) * 31536e6\n        );\n    }\n\n    function makeAs (alias) {\n        return function () {\n            return this.as(alias);\n        };\n    }\n\n    var asMilliseconds = makeAs('ms');\n    var asSeconds      = makeAs('s');\n    var asMinutes      = makeAs('m');\n    var asHours        = makeAs('h');\n    var asDays         = makeAs('d');\n    var asWeeks        = makeAs('w');\n    var asMonths       = makeAs('M');\n    var asQuarters     = makeAs('Q');\n    var asYears        = makeAs('y');\n\n    function clone$1 () {\n        return createDuration(this);\n    }\n\n    function get$2 (units) {\n        units = normalizeUnits(units);\n        return this.isValid() ? this[units + 's']() : NaN;\n    }\n\n    function makeGetter(name) {\n        return function () {\n            return this.isValid() ? this._data[name] : NaN;\n        };\n    }\n\n    var milliseconds = makeGetter('milliseconds');\n    var seconds      = makeGetter('seconds');\n    var minutes      = makeGetter('minutes');\n    var hours        = makeGetter('hours');\n    var days         = makeGetter('days');\n    var months       = makeGetter('months');\n    var years        = makeGetter('years');\n\n    function weeks () {\n        return absFloor(this.days() / 7);\n    }\n\n    var round = Math.round;\n    var thresholds = {\n        ss: 44,         // a few seconds to seconds\n        s : 45,         // seconds to minute\n        m : 45,         // minutes to hour\n        h : 22,         // hours to day\n        d : 26,         // days to month\n        M : 11          // months to year\n    };\n\n    // helper function for moment.fn.from, moment.fn.fromNow, and moment.duration.fn.humanize\n    function substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n        return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n    }\n\n    function relativeTime$1 (posNegDuration, withoutSuffix, locale) {\n        var duration = createDuration(posNegDuration).abs();\n        var seconds  = round(duration.as('s'));\n        var minutes  = round(duration.as('m'));\n        var hours    = round(duration.as('h'));\n        var days     = round(duration.as('d'));\n        var months   = round(duration.as('M'));\n        var years    = round(duration.as('y'));\n\n        var a = seconds <= thresholds.ss && ['s', seconds]  ||\n                seconds < thresholds.s   && ['ss', seconds] ||\n                minutes <= 1             && ['m']           ||\n                minutes < thresholds.m   && ['mm', minutes] ||\n                hours   <= 1             && ['h']           ||\n                hours   < thresholds.h   && ['hh', hours]   ||\n                days    <= 1             && ['d']           ||\n                days    < thresholds.d   && ['dd', days]    ||\n                months  <= 1             && ['M']           ||\n                months  < thresholds.M   && ['MM', months]  ||\n                years   <= 1             && ['y']           || ['yy', years];\n\n        a[2] = withoutSuffix;\n        a[3] = +posNegDuration > 0;\n        a[4] = locale;\n        return substituteTimeAgo.apply(null, a);\n    }\n\n    // This function allows you to set the rounding function for relative time strings\n    function getSetRelativeTimeRounding (roundingFunction) {\n        if (roundingFunction === undefined) {\n            return round;\n        }\n        if (typeof(roundingFunction) === 'function') {\n            round = roundingFunction;\n            return true;\n        }\n        return false;\n    }\n\n    // This function allows you to set a threshold for relative time strings\n    function getSetRelativeTimeThreshold (threshold, limit) {\n        if (thresholds[threshold] === undefined) {\n            return false;\n        }\n        if (limit === undefined) {\n            return thresholds[threshold];\n        }\n        thresholds[threshold] = limit;\n        if (threshold === 's') {\n            thresholds.ss = limit - 1;\n        }\n        return true;\n    }\n\n    function humanize (withSuffix) {\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var locale = this.localeData();\n        var output = relativeTime$1(this, !withSuffix, locale);\n\n        if (withSuffix) {\n            output = locale.pastFuture(+this, output);\n        }\n\n        return locale.postformat(output);\n    }\n\n    var abs$1 = Math.abs;\n\n    function sign(x) {\n        return ((x > 0) - (x < 0)) || +x;\n    }\n\n    function toISOString$1() {\n        // for ISO strings we do not use the normal bubbling rules:\n        //  * milliseconds bubble up until they become hours\n        //  * days do not bubble at all\n        //  * months bubble up until they become years\n        // This is because there is no context-free conversion between hours and days\n        // (think of clock changes)\n        // and also not between days and months (28-31 days per month)\n        if (!this.isValid()) {\n            return this.localeData().invalidDate();\n        }\n\n        var seconds = abs$1(this._milliseconds) / 1000;\n        var days         = abs$1(this._days);\n        var months       = abs$1(this._months);\n        var minutes, hours, years;\n\n        // 3600 seconds -> 60 minutes -> 1 hour\n        minutes           = absFloor(seconds / 60);\n        hours             = absFloor(minutes / 60);\n        seconds %= 60;\n        minutes %= 60;\n\n        // 12 months -> 1 year\n        years  = absFloor(months / 12);\n        months %= 12;\n\n\n        // inspired by https://github.com/dordille/moment-isoduration/blob/master/moment.isoduration.js\n        var Y = years;\n        var M = months;\n        var D = days;\n        var h = hours;\n        var m = minutes;\n        var s = seconds ? seconds.toFixed(3).replace(/\\.?0+$/, '') : '';\n        var total = this.asSeconds();\n\n        if (!total) {\n            // this is the same as C#'s (Noda) and python (isodate)...\n            // but not other JS (goog.date)\n            return 'P0D';\n        }\n\n        var totalSign = total < 0 ? '-' : '';\n        var ymSign = sign(this._months) !== sign(total) ? '-' : '';\n        var daysSign = sign(this._days) !== sign(total) ? '-' : '';\n        var hmsSign = sign(this._milliseconds) !== sign(total) ? '-' : '';\n\n        return totalSign + 'P' +\n            (Y ? ymSign + Y + 'Y' : '') +\n            (M ? ymSign + M + 'M' : '') +\n            (D ? daysSign + D + 'D' : '') +\n            ((h || m || s) ? 'T' : '') +\n            (h ? hmsSign + h + 'H' : '') +\n            (m ? hmsSign + m + 'M' : '') +\n            (s ? hmsSign + s + 'S' : '');\n    }\n\n    var proto$2 = Duration.prototype;\n\n    proto$2.isValid        = isValid$1;\n    proto$2.abs            = abs;\n    proto$2.add            = add$1;\n    proto$2.subtract       = subtract$1;\n    proto$2.as             = as;\n    proto$2.asMilliseconds = asMilliseconds;\n    proto$2.asSeconds      = asSeconds;\n    proto$2.asMinutes      = asMinutes;\n    proto$2.asHours        = asHours;\n    proto$2.asDays         = asDays;\n    proto$2.asWeeks        = asWeeks;\n    proto$2.asMonths       = asMonths;\n    proto$2.asQuarters     = asQuarters;\n    proto$2.asYears        = asYears;\n    proto$2.valueOf        = valueOf$1;\n    proto$2._bubble        = bubble;\n    proto$2.clone          = clone$1;\n    proto$2.get            = get$2;\n    proto$2.milliseconds   = milliseconds;\n    proto$2.seconds        = seconds;\n    proto$2.minutes        = minutes;\n    proto$2.hours          = hours;\n    proto$2.days           = days;\n    proto$2.weeks          = weeks;\n    proto$2.months         = months;\n    proto$2.years          = years;\n    proto$2.humanize       = humanize;\n    proto$2.toISOString    = toISOString$1;\n    proto$2.toString       = toISOString$1;\n    proto$2.toJSON         = toISOString$1;\n    proto$2.locale         = locale;\n    proto$2.localeData     = localeData;\n\n    proto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\n    proto$2.lang = lang;\n\n    // Side effect imports\n\n    // FORMATTING\n\n    addFormatToken('X', 0, 0, 'unix');\n    addFormatToken('x', 0, 0, 'valueOf');\n\n    // PARSING\n\n    addRegexToken('x', matchSigned);\n    addRegexToken('X', matchTimestamp);\n    addParseToken('X', function (input, array, config) {\n        config._d = new Date(parseFloat(input, 10) * 1000);\n    });\n    addParseToken('x', function (input, array, config) {\n        config._d = new Date(toInt(input));\n    });\n\n    // Side effect imports\n\n\n    hooks.version = '2.24.0';\n\n    setHookCallback(createLocal);\n\n    hooks.fn                    = proto;\n    hooks.min                   = min;\n    hooks.max                   = max;\n    hooks.now                   = now;\n    hooks.utc                   = createUTC;\n    hooks.unix                  = createUnix;\n    hooks.months                = listMonths;\n    hooks.isDate                = isDate;\n    hooks.locale                = getSetGlobalLocale;\n    hooks.invalid               = createInvalid;\n    hooks.duration              = createDuration;\n    hooks.isMoment              = isMoment;\n    hooks.weekdays              = listWeekdays;\n    hooks.parseZone             = createInZone;\n    hooks.localeData            = getLocale;\n    hooks.isDuration            = isDuration;\n    hooks.monthsShort           = listMonthsShort;\n    hooks.weekdaysMin           = listWeekdaysMin;\n    hooks.defineLocale          = defineLocale;\n    hooks.updateLocale          = updateLocale;\n    hooks.locales               = listLocales;\n    hooks.weekdaysShort         = listWeekdaysShort;\n    hooks.normalizeUnits        = normalizeUnits;\n    hooks.relativeTimeRounding  = getSetRelativeTimeRounding;\n    hooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\n    hooks.calendarFormat        = getCalendarFormat;\n    hooks.prototype             = proto;\n\n    // currently HTML5 input type only supports 24-hour formats\n    hooks.HTML5_FMT = {\n        DATETIME_LOCAL: 'YYYY-MM-DDTHH:mm',             // <input type=\"datetime-local\" />\n        DATETIME_LOCAL_SECONDS: 'YYYY-MM-DDTHH:mm:ss',  // <input type=\"datetime-local\" step=\"1\" />\n        DATETIME_LOCAL_MS: 'YYYY-MM-DDTHH:mm:ss.SSS',   // <input type=\"datetime-local\" step=\"0.001\" />\n        DATE: 'YYYY-MM-DD',                             // <input type=\"date\" />\n        TIME: 'HH:mm',                                  // <input type=\"time\" />\n        TIME_SECONDS: 'HH:mm:ss',                       // <input type=\"time\" step=\"1\" />\n        TIME_MS: 'HH:mm:ss.SSS',                        // <input type=\"time\" step=\"0.001\" />\n        WEEK: 'GGGG-[W]WW',                             // <input type=\"week\" />\n        MONTH: 'YYYY-MM'                                // <input type=\"month\" />\n    };\n\n    return hooks;\n\n})));\n","'use strict';\n\nvar get = require('lodash.get');\nvar plurals = require('./plurals');\n\nmodule.exports = Gettext;\n\n/**\n * Creates and returns a new Gettext instance.\n *\n * @constructor\n * @param  {Object}  [options]             A set of options\n * @param  {String}  options.sourceLocale  The locale that the source code and its\n *                                         texts are written in. Translations for\n *                                         this locale is not necessary.\n * @param  {Boolean} options.debug         Whether to output debug info into the\n *                                         console.\n * @return {Object}  A Gettext instance\n */\nfunction Gettext(options) {\n    options = options || {};\n\n    this.catalogs = {};\n    this.locale = '';\n    this.domain = 'messages';\n\n    this.listeners = [];\n\n    // Set source locale\n    this.sourceLocale = '';\n    if (options.sourceLocale) {\n        if (typeof options.sourceLocale === 'string') {\n            this.sourceLocale = options.sourceLocale;\n        }\n        else {\n            this.warn('The `sourceLocale` option should be a string');\n        }\n    }\n\n    // Set debug flag\n    if ('debug' in options) {\n        this.debug = options.debug === true;\n    }\n    else if (typeof process !== 'undefined' && process.env && process.env.NODE_ENV) {\n        this.debug = process.env.NODE_ENV !== 'production';\n    }\n    else {\n        this.debug = false;\n    }\n}\n\n/**\n * Adds an event listener.\n *\n * @param  {String}   eventName  An event name\n * @param  {Function} callback   An event handler function\n */\nGettext.prototype.on = function(eventName, callback) {\n    this.listeners.push({\n        eventName: eventName,\n        callback: callback\n    });\n};\n\n/**\n * Removes an event listener.\n *\n * @param  {String}   eventName  An event name\n * @param  {Function} callback   A previously registered event handler function\n */\nGettext.prototype.off = function(eventName, callback) {\n    this.listeners = this.listeners.filter(function(listener) {\n        return (\n            listener.eventName === eventName &&\n            listener.callback === callback\n        ) === false;\n    });\n};\n\n/**\n * Emits an event to all registered event listener.\n *\n * @private\n * @param  {String} eventName  An event name\n * @param  {any}    eventData  Data to pass to event listeners\n */\nGettext.prototype.emit = function(eventName, eventData) {\n    for (var i = 0; i < this.listeners.length; i++) {\n        var listener = this.listeners[i];\n        if (listener.eventName === eventName) {\n            listener.callback(eventData);\n        }\n    }\n};\n\n/**\n * Logs a warning to the console if debug mode is enabled.\n *\n * @ignore\n * @param  {String} message  A warning message\n */\nGettext.prototype.warn = function(message) {\n    if (this.debug) {\n        console.warn(message);\n    }\n\n    this.emit('error', message);\n};\n\n/**\n * Stores a set of translations in the set of gettext\n * catalogs.\n *\n * @example\n *     gt.addTranslations('sv-SE', 'messages', translationsObject)\n *\n * @param {String} locale        A locale string\n * @param {String} domain        A domain name\n * @param {Object} translations  An object of gettext-parser JSON shape\n */\nGettext.prototype.addTranslations = function(locale, domain, translations) {\n    if (!this.catalogs[locale]) {\n        this.catalogs[locale] = {};\n    }\n\n    this.catalogs[locale][domain] = translations;\n};\n\n/**\n * Sets the locale to get translated messages for.\n *\n * @example\n *     gt.setLocale('sv-SE')\n *\n * @param {String} locale  A locale\n */\nGettext.prototype.setLocale = function(locale) {\n    if (typeof locale !== 'string') {\n        this.warn(\n            'You called setLocale() with an argument of type ' + (typeof locale) + '. ' +\n            'The locale must be a string.'\n        );\n        return;\n    }\n\n    if (locale.trim() === '') {\n        this.warn('You called setLocale() with an empty value, which makes little sense.');\n    }\n\n    if (locale !== this.sourceLocale && !this.catalogs[locale]) {\n        this.warn('You called setLocale() with \"' + locale + '\", but no translations for that locale has been added.');\n    }\n\n    this.locale = locale;\n};\n\n/**\n * Sets the default gettext domain.\n *\n * @example\n *     gt.setTextDomain('domainname')\n *\n * @param {String} domain  A gettext domain name\n */\nGettext.prototype.setTextDomain = function(domain) {\n    if (typeof domain !== 'string') {\n        this.warn(\n            'You called setTextDomain() with an argument of type ' + (typeof domain) + '. ' +\n            'The domain must be a string.'\n        );\n        return;\n    }\n\n    if (domain.trim() === '') {\n        this.warn('You called setTextDomain() with an empty `domain` value.');\n    }\n\n    this.domain = domain;\n};\n\n/**\n * Translates a string using the default textdomain\n *\n * @example\n *     gt.gettext('Some text')\n *\n * @param  {String} msgid  String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.gettext = function(msgid) {\n    return this.dnpgettext(this.domain, '', msgid);\n};\n\n/**\n * Translates a string using a specific domain\n *\n * @example\n *     gt.dgettext('domainname', 'Some text')\n *\n * @param  {String} domain  A gettext domain name\n * @param  {String} msgid   String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dgettext = function(domain, msgid) {\n    return this.dnpgettext(domain, '', msgid);\n};\n\n/**\n * Translates a plural string using the default textdomain\n *\n * @example\n *     gt.ngettext('One thing', 'Many things', numberOfThings)\n *\n * @param  {String} msgid        String to be translated when count is not plural\n * @param  {String} msgidPlural  String to be translated when count is plural\n * @param  {Number} count        Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.ngettext = function(msgid, msgidPlural, count) {\n    return this.dnpgettext(this.domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string using a specific textdomain\n *\n * @example\n *     gt.dngettext('domainname', 'One thing', 'Many things', numberOfThings)\n *\n * @param  {String} domain       A gettext domain name\n * @param  {String} msgid        String to be translated when count is not plural\n * @param  {String} msgidPlural  String to be translated when count is plural\n * @param  {Number} count        Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dngettext = function(domain, msgid, msgidPlural, count) {\n    return this.dnpgettext(domain, '', msgid, msgidPlural, count);\n};\n\n/**\n * Translates a string from a specific context using the default textdomain\n *\n * @example\n *    gt.pgettext('sports', 'Back')\n *\n * @param  {String} msgctxt  Translation context\n * @param  {String} msgid    String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.pgettext = function(msgctxt, msgid) {\n    return this.dnpgettext(this.domain, msgctxt, msgid);\n};\n\n/**\n * Translates a string from a specific context using s specific textdomain\n *\n * @example\n *     gt.dpgettext('domainname', 'sports', 'Back')\n *\n * @param  {String} domain   A gettext domain name\n * @param  {String} msgctxt  Translation context\n * @param  {String} msgid    String to be translated\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dpgettext = function(domain, msgctxt, msgid) {\n    return this.dnpgettext(domain, msgctxt, msgid);\n};\n\n/**\n * Translates a plural string from a specific context using the default textdomain\n *\n * @example\n *     gt.npgettext('sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param  {String} msgctxt      Translation context\n * @param  {String} msgid        String to be translated when count is not plural\n * @param  {String} msgidPlural  String to be translated when count is plural\n * @param  {Number} count        Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.npgettext = function(msgctxt, msgid, msgidPlural, count) {\n    return this.dnpgettext(this.domain, msgctxt, msgid, msgidPlural, count);\n};\n\n/**\n * Translates a plural string from a specifi context using a specific textdomain\n *\n * @example\n *     gt.dnpgettext('domainname', 'sports', 'Back', '%d backs', numberOfBacks)\n *\n * @param  {String} domain       A gettext domain name\n * @param  {String} msgctxt      Translation context\n * @param  {String} msgid        String to be translated\n * @param  {String} msgidPlural  If no translation was found, return this on count!=1\n * @param  {Number} count        Number count for the plural\n * @return {String} Translation or the original string if no translation was found\n */\nGettext.prototype.dnpgettext = function(domain, msgctxt, msgid, msgidPlural, count) {\n    var defaultTranslation = msgid;\n    var translation;\n    var index;\n\n    msgctxt = msgctxt || '';\n\n    if (!isNaN(count) && count !== 1) {\n        defaultTranslation = msgidPlural || msgid;\n    }\n\n    translation = this._getTranslation(domain, msgctxt, msgid);\n\n    if (translation) {\n        if (typeof count === 'number') {\n            var pluralsFunc = plurals[Gettext.getLanguageCode(this.locale)].pluralsFunc;\n            index = pluralsFunc(count);\n            if (typeof index === 'boolean') {\n                index = index ? 1 : 0;\n            }\n        } else {\n            index = 0;\n        }\n\n        return translation.msgstr[index] || defaultTranslation;\n    }\n    else if (!this.sourceLocale || this.locale !== this.sourceLocale) {\n        this.warn('No translation was found for msgid \"' + msgid + '\" in msgctxt \"' + msgctxt + '\" and domain \"' + domain + '\"');\n    }\n\n    return defaultTranslation;\n};\n\n/**\n * Retrieves comments object for a translation. The comments object\n * has the shape `{ translator, extracted, reference, flag, previous }`.\n *\n * @example\n *     const comment = gt.getComment('domainname', 'sports', 'Backs')\n *\n * @private\n * @param  {String} domain   A gettext domain name\n * @param  {String} msgctxt  Translation context\n * @param  {String} msgid    String to be translated\n * @return {Object} Comments object or false if not found\n */\nGettext.prototype.getComment = function(domain, msgctxt, msgid) {\n    var translation;\n\n    translation = this._getTranslation(domain, msgctxt, msgid);\n    if (translation) {\n        return translation.comments || {};\n    }\n\n    return {};\n};\n\n/**\n * Retrieves translation object from the domain and context\n *\n * @private\n * @param  {String} domain   A gettext domain name\n * @param  {String} msgctxt  Translation context\n * @param  {String} msgid    String to be translated\n * @return {Object} Translation object or false if not found\n */\nGettext.prototype._getTranslation = function(domain, msgctxt, msgid) {\n    msgctxt = msgctxt || '';\n\n    return get(this.catalogs, [this.locale, domain, 'translations', msgctxt, msgid]);\n};\n\n/**\n * Returns the language code part of a locale\n *\n * @example\n *     Gettext.getLanguageCode('sv-SE')\n *     // -> \"sv\"\n *\n * @private\n * @param   {String} locale  A case-insensitive locale string\n * @returns {String} A language code\n */\nGettext.getLanguageCode = function(locale) {\n    return locale.split(/[\\-_]/)[0].toLowerCase();\n};\n\n/* C-style aliases */\n\n/**\n * C-style alias for [setTextDomain](#gettextsettextdomaindomain)\n *\n * @see Gettext#setTextDomain\n */\nGettext.prototype.textdomain = function(domain) {\n    if (this.debug) {\n        console.warn('textdomain(domain) was used to set locales in node-gettext v1. ' +\n            'Make sure you are using it for domains, and switch to setLocale(locale) if you are not.\\n\\n ' +\n            'To read more about the migration from node-gettext v1 to v2, ' +\n            'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x\\n\\n' +\n            'This warning will be removed in the final 2.0.0');\n    }\n\n    this.setTextDomain(domain);\n};\n\n/**\n * C-style alias for [setLocale](#gettextsetlocalelocale)\n *\n * @see Gettext#setLocale\n */\nGettext.prototype.setlocale = function(locale) {\n    this.setLocale(locale);\n};\n\n/* Deprecated functions */\n\n/**\n * This function will be removed in the final 2.0.0 release.\n *\n * @deprecated\n */\nGettext.prototype.addTextdomain = function() {\n    console.error('addTextdomain() is deprecated.\\n\\n' +\n        '* To add translations, use addTranslations()\\n' +\n        '* To set the default domain, use setTextDomain() (or its alias textdomain())\\n' +\n        '\\n' +\n        'To read more about the migration from node-gettext v1 to v2, ' +\n        'see https://github.com/alexanderwallin/node-gettext/#migrating-from-1x-to-2x');\n};\n","'use strict';\n\nmodule.exports = {\n    ach: {\n        name: 'Acholi',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    af: {\n        name: 'Afrikaans',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    ak: {\n        name: 'Akan',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    am: {\n        name: 'Amharic',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    an: {\n        name: 'Aragonese',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    ar: {\n        name: 'Arabic',\n        examples: [{\n            plural: 0,\n            sample: 0\n        }, {\n            plural: 1,\n            sample: 1\n        }, {\n            plural: 2,\n            sample: 2\n        }, {\n            plural: 3,\n            sample: 3\n        }, {\n            plural: 4,\n            sample: 11\n        }, {\n            plural: 5,\n            sample: 100\n        }],\n        nplurals: 6,\n        pluralsText: 'nplurals = 6; plural = (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5)',\n        pluralsFunc: function(n) {\n            return (n === 0 ? 0 : n === 1 ? 1 : n === 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n        }\n    },\n    arn: {\n        name: 'Mapudungun',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    ast: {\n        name: 'Asturian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    ay: {\n        name: 'Aymará',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    az: {\n        name: 'Azerbaijani',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    be: {\n        name: 'Belarusian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 5\n        }],\n        nplurals: 3,\n        pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n        pluralsFunc: function(n) {\n            return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n        }\n    },\n    bg: {\n        name: 'Bulgarian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    bn: {\n        name: 'Bengali',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    bo: {\n        name: 'Tibetan',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    br: {\n        name: 'Breton',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    brx: {\n        name: 'Bodo',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    bs: {\n        name: 'Bosnian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 5\n        }],\n        nplurals: 3,\n        pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n        pluralsFunc: function(n) {\n            return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n        }\n    },\n    ca: {\n        name: 'Catalan',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    cgg: {\n        name: 'Chiga',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    cs: {\n        name: 'Czech',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 5\n        }],\n        nplurals: 3,\n        pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n        pluralsFunc: function(n) {\n            return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n        }\n    },\n    csb: {\n        name: 'Kashubian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 5\n        }],\n        nplurals: 3,\n        pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n        pluralsFunc: function(n) {\n            return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n        }\n    },\n    cy: {\n        name: 'Welsh',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 3\n        }, {\n            plural: 3,\n            sample: 8\n        }],\n        nplurals: 4,\n        pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3)',\n        pluralsFunc: function(n) {\n            return (n === 1 ? 0 : n === 2 ? 1 : (n !== 8 && n !== 11) ? 2 : 3);\n        }\n    },\n    da: {\n        name: 'Danish',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    de: {\n        name: 'German',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    doi: {\n        name: 'Dogri',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    dz: {\n        name: 'Dzongkha',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    el: {\n        name: 'Greek',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    en: {\n        name: 'English',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    eo: {\n        name: 'Esperanto',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    es: {\n        name: 'Spanish',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    et: {\n        name: 'Estonian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    eu: {\n        name: 'Basque',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    fa: {\n        name: 'Persian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    ff: {\n        name: 'Fulah',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    fi: {\n        name: 'Finnish',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    fil: {\n        name: 'Filipino',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    fo: {\n        name: 'Faroese',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    fr: {\n        name: 'French',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    fur: {\n        name: 'Friulian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    fy: {\n        name: 'Frisian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    ga: {\n        name: 'Irish',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 3\n        }, {\n            plural: 3,\n            sample: 7\n        }, {\n            plural: 4,\n            sample: 11\n        }],\n        nplurals: 5,\n        pluralsText: 'nplurals = 5; plural = (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4)',\n        pluralsFunc: function(n) {\n            return (n === 1 ? 0 : n === 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n        }\n    },\n    gd: {\n        name: 'Scottish Gaelic',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 3\n        }, {\n            plural: 3,\n            sample: 20\n        }],\n        nplurals: 4,\n        pluralsText: 'nplurals = 4; plural = ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3)',\n        pluralsFunc: function(n) {\n            return ((n === 1 || n === 11) ? 0 : (n === 2 || n === 12) ? 1 : (n > 2 && n < 20) ? 2 : 3);\n        }\n    },\n    gl: {\n        name: 'Galician',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    gu: {\n        name: 'Gujarati',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    gun: {\n        name: 'Gun',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    ha: {\n        name: 'Hausa',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    he: {\n        name: 'Hebrew',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    hi: {\n        name: 'Hindi',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    hne: {\n        name: 'Chhattisgarhi',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    hr: {\n        name: 'Croatian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 5\n        }],\n        nplurals: 3,\n        pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n        pluralsFunc: function(n) {\n            return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n        }\n    },\n    hu: {\n        name: 'Hungarian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    hy: {\n        name: 'Armenian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    id: {\n        name: 'Indonesian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    is: {\n        name: 'Icelandic',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n % 10 !== 1 || n % 100 === 11)',\n        pluralsFunc: function(n) {\n            return (n % 10 !== 1 || n % 100 === 11);\n        }\n    },\n    it: {\n        name: 'Italian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    ja: {\n        name: 'Japanese',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    jbo: {\n        name: 'Lojban',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    jv: {\n        name: 'Javanese',\n        examples: [{\n            plural: 0,\n            sample: 0\n        }, {\n            plural: 1,\n            sample: 1\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 0)',\n        pluralsFunc: function(n) {\n            return (n !== 0);\n        }\n    },\n    ka: {\n        name: 'Georgian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    kk: {\n        name: 'Kazakh',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    km: {\n        name: 'Khmer',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    kn: {\n        name: 'Kannada',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    ko: {\n        name: 'Korean',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    ku: {\n        name: 'Kurdish',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    kw: {\n        name: 'Cornish',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 3\n        }, {\n            plural: 3,\n            sample: 4\n        }],\n        nplurals: 4,\n        pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3)',\n        pluralsFunc: function(n) {\n            return (n === 1 ? 0 : n === 2 ? 1 : n === 3 ? 2 : 3);\n        }\n    },\n    ky: {\n        name: 'Kyrgyz',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    lb: {\n        name: 'Letzeburgesch',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    ln: {\n        name: 'Lingala',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    lo: {\n        name: 'Lao',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    lt: {\n        name: 'Lithuanian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 10\n        }],\n        nplurals: 3,\n        pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n        pluralsFunc: function(n) {\n            return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n        }\n    },\n    lv: {\n        name: 'Latvian',\n        examples: [{\n            plural: 2,\n            sample: 0\n        }, {\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 3,\n        pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2)',\n        pluralsFunc: function(n) {\n            return (n % 10 === 1 && n % 100 !== 11 ? 0 : n !== 0 ? 1 : 2);\n        }\n    },\n    mai: {\n        name: 'Maithili',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    mfe: {\n        name: 'Mauritian Creole',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    mg: {\n        name: 'Malagasy',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    mi: {\n        name: 'Maori',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    mk: {\n        name: 'Macedonian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n === 1 || n % 10 === 1 ? 0 : 1)',\n        pluralsFunc: function(n) {\n            return (n === 1 || n % 10 === 1 ? 0 : 1);\n        }\n    },\n    ml: {\n        name: 'Malayalam',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    mn: {\n        name: 'Mongolian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    mni: {\n        name: 'Manipuri',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    mnk: {\n        name: 'Mandinka',\n        examples: [{\n            plural: 0,\n            sample: 0\n        }, {\n            plural: 1,\n            sample: 1\n        }, {\n            plural: 2,\n            sample: 2\n        }],\n        nplurals: 3,\n        pluralsText: 'nplurals = 3; plural = (n === 0 ? 0 : n === 1 ? 1 : 2)',\n        pluralsFunc: function(n) {\n            return (n === 0 ? 0 : n === 1 ? 1 : 2);\n        }\n    },\n    mr: {\n        name: 'Marathi',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    ms: {\n        name: 'Malay',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    mt: {\n        name: 'Maltese',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 11\n        }, {\n            plural: 3,\n            sample: 20\n        }],\n        nplurals: 4,\n        pluralsText: 'nplurals = 4; plural = (n === 1 ? 0 : n === 0 || ( n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20 ) ? 2 : 3)',\n        pluralsFunc: function(n) {\n            return (n === 1 ? 0 : n === 0 || (n % 100 > 1 && n % 100 < 11) ? 1 : (n % 100 > 10 && n % 100 < 20) ? 2 : 3);\n        }\n    },\n    my: {\n        name: 'Burmese',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    nah: {\n        name: 'Nahuatl',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    nap: {\n        name: 'Neapolitan',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    nb: {\n        name: 'Norwegian Bokmal',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    ne: {\n        name: 'Nepali',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    nl: {\n        name: 'Dutch',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    nn: {\n        name: 'Norwegian Nynorsk',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    no: {\n        name: 'Norwegian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    nso: {\n        name: 'Northern Sotho',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    oc: {\n        name: 'Occitan',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    or: {\n        name: 'Oriya',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    pa: {\n        name: 'Punjabi',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    pap: {\n        name: 'Papiamento',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    pl: {\n        name: 'Polish',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 5\n        }],\n        nplurals: 3,\n        pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n        pluralsFunc: function(n) {\n            return (n === 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n        }\n    },\n    pms: {\n        name: 'Piemontese',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    ps: {\n        name: 'Pashto',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    pt: {\n        name: 'Portuguese',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    rm: {\n        name: 'Romansh',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    ro: {\n        name: 'Romanian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 20\n        }],\n        nplurals: 3,\n        pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2)',\n        pluralsFunc: function(n) {\n            return (n === 1 ? 0 : (n === 0 || (n % 100 > 0 && n % 100 < 20)) ? 1 : 2);\n        }\n    },\n    ru: {\n        name: 'Russian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 5\n        }],\n        nplurals: 3,\n        pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n        pluralsFunc: function(n) {\n            return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n        }\n    },\n    rw: {\n        name: 'Kinyarwanda',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    sah: {\n        name: 'Yakut',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    sat: {\n        name: 'Santali',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    sco: {\n        name: 'Scots',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    sd: {\n        name: 'Sindhi',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    se: {\n        name: 'Northern Sami',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    si: {\n        name: 'Sinhala',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    sk: {\n        name: 'Slovak',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 5\n        }],\n        nplurals: 3,\n        pluralsText: 'nplurals = 3; plural = (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2)',\n        pluralsFunc: function(n) {\n            return (n === 1 ? 0 : (n >= 2 && n <= 4) ? 1 : 2);\n        }\n    },\n    sl: {\n        name: 'Slovenian',\n        examples: [{\n            plural: 1,\n            sample: 1\n        }, {\n            plural: 2,\n            sample: 2\n        }, {\n            plural: 3,\n            sample: 3\n        }, {\n            plural: 0,\n            sample: 5\n        }],\n        nplurals: 4,\n        pluralsText: 'nplurals = 4; plural = (n % 100 === 1 ? 1 : n % 100 === 2 ? 2 : n % 100 === 3 || n % 100 === 4 ? 3 : 0)',\n        pluralsFunc: function(n) {\n            return (n % 100 === 1 ? 1 : n % 100 === 2 ? 2 : n % 100 === 3 || n % 100 === 4 ? 3 : 0);\n        }\n    },\n    so: {\n        name: 'Somali',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    son: {\n        name: 'Songhay',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    sq: {\n        name: 'Albanian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    sr: {\n        name: 'Serbian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 5\n        }],\n        nplurals: 3,\n        pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n        pluralsFunc: function(n) {\n            return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n        }\n    },\n    su: {\n        name: 'Sundanese',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    sv: {\n        name: 'Swedish',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    sw: {\n        name: 'Swahili',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    ta: {\n        name: 'Tamil',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    te: {\n        name: 'Telugu',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    tg: {\n        name: 'Tajik',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    th: {\n        name: 'Thai',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    ti: {\n        name: 'Tigrinya',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    tk: {\n        name: 'Turkmen',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    tr: {\n        name: 'Turkish',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    tt: {\n        name: 'Tatar',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    ug: {\n        name: 'Uyghur',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    uk: {\n        name: 'Ukrainian',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }, {\n            plural: 2,\n            sample: 5\n        }],\n        nplurals: 3,\n        pluralsText: 'nplurals = 3; plural = (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2)',\n        pluralsFunc: function(n) {\n            return (n % 10 === 1 && n % 100 !== 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n        }\n    },\n    ur: {\n        name: 'Urdu',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    uz: {\n        name: 'Uzbek',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    vi: {\n        name: 'Vietnamese',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    wa: {\n        name: 'Walloon',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n > 1)',\n        pluralsFunc: function(n) {\n            return (n > 1);\n        }\n    },\n    wo: {\n        name: 'Wolof',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    },\n    yo: {\n        name: 'Yoruba',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }, {\n            plural: 1,\n            sample: 2\n        }],\n        nplurals: 2,\n        pluralsText: 'nplurals = 2; plural = (n !== 1)',\n        pluralsFunc: function(n) {\n            return (n !== 1);\n        }\n    },\n    zh: {\n        name: 'Chinese',\n        examples: [{\n            plural: 0,\n            sample: 1\n        }],\n        nplurals: 1,\n        pluralsText: 'nplurals = 1; plural = 0',\n        pluralsFunc: function() {\n            return 0;\n        }\n    }\n};"],"names":["window","module","exports","a","n","e","s","t","i","l","call","m","c","d","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","__esModule","create","bind","default","prototype","hasOwnProperty","p","u","getLocale","locale","json","charset","headers","Language","translations","msgid","comments","translator","msgstr","seconds","reference","map","addTranslations","setLocale","updateLocale","parentLocale","relativeTime","assign","localeData","_relativeTime","gettext","OC","console","warn","getLanguage","translate","app","text","vars","count","options","L10N","translatePlural","textSingular","textPlural","getFirstDay","firstDay","getDayNames","dayNames","getDayNamesShort","dayNamesShort","getDayNamesMin","dayNamesMin","getMonthNames","monthNames","getMonthNamesShort","monthNamesShort","moment","defineLocale","months","split","monthsShort","weekdays","weekdaysShort","weekdaysMin","meridiemParse","isPM","input","test","meridiem","hours","minutes","isLower","longDateFormat","LT","LTS","L","LL","LLL","LLLL","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","future","past","ss","mm","h","hh","dd","M","MM","y","yy","dayOfMonthOrdinalParse","ordinal","number","week","dow","doy","factory","weekdaysParseExact","symbolMap","pluralForm","plurals","pluralize","withoutSuffix","string","isFuture","f","str","replace","hour","minute","preparse","postformat","match","numberMap","suffixes","1","5","8","70","80","2","7","20","50","3","4","100","6","9","10","30","60","90","b","plural","word","num","forms","relativeTimeWithPlural","key","format","standalone","isFormat","this","day","period","lastDigit","last2Digits","meridiemHour","relativeTimeWithMutation","mutation","specialMutationForYears","lastNumber","softMutation","mutationTable","undefined","charAt","substring","result","monthsParseExact","ll","lll","llll","output","monthsParse","monthsRegex","monthsShortRegex","monthsStrictRegex","monthsShortStrictRegex","longMonthsParse","shortMonthsParse","exec","processRelativeTime","isFunction","Function","toString","monthsNominativeEl","monthsGenitiveEl","momentToFormat","indexOf","_monthsGenitiveEl","month","_monthsNominativeEl","toLowerCase","calendarEl","mom","_calendarEl","apply","monthsShortDot","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","now","0","40","token","isUpper","processFutureTime","eifelerRegelAppliesToNumber","substr","processPastTime","parseInt","isNaN","units","translateSeconds","translateSingular","special","relativeTimeWithSingular","relativeSeconds","words","correctGrammaticalCase","wordKey","length","relativeTimeMr","monthsNominative","monthsSubjective","separator","days","12","13","numbersNouns","translateFuture","time","slice","translatePast","numberNoun","numberAsNoun","hundred","Math","floor","ten","one","hm","weekdaysCaseReplace","concat","processHoursFunction","hookCallback","some","hooks","arguments","setHookCallback","callback","isArray","Array","isObject","isObjectEmpty","obj","getOwnPropertyNames","k","isUndefined","isNumber","isDate","Date","arr","fn","res","push","hasOwnProp","extend","valueOf","createUTC","strict","createLocalOrUTC","utc","defaultParsingFlags","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","rfc2822","weekdayMismatch","getParsingFlags","_pf","isValid","_isValid","flags","parsedParts","isNowValid","_d","getTime","invalidWeekday","_strict","bigHour","isFrozen","createInvalid","NaN","fun","len","momentProperties","copyConfig","to","from","prop","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","updateInProgress","Moment","config","updateOffset","isMoment","absFloor","ceil","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","min","lengthDiff","abs","diffs","msg","suppressDeprecationWarnings","deprecate","firstTime","deprecationHandler","arg","args","join","Error","stack","keys","deprecations","deprecateSimple","name","set","_config","_dayOfMonthOrdinalParseLenient","RegExp","_dayOfMonthOrdinalParse","source","_ordinalParse","mergeConfigs","parentConfig","childConfig","Locale","defaultCalendar","_calendar","defaultLongDateFormat","_longDateFormat","formatUpper","toUpperCase","defaultInvalidDate","invalidDate","_invalidDate","defaultOrdinal","defaultDayOfMonthOrdinalParse","_ordinal","defaultRelativeTime","pastFuture","diff","aliases","addUnitAlias","unit","shorthand","lowerCase","normalizeUnits","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","getPrioritizedUnits","unitsObj","sort","zeroFill","targetLength","forceSign","absNumber","zerosToFill","pow","max","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","padded","func","removeFormattingTokens","makeFormatFunction","array","formatMoment","expandFormat","replaceLongDateFormatTokens","lastIndex","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchTimestamp","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","unescapeFormat","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","YEAR","MONTH","DATE","HOUR","MINUTE","SECOND","MILLISECOND","WEEK","WEEKDAY","daysInYear","year","isLeapYear","parseTwoDigitYear","getSetYear","makeGetSet","getIsLeapYear","keepTime","set$1","date","daysInMonth","stringGet","stringSet","prioritized","mod","x","modMonth","MONTHS_IN_FORMAT","defaultLocaleMonths","localeMonths","_months","defaultLocaleMonthsShort","localeMonthsShort","_monthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","localeMonthsParse","_monthsParseExact","setMonth","dayOfMonth","getSetMonth","getDaysInMonth","defaultMonthsShortRegex","computeMonthsParse","_monthsShortStrictRegex","_monthsShortRegex","defaultMonthsRegex","_monthsStrictRegex","_monthsRegex","cmpLenRev","shortPieces","longPieces","mixedPieces","createDate","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","fwd","getUTCDay","dayOfYearFromWeeks","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","localeWeek","_week","defaultLocaleWeek","localeFirstDayOfWeek","localeFirstDayOfYear","getSetWeek","add","getSetISOWeek","parseWeekday","weekdaysParse","parseIsoWeekday","shiftWeekdays","ws","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","defaultLocaleWeekdays","localeWeekdays","_weekdays","defaultLocaleWeekdaysShort","localeWeekdaysShort","_weekdaysShort","defaultLocaleWeekdaysMin","localeWeekdaysMin","_weekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","localeWeekdaysParse","_weekdaysParseExact","_fullWeekdaysParse","getSetDayOfWeek","getDay","getSetLocaleDayOfWeek","getSetISODayOfWeek","defaultWeekdaysRegex","computeWeekdaysParse","_weekdaysStrictRegex","_weekdaysRegex","defaultWeekdaysShortRegex","_weekdaysShortStrictRegex","_weekdaysShortRegex","defaultWeekdaysMinRegex","_weekdaysMinStrictRegex","_weekdaysMinRegex","minp","shortp","longp","minPieces","hFormat","kFormat","lowercase","matchMeridiem","_meridiemParse","localeIsPM","kInput","_isPm","_meridiem","pos","pos1","pos2","defaultLocaleMeridiemParse","localeMeridiem","globalLocale","getSetHour","baseConfig","locales","localeFamilies","normalizeLocale","chooseLocale","names","j","next","loadLocale","oldLocale","_abbr","getSetGlobalLocale","values","data","abbr","forEach","tmpLocale","listLocales","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","defaults","currentDateArray","nowValue","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","configFromArray","currentDate","expectedWeekday","yearToUse","dayOfYearFromWeekInfo","_dayOfYear","_nextDay","setUTCMinutes","getUTCMinutes","w","weekYear","temp","weekdayOverflow","GG","W","E","createLocal","curWeek","gg","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","configFromStringAndFormat","extractFromRFC2822Strings","yearStr","monthStr","dayStr","hourStr","minuteStr","secondStr","untruncateYear","preprocessRFC2822","checkWeekday","weekdayStr","parsedInput","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","calculateOffset","obsOffset","militaryOffset","numOffset","configFromRFC2822","parsedArray","configFromString","createFromInputFallback","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","meridiemFixWrap","isPm","configFromStringAndArray","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromObject","second","millisecond","createFromConfig","prepareConfig","configFromInput","isUTC","prototypeMin","other","prototypeMax","pickBy","moments","ordering","isDurationValid","unitHasDecimal","parseFloat","isValid$1","createInvalid$1","createDuration","Duration","duration","years","quarters","quarter","weeks","isoWeek","milliseconds","_milliseconds","_days","_data","_bubble","isDuration","absRound","round","offset","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","parts","cloneWithOffset","model","clone","setTime","local","getDateOffset","getTimezoneOffset","getSetOffset","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","addSubtract","getSetZone","setOffsetToUTC","setOffsetToLocal","subtract","setOffsetToParsedOffset","tZone","hasAlignedHourOffset","isDaylightSavingTime","isDaylightSavingTimeShifted","_isDSTShifted","toArray","isLocal","isUtcOffset","isUtc","aspNetRegex","isoRegex","ret","diffRes","parseIso","momentsDifference","inp","positiveMomentsDifference","base","isAfter","isBefore","createAdder","direction","tmp","isAdding","invalid","getCalendarFormat","myMoment","calendar$1","formats","sod","startOf","calendarFormat","localInput","endOf","isBetween","inclusivity","localFrom","localTo","isSame","inputMs","isSameOrAfter","isSameOrBefore","asFloat","that","zoneDelta","monthDiff","wholeMonthDiff","anchor","toISOString","keepOffset","toDate","inspect","zone","prefix","datetime","suffix","inputString","defaultFormatUtc","defaultFormat","humanize","fromNow","toNow","newLocaleData","lang","MS_PER_SECOND","MS_PER_MINUTE","MS_PER_HOUR","MS_PER_400_YEARS","mod$1","dividend","divisor","localStartOfDate","utcStartOfDate","startOfDate","isoWeekday","unix","toObject","toJSON","isValid$2","parsingFlags","invalidAt","creationData","addWeekYearFormatToken","getter","getSetWeekYear","getSetWeekYearHelper","getSetISOWeekYear","getISOWeeksInYear","getWeeksInYear","weekInfo","weeksTarget","setWeekAll","dayOfYearData","getSetQuarter","isoWeekYear","getSetDayOfMonth","getSetDayOfYear","getSetMinute","getSetSecond","parseMs","getSetMillisecond","getZoneAbbr","getZoneName","proto","createUnix","createInZone","parseZone","preParsePostFormat","isoWeeks","isoWeeksInYear","isDST","zoneAbbr","zoneName","dates","isDSTShifted","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","listMonths","listMonthsShort","listWeekdays","listWeekdaysShort","listWeekdaysMin","firstDayOfYear","firstDayOfWeek","langData","mathAbs","addSubtract$1","add$1","subtract$1","absCeil","bubble","monthsFromDays","monthsToDays","daysToMonths","as","valueOf$1","makeAs","alias","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asQuarters","asYears","clone$1","get$2","makeGetter","thresholds","substituteTimeAgo","relativeTime$1","posNegDuration","getSetRelativeTimeRounding","roundingFunction","getSetRelativeTimeThreshold","threshold","limit","withSuffix","abs$1","toISOString$1","Y","D","toFixed","total","totalSign","ymSign","daysSign","hmsSign","proto$2","toIsoString","version","relativeTimeRounding","relativeTimeThreshold","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","TIME","TIME_SECONDS","TIME_MS","Gettext","catalogs","domain","listeners","sourceLocale","debug","process","env","on","eventName","off","filter","listener","emit","eventData","message","trim","setTextDomain","dnpgettext","dgettext","ngettext","msgidPlural","dngettext","pgettext","msgctxt","dpgettext","npgettext","translation","defaultTranslation","_getTranslation","pluralsFunc","getLanguageCode","getComment","textdomain","setlocale","addTextdomain","error","ach","examples","sample","nplurals","pluralsText","af","ak","am","an","ar","arn","ast","ay","az","be","bg","bn","bo","br","brx","bs","ca","cgg","cs","csb","cy","da","de","doi","dz","el","en","eo","es","et","eu","fa","ff","fi","fil","fo","fr","fur","fy","ga","gd","gl","gu","gun","ha","he","hi","hne","hr","hu","hy","id","is","it","ja","jbo","jv","ka","kk","km","kn","ko","ku","kw","ky","lb","ln","lo","lt","lv","mai","mfe","mg","mi","mk","ml","mn","mni","mnk","mr","mt","my","nah","nap","nb","ne","nl","nn","no","nso","oc","or","pa","pap","pl","pms","ps","pt","rm","ro","ru","rw","sah","sat","sco","sd","se","si","sk","sl","so","son","sq","sr","su","sv","sw","ta","te","tg","th","ti","tk","tr","tt","ug","uk","ur","uz","vi","wa","wo","yo","zh"],"sourceRoot":""}