app/assets/javascripts/decidim/comments/bundle.js.map in decidim-comments-0.23.6 vs app/assets/javascripts/decidim/comments/bundle.js.map in decidim-comments-0.24.0.rc1

- old
+ new

@@ -1 +1 @@ -{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/apollo-utilities/lib/storeUtils.js","webpack:///./node_modules/apollo-utilities/lib/directives.js","webpack:///./node_modules/apollo-utilities/lib/fragments.js","webpack:///./node_modules/apollo-utilities/lib/util/assign.js","webpack:///./node_modules/apollo-utilities/lib/getFromAST.js","webpack:///./node_modules/apollo-utilities/lib/util/cloneDeep.js","webpack:///./node_modules/apollo-utilities/lib/transform.js","webpack:///./node_modules/apollo-utilities/lib/util/errorHandling.js","webpack:///./node_modules/apollo-utilities/lib/util/isEqual.js","webpack:///./node_modules/apollo-utilities/lib/util/maybeDeepFreeze.js","webpack:///./node_modules/apollo-utilities/lib/util/warnOnce.js","webpack:///./node_modules/react/index.js-exposed","webpack:///./node_modules/zen-observable-ts/lib/zenObservable.js","webpack:///./node_modules/apollo-link/lib/linkUtils.js","webpack:///./node_modules/zen-observable-ts/lib/index.js","webpack:///./node_modules/apollo-link/lib/link.js","webpack:///./node_modules/graphql/language/printer.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/fbjs/lib/emptyFunction.js","webpack:///./node_modules/react-i18nify/build/index.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/react-dom/index.js","webpack:///./node_modules/apollo-utilities/lib/util/environment.js","webpack:///./node_modules/fbjs/lib/emptyObject.js","webpack:///./node_modules/react-apollo/react-apollo.browser.umd.js","webpack:///./node_modules/invariant/browser.js","webpack:///./decidim-comments/app/frontend/queries/comments.query.graphql","webpack:///./node_modules/react/index.js","webpack:///./node_modules/react/cjs/react.production.min.js","webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js","webpack:///./node_modules/fbjs/lib/ExecutionEnvironment.js","webpack:///./node_modules/fbjs/lib/EventListener.js","webpack:///./node_modules/fbjs/lib/getActiveElement.js","webpack:///./node_modules/fbjs/lib/shallowEqual.js","webpack:///./node_modules/fbjs/lib/containsNode.js","webpack:///./node_modules/fbjs/lib/isTextNode.js","webpack:///./node_modules/fbjs/lib/isNode.js","webpack:///./node_modules/fbjs/lib/focusNode.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/fbjs/lib/invariant.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/react-i18nify/build/lib/I18n.js","webpack:///./node_modules/react-i18nify/build/lib/Base.js","webpack:///./decidim-comments/app/frontend/application/icon.component.tsx","webpack:///./decidim-comments/app/frontend/fragments/comment.fragment.graphql","webpack:///./node_modules/hoist-non-react-statics/index.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/unfetch/dist/unfetch.es.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./decidim-comments/app/frontend/comments/add_comment_form.component.tsx","webpack:///./node_modules/uuid/lib/rng-browser.js","webpack:///./node_modules/uuid/lib/bytesToUuid.js","webpack:///./decidim-comments/app/frontend/fragments/comment_thread.fragment.graphql","webpack:///./decidim-comments/app/frontend/comments/vote_button.component.tsx","webpack:///./decidim-comments/config/locales/am-ET.yml","webpack:///./decidim-comments/config/locales/ar-SA.yml","webpack:///./decidim-comments/config/locales/ar.yml","webpack:///./decidim-comments/config/locales/bg-BG.yml","webpack:///./decidim-comments/config/locales/bg.yml","webpack:///./decidim-comments/config/locales/ca.yml","webpack:///./decidim-comments/config/locales/cs-CZ.yml","webpack:///./decidim-comments/config/locales/cs.yml","webpack:///./decidim-comments/config/locales/da-DK.yml","webpack:///./decidim-comments/config/locales/da.yml","webpack:///./decidim-comments/config/locales/de.yml","webpack:///./decidim-comments/config/locales/el-GR.yml","webpack:///./decidim-comments/config/locales/el.yml","webpack:///./decidim-comments/config/locales/en.yml","webpack:///./decidim-comments/config/locales/eo-UY.yml","webpack:///./decidim-comments/config/locales/eo.yml","webpack:///./decidim-comments/config/locales/es-MX.yml","webpack:///./decidim-comments/config/locales/es-PY.yml","webpack:///./decidim-comments/config/locales/es.yml","webpack:///./decidim-comments/config/locales/et-EE.yml","webpack:///./decidim-comments/config/locales/et.yml","webpack:///./decidim-comments/config/locales/eu.yml","webpack:///./decidim-comments/config/locales/fi-pl.yml","webpack:///./decidim-comments/config/locales/fi-plain.yml","webpack:///./decidim-comments/config/locales/fi.yml","webpack:///./decidim-comments/config/locales/fr-CA.yml","webpack:///./decidim-comments/config/locales/fr.yml","webpack:///./decidim-comments/config/locales/ga-IE.yml","webpack:///./decidim-comments/config/locales/gl.yml","webpack:///./decidim-comments/config/locales/hr-HR.yml","webpack:///./decidim-comments/config/locales/hr.yml","webpack:///./decidim-comments/config/locales/hu.yml","webpack:///./decidim-comments/config/locales/id-ID.yml","webpack:///./decidim-comments/config/locales/is-IS.yml","webpack:///./decidim-comments/config/locales/is.yml","webpack:///./decidim-comments/config/locales/it.yml","webpack:///./decidim-comments/config/locales/ja-JP.yml","webpack:///./decidim-comments/config/locales/ja.yml","webpack:///./decidim-comments/config/locales/ko-KR.yml","webpack:///./decidim-comments/config/locales/ko.yml","webpack:///./decidim-comments/config/locales/lt-LT.yml","webpack:///./decidim-comments/config/locales/lt.yml","webpack:///./decidim-comments/config/locales/lv.yml","webpack:///./decidim-comments/config/locales/mt-MT.yml","webpack:///./decidim-comments/config/locales/mt.yml","webpack:///./decidim-comments/config/locales/nl.yml","webpack:///./decidim-comments/config/locales/no.yml","webpack:///./decidim-comments/config/locales/om-ET.yml","webpack:///./decidim-comments/config/locales/pl.yml","webpack:///./decidim-comments/config/locales/pt-BR.yml","webpack:///./decidim-comments/config/locales/pt.yml","webpack:///./decidim-comments/config/locales/ro-RO.yml","webpack:///./decidim-comments/config/locales/ru.yml","webpack:///./decidim-comments/config/locales/si-LK.yml","webpack:///./decidim-comments/config/locales/sk-SK.yml","webpack:///./decidim-comments/config/locales/sk.yml","webpack:///./decidim-comments/config/locales/sl.yml","webpack:///./decidim-comments/config/locales/so-SO.yml","webpack:///./decidim-comments/config/locales/sr-CS.yml","webpack:///./decidim-comments/config/locales/sv.yml","webpack:///./decidim-comments/config/locales/sw-KE.yml","webpack:///./decidim-comments/config/locales/ti-ER.yml","webpack:///./decidim-comments/config/locales/tr-TR.yml","webpack:///./decidim-comments/config/locales/uk.yml","webpack:///./decidim-comments/config/locales/vi-VN.yml","webpack:///./decidim-comments/config/locales/vi.yml","webpack:///./decidim-comments/config/locales/zh-CN.yml","webpack:///./decidim-comments/config/locales/zh-TW.yml","webpack:///./node_modules/symbol-observable/es/index.js","webpack:///./node_modules/symbol-observable/es/ponyfill.js","webpack:///./node_modules/apollo-client/version.js","webpack:///./decidim-comments/app/frontend/entry.ts","webpack:///./decidim-comments/app/frontend/comments/comments.component.tsx","webpack:///./node_modules/lodash.flowright/index.js","webpack:///./node_modules/lodash.pick/index.js","webpack:///./decidim-comments/app/frontend/application/application.component.tsx","webpack:///./decidim-comments/app/frontend/application/apollo_client.ts","webpack:///./node_modules/graphql/language/visitor.js","webpack:///./node_modules/zen-observable/index.js","webpack:///./node_modules/zen-observable/zen-observable.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/unfetch/polyfill.js","webpack:///./node_modules/intl/index.js","webpack:///./node_modules/intl/lib/core.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/moment/min/locales.js","webpack:///./node_modules/react-i18nify/build/lib/Translate.js","webpack:///./node_modules/react-i18nify/build/lib/Localize.js","webpack:///./node_modules/uuid/index.js","webpack:///./node_modules/uuid/v1.js","webpack:///./node_modules/uuid/v4.js","webpack:///./decidim-comments/app/frontend/support/asset_url.ts","webpack:///./decidim-comments/app/frontend/mutations/add_comment.mutation.graphql","webpack:///./decidim-comments/app/frontend/fragments/comment_data.fragment.graphql","webpack:///./decidim-comments/app/frontend/fragments/up_vote_button.fragment.graphql","webpack:///./decidim-comments/app/frontend/fragments/down_vote_button.fragment.graphql","webpack:///./decidim-comments/app/frontend/fragments/add_comment_form_session.fragment.graphql","webpack:///./decidim-comments/app/frontend/fragments/add_comment_form_commentable.fragment.graphql","webpack:///./decidim-comments/app/frontend/comments/comment_order_selector.component.tsx","webpack:///./decidim-comments/app/frontend/comments/comment_thread.component.tsx","webpack:///./decidim-comments/app/frontend/comments/comment.component.tsx","webpack:///./decidim-comments/app/frontend/comments/down_vote_button.component.tsx","webpack:///./decidim-comments/app/frontend/mutations/down_vote.mutation.graphql","webpack:///./decidim-comments/app/frontend/comments/up_vote_button.component.tsx","webpack:///./decidim-comments/app/frontend/mutations/up_vote.mutation.graphql","webpack:///./decidim-comments/app/frontend/support/load_translations.ts","webpack:///./decidim-comments/app/frontend/support/require_all.ts","webpack:///./decidim-comments/config/locales sync \\.yml$","webpack:///./decidim-comments/config/locales sync ^\\.\\/.*\\.yml$","webpack:///./node_modules/apollo-cache/lib/utils.js","webpack:///./node_modules/apollo-cache/lib/types/Cache.js","webpack:///./node_modules/apollo-cache/lib/cache.js","webpack:///./node_modules/apollo-cache-inmemory/lib/fragmentMatcher.js","webpack:///./node_modules/apollo-cache-inmemory/lib/objectCache.js","webpack:///./node_modules/apollo-cache-inmemory/lib/writeToStore.js","webpack:///./node_modules/graphql-anywhere/lib/graphql.js","webpack:///./node_modules/graphql-anywhere/lib/utilities.js","webpack:///./node_modules/graphql-anywhere/lib/index.js","webpack:///./node_modules/apollo-cache-inmemory/lib/readFromStore.js","webpack:///./node_modules/apollo-cache-inmemory/lib/recordingCache.js","webpack:///./node_modules/apollo-cache-inmemory/lib/inMemoryCache.js","webpack:///./node_modules/apollo-client/core/networkStatus.js","webpack:///./node_modules/apollo-client/util/Observable.js","webpack:///./node_modules/apollo-client/errors/ApolloError.js","webpack:///./node_modules/apollo-client/core/types.js","webpack:///./node_modules/apollo-client/core/ObservableQuery.js","webpack:///./node_modules/apollo-link-dedup/lib/dedupLink.js","webpack:///./node_modules/apollo-client/scheduler/scheduler.js","webpack:///./node_modules/apollo-client/data/mutations.js","webpack:///./node_modules/apollo-client/data/queries.js","webpack:///./node_modules/apollo-client/core/QueryManager.js","webpack:///./node_modules/apollo-client/data/store.js","webpack:///./node_modules/apollo-client/ApolloClient.js","webpack:///./node_modules/apollo-client/index.js","webpack:///./node_modules/apollo-link-http/lib/httpLink.js","webpack:///./node_modules/apollo-link-http-common/lib/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","hookCallback","some","hooks","apply","arguments","isArray","input","Array","toString","isObject","isUndefined","isNumber","isDate","Date","map","arr","fn","res","length","push","hasOwnProp","a","b","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","undefined","bigHour","isFrozen","createInvalid","NaN","fun","this","len","momentProperties","copyConfig","to","from","prop","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","updateInProgress","Moment","config","updateOffset","isMoment","obj","absFloor","number","Math","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","min","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","args","slice","join","Error","stack","keys","deprecations","deprecateSimple","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","zeroFill","targetLength","forceSign","absNumber","zerosToFill","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInYear","year","isLeapYear","y","parseTwoDigitYear","parseInt","indexOf","getSetYear","makeGetSet","keepTime","set$1","month","date","daysInMonth","x","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","MONTHS_IN_FORMAT","defaultLocaleMonths","split","defaultLocaleMonthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","setMonth","dayOfMonth","getSetMonth","defaultMonthsShortRegex","defaultMonthsRegex","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createDate","h","M","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","day","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","loadLocale","oldLocale","_abbr","getSetGlobalLocale","e","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","names","j","next","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","defaults","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","now","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","currentDateArray","w","weekYear","temp","weekdayOverflow","GG","W","E","createLocal","_week","curWeek","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","getDay","setUTCMinutes","getUTCMinutes","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","string","exec","configFromStringAndFormat","untruncateYear","yearStr","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromRFC2822","monthStr","dayStr","hourStr","minuteStr","secondStr","result","trim","parsedArray","weekdayStr","parsedInput","checkWeekday","obsOffset","militaryOffset","numOffset","hm","calculateOffset","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","hour","isPm","meridiemHour","meridiemFixWrap","prepareConfig","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromStringAndArray","createFromInputFallback","configFromString","minute","second","millisecond","configFromObject","configFromInput","isUTC","getOwnPropertyNames","k","isObjectEmpty","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","days","milliseconds","unitHasDecimal","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","parts","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","base","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","monthDiff","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","addWeekYearFormatToken","getSetWeekYearHelper","weeksTarget","setWeekAll","dayOfYearData","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","proto","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","isoWeekday","toArray","toObject","toDate","toISOString","keepOffset","inspect","zone","isLocal","prefix","suffix","toJSON","unix","creationData","isoWeek","isoWeeks","weekInfo","isoWeeksInYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","isFormat","_monthsShort","_monthsParseExact","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","_weekdaysParseExact","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","makeGetter","thresholds","substituteTimeAgo","abs$1","toISOString$1","Y","D","toFixed","total","totalSign","ymSign","daysSign","hmsSign","proto$2","monthsFromDays","withSuffix","posNegDuration","relativeTime$1","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","DATE","TIME","TIME_SECONDS","TIME_MS","WEEK","MONTH","factory","valueToObjectRepresentation","argObj","variables","kind","isIntValue","isFloatValue","Number","isBooleanValue","isStringValue","isObjectValue","nestedArgObj_1","fields","isVariable","variableValue","isListValue","listValue","nestedArgArrayObj","isEnumValue","isNullValue","storeKeyNameFromField","directivesObj","directives","directive","getStoreKeyName","KNOWN_DIRECTIVES","fieldName","filterKeys","queryArgs_1","filteredArgs_1","JSON","stringify","completeFieldName","stringifiedArgs","argumentsObjectFromField","argObj_1","resultKeyNameFromField","isField","selection","isInlineFragment","isIdValue","idObject","type","toIdValue","id","generated","isJsonValue","jsonObject","getDirectiveInfoFromField","directiveObj_1","shouldInclude","directiveArguments","directiveName","ifArgument","ifValue","evaledValue","added","Map","getDirectiveNames","doc","cached","definitions","filter","definition","selectionSet","selections","flattenSelections","concat","selectionNode","reduce","selected","hasDirectives","__assign","assign","getFragmentQueryDocument","document","fragmentName","actualFragmentName","fragments","operation","target","sources","getMutationDefinition","checkDocument","mutationDef","operations","getOperationDefinition","getOperationDefinitionOrDie","def","getOperationName","getFragmentDefinitions","getQueryDefinition","queryDef","getMainDefinition","queryDoc","fragmentDefinition","createFragmentMap","symTable","fragment","getDefaultValues","variableDefinitions","defaultValues","defaultValue","variable","defaultValueObj","cloneDeep","item","nextValue","TYPENAME_FIELD","isNotEmpty","op","getDirectiveMatcher","dir","removeDirectivesFromDocument","docClone","removeDirectivesFromSelectionSet","agressiveRemove","remove","directiveMatcher","shouldKeep","addTypenameToDocument","isRoot","addTypenameToSelectionSet","lastIndexOf","connectionRemoveConfig","willRemove","removed","removeConnectionDirectiveFromDocument","tryFunctionOrLogError","f","error","graphQLResultHasError","errors","isEqual","maybeDeepFreeze","deepFreeze","freeze","haveWarned","warnOnceInDevelopment","extendStatics","__extends","setPrototypeOf","__proto__","__","constructor","LinkError","_super","message","link","_this","isTerminating","request","fromError","errorValue","observer","createOperation","starting","context","query","operationName","getKey","passthrough","forward","of","toLink","handler","ApolloLink","links","left","right","leftLink","rightLink","first","firstLink","nextLink","execute","transformedOperation","extensions","transformOperation","OPERATION_FIELDS","validateOperation","print","ast","_visitor","visit","leave","printDocASTReducer","Name","node","Variable","Document","OperationDefinition","varDefs","wrap","VariableDefinition","_ref","SelectionSet","_ref2","block","Field","_ref3","Argument","_ref4","FragmentSpread","_ref5","InlineFragment","_ref6","typeCondition","FragmentDefinition","_ref7","IntValue","_ref8","FloatValue","_ref9","StringValue","_ref10","isDescription","escaped","indent","printBlockString","BooleanValue","_ref11","NullValue","EnumValue","_ref12","ListValue","_ref13","ObjectValue","_ref14","ObjectField","_ref15","Directive","_ref16","NamedType","_ref17","ListType","_ref18","NonNullType","_ref19","SchemaDefinition","_ref20","operationTypes","OperationTypeDefinition","_ref21","ScalarTypeDefinition","addDescription","_ref22","ObjectTypeDefinition","_ref23","interfaces","FieldDefinition","_ref24","InputValueDefinition","_ref25","InterfaceTypeDefinition","_ref26","UnionTypeDefinition","_ref27","types","EnumTypeDefinition","_ref28","EnumValueDefinition","_ref29","InputObjectTypeDefinition","_ref30","ScalarTypeExtension","_ref31","ObjectTypeExtension","_ref32","InterfaceTypeExtension","_ref33","UnionTypeExtension","_ref34","EnumTypeExtension","_ref35","InputObjectTypeExtension","_ref36","DirectiveDefinition","_ref37","locations","cb","description","maybeArray","start","maybeString","end","g","window","hasOwn","classNames","classes","argType","makeEmptyFunction","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","_I18n","_interopRequireDefault","default","_Translate","_Localize","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","TypeError","test1","String","test2","fromCharCode","test3","letter","err","shouldUseNative","symbols","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","isEnv","env","process","isProduction","isDevelopment","isTest","React","PropTypes","lodash_flowright","shallowEqual","objA","objB","keysA","keysB","DocumentType","__rest","ObservableQueryRecycler","observableQueries","recycle","observableQuery","setOptions","fetchPolicy","pollInterval","fetchResults","subscription","subscribe","reuse","options","pop","unsubscribe","ssr","skip","client","modifiableOpts","__extends$1","QueryRecyclerProvider","props","recyclers","WeakMap","getQueryRecycler","componentWillReceiveProps","_","nextContext","component","has","getChildContext","render","Children","only","children","propTypes","element","isRequired","contextTypes","childContextTypes","Component","invariant","ApolloProvider","createElement","invariant$2","__extends$2","__assign$1","invariant$1","pick","hoistNonReactStatics","defaultMapPropsToOptions","defaultMapPropsToSkip","observableQueryFields","observable","getDisplayName","WrappedComponent","displayName","nextVersion","__extends$3","invariant$3","assign$1","hoistNonReactStatics$1","assign$2","getQueriesFromTree","fetchRoot","rootElement","_b","rootContext","queries","walkTree","element$$1","visitor","Component$$1","defaultProps","childContext","child","isReactComponent","instance_1","state","setState","newState","componentWillMount","instance","skipRoot","fetchData","compose","graphql","operationOptions","_c","mapPropsToOptions","mapPropsToSkip","mapResultToProps","mutations","subscriptions","Query","Mutation","Subscription","parser","graphQLDisplayName","GraphQL","previousData","dataForChildViaMutation","setWrappedInstance","shouldSkip","setInitialProps","componentDidMount","hasMounted","subscribeToQuery","refetcherQueue","resolve","reject","queryObservable","refetch","then","catch","nextProps","unsubscribeFromQuery","shouldRerender","updateQuery","shouldResubscribe","componentWillUnmount","recycler","getClient","calculateOptions","newOpts","opts","calculateResultProps","newResult","ownProps","createQuery","watchQuery","metadata","reactComponent","_setOptionsNoResult","currentResult","loading","querySubscription","results","lastSubscriptionData","clashingKeys","forceRenderChildren","forceUpdate","getWrappedInstance","withRef","wrappedInstance","ref","mutationOpts","mutation","mutate","dataForChild","error_1","networkStatus","logErrorTimeoutId_1","setTimeout","configurable","clearTimeout","getLastResult","Promise","renderedElement","clientProps","mergedPropsAndData","withApollo","withDisplayName","getDisplayName$1","WithApollo","getDataFromTree","mappedQueries","all","queryErrors","condition","argIndex","framesToPop","loc","unique","defs","definitionRefs","findOperation","find","refs","Set","collectFragmentReferences","newDoc","opRefs","allRefs","newRefs","size","prevRefs","refName","childRef","oneQuery","q","v","iterator","encodeURIComponent","z","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","A","updater","B","C","isPureReactComponent","F","unstable_isAsyncReactComponent","G","current","H","I","__self","__source","J","$$typeof","_owner","K","N","keyPrefix","count","O","P","Q","done","escape","R","S","T","U","PureComponent","unstable_AsyncComponent","Fragment","cloneElement","createFactory","isValidElement","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","V","aa","ba","da","ea","fa","ia","oa","dangerouslySetInnerHTML","defaultChecked","innerHTML","suppressContentEditableWarning","suppressHydrationWarning","style","pa","ta","MUST_USE_PROPERTY","HAS_BOOLEAN_VALUE","HAS_NUMERIC_VALUE","HAS_POSITIVE_NUMERIC_VALUE","HAS_OVERLOADED_BOOLEAN_VALUE","HAS_STRING_BOOLEAN_VALUE","injectDOMPropertyConfig","Properties","DOMAttributeNamespaces","DOMAttributeNames","DOMMutationMethods","ua","attributeName","attributeNamespace","propertyName","mutationMethod","mustUseProperty","hasBooleanValue","hasNumericValue","hasPositiveNumericValue","hasOverloadedBooleanValue","hasStringBooleanValue","va","wa","xa","ya","za","Aa","Ba","Ca","Da","allowFullScreen","async","autoFocus","autoPlay","capture","checked","cols","contentEditable","controls","defer","disabled","download","draggable","formNoValidate","hidden","loop","multiple","muted","noValidate","open","playsInline","readOnly","required","reversed","rows","rowSpan","scoped","seamless","span","spellCheck","tabIndex","itemScope","acceptCharset","className","htmlFor","httpEquiv","removeAttribute","hasAttribute","validity","badInput","ownerDocument","activeElement","setAttribute","Ea","Ga","autoReverse","externalResourcesRequired","preserveAlpha","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlSpace","Ha","Ia","_caughtError","_hasCaughtError","_rethrowError","_hasRethrowError","injection","injectErrorUtils","invokeGuardedCallback","Ja","invokeGuardedCallbackAndCatchFirstError","hasCaughtError","clearCaughtError","rethrowCaughtError","Ka","La","Ma","Na","Oa","extractEvents","eventTypes","Pa","phasedRegistrationNames","Qa","registrationName","Ra","Sa","dependencies","Ta","Ua","Va","plugins","eventNameDispatchConfigs","registrationNameModules","registrationNameDependencies","possibleRegistrationNames","injectEventPluginOrder","injectEventPluginsByName","Wa","Xa","Ya","Za","currentTarget","$a","ab","bb","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","db","gb","hb","ib","stateNode","jb","kb","lb","mb","getListener","enqueueEvents","processEventQueue","nb","random","ob","pb","parentNode","tag","qb","rb","sb","precacheFiberNode","getClosestInstanceFromNode","getInstanceFromNode","getNodeFromInstance","getFiberCurrentPropsFromNode","updateFiberProps","tb","ub","vb","dispatchConfig","wb","_targetInst","xb","yb","zb","Ab","Bb","alternate","Cb","accumulateTwoPhaseDispatches","accumulateTwoPhaseDispatchesSkipTarget","accumulateEnterLeaveDispatches","accumulateDirectDispatches","Db","Eb","canUseDOM","documentElement","_root","_startText","_fallbackText","Fb","Gb","Hb","Ib","eventPhase","bubbles","cancelable","timeStamp","defaultPrevented","isTrusted","nativeEvent","Interface","isDefaultPrevented","returnValue","Kb","eventPool","Lb","destructor","Jb","getPooled","Mb","Nb","preventDefault","stopPropagation","cancelBubble","persist","augmentClass","Xb","Pb","Vb","Wb","documentMode","Yb","opera","Zb","$b","ac","bc","beforeInput","bubbled","captured","compositionEnd","compositionStart","compositionUpdate","cc","dc","keyCode","ec","detail","fc","ic","which","gc","ctrlKey","altKey","metaKey","char","hc","jc","kc","lc","mc","restoreControlledState","nc","injectFiberControlledHostComponent","oc","pc","qc","enqueueStateRestore","restoreStateIfNeeded","rc","sc","tc","xc","uc","color","datetime","email","password","range","search","tel","text","url","vc","nodeName","wc","srcElement","correspondingUseElement","nodeType","yc","implementation","hasFeature","zc","Bc","_valueTracker","getOwnPropertyDescriptor","getValue","setValue","stopTracking","Ac","Cc","Dc","change","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","detachEvent","Mc","Nc","attachEvent","Oc","Pc","$c","ad","_isInputEventSupported","_wrapperState","controlled","getAttribute","bd","view","cd","Alt","Control","Meta","Shift","getModifierState","ed","fd","screenX","screenY","clientX","clientY","pageX","pageY","shiftKey","button","buttons","relatedTarget","fromElement","toElement","gd","mouseEnter","mouseLeave","hd","defaultView","parentWindow","jd","kd","effectTag","ld","_reactInternalFiber","md","nd","sibling","qd","rd","targetInst","ancestors","containerInfo","sd","topLevelType","td","ud","listen","vd","wd","xd","setHandleTopLevel","setEnabled","isEnabled","trapBubbledEvent","trapCapturedEvent","dispatchEvent","yd","zd","animationend","animationiteration","animationstart","transitionend","Ad","Bd","Cd","animation","transition","Dd","topAbort","topAnimationEnd","topAnimationIteration","topAnimationStart","topBlur","topCancel","topCanPlay","topCanPlayThrough","topChange","topClick","topClose","topCompositionEnd","topCompositionStart","topCompositionUpdate","topContextMenu","topCopy","topCut","topDoubleClick","topDrag","topDragEnd","topDragEnter","topDragExit","topDragLeave","topDragOver","topDragStart","topDrop","topDurationChange","topEmptied","topEncrypted","topEnded","topError","topFocus","topInput","topKeyDown","topKeyPress","topKeyUp","topLoadedData","topLoad","topLoadedMetadata","topLoadStart","topMouseDown","topMouseMove","topMouseOut","topMouseOver","topMouseUp","topPaste","topPause","topPlay","topPlaying","topProgress","topRateChange","topScroll","topSeeked","topSeeking","topSelectionChange","topStalled","topSuspend","topTextInput","topTimeUpdate","topToggle","topTouchCancel","topTouchEnd","topTouchMove","topTouchStart","topTransitionEnd","topVolumeChange","topWaiting","topWheel","Ed","Fd","Gd","Hd","Id","firstChild","Jd","textContent","nextSibling","Kd","Ld","Md","select","Nd","Od","Pd","Qd","Rd","selectionStart","selectionEnd","getSelection","anchorNode","anchorOffset","focusNode","focusOffset","Sd","onSelect","Td","Ud","Vd","Wd","charCode","animationName","elapsedTime","pseudoElement","clipboardData","Xd","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Yd","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","Zd","$d","ae","be","ce","location","repeat","dataTransfer","touches","targetTouches","changedTouches","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","de","ee","fe","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","ge","he","ie","X","je","ke","le","me","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","ne","oe","cursor","pe","qe","__reactInternalMemoizedMergedChildContext","re","memoizedState","updateQueue","memoizedProps","pendingProps","internalContextTag","lastEffect","firstEffect","nextEffect","expirationTime","se","te","ue","ve","we","xe","ye","pendingChildren","ze","Ae","Be","De","Ee","Fe","baseState","last","callbackList","hasForceUpdate","isInitialized","Ge","He","Ie","partialState","Je","isReplace","isForced","Ke","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","_stringRef","$e","af","bf","cf","df","pendingContext","shouldSetTextContent","useSyncScheduling","shouldDeprioritizeSubtree","pushHostContext","pushHostContainer","enterHydrationState","resetHydrationState","tryToClaimNextHydratableInstance","nextCallback","adoptClassInstance","constructClassInstance","mountClassInstance","updateClassInstance","componentDidUpdate","shouldComponentUpdate","componentWillUpdate","Le","Ob","beginWork","hydrate","beginFailedWork","gf","kf","Qb","ja","isReadyForCommit","yg","zg","Ag","Ne","Oe","Sc","Bg","Tc","Cg","Dg","Eg","componentDidCatch","componentStack","ca","Qc","ha","qa","Fg","rg","Gg","Uc","ra","Rc","eb","qg","_debugOwner","_debugSource","fileName","lineNumber","componentName","errorBoundary","errorBoundaryFound","errorBoundaryName","willRetry","suppressReactErrorLogging","Vc","ka","Hg","Rb","Ig","nextScheduledRoot","remainingExpirationTime","sa","Fa","la","Sb","ma","na","Wc","Pe","Tb","Jg","Xc","Kg","timeout","fb","Yc","Ub","Zc","finishedWork","timeRemaining","Lg","getChildHostContext","getRootHostContext","getHostContext","getRootHostContainer","popHostContainer","popHostContext","resetHostContainer","hf","hydration","prepareToHydrateHostInstance","prepareToHydrateHostTextInstance","popHydrationState","canHydrateInstance","canHydrateTextInstance","getNextHydratableSibling","getFirstHydratableChild","hydrateInstance","hydrateTextInstance","jf","Me","createInstance","createTextInstance","appendInitialChild","finalizeInitialChildren","prepareUpdate","persistence","completeWork","ef","getPublicInstance","commitMount","commitUpdate","resetTextContent","commitTextUpdate","appendChild","appendChildToContainer","insertBefore","insertInContainerBefore","removeChild","removeChildFromContainer","commitResetTextContent","commitPlacement","commitDeletion","commitWork","commitLifeCycles","commitAttachRef","commitDetachRef","ff","scheduleDeferredCallback","cancelDeferredCallback","prepareForCommit","resetAfterCommit","computeAsyncExpiration","computeExpirationForFiber","scheduleWork","batchedUpdates","unbatchedUpdates","flushSync","deferredUpdates","lf","od","createContainer","updateContainer","getPublicRootInstance","findHostInstance","findHostInstanceWithNoPortals","pd","injectIntoDevTools","findFiberByHostInstance","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Ce","findHostInstanceByFiber","mf","nf","pf","qf","performance","rf","sf","tf","requestIdleCallback","cancelIdleCallback","Bf","uf","vf","wf","xf","yf","zf","Af","didTimeout","Cf","addEventListener","requestAnimationFrame","Df","postMessage","Infinity","Ef","Ff","Gf","If","Jf","setAttributeNS","Kf","Hf","Lf","step","initialValue","initialChecked","Mf","Nf","Of","Pf","Rf","Qf","Sf","defaultSelected","Tf","wasMultiple","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","MSApp","execUnsafeLocalFunction","namespaceURI","cg","lastChild","nodeValue","dg","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","eg","fg","setProperty","substring","menuitem","area","br","col","embed","hr","img","keygen","meta","param","track","wbr","hg","ig","is","jg","kg","lg","mg","ng","createElementNS","og","createTextNode","pg","__html","onClick","onclick","sg","tg","ug","vg","wg","setInitialProperties","diffProperties","updateProperties","diffHydratedProperties","diffHydratedText","warnForUnmatchedText","warnForDeletedHydratableElement","warnForDeletedHydratableText","warnForInsertedHydratedElement","warnForInsertedHydratedText","querySelectorAll","form","xg","Mg","Ng","Z","tagName","rangeCount","focusedElem","selectionRange","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","top","scrollTop","focus","didNotMatchHydratedContainerTextInstance","didNotMatchHydratedTextInstance","didNotHydrateContainerInstance","didNotHydrateInstance","didNotFindHydratableContainerInstance","didNotFindHydratableContainerTextInstance","didNotFindHydratableInstance","didNotFindHydratableTextInstance","Pg","_reactRootContainer","Og","Qg","Rg","unmount","Sg","createPortal","findDOMNode","unstable_renderSubtreeIntoContainer","unmountComponentAtNode","unstable_createPortal","unstable_batchedUpdates","unstable_deferredUpdates","EventPluginHub","EventPluginRegistry","EventPropagators","ReactControlledComponent","ReactDOMComponentTree","ReactDOMEventListener","bundleType","rendererPackageName","Tg","Ug","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","isInWorker","EventListener","eventType","removeEventListener","registerDefault","body","isTextNode","containsNode","outerNode","innerNode","contains","compareDocumentPosition","isNode","Node","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","noop","nextTick","title","browser","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","ReactPropTypesSecret","shim","propName","propFullName","secret","getShim","ReactPropTypes","bool","symbol","any","arrayOf","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","_typeof","_intl2","_moment2","_Base2","_localeKey","_translationsObject","_getTranslations","_getLocale","_handleMissingTranslation","translations","setLocale","rerenderComponents","forceComponentsUpdate","setTranslations","_translations","loadTranslations","setTranslationsGetter","setLocaleGetter","setHandleMissingTranslation","replacements","_translate","_localize","_replace","translation","replacement","_result","translationKey","translationLocale","_fetchTranslation","parseFormat","Boolean","strictParse","global","Intl","NumberFormat","supportedLocalesOf","_index","rerenderAll","_createClass","defineProperties","descriptor","writable","Constructor","protoProps","staticProps","_react","_classCallCheck","_possibleConstructorReturn","self","ReferenceError","Base","_React$Component","getPrototypeOf","subClass","superClass","_inherits","instances","splice","iconExtraClassName","role","REACT_STATICS","getDefaultProps","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","objectPrototype","targetComponent","sourceComponent","blacklist","inheritedComponent","webpackPolyfill","paths","fetch","XMLHttpRequest","method","headers","setRequestHeader","response","header","getAllResponseHeaders","ok","status","statusText","responseURL","responseText","json","parse","blob","Blob","entries","withCredentials","credentials","onload","onerror","send","moment","symbolMap","numberMap","pluralForm","plurals","pluralize","str","weekdaysParseExact","suffixes","1","5","70","80","2","7","50","3","4","100","6","10","30","60","90","relativeTimeWithPlural","num","forms","standalone","lastDigit","last2Digits","relativeTimeWithMutation","mutationTable","softMutation","lastNumber","translate","monthsParseExact","ll","lll","llll","plural","shortMonthsParse","longMonthsParse","processRelativeTime","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShortDot","monthsStrictRegex","monthsShortStrictRegex","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","0","isUpper","eifelerRegelAppliesToNumber","translateSingular","special","relativeTimeWithSingular","translator","words","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","numbersNouns","numberNoun","hundred","ten","one","word","numberAsNoun","processHoursFunction","I18n","Translate","alignment","addComment","onCommentAdded","session","submitButtonClassName","remainingCharacterCount","commentsMaxLength","arguable","user","verifiedUserGroups","AddCommentForm","userGroupId","toggleTranslations","getRandomValues","crypto","msCrypto","rnds8","Uint8Array","rnds","byteToHex","buf","bth","buttonClassName","iconName","votes","voteAction","selectedClass","userLoggedIn","root","symbolObservablePonyfill","totalCommentsCount","singleCommentId","reorderComments","orderBy","acceptsNewComments","userAllowedToComment","commentable","comments","commentsHaveVotes","commentsHaveAlignment","Comments","commentableId","commentableType","freeGlobal","freeSelf","thisArg","arrayPush","objectProto","objectToString","spreadableSymbol","isConcatSpreadable","nativeMax","isFlattenable","isObjectLike","isLength","isArrayLike","isArrayLikeObject","isArguments","fromRight","flowRight","funcs","baseFlatten","depth","predicate","reverse","otherArgs","toKey","isSymbol","basePickBy","basePick","iteratee","arrayMap","visitorKeys","QueryDocumentKeys","inArray","edits","parent","path","newRoot","isLeaving","isEdited","editOffset","editKey","editValue","prev","visitFn","getVisitFn","BREAK","visitInParallel","visitors","skipping","enter","visitWithTypeInfo","typeInfo","maybeNode","kindVisitor","kindSpecificVisitor","specificVisitor","specificKindVisitor","Observable","hasSymbol","getSymbol","hostReportError","getMethod","getSpecies","ctor","addMethods","methods","desc","cleanupSubscription","cleanup","_cleanup","subscriptionClosed","_observer","subscriber","start$0","SubscriptionObserver","cleanup$0","_subscription","_subscriber","m$0","m$1","complete","m$2","__$0","__this","closed","hasSeed","hasValue","seed","acc","observable$0","__$1","item$0","i$0","items","i$1","observableSymbol","setHostReportError","originalModule","IntlPolyfill","__applyLocaleSensitivePrototypes","REACT_ELEMENT_TYPE","jsx","for","childrenLength","childArray","createClass","defineProperty$1","_extends","selfGlobal","slicedToArray","_arr","_n","_e","_s","sliceIterator","babelHelpers$1","asyncToGenerator","gen","info","classCallCheck","defineEnumerableProperties","descs","receiver","inherits","interopRequireDefault","interopRequireWildcard","newObj","newArrowCheck","innerThis","boundThis","objectDestructuringEmpty","objectWithoutProperties","possibleConstructorReturn","slicedToArrayLoose","_step","_iterator","taggedTemplateLiteral","strings","raw","taggedTemplateLiteralLoose","temporalRef","undef","temporalUndefined","toConsumableArray","arr2","typeof","extends","instanceof","hasInstance","realDefineProp","sentinel","es3","__defineGetter__","hop","arrIndexOf","objCreate","arrSlice","arrConcat","arrPush","arrJoin","arrShift","fnBind","thisObj","internals","Record","List","createRegExpRestore","disableRegExpRestore","regExpCache","lastMatch","leftContext","multiline","esc","lm","reg","exprStr","expr","toNumber","toLength","toInteger","getInternalProperties","__getInternalProperties","variant","extension","singleton","expBCP47Syntax","expVariantDupes","expSingletonDupes","expExtSequences","defaultLocale","redundantTags","tags","subtags","BU","DD","FX","TP","YD","ZR","heploc","iw","ji","jw","mo","ayx","bjd","ccq","cjr","cka","cmk","drh","drw","gav","hrr","ibi","kgh","lcq","mst","myt","sca","tie","tkk","tlw","tnf","ybd","yma","extLang","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","aed","aen","afb","afg","ajp","apc","apd","arb","arq","ars","ary","arz","ase","asf","asp","asq","asw","auz","avl","ayh","ayl","ayn","ayp","bbz","bfi","bfk","bjn","bog","bqn","bqy","btj","bve","bvl","bvu","bzs","cdo","cds","cjy","cmn","coa","cpx","csc","csd","cse","csf","csg","csl","csn","csq","csr","czh","czo","doq","dse","dsl","dup","ecs","esl","esn","eso","eth","fcs","fse","fsl","fss","gan","gds","gom","gse","gsg","gsm","gss","gus","hab","haf","hak","hds","hji","hks","hos","hps","hsh","hsl","hsn","icl","ils","inl","ins","ise","isg","isr","jak","jax","jcs","jhs","jls","jos","jsl","jus","kgi","knn","kvb","kvk","kvr","kxd","lbs","lce","lcf","liw","lls","lsg","lsl","lso","lsp","lst","lsy","ltg","lvs","lzh","mdl","meo","mfa","mfb","mfs","mnp","mqg","mre","msd","msi","msr","mui","mzc","mzg","mzy","nan","nbs","ncs","nsi","nsl","nsp","nsr","nzs","okl","orn","ors","pel","pga","pks","prl","prz","psc","psd","pse","psg","psl","pso","psp","psr","pys","rms","rsi","rsl","sdl","sfb","sfs","sgg","sgx","shu","slf","sls","sqk","sqs","ssh","ssp","svk","swc","swh","swl","syy","tmw","tse","tsm","tsq","tss","tsy","tza","ugn","ugy","ukl","uks","urk","uzn","uzs","vgt","vkk","vkt","vsi","vsl","vsv","wuu","xki","xml","xmm","xms","yds","ysl","yue","zib","zlm","zmi","zsl","zsm","toLatinUpperCase","ch","IsStructurallyValidLanguageTag","CanonicalizeLanguageTag","_max","expCurrencyCode","expUnicodeExSeq","CanonicalizeLocaleList","seen","Pk","kValue","RangeError","BestAvailableLocale","availableLocales","candidate","LookupMatcher","requestedLocales","availableLocale","noExtensionsLocale","extensionIndex","ResolveLocale","relevantExtensionKeys","foundLocale","BestFitMatcher","extensionSubtags","extensionSubtagsLength","supportedExtension","keyLocaleData","supportedExtensionAddition","keyPos","requestedValue","optionsValue","privateIndex","preExtension","postExtension","LookupSupportedLocales","subset","SupportedLocales","localeMatcher","BestFitSupportedLocales","GetOption","fallback","GetNumberOption","minimum","maximum","currencyMinorUnits","BHD","BYR","XOF","BIF","XAF","CLF","CLP","KMF","DJF","XPF","GNF","ISK","IQD","JPY","JOD","KRW","KWD","LYD","OMR","PYG","RWF","TND","UGX","UYI","VUV","VND","NumberFormatConstructor","InitializeNumberFormat","numberFormat","internal","regexpRestore","opt","dataLocale","normalized","cDigits","currency","CurrencyDigits","mnid","mnfd","mxfd","mnsd","minimumSignificantDigits","mxsd","maximumSignificantDigits","stylePatterns","patterns","positivePattern","negativePattern","GetFormatNumber","FormatNumber","FormatNumberToParts","PartitionNumberPattern","part","nums","ild","latn","pattern","beginIndex","endIndex","nextIndex","literal","_n2","ToRawPrecision","ToRawFixed","numSys","digits","digit","integer","fraction","decimalSepIndex","groupSepSymbol","group","groups","pgSize","primaryGroupSize","sgSize","secondaryGroupSize","idx","integerGroup","decimalSepSymbol","decimal","infinity","plusSignSymbol","plusSign","minusSignSymbol","minusSign","percentSignSymbol","percentSign","currencies","_literal","_literal2","minPrecision","maxPrecision","log10","log","LOG10E","log10Floor","exp","LN10","cut","minInteger","minFraction","maxFraction","int","arab","arabext","bali","beng","deva","fullwide","gujr","guru","hanidec","khmr","knda","laoo","limb","mlym","mong","mymr","orya","tamldec","telu","thai","tibt","expDTComponents","expPatternTrimmer","unwantedDTCs","dtKeys","tmKeys","isDateFormatOnly","isTimeFormatOnly","joinDateAndTimeFormats","dateFormatObj","timeFormatObj","computeFinalPatterns","formatObj","pattern12","extendedPattern","$0","expDTComponentsMeta","era","hour12","timeZoneName","createDateTimeFormat","skeleton","originalPattern","validSyntheticProps","numeric","narrow","short","long","dateWidths","resolveDateString","width","gregory","alts","resolved","DateTimeFormatConstructor","InitializeDateTimeFormat","DateTimeFormat","dateTimeFormat","ToDateTimeOptions","tz","timeZone","dateTimeComponents","bestFormat","dataLocaleData","availableFormats","timeFormats","dateFormats","computed","timeRelatedFormats","dateRelatedFormats","full","medium","createDateTimeFormats","ToDateTimeFormats","bestScore","optionsProp","formatProp","optionsPropIndex","formatPropIndex","delta","BasicFormatMatcher","_hr","optionsPropNames","_bestFormat","propValue","generateSyntheticFormat","_property","patternProp","BestFitFormatMatcher","_prop","hr12","hourNo0","GetFormatDateTime","opt2","needDefaults","FormatDateTime","CreateDateTimeParts","useGrouping","nf2","minimumIntegerDigits","tm","calendars","fv","FormatToPartsDateTime","ls","__localeSensitiveProtos","toLocaleString","toLocaleDateString","toLocaleTimeString","nu","setDefaultLocale","addLocaleData","webpackContext","req","webpackContextResolve","code","symbolMap$1","symbolMap$2","numberMap$1","pluralForm$1","plurals$1","pluralize$1","months$1","symbolMap$3","numberMap$2","symbolMap$4","numberMap$3","months$2","plural$1","translate$1","processRelativeTime$1","processRelativeTime$2","months$3","monthsShort$1","monthsShortDot$1","monthsShort$2","monthsShortDot$2","monthsShort$3","monthsParse$1","monthsRegex$1","processRelativeTime$3","symbolMap$5","numberMap$4","translate$2","processRelativeTime$4","symbolMap$6","numberMap$5","symbolMap$7","numberMap$6","translate$3","translate$4","plural$2","translate$5","suffixes$1","symbolMap$8","numberMap$7","suffixes$2","processRelativeTime$5","translate$6","units$1","relativeTimeWithPlural$1","symbolMap$9","numberMap$8","symbolMap$10","numberMap$9","symbolMap$11","numberMap$10","monthsShortWithDots$1","monthsShortWithoutDots$1","monthsParse$2","monthsRegex$2","monthsShortWithDots$2","monthsShortWithoutDots$2","monthsParse$3","monthsRegex$3","symbolMap$12","numberMap$11","plural$3","translate$7","relativeTimeWithPlural$2","relativeTimeWithPlural$3","plural$4","monthsParse$4","months$5","months$6","monthsShort$5","plural$5","translate$8","processRelativeTime$6","translator$1","translator$2","symbolMap$13","numberMap$12","suffixes$3","translate$9","suffixes$4","processRelativeTime$7","relativeTimeWithPlural$4","plural$6","months$7","days$1","_react2","_propTypes2","_I18n2","_BaseComponent","_props","Tag","dangerousHTML","otherProps","Localize","_props$options","localization","v1","v4","uuid","_nodeId","_clockseq","rng","bytesToUuid","_lastMSecs","_lastNSecs","clockseq","seedBytes","msecs","nsecs","dt","tl","tmh","comment","votable","rootCommentable","author","showReplyForm","formattedBody","createdAt","formattedCreatedAt","articleClassName","hasComments","isRootComment","showReplies","sgid","alreadyReported","downVotes","upVoted","downVoted","downVote","upVotes","upVote","queryFromPojo","selectionSetFromObj","nestedSelSet","Cache","justTypenameQuery","ApolloCache","transformDocument","transformForLink","readQuery","optimistic","read","readFragment","rootId","writeQuery","write","dataId","writeFragment","writeData","typename","typenameResult","__typename","dataToWrite","HeuristicFragmentMatcher","ensureReady","canBypassInit","idValue","store","returnPartialData","IntrospectionFragmentMatcher","introspectionQueryResultData","possibleTypesMap","parseIntrospectionResult","isReady","implementingTypes","introspectionResultData","typeMap","__schema","possibleTypes","implementingType","ObjectCache","delete","clear","newData","defaultNormalizedCacheFactory","WriteError","enhanceErrorWithDocument","enhancedError","writeQueryToStore","storeFactory","dataIdFromObject","fragmentMap","fragmentMatcherFunction","queryDefinition","writeSelectionSetToStore","processedData","writeResultToStore","operationDefinition","included","resultFieldKey","storeValue","storeObject","storeFieldName","shouldMerge","generatedKey","processArrayValue","generatedId","itemDataId","semanticId","isDataProcessed","valueDataId","isGeneratedId","escapedId","newStoreObj","mergeWithGenerated","realKey","cache","real","realValue","writeFieldToStore","fakeContext","hasMissingField","cacheRedirects","resolver","rootValue","contextValue","variableValues","execOptions","mainDefinition","execContext","resultMapper","fragmentMatcher","executeSelectionSet","fieldResult","isLeaf","resultKey","executeSubSelectedArray","executeField","merge","fragmentResult","dest","src","destKey","srcKey","PropTypeError","ID_KEY","readQueryFromStore","diffQueryAgainstStore","readStoreResolver","assertIdValue","objId","storeKeyName","fieldValue","getCacheKey","previousResult","addPreviousResultToIdValues","idToPreviousResult_1","itemPreviousResult","resultFields","currentResultKeys_1","sameKeys","every","areNestedArrayItemsStrictlyEqual","RecordingCache","recordedData","record","transaction","startingState","defaultConfig","defaultDataIdFromObject","addTypename","_id","InMemoryCache","watches","silenceBroadcast","customResolvers","cacheResolvers","restore","extract","patches","broadcastWatches","watch","evict","reset","removeOptimistic","toPerform","recordOptimisticTransaction","performTransaction","alreadySilenced","patch","recordingCache","dataCache","NetworkStatus","isNetworkRequestInFlight","FetchType","ApolloError","graphQLErrors","networkError","errorMessage","extraInfo","graphQLError","ObservableQuery","scheduler","shouldSubscribe","onSubscribe","isCurrentlyPolling","isTornDown","queryId","queryManager","generateQueryId","observers","subscriptionHandles","obs","removeQuery","lastError","lastResult","policy","queryStoreValue","queryStore","errorPolicy","getCurrentQueryResult","partial","queryLoading","ready","stale","getLastError","resetLastResults","combinedOptions","fetchQuery","fetchMore","fetchMoreOptions","qid","normal","fetchMoreResult","subscribeToMore","startGraphQLSubscription","previous","subscriptionData","onError","oldOptions","startPolling","stopPolling","tryFetch","setVariables","newVariables","lastVariables","mapFn","getQueryWithPreviousResult","dataStore","markUpdateQueryResult","broadcastQueries","stopPollingQuery","startPollingQuery","setUpQuery","tearDownQuery","addObservableQuery","startQuery","queryListenerForObserver","sub","removeObservableQuery","stopQuery","DedupLink","inFlightRequestObservables","subscribers","getContext","forceFetch","subscription_1","singleObserver_1","sharedObserver","QueryScheduler","ssrMode","inFlightQueries","registeredQueries","intervalQueries","pollingTimers","checkInFlight","fetchType","listener","addQueryListener","addQueryOnInterval","fetchQueriesOnInterval","interval","queryOptions","pollingOptions","poll","clearInterval","setInterval","registerPollingQuery","MutationStore","getStore","mutationId","initMutation","mutationString","markMutationError","markMutationResult","QueryStore","initQuery","previousQuery","queryString","isSetVariables","previousVariables","storePreviousVariables","isPoll","isRefetch","fetchMoreForQueryId","markQueryResult","markQueryError","markQueryResultClient","observableQueryIds","defaultQueryInfo","invalidated","lastRequestId","QueryManager","queryDeduplication","onBroadcast","mutationStore","idCounter","fetchQueryPromises","queryIdsByName","deduplicator","optimisticResponse","updateQueriesByName","updateQueries","refetchQueries","updateWithProxyFn","update","getCache","setQuery","generateUpdateQueriesInfo","queryName","markMutationInit","storeResult","buildOperationForLink","markMutationComplete","refetchQuery","refetchQueryByName","needToFetch","shouldFetch","requestId","generateRequestId","cancel","updateQueryWatch","invalidate","networkResult","fetchRequest","getQuery","removeFetchQueryPromise","previouslyHadError","shouldNotifyIfLoading","networkStatusChanged","errorStatusChanged","notifyOnNetworkStatusChange","apolloError_1","isMissing","document_1","readResult","resultFromStore","transformedOptions","resPromise","addFetchQueryPromise","stopQueryInStore","promise","resetStore","resetIds","dataStoreReset","observableQueryPromises","getObservableQueryPromises","includeStandby","reFetchObservableQueries","transformedDoc","markSubscriptionResult","queryIdOrObservable","foundObserveableQuery","errorsFromStore","retPromise","refetchedQueries","newInfo","extraContext","DataStore","initialCache","ignoreErrors","writeWithErrors","optimistic_1","orig","cacheWrites_1","currentQueryResult","nextQueryResult","mutationResult","queryVariables","update_1","hasSuggestedDevtools","supportedDirectives","ApolloClient","defaultOptions","resetStoreCallbacks","ssrForceFetchDelay","connectToDevTools","disableNetworkFetches","defaultConnectToDevTools","__APOLLO_CLIENT__","__APOLLO_DEVTOOLS_GLOBAL_HOOK__","navigator","userAgent","debug","initQueryManager","initProxy","__actionHookForDevTools","devToolsHookCb","__requestRaw","payload","action","dataWithOptimisticResults","onResetStore","serializedState","proxy","fallbackHttpConfig","http","includeQuery","includeExtensions","accept","throwServerError","statusCode","serializeFetchParameter","label","serialized","parseError","createHttpLink","linkOptions","uri","fetcher","useGETForQueries","requestOptions","library","checkFetcher","linkConfig","fetchOptions","chosenURI","fallbackURI","contextURI","selectURI","contextConfig","fallbackConfig","configs","selectHttpOptionsAndBody","AbortController","controller","signal","createSignalIfSupported","queryParams","addQueryParam","serializedVariables","serializedExtensions","preFragment","fragmentStart","queryParamsPrefix","newURI","rewriteURIForGET","setContext","bodyText","abort","HttpLink"],"mappings":"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AC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACblvF,IAAK,CAAC,MAAO,MACbmvF,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbvyF,IAAK,CAAC,MAAO,MACbwyF,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbp5D,IAAK,C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AAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,gBAAiB,IACjB,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IAC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","file":"decidim-comments/app/assets/javascripts/decidim/comments/bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 550);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\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\nvar hookCallback;\n\nfunction 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.\nfunction setHookCallback (callback) {\n hookCallback = callback;\n}\n\nfunction isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n}\n\nfunction 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\nfunction 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\nfunction isUndefined(input) {\n return input === void 0;\n}\n\nfunction isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n}\n\nfunction isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n}\n\nfunction 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\nfunction hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n}\n\nfunction 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\nfunction createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n}\n\nfunction 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\nfunction getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n}\n\nvar some;\nif (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\nfunction 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\nfunction 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.\nvar momentProperties = hooks.momentProperties = [];\n\nfunction 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\nvar updateInProgress = false;\n\n// Moment prototype object\nfunction 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\nfunction isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n}\n\nfunction 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\nfunction 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\nfunction 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\nfunction warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n}\n\nfunction 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\nvar deprecations = {};\n\nfunction 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\nhooks.suppressDeprecationWarnings = false;\nhooks.deprecationHandler = null;\n\nfunction isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n}\n\nfunction 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\nfunction 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\nfunction Locale(config) {\n if (config != null) {\n this.set(config);\n }\n}\n\nvar keys;\n\nif (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\nvar 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\nfunction calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n}\n\nvar 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\nfunction 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\nvar defaultInvalidDate = 'Invalid date';\n\nfunction invalidDate () {\n return this._invalidDate;\n}\n\nvar defaultOrdinal = '%d';\nvar defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\nfunction ordinal (number) {\n return this._ordinal.replace('%d', number);\n}\n\nvar 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\nfunction 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\nfunction 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\nvar aliases = {};\n\nfunction addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n}\n\nfunction normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n}\n\nfunction 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\nvar priorities = {};\n\nfunction addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n}\n\nfunction 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\nfunction 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\nvar 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\nvar localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\nvar formatFunctions = {};\n\nvar formatTokenFunctions = {};\n\n// token: 'M'\n// padded: ['MM', 2]\n// ordinal: 'Mo'\n// callback: function () { this.month() + 1 }\nfunction 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\nfunction removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n}\n\nfunction 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\nfunction 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\nfunction 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\nvar match1 = /\\d/; // 0 - 9\nvar match2 = /\\d\\d/; // 00 - 99\nvar match3 = /\\d{3}/; // 000 - 999\nvar match4 = /\\d{4}/; // 0000 - 9999\nvar match6 = /[+-]?\\d{6}/; // -999999 - 999999\nvar match1to2 = /\\d\\d?/; // 0 - 99\nvar match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\nvar match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\nvar match1to3 = /\\d{1,3}/; // 0 - 999\nvar match1to4 = /\\d{1,4}/; // 0 - 9999\nvar match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\nvar matchUnsigned = /\\d+/; // 0 - inf\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\nvar matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\nvar 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\nvar 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\nvar regexes = {};\n\nfunction addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n}\n\nfunction 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\nfunction unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n}\n\nfunction regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nvar tokens = {};\n\nfunction 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\nfunction 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\nfunction addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n}\n\nvar YEAR = 0;\nvar MONTH = 1;\nvar DATE = 2;\nvar HOUR = 3;\nvar MINUTE = 4;\nvar SECOND = 5;\nvar MILLISECOND = 6;\nvar WEEK = 7;\nvar WEEKDAY = 8;\n\n// FORMATTING\n\naddFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n});\n\naddFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n});\n\naddFormatToken(0, ['YYYY', 4], 0, 'year');\naddFormatToken(0, ['YYYYY', 5], 0, 'year');\naddFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n// ALIASES\n\naddUnitAlias('year', 'y');\n\n// PRIORITIES\n\naddUnitPriority('year', 1);\n\n// PARSING\n\naddRegexToken('Y', matchSigned);\naddRegexToken('YY', match1to2, match2);\naddRegexToken('YYYY', match1to4, match4);\naddRegexToken('YYYYY', match1to6, match6);\naddRegexToken('YYYYYY', match1to6, match6);\n\naddParseToken(['YYYYY', 'YYYYYY'], YEAR);\naddParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n});\naddParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n});\naddParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n});\n\n// HELPERS\n\nfunction daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n}\n\nfunction isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n}\n\n// HOOKS\n\nhooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n};\n\n// MOMENTS\n\nvar getSetYear = makeGetSet('FullYear', true);\n\nfunction getIsLeapYear () {\n return isLeapYear(this.year());\n}\n\nfunction 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\nfunction get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n}\n\nfunction 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\nfunction stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n}\n\n\nfunction 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\nfunction mod(n, x) {\n return ((n % x) + x) % x;\n}\n\nvar indexOf;\n\nif (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\nfunction 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\naddFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n});\n\naddFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n});\n\naddFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n});\n\n// ALIASES\n\naddUnitAlias('month', 'M');\n\n// PRIORITY\n\naddUnitPriority('month', 8);\n\n// PARSING\n\naddRegexToken('M', match1to2);\naddRegexToken('MM', match1to2, match2);\naddRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n});\naddRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n});\n\naddParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n});\n\naddParseToken(['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\nvar MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\nvar defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\nfunction 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\nvar defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n}\n\nvar defaultMonthsShortRegex = matchWord;\nfunction 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\nvar defaultMonthsRegex = matchWord;\nfunction 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\nfunction 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\nfunction 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 = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n}\n\nfunction createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n}\n\n// start-of-first-week - start-of-year\nfunction 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\nfunction 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\nfunction 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\nfunction 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\naddFormatToken('w', ['ww', 2], 'wo', 'week');\naddFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n// ALIASES\n\naddUnitAlias('week', 'w');\naddUnitAlias('isoWeek', 'W');\n\n// PRIORITIES\n\naddUnitPriority('week', 5);\naddUnitPriority('isoWeek', 5);\n\n// PARSING\n\naddRegexToken('w', match1to2);\naddRegexToken('ww', match1to2, match2);\naddRegexToken('W', match1to2);\naddRegexToken('WW', match1to2, match2);\n\naddWeekParseToken(['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\nfunction localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n}\n\nvar defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n};\n\nfunction localeFirstDayOfWeek () {\n return this._week.dow;\n}\n\nfunction localeFirstDayOfYear () {\n return this._week.doy;\n}\n\n// MOMENTS\n\nfunction getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\nfunction 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\naddFormatToken('d', 0, 'do', 'day');\n\naddFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n});\n\naddFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n});\n\naddFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n});\n\naddFormatToken('e', 0, 0, 'weekday');\naddFormatToken('E', 0, 0, 'isoWeekday');\n\n// ALIASES\n\naddUnitAlias('day', 'd');\naddUnitAlias('weekday', 'e');\naddUnitAlias('isoWeekday', 'E');\n\n// PRIORITY\naddUnitPriority('day', 11);\naddUnitPriority('weekday', 11);\naddUnitPriority('isoWeekday', 11);\n\n// PARSING\n\naddRegexToken('d', match1to2);\naddRegexToken('e', match1to2);\naddRegexToken('E', match1to2);\naddRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n});\naddRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n});\naddRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n});\n\naddWeekParseToken(['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\naddWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n});\n\n// HELPERS\n\nfunction 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\nfunction 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\nvar defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\nfunction localeWeekdays (m, format) {\n if (!m) {\n return isArray(this._weekdays) ? this._weekdays :\n this._weekdays['standalone'];\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n}\n\nvar defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\nfunction localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n}\n\nvar defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\nfunction localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n}\n\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nvar defaultWeekdaysRegex = matchWord;\nfunction 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\nvar defaultWeekdaysShortRegex = matchWord;\nfunction 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\nvar defaultWeekdaysMinRegex = matchWord;\nfunction 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\nfunction 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\nfunction hFormat() {\n return this.hours() % 12 || 12;\n}\n\nfunction kFormat() {\n return this.hours() || 24;\n}\n\naddFormatToken('H', ['HH', 2], 0, 'hour');\naddFormatToken('h', ['hh', 2], 0, hFormat);\naddFormatToken('k', ['kk', 2], 0, kFormat);\n\naddFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n});\n\naddFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n});\n\nfunction meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n}\n\nmeridiem('a', true);\nmeridiem('A', false);\n\n// ALIASES\n\naddUnitAlias('hour', 'h');\n\n// PRIORITY\naddUnitPriority('hour', 13);\n\n// PARSING\n\nfunction matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n}\n\naddRegexToken('a', matchMeridiem);\naddRegexToken('A', matchMeridiem);\naddRegexToken('H', match1to2);\naddRegexToken('h', match1to2);\naddRegexToken('k', match1to2);\naddRegexToken('HH', match1to2, match2);\naddRegexToken('hh', match1to2, match2);\naddRegexToken('kk', match1to2, match2);\n\naddRegexToken('hmm', match3to4);\naddRegexToken('hmmss', match5to6);\naddRegexToken('Hmm', match3to4);\naddRegexToken('Hmmss', match5to6);\n\naddParseToken(['H', 'HH'], HOUR);\naddParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n});\naddParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n});\naddParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('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});\naddParseToken('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});\naddParseToken('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});\naddParseToken('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\nfunction 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\nvar defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\nfunction 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 he wants. So trying to maintain the same hour (in\n// a new timezone) makes sense. Adding/subtracting hours does not follow\n// this rule.\nvar getSetHour = makeGetSet('Hours', true);\n\nvar 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\nvar locales = {};\nvar localeFamilies = {};\nvar globalLocale;\n\nfunction 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\nfunction 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\nfunction 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.\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction listLocales() {\n return keys(locales);\n}\n\nfunction 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.\nfunction 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\nfunction 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]\nfunction 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\nfunction 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 begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining 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)\nvar 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)?)?$/;\nvar 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\nvar tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\nvar 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\nvar 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\nvar aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n// date from iso format\nfunction 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\nvar 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\nfunction 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\nfunction 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\nfunction 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, ' ').trim();\n}\n\nfunction 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\nvar 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\nfunction 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\nfunction 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\nfunction 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\nhooks.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\nhooks.ISO_8601 = function () {};\n\n// constant that refers to the RFC 2822 form\nhooks.RFC_2822 = function () {};\n\n// date from string and format string\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n}\n\nvar 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\nvar 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.\nfunction 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?\nfunction min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n}\n\nfunction max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n}\n\nvar now = function () {\n return Date.now ? Date.now() : +(new Date());\n};\n\nvar ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\nfunction 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\nfunction isValid$1() {\n return this._isValid;\n}\n\nfunction createInvalid$1() {\n return createDuration(NaN);\n}\n\nfunction 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 || 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\nfunction isDuration (obj) {\n return obj instanceof Duration;\n}\n\nfunction 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\nfunction 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\noffset('Z', ':');\noffset('ZZ', '');\n\n// PARSING\n\naddRegexToken('Z', matchShortOffset);\naddRegexToken('ZZ', matchShortOffset);\naddParseToken(['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']\nvar chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\nfunction 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.\nfunction 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\nfunction 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.\nhooks.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.\nfunction 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\nfunction 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\nfunction setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n}\n\nfunction 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\nfunction 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\nfunction 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\nfunction isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n}\n\nfunction 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\nfunction isLocal () {\n return this.isValid() ? !this._isUTC : false;\n}\n\nfunction isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n}\n\nfunction isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n}\n\n// ASP.NET json date format regex\nvar 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\nvar 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\nfunction 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 : (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\ncreateDuration.fn = Duration.prototype;\ncreateDuration.invalid = createInvalid$1;\n\nfunction 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\nfunction positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\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\nfunction 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\nfunction 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\nfunction 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\nvar add = createAdder(1, 'add');\nvar subtract = createAdder(-1, 'subtract');\n\nfunction 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\nfunction 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\nfunction clone () {\n return new Moment(this);\n}\n\nfunction isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? 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\nfunction isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? 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\nfunction isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n}\n\nfunction 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\nfunction isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n}\n\nfunction isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n}\n\nfunction 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\nfunction 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\nhooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\nhooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\nfunction toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n}\n\nfunction 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 */\nfunction 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\nfunction 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\nfunction 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\nfunction fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n}\n\nfunction 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\nfunction 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.\nfunction 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\nvar 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\nfunction localeData () {\n return this._locale;\n}\n\nfunction startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n}\n\nfunction endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n}\n\nfunction valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n}\n\nfunction unix () {\n return Math.floor(this.valueOf() / 1000);\n}\n\nfunction toDate () {\n return new Date(this.valueOf());\n}\n\nfunction toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n}\n\nfunction 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\nfunction toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n}\n\nfunction isValid$2 () {\n return isValid(this);\n}\n\nfunction parsingFlags () {\n return extend({}, getParsingFlags(this));\n}\n\nfunction invalidAt () {\n return getParsingFlags(this).overflow;\n}\n\nfunction 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\naddFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n});\n\naddFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n});\n\nfunction addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n}\n\naddWeekYearFormatToken('gggg', 'weekYear');\naddWeekYearFormatToken('ggggg', 'weekYear');\naddWeekYearFormatToken('GGGG', 'isoWeekYear');\naddWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n// ALIASES\n\naddUnitAlias('weekYear', 'gg');\naddUnitAlias('isoWeekYear', 'GG');\n\n// PRIORITY\n\naddUnitPriority('weekYear', 1);\naddUnitPriority('isoWeekYear', 1);\n\n\n// PARSING\n\naddRegexToken('G', matchSigned);\naddRegexToken('g', matchSigned);\naddRegexToken('GG', match1to2, match2);\naddRegexToken('gg', match1to2, match2);\naddRegexToken('GGGG', match1to4, match4);\naddRegexToken('gggg', match1to4, match4);\naddRegexToken('GGGGG', match1to6, match6);\naddRegexToken('ggggg', match1to6, match6);\n\naddWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n});\n\naddWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n});\n\n// MOMENTS\n\nfunction 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\nfunction getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n}\n\nfunction getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n}\n\nfunction getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n}\n\nfunction 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\nfunction 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\naddFormatToken('Q', 0, 'Qo', 'quarter');\n\n// ALIASES\n\naddUnitAlias('quarter', 'Q');\n\n// PRIORITY\n\naddUnitPriority('quarter', 7);\n\n// PARSING\n\naddRegexToken('Q', match1);\naddParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n});\n\n// MOMENTS\n\nfunction 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\naddFormatToken('D', ['DD', 2], 'Do', 'date');\n\n// ALIASES\n\naddUnitAlias('date', 'D');\n\n// PRIOROITY\naddUnitPriority('date', 9);\n\n// PARSING\n\naddRegexToken('D', match1to2);\naddRegexToken('DD', match1to2, match2);\naddRegexToken('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\naddParseToken(['D', 'DD'], DATE);\naddParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n});\n\n// MOMENTS\n\nvar getSetDayOfMonth = makeGetSet('Date', true);\n\n// FORMATTING\n\naddFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n// ALIASES\n\naddUnitAlias('dayOfYear', 'DDD');\n\n// PRIORITY\naddUnitPriority('dayOfYear', 4);\n\n// PARSING\n\naddRegexToken('DDD', match1to3);\naddRegexToken('DDDD', match3);\naddParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n});\n\n// HELPERS\n\n// MOMENTS\n\nfunction 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\naddFormatToken('m', ['mm', 2], 0, 'minute');\n\n// ALIASES\n\naddUnitAlias('minute', 'm');\n\n// PRIORITY\n\naddUnitPriority('minute', 14);\n\n// PARSING\n\naddRegexToken('m', match1to2);\naddRegexToken('mm', match1to2, match2);\naddParseToken(['m', 'mm'], MINUTE);\n\n// MOMENTS\n\nvar getSetMinute = makeGetSet('Minutes', false);\n\n// FORMATTING\n\naddFormatToken('s', ['ss', 2], 0, 'second');\n\n// ALIASES\n\naddUnitAlias('second', 's');\n\n// PRIORITY\n\naddUnitPriority('second', 15);\n\n// PARSING\n\naddRegexToken('s', match1to2);\naddRegexToken('ss', match1to2, match2);\naddParseToken(['s', 'ss'], SECOND);\n\n// MOMENTS\n\nvar getSetSecond = makeGetSet('Seconds', false);\n\n// FORMATTING\n\naddFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n});\n\naddFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n});\n\naddFormatToken(0, ['SSS', 3], 0, 'millisecond');\naddFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n});\naddFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n});\naddFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n});\naddFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n});\naddFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n});\naddFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n});\n\n\n// ALIASES\n\naddUnitAlias('millisecond', 'ms');\n\n// PRIORITY\n\naddUnitPriority('millisecond', 16);\n\n// PARSING\n\naddRegexToken('S', match1to3, match1);\naddRegexToken('SS', match1to3, match2);\naddRegexToken('SSS', match1to3, match3);\n\nvar token;\nfor (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n}\n\nfunction parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n}\n\nfor (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n}\n// MOMENTS\n\nvar getSetMillisecond = makeGetSet('Milliseconds', false);\n\n// FORMATTING\n\naddFormatToken('z', 0, 0, 'zoneAbbr');\naddFormatToken('zz', 0, 0, 'zoneName');\n\n// MOMENTS\n\nfunction getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n}\n\nfunction getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n}\n\nvar proto = Moment.prototype;\n\nproto.add = add;\nproto.calendar = calendar$1;\nproto.clone = clone;\nproto.diff = diff;\nproto.endOf = endOf;\nproto.format = format;\nproto.from = from;\nproto.fromNow = fromNow;\nproto.to = to;\nproto.toNow = toNow;\nproto.get = stringGet;\nproto.invalidAt = invalidAt;\nproto.isAfter = isAfter;\nproto.isBefore = isBefore;\nproto.isBetween = isBetween;\nproto.isSame = isSame;\nproto.isSameOrAfter = isSameOrAfter;\nproto.isSameOrBefore = isSameOrBefore;\nproto.isValid = isValid$2;\nproto.lang = lang;\nproto.locale = locale;\nproto.localeData = localeData;\nproto.max = prototypeMax;\nproto.min = prototypeMin;\nproto.parsingFlags = parsingFlags;\nproto.set = stringSet;\nproto.startOf = startOf;\nproto.subtract = subtract;\nproto.toArray = toArray;\nproto.toObject = toObject;\nproto.toDate = toDate;\nproto.toISOString = toISOString;\nproto.inspect = inspect;\nproto.toJSON = toJSON;\nproto.toString = toString;\nproto.unix = unix;\nproto.valueOf = valueOf;\nproto.creationData = creationData;\nproto.year = getSetYear;\nproto.isLeapYear = getIsLeapYear;\nproto.weekYear = getSetWeekYear;\nproto.isoWeekYear = getSetISOWeekYear;\nproto.quarter = proto.quarters = getSetQuarter;\nproto.month = getSetMonth;\nproto.daysInMonth = getDaysInMonth;\nproto.week = proto.weeks = getSetWeek;\nproto.isoWeek = proto.isoWeeks = getSetISOWeek;\nproto.weeksInYear = getWeeksInYear;\nproto.isoWeeksInYear = getISOWeeksInYear;\nproto.date = getSetDayOfMonth;\nproto.day = proto.days = getSetDayOfWeek;\nproto.weekday = getSetLocaleDayOfWeek;\nproto.isoWeekday = getSetISODayOfWeek;\nproto.dayOfYear = getSetDayOfYear;\nproto.hour = proto.hours = getSetHour;\nproto.minute = proto.minutes = getSetMinute;\nproto.second = proto.seconds = getSetSecond;\nproto.millisecond = proto.milliseconds = getSetMillisecond;\nproto.utcOffset = getSetOffset;\nproto.utc = setOffsetToUTC;\nproto.local = setOffsetToLocal;\nproto.parseZone = setOffsetToParsedOffset;\nproto.hasAlignedHourOffset = hasAlignedHourOffset;\nproto.isDST = isDaylightSavingTime;\nproto.isLocal = isLocal;\nproto.isUtcOffset = isUtcOffset;\nproto.isUtc = isUtc;\nproto.isUTC = isUtc;\nproto.zoneAbbr = getZoneAbbr;\nproto.zoneName = getZoneName;\nproto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\nproto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\nproto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\nproto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\nproto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\nfunction createUnix (input) {\n return createLocal(input * 1000);\n}\n\nfunction createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n}\n\nfunction preParsePostFormat (string) {\n return string;\n}\n\nvar proto$1 = Locale.prototype;\n\nproto$1.calendar = calendar;\nproto$1.longDateFormat = longDateFormat;\nproto$1.invalidDate = invalidDate;\nproto$1.ordinal = ordinal;\nproto$1.preparse = preParsePostFormat;\nproto$1.postformat = preParsePostFormat;\nproto$1.relativeTime = relativeTime;\nproto$1.pastFuture = pastFuture;\nproto$1.set = set;\n\nproto$1.months = localeMonths;\nproto$1.monthsShort = localeMonthsShort;\nproto$1.monthsParse = localeMonthsParse;\nproto$1.monthsRegex = monthsRegex;\nproto$1.monthsShortRegex = monthsShortRegex;\nproto$1.week = localeWeek;\nproto$1.firstDayOfYear = localeFirstDayOfYear;\nproto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\nproto$1.weekdays = localeWeekdays;\nproto$1.weekdaysMin = localeWeekdaysMin;\nproto$1.weekdaysShort = localeWeekdaysShort;\nproto$1.weekdaysParse = localeWeekdaysParse;\n\nproto$1.weekdaysRegex = weekdaysRegex;\nproto$1.weekdaysShortRegex = weekdaysShortRegex;\nproto$1.weekdaysMinRegex = weekdaysMinRegex;\n\nproto$1.isPM = localeIsPM;\nproto$1.meridiem = localeMeridiem;\n\nfunction 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\nfunction 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)\nfunction 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\nfunction listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n}\n\nfunction listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n}\n\nfunction listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n}\n\nfunction listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n}\n\nfunction listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n}\n\ngetSetGlobalLocale('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\nhooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\nhooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\nvar mathAbs = Math.abs;\n\nfunction 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\nfunction 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)\nfunction 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)\nfunction subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n}\n\nfunction absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n}\n\nfunction 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\nfunction 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\nfunction monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n}\n\nfunction 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 === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\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')?\nfunction 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\nfunction makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n}\n\nvar asMilliseconds = makeAs('ms');\nvar asSeconds = makeAs('s');\nvar asMinutes = makeAs('m');\nvar asHours = makeAs('h');\nvar asDays = makeAs('d');\nvar asWeeks = makeAs('w');\nvar asMonths = makeAs('M');\nvar asYears = makeAs('y');\n\nfunction clone$1 () {\n return createDuration(this);\n}\n\nfunction get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n}\n\nfunction makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n}\n\nvar milliseconds = makeGetter('milliseconds');\nvar seconds = makeGetter('seconds');\nvar minutes = makeGetter('minutes');\nvar hours = makeGetter('hours');\nvar days = makeGetter('days');\nvar months = makeGetter('months');\nvar years = makeGetter('years');\n\nfunction weeks () {\n return absFloor(this.days() / 7);\n}\n\nvar round = Math.round;\nvar 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\nfunction substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n}\n\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nvar abs$1 = Math.abs;\n\nfunction sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n}\n\nfunction 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\nvar proto$2 = Duration.prototype;\n\nproto$2.isValid = isValid$1;\nproto$2.abs = abs;\nproto$2.add = add$1;\nproto$2.subtract = subtract$1;\nproto$2.as = as;\nproto$2.asMilliseconds = asMilliseconds;\nproto$2.asSeconds = asSeconds;\nproto$2.asMinutes = asMinutes;\nproto$2.asHours = asHours;\nproto$2.asDays = asDays;\nproto$2.asWeeks = asWeeks;\nproto$2.asMonths = asMonths;\nproto$2.asYears = asYears;\nproto$2.valueOf = valueOf$1;\nproto$2._bubble = bubble;\nproto$2.clone = clone$1;\nproto$2.get = get$2;\nproto$2.milliseconds = milliseconds;\nproto$2.seconds = seconds;\nproto$2.minutes = minutes;\nproto$2.hours = hours;\nproto$2.days = days;\nproto$2.weeks = weeks;\nproto$2.months = months;\nproto$2.years = years;\nproto$2.humanize = humanize;\nproto$2.toISOString = toISOString$1;\nproto$2.toString = toISOString$1;\nproto$2.toJSON = toISOString$1;\nproto$2.locale = locale;\nproto$2.localeData = localeData;\n\nproto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\nproto$2.lang = lang;\n\n// Side effect imports\n\n// FORMATTING\n\naddFormatToken('X', 0, 0, 'unix');\naddFormatToken('x', 0, 0, 'valueOf');\n\n// PARSING\n\naddRegexToken('x', matchSigned);\naddRegexToken('X', matchTimestamp);\naddParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n});\naddParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n});\n\n// Side effect imports\n\n\nhooks.version = '2.21.0';\n\nsetHookCallback(createLocal);\n\nhooks.fn = proto;\nhooks.min = min;\nhooks.max = max;\nhooks.now = now;\nhooks.utc = createUTC;\nhooks.unix = createUnix;\nhooks.months = listMonths;\nhooks.isDate = isDate;\nhooks.locale = getSetGlobalLocale;\nhooks.invalid = createInvalid;\nhooks.duration = createDuration;\nhooks.isMoment = isMoment;\nhooks.weekdays = listWeekdays;\nhooks.parseZone = createInZone;\nhooks.localeData = getLocale;\nhooks.isDuration = isDuration;\nhooks.monthsShort = listMonthsShort;\nhooks.weekdaysMin = listWeekdaysMin;\nhooks.defineLocale = defineLocale;\nhooks.updateLocale = updateLocale;\nhooks.locales = listLocales;\nhooks.weekdaysShort = listWeekdaysShort;\nhooks.normalizeUnits = normalizeUnits;\nhooks.relativeTimeRounding = getSetRelativeTimeRounding;\nhooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\nhooks.calendarFormat = getCalendarFormat;\nhooks.prototype = proto;\n\n// currently HTML5 input type only supports 24-hour formats\nhooks.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: 'YYYY-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM' // <input type=\"month\" />\n};\n\nreturn hooks;\n\n})));\n","export function isScalarValue(value) {\n return ['StringValue', 'BooleanValue', 'EnumValue'].indexOf(value.kind) > -1;\n}\nexport function isNumberValue(value) {\n return ['IntValue', 'FloatValue'].indexOf(value.kind) > -1;\n}\nfunction isStringValue(value) {\n return value.kind === 'StringValue';\n}\nfunction isBooleanValue(value) {\n return value.kind === 'BooleanValue';\n}\nfunction isIntValue(value) {\n return value.kind === 'IntValue';\n}\nfunction isFloatValue(value) {\n return value.kind === 'FloatValue';\n}\nfunction isVariable(value) {\n return value.kind === 'Variable';\n}\nfunction isObjectValue(value) {\n return value.kind === 'ObjectValue';\n}\nfunction isListValue(value) {\n return value.kind === 'ListValue';\n}\nfunction isEnumValue(value) {\n return value.kind === 'EnumValue';\n}\nfunction isNullValue(value) {\n return value.kind === 'NullValue';\n}\nexport function valueToObjectRepresentation(argObj, name, value, variables) {\n if (isIntValue(value) || isFloatValue(value)) {\n argObj[name.value] = Number(value.value);\n }\n else if (isBooleanValue(value) || isStringValue(value)) {\n argObj[name.value] = value.value;\n }\n else if (isObjectValue(value)) {\n var nestedArgObj_1 = {};\n value.fields.map(function (obj) {\n return valueToObjectRepresentation(nestedArgObj_1, obj.name, obj.value, variables);\n });\n argObj[name.value] = nestedArgObj_1;\n }\n else if (isVariable(value)) {\n var variableValue = (variables || {})[value.name.value];\n argObj[name.value] = variableValue;\n }\n else if (isListValue(value)) {\n argObj[name.value] = value.values.map(function (listValue) {\n var nestedArgArrayObj = {};\n valueToObjectRepresentation(nestedArgArrayObj, name, listValue, variables);\n return nestedArgArrayObj[name.value];\n });\n }\n else if (isEnumValue(value)) {\n argObj[name.value] = value.value;\n }\n else if (isNullValue(value)) {\n argObj[name.value] = null;\n }\n else {\n throw new Error(\"The inline argument \\\"\" + name.value + \"\\\" of kind \\\"\" + value.kind + \"\\\" is not supported.\\n Use variables instead of inline arguments to overcome this limitation.\");\n }\n}\nexport function storeKeyNameFromField(field, variables) {\n var directivesObj = null;\n if (field.directives) {\n directivesObj = {};\n field.directives.forEach(function (directive) {\n directivesObj[directive.name.value] = {};\n if (directive.arguments) {\n directive.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(directivesObj[directive.name.value], name, value, variables);\n });\n }\n });\n }\n var argObj = null;\n if (field.arguments && field.arguments.length) {\n argObj = {};\n field.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(argObj, name, value, variables);\n });\n }\n return getStoreKeyName(field.name.value, argObj, directivesObj);\n}\nvar KNOWN_DIRECTIVES = [\n 'connection',\n 'include',\n 'skip',\n 'client',\n 'rest',\n 'export',\n];\nexport function getStoreKeyName(fieldName, args, directives) {\n if (directives &&\n directives['connection'] &&\n directives['connection']['key']) {\n if (directives['connection']['filter'] &&\n directives['connection']['filter'].length > 0) {\n var filterKeys = directives['connection']['filter']\n ? directives['connection']['filter']\n : [];\n filterKeys.sort();\n var queryArgs_1 = args;\n var filteredArgs_1 = {};\n filterKeys.forEach(function (key) {\n filteredArgs_1[key] = queryArgs_1[key];\n });\n return directives['connection']['key'] + \"(\" + JSON.stringify(filteredArgs_1) + \")\";\n }\n else {\n return directives['connection']['key'];\n }\n }\n var completeFieldName = fieldName;\n if (args) {\n var stringifiedArgs = JSON.stringify(args);\n completeFieldName += \"(\" + stringifiedArgs + \")\";\n }\n if (directives) {\n Object.keys(directives).forEach(function (key) {\n if (KNOWN_DIRECTIVES.indexOf(key) !== -1)\n return;\n if (directives[key] && Object.keys(directives[key]).length) {\n completeFieldName += \"@\" + key + \"(\" + JSON.stringify(directives[key]) + \")\";\n }\n else {\n completeFieldName += \"@\" + key;\n }\n });\n }\n return completeFieldName;\n}\nexport function argumentsObjectFromField(field, variables) {\n if (field.arguments && field.arguments.length) {\n var argObj_1 = {};\n field.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(argObj_1, name, value, variables);\n });\n return argObj_1;\n }\n return null;\n}\nexport function resultKeyNameFromField(field) {\n return field.alias ? field.alias.value : field.name.value;\n}\nexport function isField(selection) {\n return selection.kind === 'Field';\n}\nexport function isInlineFragment(selection) {\n return selection.kind === 'InlineFragment';\n}\nexport function isIdValue(idObject) {\n return idObject && idObject.type === 'id';\n}\nexport function toIdValue(id, generated) {\n if (generated === void 0) { generated = false; }\n return {\n type: 'id',\n id: id,\n generated: generated,\n };\n}\nexport function isJsonValue(jsonObject) {\n return (jsonObject != null &&\n typeof jsonObject === 'object' &&\n jsonObject.type === 'json');\n}\nfunction defaultValueFromVariable(node) {\n throw new Error(\"Variable nodes are not supported by valueFromNode\");\n}\nexport function valueFromNode(node, onVariable) {\n if (onVariable === void 0) { onVariable = defaultValueFromVariable; }\n switch (node.kind) {\n case 'Variable':\n return onVariable(node);\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'ListValue':\n return node.values.map(function (v) { return valueFromNode(v, onVariable); });\n case 'ObjectValue': {\n var value = {};\n for (var _i = 0, _a = node.fields; _i < _a.length; _i++) {\n var field = _a[_i];\n value[field.name.value] = valueFromNode(field.value, onVariable);\n }\n return value;\n }\n default:\n return node.value;\n }\n}\n//# sourceMappingURL=storeUtils.js.map","import { argumentsObjectFromField } from './storeUtils';\nexport function getDirectiveInfoFromField(field, variables) {\n if (field.directives && field.directives.length) {\n var directiveObj_1 = {};\n field.directives.forEach(function (directive) {\n directiveObj_1[directive.name.value] = argumentsObjectFromField(directive, variables);\n });\n return directiveObj_1;\n }\n return null;\n}\nexport function shouldInclude(selection, variables) {\n if (variables === void 0) { variables = {}; }\n if (!selection.directives) {\n return true;\n }\n var res = true;\n selection.directives.forEach(function (directive) {\n if (directive.name.value !== 'skip' && directive.name.value !== 'include') {\n return;\n }\n var directiveArguments = directive.arguments || [];\n var directiveName = directive.name.value;\n if (directiveArguments.length !== 1) {\n throw new Error(\"Incorrect number of arguments for the @\" + directiveName + \" directive.\");\n }\n var ifArgument = directiveArguments[0];\n if (!ifArgument.name || ifArgument.name.value !== 'if') {\n throw new Error(\"Invalid argument for the @\" + directiveName + \" directive.\");\n }\n var ifValue = directiveArguments[0].value;\n var evaledValue = false;\n if (!ifValue || ifValue.kind !== 'BooleanValue') {\n if (ifValue.kind !== 'Variable') {\n throw new Error(\"Argument for the @\" + directiveName + \" directive must be a variable or a boolean value.\");\n }\n else {\n evaledValue = variables[ifValue.name.value];\n if (evaledValue === undefined) {\n throw new Error(\"Invalid variable referenced in @\" + directiveName + \" directive.\");\n }\n }\n }\n else {\n evaledValue = ifValue.value;\n }\n if (directiveName === 'skip') {\n evaledValue = !evaledValue;\n }\n if (!evaledValue) {\n res = false;\n }\n });\n return res;\n}\nexport function flattenSelections(selection) {\n if (!selection.selectionSet ||\n !(selection.selectionSet.selections.length > 0))\n return [selection];\n return [selection].concat(selection.selectionSet.selections\n .map(function (selectionNode) {\n return [selectionNode].concat(flattenSelections(selectionNode));\n })\n .reduce(function (selections, selected) { return selections.concat(selected); }, []));\n}\nvar added = new Map();\nexport function getDirectiveNames(doc) {\n var cached = added.get(doc);\n if (cached)\n return cached;\n var directives = doc.definitions\n .filter(function (definition) {\n return definition.selectionSet && definition.selectionSet.selections;\n })\n .map(function (x) { return flattenSelections(x); })\n .reduce(function (selections, selected) { return selections.concat(selected); }, [])\n .filter(function (selection) {\n return selection.directives && selection.directives.length > 0;\n })\n .map(function (selection) { return selection.directives; })\n .reduce(function (directives, directive) { return directives.concat(directive); }, [])\n .map(function (directive) { return directive.name.value; });\n added.set(doc, directives);\n return directives;\n}\nexport function hasDirectives(names, doc) {\n return getDirectiveNames(doc).some(function (name) { return names.indexOf(name) > -1; });\n}\n//# sourceMappingURL=directives.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nexport function getFragmentQueryDocument(document, fragmentName) {\n var actualFragmentName = fragmentName;\n var fragments = [];\n document.definitions.forEach(function (definition) {\n if (definition.kind === 'OperationDefinition') {\n throw new Error(\"Found a \" + definition.operation + \" operation\" + (definition.name ? \" named '\" + definition.name.value + \"'\" : '') + \". \" +\n 'No operations are allowed when using a fragment as a query. Only fragments are allowed.');\n }\n if (definition.kind === 'FragmentDefinition') {\n fragments.push(definition);\n }\n });\n if (typeof actualFragmentName === 'undefined') {\n if (fragments.length !== 1) {\n throw new Error(\"Found \" + fragments.length + \" fragments. `fragmentName` must be provided when there is not exactly 1 fragment.\");\n }\n actualFragmentName = fragments[0].name.value;\n }\n var query = __assign({}, document, { definitions: [\n {\n kind: 'OperationDefinition',\n operation: 'query',\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'FragmentSpread',\n name: {\n kind: 'Name',\n value: actualFragmentName,\n },\n },\n ],\n },\n }\n ].concat(document.definitions) });\n return query;\n}\n//# sourceMappingURL=fragments.js.map","export function assign(target) {\n var sources = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n sources[_i - 1] = arguments[_i];\n }\n sources.forEach(function (source) {\n if (typeof source === 'undefined' || source === null) {\n return;\n }\n Object.keys(source).forEach(function (key) {\n target[key] = source[key];\n });\n });\n return target;\n}\n//# sourceMappingURL=assign.js.map","import { assign } from './util/assign';\nimport { valueToObjectRepresentation } from './storeUtils';\nexport function getMutationDefinition(doc) {\n checkDocument(doc);\n var mutationDef = doc.definitions.filter(function (definition) {\n return definition.kind === 'OperationDefinition' &&\n definition.operation === 'mutation';\n })[0];\n if (!mutationDef) {\n throw new Error('Must contain a mutation definition.');\n }\n return mutationDef;\n}\nexport function checkDocument(doc) {\n if (doc.kind !== 'Document') {\n throw new Error(\"Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \\\"gql\\\" tag? http://docs.apollostack.com/apollo-client/core.html#gql\");\n }\n var operations = doc.definitions\n .filter(function (d) { return d.kind !== 'FragmentDefinition'; })\n .map(function (definition) {\n if (definition.kind !== 'OperationDefinition') {\n throw new Error(\"Schema type definitions not allowed in queries. Found: \\\"\" + definition.kind + \"\\\"\");\n }\n return definition;\n });\n if (operations.length > 1) {\n throw new Error(\"Ambiguous GraphQL document: contains \" + operations.length + \" operations\");\n }\n}\nexport function getOperationDefinition(doc) {\n checkDocument(doc);\n return doc.definitions.filter(function (definition) { return definition.kind === 'OperationDefinition'; })[0];\n}\nexport function getOperationDefinitionOrDie(document) {\n var def = getOperationDefinition(document);\n if (!def) {\n throw new Error(\"GraphQL document is missing an operation\");\n }\n return def;\n}\nexport function getOperationName(doc) {\n return (doc.definitions\n .filter(function (definition) {\n return definition.kind === 'OperationDefinition' && definition.name;\n })\n .map(function (x) { return x.name.value; })[0] || null);\n}\nexport function getFragmentDefinitions(doc) {\n return doc.definitions.filter(function (definition) { return definition.kind === 'FragmentDefinition'; });\n}\nexport function getQueryDefinition(doc) {\n var queryDef = getOperationDefinition(doc);\n if (!queryDef || queryDef.operation !== 'query') {\n throw new Error('Must contain a query definition.');\n }\n return queryDef;\n}\nexport function getFragmentDefinition(doc) {\n if (doc.kind !== 'Document') {\n throw new Error(\"Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \\\"gql\\\" tag? http://docs.apollostack.com/apollo-client/core.html#gql\");\n }\n if (doc.definitions.length > 1) {\n throw new Error('Fragment must have exactly one definition.');\n }\n var fragmentDef = doc.definitions[0];\n if (fragmentDef.kind !== 'FragmentDefinition') {\n throw new Error('Must be a fragment definition.');\n }\n return fragmentDef;\n}\nexport function getMainDefinition(queryDoc) {\n checkDocument(queryDoc);\n var fragmentDefinition;\n for (var _i = 0, _a = queryDoc.definitions; _i < _a.length; _i++) {\n var definition = _a[_i];\n if (definition.kind === 'OperationDefinition') {\n var operation = definition.operation;\n if (operation === 'query' ||\n operation === 'mutation' ||\n operation === 'subscription') {\n return definition;\n }\n }\n if (definition.kind === 'FragmentDefinition' && !fragmentDefinition) {\n fragmentDefinition = definition;\n }\n }\n if (fragmentDefinition) {\n return fragmentDefinition;\n }\n throw new Error('Expected a parsed GraphQL query with a query, mutation, subscription, or a fragment.');\n}\nexport function createFragmentMap(fragments) {\n if (fragments === void 0) { fragments = []; }\n var symTable = {};\n fragments.forEach(function (fragment) {\n symTable[fragment.name.value] = fragment;\n });\n return symTable;\n}\nexport function getDefaultValues(definition) {\n if (definition &&\n definition.variableDefinitions &&\n definition.variableDefinitions.length) {\n var defaultValues = definition.variableDefinitions\n .filter(function (_a) {\n var defaultValue = _a.defaultValue;\n return defaultValue;\n })\n .map(function (_a) {\n var variable = _a.variable, defaultValue = _a.defaultValue;\n var defaultValueObj = {};\n valueToObjectRepresentation(defaultValueObj, variable.name, defaultValue);\n return defaultValueObj;\n });\n return assign.apply(void 0, [{}].concat(defaultValues));\n }\n return {};\n}\nexport function variablesInOperation(operation) {\n var names = new Set();\n if (operation.variableDefinitions) {\n for (var _i = 0, _a = operation.variableDefinitions; _i < _a.length; _i++) {\n var definition = _a[_i];\n names.add(definition.variable.name.value);\n }\n }\n return names;\n}\n//# sourceMappingURL=getFromAST.js.map","export function cloneDeep(value) {\n if (Array.isArray(value)) {\n return value.map(function (item) { return cloneDeep(item); });\n }\n if (value !== null && typeof value === 'object') {\n var nextValue = {};\n for (var key in value) {\n if (value.hasOwnProperty(key)) {\n nextValue[key] = cloneDeep(value[key]);\n }\n }\n return nextValue;\n }\n return value;\n}\n//# sourceMappingURL=cloneDeep.js.map","import { cloneDeep } from './util/cloneDeep';\nimport { checkDocument, getOperationDefinitionOrDie, getFragmentDefinitions, createFragmentMap, } from './getFromAST';\nvar TYPENAME_FIELD = {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: '__typename',\n },\n};\nfunction isNotEmpty(op, fragments) {\n return (op.selectionSet.selections.filter(function (selectionSet) {\n return !(selectionSet &&\n selectionSet.kind === 'FragmentSpread' &&\n !isNotEmpty(fragments[selectionSet.name.value], fragments));\n }).length > 0);\n}\nfunction getDirectiveMatcher(directives) {\n return function directiveMatcher(directive) {\n return directives.some(function (dir) {\n if (dir.name && dir.name === directive.name.value)\n return true;\n if (dir.test && dir.test(directive))\n return true;\n return false;\n });\n };\n}\nfunction addTypenameToSelectionSet(selectionSet, isRoot) {\n if (isRoot === void 0) { isRoot = false; }\n if (selectionSet.selections) {\n if (!isRoot) {\n var alreadyHasThisField = selectionSet.selections.some(function (selection) {\n return (selection.kind === 'Field' &&\n selection.name.value === '__typename');\n });\n if (!alreadyHasThisField) {\n selectionSet.selections.push(TYPENAME_FIELD);\n }\n }\n selectionSet.selections.forEach(function (selection) {\n if (selection.kind === 'Field') {\n if (selection.name.value.lastIndexOf('__', 0) !== 0 &&\n selection.selectionSet) {\n addTypenameToSelectionSet(selection.selectionSet);\n }\n }\n else if (selection.kind === 'InlineFragment') {\n if (selection.selectionSet) {\n addTypenameToSelectionSet(selection.selectionSet);\n }\n }\n });\n }\n}\nfunction removeDirectivesFromSelectionSet(directives, selectionSet) {\n if (!selectionSet.selections)\n return selectionSet;\n var agressiveRemove = directives.some(function (dir) { return dir.remove; });\n selectionSet.selections = selectionSet.selections\n .map(function (selection) {\n if (selection.kind !== 'Field' ||\n !selection ||\n !selection.directives)\n return selection;\n var directiveMatcher = getDirectiveMatcher(directives);\n var remove;\n selection.directives = selection.directives.filter(function (directive) {\n var shouldKeep = !directiveMatcher(directive);\n if (!remove && !shouldKeep && agressiveRemove)\n remove = true;\n return shouldKeep;\n });\n return remove ? null : selection;\n })\n .filter(function (x) { return !!x; });\n selectionSet.selections.forEach(function (selection) {\n if ((selection.kind === 'Field' || selection.kind === 'InlineFragment') &&\n selection.selectionSet) {\n removeDirectivesFromSelectionSet(directives, selection.selectionSet);\n }\n });\n return selectionSet;\n}\nexport function removeDirectivesFromDocument(directives, doc) {\n var docClone = cloneDeep(doc);\n docClone.definitions.forEach(function (definition) {\n removeDirectivesFromSelectionSet(directives, definition.selectionSet);\n });\n var operation = getOperationDefinitionOrDie(docClone);\n var fragments = createFragmentMap(getFragmentDefinitions(docClone));\n return isNotEmpty(operation, fragments) ? docClone : null;\n}\nvar added = new Map();\nexport function addTypenameToDocument(doc) {\n checkDocument(doc);\n var cached = added.get(doc);\n if (cached)\n return cached;\n var docClone = cloneDeep(doc);\n docClone.definitions.forEach(function (definition) {\n var isRoot = definition.kind === 'OperationDefinition';\n addTypenameToSelectionSet(definition.selectionSet, isRoot);\n });\n added.set(doc, docClone);\n return docClone;\n}\nvar connectionRemoveConfig = {\n test: function (directive) {\n var willRemove = directive.name.value === 'connection';\n if (willRemove) {\n if (!directive.arguments ||\n !directive.arguments.some(function (arg) { return arg.name.value === 'key'; })) {\n console.warn('Removing an @connection directive even though it does not have a key. ' +\n 'You may want to use the key parameter to specify a store key.');\n }\n }\n return willRemove;\n },\n};\nvar removed = new Map();\nexport function removeConnectionDirectiveFromDocument(doc) {\n checkDocument(doc);\n var cached = removed.get(doc);\n if (cached)\n return cached;\n var docClone = removeDirectivesFromDocument([connectionRemoveConfig], doc);\n removed.set(doc, docClone);\n return docClone;\n}\nfunction hasDirectivesInSelectionSet(directives, selectionSet, nestedCheck) {\n if (nestedCheck === void 0) { nestedCheck = true; }\n if (!(selectionSet && selectionSet.selections)) {\n return false;\n }\n var matchedSelections = selectionSet.selections.filter(function (selection) {\n return hasDirectivesInSelection(directives, selection, nestedCheck);\n });\n return matchedSelections.length > 0;\n}\nfunction hasDirectivesInSelection(directives, selection, nestedCheck) {\n if (nestedCheck === void 0) { nestedCheck = true; }\n if (selection.kind !== 'Field' || !selection) {\n return true;\n }\n if (!selection.directives) {\n return false;\n }\n var directiveMatcher = getDirectiveMatcher(directives);\n var matchedDirectives = selection.directives.filter(directiveMatcher);\n return (matchedDirectives.length > 0 ||\n (nestedCheck &&\n hasDirectivesInSelectionSet(directives, selection.selectionSet, nestedCheck)));\n}\nfunction getDirectivesFromSelectionSet(directives, selectionSet) {\n selectionSet.selections = selectionSet.selections\n .filter(function (selection) {\n return hasDirectivesInSelection(directives, selection, true);\n })\n .map(function (selection) {\n if (hasDirectivesInSelection(directives, selection, false)) {\n return selection;\n }\n if ((selection.kind === 'Field' || selection.kind === 'InlineFragment') &&\n selection.selectionSet) {\n selection.selectionSet = getDirectivesFromSelectionSet(directives, selection.selectionSet);\n }\n return selection;\n });\n return selectionSet;\n}\nexport function getDirectivesFromDocument(directives, doc) {\n checkDocument(doc);\n var docClone = cloneDeep(doc);\n docClone.definitions = docClone.definitions.map(function (definition) {\n if ((definition.kind === 'OperationDefinition' ||\n definition.kind === 'FragmentDefinition') &&\n definition.selectionSet) {\n definition.selectionSet = getDirectivesFromSelectionSet(directives, definition.selectionSet);\n }\n return definition;\n });\n var operation = getOperationDefinitionOrDie(docClone);\n var fragments = createFragmentMap(getFragmentDefinitions(docClone));\n return isNotEmpty(operation, fragments) ? docClone : null;\n}\n//# sourceMappingURL=transform.js.map","export function tryFunctionOrLogError(f) {\n try {\n return f();\n }\n catch (e) {\n if (console.error) {\n console.error(e);\n }\n }\n}\nexport function graphQLResultHasError(result) {\n return result.errors && result.errors.length;\n}\n//# sourceMappingURL=errorHandling.js.map","export function isEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime();\n }\n if (a != null &&\n typeof a === 'object' &&\n b != null &&\n typeof b === 'object') {\n for (var key in a) {\n if (Object.prototype.hasOwnProperty.call(a, key)) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) {\n return false;\n }\n if (!isEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n for (var key in b) {\n if (!Object.prototype.hasOwnProperty.call(a, key)) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n//# sourceMappingURL=isEqual.js.map","import { isDevelopment, isTest } from './environment';\nfunction deepFreeze(o) {\n Object.freeze(o);\n Object.getOwnPropertyNames(o).forEach(function (prop) {\n if (o.hasOwnProperty(prop) &&\n o[prop] !== null &&\n (typeof o[prop] === 'object' || typeof o[prop] === 'function') &&\n !Object.isFrozen(o[prop])) {\n deepFreeze(o[prop]);\n }\n });\n return o;\n}\nexport function maybeDeepFreeze(obj) {\n if (isDevelopment() || isTest()) {\n return deepFreeze(obj);\n }\n return obj;\n}\n//# sourceMappingURL=maybeDeepFreeze.js.map","import { isProduction, isTest } from './environment';\nvar haveWarned = Object.create({});\nexport function warnOnceInDevelopment(msg, type) {\n if (type === void 0) { type = 'warn'; }\n if (isProduction()) {\n return;\n }\n if (!haveWarned[msg]) {\n if (!isTest()) {\n haveWarned[msg] = true;\n }\n switch (type) {\n case 'error':\n console.error(msg);\n break;\n default:\n console.warn(msg);\n }\n }\n}\n//# sourceMappingURL=warnOnce.js.map","module.exports = global[\"React\"] = require(\"-!./index.js\");","export var Observable = require('zen-observable');\n//# sourceMappingURL=zenObservable.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { getOperationName } from 'apollo-utilities';\nimport Observable from 'zen-observable-ts';\nimport { print } from 'graphql/language/printer';\nexport function validateOperation(operation) {\n var OPERATION_FIELDS = [\n 'query',\n 'operationName',\n 'variables',\n 'extensions',\n 'context',\n ];\n for (var _i = 0, _a = Object.keys(operation); _i < _a.length; _i++) {\n var key = _a[_i];\n if (OPERATION_FIELDS.indexOf(key) < 0) {\n throw new Error(\"illegal argument: \" + key);\n }\n }\n return operation;\n}\nvar LinkError = (function (_super) {\n __extends(LinkError, _super);\n function LinkError(message, link) {\n var _this = _super.call(this, message) || this;\n _this.link = link;\n return _this;\n }\n return LinkError;\n}(Error));\nexport { LinkError };\nexport function isTerminating(link) {\n return link.request.length <= 1;\n}\nexport function toPromise(observable) {\n var completed = false;\n return new Promise(function (resolve, reject) {\n observable.subscribe({\n next: function (data) {\n if (completed) {\n console.warn(\"Promise Wrapper does not support multiple results from Observable\");\n }\n else {\n completed = true;\n resolve(data);\n }\n },\n error: reject,\n });\n });\n}\nexport var makePromise = toPromise;\nexport function fromPromise(promise) {\n return new Observable(function (observer) {\n promise\n .then(function (value) {\n observer.next(value);\n observer.complete();\n })\n .catch(observer.error.bind(observer));\n });\n}\nexport function fromError(errorValue) {\n return new Observable(function (observer) {\n observer.error(errorValue);\n });\n}\nexport function transformOperation(operation) {\n var transformedOperation = {\n variables: operation.variables || {},\n extensions: operation.extensions || {},\n operationName: operation.operationName,\n query: operation.query,\n };\n if (!transformedOperation.operationName) {\n transformedOperation.operationName =\n typeof transformedOperation.query !== 'string'\n ? getOperationName(transformedOperation.query)\n : '';\n }\n return transformedOperation;\n}\nexport function createOperation(starting, operation) {\n var context = __assign({}, starting);\n var setContext = function (next) {\n if (typeof next === 'function') {\n context = __assign({}, context, next(context));\n }\n else {\n context = __assign({}, context, next);\n }\n };\n var getContext = function () { return (__assign({}, context)); };\n Object.defineProperty(operation, 'setContext', {\n enumerable: false,\n value: setContext,\n });\n Object.defineProperty(operation, 'getContext', {\n enumerable: false,\n value: getContext,\n });\n Object.defineProperty(operation, 'toKey', {\n enumerable: false,\n value: function () { return getKey(operation); },\n });\n return operation;\n}\nexport function getKey(operation) {\n return print(operation.query) + \"|\" + JSON.stringify(operation.variables) + \"|\" + operation.operationName;\n}\n//# sourceMappingURL=linkUtils.js.map","import { Observable } from './zenObservable';\nexport * from './zenObservable';\nexport default Observable;\n//# sourceMappingURL=index.js.map","import Observable from 'zen-observable-ts';\nimport { validateOperation, isTerminating, LinkError, transformOperation, createOperation, } from './linkUtils';\nvar passthrough = function (op, forward) { return (forward ? forward(op) : Observable.of()); };\nvar toLink = function (handler) {\n return typeof handler === 'function' ? new ApolloLink(handler) : handler;\n};\nexport var empty = function () {\n return new ApolloLink(function (op, forward) { return Observable.of(); });\n};\nexport var from = function (links) {\n if (links.length === 0)\n return empty();\n return links.map(toLink).reduce(function (x, y) { return x.concat(y); });\n};\nexport var split = function (test, left, right) {\n if (right === void 0) { right = new ApolloLink(passthrough); }\n var leftLink = toLink(left);\n var rightLink = toLink(right);\n if (isTerminating(leftLink) && isTerminating(rightLink)) {\n return new ApolloLink(function (operation) {\n return test(operation)\n ? leftLink.request(operation) || Observable.of()\n : rightLink.request(operation) || Observable.of();\n });\n }\n else {\n return new ApolloLink(function (operation, forward) {\n return test(operation)\n ? leftLink.request(operation, forward) || Observable.of()\n : rightLink.request(operation, forward) || Observable.of();\n });\n }\n};\nexport var concat = function (first, second) {\n var firstLink = toLink(first);\n if (isTerminating(firstLink)) {\n console.warn(new LinkError(\"You are calling concat on a terminating link, which will have no effect\", firstLink));\n return firstLink;\n }\n var nextLink = toLink(second);\n if (isTerminating(nextLink)) {\n return new ApolloLink(function (operation) {\n return firstLink.request(operation, function (op) { return nextLink.request(op) || Observable.of(); }) || Observable.of();\n });\n }\n else {\n return new ApolloLink(function (operation, forward) {\n return (firstLink.request(operation, function (op) {\n return nextLink.request(op, forward) || Observable.of();\n }) || Observable.of());\n });\n }\n};\nvar ApolloLink = (function () {\n function ApolloLink(request) {\n if (request)\n this.request = request;\n }\n ApolloLink.prototype.split = function (test, left, right) {\n if (right === void 0) { right = new ApolloLink(passthrough); }\n return this.concat(split(test, left, right));\n };\n ApolloLink.prototype.concat = function (next) {\n return concat(this, next);\n };\n ApolloLink.prototype.request = function (operation, forward) {\n throw new Error('request is not implemented');\n };\n ApolloLink.empty = empty;\n ApolloLink.from = from;\n ApolloLink.split = split;\n ApolloLink.execute = execute;\n return ApolloLink;\n}());\nexport { ApolloLink };\nexport function execute(link, operation) {\n return (link.request(createOperation(operation.context, transformOperation(validateOperation(operation)))) || Observable.of());\n}\n//# sourceMappingURL=link.js.map","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.print = print;\n\nvar _visitor = require('./visitor');\n\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\nfunction print(ast) {\n return (0, _visitor.visit)(ast, { leave: printDocASTReducer });\n} /**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n\n // Document\n\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet;\n // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n\n\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue;\n return variable + ': ' + type + wrap(' = ', defaultValue);\n },\n\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n return join([wrap('', alias, ': ') + name + wrap('(', join(args, ', '), ')'), join(directives, ' '), selectionSet], ' ');\n },\n\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n\n // Fragments\n\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (\n // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'fragment ' + name + wrap('(', join(variableDefinitions, ', '), ')') + ' ' + ('on ' + typeCondition + ' ' + wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n\n // Value\n\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n\n // Directive\n\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n\n // Type\n\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n\n // Type System Definitions\n\n SchemaDefinition: function SchemaDefinition(_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + wrap('(', join(args, ', '), ')') + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, join(directives, ' '), block(fields)], ' ');\n }),\n\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n\n ScalarTypeExtension: function ScalarTypeExtension(_ref31) {\n var name = _ref31.name,\n directives = _ref31.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n\n ObjectTypeExtension: function ObjectTypeExtension(_ref32) {\n var name = _ref32.name,\n interfaces = _ref32.interfaces,\n directives = _ref32.directives,\n fields = _ref32.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives,\n fields = _ref33.fields;\n return join(['extend interface', name, join(directives, ' '), block(fields)], ' ');\n },\n\n UnionTypeExtension: function UnionTypeExtension(_ref34) {\n var name = _ref34.name,\n directives = _ref34.directives,\n types = _ref34.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n\n EnumTypeExtension: function EnumTypeExtension(_ref35) {\n var name = _ref35.name,\n directives = _ref35.directives,\n values = _ref35.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n fields = _ref36.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n },\n\n DirectiveDefinition: addDescription(function (_ref37) {\n var name = _ref37.name,\n args = _ref37.arguments,\n locations = _ref37.locations;\n return 'directive @' + name + wrap('(', join(args, ', '), ')') + ' on ' + join(locations, ' | ');\n })\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\nfunction join(maybeArray, separator) {\n return maybeArray ? maybeArray.filter(function (x) {\n return x;\n }).join(separator || '') : '';\n}\n\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\nfunction block(array) {\n return array && array.length !== 0 ? '{\\n' + indent(join(array, '\\n')) + '\\n}' : '';\n}\n\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise\n * print an empty string.\n */\nfunction wrap(start, maybeString, end) {\n return maybeString ? start + maybeString + (end || '') : '';\n}\n\nfunction indent(maybeString) {\n return maybeString && ' ' + maybeString.replace(/\\n/g, '\\n ');\n}\n\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n */\nfunction printBlockString(value, isDescription) {\n var escaped = value.replace(/\"\"\"/g, '\\\\\"\"\"');\n return (value[0] === ' ' || value[0] === '\\t') && value.indexOf('\\n') === -1 ? '\"\"\"' + escaped.replace(/\"$/, '\"\\n') + '\"\"\"' : '\"\"\"\\n' + (isDescription ? escaped : indent(escaped)) + '\\n\"\"\"';\n}","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/*!\n Copyright (c) 2016 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tclasses.push(classNames.apply(null, arg));\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _I18n = require('./lib/I18n');\n\nObject.defineProperty(exports, 'I18n', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_I18n).default;\n }\n});\n\nvar _Translate = require('./lib/Translate');\n\nObject.defineProperty(exports, 'Translate', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Translate).default;\n }\n});\n\nvar _Localize = require('./lib/Localize');\n\nObject.defineProperty(exports, 'Localize', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Localize).default;\n }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","export function getEnv() {\n if (typeof process !== 'undefined' && process.env.NODE_ENV) {\n return process.env.NODE_ENV;\n }\n return 'development';\n}\nexport function isEnv(env) {\n return getEnv() === env;\n}\nexport function isProduction() {\n return isEnv('production') === true;\n}\nexport function isDevelopment() {\n return isEnv('development') === true;\n}\nexport function isTest() {\n return isEnv('test') === true;\n}\n//# sourceMappingURL=environment.js.map","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('prop-types'), require('lodash.flowright')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'react', 'prop-types', 'lodash.flowright'], factory) :\n\t(factory((global['react-apollo'] = {}),global.React,global.PropTypes,global.lodash_flowright));\n}(this, (function (exports,React,PropTypes,lodash_flowright) { 'use strict';\n\nfunction shallowEqual(objA, objB) {\n if (!objA || !objB)\n return false;\n if (objA === objB)\n return true;\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length)\n return false;\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n return true;\n}\n\nvar __assign = (undefined && undefined.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nvar ObservableQueryRecycler = (function () {\n function ObservableQueryRecycler() {\n this.observableQueries = [];\n }\n ObservableQueryRecycler.prototype.recycle = function (observableQuery) {\n observableQuery.setOptions({\n fetchPolicy: 'standby',\n pollInterval: 0,\n fetchResults: false,\n });\n this.observableQueries.push({\n observableQuery: observableQuery,\n subscription: observableQuery.subscribe({}),\n });\n };\n ObservableQueryRecycler.prototype.reuse = function (options) {\n if (this.observableQueries.length <= 0) {\n return null;\n }\n var _a = this.observableQueries.pop(), observableQuery = _a.observableQuery, subscription = _a.subscription;\n subscription.unsubscribe();\n var ssr = options.ssr, skip = options.skip, client = options.client, modifiableOpts = __rest(options, [\"ssr\", \"skip\", \"client\"]);\n if (!shallowEqual(modifiableOpts.variables || {}, observableQuery.variables))\n return null;\n observableQuery.setOptions(__assign({}, modifiableOpts, { pollInterval: options.pollInterval, fetchPolicy: options.fetchPolicy }));\n return observableQuery;\n };\n return ObservableQueryRecycler;\n}());\n\nvar __extends$1 = (undefined && undefined.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar QueryRecyclerProvider = (function (_super) {\n __extends$1(QueryRecyclerProvider, _super);\n function QueryRecyclerProvider(props) {\n var _this = _super.call(this, props) || this;\n _this.recyclers = new WeakMap();\n _this.getQueryRecycler = _this.getQueryRecycler.bind(_this);\n return _this;\n }\n QueryRecyclerProvider.prototype.componentWillReceiveProps = function (_, nextContext) {\n if (this.context.client !== nextContext.client) {\n this.recyclers = new WeakMap();\n }\n };\n QueryRecyclerProvider.prototype.getQueryRecycler = function (component) {\n if (!this.recyclers.has(component)) {\n this.recyclers.set(component, new ObservableQueryRecycler());\n }\n return this.recyclers.get(component);\n };\n QueryRecyclerProvider.prototype.getChildContext = function () {\n return {\n getQueryRecycler: this.getQueryRecycler,\n };\n };\n QueryRecyclerProvider.prototype.render = function () {\n return React.Children.only(this.props.children);\n };\n QueryRecyclerProvider.propTypes = {\n children: PropTypes.element.isRequired,\n };\n QueryRecyclerProvider.contextTypes = {\n client: PropTypes.object,\n };\n QueryRecyclerProvider.childContextTypes = {\n getQueryRecycler: PropTypes.func.isRequired,\n };\n return QueryRecyclerProvider;\n}(React.Component));\n\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar invariant = require('invariant');\nvar ApolloProvider = (function (_super) {\n __extends(ApolloProvider, _super);\n function ApolloProvider(props, context) {\n var _this = _super.call(this, props, context) || this;\n invariant(props.client, 'ApolloClient was not passed a client instance. Make ' +\n 'sure you pass in your client via the \"client\" prop.');\n return _this;\n }\n ApolloProvider.prototype.getChildContext = function () {\n return {\n client: this.props.client,\n };\n };\n ApolloProvider.prototype.render = function () {\n return (React.createElement(QueryRecyclerProvider, null, React.Children.only(this.props.children)));\n };\n ApolloProvider.propTypes = {\n client: PropTypes.object.isRequired,\n children: PropTypes.element.isRequired,\n };\n ApolloProvider.childContextTypes = {\n client: PropTypes.object.isRequired,\n };\n return ApolloProvider;\n}(React.Component));\n\nvar invariant$2 = require('invariant');\nvar DocumentType;\n(function (DocumentType) {\n DocumentType[DocumentType[\"Query\"] = 0] = \"Query\";\n DocumentType[DocumentType[\"Mutation\"] = 1] = \"Mutation\";\n DocumentType[DocumentType[\"Subscription\"] = 2] = \"Subscription\";\n})(DocumentType || (DocumentType = {}));\nfunction parser(document) {\n var variables, type, name;\n invariant$2(!!document && !!document.kind, \"Argument of \" + document + \" passed to parser was not a valid GraphQL DocumentNode. You may need to use 'graphql-tag' or another method to convert your operation into a document\");\n var fragments = document.definitions.filter(function (x) { return x.kind === 'FragmentDefinition'; });\n var queries = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'query';\n });\n var mutations = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'mutation';\n });\n var subscriptions = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'subscription';\n });\n invariant$2(!fragments.length ||\n (queries.length || mutations.length || subscriptions.length), \"Passing only a fragment to 'graphql' is not yet supported. You must include a query, subscription or mutation as well\");\n invariant$2(queries.length + mutations.length + subscriptions.length <= 1, \"react-apollo only supports a query, subscription, or a mutation per HOC. \" + document + \" had \" + queries.length + \" queries, \" + subscriptions.length + \" subscriptions and \" + mutations.length + \" mutations. You can use 'compose' to join multiple operation types to a component\");\n type = queries.length ? DocumentType.Query : DocumentType.Mutation;\n if (!queries.length && !mutations.length)\n type = DocumentType.Subscription;\n var definitions = queries.length\n ? queries\n : mutations.length ? mutations : subscriptions;\n invariant$2(definitions.length === 1, \"react-apollo only supports one defintion per HOC. \" + document + \" had \" + definitions.length + \" definitions. You can use 'compose' to join multiple operation types to a component\");\n var definition = definitions[0];\n variables = definition.variableDefinitions || [];\n var hasName = definition.name && definition.name.kind === 'Name';\n name = hasName ? definition.name.value : 'data';\n return { name: name, type: type, variables: variables };\n}\n\nvar __extends$2 = (undefined && undefined.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$1 = (undefined && undefined.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar invariant$1 = require('invariant');\nvar assign = require('object-assign');\nvar pick = require('lodash.pick');\nvar hoistNonReactStatics = require('hoist-non-react-statics');\nvar defaultMapPropsToOptions = function () { return ({}); };\nvar defaultMapResultToProps = function (props) { return props; };\nvar defaultMapPropsToSkip = function () { return false; };\nfunction observableQueryFields(observable) {\n var fields = pick(observable, 'variables', 'refetch', 'fetchMore', 'updateQuery', 'startPolling', 'stopPolling', 'subscribeToMore');\n Object.keys(fields).forEach(function (key) {\n if (typeof fields[key] === 'function') {\n fields[key] = fields[key].bind(observable);\n }\n });\n return fields;\n}\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\nvar nextVersion = 0;\nfunction graphql(document, operationOptions) {\n if (operationOptions === void 0) { operationOptions = {}; }\n var _a = operationOptions.options, options = _a === void 0 ? defaultMapPropsToOptions : _a, _b = operationOptions.skip, skip = _b === void 0 ? defaultMapPropsToSkip : _b, _c = operationOptions.alias, alias = _c === void 0 ? 'Apollo' : _c;\n var mapPropsToOptions = options;\n if (typeof mapPropsToOptions !== 'function')\n mapPropsToOptions = function () { return options; };\n var mapPropsToSkip = skip;\n if (typeof mapPropsToSkip !== 'function')\n mapPropsToSkip = function () { return skip; };\n var mapResultToProps = operationOptions.props;\n var operation = parser(document);\n var version = nextVersion++;\n function wrapWithApolloComponent(WrappedComponent) {\n var graphQLDisplayName = alias + \"(\" + getDisplayName(WrappedComponent) + \")\";\n var GraphQL = (function (_super) {\n __extends$2(GraphQL, _super);\n function GraphQL(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this.previousData = {};\n _this.version = version;\n _this.type = operation.type;\n _this.dataForChildViaMutation = _this.dataForChildViaMutation.bind(_this);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);\n return _this;\n }\n GraphQL.prototype.componentWillMount = function () {\n if (!this.shouldSkip(this.props)) {\n this.setInitialProps();\n }\n };\n GraphQL.prototype.componentDidMount = function () {\n this.hasMounted = true;\n if (this.type === DocumentType.Mutation)\n return;\n if (!this.shouldSkip(this.props)) {\n this.subscribeToQuery();\n if (this.refetcherQueue) {\n var _a = this.refetcherQueue, args = _a.args, resolve = _a.resolve, reject = _a.reject;\n this.queryObservable\n .refetch(args)\n .then(resolve)\n .catch(reject);\n }\n }\n };\n GraphQL.prototype.componentWillReceiveProps = function (nextProps, nextContext) {\n if (this.shouldSkip(nextProps)) {\n if (!this.shouldSkip(this.props)) {\n this.unsubscribeFromQuery();\n }\n return;\n }\n var client = mapPropsToOptions(nextProps).client;\n if (shallowEqual(this.props, nextProps) &&\n (this.client === client || this.client === nextContext.client)) {\n return;\n }\n this.shouldRerender = true;\n if (this.client !== client && this.client !== nextContext.client) {\n if (client) {\n this.client = client;\n }\n else {\n this.client = nextContext.client;\n }\n this.unsubscribeFromQuery();\n this.queryObservable = null;\n this.previousData = {};\n this.updateQuery(nextProps);\n if (!this.shouldSkip(nextProps)) {\n this.subscribeToQuery();\n }\n return;\n }\n if (this.type === DocumentType.Mutation) {\n return;\n }\n if (this.type === DocumentType.Subscription &&\n operationOptions.shouldResubscribe &&\n operationOptions.shouldResubscribe(this.props, nextProps)) {\n this.unsubscribeFromQuery();\n delete this.queryObservable;\n this.updateQuery(nextProps);\n this.subscribeToQuery();\n return;\n }\n this.updateQuery(nextProps);\n this.subscribeToQuery();\n };\n GraphQL.prototype.componentWillUnmount = function () {\n if (this.type === DocumentType.Query) {\n if (this.queryObservable) {\n var recycler = this.getQueryRecycler();\n if (recycler) {\n recycler.recycle(this.queryObservable);\n delete this.queryObservable;\n }\n }\n this.unsubscribeFromQuery();\n }\n if (this.type === DocumentType.Subscription)\n this.unsubscribeFromQuery();\n this.hasMounted = false;\n };\n GraphQL.prototype.getQueryRecycler = function () {\n return (this.context.getQueryRecycler &&\n this.context.getQueryRecycler(GraphQL));\n };\n GraphQL.prototype.getClient = function (props) {\n if (this.client)\n return this.client;\n var client = mapPropsToOptions(props).client;\n if (client) {\n this.client = client;\n }\n else {\n this.client = this.context.client;\n }\n invariant$1(!!this.client, \"Could not find \\\"client\\\" in the context of \" +\n (\"\\\"\" + graphQLDisplayName + \"\\\". \") +\n \"Wrap the root component in an <ApolloProvider>\");\n return this.client;\n };\n GraphQL.prototype.calculateOptions = function (props, newOpts) {\n if (props === void 0) { props = this.props; }\n var opts = mapPropsToOptions(props);\n if (newOpts && newOpts.variables) {\n newOpts.variables = assign({}, opts.variables, newOpts.variables);\n }\n if (newOpts)\n opts = assign({}, opts, newOpts);\n if (opts.variables || !operation.variables.length)\n return opts;\n var variables = {};\n for (var _i = 0, _a = operation.variables; _i < _a.length; _i++) {\n var _b = _a[_i], variable = _b.variable, type = _b.type;\n if (!variable.name || !variable.name.value)\n continue;\n if (typeof props[variable.name.value] !== 'undefined') {\n variables[variable.name.value] = props[variable.name.value];\n continue;\n }\n if (type.kind !== 'NonNullType') {\n variables[variable.name.value] = null;\n continue;\n }\n invariant$1(typeof props[variable.name.value] !== 'undefined', \"The operation '\" + operation.name + \"' wrapping '\" + getDisplayName(WrappedComponent) + \"' \" +\n (\"is expecting a variable: '\" + variable.name.value + \"' but it was not found in the props \") +\n (\"passed to '\" + graphQLDisplayName + \"'\"));\n }\n opts = __assign$1({}, opts, { variables: variables });\n return opts;\n };\n GraphQL.prototype.calculateResultProps = function (result) {\n var name = this.type === DocumentType.Mutation ? 'mutate' : 'data';\n if (operationOptions.name)\n name = operationOptions.name;\n var newResult = (_a = {},\n _a[name] = result,\n _a.ownProps = this.props,\n _a);\n if (mapResultToProps)\n return mapResultToProps(newResult);\n return _b = {}, _b[name] = defaultMapResultToProps(result), _b;\n var _a, _b;\n };\n GraphQL.prototype.setInitialProps = function () {\n if (this.type === DocumentType.Mutation) {\n return;\n }\n var opts = this.calculateOptions(this.props);\n this.createQuery(opts);\n };\n GraphQL.prototype.createQuery = function (opts, props) {\n if (props === void 0) { props = this.props; }\n if (this.type === DocumentType.Subscription) {\n this.queryObservable = this.getClient(props).subscribe(assign({ query: document }, opts));\n }\n else {\n var recycler = this.getQueryRecycler();\n var queryObservable = null;\n if (recycler)\n queryObservable = recycler.reuse(opts);\n if (queryObservable === null) {\n this.queryObservable = this.getClient(props).watchQuery(assign({\n query: document,\n metadata: {\n reactComponent: {\n displayName: graphQLDisplayName,\n },\n },\n }, opts));\n }\n else {\n this.queryObservable = queryObservable;\n }\n }\n };\n GraphQL.prototype.updateQuery = function (props) {\n var opts = this.calculateOptions(props);\n if (!this.queryObservable) {\n this.createQuery(opts, props);\n }\n if (this.queryObservable._setOptionsNoResult) {\n this.queryObservable._setOptionsNoResult(opts);\n }\n else {\n if (this.queryObservable.setOptions) {\n this.queryObservable\n .setOptions(opts)\n .catch(function () { return null; });\n }\n }\n };\n GraphQL.prototype.fetchData = function () {\n if (this.shouldSkip())\n return false;\n if (operation.type === DocumentType.Mutation ||\n operation.type === DocumentType.Subscription)\n return false;\n var opts = this.calculateOptions();\n if (opts.ssr === false)\n return false;\n if (opts.fetchPolicy === 'network-only' ||\n opts.fetchPolicy === 'cache-and-network') {\n opts.fetchPolicy = 'cache-first';\n }\n var observable = this.getClient(this.props).watchQuery(assign({ query: document }, opts));\n var result = observable.currentResult();\n if (result.loading) {\n return observable.result();\n }\n else {\n return false;\n }\n };\n GraphQL.prototype.subscribeToQuery = function () {\n var _this = this;\n if (this.querySubscription) {\n return;\n }\n var next = function (results) {\n if (_this.type === DocumentType.Subscription) {\n _this.lastSubscriptionData = results;\n }\n var clashingKeys = Object.keys(observableQueryFields(results.data));\n invariant$1(clashingKeys.length === 0, \"the result of the '\" + graphQLDisplayName + \"' operation contains keys that \" +\n \"conflict with the return object.\" +\n clashingKeys.map(function (k) { return \"'\" + k + \"'\"; }).join(', ') +\n \" not allowed.\");\n _this.forceRenderChildren();\n };\n var handleError = function (error) {\n if (error.hasOwnProperty('graphQLErrors'))\n return next({ error: error });\n throw error;\n };\n this.querySubscription = this.queryObservable.subscribe({\n next: next,\n error: handleError,\n });\n };\n GraphQL.prototype.unsubscribeFromQuery = function () {\n if (this.querySubscription) {\n this.querySubscription.unsubscribe();\n delete this.querySubscription;\n }\n };\n GraphQL.prototype.shouldSkip = function (props) {\n if (props === void 0) { props = this.props; }\n return (mapPropsToSkip(props) || mapPropsToOptions(props).skip);\n };\n GraphQL.prototype.forceRenderChildren = function () {\n this.shouldRerender = true;\n if (this.hasMounted)\n this.forceUpdate();\n };\n GraphQL.prototype.getWrappedInstance = function () {\n invariant$1(operationOptions.withRef, \"To access the wrapped instance, you need to specify \" +\n \"{ withRef: true } in the options\");\n return this.wrappedInstance;\n };\n GraphQL.prototype.setWrappedInstance = function (ref) {\n this.wrappedInstance = ref;\n };\n GraphQL.prototype.dataForChildViaMutation = function (mutationOpts) {\n var opts = this.calculateOptions(this.props, mutationOpts);\n if (typeof opts.variables === 'undefined')\n delete opts.variables;\n opts.mutation = document;\n return this.getClient(this.props).mutate(opts);\n };\n GraphQL.prototype.dataForChild = function () {\n var _this = this;\n if (this.type === DocumentType.Mutation) {\n return this.dataForChildViaMutation;\n }\n var opts = this.calculateOptions(this.props);\n var data = {};\n assign(data, observableQueryFields(this.queryObservable));\n if (this.type === DocumentType.Subscription) {\n assign(data, {\n loading: !this.lastSubscriptionData,\n variables: opts.variables,\n }, this.lastSubscriptionData && this.lastSubscriptionData.data);\n }\n else {\n var currentResult = this.queryObservable.currentResult();\n var loading = currentResult.loading, error_1 = currentResult.error, networkStatus = currentResult.networkStatus;\n assign(data, { loading: loading, networkStatus: networkStatus });\n var logErrorTimeoutId_1 = setTimeout(function () {\n if (error_1) {\n console.error(\"Unhandled (in react-apollo:\" + graphQLDisplayName + \")\", error_1.stack || error_1);\n }\n }, 10);\n Object.defineProperty(data, 'error', {\n configurable: true,\n enumerable: true,\n get: function () {\n clearTimeout(logErrorTimeoutId_1);\n return error_1;\n },\n });\n if (loading) {\n assign(data, this.previousData, currentResult.data);\n }\n else if (error_1) {\n assign(data, (this.queryObservable.getLastResult() || {}).data);\n }\n else {\n assign(data, currentResult.data);\n this.previousData = currentResult.data;\n }\n if (!this.querySubscription) {\n data.refetch = function (args) {\n return new Promise(function (r, f) {\n _this.refetcherQueue = { resolve: r, reject: f, args: args };\n });\n };\n }\n }\n return data;\n };\n GraphQL.prototype.render = function () {\n if (this.shouldSkip()) {\n if (operationOptions.withRef) {\n return React.createElement(WrappedComponent, assign({}, this.props, { ref: this.setWrappedInstance }));\n }\n return React.createElement(WrappedComponent, this.props);\n }\n var _a = this, shouldRerender = _a.shouldRerender, renderedElement = _a.renderedElement, props = _a.props;\n this.shouldRerender = false;\n if (!shouldRerender &&\n renderedElement &&\n renderedElement.type === WrappedComponent) {\n return renderedElement;\n }\n var data = this.dataForChild();\n var clientProps = this.calculateResultProps(data);\n var mergedPropsAndData = assign({}, props, clientProps);\n if (operationOptions.withRef)\n mergedPropsAndData.ref = this.setWrappedInstance;\n this.renderedElement = React.createElement(WrappedComponent, mergedPropsAndData);\n return this.renderedElement;\n };\n GraphQL.displayName = graphQLDisplayName;\n GraphQL.WrappedComponent = WrappedComponent;\n GraphQL.contextTypes = {\n client: PropTypes.object,\n getQueryRecycler: PropTypes.func,\n };\n return GraphQL;\n }(React.Component));\n return hoistNonReactStatics(GraphQL, WrappedComponent, {});\n }\n return wrapWithApolloComponent;\n}\n\nvar __extends$3 = (undefined && undefined.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar invariant$3 = require('invariant');\nvar assign$1 = require('object-assign');\nvar hoistNonReactStatics$1 = require('hoist-non-react-statics');\nfunction getDisplayName$1(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\nfunction withApollo(WrappedComponent, operationOptions) {\n if (operationOptions === void 0) { operationOptions = {}; }\n var withDisplayName = \"withApollo(\" + getDisplayName$1(WrappedComponent) + \")\";\n var WithApollo = (function (_super) {\n __extends$3(WithApollo, _super);\n function WithApollo(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this.client = context.client;\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);\n invariant$3(!!_this.client, \"Could not find \\\"client\\\" in the context of \" +\n (\"\\\"\" + withDisplayName + \"\\\". \") +\n \"Wrap the root component in an <ApolloProvider>\");\n return _this;\n }\n WithApollo.prototype.getWrappedInstance = function () {\n invariant$3(operationOptions.withRef, \"To access the wrapped instance, you need to specify \" +\n \"{ withRef: true } in the options\");\n return this.wrappedInstance;\n };\n WithApollo.prototype.setWrappedInstance = function (ref) {\n this.wrappedInstance = ref;\n };\n WithApollo.prototype.render = function () {\n var props = assign$1({}, this.props);\n props.client = this.client;\n if (operationOptions.withRef)\n props.ref = this.setWrappedInstance;\n return React.createElement(WrappedComponent, props);\n };\n WithApollo.displayName = withDisplayName;\n WithApollo.WrappedComponent = WrappedComponent;\n WithApollo.contextTypes = { client: PropTypes.object.isRequired };\n return WithApollo;\n }(React.Component));\n return hoistNonReactStatics$1(WithApollo, WrappedComponent, {});\n}\n\nvar assign$2 = require('object-assign');\nfunction walkTree(element$$1, context, visitor) {\n if (Array.isArray(element$$1)) {\n element$$1.forEach(function (item) { return walkTree(item, context, visitor); });\n return;\n }\n if (element$$1 == null)\n return;\n var Component$$1 = element$$1.type;\n if (typeof Component$$1 === 'function') {\n var props = assign$2({}, Component$$1.defaultProps, element$$1.props);\n var childContext = context;\n var child = void 0;\n if (Component$$1.prototype && Component$$1.prototype.isReactComponent) {\n var _component = Component$$1;\n var instance_1 = new _component(props, context);\n instance_1.props = instance_1.props || props;\n instance_1.context = instance_1.context || context;\n instance_1.state = instance_1.state || null;\n instance_1.setState = function (newState) {\n if (typeof newState === 'function') {\n newState = newState(instance_1.state, instance_1.props, instance_1.context);\n }\n instance_1.state = assign$2({}, instance_1.state, newState);\n };\n if (instance_1.componentWillMount) {\n instance_1.componentWillMount();\n }\n if (instance_1.getChildContext) {\n childContext = assign$2({}, context, instance_1.getChildContext());\n }\n if (visitor(element$$1, instance_1, context) === false) {\n return;\n }\n child = instance_1.render();\n }\n else {\n if (visitor(element$$1, null, context) === false) {\n return;\n }\n var _component = Component$$1;\n child = _component(props, context);\n }\n if (child) {\n if (Array.isArray(child)) {\n child.forEach(function (item) { return walkTree(item, context, visitor); });\n }\n else {\n walkTree(child, childContext, visitor);\n }\n }\n }\n else {\n if (visitor(element$$1, null, context) === false) {\n return;\n }\n if (element$$1.props && element$$1.props.children) {\n React.Children.forEach(element$$1.props.children, function (child) {\n if (child) {\n walkTree(child, context, visitor);\n }\n });\n }\n }\n}\nfunction getQueriesFromTree(_a, fetchRoot) {\n var rootElement = _a.rootElement, _b = _a.rootContext, rootContext = _b === void 0 ? {} : _b;\n if (fetchRoot === void 0) { fetchRoot = true; }\n var queries = [];\n walkTree(rootElement, rootContext, function (element$$1, instance, context) {\n var skipRoot = !fetchRoot && element$$1 === rootElement;\n if (instance && typeof instance.fetchData === 'function' && !skipRoot) {\n var query = instance.fetchData();\n if (query) {\n queries.push({ query: query, element: element$$1, context: context });\n return false;\n }\n }\n });\n return queries;\n}\nfunction getDataFromTree(rootElement, rootContext, fetchRoot) {\n if (rootContext === void 0) { rootContext = {}; }\n if (fetchRoot === void 0) { fetchRoot = true; }\n var queries = getQueriesFromTree({ rootElement: rootElement, rootContext: rootContext }, fetchRoot);\n if (!queries.length)\n return Promise.resolve();\n var errors = [];\n var mappedQueries = queries.map(function (_a) {\n var query = _a.query, element$$1 = _a.element, context = _a.context;\n return query\n .then(function (_) { return getDataFromTree(element$$1, context, false); })\n .catch(function (e) { return errors.push(e); });\n });\n return Promise.all(mappedQueries).then(function (_) {\n if (errors.length > 0) {\n var error = errors.length === 1\n ? errors[0]\n : new Error(errors.length + \" errors were thrown when executing your GraphQL queries.\");\n error.queryErrors = errors;\n throw error;\n }\n });\n}\n\nexports.compose = lodash_flowright;\nexports.ApolloProvider = ApolloProvider;\nexports.graphql = graphql;\nexports.withApollo = withApollo;\nexports.getDataFromTree = getDataFromTree;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=react-apollo.browser.umd.js.map\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetComments\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableType\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"singleCommentId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"session\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nickname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatarUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"organizationName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AddCommentFormSession\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"commentable\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableType\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"acceptsNewComments\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userAllowedToComment\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"commentsHaveAlignment\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"commentsHaveVotes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalCommentsCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"comments\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"singleCommentId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"singleCommentId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentThread\"},\"directives\":[]}]}},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AddCommentFormCommentable\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":864}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/add_comment_form_session.fragment.graphql\\\"\\n#import \\\"../fragments/comment_thread.fragment.graphql\\\"\\n#import \\\"../fragments/add_comment_form_commentable.fragment.graphql\\\"\\nquery GetComments($commentableId: String!, $commentableType: String!, $orderBy: String, $singleCommentId: String, $locale: String!, $toggleTranslations: Boolean!) {\\n session {\\n user {\\n name\\n nickname\\n avatarUrl\\n organizationName\\n }\\n ...AddCommentFormSession\\n }\\n commentable(id: $commentableId, type: $commentableType, locale: $locale, toggleTranslations: $toggleTranslations) {\\n acceptsNewComments\\n userAllowedToComment\\n commentsHaveAlignment\\n commentsHaveVotes\\n totalCommentsCount\\n comments(orderBy: $orderBy, singleCommentId: $singleCommentId) {\\n id\\n ...CommentThread\\n }\\n ...AddCommentFormCommentable\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/add_comment_form_session.fragment.graphql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"../fragments/comment_thread.fragment.graphql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"../fragments/add_comment_form_commentable.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n return doc.definitions.find(function(op) {\n return op.name ? op.name.value == name : false;\n });\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = Object.assign({}, doc);\n\n var op = findOperation(doc, operationName);\n newDoc.definitions = [op];\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set(opRefs);\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n\n module.exports = doc;\n \n module.exports[\"GetComments\"] = oneQuery(doc, \"GetComments\");\n \n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/** @license React v16.2.0\n * react.production.min.js\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var m=require(\"object-assign\"),n=require(\"fbjs/lib/emptyObject\"),p=require(\"fbjs/lib/emptyFunction\"),q=\"function\"===typeof Symbol&&Symbol[\"for\"],r=q?Symbol[\"for\"](\"react.element\"):60103,t=q?Symbol[\"for\"](\"react.call\"):60104,u=q?Symbol[\"for\"](\"react.return\"):60105,v=q?Symbol[\"for\"](\"react.portal\"):60106,w=q?Symbol[\"for\"](\"react.fragment\"):60107,x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){for(var b=arguments.length-1,e=\"Minified React error #\"+a+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant\\x3d\"+a,c=0;c<b;c++)e+=\"\\x26args[]\\x3d\"+encodeURIComponent(arguments[c+1]);b=Error(e+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");b.name=\"Invariant Violation\";b.framesToPop=1;throw b;}\nvar z={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};function A(a,b,e){this.props=a;this.context=b;this.refs=n;this.updater=e||z}A.prototype.isReactComponent={};A.prototype.setState=function(a,b){\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a?y(\"85\"):void 0;this.updater.enqueueSetState(this,a,b,\"setState\")};A.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction B(a,b,e){this.props=a;this.context=b;this.refs=n;this.updater=e||z}function C(){}C.prototype=A.prototype;var D=B.prototype=new C;D.constructor=B;m(D,A.prototype);D.isPureReactComponent=!0;function E(a,b,e){this.props=a;this.context=b;this.refs=n;this.updater=e||z}var F=E.prototype=new C;F.constructor=E;m(F,A.prototype);F.unstable_isAsyncReactComponent=!0;F.render=function(){return this.props.children};var G={current:null},H=Object.prototype.hasOwnProperty,I={key:!0,ref:!0,__self:!0,__source:!0};\nfunction J(a,b,e){var c,d={},g=null,k=null;if(null!=b)for(c in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)H.call(b,c)&&!I.hasOwnProperty(c)&&(d[c]=b[c]);var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){for(var h=Array(f),l=0;l<f;l++)h[l]=arguments[l+2];d.children=h}if(a&&a.defaultProps)for(c in f=a.defaultProps,f)void 0===d[c]&&(d[c]=f[c]);return{$$typeof:r,type:a,key:g,ref:k,props:d,_owner:G.current}}function K(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===r}\nfunction escape(a){var b={\"\\x3d\":\"\\x3d0\",\":\":\"\\x3d2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var L=/\\/+/g,M=[];function N(a,b,e,c){if(M.length){var d=M.pop();d.result=a;d.keyPrefix=b;d.func=e;d.context=c;d.count=0;return d}return{result:a,keyPrefix:b,func:e,context:c,count:0}}function O(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>M.length&&M.push(a)}\nfunction P(a,b,e,c){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case r:case t:case u:case v:g=!0}}if(g)return e(c,a,\"\"===b?\".\"+Q(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+Q(d,k);g+=P(d,f,e,c)}else if(null===a||\"undefined\"===typeof a?f=null:(f=x&&a[x]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=\nf.call(a),k=0;!(d=a.next()).done;)d=d.value,f=b+Q(d,k++),g+=P(d,f,e,c);else\"object\"===d&&(e=\"\"+a,y(\"31\",\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e,\"\"));return g}function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function R(a,b){a.func.call(a.context,b,a.count++)}\nfunction S(a,b,e){var c=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?T(a,c,e,p.thatReturnsArgument):null!=a&&(K(a)&&(b=d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(L,\"$\\x26/\")+\"/\")+e,a={$$typeof:r,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}),c.push(a))}function T(a,b,e,c,d){var g=\"\";null!=e&&(g=(\"\"+e).replace(L,\"$\\x26/\")+\"/\");b=N(b,g,c,d);null==a||P(a,\"\",S,b);O(b)}\nvar U={Children:{map:function(a,b,e){if(null==a)return a;var c=[];T(a,c,null,b,e);return c},forEach:function(a,b,e){if(null==a)return a;b=N(null,null,b,e);null==a||P(a,\"\",R,b);O(b)},count:function(a){return null==a?0:P(a,\"\",p.thatReturnsNull,null)},toArray:function(a){var b=[];T(a,b,null,p.thatReturnsArgument);return b},only:function(a){K(a)?void 0:y(\"143\");return a}},Component:A,PureComponent:B,unstable_AsyncComponent:E,Fragment:w,createElement:J,cloneElement:function(a,b,e){var c=m({},a.props),\nd=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=G.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)H.call(b,h)&&!I.hasOwnProperty(h)&&(c[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)c.children=e;else if(1<h){f=Array(h);for(var l=0;l<h;l++)f[l]=arguments[l+2];c.children=f}return{$$typeof:r,type:a.type,key:d,ref:g,props:c,_owner:k}},createFactory:function(a){var b=J.bind(null,a);b.type=a;return b},\nisValidElement:K,version:\"16.2.0\",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:G,assign:m}},V=Object.freeze({default:U}),W=V&&U||V;module.exports=W[\"default\"]?W[\"default\"]:W;\n","/** @license React v16.2.0\n * react-dom.production.min.js\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),l=require(\"fbjs/lib/ExecutionEnvironment\"),B=require(\"object-assign\"),C=require(\"fbjs/lib/emptyFunction\"),ba=require(\"fbjs/lib/EventListener\"),da=require(\"fbjs/lib/getActiveElement\"),ea=require(\"fbjs/lib/shallowEqual\"),fa=require(\"fbjs/lib/containsNode\"),ia=require(\"fbjs/lib/focusNode\"),D=require(\"fbjs/lib/emptyObject\");\nfunction E(a){for(var b=arguments.length-1,c=\"Minified React error #\"+a+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant\\x3d\"+a,d=0;d<b;d++)c+=\"\\x26args[]\\x3d\"+encodeURIComponent(arguments[d+1]);b=Error(c+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");b.name=\"Invariant Violation\";b.framesToPop=1;throw b;}aa?void 0:E(\"227\");\nvar oa={children:!0,dangerouslySetInnerHTML:!0,defaultValue:!0,defaultChecked:!0,innerHTML:!0,suppressContentEditableWarning:!0,suppressHydrationWarning:!0,style:!0};function pa(a,b){return(a&b)===b}\nvar ta={MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,HAS_STRING_BOOLEAN_VALUE:64,injectDOMPropertyConfig:function(a){var b=ta,c=a.Properties||{},d=a.DOMAttributeNamespaces||{},e=a.DOMAttributeNames||{};a=a.DOMMutationMethods||{};for(var f in c){ua.hasOwnProperty(f)?E(\"48\",f):void 0;var g=f.toLowerCase(),h=c[f];g={attributeName:g,attributeNamespace:null,propertyName:f,mutationMethod:null,mustUseProperty:pa(h,b.MUST_USE_PROPERTY),\nhasBooleanValue:pa(h,b.HAS_BOOLEAN_VALUE),hasNumericValue:pa(h,b.HAS_NUMERIC_VALUE),hasPositiveNumericValue:pa(h,b.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:pa(h,b.HAS_OVERLOADED_BOOLEAN_VALUE),hasStringBooleanValue:pa(h,b.HAS_STRING_BOOLEAN_VALUE)};1>=g.hasBooleanValue+g.hasNumericValue+g.hasOverloadedBooleanValue?void 0:E(\"50\",f);e.hasOwnProperty(f)&&(g.attributeName=e[f]);d.hasOwnProperty(f)&&(g.attributeNamespace=d[f]);a.hasOwnProperty(f)&&(g.mutationMethod=a[f]);ua[f]=g}}},ua={};\nfunction va(a,b){if(oa.hasOwnProperty(a)||2<a.length&&(\"o\"===a[0]||\"O\"===a[0])&&(\"n\"===a[1]||\"N\"===a[1]))return!1;if(null===b)return!0;switch(typeof b){case \"boolean\":return oa.hasOwnProperty(a)?a=!0:(b=wa(a))?a=b.hasBooleanValue||b.hasStringBooleanValue||b.hasOverloadedBooleanValue:(a=a.toLowerCase().slice(0,5),a=\"data-\"===a||\"aria-\"===a),a;case \"undefined\":case \"number\":case \"string\":case \"object\":return!0;default:return!1}}function wa(a){return ua.hasOwnProperty(a)?ua[a]:null}\nvar xa=ta,ya=xa.MUST_USE_PROPERTY,K=xa.HAS_BOOLEAN_VALUE,za=xa.HAS_NUMERIC_VALUE,Aa=xa.HAS_POSITIVE_NUMERIC_VALUE,Ba=xa.HAS_OVERLOADED_BOOLEAN_VALUE,Ca=xa.HAS_STRING_BOOLEAN_VALUE,Da={Properties:{allowFullScreen:K,async:K,autoFocus:K,autoPlay:K,capture:Ba,checked:ya|K,cols:Aa,contentEditable:Ca,controls:K,\"default\":K,defer:K,disabled:K,download:Ba,draggable:Ca,formNoValidate:K,hidden:K,loop:K,multiple:ya|K,muted:ya|K,noValidate:K,open:K,playsInline:K,readOnly:K,required:K,reversed:K,rows:Aa,rowSpan:za,\nscoped:K,seamless:K,selected:ya|K,size:Aa,start:za,span:Aa,spellCheck:Ca,style:0,tabIndex:0,itemScope:K,acceptCharset:0,className:0,htmlFor:0,httpEquiv:0,value:Ca},DOMAttributeNames:{acceptCharset:\"accept-charset\",className:\"class\",htmlFor:\"for\",httpEquiv:\"http-equiv\"},DOMMutationMethods:{value:function(a,b){if(null==b)return a.removeAttribute(\"value\");\"number\"!==a.type||!1===a.hasAttribute(\"value\")?a.setAttribute(\"value\",\"\"+b):a.validity&&!a.validity.badInput&&a.ownerDocument.activeElement!==a&&\na.setAttribute(\"value\",\"\"+b)}}},Ea=xa.HAS_STRING_BOOLEAN_VALUE,M={xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\"},Ga={Properties:{autoReverse:Ea,externalResourcesRequired:Ea,preserveAlpha:Ea},DOMAttributeNames:{autoReverse:\"autoReverse\",externalResourcesRequired:\"externalResourcesRequired\",preserveAlpha:\"preserveAlpha\"},DOMAttributeNamespaces:{xlinkActuate:M.xlink,xlinkArcrole:M.xlink,xlinkHref:M.xlink,xlinkRole:M.xlink,xlinkShow:M.xlink,xlinkTitle:M.xlink,xlinkType:M.xlink,\nxmlBase:M.xml,xmlLang:M.xml,xmlSpace:M.xml}},Ha=/[\\-\\:]([a-z])/g;function Ia(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode x-height xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type xml:base xmlns:xlink xml:lang xml:space\".split(\" \").forEach(function(a){var b=a.replace(Ha,\nIa);Ga.Properties[b]=0;Ga.DOMAttributeNames[b]=a});xa.injectDOMPropertyConfig(Da);xa.injectDOMPropertyConfig(Ga);\nvar P={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,injection:{injectErrorUtils:function(a){\"function\"!==typeof a.invokeGuardedCallback?E(\"197\"):void 0;Ja=a.invokeGuardedCallback}},invokeGuardedCallback:function(a,b,c,d,e,f,g,h,k){Ja.apply(P,arguments)},invokeGuardedCallbackAndCatchFirstError:function(a,b,c,d,e,f,g,h,k){P.invokeGuardedCallback.apply(this,arguments);if(P.hasCaughtError()){var q=P.clearCaughtError();P._hasRethrowError||(P._hasRethrowError=!0,P._rethrowError=\nq)}},rethrowCaughtError:function(){return Ka.apply(P,arguments)},hasCaughtError:function(){return P._hasCaughtError},clearCaughtError:function(){if(P._hasCaughtError){var a=P._caughtError;P._caughtError=null;P._hasCaughtError=!1;return a}E(\"198\")}};function Ja(a,b,c,d,e,f,g,h,k){P._hasCaughtError=!1;P._caughtError=null;var q=Array.prototype.slice.call(arguments,3);try{b.apply(c,q)}catch(v){P._caughtError=v,P._hasCaughtError=!0}}\nfunction Ka(){if(P._hasRethrowError){var a=P._rethrowError;P._rethrowError=null;P._hasRethrowError=!1;throw a;}}var La=null,Ma={};\nfunction Na(){if(La)for(var a in Ma){var b=Ma[a],c=La.indexOf(a);-1<c?void 0:E(\"96\",a);if(!Oa[c]){b.extractEvents?void 0:E(\"97\",a);Oa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;Pa.hasOwnProperty(h)?E(\"99\",h):void 0;Pa[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&Qa(k[e],g,h);e=!0}else f.registrationName?(Qa(f.registrationName,g,h),e=!0):e=!1;e?void 0:E(\"98\",d,a)}}}}\nfunction Qa(a,b,c){Ra[a]?E(\"100\",a):void 0;Ra[a]=b;Sa[a]=b.eventTypes[c].dependencies}var Oa=[],Pa={},Ra={},Sa={};function Ta(a){La?E(\"101\"):void 0;La=Array.prototype.slice.call(a);Na()}function Ua(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];Ma.hasOwnProperty(c)&&Ma[c]===d||(Ma[c]?E(\"102\",c):void 0,Ma[c]=d,b=!0)}b&&Na()}\nvar Va=Object.freeze({plugins:Oa,eventNameDispatchConfigs:Pa,registrationNameModules:Ra,registrationNameDependencies:Sa,possibleRegistrationNames:null,injectEventPluginOrder:Ta,injectEventPluginsByName:Ua}),Wa=null,Xa=null,Ya=null;function Za(a,b,c,d){b=a.type||\"unknown-event\";a.currentTarget=Ya(d);P.invokeGuardedCallbackAndCatchFirstError(b,c,void 0,a);a.currentTarget=null}\nfunction $a(a,b){null==b?E(\"30\"):void 0;if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function ab(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var bb=null;\nfunction cb(a,b){if(a){var c=a._dispatchListeners,d=a._dispatchInstances;if(Array.isArray(c))for(var e=0;e<c.length&&!a.isPropagationStopped();e++)Za(a,b,c[e],d[e]);else c&&Za(a,b,c,d);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function db(a){return cb(a,!0)}function gb(a){return cb(a,!1)}var hb={injectEventPluginOrder:Ta,injectEventPluginsByName:Ua};\nfunction ib(a,b){var c=a.stateNode;if(!c)return null;var d=Wa(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;c&&\"function\"!==typeof c?E(\"231\",b,typeof c):void 0;\nreturn c}function jb(a,b,c,d){for(var e,f=0;f<Oa.length;f++){var g=Oa[f];g&&(g=g.extractEvents(a,b,c,d))&&(e=$a(e,g))}return e}function kb(a){a&&(bb=$a(bb,a))}function lb(a){var b=bb;bb=null;b&&(a?ab(b,db):ab(b,gb),bb?E(\"95\"):void 0,P.rethrowCaughtError())}var mb=Object.freeze({injection:hb,getListener:ib,extractEvents:jb,enqueueEvents:kb,processEventQueue:lb}),nb=Math.random().toString(36).slice(2),Q=\"__reactInternalInstance$\"+nb,ob=\"__reactEventHandlers$\"+nb;\nfunction pb(a){if(a[Q])return a[Q];for(var b=[];!a[Q];)if(b.push(a),a.parentNode)a=a.parentNode;else return null;var c=void 0,d=a[Q];if(5===d.tag||6===d.tag)return d;for(;a&&(d=a[Q]);a=b.pop())c=d;return c}function qb(a){if(5===a.tag||6===a.tag)return a.stateNode;E(\"33\")}function rb(a){return a[ob]||null}\nvar sb=Object.freeze({precacheFiberNode:function(a,b){b[Q]=a},getClosestInstanceFromNode:pb,getInstanceFromNode:function(a){a=a[Q];return!a||5!==a.tag&&6!==a.tag?null:a},getNodeFromInstance:qb,getFiberCurrentPropsFromNode:rb,updateFiberProps:function(a,b){a[ob]=b}});function tb(a){do a=a[\"return\"];while(a&&5!==a.tag);return a?a:null}function ub(a,b,c){for(var d=[];a;)d.push(a),a=tb(a);for(a=d.length;0<a--;)b(d[a],\"captured\",c);for(a=0;a<d.length;a++)b(d[a],\"bubbled\",c)}\nfunction vb(a,b,c){if(b=ib(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=$a(c._dispatchListeners,b),c._dispatchInstances=$a(c._dispatchInstances,a)}function wb(a){a&&a.dispatchConfig.phasedRegistrationNames&&ub(a._targetInst,vb,a)}function xb(a){if(a&&a.dispatchConfig.phasedRegistrationNames){var b=a._targetInst;b=b?tb(b):null;ub(b,vb,a)}}\nfunction yb(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=ib(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=$a(c._dispatchListeners,b),c._dispatchInstances=$a(c._dispatchInstances,a))}function zb(a){a&&a.dispatchConfig.registrationName&&yb(a._targetInst,null,a)}function Ab(a){ab(a,wb)}\nfunction Bb(a,b,c,d){if(c&&d)a:{var e=c;for(var f=d,g=0,h=e;h;h=tb(h))g++;h=0;for(var k=f;k;k=tb(k))h++;for(;0<g-h;)e=tb(e),g--;for(;0<h-g;)f=tb(f),h--;for(;g--;){if(e===f||e===f.alternate)break a;e=tb(e);f=tb(f)}e=null}else e=null;f=e;for(e=[];c&&c!==f;){g=c.alternate;if(null!==g&&g===f)break;e.push(c);c=tb(c)}for(c=[];d&&d!==f;){g=d.alternate;if(null!==g&&g===f)break;c.push(d);d=tb(d)}for(d=0;d<e.length;d++)yb(e[d],\"bubbled\",a);for(a=c.length;0<a--;)yb(c[a],\"captured\",b)}\nvar Cb=Object.freeze({accumulateTwoPhaseDispatches:Ab,accumulateTwoPhaseDispatchesSkipTarget:function(a){ab(a,xb)},accumulateEnterLeaveDispatches:Bb,accumulateDirectDispatches:function(a){ab(a,zb)}}),Db=null;function Eb(){!Db&&l.canUseDOM&&(Db=\"textContent\"in document.documentElement?\"textContent\":\"innerText\");return Db}var S={_root:null,_startText:null,_fallbackText:null};\nfunction Fb(){if(S._fallbackText)return S._fallbackText;var a,b=S._startText,c=b.length,d,e=Gb(),f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);S._fallbackText=e.slice(a,1<d?1-d:void 0);return S._fallbackText}function Gb(){return\"value\"in S._root?S._root.value:S._root[Eb()]}\nvar Hb=\"dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances\".split(\" \"),Ib={type:null,target:null,currentTarget:C.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\nfunction T(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?C.thatReturnsTrue:C.thatReturnsFalse;this.isPropagationStopped=C.thatReturnsFalse;return this}\nB(T.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=C.thatReturnsTrue)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=C.thatReturnsTrue)},persist:function(){this.isPersistent=C.thatReturnsTrue},isPersistent:C.thatReturnsFalse,\ndestructor:function(){var a=this.constructor.Interface,b;for(b in a)this[b]=null;for(a=0;a<Hb.length;a++)this[Hb[a]]=null}});T.Interface=Ib;T.augmentClass=function(a,b){function c(){}c.prototype=this.prototype;var d=new c;B(d,a.prototype);a.prototype=d;a.prototype.constructor=a;a.Interface=B({},this.Interface,b);a.augmentClass=this.augmentClass;Jb(a)};Jb(T);function Kb(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}\nfunction Lb(a){a instanceof this?void 0:E(\"223\");a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function Jb(a){a.eventPool=[];a.getPooled=Kb;a.release=Lb}function Mb(a,b,c,d){return T.call(this,a,b,c,d)}T.augmentClass(Mb,{data:null});function Nb(a,b,c,d){return T.call(this,a,b,c,d)}T.augmentClass(Nb,{data:null});var Pb=[9,13,27,32],Vb=l.canUseDOM&&\"CompositionEvent\"in window,Wb=null;l.canUseDOM&&\"documentMode\"in document&&(Wb=document.documentMode);var Xb;\nif(Xb=l.canUseDOM&&\"TextEvent\"in window&&!Wb){var Yb=window.opera;Xb=!(\"object\"===typeof Yb&&\"function\"===typeof Yb.version&&12>=parseInt(Yb.version(),10))}\nvar Zb=Xb,$b=l.canUseDOM&&(!Vb||Wb&&8<Wb&&11>=Wb),ac=String.fromCharCode(32),bc={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"topCompositionEnd\",\"topKeyPress\",\"topTextInput\",\"topPaste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")}},cc=!1;\nfunction dc(a,b){switch(a){case \"topKeyUp\":return-1!==Pb.indexOf(b.keyCode);case \"topKeyDown\":return 229!==b.keyCode;case \"topKeyPress\":case \"topMouseDown\":case \"topBlur\":return!0;default:return!1}}function ec(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var fc=!1;function gc(a,b){switch(a){case \"topCompositionEnd\":return ec(b);case \"topKeyPress\":if(32!==b.which)return null;cc=!0;return ac;case \"topTextInput\":return a=b.data,a===ac&&cc?null:a;default:return null}}\nfunction hc(a,b){if(fc)return\"topCompositionEnd\"===a||!Vb&&dc(a,b)?(a=Fb(),S._root=null,S._startText=null,S._fallbackText=null,fc=!1,a):null;switch(a){case \"topPaste\":return null;case \"topKeyPress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"topCompositionEnd\":return $b?null:b.data;default:return null}}\nvar ic={eventTypes:bc,extractEvents:function(a,b,c,d){var e;if(Vb)b:{switch(a){case \"topCompositionStart\":var f=bc.compositionStart;break b;case \"topCompositionEnd\":f=bc.compositionEnd;break b;case \"topCompositionUpdate\":f=bc.compositionUpdate;break b}f=void 0}else fc?dc(a,c)&&(f=bc.compositionEnd):\"topKeyDown\"===a&&229===c.keyCode&&(f=bc.compositionStart);f?($b&&(fc||f!==bc.compositionStart?f===bc.compositionEnd&&fc&&(e=Fb()):(S._root=d,S._startText=Gb(),fc=!0)),f=Mb.getPooled(f,b,c,d),e?f.data=\ne:(e=ec(c),null!==e&&(f.data=e)),Ab(f),e=f):e=null;(a=Zb?gc(a,c):hc(a,c))?(b=Nb.getPooled(bc.beforeInput,b,c,d),b.data=a,Ab(b)):b=null;return[e,b]}},jc=null,kc=null,lc=null;function mc(a){if(a=Xa(a)){jc&&\"function\"===typeof jc.restoreControlledState?void 0:E(\"194\");var b=Wa(a.stateNode);jc.restoreControlledState(a.stateNode,a.type,b)}}var nc={injectFiberControlledHostComponent:function(a){jc=a}};function oc(a){kc?lc?lc.push(a):lc=[a]:kc=a}\nfunction pc(){if(kc){var a=kc,b=lc;lc=kc=null;mc(a);if(b)for(a=0;a<b.length;a++)mc(b[a])}}var qc=Object.freeze({injection:nc,enqueueStateRestore:oc,restoreStateIfNeeded:pc});function rc(a,b){return a(b)}var sc=!1;function tc(a,b){if(sc)return rc(a,b);sc=!0;try{return rc(a,b)}finally{sc=!1,pc()}}var uc={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};\nfunction vc(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!uc[a.type]:\"textarea\"===b?!0:!1}function wc(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var xc;l.canUseDOM&&(xc=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature(\"\",\"\"));\nfunction yc(a,b){if(!l.canUseDOM||b&&!(\"addEventListener\"in document))return!1;b=\"on\"+a;var c=b in document;c||(c=document.createElement(\"div\"),c.setAttribute(b,\"return;\"),c=\"function\"===typeof c[b]);!c&&xc&&\"wheel\"===a&&(c=document.implementation.hasFeature(\"Events.wheel\",\"3.0\"));return c}function zc(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ac(a){var b=zc(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"function\"===typeof c.get&&\"function\"===typeof c.set)return Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:!0,get:function(){return c.get.call(this)},set:function(a){d=\"\"+a;c.set.call(this,a)}}),{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=null;delete a[b]}}}\nfunction Bc(a){a._valueTracker||(a._valueTracker=Ac(a))}function Cc(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=zc(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}var Dc={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"topBlur topChange topClick topFocus topInput topKeyDown topKeyUp topSelectionChange\".split(\" \")}};\nfunction Ec(a,b,c){a=T.getPooled(Dc.change,a,b,c);a.type=\"change\";oc(c);Ab(a);return a}var Fc=null,Gc=null;function Hc(a){kb(a);lb(!1)}function Ic(a){var b=qb(a);if(Cc(b))return a}function Jc(a,b){if(\"topChange\"===a)return b}var Kc=!1;l.canUseDOM&&(Kc=yc(\"input\")&&(!document.documentMode||9<document.documentMode));function Lc(){Fc&&(Fc.detachEvent(\"onpropertychange\",Mc),Gc=Fc=null)}function Mc(a){\"value\"===a.propertyName&&Ic(Gc)&&(a=Ec(Gc,a,wc(a)),tc(Hc,a))}\nfunction Nc(a,b,c){\"topFocus\"===a?(Lc(),Fc=b,Gc=c,Fc.attachEvent(\"onpropertychange\",Mc)):\"topBlur\"===a&&Lc()}function Oc(a){if(\"topSelectionChange\"===a||\"topKeyUp\"===a||\"topKeyDown\"===a)return Ic(Gc)}function Pc(a,b){if(\"topClick\"===a)return Ic(b)}function $c(a,b){if(\"topInput\"===a||\"topChange\"===a)return Ic(b)}\nvar ad={eventTypes:Dc,_isInputEventSupported:Kc,extractEvents:function(a,b,c,d){var e=b?qb(b):window,f=e.nodeName&&e.nodeName.toLowerCase();if(\"select\"===f||\"input\"===f&&\"file\"===e.type)var g=Jc;else if(vc(e))if(Kc)g=$c;else{g=Oc;var h=Nc}else f=e.nodeName,!f||\"input\"!==f.toLowerCase()||\"checkbox\"!==e.type&&\"radio\"!==e.type||(g=Pc);if(g&&(g=g(a,b)))return Ec(g,c,d);h&&h(a,e,b);\"topBlur\"===a&&null!=b&&(a=b._wrapperState||e._wrapperState)&&a.controlled&&\"number\"===e.type&&(a=\"\"+e.value,e.getAttribute(\"value\")!==\na&&e.setAttribute(\"value\",a))}};function bd(a,b,c,d){return T.call(this,a,b,c,d)}T.augmentClass(bd,{view:null,detail:null});var cd={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function dd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=cd[a])?!!b[a]:!1}function ed(){return dd}function fd(a,b,c,d){return T.call(this,a,b,c,d)}\nbd.augmentClass(fd,{screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:ed,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)}});\nvar gd={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"topMouseOut\",\"topMouseOver\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"topMouseOut\",\"topMouseOver\"]}},hd={eventTypes:gd,extractEvents:function(a,b,c,d){if(\"topMouseOver\"===a&&(c.relatedTarget||c.fromElement)||\"topMouseOut\"!==a&&\"topMouseOver\"!==a)return null;var e=d.window===d?d:(e=d.ownerDocument)?e.defaultView||e.parentWindow:window;\"topMouseOut\"===a?(a=b,b=(b=c.relatedTarget||c.toElement)?pb(b):null):a=null;if(a===\nb)return null;var f=null==a?e:qb(a);e=null==b?e:qb(b);var g=fd.getPooled(gd.mouseLeave,a,c,d);g.type=\"mouseleave\";g.target=f;g.relatedTarget=e;c=fd.getPooled(gd.mouseEnter,b,c,d);c.type=\"mouseenter\";c.target=e;c.relatedTarget=f;Bb(g,c,a,b);return[g,c]}},id=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner;function jd(a){a=a.type;return\"string\"===typeof a?a:\"function\"===typeof a?a.displayName||a.name:null}\nfunction kd(a){var b=a;if(a.alternate)for(;b[\"return\"];)b=b[\"return\"];else{if(0!==(b.effectTag&2))return 1;for(;b[\"return\"];)if(b=b[\"return\"],0!==(b.effectTag&2))return 1}return 3===b.tag?2:3}function ld(a){return(a=a._reactInternalFiber)?2===kd(a):!1}function md(a){2!==kd(a)?E(\"188\"):void 0}\nfunction nd(a){var b=a.alternate;if(!b)return b=kd(a),3===b?E(\"188\"):void 0,1===b?null:a;for(var c=a,d=b;;){var e=c[\"return\"],f=e?e.alternate:null;if(!e||!f)break;if(e.child===f.child){for(var g=e.child;g;){if(g===c)return md(e),a;if(g===d)return md(e),b;g=g.sibling}E(\"188\")}if(c[\"return\"]!==d[\"return\"])c=e,d=f;else{g=!1;for(var h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}g?\nvoid 0:E(\"189\")}}c.alternate!==d?E(\"190\"):void 0}3!==c.tag?E(\"188\"):void 0;return c.stateNode.current===c?a:b}function od(a){a=nd(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child[\"return\"]=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b[\"return\"]||b[\"return\"]===a)return null;b=b[\"return\"]}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}return null}\nfunction pd(a){a=nd(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child&&4!==b.tag)b.child[\"return\"]=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b[\"return\"]||b[\"return\"]===a)return null;b=b[\"return\"]}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}return null}var qd=[];\nfunction rd(a){var b=a.targetInst;do{if(!b){a.ancestors.push(b);break}var c;for(c=b;c[\"return\"];)c=c[\"return\"];c=3!==c.tag?null:c.stateNode.containerInfo;if(!c)break;a.ancestors.push(b);b=pb(c)}while(b);for(c=0;c<a.ancestors.length;c++)b=a.ancestors[c],sd(a.topLevelType,b,a.nativeEvent,wc(a.nativeEvent))}var td=!0,sd=void 0;function ud(a){td=!!a}function U(a,b,c){return c?ba.listen(c,b,vd.bind(null,a)):null}function wd(a,b,c){return c?ba.capture(c,b,vd.bind(null,a)):null}\nfunction vd(a,b){if(td){var c=wc(b);c=pb(c);null===c||\"number\"!==typeof c.tag||2===kd(c)||(c=null);if(qd.length){var d=qd.pop();d.topLevelType=a;d.nativeEvent=b;d.targetInst=c;a=d}else a={topLevelType:a,nativeEvent:b,targetInst:c,ancestors:[]};try{tc(rd,a)}finally{a.topLevelType=null,a.nativeEvent=null,a.targetInst=null,a.ancestors.length=0,10>qd.length&&qd.push(a)}}}\nvar xd=Object.freeze({get _enabled(){return td},get _handleTopLevel(){return sd},setHandleTopLevel:function(a){sd=a},setEnabled:ud,isEnabled:function(){return td},trapBubbledEvent:U,trapCapturedEvent:wd,dispatchEvent:vd});function yd(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;c[\"ms\"+a]=\"MS\"+b;c[\"O\"+a]=\"o\"+b.toLowerCase();return c}\nvar zd={animationend:yd(\"Animation\",\"AnimationEnd\"),animationiteration:yd(\"Animation\",\"AnimationIteration\"),animationstart:yd(\"Animation\",\"AnimationStart\"),transitionend:yd(\"Transition\",\"TransitionEnd\")},Ad={},Bd={};l.canUseDOM&&(Bd=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete zd.animationend.animation,delete zd.animationiteration.animation,delete zd.animationstart.animation),\"TransitionEvent\"in window||delete zd.transitionend.transition);\nfunction Cd(a){if(Ad[a])return Ad[a];if(!zd[a])return a;var b=zd[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Bd)return Ad[a]=b[c];return\"\"}\nvar Dd={topAbort:\"abort\",topAnimationEnd:Cd(\"animationend\")||\"animationend\",topAnimationIteration:Cd(\"animationiteration\")||\"animationiteration\",topAnimationStart:Cd(\"animationstart\")||\"animationstart\",topBlur:\"blur\",topCancel:\"cancel\",topCanPlay:\"canplay\",topCanPlayThrough:\"canplaythrough\",topChange:\"change\",topClick:\"click\",topClose:\"close\",topCompositionEnd:\"compositionend\",topCompositionStart:\"compositionstart\",topCompositionUpdate:\"compositionupdate\",topContextMenu:\"contextmenu\",topCopy:\"copy\",\ntopCut:\"cut\",topDoubleClick:\"dblclick\",topDrag:\"drag\",topDragEnd:\"dragend\",topDragEnter:\"dragenter\",topDragExit:\"dragexit\",topDragLeave:\"dragleave\",topDragOver:\"dragover\",topDragStart:\"dragstart\",topDrop:\"drop\",topDurationChange:\"durationchange\",topEmptied:\"emptied\",topEncrypted:\"encrypted\",topEnded:\"ended\",topError:\"error\",topFocus:\"focus\",topInput:\"input\",topKeyDown:\"keydown\",topKeyPress:\"keypress\",topKeyUp:\"keyup\",topLoadedData:\"loadeddata\",topLoad:\"load\",topLoadedMetadata:\"loadedmetadata\",topLoadStart:\"loadstart\",\ntopMouseDown:\"mousedown\",topMouseMove:\"mousemove\",topMouseOut:\"mouseout\",topMouseOver:\"mouseover\",topMouseUp:\"mouseup\",topPaste:\"paste\",topPause:\"pause\",topPlay:\"play\",topPlaying:\"playing\",topProgress:\"progress\",topRateChange:\"ratechange\",topScroll:\"scroll\",topSeeked:\"seeked\",topSeeking:\"seeking\",topSelectionChange:\"selectionchange\",topStalled:\"stalled\",topSuspend:\"suspend\",topTextInput:\"textInput\",topTimeUpdate:\"timeupdate\",topToggle:\"toggle\",topTouchCancel:\"touchcancel\",topTouchEnd:\"touchend\",topTouchMove:\"touchmove\",\ntopTouchStart:\"touchstart\",topTransitionEnd:Cd(\"transitionend\")||\"transitionend\",topVolumeChange:\"volumechange\",topWaiting:\"waiting\",topWheel:\"wheel\"},Ed={},Fd=0,Gd=\"_reactListenersID\"+(\"\"+Math.random()).slice(2);function Hd(a){Object.prototype.hasOwnProperty.call(a,Gd)||(a[Gd]=Fd++,Ed[a[Gd]]={});return Ed[a[Gd]]}function Id(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Jd(a,b){var c=Id(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Id(c)}}function Kd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&\"text\"===a.type||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Ld=l.canUseDOM&&\"documentMode\"in document&&11>=document.documentMode,Md={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange\".split(\" \")}},Nd=null,Od=null,Pd=null,Qd=!1;\nfunction Rd(a,b){if(Qd||null==Nd||Nd!==da())return null;var c=Nd;\"selectionStart\"in c&&Kd(c)?c={start:c.selectionStart,end:c.selectionEnd}:window.getSelection?(c=window.getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}):c=void 0;return Pd&&ea(Pd,c)?null:(Pd=c,a=T.getPooled(Md.select,Od,a,b),a.type=\"select\",a.target=Nd,Ab(a),a)}\nvar Sd={eventTypes:Md,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Hd(e);f=Sa.onSelect;for(var g=0;g<f.length;g++){var h=f[g];if(!e.hasOwnProperty(h)||!e[h]){e=!1;break a}}e=!0}f=!e}if(f)return null;e=b?qb(b):window;switch(a){case \"topFocus\":if(vc(e)||\"true\"===e.contentEditable)Nd=e,Od=b,Pd=null;break;case \"topBlur\":Pd=Od=Nd=null;break;case \"topMouseDown\":Qd=!0;break;case \"topContextMenu\":case \"topMouseUp\":return Qd=!1,Rd(c,d);case \"topSelectionChange\":if(Ld)break;\ncase \"topKeyDown\":case \"topKeyUp\":return Rd(c,d)}return null}};function Td(a,b,c,d){return T.call(this,a,b,c,d)}T.augmentClass(Td,{animationName:null,elapsedTime:null,pseudoElement:null});function Ud(a,b,c,d){return T.call(this,a,b,c,d)}T.augmentClass(Ud,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}});function Vd(a,b,c,d){return T.call(this,a,b,c,d)}bd.augmentClass(Vd,{relatedTarget:null});\nfunction Wd(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;return 32<=a||13===a?a:0}\nvar Xd={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Yd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"};function Zd(a,b,c,d){return T.call(this,a,b,c,d)}\nbd.augmentClass(Zd,{key:function(a){if(a.key){var b=Xd[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=Wd(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Yd[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:ed,charCode:function(a){return\"keypress\"===a.type?Wd(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?Wd(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}});function $d(a,b,c,d){return T.call(this,a,b,c,d)}fd.augmentClass($d,{dataTransfer:null});function ae(a,b,c,d){return T.call(this,a,b,c,d)}bd.augmentClass(ae,{touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:ed});function be(a,b,c,d){return T.call(this,a,b,c,d)}T.augmentClass(be,{propertyName:null,elapsedTime:null,pseudoElement:null});\nfunction ce(a,b,c,d){return T.call(this,a,b,c,d)}fd.augmentClass(ce,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null});var de={},ee={};\n\"abort animationEnd animationIteration animationStart blur cancel canPlay canPlayThrough click close contextMenu copy cut doubleClick drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error focus input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing progress rateChange reset scroll seeked seeking stalled submit suspend timeUpdate toggle touchCancel touchEnd touchMove touchStart transitionEnd volumeChange waiting wheel\".split(\" \").forEach(function(a){var b=a[0].toUpperCase()+\na.slice(1),c=\"on\"+b;b=\"top\"+b;c={phasedRegistrationNames:{bubbled:c,captured:c+\"Capture\"},dependencies:[b]};de[a]=c;ee[b]=c});\nvar fe={eventTypes:de,extractEvents:function(a,b,c,d){var e=ee[a];if(!e)return null;switch(a){case \"topKeyPress\":if(0===Wd(c))return null;case \"topKeyDown\":case \"topKeyUp\":a=Zd;break;case \"topBlur\":case \"topFocus\":a=Vd;break;case \"topClick\":if(2===c.button)return null;case \"topDoubleClick\":case \"topMouseDown\":case \"topMouseMove\":case \"topMouseUp\":case \"topMouseOut\":case \"topMouseOver\":case \"topContextMenu\":a=fd;break;case \"topDrag\":case \"topDragEnd\":case \"topDragEnter\":case \"topDragExit\":case \"topDragLeave\":case \"topDragOver\":case \"topDragStart\":case \"topDrop\":a=\n$d;break;case \"topTouchCancel\":case \"topTouchEnd\":case \"topTouchMove\":case \"topTouchStart\":a=ae;break;case \"topAnimationEnd\":case \"topAnimationIteration\":case \"topAnimationStart\":a=Td;break;case \"topTransitionEnd\":a=be;break;case \"topScroll\":a=bd;break;case \"topWheel\":a=ce;break;case \"topCopy\":case \"topCut\":case \"topPaste\":a=Ud;break;default:a=T}b=a.getPooled(e,b,c,d);Ab(b);return b}};sd=function(a,b,c,d){a=jb(a,b,c,d);kb(a);lb(!1)};hb.injectEventPluginOrder(\"ResponderEventPlugin SimpleEventPlugin TapEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));\nWa=sb.getFiberCurrentPropsFromNode;Xa=sb.getInstanceFromNode;Ya=sb.getNodeFromInstance;hb.injectEventPluginsByName({SimpleEventPlugin:fe,EnterLeaveEventPlugin:hd,ChangeEventPlugin:ad,SelectEventPlugin:Sd,BeforeInputEventPlugin:ic});var ge=[],he=-1;function V(a){0>he||(a.current=ge[he],ge[he]=null,he--)}function W(a,b){he++;ge[he]=a.current;a.current=b}new Set;var ie={current:D},X={current:!1},je=D;function ke(a){return le(a)?je:ie.current}\nfunction me(a,b){var c=a.type.contextTypes;if(!c)return D;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function le(a){return 2===a.tag&&null!=a.type.childContextTypes}function ne(a){le(a)&&(V(X,a),V(ie,a))}\nfunction oe(a,b,c){null!=ie.cursor?E(\"168\"):void 0;W(ie,b,a);W(X,c,a)}function pe(a,b){var c=a.stateNode,d=a.type.childContextTypes;if(\"function\"!==typeof c.getChildContext)return b;c=c.getChildContext();for(var e in c)e in d?void 0:E(\"108\",jd(a)||\"Unknown\",e);return B({},b,c)}function qe(a){if(!le(a))return!1;var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||D;je=ie.current;W(ie,b,a);W(X,X.current,a);return!0}\nfunction re(a,b){var c=a.stateNode;c?void 0:E(\"169\");if(b){var d=pe(a,je);c.__reactInternalMemoizedMergedChildContext=d;V(X,a);V(ie,a);W(ie,d,a)}else V(X,a);W(X,b,a)}\nfunction Y(a,b,c){this.tag=a;this.key=b;this.stateNode=this.type=null;this.sibling=this.child=this[\"return\"]=null;this.index=0;this.memoizedState=this.updateQueue=this.memoizedProps=this.pendingProps=this.ref=null;this.internalContextTag=c;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.expirationTime=0;this.alternate=null}\nfunction se(a,b,c){var d=a.alternate;null===d?(d=new Y(a.tag,a.key,a.internalContextTag),d.type=a.type,d.stateNode=a.stateNode,d.alternate=a,a.alternate=d):(d.effectTag=0,d.nextEffect=null,d.firstEffect=null,d.lastEffect=null);d.expirationTime=c;d.pendingProps=b;d.child=a.child;d.memoizedProps=a.memoizedProps;d.memoizedState=a.memoizedState;d.updateQueue=a.updateQueue;d.sibling=a.sibling;d.index=a.index;d.ref=a.ref;return d}\nfunction te(a,b,c){var d=void 0,e=a.type,f=a.key;\"function\"===typeof e?(d=e.prototype&&e.prototype.isReactComponent?new Y(2,f,b):new Y(0,f,b),d.type=e,d.pendingProps=a.props):\"string\"===typeof e?(d=new Y(5,f,b),d.type=e,d.pendingProps=a.props):\"object\"===typeof e&&null!==e&&\"number\"===typeof e.tag?(d=e,d.pendingProps=a.props):E(\"130\",null==e?e:typeof e,\"\");d.expirationTime=c;return d}function ue(a,b,c,d){b=new Y(10,d,b);b.pendingProps=a;b.expirationTime=c;return b}\nfunction ve(a,b,c){b=new Y(6,null,b);b.pendingProps=a;b.expirationTime=c;return b}function we(a,b,c){b=new Y(7,a.key,b);b.type=a.handler;b.pendingProps=a;b.expirationTime=c;return b}function xe(a,b,c){a=new Y(9,null,b);a.expirationTime=c;return a}function ye(a,b,c){b=new Y(4,a.key,b);b.pendingProps=a.children||[];b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}var ze=null,Ae=null;\nfunction Be(a){return function(b){try{return a(b)}catch(c){}}}function Ce(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);ze=Be(function(a){return b.onCommitFiberRoot(c,a)});Ae=Be(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0}function De(a){\"function\"===typeof ze&&ze(a)}function Ee(a){\"function\"===typeof Ae&&Ae(a)}\nfunction Fe(a){return{baseState:a,expirationTime:0,first:null,last:null,callbackList:null,hasForceUpdate:!1,isInitialized:!1}}function Ge(a,b){null===a.last?a.first=a.last=b:(a.last.next=b,a.last=b);if(0===a.expirationTime||a.expirationTime>b.expirationTime)a.expirationTime=b.expirationTime}\nfunction He(a,b){var c=a.alternate,d=a.updateQueue;null===d&&(d=a.updateQueue=Fe(null));null!==c?(a=c.updateQueue,null===a&&(a=c.updateQueue=Fe(null))):a=null;a=a!==d?a:null;null===a?Ge(d,b):null===d.last||null===a.last?(Ge(d,b),Ge(a,b)):(Ge(d,b),a.last=b)}function Ie(a,b,c,d){a=a.partialState;return\"function\"===typeof a?a.call(b,c,d):a}\nfunction Je(a,b,c,d,e,f){null!==a&&a.updateQueue===c&&(c=b.updateQueue={baseState:c.baseState,expirationTime:c.expirationTime,first:c.first,last:c.last,isInitialized:c.isInitialized,callbackList:null,hasForceUpdate:!1});c.expirationTime=0;c.isInitialized?a=c.baseState:(a=c.baseState=b.memoizedState,c.isInitialized=!0);for(var g=!0,h=c.first,k=!1;null!==h;){var q=h.expirationTime;if(q>f){var v=c.expirationTime;if(0===v||v>q)c.expirationTime=q;k||(k=!0,c.baseState=a)}else{k||(c.first=h.next,null===\nc.first&&(c.last=null));if(h.isReplace)a=Ie(h,d,a,e),g=!0;else if(q=Ie(h,d,a,e))a=g?B({},a,q):B(a,q),g=!1;h.isForced&&(c.hasForceUpdate=!0);null!==h.callback&&(q=c.callbackList,null===q&&(q=c.callbackList=[]),q.push(h))}h=h.next}null!==c.callbackList?b.effectTag|=32:null!==c.first||c.hasForceUpdate||(b.updateQueue=null);k||(c.baseState=a);return a}\nfunction Ke(a,b){var c=a.callbackList;if(null!==c)for(a.callbackList=null,a=0;a<c.length;a++){var d=c[a],e=d.callback;d.callback=null;\"function\"!==typeof e?E(\"191\",e):void 0;e.call(b)}}\nfunction Le(a,b,c,d){function e(a,b){b.updater=f;a.stateNode=b;b._reactInternalFiber=a}var f={isMounted:ld,enqueueSetState:function(c,d,e){c=c._reactInternalFiber;e=void 0===e?null:e;var g=b(c);He(c,{expirationTime:g,partialState:d,callback:e,isReplace:!1,isForced:!1,nextCallback:null,next:null});a(c,g)},enqueueReplaceState:function(c,d,e){c=c._reactInternalFiber;e=void 0===e?null:e;var g=b(c);He(c,{expirationTime:g,partialState:d,callback:e,isReplace:!0,isForced:!1,nextCallback:null,next:null});\na(c,g)},enqueueForceUpdate:function(c,d){c=c._reactInternalFiber;d=void 0===d?null:d;var e=b(c);He(c,{expirationTime:e,partialState:null,callback:d,isReplace:!1,isForced:!0,nextCallback:null,next:null});a(c,e)}};return{adoptClassInstance:e,constructClassInstance:function(a,b){var c=a.type,d=ke(a),f=2===a.tag&&null!=a.type.contextTypes,g=f?me(a,d):D;b=new c(b,g);e(a,b);f&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=d,a.__reactInternalMemoizedMaskedChildContext=g);return b},mountClassInstance:function(a,\nb){var c=a.alternate,d=a.stateNode,e=d.state||null,g=a.pendingProps;g?void 0:E(\"158\");var h=ke(a);d.props=g;d.state=a.memoizedState=e;d.refs=D;d.context=me(a,h);null!=a.type&&null!=a.type.prototype&&!0===a.type.prototype.unstable_isAsyncReactComponent&&(a.internalContextTag|=1);\"function\"===typeof d.componentWillMount&&(e=d.state,d.componentWillMount(),e!==d.state&&f.enqueueReplaceState(d,d.state,null),e=a.updateQueue,null!==e&&(d.state=Je(c,a,e,d,g,b)));\"function\"===typeof d.componentDidMount&&(a.effectTag|=\n4)},updateClassInstance:function(a,b,e){var g=b.stateNode;g.props=b.memoizedProps;g.state=b.memoizedState;var h=b.memoizedProps,k=b.pendingProps;k||(k=h,null==k?E(\"159\"):void 0);var u=g.context,z=ke(b);z=me(b,z);\"function\"!==typeof g.componentWillReceiveProps||h===k&&u===z||(u=g.state,g.componentWillReceiveProps(k,z),g.state!==u&&f.enqueueReplaceState(g,g.state,null));u=b.memoizedState;e=null!==b.updateQueue?Je(a,b,b.updateQueue,g,k,e):u;if(!(h!==k||u!==e||X.current||null!==b.updateQueue&&b.updateQueue.hasForceUpdate))return\"function\"!==\ntypeof g.componentDidUpdate||h===a.memoizedProps&&u===a.memoizedState||(b.effectTag|=4),!1;var G=k;if(null===h||null!==b.updateQueue&&b.updateQueue.hasForceUpdate)G=!0;else{var I=b.stateNode,L=b.type;G=\"function\"===typeof I.shouldComponentUpdate?I.shouldComponentUpdate(G,e,z):L.prototype&&L.prototype.isPureReactComponent?!ea(h,G)||!ea(u,e):!0}G?(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(k,e,z),\"function\"===typeof g.componentDidUpdate&&(b.effectTag|=4)):(\"function\"!==typeof g.componentDidUpdate||\nh===a.memoizedProps&&u===a.memoizedState||(b.effectTag|=4),c(b,k),d(b,e));g.props=k;g.state=e;g.context=z;return G}}}var Qe=\"function\"===typeof Symbol&&Symbol[\"for\"],Re=Qe?Symbol[\"for\"](\"react.element\"):60103,Se=Qe?Symbol[\"for\"](\"react.call\"):60104,Te=Qe?Symbol[\"for\"](\"react.return\"):60105,Ue=Qe?Symbol[\"for\"](\"react.portal\"):60106,Ve=Qe?Symbol[\"for\"](\"react.fragment\"):60107,We=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction Xe(a){if(null===a||\"undefined\"===typeof a)return null;a=We&&a[We]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var Ye=Array.isArray;\nfunction Ze(a,b){var c=b.ref;if(null!==c&&\"function\"!==typeof c){if(b._owner){b=b._owner;var d=void 0;b&&(2!==b.tag?E(\"110\"):void 0,d=b.stateNode);d?void 0:E(\"147\",c);var e=\"\"+c;if(null!==a&&null!==a.ref&&a.ref._stringRef===e)return a.ref;a=function(a){var b=d.refs===D?d.refs={}:d.refs;null===a?delete b[e]:b[e]=a};a._stringRef=e;return a}\"string\"!==typeof c?E(\"148\"):void 0;b._owner?void 0:E(\"149\",c)}return c}\nfunction $e(a,b){\"textarea\"!==a.type&&E(\"31\",\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\")}\nfunction af(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=se(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=ve(c,a.internalContextTag,d),b[\"return\"]=a,b;b=e(b,c,d);b[\"return\"]=a;return b}function k(a,b,c,d){if(null!==b&&b.type===c.type)return d=e(b,c.props,d),d.ref=Ze(b,c),d[\"return\"]=a,d;d=te(c,a.internalContextTag,d);d.ref=Ze(b,c);d[\"return\"]=a;return d}function q(a,b,c,d){if(null===b||7!==b.tag)return b=we(c,a.internalContextTag,d),b[\"return\"]=a,b;b=e(b,c,d);\nb[\"return\"]=a;return b}function v(a,b,c,d){if(null===b||9!==b.tag)return b=xe(c,a.internalContextTag,d),b.type=c.value,b[\"return\"]=a,b;b=e(b,null,d);b.type=c.value;b[\"return\"]=a;return b}function y(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=ye(c,a.internalContextTag,d),b[\"return\"]=a,b;b=e(b,c.children||[],d);b[\"return\"]=a;return b}function u(a,b,c,d,f){if(null===b||10!==b.tag)return b=ue(c,a.internalContextTag,\nd,f),b[\"return\"]=a,b;b=e(b,c,d);b[\"return\"]=a;return b}function z(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=ve(\"\"+b,a.internalContextTag,c),b[\"return\"]=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case Re:if(b.type===Ve)return b=ue(b.props.children,a.internalContextTag,c,b.key),b[\"return\"]=a,b;c=te(b,a.internalContextTag,c);c.ref=Ze(null,b);c[\"return\"]=a;return c;case Se:return b=we(b,a.internalContextTag,c),b[\"return\"]=a,b;case Te:return c=xe(b,a.internalContextTag,\nc),c.type=b.value,c[\"return\"]=a,c;case Ue:return b=ye(b,a.internalContextTag,c),b[\"return\"]=a,b}if(Ye(b)||Xe(b))return b=ue(b,a.internalContextTag,c,null),b[\"return\"]=a,b;$e(a,b)}return null}function G(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Re:return c.key===e?c.type===Ve?u(a,b,c.props.children,d,e):k(a,b,c,d):null;case Se:return c.key===e?q(a,b,c,d):null;case Te:return null===\ne?v(a,b,c,d):null;case Ue:return c.key===e?y(a,b,c,d):null}if(Ye(c)||Xe(c))return null!==e?null:u(a,b,c,d,null);$e(a,c)}return null}function I(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case Re:return a=a.get(null===d.key?c:d.key)||null,d.type===Ve?u(b,a,d.props.children,e,d.key):k(b,a,d,e);case Se:return a=a.get(null===d.key?c:d.key)||null,q(b,a,d,e);case Te:return a=a.get(c)||null,v(b,a,d,e);case Ue:return a=\na.get(null===d.key?c:d.key)||null,y(b,a,d,e)}if(Ye(d)||Xe(d))return a=a.get(c)||null,u(b,a,d,e,null);$e(b,d)}return null}function L(e,g,m,A){for(var h=null,r=null,n=g,w=g=0,k=null;null!==n&&w<m.length;w++){n.index>w?(k=n,n=null):k=n.sibling;var x=G(e,n,m[w],A);if(null===x){null===n&&(n=k);break}a&&n&&null===x.alternate&&b(e,n);g=f(x,g,w);null===r?h=x:r.sibling=x;r=x;n=k}if(w===m.length)return c(e,n),h;if(null===n){for(;w<m.length;w++)if(n=z(e,m[w],A))g=f(n,g,w),null===r?h=n:r.sibling=n,r=n;return h}for(n=\nd(e,n);w<m.length;w++)if(k=I(n,e,w,m[w],A)){if(a&&null!==k.alternate)n[\"delete\"](null===k.key?w:k.key);g=f(k,g,w);null===r?h=k:r.sibling=k;r=k}a&&n.forEach(function(a){return b(e,a)});return h}function N(e,g,m,A){var h=Xe(m);\"function\"!==typeof h?E(\"150\"):void 0;m=h.call(m);null==m?E(\"151\"):void 0;for(var r=h=null,n=g,w=g=0,k=null,x=m.next();null!==n&&!x.done;w++,x=m.next()){n.index>w?(k=n,n=null):k=n.sibling;var J=G(e,n,x.value,A);if(null===J){n||(n=k);break}a&&n&&null===J.alternate&&b(e,n);g=f(J,\ng,w);null===r?h=J:r.sibling=J;r=J;n=k}if(x.done)return c(e,n),h;if(null===n){for(;!x.done;w++,x=m.next())x=z(e,x.value,A),null!==x&&(g=f(x,g,w),null===r?h=x:r.sibling=x,r=x);return h}for(n=d(e,n);!x.done;w++,x=m.next())if(x=I(n,e,w,x.value,A),null!==x){if(a&&null!==x.alternate)n[\"delete\"](null===x.key?w:x.key);g=f(x,g,w);null===r?h=x:r.sibling=x;r=x}a&&n.forEach(function(a){return b(e,a)});return h}return function(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===Ve&&null===f.key&&(f=f.props.children);\nvar m=\"object\"===typeof f&&null!==f;if(m)switch(f.$$typeof){case Re:a:{var r=f.key;for(m=d;null!==m;){if(m.key===r)if(10===m.tag?f.type===Ve:m.type===f.type){c(a,m.sibling);d=e(m,f.type===Ve?f.props.children:f.props,h);d.ref=Ze(m,f);d[\"return\"]=a;a=d;break a}else{c(a,m);break}else b(a,m);m=m.sibling}f.type===Ve?(d=ue(f.props.children,a.internalContextTag,h,f.key),d[\"return\"]=a,a=d):(h=te(f,a.internalContextTag,h),h.ref=Ze(d,f),h[\"return\"]=a,a=h)}return g(a);case Se:a:{for(m=f.key;null!==d;){if(d.key===\nm)if(7===d.tag){c(a,d.sibling);d=e(d,f,h);d[\"return\"]=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=we(f,a.internalContextTag,h);d[\"return\"]=a;a=d}return g(a);case Te:a:{if(null!==d)if(9===d.tag){c(a,d.sibling);d=e(d,null,h);d.type=f.value;d[\"return\"]=a;a=d;break a}else c(a,d);d=xe(f,a.internalContextTag,h);d.type=f.value;d[\"return\"]=a;a=d}return g(a);case Ue:a:{for(m=f.key;null!==d;){if(d.key===m)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===\nf.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d[\"return\"]=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=ye(f,a.internalContextTag,h);d[\"return\"]=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h)):(c(a,d),d=ve(f,a.internalContextTag,h)),d[\"return\"]=a,a=d,g(a);if(Ye(f))return L(a,d,f,h);if(Xe(f))return N(a,d,f,h);m&&$e(a,f);if(\"undefined\"===typeof f)switch(a.tag){case 2:case 1:h=a.type,E(\"152\",h.displayName||\nh.name||\"Component\")}return c(a,d)}}var bf=af(!0),cf=af(!1);\nfunction df(a,b,c,d,e){function f(a,b,c){var d=b.expirationTime;b.child=null===a?cf(b,null,c,d):bf(b,a.child,c,d)}function g(a,b){var c=b.ref;null===c||a&&a.ref===c||(b.effectTag|=128)}function h(a,b,c,d){g(a,b);if(!c)return d&&re(b,!1),q(a,b);c=b.stateNode;id.current=b;var e=c.render();b.effectTag|=1;f(a,b,e);b.memoizedState=c.state;b.memoizedProps=c.props;d&&re(b,!0);return b.child}function k(a){var b=a.stateNode;b.pendingContext?oe(a,b.pendingContext,b.pendingContext!==b.context):b.context&&oe(a,\nb.context,!1);I(a,b.containerInfo)}function q(a,b){null!==a&&b.child!==a.child?E(\"153\"):void 0;if(null!==b.child){a=b.child;var c=se(a,a.pendingProps,a.expirationTime);b.child=c;for(c[\"return\"]=b;null!==a.sibling;)a=a.sibling,c=c.sibling=se(a,a.pendingProps,a.expirationTime),c[\"return\"]=b;c.sibling=null}return b.child}function v(a,b){switch(b.tag){case 3:k(b);break;case 2:qe(b);break;case 4:I(b,b.stateNode.containerInfo)}return null}var y=a.shouldSetTextContent,u=a.useSyncScheduling,z=a.shouldDeprioritizeSubtree,\nG=b.pushHostContext,I=b.pushHostContainer,L=c.enterHydrationState,N=c.resetHydrationState,J=c.tryToClaimNextHydratableInstance;a=Le(d,e,function(a,b){a.memoizedProps=b},function(a,b){a.memoizedState=b});var w=a.adoptClassInstance,m=a.constructClassInstance,A=a.mountClassInstance,Ob=a.updateClassInstance;return{beginWork:function(a,b,c){if(0===b.expirationTime||b.expirationTime>c)return v(a,b);switch(b.tag){case 0:null!==a?E(\"155\"):void 0;var d=b.type,e=b.pendingProps,r=ke(b);r=me(b,r);d=d(e,r);b.effectTag|=\n1;\"object\"===typeof d&&null!==d&&\"function\"===typeof d.render?(b.tag=2,e=qe(b),w(b,d),A(b,c),b=h(a,b,!0,e)):(b.tag=1,f(a,b,d),b.memoizedProps=e,b=b.child);return b;case 1:a:{e=b.type;c=b.pendingProps;d=b.memoizedProps;if(X.current)null===c&&(c=d);else if(null===c||d===c){b=q(a,b);break a}d=ke(b);d=me(b,d);e=e(c,d);b.effectTag|=1;f(a,b,e);b.memoizedProps=c;b=b.child}return b;case 2:return e=qe(b),d=void 0,null===a?b.stateNode?E(\"153\"):(m(b,b.pendingProps),A(b,c),d=!0):d=Ob(a,b,c),h(a,b,d,e);case 3:return k(b),\ne=b.updateQueue,null!==e?(d=b.memoizedState,e=Je(a,b,e,null,null,c),d===e?(N(),b=q(a,b)):(d=e.element,r=b.stateNode,(null===a||null===a.child)&&r.hydrate&&L(b)?(b.effectTag|=2,b.child=cf(b,null,d,c)):(N(),f(a,b,d)),b.memoizedState=e,b=b.child)):(N(),b=q(a,b)),b;case 5:G(b);null===a&&J(b);e=b.type;var n=b.memoizedProps;d=b.pendingProps;null===d&&(d=n,null===d?E(\"154\"):void 0);r=null!==a?a.memoizedProps:null;X.current||null!==d&&n!==d?(n=d.children,y(e,d)?n=null:r&&y(e,r)&&(b.effectTag|=16),g(a,b),\n2147483647!==c&&!u&&z(e,d)?(b.expirationTime=2147483647,b=null):(f(a,b,n),b.memoizedProps=d,b=b.child)):b=q(a,b);return b;case 6:return null===a&&J(b),a=b.pendingProps,null===a&&(a=b.memoizedProps),b.memoizedProps=a,null;case 8:b.tag=7;case 7:e=b.pendingProps;if(X.current)null===e&&(e=a&&a.memoizedProps,null===e?E(\"154\"):void 0);else if(null===e||b.memoizedProps===e)e=b.memoizedProps;d=e.children;b.stateNode=null===a?cf(b,b.stateNode,d,c):bf(b,b.stateNode,d,c);b.memoizedProps=e;return b.stateNode;\ncase 9:return null;case 4:a:{I(b,b.stateNode.containerInfo);e=b.pendingProps;if(X.current)null===e&&(e=a&&a.memoizedProps,null==e?E(\"154\"):void 0);else if(null===e||b.memoizedProps===e){b=q(a,b);break a}null===a?b.child=bf(b,null,e,c):f(a,b,e);b.memoizedProps=e;b=b.child}return b;case 10:a:{c=b.pendingProps;if(X.current)null===c&&(c=b.memoizedProps);else if(null===c||b.memoizedProps===c){b=q(a,b);break a}f(a,b,c);b.memoizedProps=c;b=b.child}return b;default:E(\"156\")}},beginFailedWork:function(a,b,\nc){switch(b.tag){case 2:qe(b);break;case 3:k(b);break;default:E(\"157\")}b.effectTag|=64;null===a?b.child=null:b.child!==a.child&&(b.child=a.child);if(0===b.expirationTime||b.expirationTime>c)return v(a,b);b.firstEffect=null;b.lastEffect=null;b.child=null===a?cf(b,null,null,c):bf(b,a.child,null,c);2===b.tag&&(a=b.stateNode,b.memoizedProps=a.props,b.memoizedState=a.state);return b.child}}}\nfunction ef(a,b,c){function d(a){a.effectTag|=4}var e=a.createInstance,f=a.createTextInstance,g=a.appendInitialChild,h=a.finalizeInitialChildren,k=a.prepareUpdate,q=a.persistence,v=b.getRootHostContainer,y=b.popHostContext,u=b.getHostContext,z=b.popHostContainer,G=c.prepareToHydrateHostInstance,I=c.prepareToHydrateHostTextInstance,L=c.popHydrationState,N=void 0,J=void 0,w=void 0;a.mutation?(N=function(){},J=function(a,b,c){(b.updateQueue=c)&&d(b)},w=function(a,b,c,e){c!==e&&d(b)}):q?E(\"235\"):E(\"236\");\nreturn{completeWork:function(a,b,c){var m=b.pendingProps;if(null===m)m=b.memoizedProps;else if(2147483647!==b.expirationTime||2147483647===c)b.pendingProps=null;switch(b.tag){case 1:return null;case 2:return ne(b),null;case 3:z(b);V(X,b);V(ie,b);m=b.stateNode;m.pendingContext&&(m.context=m.pendingContext,m.pendingContext=null);if(null===a||null===a.child)L(b),b.effectTag&=-3;N(b);return null;case 5:y(b);c=v();var A=b.type;if(null!==a&&null!=b.stateNode){var p=a.memoizedProps,q=b.stateNode,x=u();q=\nk(q,A,p,m,c,x);J(a,b,q,A,p,m,c);a.ref!==b.ref&&(b.effectTag|=128)}else{if(!m)return null===b.stateNode?E(\"166\"):void 0,null;a=u();if(L(b))G(b,c,a)&&d(b);else{a=e(A,m,c,a,b);a:for(p=b.child;null!==p;){if(5===p.tag||6===p.tag)g(a,p.stateNode);else if(4!==p.tag&&null!==p.child){p.child[\"return\"]=p;p=p.child;continue}if(p===b)break;for(;null===p.sibling;){if(null===p[\"return\"]||p[\"return\"]===b)break a;p=p[\"return\"]}p.sibling[\"return\"]=p[\"return\"];p=p.sibling}h(a,A,m,c)&&d(b);b.stateNode=a}null!==b.ref&&\n(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)w(a,b,a.memoizedProps,m);else{if(\"string\"!==typeof m)return null===b.stateNode?E(\"166\"):void 0,null;a=v();c=u();L(b)?I(b)&&d(b):b.stateNode=f(m,a,c,b)}return null;case 7:(m=b.memoizedProps)?void 0:E(\"165\");b.tag=8;A=[];a:for((p=b.stateNode)&&(p[\"return\"]=b);null!==p;){if(5===p.tag||6===p.tag||4===p.tag)E(\"247\");else if(9===p.tag)A.push(p.type);else if(null!==p.child){p.child[\"return\"]=p;p=p.child;continue}for(;null===p.sibling;){if(null===\np[\"return\"]||p[\"return\"]===b)break a;p=p[\"return\"]}p.sibling[\"return\"]=p[\"return\"];p=p.sibling}p=m.handler;m=p(m.props,A);b.child=bf(b,null!==a?a.child:null,m,c);return b.child;case 8:return b.tag=7,null;case 9:return null;case 10:return null;case 4:return z(b),N(b),null;case 0:E(\"167\");default:E(\"156\")}}}}\nfunction ff(a,b){function c(a){var c=a.ref;if(null!==c)try{c(null)}catch(A){b(a,A)}}function d(a){\"function\"===typeof Ee&&Ee(a);switch(a.tag){case 2:c(a);var d=a.stateNode;if(\"function\"===typeof d.componentWillUnmount)try{d.props=a.memoizedProps,d.state=a.memoizedState,d.componentWillUnmount()}catch(A){b(a,A)}break;case 5:c(a);break;case 7:e(a.stateNode);break;case 4:k&&g(a)}}function e(a){for(var b=a;;)if(d(b),null===b.child||k&&4===b.tag){if(b===a)break;for(;null===b.sibling;){if(null===b[\"return\"]||\nb[\"return\"]===a)return;b=b[\"return\"]}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}else b.child[\"return\"]=b,b=b.child}function f(a){return 5===a.tag||3===a.tag||4===a.tag}function g(a){for(var b=a,c=!1,f=void 0,g=void 0;;){if(!c){c=b[\"return\"];a:for(;;){null===c?E(\"160\"):void 0;switch(c.tag){case 5:f=c.stateNode;g=!1;break a;case 3:f=c.stateNode.containerInfo;g=!0;break a;case 4:f=c.stateNode.containerInfo;g=!0;break a}c=c[\"return\"]}c=!0}if(5===b.tag||6===b.tag)e(b),g?J(f,b.stateNode):N(f,b.stateNode);\nelse if(4===b.tag?f=b.stateNode.containerInfo:d(b),null!==b.child){b.child[\"return\"]=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b[\"return\"]||b[\"return\"]===a)return;b=b[\"return\"];4===b.tag&&(c=!1)}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}var h=a.getPublicInstance,k=a.mutation;a=a.persistence;k||(a?E(\"235\"):E(\"236\"));var q=k.commitMount,v=k.commitUpdate,y=k.resetTextContent,u=k.commitTextUpdate,z=k.appendChild,G=k.appendChildToContainer,I=k.insertBefore,L=k.insertInContainerBefore,\nN=k.removeChild,J=k.removeChildFromContainer;return{commitResetTextContent:function(a){y(a.stateNode)},commitPlacement:function(a){a:{for(var b=a[\"return\"];null!==b;){if(f(b)){var c=b;break a}b=b[\"return\"]}E(\"160\");c=void 0}var d=b=void 0;switch(c.tag){case 5:b=c.stateNode;d=!1;break;case 3:b=c.stateNode.containerInfo;d=!0;break;case 4:b=c.stateNode.containerInfo;d=!0;break;default:E(\"161\")}c.effectTag&16&&(y(b),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c[\"return\"]||f(c[\"return\"])){c=\nnull;break a}c=c[\"return\"]}c.sibling[\"return\"]=c[\"return\"];for(c=c.sibling;5!==c.tag&&6!==c.tag;){if(c.effectTag&2)continue b;if(null===c.child||4===c.tag)continue b;else c.child[\"return\"]=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}for(var e=a;;){if(5===e.tag||6===e.tag)c?d?L(b,e.stateNode,c):I(b,e.stateNode,c):d?G(b,e.stateNode):z(b,e.stateNode);else if(4!==e.tag&&null!==e.child){e.child[\"return\"]=e;e=e.child;continue}if(e===a)break;for(;null===e.sibling;){if(null===e[\"return\"]||e[\"return\"]===\na)return;e=e[\"return\"]}e.sibling[\"return\"]=e[\"return\"];e=e.sibling}},commitDeletion:function(a){g(a);a[\"return\"]=null;a.child=null;a.alternate&&(a.alternate.child=null,a.alternate[\"return\"]=null)},commitWork:function(a,b){switch(b.tag){case 2:break;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps;a=null!==a?a.memoizedProps:d;var e=b.type,f=b.updateQueue;b.updateQueue=null;null!==f&&v(c,f,e,a,d,b)}break;case 6:null===b.stateNode?E(\"162\"):void 0;c=b.memoizedProps;u(b.stateNode,null!==a?a.memoizedProps:\nc,c);break;case 3:break;default:E(\"163\")}},commitLifeCycles:function(a,b){switch(b.tag){case 2:var c=b.stateNode;if(b.effectTag&4)if(null===a)c.props=b.memoizedProps,c.state=b.memoizedState,c.componentDidMount();else{var d=a.memoizedProps;a=a.memoizedState;c.props=b.memoizedProps;c.state=b.memoizedState;c.componentDidUpdate(d,a)}b=b.updateQueue;null!==b&&Ke(b,c);break;case 3:c=b.updateQueue;null!==c&&Ke(c,null!==b.child?b.child.stateNode:null);break;case 5:c=b.stateNode;null===a&&b.effectTag&4&&q(c,\nb.type,b.memoizedProps,b);break;case 6:break;case 4:break;default:E(\"163\")}},commitAttachRef:function(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:b(h(c));break;default:b(c)}}},commitDetachRef:function(a){a=a.ref;null!==a&&a(null)}}}var gf={};\nfunction hf(a){function b(a){a===gf?E(\"174\"):void 0;return a}var c=a.getChildHostContext,d=a.getRootHostContext,e={current:gf},f={current:gf},g={current:gf};return{getHostContext:function(){return b(e.current)},getRootHostContainer:function(){return b(g.current)},popHostContainer:function(a){V(e,a);V(f,a);V(g,a)},popHostContext:function(a){f.current===a&&(V(e,a),V(f,a))},pushHostContainer:function(a,b){W(g,b,a);b=d(b);W(f,a,a);W(e,b,a)},pushHostContext:function(a){var d=b(g.current),h=b(e.current);\nd=c(h,a.type,d);h!==d&&(W(f,a,a),W(e,d,a))},resetHostContainer:function(){e.current=gf;g.current=gf}}}\nfunction jf(a){function b(a,b){var c=new Y(5,null,0);c.type=\"DELETED\";c.stateNode=b;c[\"return\"]=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function c(a,b){switch(a.tag){case 5:return b=f(b,a.type,a.pendingProps),null!==b?(a.stateNode=b,!0):!1;case 6:return b=g(b,a.pendingProps),null!==b?(a.stateNode=b,!0):!1;default:return!1}}function d(a){for(a=a[\"return\"];null!==a&&5!==a.tag&&3!==a.tag;)a=a[\"return\"];y=a}var e=a.shouldSetTextContent;\na=a.hydration;if(!a)return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){E(\"175\")},prepareToHydrateHostTextInstance:function(){E(\"176\")},popHydrationState:function(){return!1}};var f=a.canHydrateInstance,g=a.canHydrateTextInstance,h=a.getNextHydratableSibling,k=a.getFirstHydratableChild,q=a.hydrateInstance,v=a.hydrateTextInstance,y=null,u=null,z=!1;return{enterHydrationState:function(a){u=\nk(a.stateNode.containerInfo);y=a;return z=!0},resetHydrationState:function(){u=y=null;z=!1},tryToClaimNextHydratableInstance:function(a){if(z){var d=u;if(d){if(!c(a,d)){d=h(d);if(!d||!c(a,d)){a.effectTag|=2;z=!1;y=a;return}b(y,u)}y=a;u=k(d)}else a.effectTag|=2,z=!1,y=a}},prepareToHydrateHostInstance:function(a,b,c){b=q(a.stateNode,a.type,a.memoizedProps,b,c,a);a.updateQueue=b;return null!==b?!0:!1},prepareToHydrateHostTextInstance:function(a){return v(a.stateNode,a.memoizedProps,a)},popHydrationState:function(a){if(a!==\ny)return!1;if(!z)return d(a),z=!0,!1;var c=a.type;if(5!==a.tag||\"head\"!==c&&\"body\"!==c&&!e(c,a.memoizedProps))for(c=u;c;)b(a,c),c=h(c);d(a);u=y?h(a.stateNode):null;return!0}}}\nfunction kf(a){function b(a){Qb=ja=!0;var b=a.stateNode;b.current===a?E(\"177\"):void 0;b.isReadyForCommit=!1;id.current=null;if(1<a.effectTag)if(null!==a.lastEffect){a.lastEffect.nextEffect=a;var c=a.firstEffect}else c=a;else c=a.firstEffect;yg();for(t=c;null!==t;){var d=!1,e=void 0;try{for(;null!==t;){var f=t.effectTag;f&16&&zg(t);if(f&128){var g=t.alternate;null!==g&&Ag(g)}switch(f&-242){case 2:Ne(t);t.effectTag&=-3;break;case 6:Ne(t);t.effectTag&=-3;Oe(t.alternate,t);break;case 4:Oe(t.alternate,\nt);break;case 8:Sc=!0,Bg(t),Sc=!1}t=t.nextEffect}}catch(Tc){d=!0,e=Tc}d&&(null===t?E(\"178\"):void 0,h(t,e),null!==t&&(t=t.nextEffect))}Cg();b.current=a;for(t=c;null!==t;){c=!1;d=void 0;try{for(;null!==t;){var k=t.effectTag;k&36&&Dg(t.alternate,t);k&128&&Eg(t);if(k&64)switch(e=t,f=void 0,null!==R&&(f=R.get(e),R[\"delete\"](e),null==f&&null!==e.alternate&&(e=e.alternate,f=R.get(e),R[\"delete\"](e))),null==f?E(\"184\"):void 0,e.tag){case 2:e.stateNode.componentDidCatch(f.error,{componentStack:f.componentStack});\nbreak;case 3:null===ca&&(ca=f.error);break;default:E(\"157\")}var Qc=t.nextEffect;t.nextEffect=null;t=Qc}}catch(Tc){c=!0,d=Tc}c&&(null===t?E(\"178\"):void 0,h(t,d),null!==t&&(t=t.nextEffect))}ja=Qb=!1;\"function\"===typeof De&&De(a.stateNode);ha&&(ha.forEach(G),ha=null);null!==ca&&(a=ca,ca=null,Ob(a));b=b.current.expirationTime;0===b&&(qa=R=null);return b}function c(a){for(;;){var b=Fg(a.alternate,a,H),c=a[\"return\"],d=a.sibling;var e=a;if(2147483647===H||2147483647!==e.expirationTime){if(2!==e.tag&&3!==\ne.tag)var f=0;else f=e.updateQueue,f=null===f?0:f.expirationTime;for(var g=e.child;null!==g;)0!==g.expirationTime&&(0===f||f>g.expirationTime)&&(f=g.expirationTime),g=g.sibling;e.expirationTime=f}if(null!==b)return b;null!==c&&(null===c.firstEffect&&(c.firstEffect=a.firstEffect),null!==a.lastEffect&&(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1<a.effectTag&&(null!==c.lastEffect?c.lastEffect.nextEffect=a:c.firstEffect=a,c.lastEffect=a));if(null!==d)return d;\nif(null!==c)a=c;else{a.stateNode.isReadyForCommit=!0;break}}return null}function d(a){var b=rg(a.alternate,a,H);null===b&&(b=c(a));id.current=null;return b}function e(a){var b=Gg(a.alternate,a,H);null===b&&(b=c(a));id.current=null;return b}function f(a){if(null!==R){if(!(0===H||H>a))if(H<=Uc)for(;null!==F;)F=k(F)?e(F):d(F);else for(;null!==F&&!A();)F=k(F)?e(F):d(F)}else if(!(0===H||H>a))if(H<=Uc)for(;null!==F;)F=d(F);else for(;null!==F&&!A();)F=d(F)}function g(a,b){ja?E(\"243\"):void 0;ja=!0;a.isReadyForCommit=\n!1;if(a!==ra||b!==H||null===F){for(;-1<he;)ge[he]=null,he--;je=D;ie.current=D;X.current=!1;x();ra=a;H=b;F=se(ra.current,null,b)}var c=!1,d=null;try{f(b)}catch(Rc){c=!0,d=Rc}for(;c;){if(eb){ca=d;break}var g=F;if(null===g)eb=!0;else{var k=h(g,d);null===k?E(\"183\"):void 0;if(!eb){try{c=k;d=b;for(k=c;null!==g;){switch(g.tag){case 2:ne(g);break;case 5:qg(g);break;case 3:p(g);break;case 4:p(g)}if(g===k||g.alternate===k)break;g=g[\"return\"]}F=e(c);f(d)}catch(Rc){c=!0;d=Rc;continue}break}}}b=ca;eb=ja=!1;ca=\nnull;null!==b&&Ob(b);return a.isReadyForCommit?a.current.alternate:null}function h(a,b){var c=id.current=null,d=!1,e=!1,f=null;if(3===a.tag)c=a,q(a)&&(eb=!0);else for(var g=a[\"return\"];null!==g&&null===c;){2===g.tag?\"function\"===typeof g.stateNode.componentDidCatch&&(d=!0,f=jd(g),c=g,e=!0):3===g.tag&&(c=g);if(q(g)){if(Sc||null!==ha&&(ha.has(g)||null!==g.alternate&&ha.has(g.alternate)))return null;c=null;e=!1}g=g[\"return\"]}if(null!==c){null===qa&&(qa=new Set);qa.add(c);var h=\"\";g=a;do{a:switch(g.tag){case 0:case 1:case 2:case 5:var k=\ng._debugOwner,Qc=g._debugSource;var m=jd(g);var n=null;k&&(n=jd(k));k=Qc;m=\"\\n in \"+(m||\"Unknown\")+(k?\" (at \"+k.fileName.replace(/^.*[\\\\\\/]/,\"\")+\":\"+k.lineNumber+\")\":n?\" (created by \"+n+\")\":\"\");break a;default:m=\"\"}h+=m;g=g[\"return\"]}while(g);g=h;a=jd(a);null===R&&(R=new Map);b={componentName:a,componentStack:g,error:b,errorBoundary:d?c.stateNode:null,errorBoundaryFound:d,errorBoundaryName:f,willRetry:e};R.set(c,b);try{var p=b.error;p&&p.suppressReactErrorLogging||console.error(p)}catch(Vc){Vc&&\nVc.suppressReactErrorLogging||console.error(Vc)}Qb?(null===ha&&(ha=new Set),ha.add(c)):G(c);return c}null===ca&&(ca=b);return null}function k(a){return null!==R&&(R.has(a)||null!==a.alternate&&R.has(a.alternate))}function q(a){return null!==qa&&(qa.has(a)||null!==a.alternate&&qa.has(a.alternate))}function v(){return 20*(((I()+100)/20|0)+1)}function y(a){return 0!==ka?ka:ja?Qb?1:H:!Hg||a.internalContextTag&1?v():1}function u(a,b){return z(a,b,!1)}function z(a,b){for(;null!==a;){if(0===a.expirationTime||\na.expirationTime>b)a.expirationTime=b;null!==a.alternate&&(0===a.alternate.expirationTime||a.alternate.expirationTime>b)&&(a.alternate.expirationTime=b);if(null===a[\"return\"])if(3===a.tag){var c=a.stateNode;!ja&&c===ra&&b<H&&(F=ra=null,H=0);var d=c,e=b;Rb>Ig&&E(\"185\");if(null===d.nextScheduledRoot)d.remainingExpirationTime=e,null===O?(sa=O=d,d.nextScheduledRoot=d):(O=O.nextScheduledRoot=d,O.nextScheduledRoot=sa);else{var f=d.remainingExpirationTime;if(0===f||e<f)d.remainingExpirationTime=e}Fa||(la?\nSb&&(ma=d,na=1,m(ma,na)):1===e?w(1,null):L(e));!ja&&c===ra&&b<H&&(F=ra=null,H=0)}else break;a=a[\"return\"]}}function G(a){z(a,1,!0)}function I(){return Uc=((Wc()-Pe)/10|0)+2}function L(a){if(0!==Tb){if(a>Tb)return;Jg(Xc)}var b=Wc()-Pe;Tb=a;Xc=Kg(J,{timeout:10*(a-2)-b})}function N(){var a=0,b=null;if(null!==O)for(var c=O,d=sa;null!==d;){var e=d.remainingExpirationTime;if(0===e){null===c||null===O?E(\"244\"):void 0;if(d===d.nextScheduledRoot){sa=O=d.nextScheduledRoot=null;break}else if(d===sa)sa=e=d.nextScheduledRoot,\nO.nextScheduledRoot=e,d.nextScheduledRoot=null;else if(d===O){O=c;O.nextScheduledRoot=sa;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{if(0===a||e<a)a=e,b=d;if(d===O)break;c=d;d=d.nextScheduledRoot}}c=ma;null!==c&&c===b?Rb++:Rb=0;ma=b;na=a}function J(a){w(0,a)}function w(a,b){fb=b;for(N();null!==ma&&0!==na&&(0===a||na<=a)&&!Yc;)m(ma,na),N();null!==fb&&(Tb=0,Xc=-1);0!==na&&L(na);fb=null;Yc=!1;Rb=0;if(Ub)throw a=Zc,Zc=\nnull,Ub=!1,a;}function m(a,c){Fa?E(\"245\"):void 0;Fa=!0;if(c<=I()){var d=a.finishedWork;null!==d?(a.finishedWork=null,a.remainingExpirationTime=b(d)):(a.finishedWork=null,d=g(a,c),null!==d&&(a.remainingExpirationTime=b(d)))}else d=a.finishedWork,null!==d?(a.finishedWork=null,a.remainingExpirationTime=b(d)):(a.finishedWork=null,d=g(a,c),null!==d&&(A()?a.finishedWork=d:a.remainingExpirationTime=b(d)));Fa=!1}function A(){return null===fb||fb.timeRemaining()>Lg?!1:Yc=!0}function Ob(a){null===ma?E(\"246\"):\nvoid 0;ma.remainingExpirationTime=0;Ub||(Ub=!0,Zc=a)}var r=hf(a),n=jf(a),p=r.popHostContainer,qg=r.popHostContext,x=r.resetHostContainer,Me=df(a,r,n,u,y),rg=Me.beginWork,Gg=Me.beginFailedWork,Fg=ef(a,r,n).completeWork;r=ff(a,h);var zg=r.commitResetTextContent,Ne=r.commitPlacement,Bg=r.commitDeletion,Oe=r.commitWork,Dg=r.commitLifeCycles,Eg=r.commitAttachRef,Ag=r.commitDetachRef,Wc=a.now,Kg=a.scheduleDeferredCallback,Jg=a.cancelDeferredCallback,Hg=a.useSyncScheduling,yg=a.prepareForCommit,Cg=a.resetAfterCommit,\nPe=Wc(),Uc=2,ka=0,ja=!1,F=null,ra=null,H=0,t=null,R=null,qa=null,ha=null,ca=null,eb=!1,Qb=!1,Sc=!1,sa=null,O=null,Tb=0,Xc=-1,Fa=!1,ma=null,na=0,Yc=!1,Ub=!1,Zc=null,fb=null,la=!1,Sb=!1,Ig=1E3,Rb=0,Lg=1;return{computeAsyncExpiration:v,computeExpirationForFiber:y,scheduleWork:u,batchedUpdates:function(a,b){var c=la;la=!0;try{return a(b)}finally{(la=c)||Fa||w(1,null)}},unbatchedUpdates:function(a){if(la&&!Sb){Sb=!0;try{return a()}finally{Sb=!1}}return a()},flushSync:function(a){var b=la;la=!0;try{a:{var c=\nka;ka=1;try{var d=a();break a}finally{ka=c}d=void 0}return d}finally{la=b,Fa?E(\"187\"):void 0,w(1,null)}},deferredUpdates:function(a){var b=ka;ka=v();try{return a()}finally{ka=b}}}}\nfunction lf(a){function b(a){a=od(a);return null===a?null:a.stateNode}var c=a.getPublicInstance;a=kf(a);var d=a.computeAsyncExpiration,e=a.computeExpirationForFiber,f=a.scheduleWork;return{createContainer:function(a,b){var c=new Y(3,null,0);a={current:c,containerInfo:a,pendingChildren:null,remainingExpirationTime:0,isReadyForCommit:!1,finishedWork:null,context:null,pendingContext:null,hydrate:b,nextScheduledRoot:null};return c.stateNode=a},updateContainer:function(a,b,c,q){var g=b.current;if(c){c=\nc._reactInternalFiber;var h;b:{2===kd(c)&&2===c.tag?void 0:E(\"170\");for(h=c;3!==h.tag;){if(le(h)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}(h=h[\"return\"])?void 0:E(\"171\")}h=h.stateNode.context}c=le(c)?pe(c,h):h}else c=D;null===b.context?b.context=c:b.pendingContext=c;b=q;b=void 0===b?null:b;q=null!=a&&null!=a.type&&null!=a.type.prototype&&!0===a.type.prototype.unstable_isAsyncReactComponent?d():e(g);He(g,{expirationTime:q,partialState:{element:a},callback:b,isReplace:!1,isForced:!1,\nnextCallback:null,next:null});f(g,q)},batchedUpdates:a.batchedUpdates,unbatchedUpdates:a.unbatchedUpdates,deferredUpdates:a.deferredUpdates,flushSync:a.flushSync,getPublicRootInstance:function(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return c(a.child.stateNode);default:return a.child.stateNode}},findHostInstance:b,findHostInstanceWithNoPortals:function(a){a=pd(a);return null===a?null:a.stateNode},injectIntoDevTools:function(a){var c=a.findFiberByHostInstance;return Ce(B({},\na,{findHostInstanceByFiber:function(a){return b(a)},findFiberByHostInstance:function(a){return c?c(a):null}}))}}}var mf=Object.freeze({default:lf}),nf=mf&&lf||mf,of=nf[\"default\"]?nf[\"default\"]:nf;function pf(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:Ue,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}var qf=\"object\"===typeof performance&&\"function\"===typeof performance.now,rf=void 0;rf=qf?function(){return performance.now()}:function(){return Date.now()};\nvar sf=void 0,tf=void 0;\nif(l.canUseDOM)if(\"function\"!==typeof requestIdleCallback||\"function\"!==typeof cancelIdleCallback){var uf=null,vf=!1,wf=-1,xf=!1,yf=0,zf=33,Af=33,Bf;Bf=qf?{didTimeout:!1,timeRemaining:function(){var a=yf-performance.now();return 0<a?a:0}}:{didTimeout:!1,timeRemaining:function(){var a=yf-Date.now();return 0<a?a:0}};var Cf=\"__reactIdleCallback$\"+Math.random().toString(36).slice(2);window.addEventListener(\"message\",function(a){if(a.source===window&&a.data===Cf){vf=!1;a=rf();if(0>=yf-a)if(-1!==wf&&wf<=\na)Bf.didTimeout=!0;else{xf||(xf=!0,requestAnimationFrame(Df));return}else Bf.didTimeout=!1;wf=-1;a=uf;uf=null;null!==a&&a(Bf)}},!1);var Df=function(a){xf=!1;var b=a-yf+Af;b<Af&&zf<Af?(8>b&&(b=8),Af=b<zf?zf:b):zf=b;yf=a+Af;vf||(vf=!0,window.postMessage(Cf,\"*\"))};sf=function(a,b){uf=a;null!=b&&\"number\"===typeof b.timeout&&(wf=rf()+b.timeout);xf||(xf=!0,requestAnimationFrame(Df));return 0};tf=function(){uf=null;vf=!1;wf=-1}}else sf=window.requestIdleCallback,tf=window.cancelIdleCallback;else sf=function(a){return setTimeout(function(){a({timeRemaining:function(){return Infinity}})})},\ntf=function(a){clearTimeout(a)};var Ef=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Ff={},Gf={};\nfunction Hf(a){if(Gf.hasOwnProperty(a))return!0;if(Ff.hasOwnProperty(a))return!1;if(Ef.test(a))return Gf[a]=!0;Ff[a]=!0;return!1}\nfunction If(a,b,c){var d=wa(b);if(d&&va(b,c)){var e=d.mutationMethod;e?e(a,c):null==c||d.hasBooleanValue&&!c||d.hasNumericValue&&isNaN(c)||d.hasPositiveNumericValue&&1>c||d.hasOverloadedBooleanValue&&!1===c?Jf(a,b):d.mustUseProperty?a[d.propertyName]=c:(b=d.attributeName,(e=d.attributeNamespace)?a.setAttributeNS(e,b,\"\"+c):d.hasBooleanValue||d.hasOverloadedBooleanValue&&!0===c?a.setAttribute(b,\"\"):a.setAttribute(b,\"\"+c))}else Kf(a,b,va(b,c)?c:null)}\nfunction Kf(a,b,c){Hf(b)&&(null==c?a.removeAttribute(b):a.setAttribute(b,\"\"+c))}function Jf(a,b){var c=wa(b);c?(b=c.mutationMethod)?b(a,void 0):c.mustUseProperty?a[c.propertyName]=c.hasBooleanValue?!1:\"\":a.removeAttribute(c.attributeName):a.removeAttribute(b)}\nfunction Lf(a,b){var c=b.value,d=b.checked;return B({type:void 0,step:void 0,min:void 0,max:void 0},b,{defaultChecked:void 0,defaultValue:void 0,value:null!=c?c:a._wrapperState.initialValue,checked:null!=d?d:a._wrapperState.initialChecked})}function Mf(a,b){var c=b.defaultValue;a._wrapperState={initialChecked:null!=b.checked?b.checked:b.defaultChecked,initialValue:null!=b.value?b.value:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}\nfunction Nf(a,b){b=b.checked;null!=b&&If(a,\"checked\",b)}function Of(a,b){Nf(a,b);var c=b.value;if(null!=c)if(0===c&&\"\"===a.value)a.value=\"0\";else if(\"number\"===b.type){if(b=parseFloat(a.value)||0,c!=b||c==b&&a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else null==b.value&&null!=b.defaultValue&&a.defaultValue!==\"\"+b.defaultValue&&(a.defaultValue=\"\"+b.defaultValue),null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Pf(a,b){switch(b.type){case \"submit\":case \"reset\":break;case \"color\":case \"date\":case \"datetime\":case \"datetime-local\":case \"month\":case \"time\":case \"week\":a.value=\"\";a.value=a.defaultValue;break;default:a.value=a.value}b=a.name;\"\"!==b&&(a.name=\"\");a.defaultChecked=!a.defaultChecked;a.defaultChecked=!a.defaultChecked;\"\"!==b&&(a.name=b)}function Qf(a){var b=\"\";aa.Children.forEach(a,function(a){null==a||\"string\"!==typeof a&&\"number\"!==typeof a||(b+=a)});return b}\nfunction Rf(a,b){a=B({children:void 0},b);if(b=Qf(b.children))a.children=b;return a}function Sf(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+c;b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction Tf(a,b){var c=b.value;a._wrapperState={initialValue:null!=c?c:b.defaultValue,wasMultiple:!!b.multiple}}function Uf(a,b){null!=b.dangerouslySetInnerHTML?E(\"91\"):void 0;return B({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function Vf(a,b){var c=b.value;null==c&&(c=b.defaultValue,b=b.children,null!=b&&(null!=c?E(\"92\"):void 0,Array.isArray(b)&&(1>=b.length?void 0:E(\"93\"),b=b[0]),c=\"\"+b),null==c&&(c=\"\"));a._wrapperState={initialValue:\"\"+c}}\nfunction Wf(a,b){var c=b.value;null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&(a.defaultValue=c));null!=b.defaultValue&&(a.defaultValue=b.defaultValue)}function Xf(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}var Yf={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Zf(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function $f(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Zf(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar ag=void 0,bg=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Yf.svg||\"innerHTML\"in a)a.innerHTML=b;else{ag=ag||document.createElement(\"div\");ag.innerHTML=\"\\x3csvg\\x3e\"+b+\"\\x3c/svg\\x3e\";for(b=ag.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction cg(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar dg={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,\nstopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},eg=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(dg).forEach(function(a){eg.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);dg[b]=dg[a]})});\nfunction fg(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\");var e=c;var f=b[c];e=null==f||\"boolean\"===typeof f||\"\"===f?\"\":d||\"number\"!==typeof f||0===f||dg.hasOwnProperty(e)&&dg[e]?(\"\"+f).trim():f+\"px\";\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var gg=B({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction hg(a,b,c){b&&(gg[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?E(\"137\",a,c()):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?E(\"60\"):void 0,\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML?void 0:E(\"61\")),null!=b.style&&\"object\"!==typeof b.style?E(\"62\",c()):void 0)}\nfunction ig(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var jg=Yf.html,kg=C.thatReturns(\"\");\nfunction lg(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Hd(a);b=Sa[b];for(var d=0;d<b.length;d++){var e=b[d];c.hasOwnProperty(e)&&c[e]||(\"topScroll\"===e?wd(\"topScroll\",\"scroll\",a):\"topFocus\"===e||\"topBlur\"===e?(wd(\"topFocus\",\"focus\",a),wd(\"topBlur\",\"blur\",a),c.topBlur=!0,c.topFocus=!0):\"topCancel\"===e?(yc(\"cancel\",!0)&&wd(\"topCancel\",\"cancel\",a),c.topCancel=!0):\"topClose\"===e?(yc(\"close\",!0)&&wd(\"topClose\",\"close\",a),c.topClose=!0):Dd.hasOwnProperty(e)&&U(e,Dd[e],a),c[e]=!0)}}\nvar mg={topAbort:\"abort\",topCanPlay:\"canplay\",topCanPlayThrough:\"canplaythrough\",topDurationChange:\"durationchange\",topEmptied:\"emptied\",topEncrypted:\"encrypted\",topEnded:\"ended\",topError:\"error\",topLoadedData:\"loadeddata\",topLoadedMetadata:\"loadedmetadata\",topLoadStart:\"loadstart\",topPause:\"pause\",topPlay:\"play\",topPlaying:\"playing\",topProgress:\"progress\",topRateChange:\"ratechange\",topSeeked:\"seeked\",topSeeking:\"seeking\",topStalled:\"stalled\",topSuspend:\"suspend\",topTimeUpdate:\"timeupdate\",topVolumeChange:\"volumechange\",\ntopWaiting:\"waiting\"};function ng(a,b,c,d){c=9===c.nodeType?c:c.ownerDocument;d===jg&&(d=Zf(a));d===jg?\"script\"===a?(a=c.createElement(\"div\"),a.innerHTML=\"\\x3cscript\\x3e\\x3c/script\\x3e\",a=a.removeChild(a.firstChild)):a=\"string\"===typeof b.is?c.createElement(a,{is:b.is}):c.createElement(a):a=c.createElementNS(d,a);return a}function og(a,b){return(9===b.nodeType?b:b.ownerDocument).createTextNode(a)}\nfunction pg(a,b,c,d){var e=ig(b,c);switch(b){case \"iframe\":case \"object\":U(\"topLoad\",\"load\",a);var f=c;break;case \"video\":case \"audio\":for(f in mg)mg.hasOwnProperty(f)&&U(f,mg[f],a);f=c;break;case \"source\":U(\"topError\",\"error\",a);f=c;break;case \"img\":case \"image\":U(\"topError\",\"error\",a);U(\"topLoad\",\"load\",a);f=c;break;case \"form\":U(\"topReset\",\"reset\",a);U(\"topSubmit\",\"submit\",a);f=c;break;case \"details\":U(\"topToggle\",\"toggle\",a);f=c;break;case \"input\":Mf(a,c);f=Lf(a,c);U(\"topInvalid\",\"invalid\",a);\nlg(d,\"onChange\");break;case \"option\":f=Rf(a,c);break;case \"select\":Tf(a,c);f=B({},c,{value:void 0});U(\"topInvalid\",\"invalid\",a);lg(d,\"onChange\");break;case \"textarea\":Vf(a,c);f=Uf(a,c);U(\"topInvalid\",\"invalid\",a);lg(d,\"onChange\");break;default:f=c}hg(b,f,kg);var g=f,h;for(h in g)if(g.hasOwnProperty(h)){var k=g[h];\"style\"===h?fg(a,k,kg):\"dangerouslySetInnerHTML\"===h?(k=k?k.__html:void 0,null!=k&&bg(a,k)):\"children\"===h?\"string\"===typeof k?(\"textarea\"!==b||\"\"!==k)&&cg(a,k):\"number\"===typeof k&&cg(a,\n\"\"+k):\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&\"autoFocus\"!==h&&(Ra.hasOwnProperty(h)?null!=k&&lg(d,h):e?Kf(a,h,k):null!=k&&If(a,h,k))}switch(b){case \"input\":Bc(a);Pf(a,c);break;case \"textarea\":Bc(a);Xf(a,c);break;case \"option\":null!=c.value&&a.setAttribute(\"value\",c.value);break;case \"select\":a.multiple=!!c.multiple;b=c.value;null!=b?Sf(a,!!c.multiple,b,!1):null!=c.defaultValue&&Sf(a,!!c.multiple,c.defaultValue,!0);break;default:\"function\"===typeof f.onClick&&(a.onclick=\nC)}}\nfunction sg(a,b,c,d,e){var f=null;switch(b){case \"input\":c=Lf(a,c);d=Lf(a,d);f=[];break;case \"option\":c=Rf(a,c);d=Rf(a,d);f=[];break;case \"select\":c=B({},c,{value:void 0});d=B({},d,{value:void 0});f=[];break;case \"textarea\":c=Uf(a,c);d=Uf(a,d);f=[];break;default:\"function\"!==typeof c.onClick&&\"function\"===typeof d.onClick&&(a.onclick=C)}hg(b,d,kg);var g,h;a=null;for(g in c)if(!d.hasOwnProperty(g)&&c.hasOwnProperty(g)&&null!=c[g])if(\"style\"===g)for(h in b=c[g],b)b.hasOwnProperty(h)&&(a||(a={}),a[h]=\n\"\");else\"dangerouslySetInnerHTML\"!==g&&\"children\"!==g&&\"suppressContentEditableWarning\"!==g&&\"suppressHydrationWarning\"!==g&&\"autoFocus\"!==g&&(Ra.hasOwnProperty(g)?f||(f=[]):(f=f||[]).push(g,null));for(g in d){var k=d[g];b=null!=c?c[g]:void 0;if(d.hasOwnProperty(g)&&k!==b&&(null!=k||null!=b))if(\"style\"===g)if(b){for(h in b)!b.hasOwnProperty(h)||k&&k.hasOwnProperty(h)||(a||(a={}),a[h]=\"\");for(h in k)k.hasOwnProperty(h)&&b[h]!==k[h]&&(a||(a={}),a[h]=k[h])}else a||(f||(f=[]),f.push(g,a)),a=k;else\"dangerouslySetInnerHTML\"===\ng?(k=k?k.__html:void 0,b=b?b.__html:void 0,null!=k&&b!==k&&(f=f||[]).push(g,\"\"+k)):\"children\"===g?b===k||\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(g,\"\"+k):\"suppressContentEditableWarning\"!==g&&\"suppressHydrationWarning\"!==g&&(Ra.hasOwnProperty(g)?(null!=k&&lg(e,g),f||b===k||(f=[])):(f=f||[]).push(g,k))}a&&(f=f||[]).push(\"style\",a);return f}\nfunction tg(a,b,c,d,e){\"input\"===c&&\"radio\"===e.type&&null!=e.name&&Nf(a,e);ig(c,d);d=ig(c,e);for(var f=0;f<b.length;f+=2){var g=b[f],h=b[f+1];\"style\"===g?fg(a,h,kg):\"dangerouslySetInnerHTML\"===g?bg(a,h):\"children\"===g?cg(a,h):d?null!=h?Kf(a,g,h):a.removeAttribute(g):null!=h?If(a,g,h):Jf(a,g)}switch(c){case \"input\":Of(a,e);break;case \"textarea\":Wf(a,e);break;case \"select\":a._wrapperState.initialValue=void 0,b=a._wrapperState.wasMultiple,a._wrapperState.wasMultiple=!!e.multiple,c=e.value,null!=c?Sf(a,\n!!e.multiple,c,!1):b!==!!e.multiple&&(null!=e.defaultValue?Sf(a,!!e.multiple,e.defaultValue,!0):Sf(a,!!e.multiple,e.multiple?[]:\"\",!1))}}\nfunction ug(a,b,c,d,e){switch(b){case \"iframe\":case \"object\":U(\"topLoad\",\"load\",a);break;case \"video\":case \"audio\":for(var f in mg)mg.hasOwnProperty(f)&&U(f,mg[f],a);break;case \"source\":U(\"topError\",\"error\",a);break;case \"img\":case \"image\":U(\"topError\",\"error\",a);U(\"topLoad\",\"load\",a);break;case \"form\":U(\"topReset\",\"reset\",a);U(\"topSubmit\",\"submit\",a);break;case \"details\":U(\"topToggle\",\"toggle\",a);break;case \"input\":Mf(a,c);U(\"topInvalid\",\"invalid\",a);lg(e,\"onChange\");break;case \"select\":Tf(a,c);\nU(\"topInvalid\",\"invalid\",a);lg(e,\"onChange\");break;case \"textarea\":Vf(a,c),U(\"topInvalid\",\"invalid\",a),lg(e,\"onChange\")}hg(b,c,kg);d=null;for(var g in c)c.hasOwnProperty(g)&&(f=c[g],\"children\"===g?\"string\"===typeof f?a.textContent!==f&&(d=[\"children\",f]):\"number\"===typeof f&&a.textContent!==\"\"+f&&(d=[\"children\",\"\"+f]):Ra.hasOwnProperty(g)&&null!=f&&lg(e,g));switch(b){case \"input\":Bc(a);Pf(a,c);break;case \"textarea\":Bc(a);Xf(a,c);break;case \"select\":case \"option\":break;default:\"function\"===typeof c.onClick&&\n(a.onclick=C)}return d}function vg(a,b){return a.nodeValue!==b}\nvar wg=Object.freeze({createElement:ng,createTextNode:og,setInitialProperties:pg,diffProperties:sg,updateProperties:tg,diffHydratedProperties:ug,diffHydratedText:vg,warnForUnmatchedText:function(){},warnForDeletedHydratableElement:function(){},warnForDeletedHydratableText:function(){},warnForInsertedHydratedElement:function(){},warnForInsertedHydratedText:function(){},restoreControlledState:function(a,b,c){switch(b){case \"input\":Of(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=\nc.parentNode;c=c.querySelectorAll(\"input[name\\x3d\"+JSON.stringify(\"\"+b)+'][type\\x3d\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=rb(d);e?void 0:E(\"90\");Cc(d);Of(d,e)}}}break;case \"textarea\":Wf(a,c);break;case \"select\":b=c.value,null!=b&&Sf(a,!!c.multiple,b,!1)}}});nc.injectFiberControlledHostComponent(wg);var xg=null,Mg=null;function Ng(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}\nfunction Og(a){a=a?9===a.nodeType?a.documentElement:a.firstChild:null;return!(!a||1!==a.nodeType||!a.hasAttribute(\"data-reactroot\"))}\nvar Z=of({getRootHostContext:function(a){var b=a.nodeType;switch(b){case 9:case 11:a=(a=a.documentElement)?a.namespaceURI:$f(null,\"\");break;default:b=8===b?a.parentNode:a,a=b.namespaceURI||null,b=b.tagName,a=$f(a,b)}return a},getChildHostContext:function(a,b){return $f(a,b)},getPublicInstance:function(a){return a},prepareForCommit:function(){xg=td;var a=da();if(Kd(a)){if(\"selectionStart\"in a)var b={start:a.selectionStart,end:a.selectionEnd};else a:{var c=window.getSelection&&window.getSelection();\nif(c&&0!==c.rangeCount){b=c.anchorNode;var d=c.anchorOffset,e=c.focusNode;c=c.focusOffset;try{b.nodeType,e.nodeType}catch(z){b=null;break a}var f=0,g=-1,h=-1,k=0,q=0,v=a,y=null;b:for(;;){for(var u;;){v!==b||0!==d&&3!==v.nodeType||(g=f+d);v!==e||0!==c&&3!==v.nodeType||(h=f+c);3===v.nodeType&&(f+=v.nodeValue.length);if(null===(u=v.firstChild))break;y=v;v=u}for(;;){if(v===a)break b;y===b&&++k===d&&(g=f);y===e&&++q===c&&(h=f);if(null!==(u=v.nextSibling))break;v=y;y=v.parentNode}v=u}b=-1===g||-1===h?null:\n{start:g,end:h}}else b=null}b=b||{start:0,end:0}}else b=null;Mg={focusedElem:a,selectionRange:b};ud(!1)},resetAfterCommit:function(){var a=Mg,b=da(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&fa(document.documentElement,c)){if(Kd(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(window.getSelection){b=window.getSelection();var e=c[Eb()].length;a=Math.min(d.start,e);d=void 0===d.end?a:Math.min(d.end,e);!b.extend&&a>\nd&&(e=d,d=a,a=e);e=Jd(c,a);var f=Jd(c,d);if(e&&f&&(1!==b.rangeCount||b.anchorNode!==e.node||b.anchorOffset!==e.offset||b.focusNode!==f.node||b.focusOffset!==f.offset)){var g=document.createRange();g.setStart(e.node,e.offset);b.removeAllRanges();a>d?(b.addRange(g),b.extend(f.node,f.offset)):(g.setEnd(f.node,f.offset),b.addRange(g))}}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});ia(c);for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=\na.top}Mg=null;ud(xg);xg=null},createInstance:function(a,b,c,d,e){a=ng(a,b,c,d);a[Q]=e;a[ob]=b;return a},appendInitialChild:function(a,b){a.appendChild(b)},finalizeInitialChildren:function(a,b,c,d){pg(a,b,c,d);a:{switch(b){case \"button\":case \"input\":case \"select\":case \"textarea\":a=!!c.autoFocus;break a}a=!1}return a},prepareUpdate:function(a,b,c,d,e){return sg(a,b,c,d,e)},shouldSetTextContent:function(a,b){return\"textarea\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===\ntypeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&\"string\"===typeof b.dangerouslySetInnerHTML.__html},shouldDeprioritizeSubtree:function(a,b){return!!b.hidden},createTextInstance:function(a,b,c,d){a=og(a,b);a[Q]=d;return a},now:rf,mutation:{commitMount:function(a){a.focus()},commitUpdate:function(a,b,c,d,e){a[ob]=e;tg(a,b,c,d,e)},resetTextContent:function(a){a.textContent=\"\"},commitTextUpdate:function(a,b,c){a.nodeValue=c},appendChild:function(a,b){a.appendChild(b)},appendChildToContainer:function(a,\nb){8===a.nodeType?a.parentNode.insertBefore(b,a):a.appendChild(b)},insertBefore:function(a,b,c){a.insertBefore(b,c)},insertInContainerBefore:function(a,b,c){8===a.nodeType?a.parentNode.insertBefore(b,c):a.insertBefore(b,c)},removeChild:function(a,b){a.removeChild(b)},removeChildFromContainer:function(a,b){8===a.nodeType?a.parentNode.removeChild(b):a.removeChild(b)}},hydration:{canHydrateInstance:function(a,b){return 1!==a.nodeType||b.toLowerCase()!==a.nodeName.toLowerCase()?null:a},canHydrateTextInstance:function(a,\nb){return\"\"===b||3!==a.nodeType?null:a},getNextHydratableSibling:function(a){for(a=a.nextSibling;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a},getFirstHydratableChild:function(a){for(a=a.firstChild;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a},hydrateInstance:function(a,b,c,d,e,f){a[Q]=f;a[ob]=c;return ug(a,b,c,e,d)},hydrateTextInstance:function(a,b,c){a[Q]=c;return vg(a,b)},didNotMatchHydratedContainerTextInstance:function(){},didNotMatchHydratedTextInstance:function(){},\ndidNotHydrateContainerInstance:function(){},didNotHydrateInstance:function(){},didNotFindHydratableContainerInstance:function(){},didNotFindHydratableContainerTextInstance:function(){},didNotFindHydratableInstance:function(){},didNotFindHydratableTextInstance:function(){}},scheduleDeferredCallback:sf,cancelDeferredCallback:tf,useSyncScheduling:!0});rc=Z.batchedUpdates;\nfunction Pg(a,b,c,d,e){Ng(c)?void 0:E(\"200\");var f=c._reactRootContainer;if(f)Z.updateContainer(b,f,a,e);else{d=d||Og(c);if(!d)for(f=void 0;f=c.lastChild;)c.removeChild(f);var g=Z.createContainer(c,d);f=c._reactRootContainer=g;Z.unbatchedUpdates(function(){Z.updateContainer(b,g,a,e)})}return Z.getPublicRootInstance(f)}function Qg(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;Ng(b)?void 0:E(\"200\");return pf(a,b,null,c)}\nfunction Rg(a,b){this._reactRootContainer=Z.createContainer(a,b)}Rg.prototype.render=function(a,b){Z.updateContainer(a,this._reactRootContainer,null,b)};Rg.prototype.unmount=function(a){Z.updateContainer(null,this._reactRootContainer,null,a)};\nvar Sg={createPortal:Qg,findDOMNode:function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(b)return Z.findHostInstance(b);\"function\"===typeof a.render?E(\"188\"):E(\"213\",Object.keys(a))},hydrate:function(a,b,c){return Pg(null,a,b,!0,c)},render:function(a,b,c){return Pg(null,a,b,!1,c)},unstable_renderSubtreeIntoContainer:function(a,b,c,d){null==a||void 0===a._reactInternalFiber?E(\"38\"):void 0;return Pg(a,b,c,!1,d)},unmountComponentAtNode:function(a){Ng(a)?void 0:\nE(\"40\");return a._reactRootContainer?(Z.unbatchedUpdates(function(){Pg(null,null,a,!1,function(){a._reactRootContainer=null})}),!0):!1},unstable_createPortal:Qg,unstable_batchedUpdates:tc,unstable_deferredUpdates:Z.deferredUpdates,flushSync:Z.flushSync,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{EventPluginHub:mb,EventPluginRegistry:Va,EventPropagators:Cb,ReactControlledComponent:qc,ReactDOMComponentTree:sb,ReactDOMEventListener:xd}};\nZ.injectIntoDevTools({findFiberByHostInstance:pb,bundleType:0,version:\"16.2.0\",rendererPackageName:\"react-dom\"});var Tg=Object.freeze({default:Sg}),Ug=Tg&&Sg||Tg;module.exports=Ug[\"default\"]?Ug[\"default\"]:Ug;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Upstream version of event listener. Does not take into account specific\n * nature of platform.\n */\nvar EventListener = {\n /**\n * Listen to DOM events during the bubble phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n listen: function listen(target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, false);\n return {\n remove: function remove() {\n target.removeEventListener(eventType, callback, false);\n }\n };\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, callback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, callback);\n }\n };\n }\n },\n\n /**\n * Listen to DOM events during the capture phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n capture: function capture(target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, true);\n return {\n remove: function remove() {\n target.removeEventListener(eventType, callback, true);\n }\n };\n } else {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Attempted to listen to events during the capture phase on a ' + 'browser that does not support the capture phase. Your application ' + 'will not receive some events.');\n }\n return {\n remove: emptyFunction\n };\n }\n },\n\n registerDefault: function registerDefault() {}\n};\n\nmodule.exports = EventListener;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/* eslint-disable fb-www/typeof-undefined */\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\nfunction getActiveElement(doc) /*?DOMElement*/{\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n if (typeof doc === 'undefined') {\n return null;\n }\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nmodule.exports = getActiveElement;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/*eslint-disable no-self-compare */\n\n'use strict';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqual;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar isTextNode = require('./isTextNode');\n\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar isNode = require('./isNode');\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM text node.\n */\nfunction isTextNode(object) {\n return isNode(object) && object.nodeType == 3;\n}\n\nmodule.exports = isTextNode;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM node.\n */\nfunction isNode(object) {\n var doc = object ? object.ownerDocument || object : document;\n var defaultView = doc.defaultView || window;\n return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nmodule.exports = isNode;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * @param {DOMElement} node input/textarea to focus\n */\n\nfunction focusNode(node) {\n // IE8 can throw \"Can't move focus to the control because it is invisible,\n // not enabled, or of a type that does not accept the focus.\" for all kinds of\n // reasons that are too expensive and fragile to test.\n try {\n node.focus();\n } catch (e) {}\n}\n\nmodule.exports = focusNode;","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /* eslint global-require: \"off\" */\n/* eslint no-console: \"off\" */\n\nvar _intl = require('intl');\n\nvar _intl2 = _interopRequireDefault(_intl);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nrequire('moment/min/locales');\n\nvar _Base = require('./Base');\n\nvar _Base2 = _interopRequireDefault(_Base);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n _localeKey: 'en',\n _translationsObject: {},\n _getTranslations: null,\n _getLocale: null,\n _handleMissingTranslation: function _handleMissingTranslation(text) {\n return text.split('.').pop();\n },\n\n get _translations() {\n return this._getTranslations ? this._getTranslations() : this._translationsObject;\n },\n\n set _translations(translations) {\n this._translationsObject = translations;\n },\n\n get _locale() {\n return this._getLocale ? this._getLocale() : this._localeKey;\n },\n\n set _locale(locale) {\n this._localeKey = locale;\n },\n\n setLocale: function setLocale(locale) {\n var rerenderComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n this._locale = locale;\n if (rerenderComponents) {\n this.forceComponentsUpdate();\n }\n },\n setTranslations: function setTranslations(translations) {\n var rerenderComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n this._translations = translations;\n if (rerenderComponents) {\n this.forceComponentsUpdate();\n }\n },\n loadTranslations: function loadTranslations(translations) {\n console.error('I18n.loadTranslations is deprecated, please use I18n.setTranslations instead');\n this.setTranslations(translations);\n },\n setTranslationsGetter: function setTranslationsGetter(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Translations getter must be a function');\n }\n this._getTranslations = fn;\n },\n setLocaleGetter: function setLocaleGetter(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Locale getter must be a function');\n }\n this._getLocale = fn;\n },\n setHandleMissingTranslation: function setHandleMissingTranslation(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Handle missing translation must be a function');\n }\n this._handleMissingTranslation = fn;\n },\n t: function t(key) {\n var replacements = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return this._translate(key, replacements);\n },\n l: function l(value, options) {\n return this._localize(value, options);\n },\n _replace: function _replace(translation, replacements) {\n var _this = this;\n\n if (typeof translation === 'string') {\n var result = translation;\n Object.keys(replacements).forEach(function (replacement) {\n result = result.split('%{' + replacement + '}').join(replacements[replacement]);\n });\n return result;\n }\n if ((typeof translation === 'undefined' ? 'undefined' : _typeof(translation)) === 'object') {\n var _result = {};\n Object.keys(translation).forEach(function (translationKey) {\n _result[translationKey] = _this._replace(translation[translationKey], replacements);\n });\n return _result;\n }\n return null;\n },\n _translate: function _translate(key) {\n var replacements = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var translation = '';\n try {\n var translationLocale = this._translations[this._locale] ? this._locale : this._locale.split('-')[0];\n translation = this._fetchTranslation(this._translations, translationLocale + '.' + key, replacements.count);\n } catch (err) {\n return this._handleMissingTranslation(key, replacements);\n }\n return this._replace(translation, replacements);\n },\n _localize: function _localize(value) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (options.dateFormat) {\n return (0, _moment2.default)(value, options.parseFormat, this._locale, Boolean(options.strictParse)).format(this.t(options.dateFormat));\n }\n if (typeof value === 'number') {\n if (global.Intl) {\n if (!(Intl.NumberFormat && Intl.NumberFormat.supportedLocalesOf(this._locale).length === 1)) {\n Intl.NumberFormat = _intl2.default.NumberFormat;\n }\n } else {\n global.Intl = _intl2.default;\n }\n return new Intl.NumberFormat(this._locale, options).format(value);\n }\n return value;\n },\n _fetchTranslation: function _fetchTranslation(translations, key) {\n var count = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n var _index = key.indexOf('.');\n if (typeof translations === 'undefined') {\n throw new Error('not found');\n }\n if (_index > -1) {\n return this._fetchTranslation(translations[key.substring(0, _index)], key.substr(_index + 1), count);\n }\n if (count !== null) {\n if (translations[key + '_' + count]) {\n // when key = 'items_3' if count is 3\n return translations[key + '_' + count];\n }\n if (count !== 1 && translations[key + '_plural']) {\n // when count is not simply singular, return _plural\n return translations[key + '_plural'];\n }\n }\n if (translations[key]) {\n return translations[key];\n }\n throw new Error('not found');\n },\n forceComponentsUpdate: function forceComponentsUpdate() {\n _Base2.default.rerenderAll();\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Base = function (_React$Component) {\n _inherits(Base, _React$Component);\n\n function Base() {\n _classCallCheck(this, Base);\n\n return _possibleConstructorReturn(this, (Base.__proto__ || Object.getPrototypeOf(Base)).apply(this, arguments));\n }\n\n _createClass(Base, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n Base.instances.push(this);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n Base.instances.splice(Base.instances.indexOf(this), 1);\n }\n }], [{\n key: 'rerenderAll',\n value: function rerenderAll() {\n Base.instances.forEach(function (instance) {\n return instance.forceUpdate();\n });\n }\n }]);\n\n return Base;\n}(_react2.default.Component);\n\nBase.instances = [];\nexports.default = Base;","import * as React from \"react\";\nimport assetUrl from \"../support/asset_url\";\n\ninterface IconProps {\n name: string;\n title?: string;\n iconExtraClassName?: string;\n role?: string;\n}\n\nexport const Icon: React.SFC<IconProps> = ({ name, title, iconExtraClassName, role = \"none presentation\" }) => {\n let titleElement = null;\n if (title) {\n titleElement = <title>{title}</title>;\n }\n\n return (\n <svg className={`icon ${iconExtraClassName} ${name}`} role={role}>\n {titleElement}\n <use\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n xlinkHref={`${assetUrl(\"icons.svg\")}#${name}`}\n />\n </svg>\n );\n};\n\nIcon.defaultProps = {\n iconExtraClassName: \"icon--before\"\n};\n\ninterface IconWithoutUserAgentProps {\n name: string;\n title?: string;\n iconExtraClassName?: string;\n role?: string;\n}\n\nconst IconWithoutUserAgent: React.SFC<IconWithoutUserAgentProps> = ({\n name,\n title,\n iconExtraClassName,\n role = \"none presentation\"\n}) => <Icon name={name} title={title} iconExtraClassName={iconExtraClassName} role={role} />;\n\nexport default IconWithoutUserAgent;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentData\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"comments\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentData\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"comments\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentData\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"comments\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentData\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":229}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/comment_data.fragment.graphql\\\"\\n\\nfragment Comment on Comment {\\n ...CommentData\\n comments {\\n ...CommentData\\n comments {\\n ...CommentData\\n comments {\\n ...CommentData\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/comment_data.fragment.graphql\").definitions));\n\n\n module.exports = doc;\n \n","/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\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.hoistNonReactStatics = factory());\n}(this, (function () {\n 'use strict';\n \n var REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n };\n \n var KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n };\n \n var defineProperty = Object.defineProperty;\n var getOwnPropertyNames = Object.getOwnPropertyNames;\n var getOwnPropertySymbols = Object.getOwnPropertySymbols;\n var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var getPrototypeOf = Object.getPrototypeOf;\n var objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n \n return function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n \n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n \n var keys = getOwnPropertyNames(sourceComponent);\n \n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n \n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n \n return targetComponent;\n }\n \n return targetComponent;\n };\n})));\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var index = typeof fetch=='function' ? fetch.bind() : function(url, options) {\n\toptions = options || {};\n\treturn new Promise( function (resolve, reject) {\n\t\tvar request = new XMLHttpRequest();\n\n\t\trequest.open(options.method || 'get', url);\n\n\t\tfor (var i in options.headers) {\n\t\t\trequest.setRequestHeader(i, options.headers[i]);\n\t\t}\n\n\t\trequest.withCredentials = options.credentials=='include';\n\n\t\trequest.onload = function () {\n\t\t\tresolve(response());\n\t\t};\n\n\t\trequest.onerror = reject;\n\n\t\trequest.send(options.body);\n\n\t\tfunction response() {\n\t\t\tvar keys = [],\n\t\t\t\tall = [],\n\t\t\t\theaders = {},\n\t\t\t\theader;\n\n\t\t\trequest.getAllResponseHeaders().replace(/^(.*?):\\s*([\\s\\S]*?)$/gm, function (m, key, value) {\n\t\t\t\tkeys.push(key = key.toLowerCase());\n\t\t\t\tall.push([key, value]);\n\t\t\t\theader = headers[key];\n\t\t\t\theaders[key] = header ? (header + \",\" + value) : value;\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tok: (request.status/200|0) == 1,\t\t// 200-299\n\t\t\t\tstatus: request.status,\n\t\t\t\tstatusText: request.statusText,\n\t\t\t\turl: request.responseURL,\n\t\t\t\tclone: response,\n\t\t\t\ttext: function () { return Promise.resolve(request.responseText); },\n\t\t\t\tjson: function () { return Promise.resolve(request.responseText).then(JSON.parse); },\n\t\t\t\tblob: function () { return Promise.resolve(new Blob([request.response])); },\n\t\t\t\theaders: {\n\t\t\t\t\tkeys: function () { return keys; },\n\t\t\t\t\tentries: function () { return all; },\n\t\t\t\t\tget: function (n) { return headers[n.toLowerCase()]; },\n\t\t\t\t\thas: function (n) { return n.toLowerCase() in headers; }\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t});\n};\n\nexport default index;\n//# sourceMappingURL=unfetch.es.js.map\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\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nvar 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çə saniyyə',\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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction 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}\nfunction 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n},\nnumberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n};\n\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n},\nnumberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n};\n\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction 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}\nfunction 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}\nfunction lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n}\nfunction mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n}\nfunction 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\nvar 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\nreturn 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\nfunction 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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('_');\nfunction plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n}\nfunction 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\nvar cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nfunction 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\nvar 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\nreturn 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\nfunction 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\nvar 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\nreturn 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\nfunction 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\nvar 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\nreturn 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\nvar months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n];\n\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n}\n\n\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nvar 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];\nvar 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\nvar 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\nreturn 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\nvar 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\nvar 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];\nvar 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\nvar 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\nreturn 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\nvar 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\nvar 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 monthsParseExact : true,\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 : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\n LLLL : 'dddd, MMMM [de] D [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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction 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\nvar 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 ];\nfunction 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}\nfunction verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n}\n\nvar 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\nreturn 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\nvar 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 minutt',\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ði',\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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nvar 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\nreturn 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\nvar 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\nvar monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\nvar weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\nvar weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\nvar weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\nvar 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\nreturn 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\nvar 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\nreturn 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\nfunction 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 horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' hor'],\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\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n},\nnumberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\nfunction 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}\nfunction week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n}\n\nvar 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n}\nfunction 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar ja = moment.defineLocale('ja', {\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 : '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日 HH:mm dddd',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日 HH:mm dddd'\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 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar km = moment.defineLocale('km', {\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 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\nreturn 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\nvar symbolMap = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n},\nnumberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n};\n\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction 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}\nfunction processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n}\nfunction 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 */\nfunction 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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};\nfunction 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}\nfunction translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n}\nfunction special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n}\nfunction forms(key) {\n return units[key].split('_');\n}\nfunction 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}\nvar 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\nreturn 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\nvar 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 */\nfunction 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}\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n}\nfunction relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n}\nfunction relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n}\n\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n},\nnumberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nfunction 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n},\nnumberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nvar 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];\nvar monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nvar 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|mei|ju[nl]i|april|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\nreturn 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\nvar 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\nvar 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];\nvar monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nvar 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|mei|ju[nl]i|april|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\nreturn 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\nvar 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\nreturn 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\nvar symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n},\nnumberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n};\n\nvar paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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('_');\nfunction plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n}\nfunction 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nfunction 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction 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}\nfunction 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}\nvar 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\nvar 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\nreturn 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\nvar months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n];\nvar days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n];\n\nvar 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\nreturn 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\nvar 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\nreturn 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*/\nvar 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\nreturn 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\nvar 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('_');\nfunction plural(n) {\n return (n > 1) && (n < 5);\n}\nfunction 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\nvar 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\nreturn 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\nfunction 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 += withoutSuffix || isFuture ? 'sekund' : '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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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.\nvar 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\nfunction 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn tzm;\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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn tzmLatn;\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\nvar 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\nreturn 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\nfunction 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}\nfunction 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}\nfunction weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\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}\nfunction processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n}\n\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n];\nvar days = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n];\n\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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 : '[下]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\nreturn zhTw;\n\n})));\n","/* eslint-disable no-return-assign, react/no-unused-prop-types, max-lines */\nimport * as classnames from \"classnames\";\nimport * as React from \"react\";\nimport { graphql } from \"react-apollo\";\nimport * as uuid from \"uuid\";\n\nconst PropTypes = require(\"prop-types\");\n\nimport Icon from \"../application/icon.component\";\n\nconst { I18n, Translate } = require(\"react-i18nify\");\n\nimport {\n AddCommentFormCommentableFragment,\n AddCommentFormSessionFragment,\n addCommentMutation,\n CommentFragment,\n GetCommentsQuery\n} from \"../support/schema\";\n\ninterface AddCommentFormProps {\n session: AddCommentFormSessionFragment & {\n user: any;\n } | null;\n commentable: AddCommentFormCommentableFragment;\n rootCommentable: AddCommentFormCommentableFragment;\n showTitle?: boolean;\n submitButtonClassName?: string;\n autoFocus?: boolean;\n arguable?: boolean;\n userAllowedToComment?: boolean;\n addComment?: (data: { body: string, alignment: number, userGroupId?: string }, context: any) => void;\n onCommentAdded?: () => void;\n orderBy: string;\n commentsMaxLength: number;\n}\n\ninterface AddCommentFormState {\n disabled: boolean;\n error: boolean;\n alignment: number;\n remainingCharacterCount: number;\n}\n\n/**\n * Renders a form to create new comments.\n * @class\n * @augments Component\n */\nexport class AddCommentForm extends React.Component<AddCommentFormProps, AddCommentFormState> {\n public static defaultProps = {\n showTitle: true,\n submitButtonClassName: \"button button--sc\",\n arguable: false,\n autoFocus: false\n };\n\n public static contextTypes: any = {\n locale: PropTypes.string,\n toggleTranslations: PropTypes.bool\n };\n\n public bodyTextArea: HTMLTextAreaElement;\n public userGroupIdSelect: HTMLSelectElement;\n\n constructor(props: AddCommentFormProps) {\n super(props);\n\n this.state = {\n disabled: true,\n error: false,\n alignment: 0,\n remainingCharacterCount: props.commentsMaxLength\n };\n }\n\n public render() {\n return (\n <div className=\"add-comment\">\n {this._renderHeading()}\n {this._renderAccountMessage()}\n {this._renderOpinionButtons()}\n {this._renderForm()}\n </div>\n );\n }\n\n public componentDidMount() {\n this._attachMentions();\n }\n\n /**\n * Trick to reuse input_mentions.js logic\n */\n private _attachMentions() {\n window.$(document).trigger(\"attach-mentions-element\", this.bodyTextArea);\n }\n\n /**\n * Render the form heading based on showTitle prop\n * @private\n * @returns {Void|DOMElement} - The heading or an empty element\n */\n private _renderHeading() {\n const { showTitle } = this.props;\n\n if (showTitle) {\n return (\n <h4 className=\"section-heading\">\n {I18n.t(\"components.add_comment_form.title\")}\n </h4>\n );\n }\n\n return null;\n }\n\n /**\n * Render a message telling the user to sign in or sign up to leave a comment.\n * @private\n * @returns {Void|DOMElement} - The message or an empty element.\n */\n private _renderAccountMessage() {\n const { session } = this.props;\n\n if (!session) {\n return (\n <p>\n <Translate\n value=\"components.add_comment_form.account_message\"\n sign_in_url=\"/users/sign_in\"\n sign_up_url=\"/users/sign_up\"\n dangerousHTML={true}\n />\n </p>\n );\n }\n\n return null;\n }\n\n /**\n * Render the add comment form if session is present.\n * @private\n * @returns {Void|DOMElement} - The add comment form on an empty element.\n */\n private _renderForm() {\n const { session, submitButtonClassName, commentable: { id, type } } = this.props;\n const { disabled, remainingCharacterCount } = this.state;\n\n if (session) {\n return (\n <form onSubmit={this.addComment}>\n {this._renderCommentAs()}\n <div className=\"field\">\n <label className=\"show-for-sr\" htmlFor={`add-comment-${type}-${id}`}>{I18n.t(\"components.add_comment_form.form.body.label\")}</label>\n <div className=\"hashtags__container\">\n {this._renderTextArea()}\n </div>\n {this._renderTextAreaError()}\n <button\n type=\"submit\"\n className={submitButtonClassName}\n disabled={disabled}\n >\n {I18n.t(\"components.add_comment_form.form.submit\")}\n </button>\n <span className=\"remaining-character-count\">\n {I18n.t(\"components.add_comment_form.remaining_characters\", { count: remainingCharacterCount })}\n </span>\n </div>\n </form>\n );\n }\n\n return null;\n }\n\n /**\n * Render the form heading based on showTitle prop\n * @private\n * @returns {Void|DOMElement} - The heading or an empty element\n */\n private _renderTextArea() {\n const { commentable: { id, type }, autoFocus, commentsMaxLength } = this.props;\n const { error } = this.state;\n const className = classnames({ \"is-invalid-input\": error });\n\n const textAreaProps: any = {\n ref: (textarea: HTMLTextAreaElement) => {this.bodyTextArea = textarea; },\n id: `add-comment-${type}-${id}`,\n className,\n rows: \"4\",\n maxLength: commentsMaxLength,\n required: \"required\",\n pattern: `^(.){0,${commentsMaxLength}}$`,\n placeholder: I18n.t(\"components.add_comment_form.form.body.placeholder\"),\n onChange: (evt: React.ChangeEvent<HTMLTextAreaElement>) => this._checkCommentBody(evt.target.value, commentsMaxLength as number)\n };\n\n if (autoFocus) {\n textAreaProps.autoFocus = \"autoFocus\";\n }\n\n return (\n <textarea {...textAreaProps} />\n );\n }\n\n /**\n * Render the text area form error if state has an error\n * @private\n * @returns {Void|DOMElement} - The error or an empty element\n */\n private _renderTextAreaError() {\n const { commentsMaxLength } = this.props;\n const { error } = this.state;\n\n if (error) {\n return (\n <span className=\"form-error is-visible\">\n {I18n.t(\"components.add_comment_form.form.form_error\", { length: commentsMaxLength })}\n </span>\n );\n }\n\n return null;\n }\n\n private setAlignment = (alignment: number) => {\n return () => {\n this.setState({ alignment });\n };\n }\n\n /**\n * Render opinion buttons or not based on the arguable prop\n * @private\n * @returns {Void|DOMElement} - Returns nothing or a wrapper with buttons\n */\n private _renderOpinionButtons() {\n const { session, arguable } = this.props;\n const { alignment } = this.state;\n const buttonClassName = classnames(\"button\", \"tiny\", \"button--muted\");\n const okButtonClassName = classnames(buttonClassName, \"opinion-toggle--ok\", {\n \"is-active\": alignment === 1\n });\n const koButtonClassName = classnames(buttonClassName, \"opinion-toggle--ko\", {\n \"is-active\": alignment === -1\n });\n const neutralButtonClassName = classnames(buttonClassName, \"opinion-toggle--meh\", {\n \"is-active\": alignment === 0\n });\n\n if (session && arguable) {\n return (\n <div className=\"opinion-toggle button-group\">\n <button\n className={okButtonClassName}\n onClick={this.setAlignment(1)}\n >\n <Icon iconExtraClassName=\"\" name=\"icon-thumb-up\" />\n </button>\n <button\n className={neutralButtonClassName}\n onClick={this.setAlignment(0)}\n >\n {I18n.t(\"components.add_comment_form.opinion.neutral\")}\n </button>\n <button\n className={koButtonClassName}\n onClick={this.setAlignment(-1)}\n >\n <Icon iconExtraClassName=\"\" name=\"icon-thumb-down\" />\n </button>\n </div>\n );\n }\n\n return null;\n }\n\n private setUserGroupIdSelect = (select: HTMLSelectElement) => {this.userGroupIdSelect = select; };\n\n /**\n * Render a select with an option for each user's verified group\n * @private\n * @returns {Void|DOMElement} - Returns nothing or a form field.\n */\n private _renderCommentAs() {\n const { session, commentable: { id, type } } = this.props;\n\n if (session) {\n const { user, verifiedUserGroups } = session;\n\n if (verifiedUserGroups.length > 0) {\n return (\n <div className=\"field\">\n <label htmlFor={`add-comment-${type}-${id}-user-group-id`}>\n {I18n.t(\"components.add_comment_form.form.user_group_id.label\")}\n </label>\n <select\n ref={this.setUserGroupIdSelect}\n id={`add-comment-${type}-${id}-user-group-id`}\n >\n <option value=\"\">{user.name}</option>\n {\n verifiedUserGroups.map((userGroup) => (\n <option key={userGroup.id} value={userGroup.id}>{userGroup.name}</option>\n ))\n }\n </select>\n </div>\n );\n }\n }\n\n return null;\n }\n\n /**\n * Check comment's body and disable form if it's empty\n * @private\n * @param {string} body - The comment's body\n * @returns {Void} - Returns nothing\n */\n private _checkCommentBody(body: string, commentsMaxLength: number) {\n this.setState({\n disabled: body === \"\", error: body === \"\" || body.length > commentsMaxLength,\n remainingCharacterCount: commentsMaxLength - body.length\n });\n }\n\n /**\n * Handle form's submission and calls `addComment` prop with the value of the\n * form's textarea. It prevents the default form submission event.\n * @private\n * @param {DOMEvent} evt - The form's submission event\n * @returns {Void} - Returns nothing\n */\n private addComment = (evt: React.FormEvent<HTMLFormElement>) => {\n const { alignment } = this.state;\n const { addComment, onCommentAdded } = this.props;\n const addCommentParams: { body: string, alignment: number, userGroupId?: string } = { body: this.bodyTextArea.value, alignment };\n\n evt.preventDefault();\n\n if (this.userGroupIdSelect && this.userGroupIdSelect.value !== \"\") {\n addCommentParams.userGroupId = this.userGroupIdSelect.value;\n }\n\n if (addComment) {\n addComment(addCommentParams, this.context);\n }\n\n this.bodyTextArea.value = \"\";\n this.setState({ alignment: 0 });\n\n if (onCommentAdded) {\n onCommentAdded();\n }\n }\n}\n\nconst addCommentMutation = require(\"../mutations/add_comment.mutation.graphql\");\nconst getCommentsQuery = require(\"../queries/comments.query.graphql\");\n\nconst AddCommentFormWithMutation = graphql<addCommentMutation, AddCommentFormProps>(addCommentMutation, {\n props: ({ ownProps, mutate }) => ({\n addComment: ({ body, alignment, userGroupId }: { body: string, alignment: number, userGroupId: string }, { locale, toggleTranslations }: any) => {\n if (mutate) {\n mutate({\n variables: {\n locale,\n toggleTranslations,\n commentableId: ownProps.commentable.id,\n commentableType: ownProps.commentable.type,\n body,\n alignment,\n userGroupId\n },\n optimisticResponse: {\n commentable: {\n __typename: \"CommentableMutation\",\n addComment: {\n __typename: \"Comment\",\n id: uuid(),\n sgid: uuid(),\n type: \"Decidim::Comments::Comment\",\n createdAt: new Date().toISOString(),\n body,\n formattedBody: body,\n formattedCreatedAt: new Date().toISOString(),\n alignment,\n author: {\n __typename: \"User\",\n name: ownProps.session && ownProps.session.user.name,\n nickname: ownProps.session && ownProps.session.user.name,\n profilePath: null,\n badge: null,\n avatarUrl: ownProps.session && ownProps.session.user.avatarUrl,\n deleted: false\n },\n comments: [],\n hasComments: false,\n acceptsNewComments: false,\n userAllowedToComment: false,\n upVotes: 0,\n upVoted: false,\n downVotes: 0,\n downVoted: false,\n alreadyReported: false\n }\n }\n },\n update: (store, { data }: { data: addCommentMutation }) => {\n const variables = {\n locale,\n toggleTranslations,\n commentableId: ownProps.rootCommentable.id,\n commentableType: ownProps.rootCommentable.type,\n orderBy: ownProps.orderBy,\n singleCommentId: null\n };\n const prev = store.readQuery<GetCommentsQuery>({\n query: getCommentsQuery,\n variables\n });\n const { id, type } = ownProps.commentable;\n const newComment = data.commentable && data.commentable.addComment;\n let comments = [];\n\n const commentReducer = (comment: CommentFragment): CommentFragment => {\n const replies = comment.comments || [];\n\n if (newComment && comment.id === id) {\n return {\n ...comment,\n hasComments: true,\n comments: [\n ...replies,\n newComment\n ]\n };\n }\n return {\n ...comment,\n comments: replies.map(commentReducer)\n };\n };\n\n if (prev) {\n if (type === \"Decidim::Comments::Comment\") {\n comments = prev.commentable.comments.map(commentReducer);\n } else {\n comments = [\n ...prev.commentable.comments,\n newComment\n ];\n }\n\n store.writeQuery({\n query: getCommentsQuery,\n data: {\n ...prev,\n commentable: {\n ...prev.commentable,\n totalCommentsCount: prev.commentable.totalCommentsCount + 1,\n comments\n }\n },\n variables\n });\n }\n }\n });\n }\n }\n })\n})(AddCommentForm);\n\nexport default AddCommentFormWithMutation;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && msCrypto.getRandomValues.bind(msCrypto));\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n return bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]];\n}\n\nmodule.exports = bytesToUuid;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentThread\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasComments\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"},\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":114}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/comment.fragment.graphql\\\"\\n\\nfragment CommentThread on Comment {\\n hasComments\\n ...Comment\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/comment.fragment.graphql\").definitions));\n\n\n module.exports = doc;\n \n","import * as React from \"react\";\nimport Icon from \"../application/icon.component\";\n\ninterface VoteButtonProps {\n buttonClassName: string;\n iconName: string;\n text: string;\n votes: number;\n voteAction?: () => void;\n disabled?: boolean;\n selectedClass?: string;\n userLoggedIn: boolean;\n}\n\nconst preventDefault = (event: any) => {\n event.preventDefault();\n};\n\nconst VoteButton: React.SFC<VoteButtonProps> = ({\n buttonClassName,\n iconName,\n text,\n votes,\n voteAction,\n disabled,\n selectedClass,\n userLoggedIn\n}) => (\n <button\n className={`${buttonClassName} ${selectedClass}`}\n onClick={userLoggedIn ? voteAction : preventDefault}\n disabled={disabled}\n title={text}\n data-open={userLoggedIn ? null : \"loginModal\"}\n >\n <span className=\"show-for-sr\">{text}</span>\n <Icon name={iconName} iconExtraClassName=\"icon--small\" />\n {` ${votes}`}\n </button>\n);\n\nVoteButton.defaultProps = {\n buttonClassName: \"\",\n iconName: \"\",\n votes: 0,\n selectedClass: \"selected\",\n disabled: false\n};\n\nexport default VoteButton;\n","module.exports = {\"am\":null}","module.exports = {\"ar\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"تعليق\",\"decidim/comments/comment_created_event\":\"تعليق\",\"decidim/comments/reply_created_event\":\"تعليق الرد\",\"decidim/comments/user_mentioned_event\":\"أشير\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"zero\":\"تعليقات\",\"one\":\"تعليق\",\"two\":\"تعليقات\",\"few\":\"تعليقات\",\"many\":\"تعليقات\",\"other\":\"تعليقات\"},\"decidim/comments/comment_vote\":{\"zero\":\"الأصوات\",\"one\":\"تصويت\",\"two\":\"الأصوات\",\"few\":\"الأصوات\",\"many\":\"الأصوات\",\"other\":\"الأصوات\"}}},\"decidim\":{\"comments\":{\"comments\":\"تعليقات\",\"last_activity\":{\"new_comment_at_html\":\"<span>تعليق جديد على %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"حدثت مشكلة في التصويت على التعليق.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">سجل الدخول بحسابك</a> أو <a href=\\\"%{sign_up_url}\\\">اشترك</a> لإضافة تعليقك.\",\"form\":{\"body\":{\"label\":\"تعليق\",\"placeholder\":\"ما رأيك بهذا؟\"},\"form_error\":\"النص مطلوب ولا يمكن أن يكون أطول من %{length} حرف.\",\"submit\":\"إرسال\",\"user_group_id\":{\"label\":\"التعليق باسم\"}},\"opinion\":{\"neutral\":\"محايد\"},\"remaining_characters\":\"%{count} الحروف المتبقية\",\"remaining_characters_1\":\"%{count} حرف اليسار\",\"title\":\"أضف تعليقك\"},\"comment\":{\"alignment\":{\"against\":\"ضد\",\"in_favor\":\"لصالح\"},\"deleted_user\":\"مشارك محذوف\",\"reply\":\"الرد\",\"report\":{\"action\":\"أبلغ عن\",\"already_reported\":\"تم الإبلاغ عن هذا المحتوى بالفعل وسيتم مراجعته من قبل المشرف.\",\"close\":\"قريب\",\"description\":\"هل هذا المحتوى غير مناسب؟\",\"details\":\"تعليقات اضافية\",\"reasons\":{\"does_not_belong\":\"يحتوي على نشاط غير قانوني أو تهديدات انتحارية أو معلومات شخصية أو أي شيء آخر تعتقد أنه لا ينتمي إلى %{organization_name}.\",\"offensive\":\"يحتوي على العنصرية والتمييز الجنسي والتشهير والهجمات الشخصية والتهديدات بالقتل أو طلبات الانتحار أو أي شكل من أشكال خطاب الكراهية.\",\"spam\":\"يحتوي على clickbait أو الإعلان أو الخدع أو روبوت البرامج النصية.\"},\"title\":\"الإبلاغ عن مشكلة\"}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"أفضل تصنيف\",\"most_discussed\":\"الأكثر مناقشة\",\"older\":\"اكبر سنا\",\"recent\":\"الأخيرة\"},\"title\":\"ترتيب حسب:\"},\"comment_thread\":{\"title\":\"المحادثة مع %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"لا يمكنك التعليق في هذه اللحظة ، ولكن يمكنك قراءة التعليقات السابقة.\",\"blocked_comments_warning\":\"التعليقات معطلة في هذا الوقت ، لكن يمكنك قراءة التعليقات السابقة.\",\"loading\":\"جارٍ تحميل التعليقات ...\",\"title\":\"%{count} تعليقات\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ترك تعليق في %{resource_title}. يمكنك قراءتها في هذه الصفحة:\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنك تتابع %{author_name}. يمكنك إلغاء تتبع هذا المستخدم من صفحة ملفه الشخصي.\",\"email_subject\":\"هناك تعليق جديد مِن %{author_name} على %{resource_title}\",\"notification_title\":\"هناك تعليق جديد مِن <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> على <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} تم التعليق. يمكنك قراءة التعليق في هذه الصفحة:\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنك تتابع \\\"%{resource_title}\\\" أو مؤلفه. يمكنك إلغاء تتبعه من الرابط السابق.\",\"email_subject\":\"هناك تعليق جديد من %{author_name} في %{resource_title}\",\"notification_title\":\"هناك تعليق جديد مِن <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> على <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} رد على تعليقك في %{resource_title}. يمكنك قراءتها في هذه الصفحة:\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنه تم الرد على تعليقك.\",\"email_subject\":\"%{author_name} رد على تعليقك في %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> رد على تعليقك في <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"لقد ذكرت\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنك ذكرت في %{resource_title}.\",\"email_subject\":\"لقد ذكرت في %{resource_title}\",\"notification_title\":\"لقد ذكرت في <a href=\\\"%{resource_path}\\\">%{resource_title}</a> من <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"عدد التعليقات الناتجة عن المشاركين\",\"object\":\"تعليقات\",\"title\":\"تعليقات\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"لا يمكن أن يكون لديك تعليقات\"}}}}","module.exports = {\"ar\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"تعليق\",\"decidim/comments/comment_created_event\":\"تعليق\",\"decidim/comments/reply_created_event\":\"تعليق الرد\",\"decidim/comments/user_group_mentioned_event\":\"أشير\",\"decidim/comments/user_mentioned_event\":\"أشير\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"zero\":\"تعليقات\",\"one\":\"تعليق\",\"two\":\"تعليقات\",\"few\":\"تعليقات\",\"many\":\"تعليقات\",\"other\":\"تعليقات\"},\"decidim/comments/comment_vote\":{\"zero\":\"الأصوات\",\"one\":\"تصويت\",\"two\":\"الأصوات\",\"few\":\"الأصوات\",\"many\":\"الأصوات\",\"other\":\"الأصوات\"}}},\"decidim\":{\"comments\":{\"comments\":\"تعليقات\",\"last_activity\":{\"new_comment_at_html\":\"<span>تعليق جديد على %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"حدثت مشكلة في التصويت على التعليق.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">سجل الدخول بحسابك</a> أو <a href=\\\"%{sign_up_url}\\\">اشترك</a> لإضافة تعليقك.\",\"form\":{\"body\":{\"label\":\"تعليق\",\"placeholder\":\"ما رأيك بهذا؟\"},\"form_error\":\"النص مطلوب ولا يمكن أن يكون أطول من %{length} حرف.\",\"submit\":\"إرسال\",\"user_group_id\":{\"label\":\"التعليق باسم\"}},\"opinion\":{\"neutral\":\"محايد\"},\"remaining_characters\":\"%{count} الحروف المتبقية\",\"remaining_characters_1\":\"%{count} حرف اليسار\",\"title\":\"أضف تعليقك\"},\"comment\":{\"alignment\":{\"against\":\"ضد\",\"in_favor\":\"لصالح\"},\"deleted_user\":\"مشارك محذوف\",\"hide_replies\":\"إخفاء الردود\",\"reply\":\"الرد\",\"report\":{\"action\":\"أبلغ عن\",\"already_reported\":\"تم الإبلاغ عن هذا المحتوى بالفعل وسيتم مراجعته من قبل المشرف.\",\"close\":\"قريب\",\"description\":\"هل هذا المحتوى غير مناسب؟\",\"details\":\"تعليقات اضافية\",\"reasons\":{\"does_not_belong\":\"يحتوي على نشاط غير قانوني أو تهديدات انتحارية أو معلومات شخصية أو أي شيء آخر تعتقد أنه لا ينتمي إلى %{organization_name}.\",\"offensive\":\"يحتوي على العنصرية والتمييز الجنسي والتشهير والهجمات الشخصية والتهديدات بالقتل أو طلبات الانتحار أو أي شكل من أشكال خطاب الكراهية.\",\"spam\":\"يحتوي على clickbait أو الإعلان أو الخدع أو روبوت البرامج النصية.\"}},\"show_replies\":\"اظهر الردود الـ %{replies_count}\",\"single_comment_link_title\":\"الحصول على رابط نحو تعليق واحد\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"أفضل تصنيف\",\"most_discussed\":\"الأكثر مناقشة\",\"older\":\"اكبر سنا\",\"recent\":\"الأخيرة\"},\"title\":\"ترتيب حسب:\"},\"comment_thread\":{\"title\":\"المحادثة مع %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"لا يمكنك التعليق في هذه اللحظة ، ولكن يمكنك قراءة التعليقات السابقة.\",\"blocked_comments_warning\":\"التعليقات معطلة في هذا الوقت ، لكن يمكنك قراءة التعليقات السابقة.\",\"comment_details_title\":\"تفاصيل التعليق\",\"loading\":\"جارٍ تحميل التعليقات ...\",\"single_comment_warning\":\"يمكنك الإطلاع على التعليقات المتبقية الأخرى <a href=\\\"%{url}\\\">هنا</a>.\",\"single_comment_warning_title\":\"إنك ترى تعليقا واحدا\",\"title\":\"%{count} تعليقات\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ترك تعليق في %{resource_title}. يمكنك قراءتها في هذه الصفحة:\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنك تتابع %{author_name}. يمكنك إلغاء تتبع هذا المستخدم من صفحة ملفه الشخصي.\",\"email_subject\":\"هناك تعليق جديد مِن %{author_name} على %{resource_title}\",\"notification_title\":\"هناك تعليق جديد مِن <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> على <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"هناك تعليق جديد مِن %{author_name} على %{resource_title}\",\"notification_title\":\"هناك تعليق جديد مِن <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> على <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} تم التعليق. يمكنك قراءة التعليق في هذه الصفحة:\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنك تتابع \\\"%{resource_title}\\\" أو مؤلفه. يمكنك إلغاء تتبعه من الرابط السابق.\",\"email_subject\":\"هناك تعليق جديد من %{author_name} في %{resource_title}\",\"notification_title\":\"هناك تعليق جديد مِن <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> على <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} رد على تعليقك في %{resource_title}. يمكنك قراءتها في هذه الصفحة:\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنه تم الرد على تعليقك.\",\"email_subject\":\"%{author_name} رد على تعليقك في %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> رد على تعليقك في <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"لقد ذكرت\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنك ذكرت في %{resource_title}.\",\"email_subject\":\"لقد ذكرت في %{resource_title}\",\"notification_title\":\"لقد ذكرت في <a href=\\\"%{resource_path}\\\">%{resource_title}</a> من <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"عدد التعليقات الناتجة عن المشاركين\",\"object\":\"تعليقات\",\"title\":\"تعليقات\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"لا يمكن أن يكون لديك تعليقات\"}}}}","module.exports = {\"bg\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Коментар\",\"decidim/comments/comment_created_event\":\"Коментар\",\"decidim/comments/reply_created_event\":\"Отговор на коментар\"}}}}","module.exports = {\"bg\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Коментар\",\"decidim/comments/comment_created_event\":\"Коментар\",\"decidim/comments/reply_created_event\":\"Отговор на коментар\"}}}}","module.exports = {\"ca\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comentari\",\"decidim/comments/comment_created_event\":\"Comentari\",\"decidim/comments/reply_created_event\":\"Resposta al comentari\",\"decidim/comments/user_group_mentioned_event\":\"Mencionar\",\"decidim/comments/user_mentioned_event\":\"Mencionar\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comentari\",\"other\":\"Comentaris\"},\"decidim/comments/comment_vote\":{\"one\":\"Vot\",\"other\":\"Vots\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentaris\",\"comments_count\":\"Número de comentaris\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nou comentari a %{link}</span>\"},\"view\":\"Mostrar\",\"votes\":{\"create\":{\"error\":\"S'ha produït un error en votar el comentari.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Inicia la sessió amb el teu compte</a> o <a href=\\\"%{sign_up_url}\\\">registra't</a> per afegir el teu comentari.\",\"form\":{\"body\":{\"label\":\"Comentari\",\"placeholder\":\"Què en penses d'això?\"},\"form_error\":\"El text és necessari i no pot ser més llarg de %{length}\",\"submit\":\"Enviar\",\"user_group_id\":{\"label\":\"Comentar com a\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"Queden %{count} caràcters\",\"remaining_characters_1\":\"Queda %{count} caràcter\",\"title\":\"Deixa el teu comentari\"},\"comment\":{\"alignment\":{\"against\":\"En contra\",\"in_favor\":\"A favor\"},\"deleted_user\":\"Participant eliminada\",\"hide_replies\":\"Oculta les respostes\",\"reply\":\"Respondre\",\"report\":{\"action\":\"Denúncia\",\"already_reported\":\"Aquest contingut ja ha estat denunciat i serà revisat per una administradora.\",\"close\":\"Tancar\",\"description\":\"Aquest contingut és inapropiat?\",\"details\":\"Comentaris addicionals\",\"reasons\":{\"does_not_belong\":\"Conté activitat il·legal, amenaces de suïcidi, informació personal, o qualsevol altra cosa que creguis que no pertany a %{organization_name}.\",\"offensive\":\"Conté racisme, sexisme, insults, atacs personals, amenaces de mort, peticions de suïcidi o qualsevol forma de discurs d'odi.\",\"spam\":\"Conté \\\"clickbait\\\", publicitat o estafes.\"},\"title\":\"Notificar contingut inapropiat\"},\"show_replies\":\"Mostra %{replies_count} respostes\",\"single_comment_link_title\":\"Aconsegueix l'enllaç al comentari\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Més ben valorats\",\"most_discussed\":\"Més discutit\",\"older\":\"Més antic\",\"recent\":\"Recent\"},\"title\":\"Ordenar per:\"},\"comment_thread\":{\"title\":\"Conversa amb %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"No pots fer comentaris en aquest moment, però pots llegir els anteriors.\",\"blocked_comments_warning\":\"Els comentaris estan desactivats en aquest moment, però pots llegir els anteriors.\",\"comment_details_title\":\"Detalls del comentari\",\"loading\":\"Carregant els comentaris ...\",\"single_comment_warning\":\"Pots revisar la resta de comentaris <a href=\\\"%{url}\\\">aquí</a>.\",\"single_comment_warning_title\":\"Estàs veient un sol comentari\",\"title\":\"%{count} comentaris\"},\"down_vote_button\":{\"text\":\"No estic d'acord amb aquest comentari\"},\"up_vote_button\":{\"text\":\"Estic d'acord amb aquest comentari\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ha deixat un comentari a %{resource_title}. Podeu llegir-lo en aquesta pàgina:\",\"email_outro\":\"Has rebut aquesta notificació perquè estàs seguint %{author_name}. Pots deixar de seguir a aquesta participant des de la seva pàgina de perfil.\",\"email_subject\":\"Hi ha un nou comentari de %{author_name} en %{resource_title}\",\"notification_title\":\"Hi ha un nou comentari per <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> a <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} ha deixat un comentari a%{resource_title}. Pots llegir-lo en aquesta pàgina:\",\"email_outro\":\"Reps aquesta notificació perquè segueixes a %{author_name}. Pots deixar de seguir aquest grup des de la seva pàgina de perfil.\",\"email_subject\":\"Hi ha un nou comentari de %{author_name} en %{resource_title}\",\"notification_title\":\"Hi ha un nou comentari per <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> a <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"S'ha comentat %{resource_title}. Pots llegir el comentari d'aquesta pàgina:\",\"email_outro\":\"Has rebut aquesta notificació perquè estàs seguint \\\"%{resource_title}\\\" o la seva autora. Pots deixar de seguir-la des de l'enllaç anterior.\",\"email_subject\":\"Hi ha un nou comentari de %{author_name} a %{resource_title}\",\"notification_title\":\"Hi ha un nou comentari de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} ha respost el teu comentari a %{resource_title}. Pots llegir-lo en aquesta pàgina:\",\"email_outro\":\"Has rebut aquesta notificació perquè s'ha respost el teu comentari.\",\"email_subject\":\"%{author_name} ha respost el teu comentari a %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ha respost el teu comentari a <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Un grup al qual pertanys ha estat esmentat\",\"email_outro\":\"Has rebut aquesta notificació perquè formes part del grup %{group_name} que ha estat esmentat a %{resource_title}.\",\"email_subject\":\"T'han esmentat a %{resource_title} com a membre de %{group_name}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> t'ha esmentat com a membre de <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a> a <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Has estat esmentada\",\"email_outro\":\"Has rebut aquesta notificació perquè has estat esmentada a %{resource_title}.\",\"email_subject\":\"Has estat esmentada a %{resource_title}\",\"notification_title\":\"Has estat esmentada a <a href=\\\"%{resource_path}\\\">%{resource_title}</a> per <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Nombre de comentaris generats per les participants\",\"object\":\"comentaris\",\"title\":\"Comentaris\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"no pot tenir comentaris\"}}}}","module.exports = {\"cs\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentář\",\"decidim/comments/comment_created_event\":\"Komentář\",\"decidim/comments/reply_created_event\":\"Odpověď na komentář\",\"decidim/comments/user_mentioned_event\":\"Zmínit se\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Komentář\",\"few\":\"Komentáře\",\"many\":\"Komentáře\",\"other\":\"Komentáře\"},\"decidim/comments/comment_vote\":{\"one\":\"Hlasování\",\"few\":\"Hlasy\",\"many\":\"Hlasy\",\"other\":\"Hlasy\"}}},\"decidim\":{\"comments\":{\"comments\":\"Komentáře\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nový komentář v %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Při hlasování se vyskytly chyby.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Přihlaste se svým účtem</a> nebo <a href=\\\"%{sign_up_url}\\\">přihlaste se</a> a přidejte svůj komentář.\",\"form\":{\"body\":{\"label\":\"Komentář\",\"placeholder\":\"Co si o tom myslíš?\"},\"form_error\":\"Text je povinný a nesmí být delší než %{length} znaků.\",\"submit\":\"Poslat\",\"user_group_id\":{\"label\":\"Komentovat jako\"}},\"opinion\":{\"neutral\":\"Neutrální\"},\"remaining_characters\":\"Zbývá %{count} znaků\",\"remaining_characters_1\":\"Zbývá %{count} znaků\",\"title\":\"Přidejte svůj komentář\"},\"comment\":{\"alignment\":{\"against\":\"Proti\",\"in_favor\":\"Ve prospěch\"},\"deleted_user\":\"Vymazaný uživatel\",\"reply\":\"Odpověď\",\"report\":{\"action\":\"Zpráva\",\"already_reported\":\"Tento obsah je již nahlášen a bude kontrolován administrátorem.\",\"close\":\"Zavřít\",\"description\":\"Je tento obsah nevhodný?\",\"details\":\"Další komentáře\",\"reasons\":{\"does_not_belong\":\"Obsahuje nezákonnou činnost, sebevražedné hrozby, osobní informace nebo něco jiného, o kterém si myslíte, že nepatří na %{organization_name}.\",\"offensive\":\"Obsahuje rasismus, sexismus, podvody, osobní útoky, hrozby smrti, žádosti o sebevraždu nebo jakoukoli formu projevy nenávisti.\",\"spam\":\"Obsahuje clickbait, reklama, podvody nebo skripty.\"},\"title\":\"Nahlásit problém\"}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Nejlépe hodnocené\",\"most_discussed\":\"Nejdiskutovanější\",\"older\":\"Starší\",\"recent\":\"Nedávno\"},\"title\":\"Seřadit podle:\"},\"comment_thread\":{\"title\":\"Konverzace s číslem %{authorName}\"},\"comments\":{\"blocked_comments_warning\":\"Komentáře jsou v tuto chvíli zakázány, ale můžete si přečíst předchozí.\",\"loading\":\"Načítání komentářů ...\",\"title\":\"%{count} komentářů\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} zanechal komentář v %{resource_title}. Můžete si je přečíst na této stránce:\",\"email_outro\":\"Toto oznámení jste obdrželi, protože jste sledovali %{author_name}. Tento uživatel můžete zrušit ze své profilové stránky.\",\"email_subject\":\"K dispozici je nový komentář %{author_name} v %{resource_title}\",\"notification_title\":\"K dispozici je nový komentář <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> v <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} bylo komentováno. Můžete si přečíst komentář na této stránce:\",\"email_outro\":\"Toto oznámení jste obdrželi, protože jste sledovali \\\"%{resource_title}\\\" nebo jeho autora. Můžete jej odhlásit od předchozího odkazu.\",\"email_subject\":\"K dispozici je nový komentář od %{author_name} do %{resource_title}\",\"notification_title\":\"Je zde nový komentář od <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> do <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} odpověděl váš komentář v %{resource_title}. Můžete si je přečíst na této stránce:\",\"email_outro\":\"Toto oznámení jste obdrželi, protože váš komentář byl zodpovězen.\",\"email_subject\":\"%{author_name} odpověděl váš komentář v %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> odpověděl / a svůj komentář v <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Byl jste zmíněn\",\"email_outro\":\"Toto oznámení jste obdrželi, protože jste byli uvedeni v %{resource_title}.\",\"email_subject\":\"Byl jste zmíněn v %{resource_title}\",\"notification_title\":\"Byli jste uvedeni v <a href=\\\"%{resource_path}\\\">%{resource_title}</a> podle <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Počet komentářů generovaných uživateli\",\"object\":\"komentáře\",\"title\":\"Komentáře\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nemohou mít připomínky\"}}}}","module.exports = {\"cs\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentář\",\"decidim/comments/comment_created_event\":\"Komentář\",\"decidim/comments/reply_created_event\":\"Odpověď na komentář\",\"decidim/comments/user_group_mentioned_event\":\"Zmínka\",\"decidim/comments/user_mentioned_event\":\"Zmínka\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Komentář\",\"few\":\"Komentáře\",\"many\":\"Komentáře\",\"other\":\"Komentáře\"},\"decidim/comments/comment_vote\":{\"one\":\"Hlasovat\",\"few\":\"Hlasy\",\"many\":\"Hlasy\",\"other\":\"Hlasy\"}}},\"decidim\":{\"comments\":{\"comments\":\"Komentáře\",\"comments_count\":\"Počet komentářů\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nový komentář v %{link}</span>\"},\"view\":\"Zobrazit\",\"votes\":{\"create\":{\"error\":\"Při hlasování o komentáři došlo k chybě.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Přihlaste se pomocí svého účtu</a> nebo se <a href=\\\"%{sign_up_url}\\\">zaregistrujte</a> a přidejte svůj komentář.\",\"form\":{\"body\":{\"label\":\"Komentář\",\"placeholder\":\"Co si o tom myslíš?\"},\"form_error\":\"Text je povinný a nesmí být delší než %{length} znaků.\",\"submit\":\"Odeslat\",\"user_group_id\":{\"label\":\"Komentovat jako\"}},\"opinion\":{\"neutral\":\"Neutrální\"},\"remaining_characters\":\"Zbývá %{count} znaků\",\"remaining_characters_1\":\"Zbývá %{count} znak\",\"title\":\"Přidejte svůj komentář\"},\"comment\":{\"alignment\":{\"against\":\"Proti\",\"in_favor\":\"Ve prospěch\"},\"deleted_user\":\"Vymazaný účastník\",\"hide_replies\":\"Skrýt odpovědi\",\"reply\":\"Odpověď\",\"report\":{\"action\":\"Zpráva\",\"already_reported\":\"Tento obsah je již nahlášen a bude přezkoumán administrátorem.\",\"close\":\"Zavřít\",\"description\":\"Je tento obsah nevhodný?\",\"details\":\"Další komentáře\",\"reasons\":{\"does_not_belong\":\"Obsahuje nezákonnou činnost, sebevražedné hrozby, osobní informace nebo něco jiného, o kterém si myslíte, že nepatří na %{organization_name}.\",\"offensive\":\"Obsahuje rasismus, sexismus, podvody, osobní útoky, hrozby smrti, žádosti o sebevraždu nebo jakoukoli formu projevy nenávisti.\",\"spam\":\"Obsahuje clickbait, reklamu, podvody nebo škodlivé skripty.\"},\"title\":\"Nahlásit nevhodný obsah\"},\"show_replies\":\"Zobrazit %{replies_count} odpovědí\",\"single_comment_link_title\":\"Získat odkaz na jeden komentář\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Nejlépe hodnocené\",\"most_discussed\":\"Nejvíce diskutované\",\"older\":\"Starší\",\"recent\":\"Nedávné\"},\"title\":\"Seřadit podle:\"},\"comment_thread\":{\"title\":\"Konverzace s číslem %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Momentálně nemůžete komentovat, ale můžete si přečíst ty předchozí.\",\"blocked_comments_warning\":\"Komentáře jsou momentálně zakázány, ale můžete si přečíst ty předchozí.\",\"comment_details_title\":\"Podrobnosti komentáře\",\"loading\":\"Načítání komentářů ...\",\"single_comment_warning\":\"Můžete zkontrolovat zbytek komentářů <a href=\\\"%{url}\\\">zde</a>.\",\"single_comment_warning_title\":\"Vidíte jeden komentář\",\"title\":\"%{count} komentářů\"},\"down_vote_button\":{\"text\":\"Nesouhlasím s tímto komentářem\"},\"up_vote_button\":{\"text\":\"Souhlasím s tímto komentářem\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} zanechal komentář v %{resource_title}. Můžete si je přečíst na této stránce:\",\"email_outro\":\"Toto oznámení jste obdrželi, protože jste sledovali %{author_name}. Tento uživatel můžete zrušit ze své profilové stránky.\",\"email_subject\":\"K dispozici je nový komentář %{author_name} v %{resource_title}\",\"notification_title\":\"Je tu nový komentář od <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> v <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Skupina %{author_name} zanechala komentář v %{resource_title}. Můžete si jej přečíst na této stránce:\",\"email_outro\":\"Obdrželi jste toto oznámení, protože sledujete %{author_name}. Můžete zrušit sledování této skupiny na její profilové stránce.\",\"email_subject\":\"K dispozici je nový komentář %{author_name} v %{resource_title}\",\"notification_title\":\"Je tu nový komentář <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> v <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} bylo komentováno. Můžete si přečíst komentář na této stránce:\",\"email_outro\":\"Toto oznámení jste obdrželi, protože jste sledovali \\\"%{resource_title}\\\" nebo jeho autora. Můžete jej odhlásit od předchozího odkazu.\",\"email_subject\":\"K dispozici je nový komentář od %{author_name} do %{resource_title}\",\"notification_title\":\"Je tu nový komentář od <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> do <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} odpověděl váš komentář v %{resource_title}. Můžete si je přečíst na této stránce:\",\"email_outro\":\"Toto oznámení jste obdrželi, protože váš komentář byl zodpovězen.\",\"email_subject\":\"%{author_name} odpověděl váš komentář v %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> odpověděl na váš komentář v <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Byla zmíněna skupina, do které patříte\",\"email_outro\":\"Obdrželi jste toto oznámení, protože jste členem skupiny %{group_name}, která byla zmíněna v %{resource_title}.\",\"email_subject\":\"Byl jste zmíněn v %{resource_title} jako člen %{group_name}\",\"notification_title\":\"Byli jste zmíněni v <a href=\\\"%{resource_path}\\\">%{resource_title}</a> od <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> jako člen <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Byl jste zmíněn\",\"email_outro\":\"Toto oznámení jste obdrželi, protože jste byli uvedeni v %{resource_title}.\",\"email_subject\":\"Byl jste zmíněn v %{resource_title}\",\"notification_title\":\"Byli jste zmíněni v <a href=\\\"%{resource_path}\\\">%{resource_title}</a> od <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Počet komentářů generovaných uživateli\",\"object\":\"komentáře\",\"title\":\"Komentáře\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nemohou mít připomínky\"}}}}","module.exports = {\"da\":null}","module.exports = {\"da\":null}","module.exports = {\"de\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Kommentar\",\"decidim/comments/comment_created_event\":\"Kommentar\",\"decidim/comments/reply_created_event\":\"Kommentarantwort\",\"decidim/comments/user_group_mentioned_event\":\"Erwähnen\",\"decidim/comments/user_mentioned_event\":\"Erwähnen\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Kommentar\",\"other\":\"Bemerkungen\"},\"decidim/comments/comment_vote\":{\"one\":\"Abstimmung\",\"other\":\"Stimmen\"}}},\"decidim\":{\"comments\":{\"comments\":\"Bemerkungen\",\"comments_count\":\"Kommentaranzahl\",\"last_activity\":{\"new_comment_at_html\":\"<span>Neuer Kommentar unter %{link}</span>\"},\"view\":\"Ansicht\",\"votes\":{\"create\":{\"error\":\"Beim Abstimmen des Kommentars sind Fehler aufgetreten.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Melden Sie sich mit Ihrem Konto an</a> oder <a href=\\\"%{sign_up_url}\\\">registrieren Sie sich</a>, um Ihren Kommentar hinzuzufügen.\",\"form\":{\"body\":{\"label\":\"Kommentar\",\"placeholder\":\"Was denken Sie darüber?\"},\"form_error\":\"Der Text ist erforderlich und darf nicht länger als %{length} Zeichen sein.\",\"submit\":\"Senden\",\"user_group_id\":{\"label\":\"Kommentieren als\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"%{count} Zeichen übrig\",\"remaining_characters_1\":\"%{count} Zeichen übrig\",\"title\":\"Kommentar hinzufügen\"},\"comment\":{\"alignment\":{\"against\":\"Gegen\",\"in_favor\":\"Zugunsten\"},\"deleted_user\":\"Gelöschter Benutzer\",\"hide_replies\":\"Antworten verbergen\",\"reply\":\"Antworten\",\"report\":{\"action\":\"Melden\",\"already_reported\":\"Dieser Inhalt wurde bereits gemeldet und wird von einem Administrator überprüft.\",\"close\":\"Schließen\",\"description\":\"Ist dieser Inhalt unangemessen?\",\"details\":\"Zusätzliche Kommentare\",\"reasons\":{\"does_not_belong\":\"Enthält illegale Aktivitäten, Selbstmorddrohungen, persönliche Informationen oder etwas anderes, von dem Sie denken, dass es nicht auf %{organization_name} gehört.\",\"offensive\":\"Enthält Rassismus, Sexismus, Verleumdungen, persönliche Angriffe, Morddrohungen, Selbstmordanträge oder jegliche Form von Hassreden.\",\"spam\":\"Enthält Clickbait, Werbung, Scams oder Script Bots.\"},\"title\":\"Ungeeigneten Inhalt melden\"},\"show_replies\":\"%{replies_count} Antworten anzeigen\",\"single_comment_link_title\":\"Verknüpfung zu einzelnem Kommentar erhalten\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Am besten bewertet\",\"most_discussed\":\"Meist diskutiert\",\"older\":\"Chronologisch\",\"recent\":\"Kürzlich hinzugefügt\"},\"title\":\"Sortieren nach:\"},\"comment_thread\":{\"title\":\"Konversation mit %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Sie können momentan nichts kommentieren, aber Sie können die vorherigen lesen.\",\"blocked_comments_warning\":\"Kommentare sind zu diesem Zeitpunkt deaktiviert, aber Sie können die vorherigen lesen.\",\"comment_details_title\":\"Kommentarinformationen\",\"loading\":\"Kommentare werden geladen ...\",\"single_comment_warning\":\"Sie können die restlichen Kommentare <a href=\\\"%{url}\\\">hier</a> prüfen.\",\"single_comment_warning_title\":\"Ihnen wird ein einzelner Kommentar angezeigt\",\"title\":\"%{count} Kommentare\"},\"down_vote_button\":{\"text\":\"Ich bin mit diesem Kommentar nicht einverstanden\"},\"up_vote_button\":{\"text\":\"Ich stimme diesem Kommentar zu\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} hat einen Kommentar zu %{resource_title} hinterlassen. Sie können diesen auf dieser Seite lesen:\",\"email_outro\":\"Sie haben diese Benachrichtigung erhalten, weil Sie %{author_name} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie die Profil-Seite dieses Benutzers.\",\"email_subject\":\"Neuer Kommentar von %{author_name} zu %{resource_title}\",\"notification_title\":\"Es gibt einen neuen Kommentar von <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> zu <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Die Gruppe %{author_name} hat einen Kommentar in %{resource_title} hinterlassen. Sie können diesen auf dieser Seite lesen:\",\"email_outro\":\"Sie haben diese Benachrichtigung erhalten, weil Sie %{author_name} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie die Profil-Seite dieser Gruppe.\",\"email_subject\":\"Neuer Kommentar von %{author_name} zu %{resource_title}\",\"notification_title\":\"Es gibt einen neuen Kommentar von <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> zu <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} wurde kommentiert. Sie können den Kommentar auf dieser Seite lesen:\",\"email_outro\":\"Sie haben diese Benachrichtigung erhalten, weil Sie \\\"%{resource_title}\\\" oder seinem Autor folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.\",\"email_subject\":\"Neuer Kommentar von %{author_name} zu %{resource_title}\",\"notification_title\":\"Es gibt einen neuen Kommentar von <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> zu <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} hat auf Ihren Kommentar zu %{resource_title} geantwortet. Sie können das auf dieser Seite lesen:\",\"email_outro\":\"Sie haben diese Benachrichtigung erhalten, weil Ihr Kommentar beantwortet wurde.\",\"email_subject\":\"%{author_name} hat auf Ihren Kommentar zu %{resource_title} geantwortet\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> hat auf Ihren Kommentar in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> geantwortet\"},\"user_group_mentioned\":{\"email_intro\":\"Eine Ihrer Gruppen wurde erwähnt\",\"email_outro\":\"Sie haben diese Benachrichtigung erhalten, weil Sie ein Mitglied der Gruppe %{group_name} sind, die in %{resource_title} erwähnt wurde.\",\"email_subject\":\"Sie wurden in %{resource_title} als Mitglied von %{group_name} erwähnt\",\"notification_title\":\"Sie wurden in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> von <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> als ein Mitglied von <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a> erwähnt\"},\"user_mentioned\":{\"email_intro\":\"Sie wurden erwähnt\",\"email_outro\":\"Sie haben diese Benachrichtigung erhalten, weil Sie in %{resource_title} erwähnt wurden.\",\"email_subject\":\"Sie wurden in %{resource_title} erwähnt\",\"notification_title\":\"Sie wurden in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> von <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> erwähnt\"}}},\"metrics\":{\"comments\":{\"description\":\"Anzahl der von Benutzern generierten Kommentare\",\"object\":\"Bemerkungen\",\"title\":\"Bemerkungen\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"kann keine Kommentare haben\"}}}}","module.exports = {\"el\":null}","module.exports = {\"el\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Σχόλιο\",\"decidim/comments/comment_created_event\":\"Σχόλιο\",\"decidim/comments/reply_created_event\":\"Απάντηση σχολίου\",\"decidim/comments/user_group_mentioned_event\":\"Αναφορά\",\"decidim/comments/user_mentioned_event\":\"Αναφορά\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Σχόλιο\",\"other\":\"Σχόλια\"},\"decidim/comments/comment_vote\":{\"one\":\"Ψηφοφορία\",\"other\":\"Ψήφοι\"}}},\"decidim\":{\"comments\":{\"comments\":\"Σχόλια\",\"comments_count\":\"Αριθμός σχολίων\",\"last_activity\":{\"new_comment_at_html\":\"<span>Νέο σχόλιο στο %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Υπήρξε ένα πρόβλημα κατά την ψηφοφορία του σχολίου.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Είσοδος με τον λογαριασμό σας</a> ή <a href=\\\"%{sign_up_url}\\\">εγγραφείτε</a> για να προσθέσετε το σχόλιό σας.\",\"form\":{\"body\":{\"label\":\"Σχόλιο\",\"placeholder\":\"Ποια είναι η γνώμη σας για αυτό;\"},\"form_error\":\"Το κείμενο απαιτείται και δεν μπορεί να υπερβαίνει τους %{length} χαρακτήρες.\",\"submit\":\"Αποστολή\",\"user_group_id\":{\"label\":\"Σχόλιο ως\"}},\"opinion\":{\"neutral\":\"Ούτε ικανοποιημένος/η ούτε δυσαρεστημένος/η\"},\"remaining_characters\":\"%{count} χαρακτήρες απομένουν\",\"remaining_characters_1\":\"%{count} χαρακτήρας απομένει\",\"title\":\"Προσθέστε το σχόλιό σας\"},\"comment\":{\"alignment\":{\"against\":\"Κατά\",\"in_favor\":\"Υπέρ\"},\"deleted_user\":\"Διαγραμμένος συμμετέχων\",\"hide_replies\":\"Απόκρυψη απαντήσεων\",\"reply\":\"Απάντηση\",\"report\":{\"action\":\"Αναφορά\",\"already_reported\":\"Αυτό το περιεχόμενο έχει ήδη αναφερθεί και θα ελεγχθεί από έναν διαχειριστή.\",\"close\":\"Κλείσιμο\",\"description\":\"Αυτό το περιεχόμενο είναι ακατάλληλο;\",\"details\":\"Πρόσθετα σχόλια\",\"reasons\":{\"does_not_belong\":\"Περιέχει παράνομη δραστηριότητα, απειλές αυτοκτονίας, προσωπικά στοιχεία ή κάτι άλλο που πιστεύετε ότι δεν ανήκει στον οργανισμό %{organization_name}.\",\"offensive\":\"Περιέχει ρατσισμό, σεξισμό, δυσφημίσεις, προσωπικές επιθέσεις, απειλές θανάτου, αιτήματα αυτοκτονίας ή οποιαδήποτε μορφή ρητορικής μίσους.\",\"spam\":\"Περιέχει clickbait, διαφημίσεις, απάτες ή script bot.\"},\"title\":\"Αναφορά ακατάλληλου περιεχομένου\"},\"show_replies\":\"Εμφάνιση %{replies_count} απαντήσεων\",\"single_comment_link_title\":\"Λήψη συνδέσμου για ένα μόνο σχόλιο\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Με την καλύτερη βαθμολογία\",\"most_discussed\":\"Πιο συζητημένα\",\"older\":\"Παλαιότερα\",\"recent\":\"Πρόσφατα\"},\"title\":\"Ταξινόμηση κατά:\"},\"comment_thread\":{\"title\":\"Συζήτηση με τον συντάκτη %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Δεν μπορείτε να σχολιάσετε αυτήν τη στιγμή, αλλά μπορείτε να διαβάσετε τα προηγούμενα σχόλια.\",\"blocked_comments_warning\":\"Τα σχόλια είναι απενεργοποιημένα αυτήν τη στιγμή, αλλά μπορείτε να διαβάσετε τα προηγούμενα σχόλια.\",\"comment_details_title\":\"Λεπτομέρειες σχολίων\",\"loading\":\"Φόρτωση σχολίων...\",\"single_comment_warning\":\"Μπορείτε να δείτε τα υπόλοιπα σχόλια <a href=\\\"%{url}\\\">εδώ</a>.\",\"single_comment_warning_title\":\"Βλέπετε ένα μόνο σχόλιο\",\"title\":\"%{count} σχόλια\"},\"down_vote_button\":{\"text\":\"Δεν συμφωνώ με αυτό το σχόλιο\"},\"up_vote_button\":{\"text\":\"Συμφωνώ με αυτό το σχόλιο\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"Ο συντάκτης %{author_name} έκανε ένα σχόλιο στο στοιχείο %{resource_title}. Μπορείτε να το διαβάσετε σε αυτήν τη σελίδα:\",\"email_outro\":\"Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε τον συντάκτη %{author_name}. Μπορείτε να σταματήσετε να ακολουθείτε αυτόν τον χρήστη από τη σελίδα προφίλ του.\",\"email_subject\":\"Υπάρχει ένα νέο σχόλιο από τον συντάκτη %{author_name} στο στοιχείο %{resource_title}\",\"notification_title\":\"Υπάρχει ένα νέο σχόλιο από τον συντάκτη <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> στο στοιχείο <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Η ομάδα %{author_name} έκανε ένα σχόλιο στο στοιχείο %{resource_title}. Μπορείτε να το διαβάσετε σε αυτήν τη σελίδα:\",\"email_outro\":\"Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε τον συντάκτη %{author_name}. Μπορείτε να σταματήσετε να ακολουθείτε αυτήν την ομάδα από τη σελίδα προφίλ της.\",\"email_subject\":\"Υπάρχει ένα νέο σχόλιο από τον συντάκτη %{author_name} στο στοιχείο %{resource_title}\",\"notification_title\":\"Υπάρχει ένα νέο σχόλιο από τον συντάκτη <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> στο στοιχείο <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"Το στοιχείο %{resource_title} έχει σχολιαστεί. Μπορείτε να διαβάσετε το σχόλιο σε αυτήν τη σελίδα:\",\"email_outro\":\"Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε το στοιχείο «%{resource_title}» ή τον συντάκτη του. Μπορείτε να σταματήσετε να την ακολουθείτε από τον προηγούμενο σύνδεσμο.\",\"email_subject\":\"Υπάρχει ένα νέο σχόλιο από τον συντάκτη %{author_name} στο στοιχείο %{resource_title}\",\"notification_title\":\"Υπάρχει ένα νέο σχόλιο από τον συντάκτη<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> στο στοιχείο <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"Ο συντάκτης %{author_name} απάντησε στο σχόλιό σας στο στοιχείο %{resource_title}. Μπορείτε να το διαβάσετε σε αυτήν τη σελίδα:\",\"email_outro\":\"Λάβατε αυτήν την ειδοποίηση, επειδή το σχόλιό σας απαντήθηκε.\",\"email_subject\":\"Ο συντάκτης %{author_name} απάντησε στο σχόλιό σας στο στοιχείο %{resource_title}\",\"notification_title\":\"Ο συντάκτης <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> απάντησε στο σχόλιό σας στο στοιχείο <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Έγινε αναφορά σε μια ομάδα στην οποία ανήκετε\",\"email_outro\":\"Λάβατε αυτήν την ειδοποίηση επειδή είστε μέλος της ομάδας %{group_name} που αναφέρθηκε στο στοιχείο %{resource_title}.\",\"email_subject\":\"Έγινε αναφορά σε εσάς στο στοιχείο %{resource_title} ως μέλος της ομάδας %{group_name}\",\"notification_title\":\"Έγινε αναφορά σε εσάς στο στοιχείο <a href=\\\"%{resource_path}\\\">%{resource_title}</a> από τον συντάκτη <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ως μέλος της ομάδας <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Έγινε αναφορά σε εσάς\",\"email_outro\":\"Λάβατε αυτήν την ειδοποίηση επειδή έγινε αναφορά σε εσάς στο στοιχείο %{resource_title}.\",\"email_subject\":\"Έγινε αναφορά σε εσάς στο στοιχείο %{resource_title}\",\"notification_title\":\"Έγινε αναφορά σε εσάς στο στοιχείο <a href=\\\"%{resource_path}\\\">%{resource_title}</a> από τον συντάκτη <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Αριθμός σχολίων που δημιουργήθηκαν από συμμετέχοντες\",\"object\":\"σχόλια\",\"title\":\"Σχόλια\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"δεν μπορεί να έχει σχόλια\"}}}}","module.exports = {\"en\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comment\",\"decidim/comments/comment_created_event\":\"Comment\",\"decidim/comments/reply_created_event\":\"Comment reply\",\"decidim/comments/user_group_mentioned_event\":\"Mention\",\"decidim/comments/user_mentioned_event\":\"Mention\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comment\",\"other\":\"Comments\"},\"decidim/comments/comment_vote\":{\"one\":\"Vote\",\"other\":\"Votes\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comments\",\"comments_count\":\"Comments count\",\"last_activity\":{\"new_comment_at_html\":\"<span>New comment at %{link}</span>\"},\"view\":\"View\",\"votes\":{\"create\":{\"error\":\"There was a problem voting the comment.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Sign in with your account</a> or <a href=\\\"%{sign_up_url}\\\">sign up</a> to add your comment.\",\"form\":{\"body\":{\"label\":\"Comment\",\"placeholder\":\"What do you think about this?\"},\"form_error\":\"The text is required and it can't be longer than %{length} characters.\",\"submit\":\"Send\",\"user_group_id\":{\"label\":\"Comment as\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"%{count} characters left\",\"remaining_characters_1\":\"%{count} character left\",\"title\":\"Add your comment\"},\"comment\":{\"alignment\":{\"against\":\"Against\",\"in_favor\":\"In favor\"},\"deleted_user\":\"Deleted participant\",\"hide_replies\":\"Hide replies\",\"reply\":\"Reply\",\"report\":{\"action\":\"Report\",\"already_reported\":\"This content is already reported and it will be reviewed by an admin.\",\"close\":\"Close\",\"description\":\"Is this content inappropriate?\",\"details\":\"Additional comments\",\"reasons\":{\"does_not_belong\":\"Contains illegal activity, suicide threats, personal information, or something else you think doesn't belong on %{organization_name}.\",\"offensive\":\"Contains racism, sexism, slurs, personal attacks, death threats, suicide requests or any form of hate speech.\",\"spam\":\"Contains clickbait, advertising, scams or script bots.\"},\"title\":\"Report inappropriate content\"},\"show_replies\":\"Show %{replies_count} replies\",\"single_comment_link_title\":\"Get link to single comment\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Best rated\",\"most_discussed\":\"Most discussed\",\"older\":\"Older\",\"recent\":\"Recent\"},\"title\":\"Order by:\"},\"comment_thread\":{\"title\":\"Conversation with %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"You are not able to comment at this moment, but you can read the previous ones.\",\"blocked_comments_warning\":\"Comments are disabled at this time, but you can read the previous ones.\",\"comment_details_title\":\"Comment details\",\"loading\":\"Loading comments ...\",\"single_comment_warning\":\"You can check the rest of the comments <a href=\\\"%{url}\\\">here</a>.\",\"single_comment_warning_title\":\"You are seeing a single comment\",\"title\":\"%{count} comments\"},\"down_vote_button\":{\"text\":\"I disagree with this comment\"},\"up_vote_button\":{\"text\":\"I agree with this comment\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} has left a comment in %{resource_title}. You can read it in this page:\",\"email_outro\":\"You have received this notification because you are following %{author_name}. You can unfollow this user from their profile page.\",\"email_subject\":\"There is a new comment by %{author_name} in %{resource_title}\",\"notification_title\":\"There is a new comment by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"The group %{author_name} has left a comment in %{resource_title}. You can read it in this page:\",\"email_outro\":\"You have received this notification because you are following %{author_name}. You can unfollow this group from its profile page.\",\"email_subject\":\"There is a new comment by %{author_name} in %{resource_title}\",\"notification_title\":\"There is a new comment by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} has been commented. You can read the comment in this page:\",\"email_outro\":\"You have received this notification because you are following \\\"%{resource_title}\\\" or its author. You can unfollow it from the previous link.\",\"email_subject\":\"There is a new comment from %{author_name} in %{resource_title}\",\"notification_title\":\"There is a new comment from <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} has replied your comment in %{resource_title}. You can read it in this page:\",\"email_outro\":\"You have received this notification because your comment was replied.\",\"email_subject\":\"%{author_name} has replied your comment in %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> has replied your comment in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"A group you belong to has been mentioned\",\"email_outro\":\"You have received this notification because you are a member of the group %{group_name} that has been mentioned in %{resource_title}.\",\"email_subject\":\"You have been mentioned in %{resource_title} as a member of %{group_name}\",\"notification_title\":\"You have been mentioned in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> as a member of <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"You have been mentioned\",\"email_outro\":\"You have received this notification because you have been mentioned in %{resource_title}.\",\"email_subject\":\"You have been mentioned in %{resource_title}\",\"notification_title\":\"You have been mentioned in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Number of comments generated by participants\",\"object\":\"comments\",\"title\":\"Comments\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"can't have comments\"}}}}","module.exports = {\"eo\":null}","module.exports = {\"eo\":null}","module.exports = {\"es-MX\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comentario\",\"decidim/comments/comment_created_event\":\"Comentario\",\"decidim/comments/reply_created_event\":\"Respuesta al comentario\",\"decidim/comments/user_group_mentioned_event\":\"Mencionar\",\"decidim/comments/user_mentioned_event\":\"Mencionar\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comentario\",\"other\":\"Comentarios\"},\"decidim/comments/comment_vote\":{\"one\":\"Voto\",\"other\":\"Votos\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentarios\",\"comments_count\":\"Número de comentarios\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nuevo comentario en %{link}</span>\"},\"view\":\"Ver\",\"votes\":{\"create\":{\"error\":\"Ha habido errores al votar el comentario.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Inicia sesión con tu cuenta</a> o <a href=\\\"%{sign_up_url}\\\">regístrate</a> para añadir tu comentario.\",\"form\":{\"body\":{\"label\":\"Comentario\",\"placeholder\":\"¿Qué piensas sobre esto?\"},\"form_error\":\"El texto es necesario y no puede ser más de caracteres %{length}.\",\"submit\":\"Enviar\",\"user_group_id\":{\"label\":\"Comentar como\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"Quedan %{count} caracteres\",\"remaining_characters_1\":\"Queda %{count} carácter\",\"title\":\"Deje su comentario\"},\"comment\":{\"alignment\":{\"against\":\"En contra\",\"in_favor\":\"A favor\"},\"deleted_user\":\"Usuario eliminado\",\"hide_replies\":\"Ocultar respuestas\",\"reply\":\"Respuesta\",\"report\":{\"action\":\"Denunciar\",\"already_reported\":\"Este contenido ya fue denunciado y será revisado por un administrador.\",\"close\":\"Cerrar\",\"description\":\"¿Es inapropiado este contenido?\",\"details\":\"Comentarios adicionales\",\"reasons\":{\"does_not_belong\":\"Contiene actividad ilegal, amenazas de suicidio, información personal o cualquier otra cosa que usted piense que no pertenece en %{organization_name}.\",\"offensive\":\"Contiene racismo, sexismo, insultos, ataques personales, amenazas de muerte, solicitudes de suicidio o cualquier forma de discurso de odio.\",\"spam\":\"Contiene clickbait, publicidad o estafas.\"},\"title\":\"Notificar contenido inapropiado\"},\"show_replies\":\"Mostrar %{replies_count} respuestas\",\"single_comment_link_title\":\"Obtener enlace a un solo comentario\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Mejor valoración\",\"most_discussed\":\"Más discutidos\",\"older\":\"Más antiguo\",\"recent\":\"Reciente\"},\"title\":\"Ordenar por:\"},\"comment_thread\":{\"title\":\"Conversación con %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"No puede hacer comentarios en este momento, pero puede leer los anteriores.\",\"blocked_comments_warning\":\"Los comentarios están deshabilitados en este momento, pero puedes leer los anteriores.\",\"comment_details_title\":\"Detalles del comentario\",\"loading\":\"Cargando los comentarios ...\",\"single_comment_warning\":\"Puedes revisar el resto de los comentarios <a href=\\\"%{url}\\\">aquí</a>.\",\"single_comment_warning_title\":\"Estás viendo un solo comentario\",\"title\":\"%{count} comentarios\"},\"down_vote_button\":{\"text\":\"No estoy de acuerdo con este comentario\"},\"up_vote_button\":{\"text\":\"Estoy de acuerdo con este comentario\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ha dejado un comentario en %{resource_title}. Puedes leerlo en esta página:\",\"email_outro\":\"Has recibido esta notificación porque sigues \\\"%{author_name}\\\". Puedes dejar de seguirlo desde el enlace anterior.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} ha dejado un comentario en %{resource_title}. Puede leerlo en esta página:\",\"email_outro\":\"Recibes esta notificación porque sigues a %{author_name}. Puedes dejar de seguir a este grupo des de su página de perfil.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} ha sido comentado. Puedes leer el comentario en esta página:\",\"email_outro\":\"Has recibido esta notificación porque está siguiendo \\\"%{resource_title}\\\" o su autor. Puedes dejar de seguirlo desde el enlace anterior.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} ha respondido a tu comentario en %{resource_title}. Puedes leerlo en esta página:\",\"email_outro\":\"Has recibido esta notificación porque tu comentario fue respondido.\",\"email_subject\":\"%{author_name} ha respondido a tu comentario en %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ha respondido a tu comentario en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Se ha mencionado un grupo al que perteneces\",\"email_outro\":\"Has recibido esta notificación porque formas parte del grupo %{group_name} que ha sido mencionado en %{resource_title}.\",\"email_subject\":\"Te han mencionado en %{resource_title} como miembro de %{group_name}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> te ha mencionado en <a href=\\\"%{resource_path}\\\">%{resource_title}</a> como miembro de <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Has sido mencionado\",\"email_outro\":\"Has recibido esta notificación porque has sido mencionado en %{resource_title}.\",\"email_subject\":\"Has sido mencionado en %{resource_title}\",\"notification_title\":\"Has sido mencionado en <a href=\\\"%{resource_path}\\\">%{resource_title}</a> por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Número de comentarios generados por los usuarios\",\"object\":\"comentarios\",\"title\":\"Comentarios\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"no puede tener comentarios\"}}}}","module.exports = {\"es-PY\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comentario\",\"decidim/comments/comment_created_event\":\"Comentario\",\"decidim/comments/reply_created_event\":\"Respuesta al comentario\",\"decidim/comments/user_group_mentioned_event\":\"Mencionar\",\"decidim/comments/user_mentioned_event\":\"Mencionar\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comentario\",\"other\":\"Comentarios\"},\"decidim/comments/comment_vote\":{\"one\":\"Voto\",\"other\":\"Votos\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentarios\",\"comments_count\":\"Número de comentarios\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nuevo comentario en %{link}</span>\"},\"view\":\"Ver\",\"votes\":{\"create\":{\"error\":\"Ha habido errores al votar el comentario.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Inicia sesión con tu cuenta</a> o <a href=\\\"%{sign_up_url}\\\">regístrate</a> para añadir tu comentario.\",\"form\":{\"body\":{\"label\":\"Comentario\",\"placeholder\":\"¿Qué piensas sobre esto?\"},\"form_error\":\"El texto es necesario y no puede ser más de caracteres %{length}.\",\"submit\":\"Enviar\",\"user_group_id\":{\"label\":\"Comentar como\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"Quedan %{count} caracteres\",\"remaining_characters_1\":\"Queda %{count} carácter\",\"title\":\"Deje su comentario\"},\"comment\":{\"alignment\":{\"against\":\"En contra\",\"in_favor\":\"A favor\"},\"deleted_user\":\"Usuario eliminado\",\"hide_replies\":\"Ocultar respuestas\",\"reply\":\"Respuesta\",\"report\":{\"action\":\"Denunciar\",\"already_reported\":\"Este contenido ya fue denunciado y será revisado por un administrador.\",\"close\":\"Cerrar\",\"description\":\"¿Es inapropiado este contenido?\",\"details\":\"Comentarios adicionales\",\"reasons\":{\"does_not_belong\":\"Contiene actividad ilegal, amenazas de suicidio, información personal o cualquier otra cosa que usted piense que no pertenece en %{organization_name}.\",\"offensive\":\"Contiene racismo, sexismo, insultos, ataques personales, amenazas de muerte, solicitudes de suicidio o cualquier forma de discurso de odio.\",\"spam\":\"Contiene clickbait, publicidad o estafas.\"},\"title\":\"Notificar contenido inapropiado\"},\"show_replies\":\"Mostrar %{replies_count} respuestas\",\"single_comment_link_title\":\"Obtener enlace a un solo comentario\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Mejor valoración\",\"most_discussed\":\"Más discutidos\",\"older\":\"Más antiguo\",\"recent\":\"Reciente\"},\"title\":\"Ordenar por:\"},\"comment_thread\":{\"title\":\"Conversación con %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"No puede hacer comentarios en este momento, pero puede leer los anteriores.\",\"blocked_comments_warning\":\"Los comentarios están deshabilitados en este momento, pero puedes leer los anteriores.\",\"comment_details_title\":\"Detalles del comentario\",\"loading\":\"Cargando los comentarios ...\",\"single_comment_warning\":\"Puedes revisar el resto de los comentarios <a href=\\\"%{url}\\\">aquí</a>.\",\"single_comment_warning_title\":\"Estás viendo un solo comentario\",\"title\":\"%{count} comentarios\"},\"down_vote_button\":{\"text\":\"No estoy de acuerdo con este comentario\"},\"up_vote_button\":{\"text\":\"Estoy de acuerdo con este comentario\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ha dejado un comentario en %{resource_title}. Puedes leerlo en esta página:\",\"email_outro\":\"Has recibido esta notificación porque sigues \\\"%{author_name}\\\". Puedes dejar de seguirlo desde el enlace anterior.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} ha dejado un comentario en %{resource_title}. Puede leerlo en esta página:\",\"email_outro\":\"Recibes esta notificación porque sigues a %{author_name}. Puedes dejar de seguir a este grupo des de su página de perfil.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} ha sido comentado. Puedes leer el comentario en esta página:\",\"email_outro\":\"Has recibido esta notificación porque está siguiendo \\\"%{resource_title}\\\" o su autor. Puedes dejar de seguirlo desde el enlace anterior.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} ha respondido a tu comentario en %{resource_title}. Puedes leerlo en esta página:\",\"email_outro\":\"Has recibido esta notificación porque tu comentario fue respondido.\",\"email_subject\":\"%{author_name} ha respondido a tu comentario en %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ha respondido a tu comentario en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Se ha mencionado un grupo al que perteneces\",\"email_outro\":\"Has recibido esta notificación porque formas parte del grupo %{group_name} que ha sido mencionado en %{resource_title}.\",\"email_subject\":\"Te han mencionado en %{resource_title} como miembro de %{group_name}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> te ha mencionado en <a href=\\\"%{resource_path}\\\">%{resource_title}</a> como miembro de <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Has sido mencionado\",\"email_outro\":\"Has recibido esta notificación porque has sido mencionado en %{resource_title}.\",\"email_subject\":\"Has sido mencionado en %{resource_title}\",\"notification_title\":\"Has sido mencionado en <a href=\\\"%{resource_path}\\\">%{resource_title}</a> por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Número de comentarios generados por los usuarios.\",\"object\":\"comentarios\",\"title\":\"Comentarios\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"no puede tener comentarios\"}}}}","module.exports = {\"es\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comentario\",\"decidim/comments/comment_created_event\":\"Comentario\",\"decidim/comments/reply_created_event\":\"Respuesta al comentario\",\"decidim/comments/user_group_mentioned_event\":\"Mencionar\",\"decidim/comments/user_mentioned_event\":\"Mencionar\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comentario\",\"other\":\"Comentarios\"},\"decidim/comments/comment_vote\":{\"one\":\"Voto\",\"other\":\"Votos\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentarios\",\"comments_count\":\"Número de comentarios\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nuevo comentario en %{link}</span>\"},\"view\":\"Ver\",\"votes\":{\"create\":{\"error\":\"Se ha producido un error al votar el comentario.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Inicia sesión con tu cuenta</a> o <a href=\\\"%{sign_up_url}\\\">regístrate</a> para añadir tu comentario.\",\"form\":{\"body\":{\"label\":\"Comentario\",\"placeholder\":\"¿Qué piensas sobre ésto?\"},\"form_error\":\"El texto es necesario y no puede ser más largo de %{length}.\",\"submit\":\"Enviar\",\"user_group_id\":{\"label\":\"Comentar como\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"Quedan %{count} caracteres\",\"remaining_characters_1\":\"Queda %{count} carácter\",\"title\":\"Deja tu comentario\"},\"comment\":{\"alignment\":{\"against\":\"En contra\",\"in_favor\":\"A favor\"},\"deleted_user\":\"Participante eliminada\",\"hide_replies\":\"Ocultar respuestas\",\"reply\":\"Respuesta\",\"report\":{\"action\":\"Denunciar\",\"already_reported\":\"Este contenido ya ha sido denunciado y será revisado por una administradora.\",\"close\":\"Cerrar\",\"description\":\"¿Este contenido es inapropiado?\",\"details\":\"Comentarios adicionales\",\"reasons\":{\"does_not_belong\":\"Contiene actividad ilegal, amenazas de suicidio, información personal o cualquier otra cosa que usted piense que no pertenece en %{organization_name}.\",\"offensive\":\"Contiene racismo, sexismo, insultos, ataques personales, amenazas de muerte, solicitudes de suicidio o cualquier forma de discurso de odio.\",\"spam\":\"Contiene clickbait, publicidad o estafas.\"},\"title\":\"Notificar contenido inapropiado\"},\"show_replies\":\"Mostrar %{replies_count} respuestas\",\"single_comment_link_title\":\"Obtener enlace a un solo comentario\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Mejor valoración\",\"most_discussed\":\"Más discutidos\",\"older\":\"Más antiguo\",\"recent\":\"Reciente\"},\"title\":\"Ordenar por:\"},\"comment_thread\":{\"title\":\"Conversación con %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"No puedes hacer comentarios en este momento, pero puedes leer los anteriores.\",\"blocked_comments_warning\":\"Los comentarios están deshabilitados en este momento, pero puedes leer los anteriores.\",\"comment_details_title\":\"Detalles del comentario\",\"loading\":\"Cargando los comentarios ...\",\"single_comment_warning\":\"Puedes revisar el resto de los comentarios <a href=\\\"%{url}\\\">aquí</a>.\",\"single_comment_warning_title\":\"Estás viendo un solo comentario\",\"title\":\"%{count} comentarios\"},\"down_vote_button\":{\"text\":\"No estoy de acuerdo con este comentario\"},\"up_vote_button\":{\"text\":\"Estoy de acuerdo con este comentario\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ha dejado un comentario en %{resource_title}. Puedes leerlo en esta página:\",\"email_outro\":\"Has recibido esta notificación porque sigues \\\"%{author_name}\\\". Puedes dejar de seguir a esta participante desde su página de perfil.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} ha dejado un comentario en %{resource_title}. Puedes leerlo en esta página:\",\"email_outro\":\"Recibes esta notificación porque sigues a %{author_name}. Puedes dejar de seguir a este grupo desde su página de perfil.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} ha sido comentado. Puedes leer el comentario en esta página:\",\"email_outro\":\"Has recibido esta notificación porque está siguiendo \\\"%{resource_title}\\\" o su autora. Puedes dejar de seguirla desde el enlace anterior.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} ha respondido a tu comentario en %{resource_title}. Puedes leerlo en esta página:\",\"email_outro\":\"Has recibido esta notificación porque tu comentario fue respondido.\",\"email_subject\":\"%{author_name} ha respondido a tu comentario en %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ha respondido a tu comentario en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Se ha mencionado un grupo al que perteneces\",\"email_outro\":\"Has recibido esta notificación porque formas parte del grupo %{group_name} que ha sido mencionado en %{resource_title}.\",\"email_subject\":\"Te han mencionado en %{resource_title} como miembro de %{group_name}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> te ha mencionado en <a href=\\\"%{resource_path}\\\">%{resource_title}</a> como miembro de <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Has sido mencionada\",\"email_outro\":\"Has recibido esta notificación porque has sido mencionada en %{resource_title}.\",\"email_subject\":\"Has sido mencionada en %{resource_title}\",\"notification_title\":\"Has sido mencionada en <a href=\\\"%{resource_path}\\\">%{resource_title}</a> por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Número de comentarios generados por las participantes\",\"object\":\"comentarios\",\"title\":\"Comentarios\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"no puede tener comentarios\"}}}}","module.exports = {\"et\":null}","module.exports = {\"et\":null}","module.exports = {\"eu\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Iruzkina\",\"decidim/comments/comment_created_event\":\"Iruzkina\",\"decidim/comments/reply_created_event\":\"Iruzkinaren erantzuna\",\"decidim/comments/user_group_mentioned_event\":\"Aipatu\",\"decidim/comments/user_mentioned_event\":\"Aipatu\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Iruzkina\",\"other\":\"Oharrak\"},\"decidim/comments/comment_vote\":{\"one\":\"Bozkatu\",\"other\":\"Botoak\"}}},\"decidim\":{\"comments\":{\"comments\":\"Oharrak\",\"last_activity\":{\"new_comment_at_html\":\"<span>Iruzkin berria %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Erroreak gertatu dira iruzkina bozkatzean.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Hasi saioa zure kontuarekin</a> o <a href=\\\"%{sign_up_url}\\\">erregistratu</a> zure iruzkina txertatzeko.\",\"form\":{\"body\":{\"label\":\"Iruzkina\",\"placeholder\":\"Zer deritzozu honi?\"},\"form_error\":\"Testua behar da, eta ezin du izan %{length} karaktere baino gehiago.\",\"submit\":\"Bidali\",\"user_group_id\":{\"label\":\"Egin iruzkina honako honen gisa:\"}},\"opinion\":{\"neutral\":\"Neutrala\"},\"remaining_characters\":\"%{count} karaktere geratzen dira\",\"remaining_characters_1\":\"karaktere %{count} geratzen da\",\"title\":\"Egin hemen zure iruzkina\"},\"comment\":{\"alignment\":{\"against\":\"Aurka\",\"in_favor\":\"Alde\"},\"deleted_user\":\"Erabiltzaile ezabatua\",\"reply\":\"Erantzuna\",\"report\":{\"action\":\"Salatu\",\"already_reported\":\"Eduki hau jada salatuta dago, eta administratzaile batek.\",\"close\":\"Itxi\",\"description\":\"Eduki hau desegokia da?\",\"details\":\"Iruzkin gehigarriak\",\"reasons\":{\"does_not_belong\":\"Bertan badago legez kontrako jardunik, suizidio-mehatxurik, informazio pertsonalik edo beste zernahi, zure ustez %{organization_name}-ri ez dagokionik.\",\"offensive\":\"Ertan badago arrazakeriarik, sexismorik, irainik, eraso pertsonalik, heriotza-mehatxurik, suizidio-eskaerarik edo beste edozein eratako gorroto-diskurtsorik.\",\"spam\":\"Bertan badago clickbait-ik, publizitaterik edo iruzurrik.\"}}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Balorazio hoberenak\",\"most_discussed\":\"Eztabaidatuenak\",\"older\":\"Zaharrenak\",\"recent\":\"Berrienak\"},\"title\":\"Ordenatu honen arabera:\"},\"comment_thread\":{\"title\":\"Solasaldia honekin: %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Oraindik ez duzu iruzkinik egin, baina aurrekoak irakurri ditzakezu.\",\"blocked_comments_warning\":\"Iruzkinak desgaituta daude une honetan, baina aurrekoak irakur ditzakezu.\",\"loading\":\"Iruzkinak kargatzen...\",\"title\":\"%{count} iruzkin\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} iruzkin bat utzi du %{resource_title}helbidean. Orri honetan irakur dezakezu:\",\"email_outro\":\"Jakinarazpena jaso duzu %{author_name}jarraituz gero. Erabiltzaile hau bere profileko orrialdetik jarrai dezakezu.\",\"email_subject\":\"%{author_name} %{resource_title} iruzkin berri bat dago\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> <a href=\\\"%{resource_path}\\\">%{resource_title}</a> </a> iruzkin berri bat dago.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"%{author_name} %{resource_title} iruzkin berri bat dago\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> <a href=\\\"%{resource_path}\\\">%{resource_title}</a> </a> iruzkin berri bat dago.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} iruzkindu da. Orri honetan iruzkina irakur dezakezu:\",\"email_outro\":\"Jakinarazpen hau jaso duzu \\\"%{resource_title}\\\" edo bere egilea jarraitzen duzulako. Aurreko esteka estekan jarrai dezakezu.\",\"email_subject\":\"%{author_name} (r) en %{resource_title} iruzkin berri bat dago\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> <a href=\\\"%{resource_path}\\\">%{resource_title}</a> </a> iruzkin berri bat dago\"},\"reply_created\":{\"email_intro\":\"%{author_name} zure iruzkina erantzun du %{resource_title}zenbakian. Orri honetan irakur dezakezu:\",\"email_outro\":\"Jakinarazpen hau jaso duzu zure iruzkina erantzun delako.\",\"email_subject\":\"%{author_name} zure iruzkina erantzun du %{resource_title} zenbakian\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> -k zure iruzkinari erantzun dio <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Esan zaizu\",\"email_outro\":\"Jakinarazpena jaso duzu %{resource_title} delakoan aipatu duzulako.\",\"email_subject\":\"%{resource_title} aipatu zaituzte\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title}</a> <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> bidez aipatu zaituzte.\"}}},\"metrics\":{\"comments\":{\"description\":\"Erabiltzaileek sortutako iruzkin kopurua\",\"object\":\"iruzkinak\",\"title\":\"Oharrak\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"ezin zaio iruzkinik egin\"}}}}","module.exports = {\"fi-pl\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Kommentti\",\"decidim/comments/comment_created_event\":\"Kommentti\",\"decidim/comments/reply_created_event\":\"Vastaus kommentiin\",\"decidim/comments/user_mentioned_event\":\"Maininta\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Kommentti\",\"other\":\"Kommentit\"},\"decidim/comments/comment_vote\":{\"one\":\"Ääni\",\"other\":\"Äänet\"}}},\"decidim\":{\"comments\":{\"comments\":\"Kommentit\",\"last_activity\":{\"new_comment_at_html\":\"<span>Uusi kommentti osoitteessa %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Äänestettäessä kommenttia tapahtui virhe.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Kirjaudu sisään</a> tai <a href=\\\"%{sign_up_url}\\\">rekisteröidy palveluun</a> kommentoidaksesi.\",\"form\":{\"body\":{\"label\":\"Kommentti\",\"placeholder\":\"Mitä mieltä olet tästä?\"},\"form_error\":\"Teksti vaaditaan ja se ei voi olla pidempi kuin %{length} merkkiä.\",\"submit\":\"Lähetä\",\"user_group_id\":{\"label\":\"Kommentoi käyttäjänä\"}},\"opinion\":{\"neutral\":\"Neutraali\"},\"remaining_characters\":\"%{count} merkkiä jäljellä\",\"remaining_characters_1\":\"%{count} merkki jäljellä\",\"title\":\"Lisää oma kommenttisi\"},\"comment\":{\"alignment\":{\"against\":\"Vastaan\",\"in_favor\":\"Puolesta\"},\"deleted_user\":\"Poistettu käyttäjä\",\"reply\":\"Vastaa\",\"report\":{\"action\":\"Tee ilmoitus\",\"already_reported\":\"Tämä sisältö on jo ilmoitettu ja ylläpitäjä tutkii sen.\",\"close\":\"Sulje\",\"description\":\"Onko tämä sisältö epäasiallista?\",\"details\":\"Lisätiedot\",\"reasons\":{\"does_not_belong\":\"Sisältää laitonta toimintaa, itsemurhauhkailua, henkilökohtaisia tietoja tai jotain muuta, jonka et usko kuuluvan organisaatioon %{organization_name}.\",\"offensive\":\"Sisältää rasismia, seksismiä, haukkumista, henkilökohtaisia hyökkäyksiä, tappouhkauksia, itsemurhapyyntöjä tai muuta vihapuhetta.\",\"spam\":\"Sisältää klikkihoukutteita, mainostusta, huijauksia tai bottiskriptejä.\"},\"title\":\"Ilmoita ongelmasta\"}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Parhaiksi arvioidut\",\"most_discussed\":\"Eniten keskustelua herättäneet\",\"older\":\"Vanhimmat\",\"recent\":\"Uusimmat\"},\"title\":\"Järjestä tulokset:\"},\"comment_thread\":{\"title\":\"Keskustelu henkilön %{authorName} kanssa\"},\"comments\":{\"blocked_comments_warning\":\"Kommentit on poistettu käytöstä tällä hetkellä, mutta voit lukea aikaisempia kommentteja.\",\"loading\":\"Ladataan kommentteja ...\",\"title\":\"%{count} kommenttia\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} on jättänyt kommentin %{resource_title}. Voit lukea sen tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on jättänyt uuden kommentin kohtaan <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} on kommentoitu. Voit lukea kommentin tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat \\\"%{resource_title}\\\" tai sen kirjoittajaa. Voit lopettaa seuraamisen edellä esitetyn linkin kautta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>on jättänyt uuden kommentin kohtaan <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} on vastannut kommentiisi kohdassa %{resource_title}. Voit lukea sen tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska kommenttiisi vastattiin.\",\"email_subject\":\"%{author_name} on vastannut kommentiisi %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on vastannut kommentiisi kohdassa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Sinut on mainittu\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska sinut on mainittu kohdssa %{resource_title}.\",\"email_subject\":\"Sinut on mainittu kohdassa %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on maininnut sinut kohdassa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Käyttäjien kirjoittamien kommenttien määrä\",\"object\":\"kommentit\",\"title\":\"Kommentit\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"ei voi sisältää kommentteja\"}}}}","module.exports = {\"fi-pl\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Kommentti\",\"decidim/comments/comment_created_event\":\"Kommentti\",\"decidim/comments/reply_created_event\":\"Vastaus kommentiin\",\"decidim/comments/user_group_mentioned_event\":\"Maininta\",\"decidim/comments/user_mentioned_event\":\"Maininta\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Kommentti\",\"other\":\"Kommentit\"},\"decidim/comments/comment_vote\":{\"one\":\"Ääni\",\"other\":\"Äänet\"}}},\"decidim\":{\"comments\":{\"comments\":\"Kommentit\",\"comments_count\":\"Kommenttien määrä\",\"last_activity\":{\"new_comment_at_html\":\"<span>Uusi kommentti osoitteessa %{link}</span>\"},\"view\":\"Näytä\",\"votes\":{\"create\":{\"error\":\"Äänestettäessä kommenttia tapahtui virhe.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Kirjaudu sisään</a> tai <a href=\\\"%{sign_up_url}\\\">rekisteröidy palveluun</a> kommentoidaksesi.\",\"form\":{\"body\":{\"label\":\"Kommentti\",\"placeholder\":\"Mitä mieltä olet tästä?\"},\"form_error\":\"Teksti vaaditaan ja se ei voi olla pidempi kuin %{length} merkkiä.\",\"submit\":\"Lähetä\",\"user_group_id\":{\"label\":\"Kommentoi käyttäjänä\"}},\"opinion\":{\"neutral\":\"Neutraali\"},\"remaining_characters\":\"%{count} merkkiä jäljellä\",\"remaining_characters_1\":\"%{count} merkki jäljellä\",\"title\":\"Lisää oma kommenttisi\"},\"comment\":{\"alignment\":{\"against\":\"Vastaan\",\"in_favor\":\"Puolesta\"},\"deleted_user\":\"Poistettu käyttäjä\",\"hide_replies\":\"Piilota vastaukset\",\"reply\":\"Vastaa\",\"report\":{\"action\":\"Tee ilmoitus\",\"already_reported\":\"Tämä sisältö on jo ilmoitettu ja ylläpitäjä tutkii sen.\",\"close\":\"Sulje\",\"description\":\"Onko tämä sisältö epäasiallista?\",\"details\":\"Lisätiedot\",\"reasons\":{\"does_not_belong\":\"Sisältää laitonta toimintaa, itsemurhauhkailua, henkilökohtaisia tietoja tai jotain muuta, jonka et usko kuuluvan organisaatioon %{organization_name}.\",\"offensive\":\"Sisältää rasismia, seksismiä, haukkumista, henkilökohtaisia hyökkäyksiä, tappouhkauksia, itsemurhapyyntöjä tai muuta vihapuhetta.\",\"spam\":\"Sisältää klikkihoukutteita, mainostusta, huijauksia tai bottiskriptejä.\"},\"title\":\"Ilmoita asiatonta sisältöä\"},\"show_replies\":\"Näytä %{replies_count} vastausta\",\"single_comment_link_title\":\"Hae linkki yksittäiseen kommenttiin\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Parhaiksi arvioidut\",\"most_discussed\":\"Eniten keskustelua herättäneet\",\"older\":\"Vanhimmat\",\"recent\":\"Uusimmat\"},\"title\":\"Järjestä tulokset:\"},\"comment_thread\":{\"title\":\"Keskustelu henkilön %{authorName} kanssa\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Et voi kommentoida tällä hetkellä, mutta voit lukea aikaisempia kommentteja.\",\"blocked_comments_warning\":\"Kommentit on poistettu käytöstä tällä hetkellä, mutta voit lukea aikaisempia kommentteja.\",\"comment_details_title\":\"Kommentin yksityiskohdat\",\"loading\":\"Ladataan kommentteja ...\",\"single_comment_warning\":\"Voit katsoa loput kommentit <a href=\\\"%{url}\\\">täältä</a>.\",\"single_comment_warning_title\":\"Näet yhden kommentin\",\"title\":\"%{count} kommenttia\"},\"down_vote_button\":{\"text\":\"Olen eri mieltä tämän kommentin kanssa\"},\"up_vote_button\":{\"text\":\"Olen samaa mieltä tämän kommentin kanssa\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} on jättänyt kommentin %{resource_title}. Voit lukea sen tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on jättänyt uuden kommentin kohtaan <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} on jättänyt kommentin kohteessa %{resource_title}. Voit lukea sen täältä:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on jättänyt uuden kommentin kohtaan <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} on kommentoitu. Voit lukea kommentin tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat \\\"%{resource_title}\\\" tai sen kirjoittajaa. Voit lopettaa seuraamisen edellä esitetyn linkin kautta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>on jättänyt uuden kommentin kohtaan <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} on vastannut kommentiisi kohdassa %{resource_title}. Voit lukea sen tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska kommenttiisi vastattiin.\",\"email_subject\":\"%{author_name} on vastannut kommentiisi %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on vastannut kommentiisi kohdassa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Ryhmä, jonka jäsen olet, on mainittu\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska olet jäsenenä ryhmässä %{group_name} ja ryhmä on mainittu kohteessa %{resource_title}.\",\"email_subject\":\"Sinut on mainittu kohteessa %{resource_title} ryhmän %{group_name} jäsenenä\",\"notification_title\":\"Käyttäjä <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> on maininnut sinut kohteessa <a href=\\\"%{resource_path}\\\">%{resource_title}</a> ryhmän <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a> jäsenenä\"},\"user_mentioned\":{\"email_intro\":\"Sinut on mainittu\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska sinut on mainittu kohdssa %{resource_title}.\",\"email_subject\":\"Sinut on mainittu kohdassa %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on maininnut sinut kohdassa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Käyttäjien kirjoittamien kommenttien määrä\",\"object\":\"kommentit\",\"title\":\"Kommentit\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"ei voi sisältää kommentteja\"}}}}","module.exports = {\"fi\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Kommentti\",\"decidim/comments/comment_created_event\":\"Kommentti\",\"decidim/comments/reply_created_event\":\"Vastaus kommentiin\",\"decidim/comments/user_group_mentioned_event\":\"Maininta\",\"decidim/comments/user_mentioned_event\":\"Maininta\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Kommentti\",\"other\":\"Kommentit\"},\"decidim/comments/comment_vote\":{\"one\":\"Ääni\",\"other\":\"Äänet\"}}},\"decidim\":{\"comments\":{\"comments\":\"Kommentit\",\"comments_count\":\"Kommenttien määrä\",\"last_activity\":{\"new_comment_at_html\":\"<span>Uusi kommentti osoitteessa %{link}</span>\"},\"view\":\"Näytä\",\"votes\":{\"create\":{\"error\":\"Kommentin äänestys epäonnistui.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Kirjaudu sisään</a> tai <a href=\\\"%{sign_up_url}\\\">rekisteröidy palveluun</a> kommentoidaksesi.\",\"form\":{\"body\":{\"label\":\"Kommentti\",\"placeholder\":\"Mitä mieltä olet tästä?\"},\"form_error\":\"Teksti vaaditaan ja se ei voi olla pidempi kuin %{length} merkkiä.\",\"submit\":\"Lähetä\",\"user_group_id\":{\"label\":\"Kommentoi käyttäjänä\"}},\"opinion\":{\"neutral\":\"Neutraali\"},\"remaining_characters\":\"%{count} merkkiä jäljellä\",\"remaining_characters_1\":\"%{count} merkki jäljellä\",\"title\":\"Lisää oma kommenttisi\"},\"comment\":{\"alignment\":{\"against\":\"Vastaan\",\"in_favor\":\"Puolesta\"},\"deleted_user\":\"Poistettu käyttäjä\",\"hide_replies\":\"Piilota vastaukset\",\"reply\":\"Vastaa\",\"report\":{\"action\":\"Tee ilmoitus\",\"already_reported\":\"Tämä sisältö on jo ilmoitettu ja ylläpitäjä tutkii sen.\",\"close\":\"Sulje\",\"description\":\"Onko tämä sisältö sopimatonta?\",\"details\":\"Lisätiedot\",\"reasons\":{\"does_not_belong\":\"Sisältää laitonta toimintaa, itsemurhauhkailua, henkilökohtaisia tietoja tai jotain muuta, jonka et usko kuuluvan organisaatioon %{organization_name}.\",\"offensive\":\"Sisältää rasismia, seksismiä, haukkumista, henkilökohtaisia hyökkäyksiä, tappouhkauksia, itsemurhapyyntöjä tai muuta vihapuhetta.\",\"spam\":\"Sisältää klikkihoukutteita, mainostusta, huijauksia tai bottiskriptejä.\"},\"title\":\"Ilmoita asiatonta sisältöä\"},\"show_replies\":\"Näytä %{replies_count} vastausta\",\"single_comment_link_title\":\"Hae linkki yksittäiseen kommenttiin\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Parhaiksi arvioidut\",\"most_discussed\":\"Eniten keskustelua herättäneet\",\"older\":\"Vanhimmat\",\"recent\":\"Uusimmat\"},\"title\":\"Järjestä tulokset:\"},\"comment_thread\":{\"title\":\"Keskustelu henkilön %{authorName} kanssa\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Et voi kommentoida tällä hetkellä, mutta voit lukea aikaisempia kommentteja.\",\"blocked_comments_warning\":\"Kommentit on poistettu käytöstä tällä hetkellä, mutta voit lukea aikaisempia kommentteja.\",\"comment_details_title\":\"Kommentin yksityiskohdat\",\"loading\":\"Ladataan kommentteja ...\",\"single_comment_warning\":\"Voit katsoa loput kommentit <a href=\\\"%{url}\\\">täältä</a>.\",\"single_comment_warning_title\":\"Näet yhden kommentin\",\"title\":\"%{count} kommenttia\"},\"down_vote_button\":{\"text\":\"Olen eri mieltä tämän kommentin kanssa\"},\"up_vote_button\":{\"text\":\"Olen samaa mieltä tämän kommentin kanssa\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} on jättänyt kommentin kohteessa %{resource_title}. Voit lukea sen täältä:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohteessa %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on jättänyt uuden kommentin kohteessa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} on jättänyt kommentin kohteessa %{resource_title}. Voit lukea sen täältä:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohteessa %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on jättänyt uuden kommentin kohteessa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} on kommentoitu. Voit lukea kommentin tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat \\\"%{resource_title}\\\" tai sen kirjoittajaa. Voit lopettaa seuraamisen edellä esitetyn linkin kautta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohteessa %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>on jättänyt uuden kommentin kohteessa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} on vastannut kommentiisi kohdassa %{resource_title}. Voit lukea sen tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska kommenttiisi vastattiin.\",\"email_subject\":\"%{author_name} on vastannut kommentiisi %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on vastannut kommentiisi kohdassa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Ryhmä, jonka jäsen olet, on mainittu\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska olet jäsenenä ryhmässä %{group_name} ja ryhmä on mainittu kohteessa %{resource_title}.\",\"email_subject\":\"Sinut on mainittu kohteessa %{resource_title} ryhmän %{group_name} jäsenenä\",\"notification_title\":\"Käyttäjä <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> on maininnut sinut kohteessa <a href=\\\"%{resource_path}\\\">%{resource_title}</a> ryhmän <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a> jäsenenä\"},\"user_mentioned\":{\"email_intro\":\"Sinut on mainittu\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska sinut on mainittu kohteessa %{resource_title}.\",\"email_subject\":\"Sinut on mainittu kohdassa %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on maininnut sinut kohdassa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Käyttäjien kirjoittamien kommenttien määrä\",\"object\":\"kommentit\",\"title\":\"Kommentit\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"ei voi sisältää kommentteja\"}}}}","module.exports = {\"fr-CA\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Commentaire\",\"decidim/comments/comment_created_event\":\"Commentaire\",\"decidim/comments/reply_created_event\":\"Réponse à un commentaire\",\"decidim/comments/user_group_mentioned_event\":\"Mention\",\"decidim/comments/user_mentioned_event\":\"Mention\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Commentaire\",\"other\":\"Commentaires\"},\"decidim/comments/comment_vote\":{\"one\":\"Vote\",\"other\":\"Votes\"}}},\"decidim\":{\"comments\":{\"comments\":\"commentaires\",\"comments_count\":\"Nombre de commentaires\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nouveau commentaire à %{link}</span>\"},\"view\":\"Voir\",\"votes\":{\"create\":{\"error\":\"Une erreur s'est produite lors du vote sur le commentaire.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"Pour ajouter votre commentaire <a href=\\\"%{sign_in_url}\\\"> connectez-vous avec votre compte</a> ou <a href=\\\"%{sign_up_url}\\\">inscrivez-vous</a>.\",\"form\":{\"body\":{\"label\":\"Commentaire\",\"placeholder\":\"Que pensez-vous de cela ?\"},\"form_error\":\"Le texte est requis et ne peut pas dépasser %{length} caractères.\",\"submit\":\"Publier\",\"user_group_id\":{\"label\":\"Commenter en tant que\"}},\"opinion\":{\"neutral\":\"Neutre\"},\"remaining_characters\":\"%{count} caractères restants\",\"remaining_characters_1\":\"%{count} caractère restant\",\"title\":\"Ajoutez votre commentaire\"},\"comment\":{\"alignment\":{\"against\":\"Contre\",\"in_favor\":\"Pour\"},\"deleted_user\":\"Utilisateur supprimé\",\"hide_replies\":\"Cacher les réponses\",\"reply\":\"Répondre\",\"report\":{\"action\":\"Signaler\",\"already_reported\":\"Ce contenu a déjà été signalé et il sera examiné par un administrateur.\",\"close\":\"Fermer\",\"description\":\"Ce contenu est-il inapproprié ?\",\"details\":\"Commentaires additionnels\",\"reasons\":{\"does_not_belong\":\"Contient d’autres types de contenus qui vous semblent inappropriés à %{organization_name} (activités illégales, menaces suicidaires, informations personnelles,...).\",\"offensive\":\"Contient des propos contraires à la loi (propos racistes, sexistes, insultes, attaques personnelles, menaces de mort, incitations au suicide ou toute forme de discours de haine,...).\",\"spam\":\"Contient des publicités, des escroqueries, des pièges à clic (clickbait) ou des robots fonctionnant au script (script bots).\"},\"title\":\"Signaler un contenu inapproprié\"},\"show_replies\":\"Afficher %{replies_count} réponses\",\"single_comment_link_title\":\"Obtenir un lien vers un seul commentaire\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Les mieux notés\",\"most_discussed\":\"Les plus débattus\",\"older\":\"Les plus anciens\",\"recent\":\"Les plus récents\"},\"title\":\"Classement par :\"},\"comment_thread\":{\"title\":\"Conversation avec %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Vous n'êtes pas en mesure de commenter pour le moment, mais vous pouvez lire les précédents.\",\"blocked_comments_warning\":\"Les commentaires sont actuellement désactivés, mais vous pouvez lire ceux déjà saisis.\",\"comment_details_title\":\"Détails du commentaire\",\"loading\":\"Chargement des commentaires ...\",\"single_comment_warning\":\"Vous pouvez accéder au reste des commentaires <a href=\\\"%{url}\\\">ici</a>.\",\"single_comment_warning_title\":\"Vous ne voyez qu'un seul commentaire\",\"title\":\"%{count} commentaires\"},\"down_vote_button\":{\"text\":\"Je ne suis pas d'accord avec ce commentaire\"},\"up_vote_button\":{\"text\":\"Je suis d'accord avec ce commentaire\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} a laissé un commentaire dans %{resource_title}. Vous pouvez le lire sur la page suivante :\",\"email_outro\":\"Vous avez reçu cette notification, car vous suivez %{author_name}. Vous pouvez vous désabonner de cet utilisateur depuis sa page de profil.\",\"email_subject\":\"Un nouveau commentaire vient d'être déposé par %{author_name} dans %{resource_title}\",\"notification_title\":\"Un nouveau commentaire a été publié par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} a laissé un commentaire dans %{resource_title}. Vous pouvez le lire sur la page suivante :\",\"email_outro\":\"Vous avez reçu cette notification, car vous suivez %{author_name}. Vous pouvez vous désabonner de cet utilisateur depuis sa page de profil.\",\"email_subject\":\"Un nouveau commentaire vient d'être déposé par %{author_name} dans %{resource_title}\",\"notification_title\":\"Un nouveau commentaire a été publié par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} a été commenté. Vous pouvez lire le commentaire sur cette page :\",\"email_outro\":\"Vous venez de recevoir cette notification parce que vous suivez \\\"%{resource_title}\\\" ou son auteur. Vous pouvez vous désabonner à partir du lien précédant.\",\"email_subject\":\"Un nouveau commentaire vient d'être publié par %{author_name} dans %{resource_title}\",\"notification_title\":\"Un nouveau commentaire de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> vient d'être publié dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} a répondu à votre commentaire dans %{resource_title}. Vous pouvez le lire depuis la page suivante :\",\"email_outro\":\"Vous venez de recevoir une notification à votre commentaire.\",\"email_subject\":\"%{author_name} a répondu à votre commentaire dans %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> a réagi à votre commentaire sur <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Un groupe auquel vous appartenez a été mentionné\",\"email_outro\":\"Vous avez reçu cette notification parce que vous êtes membre du groupe %{group_name} qui a été mentionné dans %{resource_title}.\",\"email_subject\":\"Vous avez été mentionné dans %{resource_title} en tant que membre de %{group_name}\",\"notification_title\":\"Vous avez été mentionné dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a> par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en tant que membre de <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Vous avez été mentionné\",\"email_outro\":\"Vous avez reçu cette notification parce que vous avez été mentionné dans %{resource_title}.\",\"email_subject\":\"Vous avez été mentionné dans %{resource_title}\",\"notification_title\":\"Vous avez été mentionné dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a> par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Nombre de commentaires générés par les utilisateurs\",\"object\":\"commentaires\",\"title\":\"commentaires\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"ne peut pas être commenté\"}}}}","module.exports = {\"fr\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Commentaire\",\"decidim/comments/comment_created_event\":\"Commentaire\",\"decidim/comments/reply_created_event\":\"Réponse à un commentaire\",\"decidim/comments/user_group_mentioned_event\":\"Mention\",\"decidim/comments/user_mentioned_event\":\"Mention\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Commentaire\",\"other\":\"Commentaires\"},\"decidim/comments/comment_vote\":{\"one\":\"Vote\",\"other\":\"Votes\"}}},\"decidim\":{\"comments\":{\"comments\":\"commentaires\",\"comments_count\":\"Nombre de commentaires\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nouveau commentaire à %{link}</span>\"},\"view\":\"Voir\",\"votes\":{\"create\":{\"error\":\"Une erreur s'est produite lors du vote sur le commentaire.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"Pour ajouter votre commentaire <a href=\\\"%{sign_in_url}\\\"> connectez-vous avec votre compte</a> ou <a href=\\\"%{sign_up_url}\\\">inscrivez-vous</a>.\",\"form\":{\"body\":{\"label\":\"Commentaire\",\"placeholder\":\"Que pensez-vous de cela ?\"},\"form_error\":\"Le texte est requis et ne peut pas dépasser %{length} caractères.\",\"submit\":\"Publier\",\"user_group_id\":{\"label\":\"Commenter en tant que\"}},\"opinion\":{\"neutral\":\"Neutre\"},\"remaining_characters\":\"%{count} caractères restants\",\"remaining_characters_1\":\"%{count} caractère restant\",\"title\":\"Ajoutez votre commentaire\"},\"comment\":{\"alignment\":{\"against\":\"Contre\",\"in_favor\":\"Pour\"},\"deleted_user\":\"Utilisateur supprimé\",\"hide_replies\":\"Cacher les réponses\",\"reply\":\"Répondre\",\"report\":{\"action\":\"Signaler\",\"already_reported\":\"Ce contenu a déjà été signalé et il sera examiné par un administrateur.\",\"close\":\"Fermer\",\"description\":\"Ce contenu est-il inapproprié ?\",\"details\":\"Commentaires additionnels\",\"reasons\":{\"does_not_belong\":\"Contient d’autres types de contenus qui vous semblent inappropriés à %{organization_name} (activités illégales, menaces suicidaires, informations personnelles,...).\",\"offensive\":\"Contient des propos contraires à la loi (propos racistes, sexistes, insultes, attaques personnelles, menaces de mort, incitations au suicide ou toute forme de discours de haine,...).\",\"spam\":\"Contient des publicités, des escroqueries, des pièges à clic (clickbait) ou des robots fonctionnant au script (script bots).\"},\"title\":\"Signaler un contenu inapproprié\"},\"show_replies\":\"Afficher %{replies_count} réponses\",\"single_comment_link_title\":\"Obtenir un lien vers un seul commentaire\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Les mieux notés\",\"most_discussed\":\"Les plus débattus\",\"older\":\"Les plus anciens\",\"recent\":\"Les plus récents\"},\"title\":\"Classement par :\"},\"comment_thread\":{\"title\":\"Conversation avec %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Vous n'êtes pas en mesure de commenter pour le moment, mais vous pouvez lire les précédents.\",\"blocked_comments_warning\":\"Les commentaires sont actuellement désactivés, mais vous pouvez lire ceux déjà saisis.\",\"comment_details_title\":\"Détails du commentaire\",\"loading\":\"Chargement des commentaires ...\",\"single_comment_warning\":\"Vous pouvez accéder au reste des commentaires <a href=\\\"%{url}\\\">ici</a>.\",\"single_comment_warning_title\":\"Vous ne voyez qu'un seul commentaire\",\"title\":\"%{count} commentaires\"},\"down_vote_button\":{\"text\":\"Je ne suis pas d'accord avec ce commentaire\"},\"up_vote_button\":{\"text\":\"Je suis d'accord avec ce commentaire\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} a laissé un commentaire dans %{resource_title}. Vous pouvez le lire sur la page suivante :\",\"email_outro\":\"Vous avez reçu cette notification, car vous suivez %{author_name}. Vous pouvez vous désabonner de cet utilisateur depuis sa page de profil.\",\"email_subject\":\"Un nouveau commentaire vient d'être déposé par %{author_name} dans %{resource_title}\",\"notification_title\":\"Un nouveau commentaire a été publié par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} a laissé un commentaire dans %{resource_title}. Vous pouvez le lire sur la page suivante :\",\"email_outro\":\"Vous avez reçu cette notification, car vous suivez %{author_name}. Vous pouvez vous désabonner de cet utilisateur depuis sa page de profil.\",\"email_subject\":\"Un nouveau commentaire vient d'être déposé par %{author_name} dans %{resource_title}\",\"notification_title\":\"Un nouveau commentaire a été publié par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} a été commenté. Vous pouvez lire le commentaire sur cette page :\",\"email_outro\":\"Vous venez de recevoir cette notification parce que vous suivez \\\"%{resource_title}\\\" ou son auteur. Vous pouvez vous désabonner à partir du lien précédant.\",\"email_subject\":\"Un nouveau commentaire vient d'être publié par %{author_name} dans %{resource_title}\",\"notification_title\":\"Un nouveau commentaire de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> vient d'être publié dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} a répondu à votre commentaire dans %{resource_title}. Vous pouvez le lire depuis la page suivante :\",\"email_outro\":\"Vous venez de recevoir une notification à votre commentaire.\",\"email_subject\":\"%{author_name} a répondu à votre commentaire dans %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> a réagi à votre commentaire sur <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Un groupe auquel vous appartenez a été mentionné\",\"email_outro\":\"Vous avez reçu cette notification parce que vous êtes membre du groupe %{group_name} qui a été mentionné dans %{resource_title}.\",\"email_subject\":\"Vous avez été mentionné dans %{resource_title} en tant que membre de %{group_name}\",\"notification_title\":\"Vous avez été mentionné dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a> par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en tant que membre de <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Vous avez été mentionné\",\"email_outro\":\"Vous avez reçu cette notification parce que vous avez été mentionné dans %{resource_title}.\",\"email_subject\":\"Vous avez été mentionné dans %{resource_title}\",\"notification_title\":\"Vous avez été mentionné dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a> par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Nombre de commentaires générés par les utilisateurs\",\"object\":\"commentaires\",\"title\":\"commentaires\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"ne peut pas être commenté\"}}}}","module.exports = {\"ga\":null}","module.exports = {\"gl\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comentario\",\"decidim/comments/comment_created_event\":\"Comentario\",\"decidim/comments/reply_created_event\":\"Comentario de resposta\",\"decidim/comments/user_group_mentioned_event\":\"Mención\",\"decidim/comments/user_mentioned_event\":\"Mención\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comentario\",\"other\":\"Comentarios\"},\"decidim/comments/comment_vote\":{\"one\":\"Vota\",\"other\":\"Votos\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentarios\",\"comments_count\":\"Número de comentarios\",\"last_activity\":{\"new_comment_at_html\":\"<span>Novo comentario en %{link}</span>\"},\"view\":\"Ver\",\"votes\":{\"create\":{\"error\":\"Houbo erros ao votar o comentario.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Inicia sesión coa túa conta</a> ou <a href=\\\"%{sign_up_url}\\\">iniciar</a> para engadir o teu comentario.\",\"form\":{\"body\":{\"label\":\"Comentario\",\"placeholder\":\"Que vos parece?\"},\"form_error\":\"Requírese o texto e non pode ter máis de %{length} caracteres.\",\"submit\":\"Enviar\",\"user_group_id\":{\"label\":\"Comentar como\"}},\"opinion\":{\"neutral\":\"Neutro\"},\"remaining_characters\":\"Faltan %{count} caracteres\",\"remaining_characters_1\":\"Faltou o personaxe %{count}\",\"title\":\"Engade o teu comentario\"},\"comment\":{\"alignment\":{\"against\":\"Contra\",\"in_favor\":\"A favor\"},\"deleted_user\":\"Usuario eliminado\",\"hide_replies\":\"Ocultar respostas\",\"reply\":\"Responder\",\"report\":{\"action\":\"Informe\",\"already_reported\":\"Este contido xa se informou e será revisado por un administrador.\",\"close\":\"Pechar\",\"description\":\"Este contido é inapropiado?\",\"details\":\"Comentarios adicionais\",\"reasons\":{\"does_not_belong\":\"Contén actividades ilegais, ameazas de suicidio, información persoal ou outra cousa que pensas que non pertence a %{organization_name}.\",\"offensive\":\"Contén racismo, sexismo, abuso, ataques persoais, ameazas de morte, solicitudes de suicidio ou calquera tipo de discurso de odio.\",\"spam\":\"Contén clic, publicidade, fraudes ou bots de script.\"},\"title\":\"Denunciar contido inapropiado\"},\"show_replies\":\"Amosar %{replies_count} respostas\",\"single_comment_link_title\":\"Obter ligazón a un único comentario\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Mellor valorado\",\"most_discussed\":\"A maioría discutida\",\"older\":\"Máis vello\",\"recent\":\"Recentes\"},\"title\":\"Ordenar por:\"},\"comment_thread\":{\"title\":\"Conversa con %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Non podes comentar neste momento, pero podes ler os anteriores.\",\"blocked_comments_warning\":\"Os comentarios están desactivados neste momento, pero podes ler os anteriores.\",\"comment_details_title\":\"Detalles do comentario\",\"loading\":\"Cargando comentarios ...\",\"single_comment_warning\":\"Podes revisar os comentarios restantes <a href=\\\"%{url}\\\">aquí</a>.\",\"single_comment_warning_title\":\"Estás a ver un único comentario\",\"title\":\"%{count} comentarios\"},\"down_vote_button\":{\"text\":\"Non estou de acordo con este comentario\"},\"up_vote_button\":{\"text\":\"Estou de acordo con este comentario\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} deixou un comentario en %{resource_title}. Podes lelo nesta páxina:\",\"email_outro\":\"Recibiches esta notificación porque estás seguindo %{author_name}. Podes deixar de seguir este usuario desde a súa páxina de perfil.\",\"email_subject\":\"Hai un novo comentario por %{author_name} en %{resource_title}\",\"notification_title\":\"Hai un novo comentario <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"Hai un novo comentario por %{author_name} en %{resource_title}\",\"notification_title\":\"Hai un novo comentario <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"Comentouse %{resource_title} . Podes ler o comentario nesta páxina:\",\"email_outro\":\"Recibiches esta notificación porque estás seguindo \\\"%{resource_title}\\\" ou o seu autor. Podes deixar de seguir desde a ligazón anterior.\",\"email_subject\":\"Hai un novo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hai un novo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} respondeu o teu comentario en %{resource_title}. Podes lelo nesta páxina:\",\"email_outro\":\"Recibiches esta notificación porque o teu comentario foi respondido.\",\"email_subject\":\"%{author_name} respondeu o teu comentario en %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> respondeu o seu comentario en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Foi mencionado\",\"email_outro\":\"Recibiches esta notificación porque foi mencionado en %{resource_title}.\",\"email_subject\":\"Foi mencionado en %{resource_title}\",\"notification_title\":\"Foi mencionado en <a href=\\\"%{resource_path}\\\">%{resource_title}</a> por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Número de comentarios xerados polos usuarios\",\"object\":\"comentarios\",\"title\":\"Comentarios\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"Non podo ter comentarios\"}}}}","module.exports = {\"hr\":null}","module.exports = {\"hr\":null}","module.exports = {\"hu\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Megjegyzés\",\"decidim/comments/comment_created_event\":\"Megjegyzés\",\"decidim/comments/reply_created_event\":\"Hozzászólás válasz\",\"decidim/comments/user_group_mentioned_event\":\"Említés\",\"decidim/comments/user_mentioned_event\":\"Említés\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Megjegyzés\",\"other\":\"Megjegyzések\"},\"decidim/comments/comment_vote\":{\"one\":\"Szavazat\",\"other\":\"Szavazatok\"}}},\"decidim\":{\"comments\":{\"comments\":\"Hozzászólások\",\"last_activity\":{\"new_comment_at_html\":\"<span>Új megjegyzés: %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Hiba történt a megjegyzésre való szavazáskor.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Jelentkezzen be fiókodba</a> vagy <a href=\\\"%{sign_up_url}\\\">iratkozz fel</a> megjegyzés küldéséhez.\",\"form\":{\"body\":{\"label\":\"Megjegyzés\",\"placeholder\":\"Mit gondolsz erről?\"},\"form_error\":\"Kötelező kitölteni, és nem lehet hosszabb, mint %{length} karakter.\",\"submit\":\"Küldés\",\"user_group_id\":{\"label\":\"Megjegyzés mint:\"}},\"opinion\":{\"neutral\":\"Semleges\"},\"remaining_characters\":\"%{count} karakter maradt\",\"remaining_characters_1\":\"%{count} karakter maradt\",\"title\":\"Szólj hozzá\"},\"comment\":{\"alignment\":{\"against\":\"Ellenzem\",\"in_favor\":\"Támogatom\"},\"deleted_user\":\"Törölt felhasználó\",\"hide_replies\":\"Válaszok elrejtése\",\"reply\":\"Válasz\",\"report\":{\"action\":\"Jelentés\",\"already_reported\":\"Ezt a tartalmat már jelentették, az adminisztrátor éppen felülvizsgálja.\",\"close\":\"Bezárás\",\"description\":\"Sértő a tartalom?\",\"details\":\"További megjegyzések\",\"reasons\":{\"does_not_belong\":\"Illegális tevékenységet, öngyilkosságra való felhívást, személyes adatokat vagy más olyan dolgot tartalmaz, ami nem tartozik ide: %{organization_name}.\",\"offensive\":\"Rasszizmust, szexizmust, gyalázkodást, személyeskedést, halálos fenyegetést, öngyilkosságra való felhívást vagy gyűlöletbeszédet tartalmaz.\",\"spam\":\"Klikkvadászat, reklám, átverés vagy script bot.\"}},\"show_replies\":\"%{replies_count} válasz mutatása\",\"single_comment_link_title\":\"Link a kommenthez\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Legjobbra értékelt\",\"most_discussed\":\"Leginkább vitatott\",\"older\":\"Korábbi\",\"recent\":\"Legutóbbi\"},\"title\":\"Rendezés:\"},\"comment_thread\":{\"title\":\"Beszélgetés vele: %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Ebben a pillanatban nem tud megjegyzéseket tenni, de elolvashatja az előzőeket.\",\"blocked_comments_warning\":\"A megjegyzések jelenleg le vannak tiltva, de a korábbiakat elolvashatod.\",\"comment_details_title\":\"Megjegyzés részletei\",\"loading\":\"Hozzászólások betöltése ...\",\"single_comment_warning\":\"A többi hozzászólást <a href=\\\"%{url}\\\">itt</a> ellenőrizheti.\",\"single_comment_warning_title\":\"Egyetlen megjegyzést látsz\",\"title\":\"%{count} megjegyzés\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} megjegyzést hagyott itt: %{resource_title}. Ezen az oldalon megtalálod:\",\"email_outro\":\"Ezt az értesítést azért kaptad, mert ezt követed: \\\"%{author_name}\\\". Leiratkozás az előző link segítségével.\",\"email_subject\":\"%{author_name} új megjegyzése itt: %{resource_title}\",\"notification_title\":\"Új megjegyzés: <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"A csoport %{author_name} megjegyzést hagyott itt: %{resource_title}. Ezen az oldalon megtalálod:\",\"email_outro\":\"Ezt az értesítést azért kaptad, mert követed: \\\"%{author_name}\\\". Leiratkozáshoz látogasd meg ezt a csoportod a profiloldaláról.\",\"email_subject\":\"%{author_name} új megjegyzése itt: %{resource_title}\",\"notification_title\":\"Új megjegyzés: <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"A \\\"%{resource_title}\\\" témához megjegyzést fűzött valaki. Itt tudod elolvasni:\",\"email_outro\":\"Ezt az értesítést azért kaptad, mert ezt (vagy ennek szerzőjét) követed: \\\"%{resource_title}\\\". Ha szeretnél, a link segítségével leiratkozhatsz.\",\"email_subject\":\"Új megjegyzés érkezett ehhez: %{resource_title}, tőle: %{author_name}\",\"notification_title\":\"Új megjegyzés tőle: <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>, ehhez: <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} megjegyzést fűzött ehhez: %{resource_title}. Ezen az oldalon megtalálod:\",\"email_outro\":\"Ezt az értesítést azért kaptad, mert valaki választolt a mejegyzésedre.\",\"email_subject\":\"%{author_name} megjegyzést tett a kommentedhez itt: %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> válaszolt a megjegyzésedre itt: <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Említettek egy csoportot, amelybe tartozol\",\"email_outro\":\"Azért kapta ezt az értesítést, mert tagja annak a(z) %{group_name} csoportnak, amelyet a(z) %{resource_title} megemlített.\",\"email_subject\":\"A(z) %{resource_title} -ban említettek, a(z) %{group_name} tagjaként\",\"notification_title\":\"A(z) <a href=\\\"%{resource_path}\\\">%{resource_title}</a> -ban a <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> megemlített a(z) <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname} </a> tagjaként\"},\"user_mentioned\":{\"email_intro\":\"Valaki említette a neved\",\"email_outro\":\"Ezt az értesítést azért kaptad, mert korábban megemlítettek a(z) \\\"%{resource_title}\\\" témában.\",\"email_subject\":\"Megemlítettek a(z) %{resource_title} témában\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> megemlített itt: <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"A felhasználók által generált megjegyzések száma\",\"object\":\"Hozzászólások\",\"title\":\"Hozzászólások\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nem tudsz megjegyzéseket tenni\"}}}}","module.exports = {\"id\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentar\",\"decidim/comments/comment_created_event\":\"Komentar\",\"decidim/comments/reply_created_event\":\"Balasan komentar\",\"decidim/comments/user_group_mentioned_event\":\"Menyebut\",\"decidim/comments/user_mentioned_event\":\"Menyebut\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"other\":\"Komentar\"},\"decidim/comments/comment_vote\":{\"other\":\"Voting\"}}},\"decidim\":{\"comments\":{\"comments\":\"Komentar\",\"last_activity\":{\"new_comment_at_html\":\"<span>Komentar baru di %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Terjadi masalah saat memilih komentar.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Masuk dengan akun Anda</a> atau <a href=\\\"%{sign_up_url}\\\">mendaftar</a> untuk menambahkan komentar Anda.\",\"form\":{\"body\":{\"label\":\"Komentar\",\"placeholder\":\"Apa yang Anda pikirkan tentang ini?\"},\"form_error\":\"Teks diperlukan dan tidak boleh lebih dari %{length} karakter.\",\"submit\":\"Kirim\",\"user_group_id\":{\"label\":\"Beri komentar sebagai\"}},\"opinion\":{\"neutral\":\"Netral\"},\"remaining_characters\":\"%{count} karakter tersisa\",\"remaining_characters_1\":\"%{count} karakter tersisa\",\"title\":\"Tambahkan komentar Anda\"},\"comment\":{\"alignment\":{\"against\":\"Melawan\",\"in_favor\":\"Mendukung\"},\"deleted_user\":\"Peserta yang dihapus\",\"reply\":\"Balasan\",\"report\":{\"action\":\"Melaporkan\",\"already_reported\":\"Konten ini sudah dilaporkan dan akan ditinjau oleh admin.\",\"close\":\"Dekat\",\"description\":\"Apakah konten ini tidak pantas?\",\"details\":\"Komentar tambahan\",\"reasons\":{\"does_not_belong\":\"Berisi aktivitas ilegal, ancaman bunuh diri, informasi pribadi, atau sesuatu yang menurut Anda bukan milik %{organization_name}\",\"offensive\":\"Berisi rasisme, seksisme, penghinaan, serangan pribadi, ancaman kematian, permintaan bunuh diri atau segala bentuk pidato kebencian.\",\"spam\":\"Berisi clickbait, iklan, penipuan atau bot skrip.\"}}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Nilai terbaik\",\"most_discussed\":\"Paling banyak dibicarakan\",\"older\":\"Lebih tua\",\"recent\":\"Baru\"},\"title\":\"Dipesan oleh:\"},\"comment_thread\":{\"title\":\"Percakapan dengan %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Anda tidak dapat berkomentar saat ini, tetapi Anda dapat membaca yang sebelumnya.\",\"blocked_comments_warning\":\"Komentar dinonaktifkan saat ini, tetapi Anda dapat membaca yang sebelumnya.\",\"loading\":\"Memuat komentar ...\",\"title\":\"%{count} komentar\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} telah menulis komentar dalam %{resource_title}. Anda dapat membacanya di halaman ini:\",\"email_outro\":\"Anda telah menerima pemberitahuan ini karena Anda mengikuti %{author_name}. Anda dapat berhenti mengikuti pengguna ini dari halaman profil mereka.\",\"email_subject\":\"Ada komentar baru dengan %{author_name} in %{resource_title}\",\"notification_title\":\"Ada komentar baru oleh <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> di <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"Ada komentar baru dengan %{author_name} in %{resource_title}\",\"notification_title\":\"Ada komentar baru oleh <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> di <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} telah dikomentari. Anda dapat membaca komentar di halaman ini:\",\"email_outro\":\"Anda telah menerima pemberitahuan ini karena Anda mengikuti \\\"%{resource_title}\\\" atau penulisnya. Anda dapat berhenti mengikutinya dari tautan sebelumnya.\",\"email_subject\":\"Ada komentar baru dari %{author_name} in %{resource_title}\",\"notification_title\":\"Ada komentar baru dari <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> di <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} telah membalas komentar Anda dalam %{resource_title}. Anda dapat membacanya di halaman ini:\",\"email_outro\":\"Anda telah menerima pemberitahuan ini karena komentar Anda dijawab.\",\"email_subject\":\"%{author_name} telah membalas komentar Anda dalam %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> telah menjawab komentar Anda di <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Anda telah disebutkan\",\"email_outro\":\"Anda telah menerima pemberitahuan ini karena Anda telah disebutkan dalam %{resource_title}.\",\"email_subject\":\"Anda telah disebutkan dalam %{resource_title}\",\"notification_title\":\"Anda telah disebutkan dalam <a href=\\\"%{resource_path}\\\">%{resource_title}</a> oleh <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Jumlah komentar yang dihasilkan oleh peserta\",\"object\":\"komentar\",\"title\":\"Komentar\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"tidak dapat memiliki komentar\"}}}}","module.exports = {\"is-IS\":{\"decidim\":{\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Skráðu þig inn með reikningnum þínum</a> eða <a href=\\\"%{sign_up_url}\\\">skráðu þig</a> til að bæta við ummælum þínum.\",\"form\":{\"body\":{\"label\":\"Athugasemd\",\"placeholder\":\"Hvað finnst þér um þetta?\"},\"form_error\":\"Textinn er krafist og það má ekki vera lengri en %{length} stafir.\",\"submit\":\"Senda\",\"user_group_id\":{\"label\":\"Athugasemd sem\"}},\"opinion\":{\"neutral\":\"Hlutlaus\"},\"remaining_characters\":\"%{count} stafir eftir\",\"remaining_characters_1\":\"%{count} stafur eftir\",\"title\":\"Bæta við athugasemd þinni\"},\"comment\":{\"alignment\":{\"against\":\"Gegn\",\"in_favor\":\"Í hag\"},\"reply\":\"Svara\",\"report\":{\"action\":\"Skýrsla\",\"already_reported\":\"Þetta efni er þegar tilkynnt og það verður endurskoðað af stjórnanda.\",\"close\":\"Loka\",\"description\":\"Er þetta efni óviðeigandi?\",\"details\":\"Önnur athugasemdir\",\"reasons\":{\"does_not_belong\":\"Inniheldur ólöglega starfsemi, sjálfsvígshugmyndir, persónulegar upplýsingar eða eitthvað sem þér finnst ekki tilheyra %{organization_name}.\",\"offensive\":\"Inniheldur kynþáttafordóma, kynhneigð, slurðir, persónulegar árásir, dauðarefsárásir, sjálfsvígstilraunir eða hvers konar hatursmál.\",\"spam\":\"Inniheldur clickbait, auglýsingar, óþekktarangi eða handritabots.\"}}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Bestu einkunnir\",\"most_discussed\":\"Mest rætt\",\"older\":\"Eldri\",\"recent\":\"Nýleg\"},\"title\":\"Raða eftir:\"},\"comment_thread\":{\"title\":\"Samtal við %{authorName}\"},\"comments\":{\"blocked_comments_warning\":\"Athugasemdir eru gerðar óvirkar á þessum tíma, en þú getur lesið þau fyrri.\",\"loading\":\"Hleð inn athugasemdir ...\",\"title\":\"%{count} athugasemdir\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} hefur skilið eftir athugasemd í %{resource_title}. Þú getur lesið það á þessari síðu:\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með %{author_name}. Þú getur sleppt þessari notanda frá prófílssíðunni sinni.\",\"email_subject\":\"Það er nýtt ummæli um %{author_name} í %{resource_title}\",\"notification_title\":\"Það er nýtt ummæli við <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"Það er nýtt ummæli um %{author_name} í %{resource_title}\",\"notification_title\":\"Það er nýtt ummæli við <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} hefur verið skrifað ummæli. Þú getur lesið athugasemdina á þessari síðu:\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með \\\"%{resource_title}\\\" eða höfundinum. Þú getur sleppt því frá fyrri tengilinn.\",\"email_subject\":\"Það er nýtt ummæli frá %{author_name} í %{resource_title}\",\"notification_title\":\"Það er nýtt ummæli frá <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} hefur svarað ummæli þín í %{resource_title}. Þú getur lesið það á þessari síðu:\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að ummæli þín voru svarað.\",\"email_subject\":\"%{author_name} hefur svarað ummæli þín í %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> hefur svarað athugasemd þinni í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Þú hefur verið nefndur\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að þú hefur verið nefndur í %{resource_title}.\",\"email_subject\":\"Þú hefur verið nefndur í %{resource_title}\",\"notification_title\":\"Þú hefur verið nefndur í <a href=\\\"%{resource_path}\\\">%{resource_title}</a> af <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"getur ekki haft athugasemdir\"}}}}","module.exports = {\"is\":{\"decidim\":{\"comments\":{\"comments\":\"Athugasemdir\"},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Skráðu þig inn með reikningnum þínum</a> eða <a href=\\\"%{sign_up_url}\\\">skráðu þig</a> til að bæta við ummælum þínum.\",\"form\":{\"body\":{\"label\":\"Athugasemd\",\"placeholder\":\"Hvað finnst þér um þetta?\"},\"form_error\":\"Textinn er krafist og það má ekki vera lengri en %{length} stafir.\",\"submit\":\"Senda\",\"user_group_id\":{\"label\":\"Athugasemd sem\"}},\"opinion\":{\"neutral\":\"Hlutlaus\"},\"remaining_characters\":\"%{count} stafir eftir\",\"remaining_characters_1\":\"%{count} stafur eftir\",\"title\":\"Bæta við athugasemd þinni\"},\"comment\":{\"alignment\":{\"against\":\"Gegn\",\"in_favor\":\"Í hag\"},\"reply\":\"Svara\",\"report\":{\"action\":\"Skýrsla\",\"already_reported\":\"Þetta efni er þegar tilkynnt og það verður endurskoðað af stjórnanda.\",\"close\":\"Loka\",\"description\":\"Er þetta efni óviðeigandi?\",\"details\":\"Önnur athugasemdir\",\"reasons\":{\"does_not_belong\":\"Inniheldur ólöglega starfsemi, sjálfsvígshugmyndir, persónulegar upplýsingar eða eitthvað sem þér finnst ekki tilheyra %{organization_name}.\",\"offensive\":\"Inniheldur kynþáttafordóma, kynhneigð, slurðir, persónulegar árásir, dauðarefsárásir, sjálfsvígstilraunir eða hvers konar hatursmál.\",\"spam\":\"Inniheldur clickbait, auglýsingar, óþekktarangi eða handritabots.\"}}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Bestu einkunnir\",\"most_discussed\":\"Mest rætt\",\"older\":\"Eldri\",\"recent\":\"Nýleg\"},\"title\":\"Raða eftir:\"},\"comment_thread\":{\"title\":\"Samtal við %{authorName}\"},\"comments\":{\"blocked_comments_warning\":\"Athugasemdir eru gerðar óvirkar á þessum tíma, en þú getur lesið þau fyrri.\",\"loading\":\"Hleð inn athugasemdir ...\",\"title\":\"%{count} athugasemdir\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} hefur skilið eftir athugasemd í %{resource_title}. Þú getur lesið það á þessari síðu:\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með %{author_name}. Þú getur sleppt þessari notanda frá prófílssíðunni sinni.\",\"email_subject\":\"Það er nýtt ummæli um %{author_name} í %{resource_title}\",\"notification_title\":\"Það er nýtt ummæli við <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"Það er nýtt ummæli um %{author_name} í %{resource_title}\",\"notification_title\":\"Það er nýtt ummæli við <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} hefur verið skrifað ummæli. Þú getur lesið athugasemdina á þessari síðu:\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með \\\"%{resource_title}\\\" eða höfundinum. Þú getur sleppt því frá fyrri tengilinn.\",\"email_subject\":\"Það er nýtt ummæli frá %{author_name} í %{resource_title}\",\"notification_title\":\"Það er nýtt ummæli frá <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} hefur svarað ummæli þín í %{resource_title}. Þú getur lesið það á þessari síðu:\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að ummæli þín voru svarað.\",\"email_subject\":\"%{author_name} hefur svarað ummæli þín í %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> hefur svarað athugasemd þinni í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Þú hefur verið nefndur\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að þú hefur verið nefndur í %{resource_title}.\",\"email_subject\":\"Þú hefur verið nefndur í %{resource_title}\",\"notification_title\":\"Þú hefur verið nefndur í <a href=\\\"%{resource_path}\\\">%{resource_title}</a> af <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"getur ekki haft athugasemdir\"}}}}","module.exports = {\"it\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Commento\",\"decidim/comments/comment_created_event\":\"Commento\",\"decidim/comments/reply_created_event\":\"Risposta al commento\",\"decidim/comments/user_group_mentioned_event\":\"Citare\",\"decidim/comments/user_mentioned_event\":\"Citare\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Commento\",\"other\":\"Commenti\"},\"decidim/comments/comment_vote\":{\"one\":\"Votazione\",\"other\":\"voti\"}}},\"decidim\":{\"comments\":{\"comments\":\"Commenti\",\"comments_count\":\"Conteggio dei Commenti\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nuovo commento al %{link}</span>\"},\"view\":\"Visualizza\",\"votes\":{\"create\":{\"error\":\"Ci sono stati errori durante la votazione del commento.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Connessione con il tuo account</a> o <a href=\\\"%{sign_up_url}\\\">Sign up</a> per aggiungere il tuo commento.\",\"form\":{\"body\":{\"label\":\"Commenta\",\"placeholder\":\"Cosa ne pensi?\"},\"form_error\":\"Il testo è necessario, deve essere obbligatoriamente indicato (max %{length} caratteri).\",\"submit\":\"Invia\",\"user_group_id\":{\"label\":\"Commenta come\"}},\"opinion\":{\"neutral\":\"Neutro\"},\"remaining_characters\":\"%{count} caratteri rimasti\",\"remaining_characters_1\":\"%{count} carattere sinistro\",\"title\":\"Aggiungi il tuo commento\"},\"comment\":{\"alignment\":{\"against\":\"Contro\",\"in_favor\":\"A favore\"},\"deleted_user\":\"Utente cancellato\",\"hide_replies\":\"Nascondi risposte\",\"reply\":\"Rispondi\",\"report\":{\"action\":\"Report\",\"already_reported\":\"Questo contenuto è già stato indicato e sarà revisionato da un utente Admnistrator.\",\"close\":\"Chiudi\",\"description\":\"Trovi questo contenuto inappropriato?\",\"details\":\"motivazione\",\"reasons\":{\"does_not_belong\":\"Contiene un'attività illegale, istigazioni al suicidio, minacce, informazioni personali o riservate, oppure vi sono dei contenuti che reputi inappropriati per %{organization_name}.\",\"offensive\":\"Vi sono contenuti razzisti, sessisti, offensivi, attacchi di carattere personale, minacce di morte o altro tipo di minacci, istigazioni al suicidio o altre forme d'odio verbale.\",\"spam\":\"Contiene pubblicità, truffe, clickbait (\\\"esca da click\\\") o altro contenuto mirato ad attrarre traffico internet.\"},\"title\":\"Segnala contenuti inappropriati\"},\"show_replies\":\"Mostra %{replies_count} risposte\",\"single_comment_link_title\":\"Ottieni link a singolo commento\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Favoriti\",\"most_discussed\":\"Più discussi\",\"older\":\"Più vecchi\",\"recent\":\"Più recenti\"},\"title\":\"Ordina per:\"},\"comment_thread\":{\"title\":\"Conversazioni con %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Non sei in grado di commentare in questo momento, ma puoi leggere quelli precedenti.\",\"blocked_comments_warning\":\"I commenti sono disabilitati in questo momento, ma puoi leggere quelli precedenti.\",\"comment_details_title\":\"Dettagli commento\",\"loading\":\"Sto caricando i commenti ...\",\"single_comment_warning\":\"Puoi controllare il resto dei commenti <a href=\\\"%{url}\\\">qui</a>.\",\"single_comment_warning_title\":\"Stai vedendo un singolo commento\",\"title\":\"%{count} commenti\"},\"down_vote_button\":{\"text\":\"Non sono d'accordo con questo commento\"},\"up_vote_button\":{\"text\":\"Sono d'accordo con questo commento\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ha lasciato un commento in %{resource_title}. Puoi leggerlo in questa pagina:\",\"email_outro\":\"Hai ricevuto questa notifica perché stai seguendo %{author_name}. Puoi smettere di seguire questo utente dalla pagina del profilo.\",\"email_subject\":\"C'è un nuovo commento di %{author_name} in %{resource_title}\",\"notification_title\":\"C'è un nuovo commento di <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Il gruppo %{author_name} ha lasciato un commento in %{resource_title}. Puoi leggerlo in questa pagina:\",\"email_outro\":\"Hai ricevuto questa notifica perché stai seguendo \\\"%{author_name}\\\". Puoi smettere di seguirlo cliccando sul link precedente.\",\"email_subject\":\"C'è un nuovo commento di %{author_name} in %{resource_title}\",\"notification_title\":\"C'è un nuovo commento di <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} è stato commentato. Puoi leggere il commento in questa pagina:\",\"email_outro\":\"Hai ricevuto questa notifica perché stai seguendo \\\"%{resource_title}\\\" o il suo autore. Puoi smettere di seguirlo dal link precedente.\",\"email_subject\":\"C'è un nuovo commento da %{author_name} in %{resource_title}\",\"notification_title\":\"C'è un nuovo commento da <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} ha risposto il tuo commento in %{resource_title}. Puoi leggerlo in questa pagina:\",\"email_outro\":\"Hai ricevuto questa notifica perché il tuo commento è stato risposto.\",\"email_subject\":\"%{author_name} ha risposto il tuo commento in %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ha risposto il tuo commento in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"È stato menzionato un gruppo a cui appartieni\",\"email_outro\":\"Hai ricevuto questa notifica perché appartieni al gruppo %{group_name} che è stato menzionato in %{resource_title}.\",\"email_subject\":\"Ti si nomina in %{resource_title} come appartenente a %{group_name}\",\"notification_title\":\"Ti si nomina in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> come appartenente a <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Sei stato menzionato\",\"email_outro\":\"Hai ricevuto questa notifica perché sei stato citato in %{resource_title}.\",\"email_subject\":\"Sei stato menzionato in %{resource_title}\",\"notification_title\":\"Sei stato citato in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> di <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Numero di commenti generati dagli utenti\",\"object\":\"Commenti\",\"title\":\"Commenti\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"non si possono fare commenti\"}}}}","module.exports = {\"ja\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"コメント\",\"decidim/comments/comment_created_event\":\"コメント\",\"decidim/comments/reply_created_event\":\"コメント返信\",\"decidim/comments/user_group_mentioned_event\":\"メンション\",\"decidim/comments/user_mentioned_event\":\"メンション\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"other\":\"コメント\"},\"decidim/comments/comment_vote\":{\"other\":\"投票\"}}},\"decidim\":{\"comments\":{\"comments\":\"コメント\",\"comments_count\":\"コメント数\",\"last_activity\":{\"new_comment_at_html\":\"<span> %{link}に新しいコメント</span>\"},\"votes\":{\"create\":{\"error\":\"コメントに投票中に問題がありました。\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">アカウント</a> または <a href=\\\"%{sign_up_url}\\\">サインアップ</a> でコメントを追加します。\",\"form\":{\"body\":{\"label\":\"コメント\",\"placeholder\":\"これについてどう思いますか?\"},\"form_error\":\"テキストは必須で、 %{length} 文字を超えることはできません。\",\"submit\":\"送信\",\"user_group_id\":{\"label\":\"コメント:\"}},\"opinion\":{\"neutral\":\"ニュートラル\"},\"remaining_characters\":\"残り %{count} 文字\",\"remaining_characters_1\":\"残り%{count} 文字\",\"title\":\"コメントを追加\"},\"comment\":{\"alignment\":{\"against\":\"<unk>\",\"in_favor\":\"<unk>\"},\"deleted_user\":\"参加者を削除しました\",\"hide_replies\":\"返信を非表示\",\"reply\":\"返信\",\"report\":{\"action\":\"レポート\",\"already_reported\":\"このコンテンツはすでに報告されており、管理者が確認します。\",\"close\":\"閉じる\",\"description\":\"このコンテンツは不適切ですか?\",\"details\":\"追加コメント\",\"reasons\":{\"does_not_belong\":\"違法行為、自殺の脅威、個人情報、または %{organization_name} に属していないと思われる何かが含まれています。\",\"offensive\":\"人種差別、性差別、スラー、個人攻撃、死の脅威、自殺要求やあらゆる形態の憎悪スピーチが含まれています。\",\"spam\":\"クリックベイト、広告、詐欺やスクリプトボットが含まれています。\"},\"title\":\"不適切なコンテンツを報告する\"},\"show_replies\":\"%{replies_count} 件の返信を表示\",\"single_comment_link_title\":\"シングルコメントへのリンクを取得\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"最高評価\",\"most_discussed\":\"最も議論されたもの\",\"older\":\"古い順\",\"recent\":\"最近のもの\"},\"title\":\"並び順:\"},\"comment_thread\":{\"title\":\"%{authorName} との会話\"},\"comments\":{\"blocked_comments_for_user_warning\":\"現時点ではコメントできませんが、以前のコメントを読むことができます。\",\"blocked_comments_warning\":\"コメントは現時点で無効になっていますが、以前のコメントを読むことができます。\",\"comment_details_title\":\"コメントの詳細\",\"loading\":\"コメントを読み込んでいます...\",\"single_comment_warning\":\"コメントの残りはこちら <a href=\\\"%{url}\\\"></a>で確認できます。\",\"single_comment_warning_title\":\"単一のコメントが表示されています\",\"title\":\"%{count} 件のコメント\"},\"down_vote_button\":{\"text\":\"このコメントに同意しない\"},\"up_vote_button\":{\"text\":\"このコメントに同意します\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} は %{resource_title}にコメントを残しました。このページで読むことができます:\",\"email_outro\":\"%{author_name}をフォローしているため、この通知を受け取りました。プロフィールページからこのユーザーのフォローを解除することができます。\",\"email_subject\":\"%{author_name} に %{resource_title} による新しいコメントがあります\",\"notification_title\":\"There is a new comment by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"グループ %{author_name} は %{resource_title}にコメントを残しました。このページで読むことができます:\",\"email_outro\":\"%{author_name}をフォローしているため、この通知を受け取りました。プロフィールページからこのグループのフォローを解除できます。\",\"email_subject\":\"%{author_name} に %{resource_title} による新しいコメントがあります\",\"notification_title\":\"There is a new comment by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} はコメントされました。このページでコメントを読むことができます:\",\"email_outro\":\"\\\"%{resource_title}\\\" またはその著者をフォローしているため、この通知を受け取りました。前のリンクからフォローを解除することができます。\",\"email_subject\":\"%{author_name} に %{resource_title} から新しいコメントがあります\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> から <a href=\\\"%{resource_path}\\\">%{resource_title}に新しいコメントがあります</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} は %{resource_title}であなたのコメントを返信しました。このページで読むことができます:\",\"email_outro\":\"コメントが返信されたため、この通知を受信しました。\",\"email_subject\":\"%{author_name} が %{resource_title} であなたのコメントに返信しました\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> が <a href=\\\"%{resource_path}\\\">%{resource_title}</a> であなたのコメントに返信しました\"},\"user_group_mentioned\":{\"email_intro\":\"あなたが所属しているグループがメンションされました\",\"email_outro\":\"あなたは %{group_name} でメンションされたグループ %{resource_title} のメンバーであるため、この通知を受け取りました。\",\"email_subject\":\"あなたは %{resource_title} で %{group_name} のメンバーとしてメンションされました\",\"notification_title\":\"あなたは <a href=\\\"%{resource_path}\\\">%{resource_title}</a> に <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> のメンバとして <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"あなたはメンションされています\",\"email_outro\":\"あなたが %{resource_title}でメンションされたため、この通知を受け取りました。\",\"email_subject\":\"あなたは %{resource_title} でメンションされました\",\"notification_title\":\"あなたは <a href=\\\"%{resource_path}\\\">%{resource_title}</a> で <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}によってメンションされました</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"出席者によって生成されたコメント数\",\"object\":\"コメント\",\"title\":\"コメント\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"コメントを持つことはできません\"}}}}","module.exports = {\"ja\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"コメント\",\"decidim/comments/comment_created_event\":\"コメント\",\"decidim/comments/reply_created_event\":\"コメント返信\",\"decidim/comments/user_group_mentioned_event\":\"メンション\",\"decidim/comments/user_mentioned_event\":\"メンション\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"other\":\"コメント\"},\"decidim/comments/comment_vote\":{\"other\":\"投票\"}}},\"decidim\":{\"comments\":{\"comments\":\"コメント\",\"comments_count\":\"コメント数\",\"last_activity\":{\"new_comment_at_html\":\"<span> %{link}に新しいコメント</span>\"},\"view\":\"表示\",\"votes\":{\"create\":{\"error\":\"コメントに投票中に問題がありました。\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">ログイン</a> または <a href=\\\"%{sign_up_url}\\\">新規登録</a> することでコメントできます。\",\"form\":{\"body\":{\"label\":\"コメント\",\"placeholder\":\"これについてどう思いますか?\"},\"form_error\":\"テキストは必須で、 %{length} 文字を超えることはできません。\",\"submit\":\"送信\",\"user_group_id\":{\"label\":\"コメント:\"}},\"opinion\":{\"neutral\":\"中立\"},\"remaining_characters\":\"残り %{count} 文字\",\"remaining_characters_1\":\"残り%{count} 文字\",\"title\":\"コメントを追加\"},\"comment\":{\"alignment\":{\"against\":\"反対\",\"in_favor\":\"賛成\"},\"deleted_user\":\"退会者\",\"hide_replies\":\"返信を非表示\",\"reply\":\"返信\",\"report\":{\"action\":\"レポート\",\"already_reported\":\"このコンテンツはすでに報告されており、管理者が確認します。\",\"close\":\"閉じる\",\"description\":\"このコンテンツは不適切ですか?\",\"details\":\"追加コメント\",\"reasons\":{\"does_not_belong\":\"違法行為、個人情報、または %{organization_name} に属していないと思われる内容が含まれています。\",\"offensive\":\"差別的な内容、誹謗中傷などの不適切な内容が含まれています。\",\"spam\":\"本来の内容に関係が無い広告、詐欺や悪意のある処理などが含まれています。\"},\"title\":\"不適切なコンテンツを報告する\"},\"show_replies\":\"%{replies_count} 件の返信を表示\",\"single_comment_link_title\":\"シングルコメントへのリンクを取得\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"最高評価\",\"most_discussed\":\"最も議論されたもの\",\"older\":\"古い順\",\"recent\":\"最近のもの\"},\"title\":\"並び順:\"},\"comment_thread\":{\"title\":\"%{authorName} との会話\"},\"comments\":{\"blocked_comments_for_user_warning\":\"現時点ではコメントできませんが、以前のコメントを読むことができます。\",\"blocked_comments_warning\":\"コメントは現時点で無効になっていますが、以前のコメントを読むことができます。\",\"comment_details_title\":\"コメントの詳細\",\"loading\":\"コメントを読み込んでいます...\",\"single_comment_warning\":\"コメントの残りは <a href=\\\"%{url}\\\">こちら</a>で確認できます。\",\"single_comment_warning_title\":\"コメントを1件のみ表示しています\",\"title\":\"%{count} 件のコメント\"},\"down_vote_button\":{\"text\":\"このコメントに同意しません\"},\"up_vote_button\":{\"text\":\"このコメントに同意します\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} は %{resource_title}にコメントを残しました。このページで読むことができます:\",\"email_outro\":\"%{author_name}をフォローしているため、この通知を受け取りました。プロフィールページからこのユーザーのフォローを解除することができます。\",\"email_subject\":\"%{author_name} から %{resource_title} に対して新しいコメントがあります\",\"notification_title\":\"There is a new comment by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"グループ %{author_name} は %{resource_title}にコメントを残しました。このページで読むことができます:\",\"email_outro\":\"%{author_name}をフォローしているため、この通知を受け取りました。プロフィールページからこのグループのフォローを解除できます。\",\"email_subject\":\"%{author_name} から %{resource_title} に対して新しいコメントがあります\",\"notification_title\":\"There is a new comment by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} はコメントされました。このページでコメントを読むことができます:\",\"email_outro\":\"\\\"%{resource_title}\\\" 、またはその参加者をフォローしているためこの通知を受け取りました。前のリンクからフォローを解除することができます。\",\"email_subject\":\"%{author_name} から %{resource_title} に対して新しいコメントがあります\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> から <a href=\\\"%{resource_path}\\\">%{resource_title} に対して新しいコメントがあります</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} は %{resource_title}であなたのコメントを返信しました。このページで読むことができます:\",\"email_outro\":\"コメントが返信されたため、この通知を受信しました。\",\"email_subject\":\"%{author_name} が %{resource_title} であなたのコメントに返信しました\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> が <a href=\\\"%{resource_path}\\\">%{resource_title}</a> であなたのコメントに返信しました\"},\"user_group_mentioned\":{\"email_intro\":\"あなたが所属しているグループがメンションされました\",\"email_outro\":\"あなたは %{group_name} でメンションされたグループ %{resource_title} のメンバーであるため、この通知を受け取りました。\",\"email_subject\":\"あなたは %{resource_title} で %{group_name} のメンバーとしてメンションされました\",\"notification_title\":\"あなたは <a href=\\\"%{resource_path}\\\">%{resource_title}</a> に <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> のメンバとして <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"あなたはメンションされています\",\"email_outro\":\"あなたが %{resource_title}でメンションされたため、この通知を受け取りました。\",\"email_subject\":\"あなたは %{resource_title} でメンションされました\",\"notification_title\":\"あなたは <a href=\\\"%{resource_path}\\\">%{resource_title}</a> で <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}によってメンションされました</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"出席者によって生成されたコメント数\",\"object\":\"コメント\",\"title\":\"コメント\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"コメントを持つことはできません\"}}}}","module.exports = {\"ko\":null}","module.exports = {\"ko\":null}","module.exports = {\"lt\":null}","module.exports = {\"lt\":null}","module.exports = {\"lv\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentēt\",\"decidim/comments/comment_created_event\":\"Komentēt\",\"decidim/comments/reply_created_event\":\"Atbildēt uz komentāru\",\"decidim/comments/user_group_mentioned_event\":\"Pieminēt\",\"decidim/comments/user_mentioned_event\":\"Pieminēt\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"zero\":\"Komentāri\",\"one\":\"Komentēt\",\"other\":\"Komentāri\"},\"decidim/comments/comment_vote\":{\"zero\":\"Balsis\",\"one\":\"Balsot\",\"other\":\"Balsis\"}}},\"decidim\":{\"comments\":{\"comments\":\"Komentāri\",\"last_activity\":{\"new_comment_at_html\":\"<span>Jauns komentārs %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Balsojot par komentāru, radās problēma.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Pierakstieties, izmantojot savu kontu</a> vai <a href=\\\"%{sign_up_url}\\\"> reģistrējieties, </a>, lai pievienotu komentāru.\",\"form\":{\"body\":{\"label\":\"Komentēt\",\"placeholder\":\"Ko tu domā par šo?\"},\"form_error\":\"Šis teksts ir nepieciešams, un tas nedrīkst būt garāks par %{length} rakstzīmēm.\",\"submit\":\"Sūtīt\",\"user_group_id\":{\"label\":\"Komentēt kā\"}},\"opinion\":{\"neutral\":\"Neitrāls\"},\"remaining_characters\":\"Palikušas %{count} rakstzīmes\",\"remaining_characters_1\":\"Palikusi %{count} rakstzīme\",\"title\":\"Pievienot savu komentāru\"},\"comment\":{\"alignment\":{\"against\":\"Pret\",\"in_favor\":\"Par\"},\"deleted_user\":\"Dzēsts dalībnieks\",\"hide_replies\":\"Slēpt atbildes\",\"reply\":\"Atbildēt\",\"report\":{\"action\":\"Ziņot\",\"already_reported\":\"Par šo saturu jau ir ziņots, un administrators to pārskatīs.\",\"close\":\"Aizvērt\",\"description\":\"Vai šis saturs ir neatbilstīgs?\",\"details\":\"Papildu komentāri\",\"reasons\":{\"does_not_belong\":\"Satur nelikumīgas darbības, pašnāvības draudus, personisku informāciju vai kaut ko citu, kam, jūsuprāt, nav vietas %{organization_name}.\",\"offensive\":\"Satur rasismu, seksismu, lamuvārdus, personiskus uzbrukumus, nāves draudus, ierosinājumus veikt pašnāvību vai jebkāda veida naida runu.\",\"spam\":\"Satur klikšķu ēsmu (clickbait), reklāmu, krāpšanu vai skriptu robotprogrammatūru.\"}},\"show_replies\":\"Rādīt %{replies_count} atbildes\",\"single_comment_link_title\":\"Iegūt saiti uz atsevišķu komentāru\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Vislabāk novērtētie\",\"most_discussed\":\"Visvairāk apspriestie\",\"older\":\"Vecāki\",\"recent\":\"Nesenie\"},\"title\":\"Sakārtot pēc:\"},\"comment_thread\":{\"title\":\"Saruna ar %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Pašlaik jūs nevarat komentēt, bet jūs varat izlasīt iepriekšējos komentārus.\",\"blocked_comments_warning\":\"Komentāri šobrīd ir atspējoti, bet jūs varat lasīt iepriekšējos komentārus.\",\"comment_details_title\":\"Komentāra informācija\",\"loading\":\"Notiek komentāru ielāde ...\",\"single_comment_warning\":\"Pārējos komentārus varat aplūkot <a href=\\\"%{url}\\\">šeit</a>.\",\"single_comment_warning_title\":\"Jūs redzat vienu komentāru\",\"title\":\"%{count} komentāri\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ir atstājis komentāru %{resource_title}. Jūs to varat izlasīt šajā lapā:\",\"email_outro\":\"Jūs saņēmāt šo paziņojumu, jo sekojat %{author_name}. Jūs varat atsekot šim lietotājam viņa profila lapā.\",\"email_subject\":\"%{resource_title} ir jauns%{author_name} komentārs\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> ir jauns komentārs <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Grupa %{author_name} ir atstājusi komentāru %{resource_title}. Jūs to varat izlasīt šajā lapā:\",\"email_outro\":\"Jūs saņēmāt šo paziņojumu, jo sekojat %{author_name}. Jūs varat atsekot šai grupai no tās profila lapas.\",\"email_subject\":\"%{resource_title} ir jauns%{author_name} komentārs\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> ir jauns komentārs <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} ir komentēts. Jūs varat izlasīt komentāru šajā lapā:\",\"email_outro\":\"Jūs saņēmāt šo paziņojumu, jo sekojat \\\"%{resource_title}\\\" vai tā autoram. Jūs varat atsekot tam no iepriekšējās saites.\",\"email_subject\":\"%{resource_title} ir jauns %{author_name} komentārs\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> ir jauns komentārs <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} atbildēja uz jūsu komentāru %{resource_title}. Jūs to varat izlasīt šajā lapā:\",\"email_outro\":\"Jūs saņēmāt šo paziņojumu, jo kāds atbildēja uz jūsu komentāru.\",\"email_subject\":\"%{author_name} atbildēja uz jūsu komentāru %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> atbildēja uz jūsu komentāru <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Tika pieminēta grupa, kurai jūs piederat\",\"email_outro\":\"Jūs saņēmāt šo paziņojumu, jo esat grupas %{group_name} dalībnieks, kura tika pieminēta %{resource_title}.\",\"email_subject\":\"Jūs esat pieminēts %{resource_title} kā %{group_name} dalībnieks\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title}</a> jūs <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> pieminēja kā <a href=\\\"%{group_path}\\\">%{group_name}%{group_nickname}</a> dalībnieku\"},\"user_mentioned\":{\"email_intro\":\"Jūs esat pieminēts\",\"email_outro\":\"Jūs saņēmāt šo paziņojumu, jo esat pieminēts %{resource_title}.\",\"email_subject\":\"Jūs esat pieminēts %{resource_title}\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title}</a> jūs pieminēja <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Dalībnieku izveidoto komentāru skaits\",\"object\":\"komentāri\",\"title\":\"Komentāri\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nevar komentēt\"}}}}","module.exports = {\"mt\":null}","module.exports = {\"mt\":null}","module.exports = {\"nl\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Commentaar\",\"decidim/comments/comment_created_event\":\"Commentaar\",\"decidim/comments/reply_created_event\":\"Reactie antwoord\",\"decidim/comments/user_group_mentioned_event\":\"Vermelding\",\"decidim/comments/user_mentioned_event\":\"Vermelding\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Commentaar\",\"other\":\"Commentaren\"},\"decidim/comments/comment_vote\":{\"one\":\"Stem\",\"other\":\"Stemmen\"}}},\"decidim\":{\"comments\":{\"comments\":\"Reacties\",\"comments_count\":\"Aantal reacties\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nieuwe opmerking op %{link}</span>\"},\"view\":\"Bekijk\",\"votes\":{\"create\":{\"error\":\"Er is een probleem opgetreden bij het stemmen op de opmerking.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Meld u aan met uw account</a> of <a href=\\\"%{sign_up_url}\\\">schrijf u in</a> om uw reactie toe te voegen.\",\"form\":{\"body\":{\"label\":\"Reactie\",\"placeholder\":\"Wat wil je hierover zeggen?\"},\"form_error\":\"De tekst is verplicht en het kan niet langer zijn dan %{length} tekens.\",\"submit\":\"Verzenden\",\"user_group_id\":{\"label\":\"Reageer als\"}},\"opinion\":{\"neutral\":\"Neutraal\"},\"remaining_characters\":\"%{count} tekens over\",\"remaining_characters_1\":\"%{count} teken over\",\"title\":\"Voeg je reactie toe\"},\"comment\":{\"alignment\":{\"against\":\"Tegen\",\"in_favor\":\"Voor\"},\"deleted_user\":\"Verwijderde deelnemer\",\"hide_replies\":\"Antwoorden verbergen\",\"reply\":\"Antwoord\",\"report\":{\"action\":\"Melden\",\"already_reported\":\"Deze inhoud is al gemeld en het zal worden beoordeeld door een admin.\",\"close\":\"Sluiten\",\"description\":\"Is deze inhoud ongepast?\",\"details\":\"aanvullende opmerkingen\",\"reasons\":{\"does_not_belong\":\"Bevat illegale activiteit, zelfmoord bedreigingen, persoonlijke gegevens, of iets anders dat je denkt dat hoort niet op %{organization_name}.\",\"offensive\":\"Bevat racisme, seksisme, laster, persoonlijke aanvallen, bedreigingen met de dood, zelfmoord verzoeken of enige vorm van haatzaaien.\",\"spam\":\"Bevat clickbait, reclame, oplichting of script bots.\"},\"title\":\"Meld ongepaste inhoud\"},\"show_replies\":\"Toon %{replies_count} reacties\",\"single_comment_link_title\":\"Krijg link naar enkele reactie\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Best beoordeeld\",\"most_discussed\":\"Meest besproken\",\"older\":\"Ouder\",\"recent\":\"Meest recent\"},\"title\":\"Sorteer op:\"},\"comment_thread\":{\"title\":\"Gesprek met %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"U kunt op dit moment geen opmerkingen maken, maar u kunt de vorige wel lezen.\",\"blocked_comments_warning\":\"Reacties zijn op dit moment uitgeschakeld, maar je kan de vorige berichten lezen.\",\"comment_details_title\":\"Reactieonderdelen\",\"loading\":\"Reacties laden...\",\"single_comment_warning\":\"U kunt de rest van de reacties <a href=\\\"%{url}\\\">hier</a> controleren.\",\"single_comment_warning_title\":\"Je ziet een enkele reactie\",\"title\":\"%{count} reacties\"},\"down_vote_button\":{\"text\":\"Ik ben het niet eens met deze reactie\"},\"up_vote_button\":{\"text\":\"Ik ben het eens met deze reactie\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} heeft een reactie achtergelaten in %{resource_title}. Je kan het lezen op deze pagina:\",\"email_outro\":\"Je hebt deze melding ontvangen omdat je %{author_name}volgt. Je kan deze gebruiker ontvolgen via zijn profielpagina.\",\"email_subject\":\"Er is een nieuwe reactie van %{author_name} in %{resource_title}\",\"notification_title\":\"Er is een nieuwe reactie van <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"De groep %{author_name} heeft een reactie achtergelaten in %{resource_title}. Je kunt het op deze pagina lezen:\",\"email_outro\":\"Je hebt deze melding ontvangen omdat je %{author_name}volgt. Je kan stoppen met deze groep te volgen via de profielpagina.\",\"email_subject\":\"Er is een nieuwe reactie van %{author_name} in %{resource_title}\",\"notification_title\":\"Er is een nieuwe reactie van <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} heeft een reactie ontvangen. Je kan de opmerking op deze pagina lezen:\",\"email_outro\":\"Je hebt deze melding ontvangen omdat je '%{resource_title}' of de auteur ervan volgt. Ontvolgen kan door te klikken op de vorige link.\",\"email_subject\":\"Er is een nieuwe reactie van %{author_name} in %{resource_title}\",\"notification_title\":\"Er is een nieuwe reactie van <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} heeft gereageerd op jouw opmerking in %{resource_title}. Lees het via deze link:\",\"email_outro\":\"Je hebt deze melding ontvangen omdat je reactie beantwoord is.\",\"email_subject\":\"%{author_name} heeft op je comment gereageerd in %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> heeft gereageerd op je opmerking in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Een groep waartoe u behoort is genoemd\",\"email_outro\":\"Je hebt deze melding ontvangen omdat je lid bent van de groep %{group_name} die is genoemd in %{resource_title}.\",\"email_subject\":\"U bent genoemd in %{resource_title} als lid van %{group_name}\",\"notification_title\":\"U bent genoemd in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> door <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> als lid van <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Iemand heeft je getagd\",\"email_outro\":\"Je hebt deze melding ontvangen omdat je bent getagd in %{resource_title}.\",\"email_subject\":\"Je bent getagd in %{resource_title}\",\"notification_title\":\"Je bent getagd in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> door <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Aantal reacties gegenereerd door deelnemers\",\"object\":\"reacties\",\"title\":\"Reacties\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"Kan geen reacties hebben\"}}}}","module.exports = {\"no\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Kommentar\",\"decidim/comments/comment_created_event\":\"Kommentar\",\"decidim/comments/reply_created_event\":\"Kommenter svar\",\"decidim/comments/user_group_mentioned_event\":\"Omtal\",\"decidim/comments/user_mentioned_event\":\"Omtal\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Kommentar\",\"other\":\"Kommentarer\"},\"decidim/comments/comment_vote\":{\"one\":\"Stemme\",\"other\":\"Stemmer\"}}},\"decidim\":{\"comments\":{\"comments\":\"Kommentarer\",\"comments_count\":\"Antall kommentarer\",\"last_activity\":{\"new_comment_at_html\":\"<span>Ny kommentar på %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Det oppstod et problem med å stemme kommentaren.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Logg på med kontoen din</a> eller <a href=\\\"%{sign_up_url}\\\">opprett en</a> for å legge til kommentaren din.\",\"form\":{\"body\":{\"label\":\"Kommentar\",\"placeholder\":\"Hva mener du om dette?\"},\"form_error\":\"Teksten er påkrevd og den kan ikke være lengre enn %{length} tegn.\",\"submit\":\"Send\",\"user_group_id\":{\"label\":\"Kommenter som\"}},\"opinion\":{\"neutral\":\"Nøytral\"},\"remaining_characters\":\"%{count} tegn igjen\",\"remaining_characters_1\":\"%{count} tegn igjen\",\"title\":\"Legg til kommentar\"},\"comment\":{\"alignment\":{\"against\":\"Imot\",\"in_favor\":\"I favør\"},\"deleted_user\":\"Slettet deltaker\",\"hide_replies\":\"Skjul svar\",\"reply\":\"Svar\",\"report\":{\"action\":\"Rapport\",\"already_reported\":\"Dette innholdet er allerede rapportert, og det vil bli vurdert av en administrator.\",\"close\":\"Lukk\",\"description\":\"Er dette innholdet upassende?\",\"details\":\"Ytterlige kommentarer\",\"reasons\":{\"does_not_belong\":\"Inneholder ulovlig aktivitet, selvmordstrusler, personlig informasjon eller noe annet du mener ikke hører hjemme på %{organization_name}.\",\"offensive\":\"Inneholder rasisme, sexisme, banning, persjonangrep, dødstrusler, selvmords forespørsler eller all form for hatefullt språk.\",\"spam\":\"Inneholder klikkagn, reklame, svindel eller manus-roboter.\"},\"title\":\"Rapporter upassende innhold\"},\"show_replies\":\"Vis %{replies_count} svar\",\"single_comment_link_title\":\"Få lenke til enkeltkommentar\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Best vurdert\",\"most_discussed\":\"Mest omtalt\",\"older\":\"Eldre\",\"recent\":\"Nylig\"},\"title\":\"Sorter etter:\"},\"comment_thread\":{\"title\":\"Samtale med %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Du kan ikke kommentere for øyeblikket, men du kan lese de forrige.\",\"blocked_comments_warning\":\"Kommenterer er deaktivert på dette tidspunktet, men du kan lese de forrige.\",\"comment_details_title\":\"Kommenter detaljer\",\"loading\":\"Laster inn kommenterer ...\",\"single_comment_warning\":\"Du kan sjekke resten av kommentarene <a href=\\\"%{url}\\\">her</a>.\",\"single_comment_warning_title\":\"Du ser en enkelt kommentar\",\"title\":\"%{count} kommentarer\"},\"down_vote_button\":{\"text\":\"Jeg er uenig med denne kommentaren\"},\"up_vote_button\":{\"text\":\"Jeg er enig med denne kommentaren\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} har lagt igjen en kommentar i %{resource_title}. Du kan lese den på denne siden:\",\"email_outro\":\"Du har mottatt denne varslingen fordi du følger %{author_name}. Du kan slutte å følge denne brukeren fra dems profil side.\",\"email_subject\":\"Det er en ny kommentar av %{author_name} i %{resource_title}\",\"notification_title\":\"Det er en ny kommentar av <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} har lagt igjen en kommentar i %{resource_title}. Du kan lese den på denne siden:\",\"email_outro\":\"Du har mottatt denne varslingen fordi du følger %{author_name}. Du kan slutte å følge denne brukeren fra deres profilside.\",\"email_subject\":\"Det er en ny kommentar av %{author_name} i %{resource_title}\",\"notification_title\":\"Det er en ny kommentar av <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} har blitt kommentert. Du kan lese kommentaren på denne siden:\",\"email_outro\":\"Du har mottatt denne varslingen fordi du følger \\\"%{resource_title}\\\" eller dens forfatter. Du kan slutte å følge den fra den forrige lenken.\",\"email_subject\":\"Det er en ny kommentar fra %{author_name} i %{resource_title}\",\"notification_title\":\"Det er en ny kommentar fra <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} har svart kommentaren din i %{resource_title}. Du kan lese den på denne siden:\",\"email_outro\":\"Du har mottatt denne varslingen fordi din kommentar er besvart.\",\"email_subject\":\"%{author_name} har svart kommentaren din i %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> har svart kommentaren din i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"En gruppe du er medlem av har blitt nevnt\",\"email_outro\":\"Du får denne varslingen fordi du er medlem av gruppen %{group_name}, som har blitt nevnt i%{resource_title}.\",\"email_subject\":\"Du har blitt nevnt i %{resource_title} som medlem av %{group_name}\",\"notification_title\":\"Du har blitt nevnt i <a href=\\\"%{resource_path}\\\"> %{resource_title} av <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname} som medlem av <a href=\\\"%{group_path}\\\">%{group_name}%{group_nickname}\"},\"user_mentioned\":{\"email_intro\":\"Du har blitt nevnt\",\"email_outro\":\"Du har mottatt denne varslingen fordi du er nevnt i %{resource_title}.\",\"email_subject\":\"Du har blitt nevnt i %{resource_title}\",\"notification_title\":\"Du har blitt nevnt i <a href=\\\"%{resource_path}\\\">%{resource_title}</a> av <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Antall kommenterer generert av deltakerne\",\"object\":\"kommentarer\",\"title\":\"Kommentarer\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"kan ikke ha kommentarer\"}}}}","module.exports = {\"om\":null}","module.exports = {\"pl\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentarz\",\"decidim/comments/comment_created_event\":\"Komentarz\",\"decidim/comments/reply_created_event\":\"Odpowiedź na komentarz\",\"decidim/comments/user_group_mentioned_event\":\"Wzmianka\",\"decidim/comments/user_mentioned_event\":\"Wzmianka\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Komentarz\",\"few\":\"Komentarze\",\"many\":\"Komentarze\",\"other\":\"Komentarze\"},\"decidim/comments/comment_vote\":{\"one\":\"Głos\",\"few\":\"Głosów\",\"many\":\"Głosy\",\"other\":\"Głosy\"}}},\"decidim\":{\"comments\":{\"comments\":\"Komentarze\",\"comments_count\":\"Liczba komentarzy\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nowy komentarz do %{link}</span>\"},\"view\":\"Zobacz\",\"votes\":{\"create\":{\"error\":\"Podczas dodawania komentarza wystąpił błąd.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Zaloguj się na swoje konto</a> lub <a href=\\\"%{sign_up_url}\\\">zarejestruj się</a>, aby dodać komentarz.\",\"form\":{\"body\":{\"label\":\"Komentarz\",\"placeholder\":\"Co o tym myślisz?\"},\"form_error\":\"Tekst jest wymagany. Maksymalna liczba znaków to: %{length}.\",\"submit\":\"Wyślij\",\"user_group_id\":{\"label\":\"Komentuj jako\"}},\"opinion\":{\"neutral\":\"Neutralny\"},\"remaining_characters\":\"Pozostało %{count} znaków\",\"remaining_characters_1\":\"Pozostał %{count} znak\",\"title\":\"Dodaj swój komentarz\"},\"comment\":{\"alignment\":{\"against\":\"Negatywny\",\"in_favor\":\"Pozytywny\"},\"deleted_user\":\"Usunięty użytkownik\",\"hide_replies\":\"Ukryj odpowiedzi\",\"reply\":\"Odpowiedz\",\"report\":{\"action\":\"Zgłoś\",\"already_reported\":\"Ta treść została już zgłoszona i zostanie sprawdzona przez administratora.\",\"close\":\"Zamknij\",\"description\":\"Czy ta treść jest nieodpowiednia?\",\"details\":\"Dodatkowe komentarze\",\"reasons\":{\"does_not_belong\":\"Promuje nielegalną działalność, groźby samobójcze, informacje osobiste lub coś innego, co według Ciebie nie powinno pojawić się w %{organization_name}.\",\"offensive\":\"Promuje rasizm, seksizm, nienawiść, ataki osobiste, groźby śmierci, groźby samobójcze jakąkolwiek formę mowy nienawiści.\",\"spam\":\"Zawiera clickbaity, reklamy, oszustwa lub skrypty botów.\"},\"title\":\"Zgłoś niewłaściwą treść\"},\"show_replies\":\"Pokaż %{replies_count} odpowiedzi\",\"single_comment_link_title\":\"Pobierz link do pojedynczego komentarza\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Najlepiej oceniane\",\"most_discussed\":\"Najbardziej dyskutowane\",\"older\":\"Najstarsze\",\"recent\":\"Najnowsze\"},\"title\":\"Sortuj według:\"},\"comment_thread\":{\"title\":\"Rozmowa z %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Nie możesz teraz komentować, ale możesz przeczytać poprzednie komentarze.\",\"blocked_comments_warning\":\"Komentarze są w tej chwili wyłączone, ale możesz przeczytać poprzednie.\",\"comment_details_title\":\"Szczegóły komentarza\",\"loading\":\"Ładowanie komentarzy ...\",\"single_comment_warning\":\"Resztę komentarzy możesz sprawdzić <a href=\\\"%{url}\\\">tutaj</a>.\",\"single_comment_warning_title\":\"Wyświetlasz teraz pojedynczy komentarz\",\"title\":\"%{count} komentarzy\"},\"down_vote_button\":{\"text\":\"Nie zgadzam się z tym komentarzem\"},\"up_vote_button\":{\"text\":\"Zgadzam się z tym komentarzem\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} dodał(a) komentarz do %{resource_title}. Możesz przeczytać go na tej stronie:\",\"email_outro\":\"Otrzymałeś to powiadomienie, ponieważ obserwujesz %{author_name}. Możesz usunąć użytkownika z obserwowanych na jego stronie profilowej.\",\"email_subject\":\"Jest nowy komentarz dodany przez %{author_name} do %{resource_title}\",\"notification_title\":\"Pojawił się nowy komentarz dodany przez <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> do <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Grupa %{author_name} dodała komentarz do %{resource_title}. Możesz go przeczytać na tej stronie:\",\"email_outro\":\"Otrzymujesz to powiadomienie, ponieważ obserwujesz %{author_name}. Możesz przestać obserwować tę grupę z poziomu jej strony profilowej.\",\"email_subject\":\"Jest nowy komentarz dodany przez %{author_name} do %{resource_title}\",\"notification_title\":\"Pojawił się nowy komentarz <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> do <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"Nowy komentarz: %{resource_title}. Możesz go przeczytać na tej stronie:\",\"email_outro\":\"Otrzymujesz to powiadomienie, ponieważ obserwujesz \\\"%{resource_title}\\\" lub jego autora. Możesz przestać go obserwować po kliknięciu w poprzedni link.\",\"email_subject\":\"Jest nowy komentarz od %{author_name} do %{resource_title}\",\"notification_title\":\"Pojawił się nowy komentarz <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> do <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} odpowiedział na Twój komentarz do %{resource_title}. Możesz przeczytać go na tej stronie:\",\"email_outro\":\"Otrzymałeś to powiadomienie, ponieważ odpowiedziano na Twój komentarz.\",\"email_subject\":\"%{author_name} odpowiedział(a) na Twój komentarz do %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> odpowiedział(a) na Twój komentarz do <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Wspomniano o grupie, do której należysz\",\"email_outro\":\"Otrzymujesz to powiadomienie, ponieważ jesteś członkiem grupy %{group_name}, o której wspomniano w %{resource_title}.\",\"email_subject\":\"Wspomniano o Tobie w %{resource_title} jako o członku %{group_name}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> wspomniał(a) o Tobie w <a href=\\\"%{resource_path}\\\">%{resource_title}</a> jako o członku <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Wspomniano o Tobie\",\"email_outro\":\"Otrzymałeś to powiadomienie, ponieważ wspomniano o Tobie w %{resource_title}.\",\"email_subject\":\"Wspomniano o Tobie w %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> wspomniał(a) o Tobie w <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Liczba komentarzy wygenerowanych przez użytkowników\",\"object\":\"komentarze\",\"title\":\"Komentarze\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nie może mieć komentarzy\"}}}}","module.exports = {\"pt\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comente\",\"decidim/comments/comment_created_event\":\"Comentário\",\"decidim/comments/reply_created_event\":\"Resposta\",\"decidim/comments/user_group_mentioned_event\":\"Mencionar\",\"decidim/comments/user_mentioned_event\":\"Mencionar\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comentário\",\"other\":\"Comentários\"},\"decidim/comments/comment_vote\":{\"one\":\"Voto\",\"other\":\"Votos\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentários\",\"last_activity\":{\"new_comment_at_html\":\"<span>Novo comentário em %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Houve erros ao votar o comentário.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Inscreva-se com sua conta</a> ou <a href=\\\"%{sign_up_url}\\\">sign up</a> para adicionar seu comentário.\",\"form\":{\"body\":{\"label\":\"Comente\",\"placeholder\":\"O que você pensa sobre isso?\"},\"form_error\":\"O texto é obrigatório e não pode ser maior que %{length} caracteres.\",\"submit\":\"Enviar\",\"user_group_id\":{\"label\":\"Comente como\"}},\"opinion\":{\"neutral\":\"Neutro\"},\"remaining_characters\":\"%{count} caracteres restantes\",\"remaining_characters_1\":\"%{count} personagem à esquerda\",\"title\":\"Adicione seu comentário\"},\"comment\":{\"alignment\":{\"against\":\"Contra\",\"in_favor\":\"A favor\"},\"deleted_user\":\"Usuário excluído\",\"reply\":\"Resposta\",\"report\":{\"action\":\"Relatório\",\"already_reported\":\"Este conteúdo já foi relatado e será revisto por um administrador.\",\"close\":\"Fechar\",\"description\":\"Este conteúdo é impróprio?\",\"details\":\"Comentários adicionais\",\"reasons\":{\"does_not_belong\":\"Contém atividades ilegais, ameaças suicidas, informações pessoais ou qualquer outra coisa que você acha que não pertence ao %{organization_name}.\",\"offensive\":\"Contém racismo, sexismo, insultos, ataques pessoais, ameaças de morte, pedidos de suicídio ou qualquer tipo de discurso de ódio.\",\"spam\":\"Contém clickbait, publicidade, fraudes ou script bots.\"}}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Melhores avaliações\",\"most_discussed\":\"Mais Discutidos\",\"older\":\"Mais velho\",\"recent\":\"Recente\"},\"title\":\"Ordenar por:\"},\"comment_thread\":{\"title\":\"Conversa com %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Você não pode comentar neste momento, mas pode ler os anteriores.\",\"blocked_comments_warning\":\"Os comentários estão desativados neste momento, mas você pode ler os anteriores.\",\"loading\":\"Carregando comentários ...\",\"title\":\"%{count} comentários\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} deixou um comentário em %{resource_title}. Você pode lê-lo nesta página:\",\"email_outro\":\"Você recebeu esta notificação porque está seguindo %{author_name}. Você pode deixar de seguir esse usuário em sua página de perfil.\",\"email_subject\":\"Há um novo comentário por %{author_name} em %{resource_title}\",\"notification_title\":\"Há um novo comentário por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"Há um novo comentário por %{author_name} em %{resource_title}\",\"notification_title\":\"Há um novo comentário por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} foi comentado. Você pode ler o comentário nesta página:\",\"email_outro\":\"Você recebeu esta notificação porque você está seguindo \\\"%{resource_title}\\\" ou seu autor. Você pode ignorá-lo do link anterior.\",\"email_subject\":\"Há um novo comentário de %{author_name} em %{resource_title}\",\"notification_title\":\"Há um novo comentário de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} respondeu seu comentário em %{resource_title}. Você pode lê-lo nesta página:\",\"email_outro\":\"Você recebeu esta notificação porque o seu comentário foi respondido.\",\"email_subject\":\"%{author_name} respondeu seu comentário em %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> respondeu seu comentário em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Você foi mencionado\",\"email_outro\":\"Você recebeu esta notificação porque você foi mencionado em %{resource_title}.\",\"email_subject\":\"Você foi mencionado em %{resource_title}\",\"notification_title\":\"Você foi mencionado em <a href=\\\"%{resource_path}\\\">%{resource_title}</a> por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Número de comentários gerados pelos usuários\",\"object\":\"comentários\",\"title\":\"Comentários\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"não pode ter comentários\"}}}}","module.exports = {\"pt\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comentar\",\"decidim/comments/comment_created_event\":\"Comente\",\"decidim/comments/reply_created_event\":\"Comentário resposta\",\"decidim/comments/user_group_mentioned_event\":\"Menção\",\"decidim/comments/user_mentioned_event\":\"Menção\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comente\",\"other\":\"Comentários\"},\"decidim/comments/comment_vote\":{\"one\":\"Voto\",\"other\":\"Votos\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentários\",\"comments_count\":\"Contagem de comentários\",\"last_activity\":{\"new_comment_at_html\":\"<span>Novo comentário em %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Houve erros ao votar o comentário.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Inscreva-se com sua conta</a> ou <a href=\\\"%{sign_up_url}\\\">sign up</a> para adicionar seu comentário.\",\"form\":{\"body\":{\"label\":\"Comente\",\"placeholder\":\"O que você pensa sobre isso?\"},\"form_error\":\"O texto é obrigatório e não pode ser maior que %{length} caracteres.\",\"submit\":\"Enviar\",\"user_group_id\":{\"label\":\"Comente como\"}},\"opinion\":{\"neutral\":\"Neutro\"},\"remaining_characters\":\"%{count} caracteres restantes\",\"remaining_characters_1\":\"%{count} caracteres restantes\",\"title\":\"Adicione o seu comentário\"},\"comment\":{\"alignment\":{\"against\":\"Contra\",\"in_favor\":\"A favor\"},\"deleted_user\":\"Participante eliminado\",\"hide_replies\":\"Ocultar respostas\",\"reply\":\"Responder\",\"report\":{\"action\":\"Reportar\",\"already_reported\":\"Este conteúdo já foi reportado e será revisto por um administrador.\",\"close\":\"Fechar\",\"description\":\"Este conteúdo é impróprio?\",\"details\":\"Comentários adicionais\",\"reasons\":{\"does_not_belong\":\"Contém atividades ilegais, ameaças suicidas, informações pessoais ou qualquer outra coisa que você acha que não pertence a %{organization_name}.\",\"offensive\":\"Contém racismo, sexismo, insultos, ataques pessoais, ameaças de morte, pedidos de suicídio ou qualquer tipo de discurso de ódio.\",\"spam\":\"Contém clickbait, publicidade, fraudes ou robots de scripts.\"},\"title\":\"Reportar conteúdo impróprio\"},\"show_replies\":\"Mostrar %{replies_count} respostas\",\"single_comment_link_title\":\"Obter hiperligação para um único comentário\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Melhores avaliações\",\"most_discussed\":\"Mais discutidos\",\"older\":\"Mais velho\",\"recent\":\"Recente\"},\"title\":\"Ordenar por:\"},\"comment_thread\":{\"title\":\"Conversa com %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Não pode comentar neste momento, mas pode ler os anteriores.\",\"blocked_comments_warning\":\"Os comentários estão desativados neste momento, mas pode ler os anteriores.\",\"comment_details_title\":\"Detalhes do comentário\",\"loading\":\"A carregar comentários ...\",\"single_comment_warning\":\"Pode consultar os restantes comentários <a href=\\\"%{url}\\\">aqui</a>.\",\"single_comment_warning_title\":\"Está a ver um único comentário\",\"title\":\"%{count} comentários\"},\"down_vote_button\":{\"text\":\"Eu discordo deste comentário\"},\"up_vote_button\":{\"text\":\"Eu concordo com este comentário\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} deixou um comentário em %{resource_title}. Pode lê-lo nesta página:\",\"email_outro\":\"Recebeu esta notificação porque segue %{author_name}. pode deixar de seguir este utilizador a partir da respetiva página de perfil.\",\"email_subject\":\"Há um novo comentário por %{author_name} em %{resource_title}\",\"notification_title\":\"Há um novo comentário por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"O grupo %{author_name} deixou um comentário em %{resource_title}. Poderá lê-lo nesta página:\",\"email_outro\":\"Recebeu esta notificação porque segue %{author_name}. Pode deixar de seguir este grupo a partir da respetiva página de perfil.\",\"email_subject\":\"Há um novo comentário por %{author_name} em %{resource_title}\",\"notification_title\":\"Há um novo comentário por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} foi comentado. Você pode ler o comentário nesta página:\",\"email_outro\":\"Recebeu esta notificação porque segue \\\"%{resource_title}\\\" ou o seu autor. Pode deixar de segui-lo a partir da hiperligação anterior.\",\"email_subject\":\"Há um novo comentário de %{author_name} em %{resource_title}\",\"notification_title\":\"Há um novo comentário de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} respondeu ao seu comentário em %{resource_title}. Pode lê-lo nesta página:\",\"email_outro\":\"Recebeu esta notificação porque responderam ao seu comentário.\",\"email_subject\":\"%{author_name} respondeu ao seu comentário em %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> respondeu ao seu comentário em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Um grupo ao qual pertence foi mencionado\",\"email_outro\":\"Recebeu esta notificação porque é membro do grupo %{group_name} que foi mencionado em %{resource_title}.\",\"email_subject\":\"Foi mencionado em %{resource_title} como membro de %{group_name}\",\"notification_title\":\"Foi mencionado em <a href=\\\"%{resource_path}\\\">%{resource_title}</a> por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> como membro de <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Foi mencionado(a)\",\"email_outro\":\"Recebeu esta notificação porque foi mencionado(a) em %{resource_title}.\",\"email_subject\":\"Foi mencionado(a) em %{resource_title}\",\"notification_title\":\"Você foi mencionado em <a href=\\\"%{resource_path}\\\">%{resource_title}</a> por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Número de comentários gerados pelos participantes\",\"object\":\"comentários\",\"title\":\"Comentários\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"não pode ter comentários\"}}}}","module.exports = {\"ro\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comentariu\",\"decidim/comments/comment_created_event\":\"Comentariu\",\"decidim/comments/reply_created_event\":\"Răspuns comentariu\",\"decidim/comments/user_group_mentioned_event\":\"Menționează\",\"decidim/comments/user_mentioned_event\":\"Menționează\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comentariu\",\"few\":\"Comentarii\",\"other\":\"Comentarii\"},\"decidim/comments/comment_vote\":{\"one\":\"Votează\",\"few\":\"Voturi\",\"other\":\"Voturi\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentarii\",\"comments_count\":\"Numărul de comentarii\",\"last_activity\":{\"new_comment_at_html\":\"<span>Comentariu nou la %{link}</span>\"},\"view\":\"Vizualizare\",\"votes\":{\"create\":{\"error\":\"A apărut o problemă la votarea comentariului.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Autentifică-te cu contul tău</a> sau <a href=\\\"%{sign_up_url}\\\">înregistrează-te</a> pentru a adăuga comentariul tău.\",\"form\":{\"body\":{\"label\":\"Comentariu\",\"placeholder\":\"Ce părere aveţi despre asta?\"},\"form_error\":\"Textul este necesar și nu poate fi mai lung de %{length} caractere.\",\"submit\":\"Trimite\",\"user_group_id\":{\"label\":\"Comentează ca\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"%{count} caractere rămase\",\"remaining_characters_1\":\"%{count} caracter rămas\",\"title\":\"Adaugă comentariul tău\"},\"comment\":{\"alignment\":{\"against\":\"Împotriva\",\"in_favor\":\"În favoarea\"},\"deleted_user\":\"Participant șters\",\"hide_replies\":\"Ascunde răspunsurile\",\"reply\":\"Răspuns\",\"report\":{\"action\":\"Raport\",\"already_reported\":\"Acest conținut este deja raportat și va fi revizuit de către un administrator.\",\"close\":\"Inchide\",\"description\":\"Este acest conținut neadecvat?\",\"details\":\"Observaţii suplimentare\",\"reasons\":{\"does_not_belong\":\"Conține activitate ilegală, amenințări la sinucidere, informații personale sau altceva credeți că nu aparțin de %{organization_name}.\",\"offensive\":\"Conține rasism, sexism, slurbii, atacuri personale, amenințări cu moartea, cereri de sinucidere sau orice formă de discurs de incitare la ură.\",\"spam\":\"Conține clickbait, publicitate, escrocherii sau roboți script.\"},\"title\":\"Raportează conținut nepotrivit\"},\"show_replies\":\"Arată %{replies_count} răspunsuri\",\"single_comment_link_title\":\"Obțineți link-ul către un singur comentariu\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Cele mai apreciate\",\"most_discussed\":\"Cele mai discutate\",\"older\":\"Vechi\",\"recent\":\"Recente\"},\"title\":\"Ordonare după:\"},\"comment_thread\":{\"title\":\"Conversație cu %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Nu poți comenta în acest moment, dar le poți citi pe cele anterioare.\",\"blocked_comments_warning\":\"Comentariile sunt dezactivate în acest moment, dar le puteți citi pe cele anterioare.\",\"comment_details_title\":\"Detalii comentariu\",\"loading\":\"Se încarcă comentariile...\",\"single_comment_warning\":\"Puteţi verifica restul comentariilor <a href=\\\"%{url}\\\">aici</a>.\",\"single_comment_warning_title\":\"Vedeți un singur comentariu\",\"title\":\"%{count} comentarii\"},\"down_vote_button\":{\"text\":\"Nu sunt de acord cu acest comentariu\"},\"up_vote_button\":{\"text\":\"Sunt de acord cu acest comentariu\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} a lăsat un comentariu în %{resource_title}. Îl poți citi în această pagină:\",\"email_outro\":\"Ați primit această notificare deoarece urmăriți %{author_name}. Puteți să nu urmăriți acest utilizator de pe pagina lui de profil.\",\"email_subject\":\"Există un nou comentariu al lui %{author_name} în %{resource_title}\",\"notification_title\":\"Există un comentariu nou al <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> în <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Grupul %{author_name} a lăsat un comentariu în %{resource_title}. Îl poți citi în această pagină:\",\"email_outro\":\"Ați primit această notificare deoarece urmăriți %{author_name}. Puteți să nu urmăriți acest grup de pe pagina sa de profil.\",\"email_subject\":\"Există un nou comentariu al lui %{author_name} în %{resource_title}\",\"notification_title\":\"Există un comentariu nou al <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> în <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} a fost comentat. Poți citi comentariul din această pagină:\",\"email_outro\":\"Ați primit această notificare deoarece urmați \\\"\\\"%{resource_title}\\\" sau autorul său. O puteți anula de la link-ul anterior.\",\"email_subject\":\"Există un nou comentariu de la %{author_name} în %{resource_title}\",\"notification_title\":\"Există un nou comentariu de la <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> în <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} a răspuns comentariului tău în %{resource_title}. Îl poți citi în această pagină:\",\"email_outro\":\"Ați primit această notificare deoarece comentariul dvs. a fost răspuns.\",\"email_subject\":\"%{author_name} a răspuns comentariului tău în %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> a răspuns comentariul tău în <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Un grup căruia îi aparțineți a fost menționat\",\"email_outro\":\"Ați primit această notificare deoarece sunteți un membru al grupului %{group_name} care a fost menționat în %{resource_title}.\",\"email_subject\":\"Ai fost menționat în %{resource_title} ca membru al %{group_name}\",\"notification_title\":\"Ai fost menționat în <a href=\\\"%{resource_path}\\\">%{resource_title}</a> de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ca membru al <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Ați fost menționat\",\"email_outro\":\"Ați primit această notificare deoarece ați fost menționat în %{resource_title}.\",\"email_subject\":\"Ai fost menționat în %{resource_title}\",\"notification_title\":\"Ai fost menționat în <a href=\\\"%{resource_path}\\\">%{resource_title}</a> de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Numărul de comentarii generate de participanți\",\"object\":\"comentarii\",\"title\":\"Comentarii\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nu pot avea comentarii\"}}}}","module.exports = {\"ru\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Комментарий\",\"decidim/comments/comment_created_event\":\"Комментарий\",\"decidim/comments/reply_created_event\":\"Ответ на комментарий\",\"decidim/comments/user_group_mentioned_event\":\"Упоминание\",\"decidim/comments/user_mentioned_event\":\"Упоминание\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Комментарий\",\"few\":\"Комментария\",\"many\":\"Комментариев\",\"other\":\"Комментариев\"},\"decidim/comments/comment_vote\":{\"one\":\"Голос\",\"few\":\"Голоса\",\"many\":\"Голосов\",\"other\":\"Голосов\"}}},\"decidim\":{\"comments\":{\"comments\":\"Комментарии\",\"last_activity\":{\"new_comment_at_html\":\"<span>Новый комментарий в %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"При голосовании за комментарий произошли ошибки.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Войдите в систему через свою учетную запись</a> или <a href=\\\"%{sign_up_url}\\\">зарегистрируйтесь</a>, чтобы добавить свой комментарий.\",\"form\":{\"body\":{\"label\":\"Комментарий\",\"placeholder\":\"Что вы думаете об этом?\"},\"form_error\":\"Тут обязательно нужно ввести текст, но не больше %{length} символов.\",\"submit\":\"Отправить\",\"user_group_id\":{\"label\":\"Комментировать как\"}},\"opinion\":{\"neutral\":\"Безучастно\"},\"remaining_characters\":\"Осталось %{count} символов\",\"remaining_characters_1\":\"Остался %{count} символ\",\"title\":\"Добавьте свой комментарий\"},\"comment\":{\"alignment\":{\"against\":\"Против\",\"in_favor\":\"В поддержку\"},\"deleted_user\":\"Удаленный участник\",\"reply\":\"Ответить\",\"report\":{\"action\":\"Пожаловаться\",\"already_reported\":\"На это содержимое уже пожаловались, и жалобу рассмотрит администратор.\",\"close\":\"Закрыть\",\"description\":\"Это сообщение неприемлемо?\",\"details\":\"Дополнительные комментарии\",\"reasons\":{\"does_not_belong\":\"Содержит незаконную деятельность, угрозы самоубийства, личные сведения или что-то еще, недопустимое, на ваш взгляд, для %{organization_name}.\",\"offensive\":\"Содержит расизм, сексизм, оскорбления, личные нападки, угрозы убийства, заявления о самоубийстве, или любую форму разжигания ненависти.\",\"spam\":\"Содержит кликоловки (манипулятивно-сенсационные заголовки), рекламу, мошенничество или лохотроны.\"}}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"С наивысшим рейтингом\",\"most_discussed\":\"Самые обсуждаемые\",\"older\":\"Старые\",\"recent\":\"Недавние\"},\"title\":\"Упорядочить по:\"},\"comment_thread\":{\"title\":\"Беседа с %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Сейчас вам недоступно комментирование, но вы можете прочесть предыдущие комментарии.\",\"blocked_comments_warning\":\"Комментарии сейчас отключены, но вы можете прочитать предыдущие.\",\"loading\":\"Загрузка комментариев ...\",\"title\":\"%{count} комментариев\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} оставил комментарий в %{resource_title}. Вы можете прочитать его на странице:\",\"email_outro\":\"Вы получили это уведомление, потому что вы следите за %{author_name}. Вы можете отписаться от таких уведомлений, перейдя на страницу профиля этого участника.\",\"email_subject\":\"В %{resource_title} появился новый комментарий от %{author_name}\",\"notification_title\":\"В <a href=\\\"%{resource_path}\\\">%{resource_title}</a> появился новый комментарий от <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"В %{resource_title} появился новый комментарий от %{author_name}\",\"notification_title\":\"В <a href=\\\"%{resource_path}\\\">%{resource_title}</a> появился новый комментарий от <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} прокомментировали. Вы можете прочитать комментарий на странице:\",\"email_outro\":\"Вы получили это уведомление, потому что вы следите за «%{resource_title}». Вы можете перестать за ним следить, перейдя по приведенной выше ссылке.\",\"email_subject\":\"В %{resource_title} появился новый комментарий от %{author_name}\",\"notification_title\":\"В <a href=\\\"%{resource_path}\\\">%{resource_title}</a> появился новый комментарий от <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} ответил на ваш комментарий в %{resource_title}. Вы можете прочитать его на странице:\",\"email_outro\":\"Вы получили это уведомление, потому что на ваш комментарий был дан ответ.\",\"email_subject\":\"%{author_name} ответил на ваш комментарий в %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ответил на ваш комментарий в <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Вы были упомянуты\",\"email_outro\":\"Вы получили это уведомление, потому что вы были упомянуты в %{resource_title}.\",\"email_subject\":\"Вы были упомянуты в %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> упомянул вас в <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Количество комментариев, созданных участниками\",\"object\":\"коментарии\",\"title\":\"Комментарии\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"не подлежит комментированию\"}}}}","module.exports = {\"si\":null}","module.exports = {\"sk\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentár\",\"decidim/comments/comment_created_event\":\"Komentár\",\"decidim/comments/reply_created_event\":\"Odpoveď\",\"decidim/comments/user_group_mentioned_event\":\"Zmienka\",\"decidim/comments/user_mentioned_event\":\"Zmienka\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Komentár\",\"few\":\"Komentáre\",\"many\":\"Komentáre\",\"other\":\"Komentáre\"},\"decidim/comments/comment_vote\":{\"one\":\"Hlas\",\"few\":\"Hlasy\",\"many\":\"Hlasy\",\"other\":\"Hlasy\"}}},\"decidim\":{\"comments\":{\"comments\":\"Komentáre\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nový komentár na %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Pri hlasovaní za komentár sa vyskytol problém.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Prihláste sa so svojím účtom</a> alebo <a href=\\\"%{sign_up_url}\\\"> sa zaregistrujte</a>, aby ste pridali svoj komentár.\",\"form\":{\"body\":{\"label\":\"Komentár\",\"placeholder\":\"Čo si myslíte o tomto?\"},\"form_error\":\"Tento text je požadovaný a nesmie byť dlhší, než %{length} znakov.\",\"submit\":\"Odoslať\",\"user_group_id\":{\"label\":\"Komentovať ako\"}},\"opinion\":{\"neutral\":\"Neutrálne\"},\"remaining_characters\":\"Zostáva %{count} znakov\",\"remaining_characters_1\":\"Zostáva %{count} znakov\",\"title\":\"Pridajte svoj komentár\"},\"comment\":{\"alignment\":{\"against\":\"Proti\",\"in_favor\":\"Za\"},\"deleted_user\":\"Zmazaný účastník\",\"hide_replies\":\"Skryť odpovede\",\"reply\":\"Odpovedať\",\"report\":{\"action\":\"Nahlásiť\",\"already_reported\":\"Tento obsah už bol nahlásený, a je v procese kontroly.\",\"close\":\"Zavrieť\",\"description\":\"Je tento obsah nevhodný?\",\"details\":\"Ďalšie komentáre\",\"reasons\":{\"does_not_belong\":\"Obsahuje ilegálnu činnosť, vyhrážky, osobné informácie, alebo niečo ďalšie, o čom si myslíte, že nepatrí na %{organization_name}.\",\"offensive\":\"Obsahuje rasizmus, sexizmus, urážky, osobné útoky, vyhrážky alebo inú podobu nenávistného prejavu.\",\"spam\":\"Obsahuje clickbait, reklamy, scam alebo je to skriptovací robot.\"},\"title\":\"Nahlásenie problému\"},\"show_replies\":\"Zobraziť %{replies_count} odpovedí\",\"single_comment_link_title\":\"Odkaz na komentár\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Najlepšie hodnotené\",\"most_discussed\":\"Najviac diskutované\",\"older\":\"Staršie\",\"recent\":\"Nedávne\"},\"title\":\"Zoradiť podľa:\"},\"comment_thread\":{\"title\":\"Konverzácia s %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"V súčasnosti nemôžete komentovať, ale môžete si prečítať predchádzajúce komentáre.\",\"blocked_comments_warning\":\"Komentáre nie sú v súčasnosti povolené, ale môžete si prečítať predchádzajúce komentáre.\",\"comment_details_title\":\"Podrobnosti komentára\",\"loading\":\"Nahrávanie komentárov...\",\"single_comment_warning\":\"Zvyšné komentáre zobrazíte <a href=\\\"%{url}\\\">tu</a>.\",\"single_comment_warning_title\":\"Zobrazujete jeden komentár\",\"title\":\"%{count} komentárov\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} komentoval na %{resource_title}. Môžete si to prečítať na stránke:\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože sledujete autora \\\"%{author_name}\\\". Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.\",\"email_subject\":\"Je nový komentár od %{author_name} na %{resource_title}\",\"notification_title\":\"Je nový komentár od <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} bol okomentovaný. Komentár si môžete prečítať na stránke:\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože sledujete \\\"%{resource_title}\\\" alebo autora. Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.\",\"email_subject\":\"Je nový komentár od %{author_name} na %{resource_title}\",\"notification_title\":\"Je nový komentár od <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} odpovedal na váš komentár na %{resource_title}. Môžete si to prečítať na stránke:\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože niekto odpovedal na Váš komentár.\",\"email_subject\":\"%{author_name} odpovedal na Váš komentár na %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> odpovedal na váš komentár na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Skupina, do ktorej patríte, bola zmienená\",\"email_outro\":\"Dostali ste túto notifikáciu, pretože ste členom skupiny %{group_name}, ktorá bola spomenutá v %{resource_title}.\",\"email_subject\":\"Boli ste spomenutí v %{resource_title}, ako člen skupiny %{group_name}\",\"notification_title\":\"Boli ste zmienení v <a href=\\\"%{resource_path}\\\">%{resource_title}</a> autorom <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ako člen skupiny <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Niekto vás spomenul\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože ste boli spomenutí na %{resource_title}.\",\"email_subject\":\"Boli ste spomenutí na %{resource_title}\",\"notification_title\":\"Boli ste spomenutí <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Počet komentárov všetkých účastníkov\",\"object\":\"komentáre\",\"title\":\"Komentáre\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nie je možné komentovať\"}}}}","module.exports = {\"sk\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentár\",\"decidim/comments/comment_created_event\":\"Komentár\",\"decidim/comments/reply_created_event\":\"Odpoveď\",\"decidim/comments/user_group_mentioned_event\":\"Zmienka\",\"decidim/comments/user_mentioned_event\":\"Zmienka\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Komentár\",\"few\":\"Komentáre\",\"many\":\"Komentáre\",\"other\":\"Komentáre\"},\"decidim/comments/comment_vote\":{\"one\":\"Hlas\",\"few\":\"Hlasy\",\"many\":\"Hlasy\",\"other\":\"Hlasy\"}}},\"decidim\":{\"comments\":{\"comments\":\"Komentáre\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nový komentár na %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Pri hlasovaní za komentár sa vyskytol problém.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Prihláste sa so svojím účtom</a> alebo <a href=\\\"%{sign_up_url}\\\"> sa zaregistrujte</a>, aby ste pridali svoj komentár.\",\"form\":{\"body\":{\"label\":\"Komentár\",\"placeholder\":\"Čo si myslíte o tomto?\"},\"form_error\":\"Tento text je požadovaný a nesmie byť dlhší, než %{length} znakov.\",\"submit\":\"Odoslať\",\"user_group_id\":{\"label\":\"Komentovať ako\"}},\"opinion\":{\"neutral\":\"Neutrálne\"},\"remaining_characters\":\"Zostáva %{count} znakov\",\"remaining_characters_1\":\"Zostáva %{count} znakov\",\"title\":\"Pridajte svoj komentár\"},\"comment\":{\"alignment\":{\"against\":\"Proti\",\"in_favor\":\"Za\"},\"deleted_user\":\"Zmazaný účastník\",\"hide_replies\":\"Skryť odpovede\",\"reply\":\"Odpovedať\",\"report\":{\"action\":\"Nahlásiť\",\"already_reported\":\"Tento obsah už bol nahlásený, a je v procese kontroly.\",\"close\":\"Zavrieť\",\"description\":\"Je tento obsah nevhodný?\",\"details\":\"Ďalšie komentáre\",\"reasons\":{\"does_not_belong\":\"Obsahuje ilegálnu činnosť, vyhrážky, osobné informácie, alebo niečo ďalšie, o čom si myslíte, že nepatrí na %{organization_name}.\",\"offensive\":\"Obsahuje rasizmus, sexizmus, urážky, osobné útoky, vyhrážky alebo inú podobu nenávistného prejavu.\",\"spam\":\"Obsahuje clickbait, reklamy, scam alebo je to skriptovací robot.\"}},\"show_replies\":\"Zobraziť %{replies_count} odpovedí\",\"single_comment_link_title\":\"Odkaz na komentár\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Najlepšie hodnotené\",\"most_discussed\":\"Najviac diskutované\",\"older\":\"Staršie\",\"recent\":\"Nedávne\"},\"title\":\"Zoradiť podľa:\"},\"comment_thread\":{\"title\":\"Konverzácia s %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"V súčasnosti nemôžete komentovať, ale môžete si prečítať predchádzajúce komentáre.\",\"blocked_comments_warning\":\"Komentáre nie sú v súčasnosti povolené, ale môžete si prečítať predchádzajúce komentáre.\",\"comment_details_title\":\"Podrobnosti komentára\",\"loading\":\"Nahrávanie komentárov...\",\"single_comment_warning\":\"Zvyšné komentáre zobrazíte <a href=\\\"%{url}\\\">tu</a>.\",\"single_comment_warning_title\":\"Zobrazujete jeden komentár\",\"title\":\"%{count} komentárov\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} komentoval na %{resource_title}. Môžete si to prečítať na stránke:\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože sledujete autora \\\"%{author_name}\\\". Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.\",\"email_subject\":\"Je nový komentár od %{author_name} na %{resource_title}\",\"notification_title\":\"Je nový komentár od <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Skupina %{author_name} komentovala na %{resource_title}. Môžete si to prečítať na stránke:\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože sledujete autora \\\"%{author_name}\\\". Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.\",\"email_subject\":\"Je nový komentár od %{author_name} na %{resource_title}\",\"notification_title\":\"Je nový komentár od <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} bol okomentovaný. Komentár si môžete prečítať na stránke:\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože sledujete \\\"%{resource_title}\\\" alebo autora. Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.\",\"email_subject\":\"Je nový komentár od %{author_name} na %{resource_title}\",\"notification_title\":\"Je nový komentár od <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} odpovedal na váš komentár na %{resource_title}. Môžete si to prečítať na stránke:\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože niekto odpovedal na Váš komentár.\",\"email_subject\":\"%{author_name} odpovedal na Váš komentár na %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> odpovedal na váš komentár na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Skupina, do ktorej patríte, bola zmienená\",\"email_outro\":\"Dostali ste túto notifikáciu, pretože ste členom skupiny %{group_name}, ktorá bola spomenutá v %{resource_title}.\",\"email_subject\":\"Boli ste spomenutí v %{resource_title}, ako člen skupiny %{group_name}\",\"notification_title\":\"Boli ste zmienení v <a href=\\\"%{resource_path}\\\">%{resource_title}</a> autorom <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ako člen skupiny <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Niekto vás spomenul\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože ste boli spomenutí na %{resource_title}.\",\"email_subject\":\"Boli ste spomenutí na %{resource_title}\",\"notification_title\":\"Boli ste spomenutí <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Počet komentárov všetkých účastníkov\",\"object\":\"komentáre\",\"title\":\"Komentáre\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nie je možné komentovať\"}}}}","module.exports = {\"sl\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentar\"}}}}","module.exports = {\"so\":null}","module.exports = {\"sr\":{\"decidim\":{\"components\":{\"comment\":{\"hide_replies\":\"Sakrij odgovore\",\"show_replies\":\"Prikaži %{replies_count} odgovora\",\"single_comment_link_title\":\"Nabavi vezu ka jednom komentaru\"},\"comments\":{\"comment_details_title\":\"Detalji o komentaru\",\"single_comment_warning\":\"Možete videti ostale komentare <a href=\\\"%{url}\\\">ovde</a>.\",\"single_comment_warning_title\":\"Vidite samo jedan komentar\"}},\"events\":{\"comments\":{\"comment_by_followed_user_group\":{\"email_intro\":\"Grupa %{author_name} je ostavila komentar na %{resource_title}. Možete ga pročitati na ovoj strani:\"},\"user_group_mentioned\":{\"email_intro\":\"Grupa kojoj pripadate je pomenuta\",\"email_outro\":\"Dobili ste ovo obaveštenje jer ste član grupe %{group_name} koja je pomenuta u %{resource_title}.\",\"email_subject\":\"Pomenuti ste u %{resource_title} kao član grupe %{group_name}\",\"notification_title\":\"Pomenuti ste u <a href=\\\"%{resource_path}\\\">%{resource_title}</a> od strane <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> kao član <a href=\\\"%{group_path}\\\">%{group_name}%{group_nickname}</a>\"}}}}}}","module.exports = {\"sv\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Kommentar\",\"decidim/comments/comment_created_event\":\"Kommentar\",\"decidim/comments/reply_created_event\":\"Svar till en kommentar\",\"decidim/comments/user_group_mentioned_event\":\"Nämn\",\"decidim/comments/user_mentioned_event\":\"Nämn\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Kommentar\",\"other\":\"Kommentarer\"},\"decidim/comments/comment_vote\":{\"one\":\"Röst\",\"other\":\"Röster\"}}},\"decidim\":{\"comments\":{\"comments\":\"Kommentarer\",\"comments_count\":\"Antal kommentarer\",\"last_activity\":{\"new_comment_at_html\":\"<span>Ny kommentar på %{link}</span>\"},\"view\":\"Visa\",\"votes\":{\"create\":{\"error\":\"Det gick inte att rösta om kommentaren.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Logga in med ditt konto</a> eller <a href=\\\"%{sign_up_url}\\\">registrera dig</a> för att lägga till din kommentar.\",\"form\":{\"body\":{\"label\":\"Kommentera\",\"placeholder\":\"Vad tycker du om detta?\"},\"form_error\":\"Texten är obligatorisk och den kan inte vara längre än %{length} tecken.\",\"submit\":\"Skicka\",\"user_group_id\":{\"label\":\"Kommentera som\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"%{count} tecken kvar\",\"remaining_characters_1\":\"%{count} tecken kvar\",\"title\":\"Lägg till din kommentar\"},\"comment\":{\"alignment\":{\"against\":\"Mot\",\"in_favor\":\"För\"},\"deleted_user\":\"Raderad deltagare\",\"hide_replies\":\"Göm svar\",\"reply\":\"Svara\",\"report\":{\"action\":\"Rapportera\",\"already_reported\":\"Det här innehållet är redan rapporterat och det kommer att granskas av en administratör.\",\"close\":\"Stäng\",\"description\":\"Är detta innehåll olämpligt?\",\"details\":\"Ytterligare kommentarer\",\"reasons\":{\"does_not_belong\":\"Innehåller olaglig aktivitet, självmordshot, personlig information eller något annat du tycker inte hör hemma på %{organization_name}.\",\"offensive\":\"Innehåller rasism, sexism, skällsord, personliga attacker, dödshot, uppmaningar att begå självmord eller någon form av hatpropaganda.\",\"spam\":\"Innehåller clickbait, reklam, bedrägerier eller skriptrobotar.\"},\"title\":\"Rapportera olämpligt innehåll\"},\"show_replies\":\"Visa %{replies_count} svar\",\"single_comment_link_title\":\"Få länk till enstaka kommentar\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Bästa betyg\",\"most_discussed\":\"Mest diskuterade\",\"older\":\"Äldre\",\"recent\":\"Senaste\"},\"title\":\"Sortera efter:\"},\"comment_thread\":{\"title\":\"Samtal med %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Du kan inte kommentera just nu, men du kan läsa tidigare kommentarer.\",\"blocked_comments_warning\":\"Kommentarer är inaktiverade just nu, men du kan läsa de föregående.\",\"comment_details_title\":\"Kommentarsdetaljer\",\"loading\":\"Laddar kommentarer...\",\"single_comment_warning\":\"Läs återstående <a href=\\\"%{url}\\\">kommentarer</a>.\",\"single_comment_warning_title\":\"Du visar en enda kommentar\",\"title\":\"%{count} kommentarer\"},\"down_vote_button\":{\"text\":\"Jag håller inte med om denna kommentar\"},\"up_vote_button\":{\"text\":\"Jag instämmer i denna kommentar\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} har lämnat en kommentar i %{resource_title}. Du kan läsa den på den här sidan:\",\"email_outro\":\"Du har fått den här notisen eftersom du följer %{author_name}. Du kan avfölja den här användaren från deras profilsida.\",\"email_subject\":\"Det finns en ny kommentar av %{author_name} i %{resource_title}\",\"notification_title\":\"Det finns en ny kommentar av <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Gruppen %{author_name} har lämnat en kommentar i %{resource_title}. Du kan läsa den på denna sida:\",\"email_outro\":\"Du har fått det här meddelandet eftersom du följer %{author_name}. Du kan sluta följa den här gruppen från dess profilsida.\",\"email_subject\":\"Det finns en ny kommentar av %{author_name} i %{resource_title}\",\"notification_title\":\"Det finns en ny kommentar av <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} har kommenterats. Du kan läsa kommentaren på den här sidan:\",\"email_outro\":\"Du har fått det här meddelandet eftersom du följer \\\"%{resource_title}\\\" eller dess författare. Du kan avfölja det från föregående länk.\",\"email_subject\":\"Det finns en ny kommentar från %{author_name} i %{resource_title}\",\"notification_title\":\"Det finns en ny kommentar från <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} har svarat din kommentar i %{resource_title}. Du kan läsa den på den här sidan:\",\"email_outro\":\"Du har fått denna notis eftersom din kommentar blev besvarad.\",\"email_subject\":\"%{author_name} har svarat din kommentar i %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> har svarat din kommentar i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"En grupp som du tillhör har nämnts\",\"email_outro\":\"Du har fått det här meddelandet eftersom du är medlem i gruppen %{group_name} som har nämnts i %{resource_title}.\",\"email_subject\":\"Du har nämnts i %{resource_title} som en medlem i %{group_name}\",\"notification_title\":\"Du har nämnts i <a href=\\\"%{resource_path}\\\">%{resource_title}</a> av <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> som medlem av <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Du har nämnts\",\"email_outro\":\"Du har fått denna notis eftersom du har nämnts i %{resource_title}.\",\"email_subject\":\"Du har nämnts i %{resource_title}\",\"notification_title\":\"Du har nämnts i <a href=\\\"%{resource_path}\\\">%{resource_title}</a> av <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Antal kommentarer från deltagare\",\"object\":\"kommentarer\",\"title\":\"Kommentarer\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"kan inte ha kommentarer\"}}}}","module.exports = {\"sw\":null}","module.exports = {\"ti\":null}","module.exports = {\"tr\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Yorum\",\"decidim/comments/comment_created_event\":\"Yorum\",\"decidim/comments/reply_created_event\":\"Yorum cevabı\",\"decidim/comments/user_group_mentioned_event\":\"Bahset\",\"decidim/comments/user_mentioned_event\":\"Bahset\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Yorum\",\"other\":\"Yorumlar\"},\"decidim/comments/comment_vote\":{\"one\":\"Oy ver\",\"other\":\"oy\"}}},\"decidim\":{\"comments\":{\"comments\":\"Yorumlar\",\"comments_count\":\"Yorum sayısı\",\"last_activity\":{\"new_comment_at_html\":\"<span> %{link}</span> yeni yorum\"},\"view\":\"Görünüm\",\"votes\":{\"create\":{\"error\":\"Yorum oylanırken bir sorun oluştu.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"Yorumunuzu eklemek için <a href=\\\"%{sign_in_url}\\\"> hesabınızla oturum açın </a> veya <a href=\\\"%{sign_up_url}\\\"> kaydolun </a>.\",\"form\":{\"body\":{\"label\":\"Yorum\",\"placeholder\":\"Bunun hakkında ne düşünüyorsun?\"},\"form_error\":\"Metin zorunludur ve %{length} karakterden uzun olamaz.\",\"submit\":\"Gönder\",\"user_group_id\":{\"label\":\"Olarak yorum yap\"}},\"opinion\":{\"neutral\":\"Tarafsız\"},\"remaining_characters\":\"%{count} karakter kaldı\",\"remaining_characters_1\":\"%{count} karakter kaldı\",\"title\":\"Yorum Ekle\"},\"comment\":{\"alignment\":{\"against\":\"Karşısında\",\"in_favor\":\"Lehine\"},\"deleted_user\":\"Silinmiş katılımcı\",\"hide_replies\":\"Yanıtları gizle\",\"reply\":\"Cevapla\",\"report\":{\"action\":\"Rapor\",\"already_reported\":\"Bu içerik zaten bildirildi ve bir yönetici tarafından incelenecek.\",\"close\":\"Kapat\",\"description\":\"Bu içerik uygunsuz mu?\",\"details\":\"Ek Yorumlar\",\"reasons\":{\"does_not_belong\":\"Yasadışı faaliyet, intihar tehditleri, kişisel bilgiler veya %{organization_name} kuruluşuna ait olmadığını düşündüğünüz başka bir şey içeriyor.\",\"offensive\":\"Irkçılık, cinsiyetçilik, hakaretler, kişisel saldırılar, ölüm tehditleri, intihar talepleri veya herhangi bir nefret söylemi içerir.\",\"spam\":\"Clickbait, reklam, dolandırıcılık veya script botları içerir.\"},\"title\":\"Uygunsuz içerik bildir\"},\"show_replies\":\"%{replies_count} yanıtı göster\",\"single_comment_link_title\":\"Tek yorumun bağlantısını al\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"En çok oy alan\",\"most_discussed\":\"En çok tartışılan\",\"older\":\"Daha eski\",\"recent\":\"Son\"},\"title\":\"Tarafından sipariş:\"},\"comment_thread\":{\"title\":\"%{authorName}ile sohbet\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Şu anda yorum yapamıyorsunuz, ancak öncekileri okuyabilirsiniz.\",\"blocked_comments_warning\":\"Yorumlar şu anda devre dışı, ancak öncekileri okuyabilirsiniz.\",\"comment_details_title\":\"Yorum ayrıntıları\",\"loading\":\"Yorumlar yükleniyor ...\",\"single_comment_warning\":\"Yorumların geri kalanını <a href=\\\"%{url}\\\"> buradan </a> kontrol edebilirsiniz.\",\"single_comment_warning_title\":\"Tek bir yorum görüyorsunuz\",\"title\":\"%{count} yorum\"},\"down_vote_button\":{\"text\":\"Bu yoruma katılmıyorum\"},\"up_vote_button\":{\"text\":\"Bu yoruma katılıyorum\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} grubu %{resource_title} alanında bir yorum bıraktı. Bu sayfada okuyabilirsiniz:\",\"email_outro\":\"Bu bildirimi %{author_name} adlı yazarı takip ettiğiniz için aldınız. Bu grubu profil sayfasından takip etmeyi bırakabilirsiniz.\",\"email_subject\":\"%{author_name} %{resource_title} alanında yeni bir yorum yaptı\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title} </a> içinde <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname} </a> tarafından yeni bir yorum var.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} grubu %{resource_title} alanında bir yorum bıraktı. Bu sayfada okuyabilirsiniz:\",\"email_outro\":\"Bu bildirimi %{author_name} adlı yazarı takip ettiğiniz için aldınız. Bu grubu profil sayfasından takip etmeyi bırakabilirsiniz.\",\"email_subject\":\"%{author_name}, %{resource_title} alanında yeni bir yorum yaptı\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title} </a> içinde <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname} </a> tarafından yeni bir yorum var.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} alanında yorum yapıldı. Bu sayfadaki yorumu okuyabilirsiniz:\",\"email_outro\":\"\\\"%{resource_title}\\\" alanında veya yazarı takip ettiğiniz için bu bildirimi aldınız. Bunu önceki linkten takip edebilirsiniz.\",\"email_subject\":\"%{author_name}, %{resource_title} alanında yeni bir yorum yaptı\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title} </a> içinde <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname} </a> tarafından yeni bir yorum var\"},\"reply_created\":{\"email_intro\":\"%{author_name}, yorumunuzu %{resource_title} alanında yanıtladı. Bu sayfada okuyabilirsiniz:\",\"email_outro\":\"Yorumunuz yanıtlandığı için bu bildirimi aldınız.\",\"email_subject\":\"%{author_name}, yorumunuzu %{resource_title} alanında yanıtladı\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> <a href=\\\"%{resource_path}\\\">%{resource_title}</a> alanında yorumunuzu yanıtladı\"},\"user_group_mentioned\":{\"email_intro\":\"Ait olduğunuz bir gruptan bahsedildi\",\"email_outro\":\"Bu bildirimi, %{resource_title} içinde adı geçen %{group_name} grubunun bir üyesi olduğunuz için aldınız.\",\"email_subject\":\"%{resource_title} içinde %{group_name} üyesi olarak bahsedildiniz\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title} </a> ’de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname} </a> tarafından bir <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname} </a> üyesi\"},\"user_mentioned\":{\"email_intro\":\"Sen bahsedildin\",\"email_outro\":\"Bu bildirimi, sizden %{resource_title} alanında bahsedildiği için aldınız.\",\"email_subject\":\"%{resource_title} alanında bahsedildiniz\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title} </a> alanında <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname} </a> tarafından bahsedildi\"}}},\"metrics\":{\"comments\":{\"description\":\"Katılımcılar tarafından oluşturulan yorum sayısı\",\"object\":\"yorumlar\",\"title\":\"Yorumlar\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"yorum alamaz\"}}}}","module.exports = {\"uk\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Коментар\",\"decidim/comments/comment_created_event\":\"Коментар\",\"decidim/comments/reply_created_event\":\"Відповідь на коментар\",\"decidim/comments/user_group_mentioned_event\":\"Згадка\",\"decidim/comments/user_mentioned_event\":\"Згадка\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Коментар\",\"few\":\"Коментаря\",\"many\":\"Коментарів\",\"other\":\"Коментарів\"},\"decidim/comments/comment_vote\":{\"one\":\"Голос\",\"few\":\"Голоси\",\"many\":\"Голосів\",\"other\":\"Голосів\"}}},\"decidim\":{\"comments\":{\"votes\":{\"create\":{\"error\":\"При голосуванні щодо коментаря сталися помилки.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Увійдіть за допомогою свого облікового запису</a> або <a href=\\\"%{sign_up_url}\\\">зареєструйтесь</a>, щоб додати свій коментар.\",\"form\":{\"body\":{\"label\":\"Коментар\",\"placeholder\":\"Що ви думаєте з цього приводу?\"},\"form_error\":\"Тут обов'язково потрібно ввести текст, але не більше, ніж %{length} символів.\",\"submit\":\"Надіслати\",\"user_group_id\":{\"label\":\"Коментувати як\"}},\"opinion\":{\"neutral\":\"Безсторонньо\"},\"remaining_characters\":\"Залишилось %{count} символів\",\"remaining_characters_1\":\"Залишився %{count} символ\",\"title\":\"Додати свій коментар\"},\"comment\":{\"alignment\":{\"against\":\"Проти\",\"in_favor\":\"На підтримку\"},\"deleted_user\":\"Видалений учасник\",\"reply\":\"Відповісти\",\"report\":{\"action\":\"Поскаржитись\",\"already_reported\":\"Про цей вміст вже передано скаргу, і її перегляне адміністратор.\",\"close\":\"Закрити\",\"description\":\"Чи цей вміст неприпустимий?\",\"details\":\"Додаткові коментарі\",\"reasons\":{\"does_not_belong\":\"Містить незаконну діяльність, загрози самогубства, особисті відомості чи ще щось, неприпустиме, на вашу думку, для %{organization_name}.\",\"offensive\":\"Містить расизм, сексизм, образи, особисті напади, погрози вбивства, заяви про самогубство або будь-які ненависницькі висловлювання.\",\"spam\":\"Містить клацоловки (маніпулятивно-сенсаційні заголовки), рекламу, афери або лохотрони.\"}}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"З найкращим рейтингом\",\"most_discussed\":\"Найбільш обговорюване\",\"older\":\"Давніші\",\"recent\":\"Нещодавнє\"},\"title\":\"Впорядкувати за:\"},\"comment_thread\":{\"title\":\"Бесіда з %{authorName}\"},\"comments\":{\"blocked_comments_warning\":\"Коментарі зараз вимкнені, але ви можете прочитати попередні.\",\"loading\":\"Завантаження коментарів...\",\"title\":\"%{count} коментарів\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} залишив коментар у %{resource_title}. Ви можете прочитати його на сторінці:\",\"email_outro\":\"Ви отримали це сповіщення, тому що ви стежите за %{author_name}. Ви можете припинити стежити за ним на сторінці його профілю.\",\"email_subject\":\"У %{resource_title} з'явився новий коментар від %{author_name}\",\"notification_title\":\"У <a href=\\\"%{resource_path}\\\">%{resource_title}</a> з'явився новий коментар від <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"У %{resource_title} з'явився новий коментар від %{author_name}\",\"notification_title\":\"У <a href=\\\"%{resource_path}\\\">%{resource_title}</a> з'явився новий коментар від <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} прокоментували. Ви можете прочитати коментар на сторінці:\",\"email_outro\":\"Ви отримали це сповіщення, тому що ви стежите за \\\"%{resource_title}\\\". Ви можете припинити стежити за ним, перейшовши за наведеним вище посиланням.\",\"email_subject\":\"У %{resource_title} з'явився новий коментар від %{author_name}\",\"notification_title\":\"У <a href=\\\"%{resource_path}\\\">%{resource_title}</a> з'явився новий коментар від <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} відповів на ваш коментар у %{resource_title}. Ви можете прочитати його на сторінці:\",\"email_outro\":\"Ви отримали це сповіщення, оскільки на ваш коментар відповіли.\",\"email_subject\":\"%{author_name} відповів на ваш коментар у %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> відповів на ваш коментар у <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Вас згадали\",\"email_outro\":\"Ви отримали це сповіщення, оскільки вас згадали в %{resource_title}.\",\"email_subject\":\"Вас згадали у %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> згадав вас у <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"не підлягає коментуванню\"}}}}","module.exports = {\"vi\":null}","module.exports = {\"vi\":null}","module.exports = {\"zh-CN\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"评论\",\"decidim/comments/comment_created_event\":\"评论\",\"decidim/comments/reply_created_event\":\"评论回复\",\"decidim/comments/user_group_mentioned_event\":\"提到了\",\"decidim/comments/user_mentioned_event\":\"提到了\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"other\":\"评论\"},\"decidim/comments/comment_vote\":{\"other\":\"所得票数\"}}},\"decidim\":{\"comments\":{\"comments\":\"评论\",\"comments_count\":\"评论计数\",\"last_activity\":{\"new_comment_at_html\":\"<span>在 %{link}的新评论</span>\"},\"view\":\"查看\",\"votes\":{\"create\":{\"error\":\"在表决该评论时出现问题。\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">使用您的帐户</a> 或 <a href=\\\"%{sign_up_url}\\\">注册</a> 来添加您的评论。\",\"form\":{\"body\":{\"label\":\"评论\",\"placeholder\":\"你对此有什么看法?\"},\"form_error\":\"文本是必需的,不能超过 %{length} 个字符。\",\"submit\":\"发送\",\"user_group_id\":{\"label\":\"评论为\"}},\"opinion\":{\"neutral\":\"中性的\"},\"remaining_characters\":\"剩余 %{count} 个字符\",\"remaining_characters_1\":\"剩余 %{count} 个字符\",\"title\":\"添加您的评论\"},\"comment\":{\"alignment\":{\"against\":\"反对的\",\"in_favor\":\"优惠的\"},\"deleted_user\":\"删除参与者\",\"hide_replies\":\"隐藏回复\",\"reply\":\"答复\",\"report\":{\"action\":\"报告\",\"already_reported\":\"此内容已经被报告,将由管理员审核。\",\"close\":\"关闭\",\"description\":\"这个内容是否不适当?\",\"details\":\"其他评论\",\"reasons\":{\"does_not_belong\":\"包含非法活动、自杀威胁、个人信息或你认为不属于 %{organization_name} 的其他东西。\",\"offensive\":\"包括种族主义、性别主义、污泥、个人攻击、死亡威胁、自杀请求或任何形式的仇恨言论。\",\"spam\":\"包含点击、广告、骗子或脚本机器人。\"},\"title\":\"报告不恰当的内容\"},\"show_replies\":\"显示 %{replies_count} 个回复\",\"single_comment_link_title\":\"获取单个评论的链接\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"最佳评分\",\"most_discussed\":\"最多讨论\",\"older\":\"更旧的\",\"recent\":\"最近的\"},\"title\":\"排序方式:\"},\"comment_thread\":{\"title\":\"与 %{authorName} 的对话\"},\"comments\":{\"blocked_comments_for_user_warning\":\"您此时无法评论,但您可以阅读前面的评论。\",\"blocked_comments_warning\":\"评论此时被禁用,但您可以阅读前面的评论。\",\"comment_details_title\":\"评论详情\",\"loading\":\"正在加载评论...\",\"single_comment_warning\":\"您可以在这里查看 <a href=\\\"%{url}\\\">的其余评论</a>。\",\"single_comment_warning_title\":\"您正在看到一个评论\",\"title\":\"%{count} 条评论\"},\"down_vote_button\":{\"text\":\"我不同意这个评论\"},\"up_vote_button\":{\"text\":\"我同意这个评论\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} 在 %{resource_title}留下了一条评论。您可以在这个页面阅读:\",\"email_outro\":\"您收到此通知是因为您正在关注 %{author_name}。您可以从其个人资料页面取消关注此用户。\",\"email_subject\":\"%{author_name} 在 %{resource_title} 有一个新评论\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> 在 <a href=\\\"%{resource_path}\\\">%{resource_title}</a> 有新的评论。\"},\"comment_by_followed_user_group\":{\"email_intro\":\"组 %{author_name} 在 %{resource_title}留下了一个评论。您可以在这个页面阅读它:\",\"email_outro\":\"您收到此通知是因为您正在关注 %{author_name}。您可以从其个人资料页面取消关注此组。\",\"email_subject\":\"%{author_name} 在 %{resource_title} 有一个新评论\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> 在 <a href=\\\"%{resource_path}\\\">%{resource_title}</a> 有新的评论。\"},\"comment_created\":{\"email_intro\":\"%{resource_title} 已被评论。您可以阅读此页面中的评论:\",\"email_outro\":\"您收到此通知是因为您正在关注\\\"%{resource_title}\\\"或其作者。您可以从上一个链接取消关注它。\",\"email_subject\":\"%{author_name} 在 %{resource_title} 有一个新评论\",\"notification_title\":\"来自 <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> 的新评论 <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} 在 %{resource_title}回复了您的评论。您可以在这个页面阅读:\",\"email_outro\":\"您收到此通知是因为您的评论已被回复。\",\"email_subject\":\"%{author_name} 在 %{resource_title} 回复了您的评论\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> 回复了您在 <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"已经提到您所属的组\",\"email_outro\":\"您收到此通知是因为您是在 %{group_name} 中提及的组 %{resource_title} 的成员。\",\"email_subject\":\"您已在 %{resource_title} 中被提及为 %{group_name} 的成员\",\"notification_title\":\"您在 <a href=\\\"%{resource_path}\\\">%{resource_title}中提到</a> <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> 作为 <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"您已被提到。\",\"email_outro\":\"您收到此通知是因为您已在 %{resource_title} 中被提及。\",\"email_subject\":\"您已在 %{resource_title} 中被提及了\",\"notification_title\":\"您在 <a href=\\\"%{resource_path}\\\">%{resource_title}中提到</a> <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"与会者生成的评论数\",\"object\":\"评论\",\"title\":\"评论\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"不能有评论\"}}}}","module.exports = {\"zh-TW\":null}","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","exports.version = \"2.2.5\"","import * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\n\nimport Comments, { CommentsApplicationProps } from \"./comments/comments.component\";\nimport loadTranslations from \"./support/load_translations\";\n\nwindow.DecidimComments = window.DecidimComments || {};\n\ninterface StorageDict {\n [key: string]: string;\n}\n\nwindow.DecidimComments.renderCommentsComponent = (nodeId: string, props: CommentsApplicationProps) => {\n const node = window.$(`#${nodeId}`)[0];\n const queryDict: StorageDict = {};\n window\n .location\n .search\n .substr(1)\n .split(\"&\")\n .forEach(item => queryDict[item.split(\"=\")[0]] = item.split(\"=\")[1]);\n\n props = { ...props, singleCommentId: queryDict.commentId };\n\n ReactDOM.render(\n React.createElement(Comments, props),\n node\n );\n\n if (queryDict.commentId) {\n $([document.documentElement, document.body]).animate({\n scrollTop: $(\"#comments\").offset()!.top\n }, 2000);\n }\n};\n\n// Load component locales from yaml files\nloadTranslations();\n","import * as React from \"react\";\nimport { graphql } from \"react-apollo\";\n\nconst PropTypes = require(\"prop-types\");\n\nimport Application from \"../application/application.component\";\n\nimport AddCommentForm from \"./add_comment_form.component\";\nimport CommentOrderSelector from \"./comment_order_selector.component\";\nimport CommentThread from \"./comment_thread.component\";\n\nimport {\n GetCommentsQuery,\n GetCommentsQueryVariables\n} from \"../support/schema\";\n\nconst { I18n, Translate } = require(\"react-i18nify\");\n\ninterface CommentsProps extends GetCommentsQuery {\n locale: string;\n toggleTranslations: boolean;\n loading?: boolean;\n orderBy: string;\n singleCommentId?: string;\n reorderComments: (orderBy: string) => void;\n commentsMaxLength: number;\n}\n\n/**\n * The core class of the Decidim Comments engine.\n * It renders a collection of comments given a commentable id and type.\n * @global\n * @class\n * @augments Component\n */\nexport class Comments extends React.Component<CommentsProps> {\n public static defaultProps: any = {\n loading: false,\n session: null,\n commentable: {\n comments: []\n }\n };\n\n public static childContextTypes: any = {\n locale: PropTypes.string,\n toggleTranslations: PropTypes.bool\n };\n\n public getChildContext() {\n return {\n locale: this.props.locale,\n toggleTranslations: this.props.toggleTranslations\n };\n }\n\n public render() {\n const { commentable: { totalCommentsCount = 0 }, singleCommentId, loading, commentsMaxLength } = this.props;\n let commentClasses = \"comments\";\n let commentHeader = I18n.t(\"components.comments.title\", { count: totalCommentsCount });\n if (singleCommentId && singleCommentId !== \"\") {\n commentHeader = I18n.t(\"components.comments.comment_details_title\");\n }\n\n if (loading) {\n commentClasses += \" loading-comments\";\n commentHeader = I18n.t(\"components.comments.loading\");\n }\n\n return (\n <div className=\"columns large-9\" id=\"comments\">\n <section className={commentClasses}>\n <div className=\"row collapse order-by\">\n <h2 className=\"order-by__text section-heading\">\n {commentHeader}\n </h2>\n {this._renderCommentOrderSelector()}\n </div>\n {this._renderSingleCommentWarning()}\n {this._renderBlockedCommentsWarning()}\n {this._renderCommentThreads()}\n {this._renderAddCommentForm()}\n {this._renderBlockedCommentsForUserWarning()}\n </section>\n </div>\n );\n }\n\n /**\n * Renders warning message when viewing a single comment.\n * @private\n * @returns {Void|DOMElement} - A warning message or nothing.\n */\n private _renderSingleCommentWarning() {\n const { singleCommentId, reorderComments, orderBy } = this.props;\n\n if (singleCommentId && singleCommentId !== \"\") {\n const newUrl = `${window.location.pathname}${window.location.search.replace(`commentId=${singleCommentId}`, \"\")}`;\n\n return (\n <div className=\"callout secondary\">\n <h5>{I18n.t(\"components.comments.single_comment_warning_title\")}</h5>\n <p>\n <Translate\n value=\"components.comments.single_comment_warning\"\n url={newUrl}\n dangerousHTML={true}\n />\n </p>\n </div>\n );\n }\n\n return null;\n }\n\n /**\n * Renders an order selector.\n * @private\n * @returns {Void|DOMElement} - A warning message or nothing.\n */\n private _renderCommentOrderSelector() {\n const { singleCommentId, reorderComments, orderBy } = this.props;\n\n if (singleCommentId && singleCommentId !== \"\") {\n return null;\n }\n\n return (\n <CommentOrderSelector\n reorderComments={reorderComments}\n defaultOrderBy={orderBy}\n />\n );\n }\n\n /**\n * Renders a warning message if the commentable doesn't accept new comments.\n * @private\n * @returns {Void|DOMElement} - A warning message or nothing.\n */\n private _renderBlockedCommentsWarning() {\n const { commentable: { acceptsNewComments, userAllowedToComment } } = this.props;\n\n if (!acceptsNewComments && !userAllowedToComment) {\n return (\n <div className=\"callout warning\">\n <p>{I18n.t(\"components.comments.blocked_comments_warning\")}</p>\n </div>\n );\n }\n\n return null;\n }\n\n /**\n * Renders a warning message if the participatory_space is private and users\n * don't have permissions.\n * @private\n * @returns {Void|DOMElement} - A warning message or nothing.\n */\n private _renderBlockedCommentsForUserWarning() {\n const { commentable: { acceptsNewComments, userAllowedToComment } } = this.props;\n\n if (acceptsNewComments) {\n if (!userAllowedToComment) {\n return (\n <div className=\"callout warning\">\n <p>{I18n.t(\"components.comments.blocked_comments_for_user_warning\")}</p>\n </div>\n );\n }\n }\n\n return null;\n }\n\n /**\n * Iterates the comment's collection and render a CommentThread for each one\n * @private\n * @returns {ReactComponent[]} - A collection of CommentThread components\n */\n private _renderCommentThreads() {\n const { session, commentable, orderBy, commentsMaxLength } = this.props;\n const { comments, commentsHaveVotes } = commentable;\n\n return comments.map((comment) => (\n <CommentThread\n key={comment.id}\n comment={comment}\n session={session}\n votable={commentsHaveVotes}\n rootCommentable={commentable}\n orderBy={orderBy}\n commentsMaxLength={commentsMaxLength}\n />\n ));\n }\n\n /**\n * If current user is present it renders the add comment form\n * @private\n * @returns {Void|ReactComponent} - A AddCommentForm component or nothing\n */\n private _renderAddCommentForm() {\n const { session, commentable, orderBy, singleCommentId, commentsMaxLength } = this.props;\n const { acceptsNewComments, commentsHaveAlignment, userAllowedToComment } = commentable;\n\n if (singleCommentId && singleCommentId !== \"\") {\n return null;\n }\n\n if (acceptsNewComments && userAllowedToComment) {\n return (\n <AddCommentForm\n session={session}\n commentable={commentable}\n arguable={commentsHaveAlignment}\n rootCommentable={commentable}\n orderBy={orderBy}\n commentsMaxLength={commentsMaxLength}\n />\n );\n }\n\n return null;\n }\n}\n\n/**\n * Wrap the Comments component with a GraphQL query and children\n * fragments.\n */\n\nwindow.Comments = Comments;\n\nexport const commentsQuery = require(\"../queries/comments.query.graphql\");\n\nconst CommentsWithData: any = graphql<GetCommentsQuery, CommentsProps>(commentsQuery, {\n options: {\n pollInterval: 15000\n },\n props: ({ ownProps, data }) => {\n if (data) {\n const { loading, session, commentable, refetch } = data;\n\n return {\n loading,\n session,\n commentable,\n orderBy: ownProps.orderBy,\n singleCommentId: ownProps.singleCommentId,\n reorderComments: (orderBy: string) => {\n return refetch({\n orderBy\n });\n }\n };\n }\n }\n})(Comments);\n\nexport interface CommentsApplicationProps extends GetCommentsQueryVariables {\n singleCommentId: string;\n locale: string;\n toggleTranslations: boolean;\n commentsMaxLength: number;\n}\n\n/**\n * Wrap the CommentsWithData component within an Application component to\n * connect it with Apollo client and store.\n * @returns {ReactComponent} - A component wrapped within an Application component\n */\nconst CommentsApplication: React.SFC<CommentsApplicationProps> = ({ locale, toggleTranslations, commentableId, commentableType, singleCommentId, commentsMaxLength }) => (\n <Application locale={locale}>\n <CommentsWithData\n commentsMaxLength={commentsMaxLength}\n commentableId={commentableId}\n commentableType={commentableType}\n locale={locale}\n toggleTranslations={toggleTranslations}\n orderBy=\"older\"\n singleCommentId={singleCommentId}\n />\n </Application>\n);\n\nexport default CommentsApplication;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\nfunction createFlow(fromRight) {\n return baseRest(function(funcs) {\n funcs = baseFlatten(funcs, 1);\n\n var length = funcs.length,\n index = length;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n if (typeof funcs[index] != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n }\n return function() {\n var index = 0,\n result = length ? funcs[index].apply(this, arguments) : arguments[0];\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n}\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * This method is like `_.flow` except that it creates a function that\n * invokes the given functions from right to left.\n *\n * @static\n * @since 3.0.0\n * @memberOf _\n * @category Util\n * @param {...(Function|Function[])} [funcs] The functions to invoke.\n * @returns {Function} Returns the new composite function.\n * @see _.flow\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var addSquare = _.flowRight([square, _.add]);\n * addSquare(1, 2);\n * // => 9\n */\nvar flowRight = createFlow(true);\n\nmodule.exports = flowRight;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, props) {\n object = Object(object);\n return basePickBy(object, props, function(value, key) {\n return key in object;\n });\n}\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick from.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, props, predicate) {\n var index = -1,\n length = props.length,\n result = {};\n\n while (++index < length) {\n var key = props[index],\n value = object[key];\n\n if (predicate(value, key)) {\n result[key] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [props] The property identifiers to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = baseRest(function(object, props) {\n return object == null ? {} : basePick(object, arrayMap(baseFlatten(props, 1), toKey));\n});\n\nmodule.exports = pick;\n","import * as React from \"react\";\nimport { ApolloProvider } from \"react-apollo\";\n\nimport apolloClient from \"./apollo_client\";\n\nconst { I18n } = require(\"react-i18nify\");\n\ninterface ApplicationProps {\n locale: string;\n}\n\n/**\n * Wrapper component for all React applications using Apollo\n * @class\n * @augments Component\n */\nexport default class Application extends React.Component<ApplicationProps> {\n constructor(props: ApplicationProps) {\n const { locale } = props;\n\n I18n.setLocale(locale);\n\n super(props);\n }\n\n public render() {\n const { children } = this.props;\n\n return (\n <ApolloProvider client={apolloClient}>\n {children}\n </ApolloProvider>\n );\n }\n}\n","import { InMemoryCache } from \"apollo-cache-inmemory\";\nimport { ApolloClient } from \"apollo-client\";\nimport { HttpLink } from \"apollo-link-http\";\n\nimport \"unfetch/polyfill\";\n\nconst client = new ApolloClient({\n link: new HttpLink({ uri: \"/api\", credentials: \"same-origin\", fetch }),\n cache: new InMemoryCache()\n});\n\nexport default client;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.visit = visit;\nexports.visitInParallel = visitInParallel;\nexports.visitWithTypeInfo = visitWithTypeInfo;\nexports.getVisitFn = getVisitFn;\n\n\n/**\n * A visitor is comprised of visit functions, which are called on each node\n * during the visitor's traversal.\n */\n\n\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * strict\n */\n\nvar QueryDocumentKeys = exports.QueryDocumentKeys = {\n Name: [],\n\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name',\n // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n\n Directive: ['name', 'arguments'],\n\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n\n SchemaDefinition: ['directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields'],\n\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations']\n};\n\n/**\n * A KeyMap describes each the traversable properties of each kind of node.\n */\nvar BREAK = exports.BREAK = {};\n\n/**\n * visit() will walk through an AST using a depth first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\nfunction visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n for (var k in node) {\n if (node.hasOwnProperty(k)) {\n clone[k] = node[k];\n }\n }\n node = clone;\n }\n var editOffset = 0;\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n if (inArray) {\n editKey -= editOffset;\n }\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n if (node === null || node === undefined) {\n continue;\n }\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error('Invalid AST Node: ' + JSON.stringify(node));\n }\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n stack = { inArray: inArray, index: index, keys: keys, edits: edits, prev: stack };\n inArray = Array.isArray(node);\n keys = inArray ? node : visitorKeys[node.kind] || [];\n index = -1;\n edits = [];\n if (parent) {\n ancestors.push(parent);\n }\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n\nfunction isNode(maybeNode) {\n return Boolean(maybeNode && typeof maybeNode.kind === 'string');\n}\n\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\nfunction visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (!skipping[i]) {\n var fn = getVisitFn(visitors[i], node.kind, /* isLeaving */false);\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (!skipping[i]) {\n var fn = getVisitFn(visitors[i], node.kind, /* isLeaving */true);\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n\n/**\n * Creates a new visitor instance which maintains a provided TypeInfo instance\n * along with visiting visitor.\n */\nfunction visitWithTypeInfo(typeInfo, visitor) {\n return {\n enter: function enter(node) {\n typeInfo.enter(node);\n var fn = getVisitFn(visitor, node.kind, /* isLeaving */false);\n if (fn) {\n var result = fn.apply(visitor, arguments);\n if (result !== undefined) {\n typeInfo.leave(node);\n if (isNode(result)) {\n typeInfo.enter(result);\n }\n }\n return result;\n }\n },\n leave: function leave(node) {\n var fn = getVisitFn(visitor, node.kind, /* isLeaving */true);\n var result = void 0;\n if (fn) {\n result = fn.apply(visitor, arguments);\n }\n typeInfo.leave(node);\n return result;\n }\n };\n}\n\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\nfunction getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n var specificKindVisitor = specificVisitor[kind];\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}","module.exports = require(\"./zen-observable.js\").Observable;\n","'use strict'; (function(fn, name) { if (typeof exports !== \"undefined\") { fn(exports, module); } else if (typeof self !== \"undefined\") { var e = name === \"*\" ? self : (name ? self[name] = {} : {}); fn(e, { exports: e }); } })(function(exports, module) { // === Symbol Support ===\n\nfunction hasSymbol(name) {\n return typeof Symbol === \"function\" && Boolean(Symbol[name]);\n}\n\nfunction getSymbol(name) {\n return hasSymbol(name) ? Symbol[name] : \"@@\" + name;\n}\n\n// Ponyfill Symbol.observable for interoperability with other libraries\nif (typeof Symbol === \"function\" && !Symbol.observable) {\n Symbol.observable = Symbol(\"observable\");\n}\n\n// === Abstract Operations ===\n\nfunction hostReportError(e) {\n setTimeout(function() { throw e });\n}\n\nfunction getMethod(obj, key) {\n var value = obj[key];\n\n if (value == null)\n return undefined;\n\n if (typeof value !== \"function\")\n throw new TypeError(value + \" is not a function\");\n\n return value;\n}\n\nfunction getSpecies(obj) {\n var ctor = obj.constructor;\n if (ctor !== undefined) {\n ctor = ctor[getSymbol(\"species\")];\n if (ctor === null) {\n ctor = undefined;\n }\n }\n return ctor !== undefined ? ctor : Observable;\n}\n\nfunction addMethods(target, methods) {\n Object.keys(methods).forEach(function(k) {\n var desc = Object.getOwnPropertyDescriptor(methods, k);\n desc.enumerable = false;\n Object.defineProperty(target, k, desc);\n });\n}\n\nfunction cleanupSubscription(subscription) {\n // Assert: observer._observer is undefined\n\n var cleanup = subscription._cleanup;\n\n if (!cleanup)\n return;\n\n // Drop the reference to the cleanup function so that we won't call it\n // more than once\n subscription._cleanup = undefined;\n\n // Call the cleanup function\n try { cleanup() }\n catch (e) { hostReportError(e) }\n}\n\nfunction subscriptionClosed(subscription) {\n return subscription._observer === undefined;\n}\n\nfunction closeSubscription(subscription) {\n if (subscriptionClosed(subscription))\n return;\n\n subscription._observer = undefined;\n cleanupSubscription(subscription);\n}\n\nfunction cleanupFromSubscription(subscription) {\n return function() { subscription.unsubscribe() };\n}\n\nfunction Subscription(observer, subscriber) {\n // Assert: subscriber is callable\n\n // The observer must be an object\n if (Object(observer) !== observer)\n throw new TypeError(\"Observer must be an object\");\n\n this._cleanup = undefined;\n this._observer = observer;\n\n try {\n var start$0 = getMethod(observer, \"start\");\n if (start$0) start$0.call(observer, this);\n } catch (e) {\n hostReportError(e);\n }\n\n if (subscriptionClosed(this))\n return;\n\n observer = new SubscriptionObserver(this);\n\n try {\n // Call the subscriber function\n var cleanup$0 = subscriber.call(undefined, observer);\n\n // The return value must be undefined, null, a subscription object, or a function\n if (cleanup$0 != null) {\n if (typeof cleanup$0.unsubscribe === \"function\")\n cleanup$0 = cleanupFromSubscription(cleanup$0);\n else if (typeof cleanup$0 !== \"function\")\n throw new TypeError(cleanup$0 + \" is not a function\");\n\n this._cleanup = cleanup$0;\n }\n } catch (e) {\n // If an error occurs during startup, then attempt to send the error\n // to the observer\n observer.error(e);\n return;\n }\n\n // If the stream is already finished, then perform cleanup\n if (subscriptionClosed(this))\n cleanupSubscription(this);\n}\n\naddMethods(Subscription.prototype = {}, {\n get closed() { return subscriptionClosed(this) },\n unsubscribe: function() { closeSubscription(this) },\n});\n\nfunction SubscriptionObserver(subscription) {\n this._subscription = subscription;\n}\n\naddMethods(SubscriptionObserver.prototype = {}, {\n\n get closed() { return subscriptionClosed(this._subscription) },\n\n next: function(value) {\n var subscription = this._subscription;\n\n // If the stream is closed, then return undefined\n if (subscriptionClosed(subscription))\n return;\n\n var observer = subscription._observer;\n\n try {\n // If the observer has a \"next\" method, send the next value\n var m$0 = getMethod(observer, \"next\");\n if (m$0) m$0.call(observer, value);\n } catch (e) {\n hostReportError(e);\n }\n },\n\n error: function(value) {\n var subscription = this._subscription;\n\n // If the stream is closed, throw the error to the caller\n if (subscriptionClosed(subscription)) {\n hostReportError(value);\n return;\n }\n\n var observer = subscription._observer;\n subscription._observer = undefined;\n\n try {\n var m$1 = getMethod(observer, \"error\");\n if (m$1) m$1.call(observer, value);\n else throw value;\n } catch (e) {\n hostReportError(e);\n }\n\n cleanupSubscription(subscription);\n },\n\n complete: function() {\n var subscription = this._subscription;\n\n if (subscriptionClosed(subscription))\n return;\n\n var observer = subscription._observer;\n subscription._observer = undefined;\n\n try {\n var m$2 = getMethod(observer, \"complete\");\n if (m$2) m$2.call(observer);\n } catch (e) {\n hostReportError(e);\n }\n\n cleanupSubscription(subscription);\n },\n\n});\n\nfunction Observable(subscriber) {\n // Constructor cannot be called as a function\n if (!(this instanceof Observable))\n throw new TypeError(\"Observable cannot be called as a function\");\n\n // The stream subscriber must be a function\n if (typeof subscriber !== \"function\")\n throw new TypeError(\"Observable initializer must be a function\");\n\n this._subscriber = subscriber;\n}\n\naddMethods(Observable.prototype, {\n\n subscribe: function(observer) { for (var args = [], __$0 = 1; __$0 < arguments.length; ++__$0) args.push(arguments[__$0]); \n if (typeof observer === 'function') {\n observer = {\n next: observer,\n error: args[0],\n complete: args[1],\n };\n } else if (typeof observer !== 'object' || observer === null) {\n observer = {};\n }\n\n return new Subscription(observer, this._subscriber);\n },\n\n forEach: function(fn) { var __this = this; \n return new Promise(function(resolve, reject) {\n if (typeof fn !== \"function\")\n return Promise.reject(new TypeError(fn + \" is not a function\"));\n\n __this.subscribe({\n _subscription: null,\n\n start: function(subscription) {\n if (Object(subscription) !== subscription)\n throw new TypeError(subscription + \" is not an object\");\n\n this._subscription = subscription;\n },\n\n next: function(value) {\n var subscription = this._subscription;\n\n if (subscription.closed)\n return;\n\n try {\n fn(value);\n } catch (err) {\n reject(err);\n subscription.unsubscribe();\n }\n },\n\n error: reject,\n complete: resolve,\n });\n });\n },\n\n map: function(fn) { var __this = this; \n if (typeof fn !== \"function\")\n throw new TypeError(fn + \" is not a function\");\n\n var C = getSpecies(this);\n\n return new C(function(observer) { return __this.subscribe({\n next: function(value) {\n if (observer.closed)\n return;\n\n try { value = fn(value) }\n catch (e) { return observer.error(e) }\n\n observer.next(value);\n },\n\n error: function(e) { observer.error(e) },\n complete: function() { observer.complete() },\n }); });\n },\n\n filter: function(fn) { var __this = this; \n if (typeof fn !== \"function\")\n throw new TypeError(fn + \" is not a function\");\n\n var C = getSpecies(this);\n\n return new C(function(observer) { return __this.subscribe({\n next: function(value) {\n if (observer.closed)\n return;\n\n try { if (!fn(value)) return }\n catch (e) { return observer.error(e) }\n\n observer.next(value);\n },\n\n error: function(e) { observer.error(e) },\n complete: function() { observer.complete() },\n }); });\n },\n\n reduce: function(fn) { var __this = this; \n if (typeof fn !== \"function\")\n throw new TypeError(fn + \" is not a function\");\n\n var C = getSpecies(this);\n var hasSeed = arguments.length > 1;\n var hasValue = false;\n var seed = arguments[1];\n var acc = seed;\n\n return new C(function(observer) { return __this.subscribe({\n\n next: function(value) {\n if (observer.closed)\n return;\n\n var first = !hasValue;\n hasValue = true;\n\n if (!first || hasSeed) {\n try { acc = fn(acc, value) }\n catch (e) { return observer.error(e) }\n } else {\n acc = value;\n }\n },\n\n error: function(e) { observer.error(e) },\n\n complete: function() {\n if (!hasValue && !hasSeed) {\n return observer.error(new TypeError(\"Cannot reduce an empty sequence\"));\n }\n\n observer.next(acc);\n observer.complete();\n },\n\n }); });\n },\n\n});\n\nObject.defineProperty(Observable.prototype, getSymbol(\"observable\"), {\n value: function() { return this },\n writable: true,\n configurable: true,\n});\n\naddMethods(Observable, {\n\n from: function(x) {\n var C = typeof this === \"function\" ? this : Observable;\n\n if (x == null)\n throw new TypeError(x + \" is not an object\");\n\n var method = getMethod(x, getSymbol(\"observable\"));\n\n if (method) {\n var observable$0 = method.call(x);\n\n if (Object(observable$0) !== observable$0)\n throw new TypeError(observable$0 + \" is not an object\");\n\n if (observable$0.constructor === C)\n return observable$0;\n\n return new C(function(observer) { return observable$0.subscribe(observer); });\n }\n\n if (hasSymbol(\"iterator\") && (method = getMethod(x, getSymbol(\"iterator\")))) {\n return new C(function(observer) {\n for (var __$0 = (method.call(x))[Symbol.iterator](), __$1; __$1 = __$0.next(), !__$1.done;) { var item$0 = __$1.value; \n observer.next(item$0);\n if (observer.closed)\n return;\n }\n\n observer.complete();\n });\n }\n\n if (Array.isArray(x)) {\n return new C(function(observer) {\n for (var i$0 = 0; i$0 < x.length; ++i$0) {\n observer.next(x[i$0]);\n if (observer.closed)\n return;\n }\n\n observer.complete();\n });\n }\n\n throw new TypeError(x + \" is not observable\");\n },\n\n of: function() { for (var items = [], __$0 = 0; __$0 < arguments.length; ++__$0) items.push(arguments[__$0]); \n var C = typeof this === \"function\" ? this : Observable;\n\n return new C(function(observer) {\n for (var i$1 = 0; i$1 < items.length; ++i$1) {\n observer.next(items[i$1]);\n if (observer.closed)\n return;\n }\n\n observer.complete();\n });\n },\n\n});\n\nObject.defineProperty(Observable, getSymbol(\"species\"), {\n get: function() { return this },\n configurable: true,\n});\n\nObject.defineProperty(Observable, \"extensions\", {\n value: {\n observableSymbol: getSymbol(\"observable\"),\n setHostReportError: function(fn) { hostReportError = fn },\n },\n});\n\nexports.Observable = Observable;\n\n\n}, \"*\");","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","if (!window.fetch) window.fetch = require('.').default || require('.');\n","// Expose `IntlPolyfill` as global to add locale data into runtime later on.\nglobal.IntlPolyfill = require('./lib/core.js');\n\n// Require all locale data for `Intl`. This module will be\n// ignored when bundling for the browser with Browserify/Webpack.\nrequire('./locale-data/complete.js');\n\n// hack to export the polyfill as global Intl if needed\nif (!global.Intl) {\n global.Intl = global.IntlPolyfill;\n global.IntlPolyfill.__applyLocaleSensitivePrototypes();\n}\n\n// providing an idiomatic api for the nodejs version of this module\nmodule.exports = global.IntlPolyfill;\n","'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n};\n\nvar jsx = function () {\n var REACT_ELEMENT_TYPE = typeof Symbol === \"function\" && Symbol.for && Symbol.for(\"react.element\") || 0xeac7;\n return function createRawReactElement(type, props, key, children) {\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n\n if (!props && childrenLength !== 0) {\n props = {};\n }\n\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n\n props.children = childArray;\n }\n\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : '' + key,\n ref: null,\n props: props,\n _owner: null\n };\n };\n}();\n\nvar asyncToGenerator = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new Promise(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return Promise.resolve(value).then(function (value) {\n return step(\"next\", value);\n }, function (err) {\n return step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar defineEnumerableProperties = function (obj, descs) {\n for (var key in descs) {\n var desc = descs[key];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, key, desc);\n }\n\n return obj;\n};\n\nvar defaults = function (obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n\n return obj;\n};\n\nvar defineProperty$1 = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar _instanceof = function (left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n};\n\nvar interopRequireDefault = function (obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n};\n\nvar interopRequireWildcard = function (obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\n};\n\nvar newArrowCheck = function (innerThis, boundThis) {\n if (innerThis !== boundThis) {\n throw new TypeError(\"Cannot instantiate an arrow function\");\n }\n};\n\nvar objectDestructuringEmpty = function (obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure undefined\");\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar selfGlobal = typeof global === \"undefined\" ? self : global;\n\nvar set = function set(object, property, value, receiver) {\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent !== null) {\n set(parent, property, value, receiver);\n }\n } else if (\"value\" in desc && desc.writable) {\n desc.value = value;\n } else {\n var setter = desc.set;\n\n if (setter !== undefined) {\n setter.call(receiver, value);\n }\n }\n\n return value;\n};\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\nvar slicedToArrayLoose = function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n var _arr = [];\n\n for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {\n _arr.push(_step.value);\n\n if (i && _arr.length === i) break;\n }\n\n return _arr;\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n};\n\nvar taggedTemplateLiteral = function (strings, raw) {\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n};\n\nvar taggedTemplateLiteralLoose = function (strings, raw) {\n strings.raw = raw;\n return strings;\n};\n\nvar temporalRef = function (val, name, undef) {\n if (val === undef) {\n throw new ReferenceError(name + \" is not defined - temporal dead zone\");\n } else {\n return val;\n }\n};\n\nvar temporalUndefined = {};\n\nvar toArray = function (arr) {\n return Array.isArray(arr) ? arr : Array.from(arr);\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n\n\nvar babelHelpers$1 = Object.freeze({\n jsx: jsx,\n asyncToGenerator: asyncToGenerator,\n classCallCheck: classCallCheck,\n createClass: createClass,\n defineEnumerableProperties: defineEnumerableProperties,\n defaults: defaults,\n defineProperty: defineProperty$1,\n get: get,\n inherits: inherits,\n interopRequireDefault: interopRequireDefault,\n interopRequireWildcard: interopRequireWildcard,\n newArrowCheck: newArrowCheck,\n objectDestructuringEmpty: objectDestructuringEmpty,\n objectWithoutProperties: objectWithoutProperties,\n possibleConstructorReturn: possibleConstructorReturn,\n selfGlobal: selfGlobal,\n set: set,\n slicedToArray: slicedToArray,\n slicedToArrayLoose: slicedToArrayLoose,\n taggedTemplateLiteral: taggedTemplateLiteral,\n taggedTemplateLiteralLoose: taggedTemplateLiteralLoose,\n temporalRef: temporalRef,\n temporalUndefined: temporalUndefined,\n toArray: toArray,\n toConsumableArray: toConsumableArray,\n typeof: _typeof,\n extends: _extends,\n instanceof: _instanceof\n});\n\nvar realDefineProp = function () {\n var sentinel = function sentinel() {};\n try {\n Object.defineProperty(sentinel, 'a', {\n get: function get() {\n return 1;\n }\n });\n Object.defineProperty(sentinel, 'prototype', { writable: false });\n return sentinel.a === 1 && sentinel.prototype instanceof Object;\n } catch (e) {\n return false;\n }\n}();\n\n// Need a workaround for getters in ES3\nvar es3 = !realDefineProp && !Object.prototype.__defineGetter__;\n\n// We use this a lot (and need it for proto-less objects)\nvar hop = Object.prototype.hasOwnProperty;\n\n// Naive defineProperty for compatibility\nvar defineProperty = realDefineProp ? Object.defineProperty : function (obj, name, desc) {\n if ('get' in desc && obj.__defineGetter__) obj.__defineGetter__(name, desc.get);else if (!hop.call(obj, name) || 'value' in desc) obj[name] = desc.value;\n};\n\n// Array.prototype.indexOf, as good as we need it to be\nvar arrIndexOf = Array.prototype.indexOf || function (search) {\n /*jshint validthis:true */\n var t = this;\n if (!t.length) return -1;\n\n for (var i = arguments[1] || 0, max = t.length; i < max; i++) {\n if (t[i] === search) return i;\n }\n\n return -1;\n};\n\n// Create an object with the specified prototype (2nd arg required for Record)\nvar objCreate = Object.create || function (proto, props) {\n var obj = void 0;\n\n function F() {}\n F.prototype = proto;\n obj = new F();\n\n for (var k in props) {\n if (hop.call(props, k)) defineProperty(obj, k, props[k]);\n }\n\n return obj;\n};\n\n// Snapshot some (hopefully still) native built-ins\nvar arrSlice = Array.prototype.slice;\nvar arrConcat = Array.prototype.concat;\nvar arrPush = Array.prototype.push;\nvar arrJoin = Array.prototype.join;\nvar arrShift = Array.prototype.shift;\n\n// Naive Function.prototype.bind for compatibility\nvar fnBind = Function.prototype.bind || function (thisObj) {\n var fn = this,\n args = arrSlice.call(arguments, 1);\n\n // All our (presently) bound functions have either 1 or 0 arguments. By returning\n // different function signatures, we can pass some tests in ES3 environments\n if (fn.length === 1) {\n return function () {\n return fn.apply(thisObj, arrConcat.call(args, arrSlice.call(arguments)));\n };\n }\n return function () {\n return fn.apply(thisObj, arrConcat.call(args, arrSlice.call(arguments)));\n };\n};\n\n// Object housing internal properties for constructors\nvar internals = objCreate(null);\n\n// Keep internal properties internal\nvar secret = Math.random();\n\n// Helper functions\n// ================\n\n/**\n * A function to deal with the inaccuracy of calculating log10 in pre-ES6\n * JavaScript environments. Math.log(num) / Math.LN10 was responsible for\n * causing issue #62.\n */\nfunction log10Floor(n) {\n // ES6 provides the more accurate Math.log10\n if (typeof Math.log10 === 'function') return Math.floor(Math.log10(n));\n\n var x = Math.round(Math.log(n) * Math.LOG10E);\n return x - (Number('1e' + x) > n);\n}\n\n/**\n * A map that doesn't contain Object in its prototype chain\n */\nfunction Record(obj) {\n // Copy only own properties over unless this object is already a Record instance\n for (var k in obj) {\n if (obj instanceof Record || hop.call(obj, k)) defineProperty(this, k, { value: obj[k], enumerable: true, writable: true, configurable: true });\n }\n}\nRecord.prototype = objCreate(null);\n\n/**\n * An ordered list\n */\nfunction List() {\n defineProperty(this, 'length', { writable: true, value: 0 });\n\n if (arguments.length) arrPush.apply(this, arrSlice.call(arguments));\n}\nList.prototype = objCreate(null);\n\n/**\n * Constructs a regular expression to restore tainted RegExp properties\n */\nfunction createRegExpRestore() {\n if (internals.disableRegExpRestore) {\n return function () {/* no-op */};\n }\n\n var regExpCache = {\n lastMatch: RegExp.lastMatch || '',\n leftContext: RegExp.leftContext,\n multiline: RegExp.multiline,\n input: RegExp.input\n },\n has = false;\n\n // Create a snapshot of all the 'captured' properties\n for (var i = 1; i <= 9; i++) {\n has = (regExpCache['$' + i] = RegExp['$' + i]) || has;\n }return function () {\n // Now we've snapshotted some properties, escape the lastMatch string\n var esc = /[.?*+^$[\\]\\\\(){}|-]/g,\n lm = regExpCache.lastMatch.replace(esc, '\\\\$&'),\n reg = new List();\n\n // If any of the captured strings were non-empty, iterate over them all\n if (has) {\n for (var _i = 1; _i <= 9; _i++) {\n var m = regExpCache['$' + _i];\n\n // If it's empty, add an empty capturing group\n if (!m) lm = '()' + lm;\n\n // Else find the string in lm and escape & wrap it to capture it\n else {\n m = m.replace(esc, '\\\\$&');\n lm = lm.replace(m, '(' + m + ')');\n }\n\n // Push it to the reg and chop lm to make sure further groups come after\n arrPush.call(reg, lm.slice(0, lm.indexOf('(') + 1));\n lm = lm.slice(lm.indexOf('(') + 1);\n }\n }\n\n var exprStr = arrJoin.call(reg, '') + lm;\n\n // Shorten the regex by replacing each part of the expression with a match\n // for a string of that exact length. This is safe for the type of\n // expressions generated above, because the expression matches the whole\n // match string, so we know each group and each segment between capturing\n // groups can be matched by its length alone.\n exprStr = exprStr.replace(/(\\\\\\(|\\\\\\)|[^()])+/g, function (match) {\n return '[\\\\s\\\\S]{' + match.replace('\\\\', '').length + '}';\n });\n\n // Create the regular expression that will reconstruct the RegExp properties\n var expr = new RegExp(exprStr, regExpCache.multiline ? 'gm' : 'g');\n\n // Set the lastIndex of the generated expression to ensure that the match\n // is found in the correct index.\n expr.lastIndex = regExpCache.leftContext.length;\n\n expr.exec(regExpCache.input);\n };\n}\n\n/**\n * Mimics ES5's abstract ToObject() function\n */\nfunction toObject(arg) {\n if (arg === null) throw new TypeError('Cannot convert null or undefined to object');\n\n if ((typeof arg === 'undefined' ? 'undefined' : babelHelpers$1['typeof'](arg)) === 'object') return arg;\n return Object(arg);\n}\n\nfunction toNumber(arg) {\n if (typeof arg === 'number') return arg;\n return Number(arg);\n}\n\nfunction toInteger(arg) {\n var number = toNumber(arg);\n if (isNaN(number)) return 0;\n if (number === +0 || number === -0 || number === +Infinity || number === -Infinity) return number;\n if (number < 0) return Math.floor(Math.abs(number)) * -1;\n return Math.floor(Math.abs(number));\n}\n\nfunction toLength(arg) {\n var len = toInteger(arg);\n if (len <= 0) return 0;\n if (len === Infinity) return Math.pow(2, 53) - 1;\n return Math.min(len, Math.pow(2, 53) - 1);\n}\n\n/**\n * Returns \"internal\" properties for an object\n */\nfunction getInternalProperties(obj) {\n if (hop.call(obj, '__getInternalProperties')) return obj.__getInternalProperties(secret);\n\n return objCreate(null);\n}\n\n/**\n* Defines regular expressions for various operations related to the BCP 47 syntax,\n* as defined at http://tools.ietf.org/html/bcp47#section-2.1\n*/\n\n// extlang = 3ALPHA ; selected ISO 639 codes\n// *2(\"-\" 3ALPHA) ; permanently reserved\nvar extlang = '[a-z]{3}(?:-[a-z]{3}){0,2}';\n\n// language = 2*3ALPHA ; shortest ISO 639 code\n// [\"-\" extlang] ; sometimes followed by\n// ; extended language subtags\n// / 4ALPHA ; or reserved for future use\n// / 5*8ALPHA ; or registered language subtag\nvar language = '(?:[a-z]{2,3}(?:-' + extlang + ')?|[a-z]{4}|[a-z]{5,8})';\n\n// script = 4ALPHA ; ISO 15924 code\nvar script = '[a-z]{4}';\n\n// region = 2ALPHA ; ISO 3166-1 code\n// / 3DIGIT ; UN M.49 code\nvar region = '(?:[a-z]{2}|\\\\d{3})';\n\n// variant = 5*8alphanum ; registered variants\n// / (DIGIT 3alphanum)\nvar variant = '(?:[a-z0-9]{5,8}|\\\\d[a-z0-9]{3})';\n\n// ; Single alphanumerics\n// ; \"x\" reserved for private use\n// singleton = DIGIT ; 0 - 9\n// / %x41-57 ; A - W\n// / %x59-5A ; Y - Z\n// / %x61-77 ; a - w\n// / %x79-7A ; y - z\nvar singleton = '[0-9a-wy-z]';\n\n// extension = singleton 1*(\"-\" (2*8alphanum))\nvar extension = singleton + '(?:-[a-z0-9]{2,8})+';\n\n// privateuse = \"x\" 1*(\"-\" (1*8alphanum))\nvar privateuse = 'x(?:-[a-z0-9]{1,8})+';\n\n// irregular = \"en-GB-oed\" ; irregular tags do not match\n// / \"i-ami\" ; the 'langtag' production and\n// / \"i-bnn\" ; would not otherwise be\n// / \"i-default\" ; considered 'well-formed'\n// / \"i-enochian\" ; These tags are all valid,\n// / \"i-hak\" ; but most are deprecated\n// / \"i-klingon\" ; in favor of more modern\n// / \"i-lux\" ; subtags or subtag\n// / \"i-mingo\" ; combination\n// / \"i-navajo\"\n// / \"i-pwn\"\n// / \"i-tao\"\n// / \"i-tay\"\n// / \"i-tsu\"\n// / \"sgn-BE-FR\"\n// / \"sgn-BE-NL\"\n// / \"sgn-CH-DE\"\nvar irregular = '(?:en-GB-oed' + '|i-(?:ami|bnn|default|enochian|hak|klingon|lux|mingo|navajo|pwn|tao|tay|tsu)' + '|sgn-(?:BE-FR|BE-NL|CH-DE))';\n\n// regular = \"art-lojban\" ; these tags match the 'langtag'\n// / \"cel-gaulish\" ; production, but their subtags\n// / \"no-bok\" ; are not extended language\n// / \"no-nyn\" ; or variant subtags: their meaning\n// / \"zh-guoyu\" ; is defined by their registration\n// / \"zh-hakka\" ; and all of these are deprecated\n// / \"zh-min\" ; in favor of a more modern\n// / \"zh-min-nan\" ; subtag or sequence of subtags\n// / \"zh-xiang\"\nvar regular = '(?:art-lojban|cel-gaulish|no-bok|no-nyn' + '|zh-(?:guoyu|hakka|min|min-nan|xiang))';\n\n// grandfathered = irregular ; non-redundant tags registered\n// / regular ; during the RFC 3066 era\nvar grandfathered = '(?:' + irregular + '|' + regular + ')';\n\n// langtag = language\n// [\"-\" script]\n// [\"-\" region]\n// *(\"-\" variant)\n// *(\"-\" extension)\n// [\"-\" privateuse]\nvar langtag = language + '(?:-' + script + ')?(?:-' + region + ')?(?:-' + variant + ')*(?:-' + extension + ')*(?:-' + privateuse + ')?';\n\n// Language-Tag = langtag ; normal language tags\n// / privateuse ; private use tag\n// / grandfathered ; grandfathered tags\nvar expBCP47Syntax = RegExp('^(?:' + langtag + '|' + privateuse + '|' + grandfathered + ')$', 'i');\n\n// Match duplicate variants in a language tag\nvar expVariantDupes = RegExp('^(?!x).*?-(' + variant + ')-(?:\\\\w{4,8}-(?!x-))*\\\\1\\\\b', 'i');\n\n// Match duplicate singletons in a language tag (except in private use)\nvar expSingletonDupes = RegExp('^(?!x).*?-(' + singleton + ')-(?:\\\\w+-(?!x-))*\\\\1\\\\b', 'i');\n\n// Match all extension sequences\nvar expExtSequences = RegExp('-' + extension, 'ig');\n\n// Default locale is the first-added locale data for us\nvar defaultLocale = void 0;\nfunction setDefaultLocale(locale) {\n defaultLocale = locale;\n}\n\n// IANA Subtag Registry redundant tag and subtag maps\nvar redundantTags = {\n tags: {\n \"art-lojban\": \"jbo\",\n \"i-ami\": \"ami\",\n \"i-bnn\": \"bnn\",\n \"i-hak\": \"hak\",\n \"i-klingon\": \"tlh\",\n \"i-lux\": \"lb\",\n \"i-navajo\": \"nv\",\n \"i-pwn\": \"pwn\",\n \"i-tao\": \"tao\",\n \"i-tay\": \"tay\",\n \"i-tsu\": \"tsu\",\n \"no-bok\": \"nb\",\n \"no-nyn\": \"nn\",\n \"sgn-BE-FR\": \"sfb\",\n \"sgn-BE-NL\": \"vgt\",\n \"sgn-CH-DE\": \"sgg\",\n \"zh-guoyu\": \"cmn\",\n \"zh-hakka\": \"hak\",\n \"zh-min-nan\": \"nan\",\n \"zh-xiang\": \"hsn\",\n \"sgn-BR\": \"bzs\",\n \"sgn-CO\": \"csn\",\n \"sgn-DE\": \"gsg\",\n \"sgn-DK\": \"dsl\",\n \"sgn-ES\": \"ssp\",\n \"sgn-FR\": \"fsl\",\n \"sgn-GB\": \"bfi\",\n \"sgn-GR\": \"gss\",\n \"sgn-IE\": \"isg\",\n \"sgn-IT\": \"ise\",\n \"sgn-JP\": \"jsl\",\n \"sgn-MX\": \"mfs\",\n \"sgn-NI\": \"ncs\",\n \"sgn-NL\": \"dse\",\n \"sgn-NO\": \"nsl\",\n \"sgn-PT\": \"psr\",\n \"sgn-SE\": \"swl\",\n \"sgn-US\": \"ase\",\n \"sgn-ZA\": \"sfs\",\n \"zh-cmn\": \"cmn\",\n \"zh-cmn-Hans\": \"cmn-Hans\",\n \"zh-cmn-Hant\": \"cmn-Hant\",\n \"zh-gan\": \"gan\",\n \"zh-wuu\": \"wuu\",\n \"zh-yue\": \"yue\"\n },\n subtags: {\n BU: \"MM\",\n DD: \"DE\",\n FX: \"FR\",\n TP: \"TL\",\n YD: \"YE\",\n ZR: \"CD\",\n heploc: \"alalc97\",\n 'in': \"id\",\n iw: \"he\",\n ji: \"yi\",\n jw: \"jv\",\n mo: \"ro\",\n ayx: \"nun\",\n bjd: \"drl\",\n ccq: \"rki\",\n cjr: \"mom\",\n cka: \"cmr\",\n cmk: \"xch\",\n drh: \"khk\",\n drw: \"prs\",\n gav: \"dev\",\n hrr: \"jal\",\n ibi: \"opa\",\n kgh: \"kml\",\n lcq: \"ppr\",\n mst: \"mry\",\n myt: \"mry\",\n sca: \"hle\",\n tie: \"ras\",\n tkk: \"twm\",\n tlw: \"weo\",\n tnf: \"prs\",\n ybd: \"rki\",\n yma: \"lrr\"\n },\n extLang: {\n aao: [\"aao\", \"ar\"],\n abh: [\"abh\", \"ar\"],\n abv: [\"abv\", \"ar\"],\n acm: [\"acm\", \"ar\"],\n acq: [\"acq\", \"ar\"],\n acw: [\"acw\", \"ar\"],\n acx: [\"acx\", \"ar\"],\n acy: [\"acy\", \"ar\"],\n adf: [\"adf\", \"ar\"],\n ads: [\"ads\", \"sgn\"],\n aeb: [\"aeb\", \"ar\"],\n aec: [\"aec\", \"ar\"],\n aed: [\"aed\", \"sgn\"],\n aen: [\"aen\", \"sgn\"],\n afb: [\"afb\", \"ar\"],\n afg: [\"afg\", \"sgn\"],\n ajp: [\"ajp\", \"ar\"],\n apc: [\"apc\", \"ar\"],\n apd: [\"apd\", \"ar\"],\n arb: [\"arb\", \"ar\"],\n arq: [\"arq\", \"ar\"],\n ars: [\"ars\", \"ar\"],\n ary: [\"ary\", \"ar\"],\n arz: [\"arz\", \"ar\"],\n ase: [\"ase\", \"sgn\"],\n asf: [\"asf\", \"sgn\"],\n asp: [\"asp\", \"sgn\"],\n asq: [\"asq\", \"sgn\"],\n asw: [\"asw\", \"sgn\"],\n auz: [\"auz\", \"ar\"],\n avl: [\"avl\", \"ar\"],\n ayh: [\"ayh\", \"ar\"],\n ayl: [\"ayl\", \"ar\"],\n ayn: [\"ayn\", \"ar\"],\n ayp: [\"ayp\", \"ar\"],\n bbz: [\"bbz\", \"ar\"],\n bfi: [\"bfi\", \"sgn\"],\n bfk: [\"bfk\", \"sgn\"],\n bjn: [\"bjn\", \"ms\"],\n bog: [\"bog\", \"sgn\"],\n bqn: [\"bqn\", \"sgn\"],\n bqy: [\"bqy\", \"sgn\"],\n btj: [\"btj\", \"ms\"],\n bve: [\"bve\", \"ms\"],\n bvl: [\"bvl\", \"sgn\"],\n bvu: [\"bvu\", \"ms\"],\n bzs: [\"bzs\", \"sgn\"],\n cdo: [\"cdo\", \"zh\"],\n cds: [\"cds\", \"sgn\"],\n cjy: [\"cjy\", \"zh\"],\n cmn: [\"cmn\", \"zh\"],\n coa: [\"coa\", \"ms\"],\n cpx: [\"cpx\", \"zh\"],\n csc: [\"csc\", \"sgn\"],\n csd: [\"csd\", \"sgn\"],\n cse: [\"cse\", \"sgn\"],\n csf: [\"csf\", \"sgn\"],\n csg: [\"csg\", \"sgn\"],\n csl: [\"csl\", \"sgn\"],\n csn: [\"csn\", \"sgn\"],\n csq: [\"csq\", \"sgn\"],\n csr: [\"csr\", \"sgn\"],\n czh: [\"czh\", \"zh\"],\n czo: [\"czo\", \"zh\"],\n doq: [\"doq\", \"sgn\"],\n dse: [\"dse\", \"sgn\"],\n dsl: [\"dsl\", \"sgn\"],\n dup: [\"dup\", \"ms\"],\n ecs: [\"ecs\", \"sgn\"],\n esl: [\"esl\", \"sgn\"],\n esn: [\"esn\", \"sgn\"],\n eso: [\"eso\", \"sgn\"],\n eth: [\"eth\", \"sgn\"],\n fcs: [\"fcs\", \"sgn\"],\n fse: [\"fse\", \"sgn\"],\n fsl: [\"fsl\", \"sgn\"],\n fss: [\"fss\", \"sgn\"],\n gan: [\"gan\", \"zh\"],\n gds: [\"gds\", \"sgn\"],\n gom: [\"gom\", \"kok\"],\n gse: [\"gse\", \"sgn\"],\n gsg: [\"gsg\", \"sgn\"],\n gsm: [\"gsm\", \"sgn\"],\n gss: [\"gss\", \"sgn\"],\n gus: [\"gus\", \"sgn\"],\n hab: [\"hab\", \"sgn\"],\n haf: [\"haf\", \"sgn\"],\n hak: [\"hak\", \"zh\"],\n hds: [\"hds\", \"sgn\"],\n hji: [\"hji\", \"ms\"],\n hks: [\"hks\", \"sgn\"],\n hos: [\"hos\", \"sgn\"],\n hps: [\"hps\", \"sgn\"],\n hsh: [\"hsh\", \"sgn\"],\n hsl: [\"hsl\", \"sgn\"],\n hsn: [\"hsn\", \"zh\"],\n icl: [\"icl\", \"sgn\"],\n ils: [\"ils\", \"sgn\"],\n inl: [\"inl\", \"sgn\"],\n ins: [\"ins\", \"sgn\"],\n ise: [\"ise\", \"sgn\"],\n isg: [\"isg\", \"sgn\"],\n isr: [\"isr\", \"sgn\"],\n jak: [\"jak\", \"ms\"],\n jax: [\"jax\", \"ms\"],\n jcs: [\"jcs\", \"sgn\"],\n jhs: [\"jhs\", \"sgn\"],\n jls: [\"jls\", \"sgn\"],\n jos: [\"jos\", \"sgn\"],\n jsl: [\"jsl\", \"sgn\"],\n jus: [\"jus\", \"sgn\"],\n kgi: [\"kgi\", \"sgn\"],\n knn: [\"knn\", \"kok\"],\n kvb: [\"kvb\", \"ms\"],\n kvk: [\"kvk\", \"sgn\"],\n kvr: [\"kvr\", \"ms\"],\n kxd: [\"kxd\", \"ms\"],\n lbs: [\"lbs\", \"sgn\"],\n lce: [\"lce\", \"ms\"],\n lcf: [\"lcf\", \"ms\"],\n liw: [\"liw\", \"ms\"],\n lls: [\"lls\", \"sgn\"],\n lsg: [\"lsg\", \"sgn\"],\n lsl: [\"lsl\", \"sgn\"],\n lso: [\"lso\", \"sgn\"],\n lsp: [\"lsp\", \"sgn\"],\n lst: [\"lst\", \"sgn\"],\n lsy: [\"lsy\", \"sgn\"],\n ltg: [\"ltg\", \"lv\"],\n lvs: [\"lvs\", \"lv\"],\n lzh: [\"lzh\", \"zh\"],\n max: [\"max\", \"ms\"],\n mdl: [\"mdl\", \"sgn\"],\n meo: [\"meo\", \"ms\"],\n mfa: [\"mfa\", \"ms\"],\n mfb: [\"mfb\", \"ms\"],\n mfs: [\"mfs\", \"sgn\"],\n min: [\"min\", \"ms\"],\n mnp: [\"mnp\", \"zh\"],\n mqg: [\"mqg\", \"ms\"],\n mre: [\"mre\", \"sgn\"],\n msd: [\"msd\", \"sgn\"],\n msi: [\"msi\", \"ms\"],\n msr: [\"msr\", \"sgn\"],\n mui: [\"mui\", \"ms\"],\n mzc: [\"mzc\", \"sgn\"],\n mzg: [\"mzg\", \"sgn\"],\n mzy: [\"mzy\", \"sgn\"],\n nan: [\"nan\", \"zh\"],\n nbs: [\"nbs\", \"sgn\"],\n ncs: [\"ncs\", \"sgn\"],\n nsi: [\"nsi\", \"sgn\"],\n nsl: [\"nsl\", \"sgn\"],\n nsp: [\"nsp\", \"sgn\"],\n nsr: [\"nsr\", \"sgn\"],\n nzs: [\"nzs\", \"sgn\"],\n okl: [\"okl\", \"sgn\"],\n orn: [\"orn\", \"ms\"],\n ors: [\"ors\", \"ms\"],\n pel: [\"pel\", \"ms\"],\n pga: [\"pga\", \"ar\"],\n pks: [\"pks\", \"sgn\"],\n prl: [\"prl\", \"sgn\"],\n prz: [\"prz\", \"sgn\"],\n psc: [\"psc\", \"sgn\"],\n psd: [\"psd\", \"sgn\"],\n pse: [\"pse\", \"ms\"],\n psg: [\"psg\", \"sgn\"],\n psl: [\"psl\", \"sgn\"],\n pso: [\"pso\", \"sgn\"],\n psp: [\"psp\", \"sgn\"],\n psr: [\"psr\", \"sgn\"],\n pys: [\"pys\", \"sgn\"],\n rms: [\"rms\", \"sgn\"],\n rsi: [\"rsi\", \"sgn\"],\n rsl: [\"rsl\", \"sgn\"],\n sdl: [\"sdl\", \"sgn\"],\n sfb: [\"sfb\", \"sgn\"],\n sfs: [\"sfs\", \"sgn\"],\n sgg: [\"sgg\", \"sgn\"],\n sgx: [\"sgx\", \"sgn\"],\n shu: [\"shu\", \"ar\"],\n slf: [\"slf\", \"sgn\"],\n sls: [\"sls\", \"sgn\"],\n sqk: [\"sqk\", \"sgn\"],\n sqs: [\"sqs\", \"sgn\"],\n ssh: [\"ssh\", \"ar\"],\n ssp: [\"ssp\", \"sgn\"],\n ssr: [\"ssr\", \"sgn\"],\n svk: [\"svk\", \"sgn\"],\n swc: [\"swc\", \"sw\"],\n swh: [\"swh\", \"sw\"],\n swl: [\"swl\", \"sgn\"],\n syy: [\"syy\", \"sgn\"],\n tmw: [\"tmw\", \"ms\"],\n tse: [\"tse\", \"sgn\"],\n tsm: [\"tsm\", \"sgn\"],\n tsq: [\"tsq\", \"sgn\"],\n tss: [\"tss\", \"sgn\"],\n tsy: [\"tsy\", \"sgn\"],\n tza: [\"tza\", \"sgn\"],\n ugn: [\"ugn\", \"sgn\"],\n ugy: [\"ugy\", \"sgn\"],\n ukl: [\"ukl\", \"sgn\"],\n uks: [\"uks\", \"sgn\"],\n urk: [\"urk\", \"ms\"],\n uzn: [\"uzn\", \"uz\"],\n uzs: [\"uzs\", \"uz\"],\n vgt: [\"vgt\", \"sgn\"],\n vkk: [\"vkk\", \"ms\"],\n vkt: [\"vkt\", \"ms\"],\n vsi: [\"vsi\", \"sgn\"],\n vsl: [\"vsl\", \"sgn\"],\n vsv: [\"vsv\", \"sgn\"],\n wuu: [\"wuu\", \"zh\"],\n xki: [\"xki\", \"sgn\"],\n xml: [\"xml\", \"sgn\"],\n xmm: [\"xmm\", \"ms\"],\n xms: [\"xms\", \"sgn\"],\n yds: [\"yds\", \"sgn\"],\n ysl: [\"ysl\", \"sgn\"],\n yue: [\"yue\", \"zh\"],\n zib: [\"zib\", \"sgn\"],\n zlm: [\"zlm\", \"ms\"],\n zmi: [\"zmi\", \"ms\"],\n zsl: [\"zsl\", \"sgn\"],\n zsm: [\"zsm\", \"ms\"]\n }\n};\n\n/**\n * Convert only a-z to uppercase as per section 6.1 of the spec\n */\nfunction toLatinUpperCase(str) {\n var i = str.length;\n\n while (i--) {\n var ch = str.charAt(i);\n\n if (ch >= \"a\" && ch <= \"z\") str = str.slice(0, i) + ch.toUpperCase() + str.slice(i + 1);\n }\n\n return str;\n}\n\n/**\n * The IsStructurallyValidLanguageTag abstract operation verifies that the locale\n * argument (which must be a String value)\n *\n * - represents a well-formed BCP 47 language tag as specified in RFC 5646 section\n * 2.1, or successor,\n * - does not include duplicate variant subtags, and\n * - does not include duplicate singleton subtags.\n *\n * The abstract operation returns true if locale can be generated from the ABNF\n * grammar in section 2.1 of the RFC, starting with Language-Tag, and does not\n * contain duplicate variant or singleton subtags (other than as a private use\n * subtag). It returns false otherwise. Terminal value characters in the grammar are\n * interpreted as the Unicode equivalents of the ASCII octet values given.\n */\nfunction /* 6.2.2 */IsStructurallyValidLanguageTag(locale) {\n // represents a well-formed BCP 47 language tag as specified in RFC 5646\n if (!expBCP47Syntax.test(locale)) return false;\n\n // does not include duplicate variant subtags, and\n if (expVariantDupes.test(locale)) return false;\n\n // does not include duplicate singleton subtags.\n if (expSingletonDupes.test(locale)) return false;\n\n return true;\n}\n\n/**\n * The CanonicalizeLanguageTag abstract operation returns the canonical and case-\n * regularized form of the locale argument (which must be a String value that is\n * a structurally valid BCP 47 language tag as verified by the\n * IsStructurallyValidLanguageTag abstract operation). It takes the steps\n * specified in RFC 5646 section 4.5, or successor, to bring the language tag\n * into canonical form, and to regularize the case of the subtags, but does not\n * take the steps to bring a language tag into “extlang form” and to reorder\n * variant subtags.\n\n * The specifications for extensions to BCP 47 language tags, such as RFC 6067,\n * may include canonicalization rules for the extension subtag sequences they\n * define that go beyond the canonicalization rules of RFC 5646 section 4.5.\n * Implementations are allowed, but not required, to apply these additional rules.\n */\nfunction /* 6.2.3 */CanonicalizeLanguageTag(locale) {\n var match = void 0,\n parts = void 0;\n\n // A language tag is in 'canonical form' when the tag is well-formed\n // according to the rules in Sections 2.1 and 2.2\n\n // Section 2.1 says all subtags use lowercase...\n locale = locale.toLowerCase();\n\n // ...with 2 exceptions: 'two-letter and four-letter subtags that neither\n // appear at the start of the tag nor occur after singletons. Such two-letter\n // subtags are all uppercase (as in the tags \"en-CA-x-ca\" or \"sgn-BE-FR\") and\n // four-letter subtags are titlecase (as in the tag \"az-Latn-x-latn\").\n parts = locale.split('-');\n for (var i = 1, max = parts.length; i < max; i++) {\n // Two-letter subtags are all uppercase\n if (parts[i].length === 2) parts[i] = parts[i].toUpperCase();\n\n // Four-letter subtags are titlecase\n else if (parts[i].length === 4) parts[i] = parts[i].charAt(0).toUpperCase() + parts[i].slice(1);\n\n // Is it a singleton?\n else if (parts[i].length === 1 && parts[i] !== 'x') break;\n }\n locale = arrJoin.call(parts, '-');\n\n // The steps laid out in RFC 5646 section 4.5 are as follows:\n\n // 1. Extension sequences are ordered into case-insensitive ASCII order\n // by singleton subtag.\n if ((match = locale.match(expExtSequences)) && match.length > 1) {\n // The built-in sort() sorts by ASCII order, so use that\n match.sort();\n\n // Replace all extensions with the joined, sorted array\n locale = locale.replace(RegExp('(?:' + expExtSequences.source + ')+', 'i'), arrJoin.call(match, ''));\n }\n\n // 2. Redundant or grandfathered tags are replaced by their 'Preferred-\n // Value', if there is one.\n if (hop.call(redundantTags.tags, locale)) locale = redundantTags.tags[locale];\n\n // 3. Subtags are replaced by their 'Preferred-Value', if there is one.\n // For extlangs, the original primary language subtag is also\n // replaced if there is a primary language subtag in the 'Preferred-\n // Value'.\n parts = locale.split('-');\n\n for (var _i = 1, _max = parts.length; _i < _max; _i++) {\n if (hop.call(redundantTags.subtags, parts[_i])) parts[_i] = redundantTags.subtags[parts[_i]];else if (hop.call(redundantTags.extLang, parts[_i])) {\n parts[_i] = redundantTags.extLang[parts[_i]][0];\n\n // For extlang tags, the prefix needs to be removed if it is redundant\n if (_i === 1 && redundantTags.extLang[parts[1]][1] === parts[0]) {\n parts = arrSlice.call(parts, _i++);\n _max -= 1;\n }\n }\n }\n\n return arrJoin.call(parts, '-');\n}\n\n/**\n * The DefaultLocale abstract operation returns a String value representing the\n * structurally valid (6.2.2) and canonicalized (6.2.3) BCP 47 language tag for the\n * host environment’s current locale.\n */\nfunction /* 6.2.4 */DefaultLocale() {\n return defaultLocale;\n}\n\n// Sect 6.3 Currency Codes\n// =======================\n\nvar expCurrencyCode = /^[A-Z]{3}$/;\n\n/**\n * The IsWellFormedCurrencyCode abstract operation verifies that the currency argument\n * (after conversion to a String value) represents a well-formed 3-letter ISO currency\n * code. The following steps are taken:\n */\nfunction /* 6.3.1 */IsWellFormedCurrencyCode(currency) {\n // 1. Let `c` be ToString(currency)\n var c = String(currency);\n\n // 2. Let `normalized` be the result of mapping c to upper case as described\n // in 6.1.\n var normalized = toLatinUpperCase(c);\n\n // 3. If the string length of normalized is not 3, return false.\n // 4. If normalized contains any character that is not in the range \"A\" to \"Z\"\n // (U+0041 to U+005A), return false.\n if (expCurrencyCode.test(normalized) === false) return false;\n\n // 5. Return true\n return true;\n}\n\nvar expUnicodeExSeq = /-u(?:-[0-9a-z]{2,8})+/gi; // See `extension` below\n\nfunction /* 9.2.1 */CanonicalizeLocaleList(locales) {\n // The abstract operation CanonicalizeLocaleList takes the following steps:\n\n // 1. If locales is undefined, then a. Return a new empty List\n if (locales === undefined) return new List();\n\n // 2. Let seen be a new empty List.\n var seen = new List();\n\n // 3. If locales is a String value, then\n // a. Let locales be a new array created as if by the expression new\n // Array(locales) where Array is the standard built-in constructor with\n // that name and locales is the value of locales.\n locales = typeof locales === 'string' ? [locales] : locales;\n\n // 4. Let O be ToObject(locales).\n var O = toObject(locales);\n\n // 5. Let lenValue be the result of calling the [[Get]] internal method of\n // O with the argument \"length\".\n // 6. Let len be ToUint32(lenValue).\n var len = toLength(O.length);\n\n // 7. Let k be 0.\n var k = 0;\n\n // 8. Repeat, while k < len\n while (k < len) {\n // a. Let Pk be ToString(k).\n var Pk = String(k);\n\n // b. Let kPresent be the result of calling the [[HasProperty]] internal\n // method of O with argument Pk.\n var kPresent = Pk in O;\n\n // c. If kPresent is true, then\n if (kPresent) {\n // i. Let kValue be the result of calling the [[Get]] internal\n // method of O with argument Pk.\n var kValue = O[Pk];\n\n // ii. If the type of kValue is not String or Object, then throw a\n // TypeError exception.\n if (kValue === null || typeof kValue !== 'string' && (typeof kValue === \"undefined\" ? \"undefined\" : babelHelpers$1[\"typeof\"](kValue)) !== 'object') throw new TypeError('String or Object type expected');\n\n // iii. Let tag be ToString(kValue).\n var tag = String(kValue);\n\n // iv. If the result of calling the abstract operation\n // IsStructurallyValidLanguageTag (defined in 6.2.2), passing tag as\n // the argument, is false, then throw a RangeError exception.\n if (!IsStructurallyValidLanguageTag(tag)) throw new RangeError(\"'\" + tag + \"' is not a structurally valid language tag\");\n\n // v. Let tag be the result of calling the abstract operation\n // CanonicalizeLanguageTag (defined in 6.2.3), passing tag as the\n // argument.\n tag = CanonicalizeLanguageTag(tag);\n\n // vi. If tag is not an element of seen, then append tag as the last\n // element of seen.\n if (arrIndexOf.call(seen, tag) === -1) arrPush.call(seen, tag);\n }\n\n // d. Increase k by 1.\n k++;\n }\n\n // 9. Return seen.\n return seen;\n}\n\n/**\n * The BestAvailableLocale abstract operation compares the provided argument\n * locale, which must be a String value with a structurally valid and\n * canonicalized BCP 47 language tag, against the locales in availableLocales and\n * returns either the longest non-empty prefix of locale that is an element of\n * availableLocales, or undefined if there is no such element. It uses the\n * fallback mechanism of RFC 4647, section 3.4. The following steps are taken:\n */\nfunction /* 9.2.2 */BestAvailableLocale(availableLocales, locale) {\n // 1. Let candidate be locale\n var candidate = locale;\n\n // 2. Repeat\n while (candidate) {\n // a. If availableLocales contains an element equal to candidate, then return\n // candidate.\n if (arrIndexOf.call(availableLocales, candidate) > -1) return candidate;\n\n // b. Let pos be the character index of the last occurrence of \"-\"\n // (U+002D) within candidate. If that character does not occur, return\n // undefined.\n var pos = candidate.lastIndexOf('-');\n\n if (pos < 0) return;\n\n // c. If pos ≥ 2 and the character \"-\" occurs at index pos-2 of candidate,\n // then decrease pos by 2.\n if (pos >= 2 && candidate.charAt(pos - 2) === '-') pos -= 2;\n\n // d. Let candidate be the substring of candidate from position 0, inclusive,\n // to position pos, exclusive.\n candidate = candidate.substring(0, pos);\n }\n}\n\n/**\n * The LookupMatcher abstract operation compares requestedLocales, which must be\n * a List as returned by CanonicalizeLocaleList, against the locales in\n * availableLocales and determines the best available language to meet the\n * request. The following steps are taken:\n */\nfunction /* 9.2.3 */LookupMatcher(availableLocales, requestedLocales) {\n // 1. Let i be 0.\n var i = 0;\n\n // 2. Let len be the number of elements in requestedLocales.\n var len = requestedLocales.length;\n\n // 3. Let availableLocale be undefined.\n var availableLocale = void 0;\n\n var locale = void 0,\n noExtensionsLocale = void 0;\n\n // 4. Repeat while i < len and availableLocale is undefined:\n while (i < len && !availableLocale) {\n // a. Let locale be the element of requestedLocales at 0-origined list\n // position i.\n locale = requestedLocales[i];\n\n // b. Let noExtensionsLocale be the String value that is locale with all\n // Unicode locale extension sequences removed.\n noExtensionsLocale = String(locale).replace(expUnicodeExSeq, '');\n\n // c. Let availableLocale be the result of calling the\n // BestAvailableLocale abstract operation (defined in 9.2.2) with\n // arguments availableLocales and noExtensionsLocale.\n availableLocale = BestAvailableLocale(availableLocales, noExtensionsLocale);\n\n // d. Increase i by 1.\n i++;\n }\n\n // 5. Let result be a new Record.\n var result = new Record();\n\n // 6. If availableLocale is not undefined, then\n if (availableLocale !== undefined) {\n // a. Set result.[[locale]] to availableLocale.\n result['[[locale]]'] = availableLocale;\n\n // b. If locale and noExtensionsLocale are not the same String value, then\n if (String(locale) !== String(noExtensionsLocale)) {\n // i. Let extension be the String value consisting of the first\n // substring of locale that is a Unicode locale extension sequence.\n var extension = locale.match(expUnicodeExSeq)[0];\n\n // ii. Let extensionIndex be the character position of the initial\n // \"-\" of the first Unicode locale extension sequence within locale.\n var extensionIndex = locale.indexOf('-u-');\n\n // iii. Set result.[[extension]] to extension.\n result['[[extension]]'] = extension;\n\n // iv. Set result.[[extensionIndex]] to extensionIndex.\n result['[[extensionIndex]]'] = extensionIndex;\n }\n }\n // 7. Else\n else\n // a. Set result.[[locale]] to the value returned by the DefaultLocale abstract\n // operation (defined in 6.2.4).\n result['[[locale]]'] = DefaultLocale();\n\n // 8. Return result\n return result;\n}\n\n/**\n * The BestFitMatcher abstract operation compares requestedLocales, which must be\n * a List as returned by CanonicalizeLocaleList, against the locales in\n * availableLocales and determines the best available language to meet the\n * request. The algorithm is implementation dependent, but should produce results\n * that a typical user of the requested locales would perceive as at least as\n * good as those produced by the LookupMatcher abstract operation. Options\n * specified through Unicode locale extension sequences must be ignored by the\n * algorithm. Information about such subsequences is returned separately.\n * The abstract operation returns a record with a [[locale]] field, whose value\n * is the language tag of the selected locale, which must be an element of\n * availableLocales. If the language tag of the request locale that led to the\n * selected locale contained a Unicode locale extension sequence, then the\n * returned record also contains an [[extension]] field whose value is the first\n * Unicode locale extension sequence, and an [[extensionIndex]] field whose value\n * is the index of the first Unicode locale extension sequence within the request\n * locale language tag.\n */\nfunction /* 9.2.4 */BestFitMatcher(availableLocales, requestedLocales) {\n return LookupMatcher(availableLocales, requestedLocales);\n}\n\n/**\n * The ResolveLocale abstract operation compares a BCP 47 language priority list\n * requestedLocales against the locales in availableLocales and determines the\n * best available language to meet the request. availableLocales and\n * requestedLocales must be provided as List values, options as a Record.\n */\nfunction /* 9.2.5 */ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData) {\n if (availableLocales.length === 0) {\n throw new ReferenceError('No locale data has been provided for this object yet.');\n }\n\n // The following steps are taken:\n // 1. Let matcher be the value of options.[[localeMatcher]].\n var matcher = options['[[localeMatcher]]'];\n\n var r = void 0;\n\n // 2. If matcher is \"lookup\", then\n if (matcher === 'lookup')\n // a. Let r be the result of calling the LookupMatcher abstract operation\n // (defined in 9.2.3) with arguments availableLocales and\n // requestedLocales.\n r = LookupMatcher(availableLocales, requestedLocales);\n\n // 3. Else\n else\n // a. Let r be the result of calling the BestFitMatcher abstract\n // operation (defined in 9.2.4) with arguments availableLocales and\n // requestedLocales.\n r = BestFitMatcher(availableLocales, requestedLocales);\n\n // 4. Let foundLocale be the value of r.[[locale]].\n var foundLocale = r['[[locale]]'];\n\n var extensionSubtags = void 0,\n extensionSubtagsLength = void 0;\n\n // 5. If r has an [[extension]] field, then\n if (hop.call(r, '[[extension]]')) {\n // a. Let extension be the value of r.[[extension]].\n var extension = r['[[extension]]'];\n // b. Let split be the standard built-in function object defined in ES5,\n // 15.5.4.14.\n var split = String.prototype.split;\n // c. Let extensionSubtags be the result of calling the [[Call]] internal\n // method of split with extension as the this value and an argument\n // list containing the single item \"-\".\n extensionSubtags = split.call(extension, '-');\n // d. Let extensionSubtagsLength be the result of calling the [[Get]]\n // internal method of extensionSubtags with argument \"length\".\n extensionSubtagsLength = extensionSubtags.length;\n }\n\n // 6. Let result be a new Record.\n var result = new Record();\n\n // 7. Set result.[[dataLocale]] to foundLocale.\n result['[[dataLocale]]'] = foundLocale;\n\n // 8. Let supportedExtension be \"-u\".\n var supportedExtension = '-u';\n // 9. Let i be 0.\n var i = 0;\n // 10. Let len be the result of calling the [[Get]] internal method of\n // relevantExtensionKeys with argument \"length\".\n var len = relevantExtensionKeys.length;\n\n // 11 Repeat while i < len:\n while (i < len) {\n // a. Let key be the result of calling the [[Get]] internal method of\n // relevantExtensionKeys with argument ToString(i).\n var key = relevantExtensionKeys[i];\n // b. Let foundLocaleData be the result of calling the [[Get]] internal\n // method of localeData with the argument foundLocale.\n var foundLocaleData = localeData[foundLocale];\n // c. Let keyLocaleData be the result of calling the [[Get]] internal\n // method of foundLocaleData with the argument key.\n var keyLocaleData = foundLocaleData[key];\n // d. Let value be the result of calling the [[Get]] internal method of\n // keyLocaleData with argument \"0\".\n var value = keyLocaleData['0'];\n // e. Let supportedExtensionAddition be \"\".\n var supportedExtensionAddition = '';\n // f. Let indexOf be the standard built-in function object defined in\n // ES5, 15.4.4.14.\n var indexOf = arrIndexOf;\n\n // g. If extensionSubtags is not undefined, then\n if (extensionSubtags !== undefined) {\n // i. Let keyPos be the result of calling the [[Call]] internal\n // method of indexOf with extensionSubtags as the this value and\n // an argument list containing the single item key.\n var keyPos = indexOf.call(extensionSubtags, key);\n\n // ii. If keyPos ≠ -1, then\n if (keyPos !== -1) {\n // 1. If keyPos + 1 < extensionSubtagsLength and the length of the\n // result of calling the [[Get]] internal method of\n // extensionSubtags with argument ToString(keyPos +1) is greater\n // than 2, then\n if (keyPos + 1 < extensionSubtagsLength && extensionSubtags[keyPos + 1].length > 2) {\n // a. Let requestedValue be the result of calling the [[Get]]\n // internal method of extensionSubtags with argument\n // ToString(keyPos + 1).\n var requestedValue = extensionSubtags[keyPos + 1];\n // b. Let valuePos be the result of calling the [[Call]]\n // internal method of indexOf with keyLocaleData as the\n // this value and an argument list containing the single\n // item requestedValue.\n var valuePos = indexOf.call(keyLocaleData, requestedValue);\n\n // c. If valuePos ≠ -1, then\n if (valuePos !== -1) {\n // i. Let value be requestedValue.\n value = requestedValue,\n // ii. Let supportedExtensionAddition be the\n // concatenation of \"-\", key, \"-\", and value.\n supportedExtensionAddition = '-' + key + '-' + value;\n }\n }\n // 2. Else\n else {\n // a. Let valuePos be the result of calling the [[Call]]\n // internal method of indexOf with keyLocaleData as the this\n // value and an argument list containing the single item\n // \"true\".\n var _valuePos = indexOf(keyLocaleData, 'true');\n\n // b. If valuePos ≠ -1, then\n if (_valuePos !== -1)\n // i. Let value be \"true\".\n value = 'true';\n }\n }\n }\n // h. If options has a field [[<key>]], then\n if (hop.call(options, '[[' + key + ']]')) {\n // i. Let optionsValue be the value of options.[[<key>]].\n var optionsValue = options['[[' + key + ']]'];\n\n // ii. If the result of calling the [[Call]] internal method of indexOf\n // with keyLocaleData as the this value and an argument list\n // containing the single item optionsValue is not -1, then\n if (indexOf.call(keyLocaleData, optionsValue) !== -1) {\n // 1. If optionsValue is not equal to value, then\n if (optionsValue !== value) {\n // a. Let value be optionsValue.\n value = optionsValue;\n // b. Let supportedExtensionAddition be \"\".\n supportedExtensionAddition = '';\n }\n }\n }\n // i. Set result.[[<key>]] to value.\n result['[[' + key + ']]'] = value;\n\n // j. Append supportedExtensionAddition to supportedExtension.\n supportedExtension += supportedExtensionAddition;\n\n // k. Increase i by 1.\n i++;\n }\n // 12. If the length of supportedExtension is greater than 2, then\n if (supportedExtension.length > 2) {\n // a.\n var privateIndex = foundLocale.indexOf(\"-x-\");\n // b.\n if (privateIndex === -1) {\n // i.\n foundLocale = foundLocale + supportedExtension;\n }\n // c.\n else {\n // i.\n var preExtension = foundLocale.substring(0, privateIndex);\n // ii.\n var postExtension = foundLocale.substring(privateIndex);\n // iii.\n foundLocale = preExtension + supportedExtension + postExtension;\n }\n // d. asserting - skipping\n // e.\n foundLocale = CanonicalizeLanguageTag(foundLocale);\n }\n // 13. Set result.[[locale]] to foundLocale.\n result['[[locale]]'] = foundLocale;\n\n // 14. Return result.\n return result;\n}\n\n/**\n * The LookupSupportedLocales abstract operation returns the subset of the\n * provided BCP 47 language priority list requestedLocales for which\n * availableLocales has a matching locale when using the BCP 47 Lookup algorithm.\n * Locales appear in the same order in the returned list as in requestedLocales.\n * The following steps are taken:\n */\nfunction /* 9.2.6 */LookupSupportedLocales(availableLocales, requestedLocales) {\n // 1. Let len be the number of elements in requestedLocales.\n var len = requestedLocales.length;\n // 2. Let subset be a new empty List.\n var subset = new List();\n // 3. Let k be 0.\n var k = 0;\n\n // 4. Repeat while k < len\n while (k < len) {\n // a. Let locale be the element of requestedLocales at 0-origined list\n // position k.\n var locale = requestedLocales[k];\n // b. Let noExtensionsLocale be the String value that is locale with all\n // Unicode locale extension sequences removed.\n var noExtensionsLocale = String(locale).replace(expUnicodeExSeq, '');\n // c. Let availableLocale be the result of calling the\n // BestAvailableLocale abstract operation (defined in 9.2.2) with\n // arguments availableLocales and noExtensionsLocale.\n var availableLocale = BestAvailableLocale(availableLocales, noExtensionsLocale);\n\n // d. If availableLocale is not undefined, then append locale to the end of\n // subset.\n if (availableLocale !== undefined) arrPush.call(subset, locale);\n\n // e. Increment k by 1.\n k++;\n }\n\n // 5. Let subsetArray be a new Array object whose elements are the same\n // values in the same order as the elements of subset.\n var subsetArray = arrSlice.call(subset);\n\n // 6. Return subsetArray.\n return subsetArray;\n}\n\n/**\n * The BestFitSupportedLocales abstract operation returns the subset of the\n * provided BCP 47 language priority list requestedLocales for which\n * availableLocales has a matching locale when using the Best Fit Matcher\n * algorithm. Locales appear in the same order in the returned list as in\n * requestedLocales. The steps taken are implementation dependent.\n */\nfunction /*9.2.7 */BestFitSupportedLocales(availableLocales, requestedLocales) {\n // ###TODO: implement this function as described by the specification###\n return LookupSupportedLocales(availableLocales, requestedLocales);\n}\n\n/**\n * The SupportedLocales abstract operation returns the subset of the provided BCP\n * 47 language priority list requestedLocales for which availableLocales has a\n * matching locale. Two algorithms are available to match the locales: the Lookup\n * algorithm described in RFC 4647 section 3.4, and an implementation dependent\n * best-fit algorithm. Locales appear in the same order in the returned list as\n * in requestedLocales. The following steps are taken:\n */\nfunction /*9.2.8 */SupportedLocales(availableLocales, requestedLocales, options) {\n var matcher = void 0,\n subset = void 0;\n\n // 1. If options is not undefined, then\n if (options !== undefined) {\n // a. Let options be ToObject(options).\n options = new Record(toObject(options));\n // b. Let matcher be the result of calling the [[Get]] internal method of\n // options with argument \"localeMatcher\".\n matcher = options.localeMatcher;\n\n // c. If matcher is not undefined, then\n if (matcher !== undefined) {\n // i. Let matcher be ToString(matcher).\n matcher = String(matcher);\n\n // ii. If matcher is not \"lookup\" or \"best fit\", then throw a RangeError\n // exception.\n if (matcher !== 'lookup' && matcher !== 'best fit') throw new RangeError('matcher should be \"lookup\" or \"best fit\"');\n }\n }\n // 2. If matcher is undefined or \"best fit\", then\n if (matcher === undefined || matcher === 'best fit')\n // a. Let subset be the result of calling the BestFitSupportedLocales\n // abstract operation (defined in 9.2.7) with arguments\n // availableLocales and requestedLocales.\n subset = BestFitSupportedLocales(availableLocales, requestedLocales);\n // 3. Else\n else\n // a. Let subset be the result of calling the LookupSupportedLocales\n // abstract operation (defined in 9.2.6) with arguments\n // availableLocales and requestedLocales.\n subset = LookupSupportedLocales(availableLocales, requestedLocales);\n\n // 4. For each named own property name P of subset,\n for (var P in subset) {\n if (!hop.call(subset, P)) continue;\n\n // a. Let desc be the result of calling the [[GetOwnProperty]] internal\n // method of subset with P.\n // b. Set desc.[[Writable]] to false.\n // c. Set desc.[[Configurable]] to false.\n // d. Call the [[DefineOwnProperty]] internal method of subset with P, desc,\n // and true as arguments.\n defineProperty(subset, P, {\n writable: false, configurable: false, value: subset[P]\n });\n }\n // \"Freeze\" the array so no new elements can be added\n defineProperty(subset, 'length', { writable: false });\n\n // 5. Return subset\n return subset;\n}\n\n/**\n * The GetOption abstract operation extracts the value of the property named\n * property from the provided options object, converts it to the required type,\n * checks whether it is one of a List of allowed values, and fills in a fallback\n * value if necessary.\n */\nfunction /*9.2.9 */GetOption(options, property, type, values, fallback) {\n // 1. Let value be the result of calling the [[Get]] internal method of\n // options with argument property.\n var value = options[property];\n\n // 2. If value is not undefined, then\n if (value !== undefined) {\n // a. Assert: type is \"boolean\" or \"string\".\n // b. If type is \"boolean\", then let value be ToBoolean(value).\n // c. If type is \"string\", then let value be ToString(value).\n value = type === 'boolean' ? Boolean(value) : type === 'string' ? String(value) : value;\n\n // d. If values is not undefined, then\n if (values !== undefined) {\n // i. If values does not contain an element equal to value, then throw a\n // RangeError exception.\n if (arrIndexOf.call(values, value) === -1) throw new RangeError(\"'\" + value + \"' is not an allowed value for `\" + property + '`');\n }\n\n // e. Return value.\n return value;\n }\n // Else return fallback.\n return fallback;\n}\n\n/**\n * The GetNumberOption abstract operation extracts a property value from the\n * provided options object, converts it to a Number value, checks whether it is\n * in the allowed range, and fills in a fallback value if necessary.\n */\nfunction /* 9.2.10 */GetNumberOption(options, property, minimum, maximum, fallback) {\n // 1. Let value be the result of calling the [[Get]] internal method of\n // options with argument property.\n var value = options[property];\n\n // 2. If value is not undefined, then\n if (value !== undefined) {\n // a. Let value be ToNumber(value).\n value = Number(value);\n\n // b. If value is NaN or less than minimum or greater than maximum, throw a\n // RangeError exception.\n if (isNaN(value) || value < minimum || value > maximum) throw new RangeError('Value is not a number or outside accepted range');\n\n // c. Return floor(value).\n return Math.floor(value);\n }\n // 3. Else return fallback.\n return fallback;\n}\n\n// 8 The Intl Object\nvar Intl = {};\n\n// 8.2 Function Properties of the Intl Object\n\n// 8.2.1\n// @spec[tc39/ecma402/master/spec/intl.html]\n// @clause[sec-intl.getcanonicallocales]\nfunction getCanonicalLocales(locales) {\n // 1. Let ll be ? CanonicalizeLocaleList(locales).\n var ll = CanonicalizeLocaleList(locales);\n // 2. Return CreateArrayFromList(ll).\n {\n var result = [];\n\n var len = ll.length;\n var k = 0;\n\n while (k < len) {\n result[k] = ll[k];\n k++;\n }\n return result;\n }\n}\n\nObject.defineProperty(Intl, 'getCanonicalLocales', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: getCanonicalLocales\n});\n\n// Currency minor units output from get-4217 grunt task, formatted\nvar currencyMinorUnits = {\n BHD: 3, BYR: 0, XOF: 0, BIF: 0, XAF: 0, CLF: 4, CLP: 0, KMF: 0, DJF: 0,\n XPF: 0, GNF: 0, ISK: 0, IQD: 3, JPY: 0, JOD: 3, KRW: 0, KWD: 3, LYD: 3,\n OMR: 3, PYG: 0, RWF: 0, TND: 3, UGX: 0, UYI: 0, VUV: 0, VND: 0\n};\n\n// Define the NumberFormat constructor internally so it cannot be tainted\nfunction NumberFormatConstructor() {\n var locales = arguments[0];\n var options = arguments[1];\n\n if (!this || this === Intl) {\n return new Intl.NumberFormat(locales, options);\n }\n\n return InitializeNumberFormat(toObject(this), locales, options);\n}\n\ndefineProperty(Intl, 'NumberFormat', {\n configurable: true,\n writable: true,\n value: NumberFormatConstructor\n});\n\n// Must explicitly set prototypes as unwritable\ndefineProperty(Intl.NumberFormat, 'prototype', {\n writable: false\n});\n\n/**\n * The abstract operation InitializeNumberFormat accepts the arguments\n * numberFormat (which must be an object), locales, and options. It initializes\n * numberFormat as a NumberFormat object.\n */\nfunction /*11.1.1.1 */InitializeNumberFormat(numberFormat, locales, options) {\n // This will be a internal properties object if we're not already initialized\n var internal = getInternalProperties(numberFormat);\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore();\n\n // 1. If numberFormat has an [[initializedIntlObject]] internal property with\n // value true, throw a TypeError exception.\n if (internal['[[initializedIntlObject]]'] === true) throw new TypeError('`this` object has already been initialized as an Intl object');\n\n // Need this to access the `internal` object\n defineProperty(numberFormat, '__getInternalProperties', {\n value: function value() {\n // NOTE: Non-standard, for internal use only\n if (arguments[0] === secret) return internal;\n }\n });\n\n // 2. Set the [[initializedIntlObject]] internal property of numberFormat to true.\n internal['[[initializedIntlObject]]'] = true;\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n var requestedLocales = CanonicalizeLocaleList(locales);\n\n // 4. If options is undefined, then\n if (options === undefined)\n // a. Let options be the result of creating a new object as if by the\n // expression new Object() where Object is the standard built-in constructor\n // with that name.\n options = {};\n\n // 5. Else\n else\n // a. Let options be ToObject(options).\n options = toObject(options);\n\n // 6. Let opt be a new Record.\n var opt = new Record(),\n\n\n // 7. Let matcher be the result of calling the GetOption abstract operation\n // (defined in 9.2.9) with the arguments options, \"localeMatcher\", \"string\",\n // a List containing the two String values \"lookup\" and \"best fit\", and\n // \"best fit\".\n matcher = GetOption(options, 'localeMatcher', 'string', new List('lookup', 'best fit'), 'best fit');\n\n // 8. Set opt.[[localeMatcher]] to matcher.\n opt['[[localeMatcher]]'] = matcher;\n\n // 9. Let NumberFormat be the standard built-in object that is the initial value\n // of Intl.NumberFormat.\n // 10. Let localeData be the value of the [[localeData]] internal property of\n // NumberFormat.\n var localeData = internals.NumberFormat['[[localeData]]'];\n\n // 11. Let r be the result of calling the ResolveLocale abstract operation\n // (defined in 9.2.5) with the [[availableLocales]] internal property of\n // NumberFormat, requestedLocales, opt, the [[relevantExtensionKeys]]\n // internal property of NumberFormat, and localeData.\n var r = ResolveLocale(internals.NumberFormat['[[availableLocales]]'], requestedLocales, opt, internals.NumberFormat['[[relevantExtensionKeys]]'], localeData);\n\n // 12. Set the [[locale]] internal property of numberFormat to the value of\n // r.[[locale]].\n internal['[[locale]]'] = r['[[locale]]'];\n\n // 13. Set the [[numberingSystem]] internal property of numberFormat to the value\n // of r.[[nu]].\n internal['[[numberingSystem]]'] = r['[[nu]]'];\n\n // The specification doesn't tell us to do this, but it's helpful later on\n internal['[[dataLocale]]'] = r['[[dataLocale]]'];\n\n // 14. Let dataLocale be the value of r.[[dataLocale]].\n var dataLocale = r['[[dataLocale]]'];\n\n // 15. Let s be the result of calling the GetOption abstract operation with the\n // arguments options, \"style\", \"string\", a List containing the three String\n // values \"decimal\", \"percent\", and \"currency\", and \"decimal\".\n var s = GetOption(options, 'style', 'string', new List('decimal', 'percent', 'currency'), 'decimal');\n\n // 16. Set the [[style]] internal property of numberFormat to s.\n internal['[[style]]'] = s;\n\n // 17. Let c be the result of calling the GetOption abstract operation with the\n // arguments options, \"currency\", \"string\", undefined, and undefined.\n var c = GetOption(options, 'currency', 'string');\n\n // 18. If c is not undefined and the result of calling the\n // IsWellFormedCurrencyCode abstract operation (defined in 6.3.1) with\n // argument c is false, then throw a RangeError exception.\n if (c !== undefined && !IsWellFormedCurrencyCode(c)) throw new RangeError(\"'\" + c + \"' is not a valid currency code\");\n\n // 19. If s is \"currency\" and c is undefined, throw a TypeError exception.\n if (s === 'currency' && c === undefined) throw new TypeError('Currency code is required when style is currency');\n\n var cDigits = void 0;\n\n // 20. If s is \"currency\", then\n if (s === 'currency') {\n // a. Let c be the result of converting c to upper case as specified in 6.1.\n c = c.toUpperCase();\n\n // b. Set the [[currency]] internal property of numberFormat to c.\n internal['[[currency]]'] = c;\n\n // c. Let cDigits be the result of calling the CurrencyDigits abstract\n // operation (defined below) with argument c.\n cDigits = CurrencyDigits(c);\n }\n\n // 21. Let cd be the result of calling the GetOption abstract operation with the\n // arguments options, \"currencyDisplay\", \"string\", a List containing the\n // three String values \"code\", \"symbol\", and \"name\", and \"symbol\".\n var cd = GetOption(options, 'currencyDisplay', 'string', new List('code', 'symbol', 'name'), 'symbol');\n\n // 22. If s is \"currency\", then set the [[currencyDisplay]] internal property of\n // numberFormat to cd.\n if (s === 'currency') internal['[[currencyDisplay]]'] = cd;\n\n // 23. Let mnid be the result of calling the GetNumberOption abstract operation\n // (defined in 9.2.10) with arguments options, \"minimumIntegerDigits\", 1, 21,\n // and 1.\n var mnid = GetNumberOption(options, 'minimumIntegerDigits', 1, 21, 1);\n\n // 24. Set the [[minimumIntegerDigits]] internal property of numberFormat to mnid.\n internal['[[minimumIntegerDigits]]'] = mnid;\n\n // 25. If s is \"currency\", then let mnfdDefault be cDigits; else let mnfdDefault\n // be 0.\n var mnfdDefault = s === 'currency' ? cDigits : 0;\n\n // 26. Let mnfd be the result of calling the GetNumberOption abstract operation\n // with arguments options, \"minimumFractionDigits\", 0, 20, and mnfdDefault.\n var mnfd = GetNumberOption(options, 'minimumFractionDigits', 0, 20, mnfdDefault);\n\n // 27. Set the [[minimumFractionDigits]] internal property of numberFormat to mnfd.\n internal['[[minimumFractionDigits]]'] = mnfd;\n\n // 28. If s is \"currency\", then let mxfdDefault be max(mnfd, cDigits); else if s\n // is \"percent\", then let mxfdDefault be max(mnfd, 0); else let mxfdDefault\n // be max(mnfd, 3).\n var mxfdDefault = s === 'currency' ? Math.max(mnfd, cDigits) : s === 'percent' ? Math.max(mnfd, 0) : Math.max(mnfd, 3);\n\n // 29. Let mxfd be the result of calling the GetNumberOption abstract operation\n // with arguments options, \"maximumFractionDigits\", mnfd, 20, and mxfdDefault.\n var mxfd = GetNumberOption(options, 'maximumFractionDigits', mnfd, 20, mxfdDefault);\n\n // 30. Set the [[maximumFractionDigits]] internal property of numberFormat to mxfd.\n internal['[[maximumFractionDigits]]'] = mxfd;\n\n // 31. Let mnsd be the result of calling the [[Get]] internal method of options\n // with argument \"minimumSignificantDigits\".\n var mnsd = options.minimumSignificantDigits;\n\n // 32. Let mxsd be the result of calling the [[Get]] internal method of options\n // with argument \"maximumSignificantDigits\".\n var mxsd = options.maximumSignificantDigits;\n\n // 33. If mnsd is not undefined or mxsd is not undefined, then:\n if (mnsd !== undefined || mxsd !== undefined) {\n // a. Let mnsd be the result of calling the GetNumberOption abstract\n // operation with arguments options, \"minimumSignificantDigits\", 1, 21,\n // and 1.\n mnsd = GetNumberOption(options, 'minimumSignificantDigits', 1, 21, 1);\n\n // b. Let mxsd be the result of calling the GetNumberOption abstract\n // operation with arguments options, \"maximumSignificantDigits\", mnsd,\n // 21, and 21.\n mxsd = GetNumberOption(options, 'maximumSignificantDigits', mnsd, 21, 21);\n\n // c. Set the [[minimumSignificantDigits]] internal property of numberFormat\n // to mnsd, and the [[maximumSignificantDigits]] internal property of\n // numberFormat to mxsd.\n internal['[[minimumSignificantDigits]]'] = mnsd;\n internal['[[maximumSignificantDigits]]'] = mxsd;\n }\n // 34. Let g be the result of calling the GetOption abstract operation with the\n // arguments options, \"useGrouping\", \"boolean\", undefined, and true.\n var g = GetOption(options, 'useGrouping', 'boolean', undefined, true);\n\n // 35. Set the [[useGrouping]] internal property of numberFormat to g.\n internal['[[useGrouping]]'] = g;\n\n // 36. Let dataLocaleData be the result of calling the [[Get]] internal method of\n // localeData with argument dataLocale.\n var dataLocaleData = localeData[dataLocale];\n\n // 37. Let patterns be the result of calling the [[Get]] internal method of\n // dataLocaleData with argument \"patterns\".\n var patterns = dataLocaleData.patterns;\n\n // 38. Assert: patterns is an object (see 11.2.3)\n\n // 39. Let stylePatterns be the result of calling the [[Get]] internal method of\n // patterns with argument s.\n var stylePatterns = patterns[s];\n\n // 40. Set the [[positivePattern]] internal property of numberFormat to the\n // result of calling the [[Get]] internal method of stylePatterns with the\n // argument \"positivePattern\".\n internal['[[positivePattern]]'] = stylePatterns.positivePattern;\n\n // 41. Set the [[negativePattern]] internal property of numberFormat to the\n // result of calling the [[Get]] internal method of stylePatterns with the\n // argument \"negativePattern\".\n internal['[[negativePattern]]'] = stylePatterns.negativePattern;\n\n // 42. Set the [[boundFormat]] internal property of numberFormat to undefined.\n internal['[[boundFormat]]'] = undefined;\n\n // 43. Set the [[initializedNumberFormat]] internal property of numberFormat to\n // true.\n internal['[[initializedNumberFormat]]'] = true;\n\n // In ES3, we need to pre-bind the format() function\n if (es3) numberFormat.format = GetFormatNumber.call(numberFormat);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // Return the newly initialised object\n return numberFormat;\n}\n\nfunction CurrencyDigits(currency) {\n // When the CurrencyDigits abstract operation is called with an argument currency\n // (which must be an upper case String value), the following steps are taken:\n\n // 1. If the ISO 4217 currency and funds code list contains currency as an\n // alphabetic code, then return the minor unit value corresponding to the\n // currency from the list; else return 2.\n return currencyMinorUnits[currency] !== undefined ? currencyMinorUnits[currency] : 2;\n}\n\n/* 11.2.3 */internals.NumberFormat = {\n '[[availableLocales]]': [],\n '[[relevantExtensionKeys]]': ['nu'],\n '[[localeData]]': {}\n};\n\n/**\n * When the supportedLocalesOf method of Intl.NumberFormat is called, the\n * following steps are taken:\n */\n/* 11.2.2 */\ndefineProperty(Intl.NumberFormat, 'supportedLocalesOf', {\n configurable: true,\n writable: true,\n value: fnBind.call(function (locales) {\n // Bound functions only have the `this` value altered if being used as a constructor,\n // this lets us imitate a native function that has no constructor\n if (!hop.call(this, '[[availableLocales]]')) throw new TypeError('supportedLocalesOf() is not a constructor');\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore(),\n\n\n // 1. If options is not provided, then let options be undefined.\n options = arguments[1],\n\n\n // 2. Let availableLocales be the value of the [[availableLocales]] internal\n // property of the standard built-in object that is the initial value of\n // Intl.NumberFormat.\n\n availableLocales = this['[[availableLocales]]'],\n\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n requestedLocales = CanonicalizeLocaleList(locales);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // 4. Return the result of calling the SupportedLocales abstract operation\n // (defined in 9.2.8) with arguments availableLocales, requestedLocales,\n // and options.\n return SupportedLocales(availableLocales, requestedLocales, options);\n }, internals.NumberFormat)\n});\n\n/**\n * This named accessor property returns a function that formats a number\n * according to the effective locale and the formatting options of this\n * NumberFormat object.\n */\n/* 11.3.2 */defineProperty(Intl.NumberFormat.prototype, 'format', {\n configurable: true,\n get: GetFormatNumber\n});\n\nfunction GetFormatNumber() {\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 11.3_b\n if (!internal || !internal['[[initializedNumberFormat]]']) throw new TypeError('`this` value for format() is not an initialized Intl.NumberFormat object.');\n\n // The value of the [[Get]] attribute is a function that takes the following\n // steps:\n\n // 1. If the [[boundFormat]] internal property of this NumberFormat object\n // is undefined, then:\n if (internal['[[boundFormat]]'] === undefined) {\n // a. Let F be a Function object, with internal properties set as\n // specified for built-in functions in ES5, 15, or successor, and the\n // length property set to 1, that takes the argument value and\n // performs the following steps:\n var F = function F(value) {\n // i. If value is not provided, then let value be undefined.\n // ii. Let x be ToNumber(value).\n // iii. Return the result of calling the FormatNumber abstract\n // operation (defined below) with arguments this and x.\n return FormatNumber(this, /* x = */Number(value));\n };\n\n // b. Let bind be the standard built-in function object defined in ES5,\n // 15.3.4.5.\n // c. Let bf be the result of calling the [[Call]] internal method of\n // bind with F as the this value and an argument list containing\n // the single item this.\n var bf = fnBind.call(F, this);\n\n // d. Set the [[boundFormat]] internal property of this NumberFormat\n // object to bf.\n internal['[[boundFormat]]'] = bf;\n }\n // Return the value of the [[boundFormat]] internal property of this\n // NumberFormat object.\n return internal['[[boundFormat]]'];\n}\n\nfunction formatToParts() {\n var value = arguments.length <= 0 || arguments[0] === undefined ? undefined : arguments[0];\n\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n if (!internal || !internal['[[initializedNumberFormat]]']) throw new TypeError('`this` value for formatToParts() is not an initialized Intl.NumberFormat object.');\n\n var x = Number(value);\n return FormatNumberToParts(this, x);\n}\n\nObject.defineProperty(Intl.NumberFormat.prototype, 'formatToParts', {\n configurable: true,\n enumerable: false,\n writable: true,\n value: formatToParts\n});\n\n/*\n * @spec[stasm/ecma402/number-format-to-parts/spec/numberformat.html]\n * @clause[sec-formatnumbertoparts]\n */\nfunction FormatNumberToParts(numberFormat, x) {\n // 1. Let parts be ? PartitionNumberPattern(numberFormat, x).\n var parts = PartitionNumberPattern(numberFormat, x);\n // 2. Let result be ArrayCreate(0).\n var result = [];\n // 3. Let n be 0.\n var n = 0;\n // 4. For each part in parts, do:\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n // a. Let O be ObjectCreate(%ObjectPrototype%).\n var O = {};\n // a. Perform ? CreateDataPropertyOrThrow(O, \"type\", part.[[type]]).\n O.type = part['[[type]]'];\n // a. Perform ? CreateDataPropertyOrThrow(O, \"value\", part.[[value]]).\n O.value = part['[[value]]'];\n // a. Perform ? CreateDataPropertyOrThrow(result, ? ToString(n), O).\n result[n] = O;\n // a. Increment n by 1.\n n += 1;\n }\n // 5. Return result.\n return result;\n}\n\n/*\n * @spec[stasm/ecma402/number-format-to-parts/spec/numberformat.html]\n * @clause[sec-partitionnumberpattern]\n */\nfunction PartitionNumberPattern(numberFormat, x) {\n\n var internal = getInternalProperties(numberFormat),\n locale = internal['[[dataLocale]]'],\n nums = internal['[[numberingSystem]]'],\n data = internals.NumberFormat['[[localeData]]'][locale],\n ild = data.symbols[nums] || data.symbols.latn,\n pattern = void 0;\n\n // 1. If x is not NaN and x < 0, then:\n if (!isNaN(x) && x < 0) {\n // a. Let x be -x.\n x = -x;\n // a. Let pattern be the value of numberFormat.[[negativePattern]].\n pattern = internal['[[negativePattern]]'];\n }\n // 2. Else,\n else {\n // a. Let pattern be the value of numberFormat.[[positivePattern]].\n pattern = internal['[[positivePattern]]'];\n }\n // 3. Let result be a new empty List.\n var result = new List();\n // 4. Let beginIndex be Call(%StringProto_indexOf%, pattern, \"{\", 0).\n var beginIndex = pattern.indexOf('{', 0);\n // 5. Let endIndex be 0.\n var endIndex = 0;\n // 6. Let nextIndex be 0.\n var nextIndex = 0;\n // 7. Let length be the number of code units in pattern.\n var length = pattern.length;\n // 8. Repeat while beginIndex is an integer index into pattern:\n while (beginIndex > -1 && beginIndex < length) {\n // a. Set endIndex to Call(%StringProto_indexOf%, pattern, \"}\", beginIndex)\n endIndex = pattern.indexOf('}', beginIndex);\n // a. If endIndex = -1, throw new Error exception.\n if (endIndex === -1) throw new Error();\n // a. If beginIndex is greater than nextIndex, then:\n if (beginIndex > nextIndex) {\n // i. Let literal be a substring of pattern from position nextIndex, inclusive, to position beginIndex, exclusive.\n var literal = pattern.substring(nextIndex, beginIndex);\n // ii. Add new part record { [[type]]: \"literal\", [[value]]: literal } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': literal });\n }\n // a. Let p be the substring of pattern from position beginIndex, exclusive, to position endIndex, exclusive.\n var p = pattern.substring(beginIndex + 1, endIndex);\n // a. If p is equal \"number\", then:\n if (p === \"number\") {\n // i. If x is NaN,\n if (isNaN(x)) {\n // 1. Let n be an ILD String value indicating the NaN value.\n var n = ild.nan;\n // 2. Add new part record { [[type]]: \"nan\", [[value]]: n } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'nan', '[[value]]': n });\n }\n // ii. Else if isFinite(x) is false,\n else if (!isFinite(x)) {\n // 1. Let n be an ILD String value indicating infinity.\n var _n = ild.infinity;\n // 2. Add new part record { [[type]]: \"infinity\", [[value]]: n } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'infinity', '[[value]]': _n });\n }\n // iii. Else,\n else {\n // 1. If the value of numberFormat.[[style]] is \"percent\" and isFinite(x), let x be 100 × x.\n if (internal['[[style]]'] === 'percent' && isFinite(x)) x *= 100;\n\n var _n2 = void 0;\n // 2. If the numberFormat.[[minimumSignificantDigits]] and numberFormat.[[maximumSignificantDigits]] are present, then\n if (hop.call(internal, '[[minimumSignificantDigits]]') && hop.call(internal, '[[maximumSignificantDigits]]')) {\n // a. Let n be ToRawPrecision(x, numberFormat.[[minimumSignificantDigits]], numberFormat.[[maximumSignificantDigits]]).\n _n2 = ToRawPrecision(x, internal['[[minimumSignificantDigits]]'], internal['[[maximumSignificantDigits]]']);\n }\n // 3. Else,\n else {\n // a. Let n be ToRawFixed(x, numberFormat.[[minimumIntegerDigits]], numberFormat.[[minimumFractionDigits]], numberFormat.[[maximumFractionDigits]]).\n _n2 = ToRawFixed(x, internal['[[minimumIntegerDigits]]'], internal['[[minimumFractionDigits]]'], internal['[[maximumFractionDigits]]']);\n }\n // 4. If the value of the numberFormat.[[numberingSystem]] matches one of the values in the \"Numbering System\" column of Table 2 below, then\n if (numSys[nums]) {\n (function () {\n // a. Let digits be an array whose 10 String valued elements are the UTF-16 string representations of the 10 digits specified in the \"Digits\" column of the matching row in Table 2.\n var digits = numSys[nums];\n // a. Replace each digit in n with the value of digits[digit].\n _n2 = String(_n2).replace(/\\d/g, function (digit) {\n return digits[digit];\n });\n })();\n }\n // 5. Else use an implementation dependent algorithm to map n to the appropriate representation of n in the given numbering system.\n else _n2 = String(_n2); // ###TODO###\n\n var integer = void 0;\n var fraction = void 0;\n // 6. Let decimalSepIndex be Call(%StringProto_indexOf%, n, \".\", 0).\n var decimalSepIndex = _n2.indexOf('.', 0);\n // 7. If decimalSepIndex > 0, then:\n if (decimalSepIndex > 0) {\n // a. Let integer be the substring of n from position 0, inclusive, to position decimalSepIndex, exclusive.\n integer = _n2.substring(0, decimalSepIndex);\n // a. Let fraction be the substring of n from position decimalSepIndex, exclusive, to the end of n.\n fraction = _n2.substring(decimalSepIndex + 1, decimalSepIndex.length);\n }\n // 8. Else:\n else {\n // a. Let integer be n.\n integer = _n2;\n // a. Let fraction be undefined.\n fraction = undefined;\n }\n // 9. If the value of the numberFormat.[[useGrouping]] is true,\n if (internal['[[useGrouping]]'] === true) {\n // a. Let groupSepSymbol be the ILND String representing the grouping separator.\n var groupSepSymbol = ild.group;\n // a. Let groups be a List whose elements are, in left to right order, the substrings defined by ILND set of locations within the integer.\n var groups = [];\n // ----> implementation:\n // Primary group represents the group closest to the decimal\n var pgSize = data.patterns.primaryGroupSize || 3;\n // Secondary group is every other group\n var sgSize = data.patterns.secondaryGroupSize || pgSize;\n // Group only if necessary\n if (integer.length > pgSize) {\n // Index of the primary grouping separator\n var end = integer.length - pgSize;\n // Starting index for our loop\n var idx = end % sgSize;\n var start = integer.slice(0, idx);\n if (start.length) arrPush.call(groups, start);\n // Loop to separate into secondary grouping digits\n while (idx < end) {\n arrPush.call(groups, integer.slice(idx, idx + sgSize));\n idx += sgSize;\n }\n // Add the primary grouping digits\n arrPush.call(groups, integer.slice(end));\n } else {\n arrPush.call(groups, integer);\n }\n // a. Assert: The number of elements in groups List is greater than 0.\n if (groups.length === 0) throw new Error();\n // a. Repeat, while groups List is not empty:\n while (groups.length) {\n // i. Remove the first element from groups and let integerGroup be the value of that element.\n var integerGroup = arrShift.call(groups);\n // ii. Add new part record { [[type]]: \"integer\", [[value]]: integerGroup } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'integer', '[[value]]': integerGroup });\n // iii. If groups List is not empty, then:\n if (groups.length) {\n // 1. Add new part record { [[type]]: \"group\", [[value]]: groupSepSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'group', '[[value]]': groupSepSymbol });\n }\n }\n }\n // 10. Else,\n else {\n // a. Add new part record { [[type]]: \"integer\", [[value]]: integer } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'integer', '[[value]]': integer });\n }\n // 11. If fraction is not undefined, then:\n if (fraction !== undefined) {\n // a. Let decimalSepSymbol be the ILND String representing the decimal separator.\n var decimalSepSymbol = ild.decimal;\n // a. Add new part record { [[type]]: \"decimal\", [[value]]: decimalSepSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'decimal', '[[value]]': decimalSepSymbol });\n // a. Add new part record { [[type]]: \"fraction\", [[value]]: fraction } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'fraction', '[[value]]': fraction });\n }\n }\n }\n // a. Else if p is equal \"plusSign\", then:\n else if (p === \"plusSign\") {\n // i. Let plusSignSymbol be the ILND String representing the plus sign.\n var plusSignSymbol = ild.plusSign;\n // ii. Add new part record { [[type]]: \"plusSign\", [[value]]: plusSignSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'plusSign', '[[value]]': plusSignSymbol });\n }\n // a. Else if p is equal \"minusSign\", then:\n else if (p === \"minusSign\") {\n // i. Let minusSignSymbol be the ILND String representing the minus sign.\n var minusSignSymbol = ild.minusSign;\n // ii. Add new part record { [[type]]: \"minusSign\", [[value]]: minusSignSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'minusSign', '[[value]]': minusSignSymbol });\n }\n // a. Else if p is equal \"percentSign\" and numberFormat.[[style]] is \"percent\", then:\n else if (p === \"percentSign\" && internal['[[style]]'] === \"percent\") {\n // i. Let percentSignSymbol be the ILND String representing the percent sign.\n var percentSignSymbol = ild.percentSign;\n // ii. Add new part record { [[type]]: \"percentSign\", [[value]]: percentSignSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': percentSignSymbol });\n }\n // a. Else if p is equal \"currency\" and numberFormat.[[style]] is \"currency\", then:\n else if (p === \"currency\" && internal['[[style]]'] === \"currency\") {\n // i. Let currency be the value of numberFormat.[[currency]].\n var currency = internal['[[currency]]'];\n\n var cd = void 0;\n\n // ii. If numberFormat.[[currencyDisplay]] is \"code\", then\n if (internal['[[currencyDisplay]]'] === \"code\") {\n // 1. Let cd be currency.\n cd = currency;\n }\n // iii. Else if numberFormat.[[currencyDisplay]] is \"symbol\", then\n else if (internal['[[currencyDisplay]]'] === \"symbol\") {\n // 1. Let cd be an ILD string representing currency in short form. If the implementation does not have such a representation of currency, use currency itself.\n cd = data.currencies[currency] || currency;\n }\n // iv. Else if numberFormat.[[currencyDisplay]] is \"name\", then\n else if (internal['[[currencyDisplay]]'] === \"name\") {\n // 1. Let cd be an ILD string representing currency in long form. If the implementation does not have such a representation of currency, then use currency itself.\n cd = currency;\n }\n // v. Add new part record { [[type]]: \"currency\", [[value]]: cd } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'currency', '[[value]]': cd });\n }\n // a. Else,\n else {\n // i. Let literal be the substring of pattern from position beginIndex, inclusive, to position endIndex, inclusive.\n var _literal = pattern.substring(beginIndex, endIndex);\n // ii. Add new part record { [[type]]: \"literal\", [[value]]: literal } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': _literal });\n }\n // a. Set nextIndex to endIndex + 1.\n nextIndex = endIndex + 1;\n // a. Set beginIndex to Call(%StringProto_indexOf%, pattern, \"{\", nextIndex)\n beginIndex = pattern.indexOf('{', nextIndex);\n }\n // 9. If nextIndex is less than length, then:\n if (nextIndex < length) {\n // a. Let literal be the substring of pattern from position nextIndex, inclusive, to position length, exclusive.\n var _literal2 = pattern.substring(nextIndex, length);\n // a. Add new part record { [[type]]: \"literal\", [[value]]: literal } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': _literal2 });\n }\n // 10. Return result.\n return result;\n}\n\n/*\n * @spec[stasm/ecma402/number-format-to-parts/spec/numberformat.html]\n * @clause[sec-formatnumber]\n */\nfunction FormatNumber(numberFormat, x) {\n // 1. Let parts be ? PartitionNumberPattern(numberFormat, x).\n var parts = PartitionNumberPattern(numberFormat, x);\n // 2. Let result be an empty String.\n var result = '';\n // 3. For each part in parts, do:\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n // a. Set result to a String value produced by concatenating result and part.[[value]].\n result += part['[[value]]'];\n }\n // 4. Return result.\n return result;\n}\n\n/**\n * When the ToRawPrecision abstract operation is called with arguments x (which\n * must be a finite non-negative number), minPrecision, and maxPrecision (both\n * must be integers between 1 and 21) the following steps are taken:\n */\nfunction ToRawPrecision(x, minPrecision, maxPrecision) {\n // 1. Let p be maxPrecision.\n var p = maxPrecision;\n\n var m = void 0,\n e = void 0;\n\n // 2. If x = 0, then\n if (x === 0) {\n // a. Let m be the String consisting of p occurrences of the character \"0\".\n m = arrJoin.call(Array(p + 1), '0');\n // b. Let e be 0.\n e = 0;\n }\n // 3. Else\n else {\n // a. Let e and n be integers such that 10ᵖ⁻¹ ≤ n < 10ᵖ and for which the\n // exact mathematical value of n × 10ᵉ⁻ᵖ⁺¹ – x is as close to zero as\n // possible. If there are two such sets of e and n, pick the e and n for\n // which n × 10ᵉ⁻ᵖ⁺¹ is larger.\n e = log10Floor(Math.abs(x));\n\n // Easier to get to m from here\n var f = Math.round(Math.exp(Math.abs(e - p + 1) * Math.LN10));\n\n // b. Let m be the String consisting of the digits of the decimal\n // representation of n (in order, with no leading zeroes)\n m = String(Math.round(e - p + 1 < 0 ? x * f : x / f));\n }\n\n // 4. If e ≥ p, then\n if (e >= p)\n // a. Return the concatenation of m and e-p+1 occurrences of the character \"0\".\n return m + arrJoin.call(Array(e - p + 1 + 1), '0');\n\n // 5. If e = p-1, then\n else if (e === p - 1)\n // a. Return m.\n return m;\n\n // 6. If e ≥ 0, then\n else if (e >= 0)\n // a. Let m be the concatenation of the first e+1 characters of m, the character\n // \".\", and the remaining p–(e+1) characters of m.\n m = m.slice(0, e + 1) + '.' + m.slice(e + 1);\n\n // 7. If e < 0, then\n else if (e < 0)\n // a. Let m be the concatenation of the String \"0.\", –(e+1) occurrences of the\n // character \"0\", and the string m.\n m = '0.' + arrJoin.call(Array(-(e + 1) + 1), '0') + m;\n\n // 8. If m contains the character \".\", and maxPrecision > minPrecision, then\n if (m.indexOf(\".\") >= 0 && maxPrecision > minPrecision) {\n // a. Let cut be maxPrecision – minPrecision.\n var cut = maxPrecision - minPrecision;\n\n // b. Repeat while cut > 0 and the last character of m is \"0\":\n while (cut > 0 && m.charAt(m.length - 1) === '0') {\n // i. Remove the last character from m.\n m = m.slice(0, -1);\n\n // ii. Decrease cut by 1.\n cut--;\n }\n\n // c. If the last character of m is \".\", then\n if (m.charAt(m.length - 1) === '.')\n // i. Remove the last character from m.\n m = m.slice(0, -1);\n }\n // 9. Return m.\n return m;\n}\n\n/**\n * @spec[tc39/ecma402/master/spec/numberformat.html]\n * @clause[sec-torawfixed]\n * When the ToRawFixed abstract operation is called with arguments x (which must\n * be a finite non-negative number), minInteger (which must be an integer between\n * 1 and 21), minFraction, and maxFraction (which must be integers between 0 and\n * 20) the following steps are taken:\n */\nfunction ToRawFixed(x, minInteger, minFraction, maxFraction) {\n // 1. Let f be maxFraction.\n var f = maxFraction;\n // 2. Let n be an integer for which the exact mathematical value of n ÷ 10f – x is as close to zero as possible. If there are two such n, pick the larger n.\n var n = Math.pow(10, f) * x; // diverging...\n // 3. If n = 0, let m be the String \"0\". Otherwise, let m be the String consisting of the digits of the decimal representation of n (in order, with no leading zeroes).\n var m = n === 0 ? \"0\" : n.toFixed(0); // divering...\n\n {\n // this diversion is needed to take into consideration big numbers, e.g.:\n // 1.2344501e+37 -> 12344501000000000000000000000000000000\n var idx = void 0;\n var exp = (idx = m.indexOf('e')) > -1 ? m.slice(idx + 1) : 0;\n if (exp) {\n m = m.slice(0, idx).replace('.', '');\n m += arrJoin.call(Array(exp - (m.length - 1) + 1), '0');\n }\n }\n\n var int = void 0;\n // 4. If f ≠ 0, then\n if (f !== 0) {\n // a. Let k be the number of characters in m.\n var k = m.length;\n // a. If k ≤ f, then\n if (k <= f) {\n // i. Let z be the String consisting of f+1–k occurrences of the character \"0\".\n var z = arrJoin.call(Array(f + 1 - k + 1), '0');\n // ii. Let m be the concatenation of Strings z and m.\n m = z + m;\n // iii. Let k be f+1.\n k = f + 1;\n }\n // a. Let a be the first k–f characters of m, and let b be the remaining f characters of m.\n var a = m.substring(0, k - f),\n b = m.substring(k - f, m.length);\n // a. Let m be the concatenation of the three Strings a, \".\", and b.\n m = a + \".\" + b;\n // a. Let int be the number of characters in a.\n int = a.length;\n }\n // 5. Else, let int be the number of characters in m.\n else int = m.length;\n // 6. Let cut be maxFraction – minFraction.\n var cut = maxFraction - minFraction;\n // 7. Repeat while cut > 0 and the last character of m is \"0\":\n while (cut > 0 && m.slice(-1) === \"0\") {\n // a. Remove the last character from m.\n m = m.slice(0, -1);\n // a. Decrease cut by 1.\n cut--;\n }\n // 8. If the last character of m is \".\", then\n if (m.slice(-1) === \".\") {\n // a. Remove the last character from m.\n m = m.slice(0, -1);\n }\n // 9. If int < minInteger, then\n if (int < minInteger) {\n // a. Let z be the String consisting of minInteger–int occurrences of the character \"0\".\n var _z = arrJoin.call(Array(minInteger - int + 1), '0');\n // a. Let m be the concatenation of Strings z and m.\n m = _z + m;\n }\n // 10. Return m.\n return m;\n}\n\n// Sect 11.3.2 Table 2, Numbering systems\n// ======================================\nvar numSys = {\n arab: [\"٠\", \"١\", \"٢\", \"٣\", \"٤\", \"٥\", \"٦\", \"٧\", \"٨\", \"٩\"],\n arabext: [\"۰\", \"۱\", \"۲\", \"۳\", \"۴\", \"۵\", \"۶\", \"۷\", \"۸\", \"۹\"],\n bali: [\"᭐\", \"᭑\", \"᭒\", \"᭓\", \"᭔\", \"᭕\", \"᭖\", \"᭗\", \"᭘\", \"᭙\"],\n beng: [\"০\", \"১\", \"২\", \"৩\", \"৪\", \"৫\", \"৬\", \"৭\", \"৮\", \"৯\"],\n deva: [\"०\", \"१\", \"२\", \"३\", \"४\", \"५\", \"६\", \"७\", \"८\", \"९\"],\n fullwide: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n gujr: [\"૦\", \"૧\", \"૨\", \"૩\", \"૪\", \"૫\", \"૬\", \"૭\", \"૮\", \"૯\"],\n guru: [\"੦\", \"੧\", \"੨\", \"੩\", \"੪\", \"੫\", \"੬\", \"੭\", \"੮\", \"੯\"],\n hanidec: [\"〇\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\", \"七\", \"八\", \"九\"],\n khmr: [\"០\", \"១\", \"២\", \"៣\", \"៤\", \"៥\", \"៦\", \"៧\", \"៨\", \"៩\"],\n knda: [\"೦\", \"೧\", \"೨\", \"೩\", \"೪\", \"೫\", \"೬\", \"೭\", \"೮\", \"೯\"],\n laoo: [\"໐\", \"໑\", \"໒\", \"໓\", \"໔\", \"໕\", \"໖\", \"໗\", \"໘\", \"໙\"],\n latn: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n limb: [\"᥆\", \"᥇\", \"᥈\", \"᥉\", \"᥊\", \"᥋\", \"᥌\", \"᥍\", \"᥎\", \"᥏\"],\n mlym: [\"൦\", \"൧\", \"൨\", \"൩\", \"൪\", \"൫\", \"൬\", \"൭\", \"൮\", \"൯\"],\n mong: [\"᠐\", \"᠑\", \"᠒\", \"᠓\", \"᠔\", \"᠕\", \"᠖\", \"᠗\", \"᠘\", \"᠙\"],\n mymr: [\"၀\", \"၁\", \"၂\", \"၃\", \"၄\", \"၅\", \"၆\", \"၇\", \"၈\", \"၉\"],\n orya: [\"୦\", \"୧\", \"୨\", \"୩\", \"୪\", \"୫\", \"୬\", \"୭\", \"୮\", \"୯\"],\n tamldec: [\"௦\", \"௧\", \"௨\", \"௩\", \"௪\", \"௫\", \"௬\", \"௭\", \"௮\", \"௯\"],\n telu: [\"౦\", \"౧\", \"౨\", \"౩\", \"౪\", \"౫\", \"౬\", \"౭\", \"౮\", \"౯\"],\n thai: [\"๐\", \"๑\", \"๒\", \"๓\", \"๔\", \"๕\", \"๖\", \"๗\", \"๘\", \"๙\"],\n tibt: [\"༠\", \"༡\", \"༢\", \"༣\", \"༤\", \"༥\", \"༦\", \"༧\", \"༨\", \"༩\"]\n};\n\n/**\n * This function provides access to the locale and formatting options computed\n * during initialization of the object.\n *\n * The function returns a new object whose properties and attributes are set as\n * if constructed by an object literal assigning to each of the following\n * properties the value of the corresponding internal property of this\n * NumberFormat object (see 11.4): locale, numberingSystem, style, currency,\n * currencyDisplay, minimumIntegerDigits, minimumFractionDigits,\n * maximumFractionDigits, minimumSignificantDigits, maximumSignificantDigits, and\n * useGrouping. Properties whose corresponding internal properties are not present\n * are not assigned.\n */\n/* 11.3.3 */defineProperty(Intl.NumberFormat.prototype, 'resolvedOptions', {\n configurable: true,\n writable: true,\n value: function value() {\n var prop = void 0,\n descs = new Record(),\n props = ['locale', 'numberingSystem', 'style', 'currency', 'currencyDisplay', 'minimumIntegerDigits', 'minimumFractionDigits', 'maximumFractionDigits', 'minimumSignificantDigits', 'maximumSignificantDigits', 'useGrouping'],\n internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 11.3_b\n if (!internal || !internal['[[initializedNumberFormat]]']) throw new TypeError('`this` value for resolvedOptions() is not an initialized Intl.NumberFormat object.');\n\n for (var i = 0, max = props.length; i < max; i++) {\n if (hop.call(internal, prop = '[[' + props[i] + ']]')) descs[props[i]] = { value: internal[prop], writable: true, configurable: true, enumerable: true };\n }\n\n return objCreate({}, descs);\n }\n});\n\n/* jslint esnext: true */\n\n// Match these datetime components in a CLDR pattern, except those in single quotes\nvar expDTComponents = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n// trim patterns after transformations\nvar expPatternTrimmer = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;\n// Skip over patterns with these datetime components because we don't have data\n// to back them up:\n// timezone, weekday, amoung others\nvar unwantedDTCs = /[rqQASjJgwWIQq]/; // xXVO were removed from this list in favor of computing matches with timeZoneName values but printing as empty string\n\nvar dtKeys = [\"era\", \"year\", \"month\", \"day\", \"weekday\", \"quarter\"];\nvar tmKeys = [\"hour\", \"minute\", \"second\", \"hour12\", \"timeZoneName\"];\n\nfunction isDateFormatOnly(obj) {\n for (var i = 0; i < tmKeys.length; i += 1) {\n if (obj.hasOwnProperty(tmKeys[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction isTimeFormatOnly(obj) {\n for (var i = 0; i < dtKeys.length; i += 1) {\n if (obj.hasOwnProperty(dtKeys[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction joinDateAndTimeFormats(dateFormatObj, timeFormatObj) {\n var o = { _: {} };\n for (var i = 0; i < dtKeys.length; i += 1) {\n if (dateFormatObj[dtKeys[i]]) {\n o[dtKeys[i]] = dateFormatObj[dtKeys[i]];\n }\n if (dateFormatObj._[dtKeys[i]]) {\n o._[dtKeys[i]] = dateFormatObj._[dtKeys[i]];\n }\n }\n for (var j = 0; j < tmKeys.length; j += 1) {\n if (timeFormatObj[tmKeys[j]]) {\n o[tmKeys[j]] = timeFormatObj[tmKeys[j]];\n }\n if (timeFormatObj._[tmKeys[j]]) {\n o._[tmKeys[j]] = timeFormatObj._[tmKeys[j]];\n }\n }\n return o;\n}\n\nfunction computeFinalPatterns(formatObj) {\n // From http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns:\n // 'In patterns, two single quotes represents a literal single quote, either\n // inside or outside single quotes. Text within single quotes is not\n // interpreted in any way (except for two adjacent single quotes).'\n formatObj.pattern12 = formatObj.extendedPattern.replace(/'([^']*)'/g, function ($0, literal) {\n return literal ? literal : \"'\";\n });\n\n // pattern 12 is always the default. we can produce the 24 by removing {ampm}\n formatObj.pattern = formatObj.pattern12.replace('{ampm}', '').replace(expPatternTrimmer, '');\n return formatObj;\n}\n\nfunction expDTComponentsMeta($0, formatObj) {\n switch ($0.charAt(0)) {\n // --- Era\n case 'G':\n formatObj.era = ['short', 'short', 'short', 'long', 'narrow'][$0.length - 1];\n return '{era}';\n\n // --- Year\n case 'y':\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n formatObj.year = $0.length === 2 ? '2-digit' : 'numeric';\n return '{year}';\n\n // --- Quarter (not supported in this polyfill)\n case 'Q':\n case 'q':\n formatObj.quarter = ['numeric', '2-digit', 'short', 'long', 'narrow'][$0.length - 1];\n return '{quarter}';\n\n // --- Month\n case 'M':\n case 'L':\n formatObj.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][$0.length - 1];\n return '{month}';\n\n // --- Week (not supported in this polyfill)\n case 'w':\n // week of the year\n formatObj.week = $0.length === 2 ? '2-digit' : 'numeric';\n return '{weekday}';\n case 'W':\n // week of the month\n formatObj.week = 'numeric';\n return '{weekday}';\n\n // --- Day\n case 'd':\n // day of the month\n formatObj.day = $0.length === 2 ? '2-digit' : 'numeric';\n return '{day}';\n case 'D': // day of the year\n case 'F': // day of the week\n case 'g':\n // 1..n: Modified Julian day\n formatObj.day = 'numeric';\n return '{day}';\n\n // --- Week Day\n case 'E':\n // day of the week\n formatObj.weekday = ['short', 'short', 'short', 'long', 'narrow', 'short'][$0.length - 1];\n return '{weekday}';\n case 'e':\n // local day of the week\n formatObj.weekday = ['numeric', '2-digit', 'short', 'long', 'narrow', 'short'][$0.length - 1];\n return '{weekday}';\n case 'c':\n // stand alone local day of the week\n formatObj.weekday = ['numeric', undefined, 'short', 'long', 'narrow', 'short'][$0.length - 1];\n return '{weekday}';\n\n // --- Period\n case 'a': // AM, PM\n case 'b': // am, pm, noon, midnight\n case 'B':\n // flexible day periods\n formatObj.hour12 = true;\n return '{ampm}';\n\n // --- Hour\n case 'h':\n case 'H':\n formatObj.hour = $0.length === 2 ? '2-digit' : 'numeric';\n return '{hour}';\n case 'k':\n case 'K':\n formatObj.hour12 = true; // 12-hour-cycle time formats (using h or K)\n formatObj.hour = $0.length === 2 ? '2-digit' : 'numeric';\n return '{hour}';\n\n // --- Minute\n case 'm':\n formatObj.minute = $0.length === 2 ? '2-digit' : 'numeric';\n return '{minute}';\n\n // --- Second\n case 's':\n formatObj.second = $0.length === 2 ? '2-digit' : 'numeric';\n return '{second}';\n case 'S':\n case 'A':\n formatObj.second = 'numeric';\n return '{second}';\n\n // --- Timezone\n case 'z': // 1..3, 4: specific non-location format\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x':\n // 1, 2, 3, 4: The ISO8601 varios formats\n // this polyfill only supports much, for now, we are just doing something dummy\n formatObj.timeZoneName = $0.length < 4 ? 'short' : 'long';\n return '{timeZoneName}';\n }\n}\n\n/**\n * Converts the CLDR availableFormats into the objects and patterns required by\n * the ECMAScript Internationalization API specification.\n */\nfunction createDateTimeFormat(skeleton, pattern) {\n // we ignore certain patterns that are unsupported to avoid this expensive op.\n if (unwantedDTCs.test(pattern)) return undefined;\n\n var formatObj = {\n originalPattern: pattern,\n _: {}\n };\n\n // Replace the pattern string with the one required by the specification, whilst\n // at the same time evaluating it for the subsets and formats\n formatObj.extendedPattern = pattern.replace(expDTComponents, function ($0) {\n // See which symbol we're dealing with\n return expDTComponentsMeta($0, formatObj._);\n });\n\n // Match the skeleton string with the one required by the specification\n // this implementation is based on the Date Field Symbol Table:\n // http://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n // Note: we are adding extra data to the formatObject even though this polyfill\n // might not support it.\n skeleton.replace(expDTComponents, function ($0) {\n // See which symbol we're dealing with\n return expDTComponentsMeta($0, formatObj);\n });\n\n return computeFinalPatterns(formatObj);\n}\n\n/**\n * Processes DateTime formats from CLDR to an easier-to-parse format.\n * the result of this operation should be cached the first time a particular\n * calendar is analyzed.\n *\n * The specification requires we support at least the following subsets of\n * date/time components:\n *\n * - 'weekday', 'year', 'month', 'day', 'hour', 'minute', 'second'\n * - 'weekday', 'year', 'month', 'day'\n * - 'year', 'month', 'day'\n * - 'year', 'month'\n * - 'month', 'day'\n * - 'hour', 'minute', 'second'\n * - 'hour', 'minute'\n *\n * We need to cherry pick at least these subsets from the CLDR data and convert\n * them into the pattern objects used in the ECMA-402 API.\n */\nfunction createDateTimeFormats(formats) {\n var availableFormats = formats.availableFormats;\n var timeFormats = formats.timeFormats;\n var dateFormats = formats.dateFormats;\n var result = [];\n var skeleton = void 0,\n pattern = void 0,\n computed = void 0,\n i = void 0,\n j = void 0;\n var timeRelatedFormats = [];\n var dateRelatedFormats = [];\n\n // Map available (custom) formats into a pattern for createDateTimeFormats\n for (skeleton in availableFormats) {\n if (availableFormats.hasOwnProperty(skeleton)) {\n pattern = availableFormats[skeleton];\n computed = createDateTimeFormat(skeleton, pattern);\n if (computed) {\n result.push(computed);\n // in some cases, the format is only displaying date specific props\n // or time specific props, in which case we need to also produce the\n // combined formats.\n if (isDateFormatOnly(computed)) {\n dateRelatedFormats.push(computed);\n } else if (isTimeFormatOnly(computed)) {\n timeRelatedFormats.push(computed);\n }\n }\n }\n }\n\n // Map time formats into a pattern for createDateTimeFormats\n for (skeleton in timeFormats) {\n if (timeFormats.hasOwnProperty(skeleton)) {\n pattern = timeFormats[skeleton];\n computed = createDateTimeFormat(skeleton, pattern);\n if (computed) {\n result.push(computed);\n timeRelatedFormats.push(computed);\n }\n }\n }\n\n // Map date formats into a pattern for createDateTimeFormats\n for (skeleton in dateFormats) {\n if (dateFormats.hasOwnProperty(skeleton)) {\n pattern = dateFormats[skeleton];\n computed = createDateTimeFormat(skeleton, pattern);\n if (computed) {\n result.push(computed);\n dateRelatedFormats.push(computed);\n }\n }\n }\n\n // combine custom time and custom date formats when they are orthogonals to complete the\n // formats supported by CLDR.\n // This Algo is based on section \"Missing Skeleton Fields\" from:\n // http://unicode.org/reports/tr35/tr35-dates.html#availableFormats_appendItems\n for (i = 0; i < timeRelatedFormats.length; i += 1) {\n for (j = 0; j < dateRelatedFormats.length; j += 1) {\n if (dateRelatedFormats[j].month === 'long') {\n pattern = dateRelatedFormats[j].weekday ? formats.full : formats.long;\n } else if (dateRelatedFormats[j].month === 'short') {\n pattern = formats.medium;\n } else {\n pattern = formats.short;\n }\n computed = joinDateAndTimeFormats(dateRelatedFormats[j], timeRelatedFormats[i]);\n computed.originalPattern = pattern;\n computed.extendedPattern = pattern.replace('{0}', timeRelatedFormats[i].extendedPattern).replace('{1}', dateRelatedFormats[j].extendedPattern).replace(/^[,\\s]+|[,\\s]+$/gi, '');\n result.push(computeFinalPatterns(computed));\n }\n }\n\n return result;\n}\n\n// this represents the exceptions of the rule that are not covered by CLDR availableFormats\n// for single property configurations, they play no role when using multiple properties, and\n// those that are not in this table, are not exceptions or are not covered by the data we\n// provide.\nvar validSyntheticProps = {\n second: {\n numeric: 's',\n '2-digit': 'ss'\n },\n minute: {\n numeric: 'm',\n '2-digit': 'mm'\n },\n year: {\n numeric: 'y',\n '2-digit': 'yy'\n },\n day: {\n numeric: 'd',\n '2-digit': 'dd'\n },\n month: {\n numeric: 'L',\n '2-digit': 'LL',\n narrow: 'LLLLL',\n short: 'LLL',\n long: 'LLLL'\n },\n weekday: {\n narrow: 'ccccc',\n short: 'ccc',\n long: 'cccc'\n }\n};\n\nfunction generateSyntheticFormat(propName, propValue) {\n if (validSyntheticProps[propName] && validSyntheticProps[propName][propValue]) {\n var _ref2;\n\n return _ref2 = {\n originalPattern: validSyntheticProps[propName][propValue],\n _: defineProperty$1({}, propName, propValue),\n extendedPattern: \"{\" + propName + \"}\"\n }, defineProperty$1(_ref2, propName, propValue), defineProperty$1(_ref2, \"pattern12\", \"{\" + propName + \"}\"), defineProperty$1(_ref2, \"pattern\", \"{\" + propName + \"}\"), _ref2;\n }\n}\n\n// An object map of date component keys, saves using a regex later\nvar dateWidths = objCreate(null, { narrow: {}, short: {}, long: {} });\n\n/**\n * Returns a string for a date component, resolved using multiple inheritance as specified\n * as specified in the Unicode Technical Standard 35.\n */\nfunction resolveDateString(data, ca, component, width, key) {\n // From http://www.unicode.org/reports/tr35/tr35.html#Multiple_Inheritance:\n // 'In clearly specified instances, resources may inherit from within the same locale.\n // For example, ... the Buddhist calendar inherits from the Gregorian calendar.'\n var obj = data[ca] && data[ca][component] ? data[ca][component] : data.gregory[component],\n\n\n // \"sideways\" inheritance resolves strings when a key doesn't exist\n alts = {\n narrow: ['short', 'long'],\n short: ['long', 'narrow'],\n long: ['short', 'narrow']\n },\n\n\n //\n resolved = hop.call(obj, width) ? obj[width] : hop.call(obj, alts[width][0]) ? obj[alts[width][0]] : obj[alts[width][1]];\n\n // `key` wouldn't be specified for components 'dayPeriods'\n return key !== null ? resolved[key] : resolved;\n}\n\n// Define the DateTimeFormat constructor internally so it cannot be tainted\nfunction DateTimeFormatConstructor() {\n var locales = arguments[0];\n var options = arguments[1];\n\n if (!this || this === Intl) {\n return new Intl.DateTimeFormat(locales, options);\n }\n return InitializeDateTimeFormat(toObject(this), locales, options);\n}\n\ndefineProperty(Intl, 'DateTimeFormat', {\n configurable: true,\n writable: true,\n value: DateTimeFormatConstructor\n});\n\n// Must explicitly set prototypes as unwritable\ndefineProperty(DateTimeFormatConstructor, 'prototype', {\n writable: false\n});\n\n/**\n * The abstract operation InitializeDateTimeFormat accepts the arguments dateTimeFormat\n * (which must be an object), locales, and options. It initializes dateTimeFormat as a\n * DateTimeFormat object.\n */\nfunction /* 12.1.1.1 */InitializeDateTimeFormat(dateTimeFormat, locales, options) {\n // This will be a internal properties object if we're not already initialized\n var internal = getInternalProperties(dateTimeFormat);\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore();\n\n // 1. If dateTimeFormat has an [[initializedIntlObject]] internal property with\n // value true, throw a TypeError exception.\n if (internal['[[initializedIntlObject]]'] === true) throw new TypeError('`this` object has already been initialized as an Intl object');\n\n // Need this to access the `internal` object\n defineProperty(dateTimeFormat, '__getInternalProperties', {\n value: function value() {\n // NOTE: Non-standard, for internal use only\n if (arguments[0] === secret) return internal;\n }\n });\n\n // 2. Set the [[initializedIntlObject]] internal property of numberFormat to true.\n internal['[[initializedIntlObject]]'] = true;\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n var requestedLocales = CanonicalizeLocaleList(locales);\n\n // 4. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined below) with arguments options, \"any\", and \"date\".\n options = ToDateTimeOptions(options, 'any', 'date');\n\n // 5. Let opt be a new Record.\n var opt = new Record();\n\n // 6. Let matcher be the result of calling the GetOption abstract operation\n // (defined in 9.2.9) with arguments options, \"localeMatcher\", \"string\", a List\n // containing the two String values \"lookup\" and \"best fit\", and \"best fit\".\n var matcher = GetOption(options, 'localeMatcher', 'string', new List('lookup', 'best fit'), 'best fit');\n\n // 7. Set opt.[[localeMatcher]] to matcher.\n opt['[[localeMatcher]]'] = matcher;\n\n // 8. Let DateTimeFormat be the standard built-in object that is the initial\n // value of Intl.DateTimeFormat.\n var DateTimeFormat = internals.DateTimeFormat; // This is what we *really* need\n\n // 9. Let localeData be the value of the [[localeData]] internal property of\n // DateTimeFormat.\n var localeData = DateTimeFormat['[[localeData]]'];\n\n // 10. Let r be the result of calling the ResolveLocale abstract operation\n // (defined in 9.2.5) with the [[availableLocales]] internal property of\n // DateTimeFormat, requestedLocales, opt, the [[relevantExtensionKeys]]\n // internal property of DateTimeFormat, and localeData.\n var r = ResolveLocale(DateTimeFormat['[[availableLocales]]'], requestedLocales, opt, DateTimeFormat['[[relevantExtensionKeys]]'], localeData);\n\n // 11. Set the [[locale]] internal property of dateTimeFormat to the value of\n // r.[[locale]].\n internal['[[locale]]'] = r['[[locale]]'];\n\n // 12. Set the [[calendar]] internal property of dateTimeFormat to the value of\n // r.[[ca]].\n internal['[[calendar]]'] = r['[[ca]]'];\n\n // 13. Set the [[numberingSystem]] internal property of dateTimeFormat to the value of\n // r.[[nu]].\n internal['[[numberingSystem]]'] = r['[[nu]]'];\n\n // The specification doesn't tell us to do this, but it's helpful later on\n internal['[[dataLocale]]'] = r['[[dataLocale]]'];\n\n // 14. Let dataLocale be the value of r.[[dataLocale]].\n var dataLocale = r['[[dataLocale]]'];\n\n // 15. Let tz be the result of calling the [[Get]] internal method of options with\n // argument \"timeZone\".\n var tz = options.timeZone;\n\n // 16. If tz is not undefined, then\n if (tz !== undefined) {\n // a. Let tz be ToString(tz).\n // b. Convert tz to upper case as described in 6.1.\n // NOTE: If an implementation accepts additional time zone values, as permitted\n // under certain conditions by the Conformance clause, different casing\n // rules apply.\n tz = toLatinUpperCase(tz);\n\n // c. If tz is not \"UTC\", then throw a RangeError exception.\n // ###TODO: accept more time zones###\n if (tz !== 'UTC') throw new RangeError('timeZone is not supported.');\n }\n\n // 17. Set the [[timeZone]] internal property of dateTimeFormat to tz.\n internal['[[timeZone]]'] = tz;\n\n // 18. Let opt be a new Record.\n opt = new Record();\n\n // 19. For each row of Table 3, except the header row, do:\n for (var prop in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, prop)) continue;\n\n // 20. Let prop be the name given in the Property column of the row.\n // 21. Let value be the result of calling the GetOption abstract operation,\n // passing as argument options, the name given in the Property column of the\n // row, \"string\", a List containing the strings given in the Values column of\n // the row, and undefined.\n var value = GetOption(options, prop, 'string', dateTimeComponents[prop]);\n\n // 22. Set opt.[[<prop>]] to value.\n opt['[[' + prop + ']]'] = value;\n }\n\n // Assigned a value below\n var bestFormat = void 0;\n\n // 23. Let dataLocaleData be the result of calling the [[Get]] internal method of\n // localeData with argument dataLocale.\n var dataLocaleData = localeData[dataLocale];\n\n // 24. Let formats be the result of calling the [[Get]] internal method of\n // dataLocaleData with argument \"formats\".\n // Note: we process the CLDR formats into the spec'd structure\n var formats = ToDateTimeFormats(dataLocaleData.formats);\n\n // 25. Let matcher be the result of calling the GetOption abstract operation with\n // arguments options, \"formatMatcher\", \"string\", a List containing the two String\n // values \"basic\" and \"best fit\", and \"best fit\".\n matcher = GetOption(options, 'formatMatcher', 'string', new List('basic', 'best fit'), 'best fit');\n\n // Optimization: caching the processed formats as a one time operation by\n // replacing the initial structure from localeData\n dataLocaleData.formats = formats;\n\n // 26. If matcher is \"basic\", then\n if (matcher === 'basic') {\n // 27. Let bestFormat be the result of calling the BasicFormatMatcher abstract\n // operation (defined below) with opt and formats.\n bestFormat = BasicFormatMatcher(opt, formats);\n\n // 28. Else\n } else {\n {\n // diverging\n var _hr = GetOption(options, 'hour12', 'boolean' /*, undefined, undefined*/);\n opt.hour12 = _hr === undefined ? dataLocaleData.hour12 : _hr;\n }\n // 29. Let bestFormat be the result of calling the BestFitFormatMatcher\n // abstract operation (defined below) with opt and formats.\n bestFormat = BestFitFormatMatcher(opt, formats);\n }\n\n // 30. For each row in Table 3, except the header row, do\n for (var _prop in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, _prop)) continue;\n\n // a. Let prop be the name given in the Property column of the row.\n // b. Let pDesc be the result of calling the [[GetOwnProperty]] internal method of\n // bestFormat with argument prop.\n // c. If pDesc is not undefined, then\n if (hop.call(bestFormat, _prop)) {\n // i. Let p be the result of calling the [[Get]] internal method of bestFormat\n // with argument prop.\n var p = bestFormat[_prop];\n {\n // diverging\n p = bestFormat._ && hop.call(bestFormat._, _prop) ? bestFormat._[_prop] : p;\n }\n\n // ii. Set the [[<prop>]] internal property of dateTimeFormat to p.\n internal['[[' + _prop + ']]'] = p;\n }\n }\n\n var pattern = void 0; // Assigned a value below\n\n // 31. Let hr12 be the result of calling the GetOption abstract operation with\n // arguments options, \"hour12\", \"boolean\", undefined, and undefined.\n var hr12 = GetOption(options, 'hour12', 'boolean' /*, undefined, undefined*/);\n\n // 32. If dateTimeFormat has an internal property [[hour]], then\n if (internal['[[hour]]']) {\n // a. If hr12 is undefined, then let hr12 be the result of calling the [[Get]]\n // internal method of dataLocaleData with argument \"hour12\".\n hr12 = hr12 === undefined ? dataLocaleData.hour12 : hr12;\n\n // b. Set the [[hour12]] internal property of dateTimeFormat to hr12.\n internal['[[hour12]]'] = hr12;\n\n // c. If hr12 is true, then\n if (hr12 === true) {\n // i. Let hourNo0 be the result of calling the [[Get]] internal method of\n // dataLocaleData with argument \"hourNo0\".\n var hourNo0 = dataLocaleData.hourNo0;\n\n // ii. Set the [[hourNo0]] internal property of dateTimeFormat to hourNo0.\n internal['[[hourNo0]]'] = hourNo0;\n\n // iii. Let pattern be the result of calling the [[Get]] internal method of\n // bestFormat with argument \"pattern12\".\n pattern = bestFormat.pattern12;\n }\n\n // d. Else\n else\n // i. Let pattern be the result of calling the [[Get]] internal method of\n // bestFormat with argument \"pattern\".\n pattern = bestFormat.pattern;\n }\n\n // 33. Else\n else\n // a. Let pattern be the result of calling the [[Get]] internal method of\n // bestFormat with argument \"pattern\".\n pattern = bestFormat.pattern;\n\n // 34. Set the [[pattern]] internal property of dateTimeFormat to pattern.\n internal['[[pattern]]'] = pattern;\n\n // 35. Set the [[boundFormat]] internal property of dateTimeFormat to undefined.\n internal['[[boundFormat]]'] = undefined;\n\n // 36. Set the [[initializedDateTimeFormat]] internal property of dateTimeFormat to\n // true.\n internal['[[initializedDateTimeFormat]]'] = true;\n\n // In ES3, we need to pre-bind the format() function\n if (es3) dateTimeFormat.format = GetFormatDateTime.call(dateTimeFormat);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // Return the newly initialised object\n return dateTimeFormat;\n}\n\n/**\n * Several DateTimeFormat algorithms use values from the following table, which provides\n * property names and allowable values for the components of date and time formats:\n */\nvar dateTimeComponents = {\n weekday: [\"narrow\", \"short\", \"long\"],\n era: [\"narrow\", \"short\", \"long\"],\n year: [\"2-digit\", \"numeric\"],\n month: [\"2-digit\", \"numeric\", \"narrow\", \"short\", \"long\"],\n day: [\"2-digit\", \"numeric\"],\n hour: [\"2-digit\", \"numeric\"],\n minute: [\"2-digit\", \"numeric\"],\n second: [\"2-digit\", \"numeric\"],\n timeZoneName: [\"short\", \"long\"]\n};\n\n/**\n * When the ToDateTimeOptions abstract operation is called with arguments options,\n * required, and defaults, the following steps are taken:\n */\nfunction ToDateTimeFormats(formats) {\n if (Object.prototype.toString.call(formats) === '[object Array]') {\n return formats;\n }\n return createDateTimeFormats(formats);\n}\n\n/**\n * When the ToDateTimeOptions abstract operation is called with arguments options,\n * required, and defaults, the following steps are taken:\n */\nfunction ToDateTimeOptions(options, required, defaults) {\n // 1. If options is undefined, then let options be null, else let options be\n // ToObject(options).\n if (options === undefined) options = null;else {\n // (#12) options needs to be a Record, but it also needs to inherit properties\n var opt2 = toObject(options);\n options = new Record();\n\n for (var k in opt2) {\n options[k] = opt2[k];\n }\n }\n\n // 2. Let create be the standard built-in function object defined in ES5, 15.2.3.5.\n var create = objCreate;\n\n // 3. Let options be the result of calling the [[Call]] internal method of create with\n // undefined as the this value and an argument list containing the single item\n // options.\n options = create(options);\n\n // 4. Let needDefaults be true.\n var needDefaults = true;\n\n // 5. If required is \"date\" or \"any\", then\n if (required === 'date' || required === 'any') {\n // a. For each of the property names \"weekday\", \"year\", \"month\", \"day\":\n // i. If the result of calling the [[Get]] internal method of options with the\n // property name is not undefined, then let needDefaults be false.\n if (options.weekday !== undefined || options.year !== undefined || options.month !== undefined || options.day !== undefined) needDefaults = false;\n }\n\n // 6. If required is \"time\" or \"any\", then\n if (required === 'time' || required === 'any') {\n // a. For each of the property names \"hour\", \"minute\", \"second\":\n // i. If the result of calling the [[Get]] internal method of options with the\n // property name is not undefined, then let needDefaults be false.\n if (options.hour !== undefined || options.minute !== undefined || options.second !== undefined) needDefaults = false;\n }\n\n // 7. If needDefaults is true and defaults is either \"date\" or \"all\", then\n if (needDefaults && (defaults === 'date' || defaults === 'all'))\n // a. For each of the property names \"year\", \"month\", \"day\":\n // i. Call the [[DefineOwnProperty]] internal method of options with the\n // property name, Property Descriptor {[[Value]]: \"numeric\", [[Writable]]:\n // true, [[Enumerable]]: true, [[Configurable]]: true}, and false.\n options.year = options.month = options.day = 'numeric';\n\n // 8. If needDefaults is true and defaults is either \"time\" or \"all\", then\n if (needDefaults && (defaults === 'time' || defaults === 'all'))\n // a. For each of the property names \"hour\", \"minute\", \"second\":\n // i. Call the [[DefineOwnProperty]] internal method of options with the\n // property name, Property Descriptor {[[Value]]: \"numeric\", [[Writable]]:\n // true, [[Enumerable]]: true, [[Configurable]]: true}, and false.\n options.hour = options.minute = options.second = 'numeric';\n\n // 9. Return options.\n return options;\n}\n\n/**\n * When the BasicFormatMatcher abstract operation is called with two arguments options and\n * formats, the following steps are taken:\n */\nfunction BasicFormatMatcher(options, formats) {\n // 1. Let removalPenalty be 120.\n var removalPenalty = 120;\n\n // 2. Let additionPenalty be 20.\n var additionPenalty = 20;\n\n // 3. Let longLessPenalty be 8.\n var longLessPenalty = 8;\n\n // 4. Let longMorePenalty be 6.\n var longMorePenalty = 6;\n\n // 5. Let shortLessPenalty be 6.\n var shortLessPenalty = 6;\n\n // 6. Let shortMorePenalty be 3.\n var shortMorePenalty = 3;\n\n // 7. Let bestScore be -Infinity.\n var bestScore = -Infinity;\n\n // 8. Let bestFormat be undefined.\n var bestFormat = void 0;\n\n // 9. Let i be 0.\n var i = 0;\n\n // 10. Assert: formats is an Array object.\n\n // 11. Let len be the result of calling the [[Get]] internal method of formats with argument \"length\".\n var len = formats.length;\n\n // 12. Repeat while i < len:\n while (i < len) {\n // a. Let format be the result of calling the [[Get]] internal method of formats with argument ToString(i).\n var format = formats[i];\n\n // b. Let score be 0.\n var score = 0;\n\n // c. For each property shown in Table 3:\n for (var property in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, property)) continue;\n\n // i. Let optionsProp be options.[[<property>]].\n var optionsProp = options['[[' + property + ']]'];\n\n // ii. Let formatPropDesc be the result of calling the [[GetOwnProperty]] internal method of format\n // with argument property.\n // iii. If formatPropDesc is not undefined, then\n // 1. Let formatProp be the result of calling the [[Get]] internal method of format with argument property.\n var formatProp = hop.call(format, property) ? format[property] : undefined;\n\n // iv. If optionsProp is undefined and formatProp is not undefined, then decrease score by\n // additionPenalty.\n if (optionsProp === undefined && formatProp !== undefined) score -= additionPenalty;\n\n // v. Else if optionsProp is not undefined and formatProp is undefined, then decrease score by\n // removalPenalty.\n else if (optionsProp !== undefined && formatProp === undefined) score -= removalPenalty;\n\n // vi. Else\n else {\n // 1. Let values be the array [\"2-digit\", \"numeric\", \"narrow\", \"short\",\n // \"long\"].\n var values = ['2-digit', 'numeric', 'narrow', 'short', 'long'];\n\n // 2. Let optionsPropIndex be the index of optionsProp within values.\n var optionsPropIndex = arrIndexOf.call(values, optionsProp);\n\n // 3. Let formatPropIndex be the index of formatProp within values.\n var formatPropIndex = arrIndexOf.call(values, formatProp);\n\n // 4. Let delta be max(min(formatPropIndex - optionsPropIndex, 2), -2).\n var delta = Math.max(Math.min(formatPropIndex - optionsPropIndex, 2), -2);\n\n // 5. If delta = 2, decrease score by longMorePenalty.\n if (delta === 2) score -= longMorePenalty;\n\n // 6. Else if delta = 1, decrease score by shortMorePenalty.\n else if (delta === 1) score -= shortMorePenalty;\n\n // 7. Else if delta = -1, decrease score by shortLessPenalty.\n else if (delta === -1) score -= shortLessPenalty;\n\n // 8. Else if delta = -2, decrease score by longLessPenalty.\n else if (delta === -2) score -= longLessPenalty;\n }\n }\n\n // d. If score > bestScore, then\n if (score > bestScore) {\n // i. Let bestScore be score.\n bestScore = score;\n\n // ii. Let bestFormat be format.\n bestFormat = format;\n }\n\n // e. Increase i by 1.\n i++;\n }\n\n // 13. Return bestFormat.\n return bestFormat;\n}\n\n/**\n * When the BestFitFormatMatcher abstract operation is called with two arguments options\n * and formats, it performs implementation dependent steps, which should return a set of\n * component representations that a typical user of the selected locale would perceive as\n * at least as good as the one returned by BasicFormatMatcher.\n *\n * This polyfill defines the algorithm to be the same as BasicFormatMatcher,\n * with the addition of bonus points awarded where the requested format is of\n * the same data type as the potentially matching format.\n *\n * This algo relies on the concept of closest distance matching described here:\n * http://unicode.org/reports/tr35/tr35-dates.html#Matching_Skeletons\n * Typically a “best match” is found using a closest distance match, such as:\n *\n * Symbols requesting a best choice for the locale are replaced.\n * j → one of {H, k, h, K}; C → one of {a, b, B}\n * -> Covered by cldr.js matching process\n *\n * For fields with symbols representing the same type (year, month, day, etc):\n * Most symbols have a small distance from each other.\n * M ≅ L; E ≅ c; a ≅ b ≅ B; H ≅ k ≅ h ≅ K; ...\n * -> Covered by cldr.js matching process\n *\n * Width differences among fields, other than those marking text vs numeric, are given small distance from each other.\n * MMM ≅ MMMM\n * MM ≅ M\n * Numeric and text fields are given a larger distance from each other.\n * MMM ≈ MM\n * Symbols representing substantial differences (week of year vs week of month) are given much larger a distances from each other.\n * d ≋ D; ...\n * Missing or extra fields cause a match to fail. (But see Missing Skeleton Fields).\n *\n *\n * For example,\n *\n * { month: 'numeric', day: 'numeric' }\n *\n * should match\n *\n * { month: '2-digit', day: '2-digit' }\n *\n * rather than\n *\n * { month: 'short', day: 'numeric' }\n *\n * This makes sense because a user requesting a formatted date with numeric parts would\n * not expect to see the returned format containing narrow, short or long part names\n */\nfunction BestFitFormatMatcher(options, formats) {\n /** Diverging: this block implements the hack for single property configuration, eg.:\n *\n * `new Intl.DateTimeFormat('en', {day: 'numeric'})`\n *\n * should produce a single digit with the day of the month. This is needed because\n * CLDR `availableFormats` data structure doesn't cover these cases.\n */\n {\n var optionsPropNames = [];\n for (var property in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, property)) continue;\n\n if (options['[[' + property + ']]'] !== undefined) {\n optionsPropNames.push(property);\n }\n }\n if (optionsPropNames.length === 1) {\n var _bestFormat = generateSyntheticFormat(optionsPropNames[0], options['[[' + optionsPropNames[0] + ']]']);\n if (_bestFormat) {\n return _bestFormat;\n }\n }\n }\n\n // 1. Let removalPenalty be 120.\n var removalPenalty = 120;\n\n // 2. Let additionPenalty be 20.\n var additionPenalty = 20;\n\n // 3. Let longLessPenalty be 8.\n var longLessPenalty = 8;\n\n // 4. Let longMorePenalty be 6.\n var longMorePenalty = 6;\n\n // 5. Let shortLessPenalty be 6.\n var shortLessPenalty = 6;\n\n // 6. Let shortMorePenalty be 3.\n var shortMorePenalty = 3;\n\n var patternPenalty = 2;\n\n var hour12Penalty = 1;\n\n // 7. Let bestScore be -Infinity.\n var bestScore = -Infinity;\n\n // 8. Let bestFormat be undefined.\n var bestFormat = void 0;\n\n // 9. Let i be 0.\n var i = 0;\n\n // 10. Assert: formats is an Array object.\n\n // 11. Let len be the result of calling the [[Get]] internal method of formats with argument \"length\".\n var len = formats.length;\n\n // 12. Repeat while i < len:\n while (i < len) {\n // a. Let format be the result of calling the [[Get]] internal method of formats with argument ToString(i).\n var format = formats[i];\n\n // b. Let score be 0.\n var score = 0;\n\n // c. For each property shown in Table 3:\n for (var _property in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, _property)) continue;\n\n // i. Let optionsProp be options.[[<property>]].\n var optionsProp = options['[[' + _property + ']]'];\n\n // ii. Let formatPropDesc be the result of calling the [[GetOwnProperty]] internal method of format\n // with argument property.\n // iii. If formatPropDesc is not undefined, then\n // 1. Let formatProp be the result of calling the [[Get]] internal method of format with argument property.\n var formatProp = hop.call(format, _property) ? format[_property] : undefined;\n\n // Diverging: using the default properties produced by the pattern/skeleton\n // to match it with user options, and apply a penalty\n var patternProp = hop.call(format._, _property) ? format._[_property] : undefined;\n if (optionsProp !== patternProp) {\n score -= patternPenalty;\n }\n\n // iv. If optionsProp is undefined and formatProp is not undefined, then decrease score by\n // additionPenalty.\n if (optionsProp === undefined && formatProp !== undefined) score -= additionPenalty;\n\n // v. Else if optionsProp is not undefined and formatProp is undefined, then decrease score by\n // removalPenalty.\n else if (optionsProp !== undefined && formatProp === undefined) score -= removalPenalty;\n\n // vi. Else\n else {\n // 1. Let values be the array [\"2-digit\", \"numeric\", \"narrow\", \"short\",\n // \"long\"].\n var values = ['2-digit', 'numeric', 'narrow', 'short', 'long'];\n\n // 2. Let optionsPropIndex be the index of optionsProp within values.\n var optionsPropIndex = arrIndexOf.call(values, optionsProp);\n\n // 3. Let formatPropIndex be the index of formatProp within values.\n var formatPropIndex = arrIndexOf.call(values, formatProp);\n\n // 4. Let delta be max(min(formatPropIndex - optionsPropIndex, 2), -2).\n var delta = Math.max(Math.min(formatPropIndex - optionsPropIndex, 2), -2);\n\n {\n // diverging from spec\n // When the bestFit argument is true, subtract additional penalty where data types are not the same\n if (formatPropIndex <= 1 && optionsPropIndex >= 2 || formatPropIndex >= 2 && optionsPropIndex <= 1) {\n // 5. If delta = 2, decrease score by longMorePenalty.\n if (delta > 0) score -= longMorePenalty;else if (delta < 0) score -= longLessPenalty;\n } else {\n // 5. If delta = 2, decrease score by longMorePenalty.\n if (delta > 1) score -= shortMorePenalty;else if (delta < -1) score -= shortLessPenalty;\n }\n }\n }\n }\n\n {\n // diverging to also take into consideration differences between 12 or 24 hours\n // which is special for the best fit only.\n if (format._.hour12 !== options.hour12) {\n score -= hour12Penalty;\n }\n }\n\n // d. If score > bestScore, then\n if (score > bestScore) {\n // i. Let bestScore be score.\n bestScore = score;\n // ii. Let bestFormat be format.\n bestFormat = format;\n }\n\n // e. Increase i by 1.\n i++;\n }\n\n // 13. Return bestFormat.\n return bestFormat;\n}\n\n/* 12.2.3 */internals.DateTimeFormat = {\n '[[availableLocales]]': [],\n '[[relevantExtensionKeys]]': ['ca', 'nu'],\n '[[localeData]]': {}\n};\n\n/**\n * When the supportedLocalesOf method of Intl.DateTimeFormat is called, the\n * following steps are taken:\n */\n/* 12.2.2 */\ndefineProperty(Intl.DateTimeFormat, 'supportedLocalesOf', {\n configurable: true,\n writable: true,\n value: fnBind.call(function (locales) {\n // Bound functions only have the `this` value altered if being used as a constructor,\n // this lets us imitate a native function that has no constructor\n if (!hop.call(this, '[[availableLocales]]')) throw new TypeError('supportedLocalesOf() is not a constructor');\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore(),\n\n\n // 1. If options is not provided, then let options be undefined.\n options = arguments[1],\n\n\n // 2. Let availableLocales be the value of the [[availableLocales]] internal\n // property of the standard built-in object that is the initial value of\n // Intl.NumberFormat.\n\n availableLocales = this['[[availableLocales]]'],\n\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n requestedLocales = CanonicalizeLocaleList(locales);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // 4. Return the result of calling the SupportedLocales abstract operation\n // (defined in 9.2.8) with arguments availableLocales, requestedLocales,\n // and options.\n return SupportedLocales(availableLocales, requestedLocales, options);\n }, internals.NumberFormat)\n});\n\n/**\n * This named accessor property returns a function that formats a number\n * according to the effective locale and the formatting options of this\n * DateTimeFormat object.\n */\n/* 12.3.2 */defineProperty(Intl.DateTimeFormat.prototype, 'format', {\n configurable: true,\n get: GetFormatDateTime\n});\n\nfunction GetFormatDateTime() {\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 12.3_b\n if (!internal || !internal['[[initializedDateTimeFormat]]']) throw new TypeError('`this` value for format() is not an initialized Intl.DateTimeFormat object.');\n\n // The value of the [[Get]] attribute is a function that takes the following\n // steps:\n\n // 1. If the [[boundFormat]] internal property of this DateTimeFormat object\n // is undefined, then:\n if (internal['[[boundFormat]]'] === undefined) {\n // a. Let F be a Function object, with internal properties set as\n // specified for built-in functions in ES5, 15, or successor, and the\n // length property set to 0, that takes the argument date and\n // performs the following steps:\n var F = function F() {\n var date = arguments.length <= 0 || arguments[0] === undefined ? undefined : arguments[0];\n\n // i. If date is not provided or is undefined, then let x be the\n // result as if by the expression Date.now() where Date.now is\n // the standard built-in function defined in ES5, 15.9.4.4.\n // ii. Else let x be ToNumber(date).\n // iii. Return the result of calling the FormatDateTime abstract\n // operation (defined below) with arguments this and x.\n var x = date === undefined ? Date.now() : toNumber(date);\n return FormatDateTime(this, x);\n };\n // b. Let bind be the standard built-in function object defined in ES5,\n // 15.3.4.5.\n // c. Let bf be the result of calling the [[Call]] internal method of\n // bind with F as the this value and an argument list containing\n // the single item this.\n var bf = fnBind.call(F, this);\n // d. Set the [[boundFormat]] internal property of this NumberFormat\n // object to bf.\n internal['[[boundFormat]]'] = bf;\n }\n // Return the value of the [[boundFormat]] internal property of this\n // NumberFormat object.\n return internal['[[boundFormat]]'];\n}\n\nfunction formatToParts$1() {\n var date = arguments.length <= 0 || arguments[0] === undefined ? undefined : arguments[0];\n\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n if (!internal || !internal['[[initializedDateTimeFormat]]']) throw new TypeError('`this` value for formatToParts() is not an initialized Intl.DateTimeFormat object.');\n\n var x = date === undefined ? Date.now() : toNumber(date);\n return FormatToPartsDateTime(this, x);\n}\n\nObject.defineProperty(Intl.DateTimeFormat.prototype, 'formatToParts', {\n enumerable: false,\n writable: true,\n configurable: true,\n value: formatToParts$1\n});\n\nfunction CreateDateTimeParts(dateTimeFormat, x) {\n // 1. If x is not a finite Number, then throw a RangeError exception.\n if (!isFinite(x)) throw new RangeError('Invalid valid date passed to format');\n\n var internal = dateTimeFormat.__getInternalProperties(secret);\n\n // Creating restore point for properties on the RegExp object... please wait\n /* let regexpRestore = */createRegExpRestore(); // ###TODO: review this\n\n // 2. Let locale be the value of the [[locale]] internal property of dateTimeFormat.\n var locale = internal['[[locale]]'];\n\n // 3. Let nf be the result of creating a new NumberFormat object as if by the\n // expression new Intl.NumberFormat([locale], {useGrouping: false}) where\n // Intl.NumberFormat is the standard built-in constructor defined in 11.1.3.\n var nf = new Intl.NumberFormat([locale], { useGrouping: false });\n\n // 4. Let nf2 be the result of creating a new NumberFormat object as if by the\n // expression new Intl.NumberFormat([locale], {minimumIntegerDigits: 2, useGrouping:\n // false}) where Intl.NumberFormat is the standard built-in constructor defined in\n // 11.1.3.\n var nf2 = new Intl.NumberFormat([locale], { minimumIntegerDigits: 2, useGrouping: false });\n\n // 5. Let tm be the result of calling the ToLocalTime abstract operation (defined\n // below) with x, the value of the [[calendar]] internal property of dateTimeFormat,\n // and the value of the [[timeZone]] internal property of dateTimeFormat.\n var tm = ToLocalTime(x, internal['[[calendar]]'], internal['[[timeZone]]']);\n\n // 6. Let result be the value of the [[pattern]] internal property of dateTimeFormat.\n var pattern = internal['[[pattern]]'];\n\n // 7.\n var result = new List();\n\n // 8.\n var index = 0;\n\n // 9.\n var beginIndex = pattern.indexOf('{');\n\n // 10.\n var endIndex = 0;\n\n // Need the locale minus any extensions\n var dataLocale = internal['[[dataLocale]]'];\n\n // Need the calendar data from CLDR\n var localeData = internals.DateTimeFormat['[[localeData]]'][dataLocale].calendars;\n var ca = internal['[[calendar]]'];\n\n // 11.\n while (beginIndex !== -1) {\n var fv = void 0;\n // a.\n endIndex = pattern.indexOf('}', beginIndex);\n // b.\n if (endIndex === -1) {\n throw new Error('Unclosed pattern');\n }\n // c.\n if (beginIndex > index) {\n arrPush.call(result, {\n type: 'literal',\n value: pattern.substring(index, beginIndex)\n });\n }\n // d.\n var p = pattern.substring(beginIndex + 1, endIndex);\n // e.\n if (dateTimeComponents.hasOwnProperty(p)) {\n // i. Let f be the value of the [[<p>]] internal property of dateTimeFormat.\n var f = internal['[[' + p + ']]'];\n // ii. Let v be the value of tm.[[<p>]].\n var v = tm['[[' + p + ']]'];\n // iii. If p is \"year\" and v ≤ 0, then let v be 1 - v.\n if (p === 'year' && v <= 0) {\n v = 1 - v;\n }\n // iv. If p is \"month\", then increase v by 1.\n else if (p === 'month') {\n v++;\n }\n // v. If p is \"hour\" and the value of the [[hour12]] internal property of\n // dateTimeFormat is true, then\n else if (p === 'hour' && internal['[[hour12]]'] === true) {\n // 1. Let v be v modulo 12.\n v = v % 12;\n // 2. If v is 0 and the value of the [[hourNo0]] internal property of\n // dateTimeFormat is true, then let v be 12.\n if (v === 0 && internal['[[hourNo0]]'] === true) {\n v = 12;\n }\n }\n\n // vi. If f is \"numeric\", then\n if (f === 'numeric') {\n // 1. Let fv be the result of calling the FormatNumber abstract operation\n // (defined in 11.3.2) with arguments nf and v.\n fv = FormatNumber(nf, v);\n }\n // vii. Else if f is \"2-digit\", then\n else if (f === '2-digit') {\n // 1. Let fv be the result of calling the FormatNumber abstract operation\n // with arguments nf2 and v.\n fv = FormatNumber(nf2, v);\n // 2. If the length of fv is greater than 2, let fv be the substring of fv\n // containing the last two characters.\n if (fv.length > 2) {\n fv = fv.slice(-2);\n }\n }\n // viii. Else if f is \"narrow\", \"short\", or \"long\", then let fv be a String\n // value representing f in the desired form; the String value depends upon\n // the implementation and the effective locale and calendar of\n // dateTimeFormat. If p is \"month\", then the String value may also depend\n // on whether dateTimeFormat has a [[day]] internal property. If p is\n // \"timeZoneName\", then the String value may also depend on the value of\n // the [[inDST]] field of tm.\n else if (f in dateWidths) {\n switch (p) {\n case 'month':\n fv = resolveDateString(localeData, ca, 'months', f, tm['[[' + p + ']]']);\n break;\n\n case 'weekday':\n try {\n fv = resolveDateString(localeData, ca, 'days', f, tm['[[' + p + ']]']);\n // fv = resolveDateString(ca.days, f)[tm['[['+ p +']]']];\n } catch (e) {\n throw new Error('Could not find weekday data for locale ' + locale);\n }\n break;\n\n case 'timeZoneName':\n fv = ''; // ###TODO\n break;\n\n case 'era':\n try {\n fv = resolveDateString(localeData, ca, 'eras', f, tm['[[' + p + ']]']);\n } catch (e) {\n throw new Error('Could not find era data for locale ' + locale);\n }\n break;\n\n default:\n fv = tm['[[' + p + ']]'];\n }\n }\n // ix\n arrPush.call(result, {\n type: p,\n value: fv\n });\n // f.\n } else if (p === 'ampm') {\n // i.\n var _v = tm['[[hour]]'];\n // ii./iii.\n fv = resolveDateString(localeData, ca, 'dayPeriods', _v > 11 ? 'pm' : 'am', null);\n // iv.\n arrPush.call(result, {\n type: 'dayPeriod',\n value: fv\n });\n // g.\n } else {\n arrPush.call(result, {\n type: 'literal',\n value: pattern.substring(beginIndex, endIndex + 1)\n });\n }\n // h.\n index = endIndex + 1;\n // i.\n beginIndex = pattern.indexOf('{', index);\n }\n // 12.\n if (endIndex < pattern.length - 1) {\n arrPush.call(result, {\n type: 'literal',\n value: pattern.substr(endIndex + 1)\n });\n }\n // 13.\n return result;\n}\n\n/**\n * When the FormatDateTime abstract operation is called with arguments dateTimeFormat\n * (which must be an object initialized as a DateTimeFormat) and x (which must be a Number\n * value), it returns a String value representing x (interpreted as a time value as\n * specified in ES5, 15.9.1.1) according to the effective locale and the formatting\n * options of dateTimeFormat.\n */\nfunction FormatDateTime(dateTimeFormat, x) {\n var parts = CreateDateTimeParts(dateTimeFormat, x);\n var result = '';\n\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n result += part.value;\n }\n return result;\n}\n\nfunction FormatToPartsDateTime(dateTimeFormat, x) {\n var parts = CreateDateTimeParts(dateTimeFormat, x);\n var result = [];\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n result.push({\n type: part.type,\n value: part.value\n });\n }\n return result;\n}\n\n/**\n * When the ToLocalTime abstract operation is called with arguments date, calendar, and\n * timeZone, the following steps are taken:\n */\nfunction ToLocalTime(date, calendar, timeZone) {\n // 1. Apply calendrical calculations on date for the given calendar and time zone to\n // produce weekday, era, year, month, day, hour, minute, second, and inDST values.\n // The calculations should use best available information about the specified\n // calendar and time zone. If the calendar is \"gregory\", then the calculations must\n // match the algorithms specified in ES5, 15.9.1, except that calculations are not\n // bound by the restrictions on the use of best available information on time zones\n // for local time zone adjustment and daylight saving time adjustment imposed by\n // ES5, 15.9.1.7 and 15.9.1.8.\n // ###TODO###\n var d = new Date(date),\n m = 'get' + (timeZone || '');\n\n // 2. Return a Record with fields [[weekday]], [[era]], [[year]], [[month]], [[day]],\n // [[hour]], [[minute]], [[second]], and [[inDST]], each with the corresponding\n // calculated value.\n return new Record({\n '[[weekday]]': d[m + 'Day'](),\n '[[era]]': +(d[m + 'FullYear']() >= 0),\n '[[year]]': d[m + 'FullYear'](),\n '[[month]]': d[m + 'Month'](),\n '[[day]]': d[m + 'Date'](),\n '[[hour]]': d[m + 'Hours'](),\n '[[minute]]': d[m + 'Minutes'](),\n '[[second]]': d[m + 'Seconds'](),\n '[[inDST]]': false // ###TODO###\n });\n}\n\n/**\n * The function returns a new object whose properties and attributes are set as if\n * constructed by an object literal assigning to each of the following properties the\n * value of the corresponding internal property of this DateTimeFormat object (see 12.4):\n * locale, calendar, numberingSystem, timeZone, hour12, weekday, era, year, month, day,\n * hour, minute, second, and timeZoneName. Properties whose corresponding internal\n * properties are not present are not assigned.\n */\n/* 12.3.3 */defineProperty(Intl.DateTimeFormat.prototype, 'resolvedOptions', {\n writable: true,\n configurable: true,\n value: function value() {\n var prop = void 0,\n descs = new Record(),\n props = ['locale', 'calendar', 'numberingSystem', 'timeZone', 'hour12', 'weekday', 'era', 'year', 'month', 'day', 'hour', 'minute', 'second', 'timeZoneName'],\n internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 12.3_b\n if (!internal || !internal['[[initializedDateTimeFormat]]']) throw new TypeError('`this` value for resolvedOptions() is not an initialized Intl.DateTimeFormat object.');\n\n for (var i = 0, max = props.length; i < max; i++) {\n if (hop.call(internal, prop = '[[' + props[i] + ']]')) descs[props[i]] = { value: internal[prop], writable: true, configurable: true, enumerable: true };\n }\n\n return objCreate({}, descs);\n }\n});\n\nvar ls = Intl.__localeSensitiveProtos = {\n Number: {},\n Date: {}\n};\n\n/**\n * When the toLocaleString method is called with optional arguments locales and options,\n * the following steps are taken:\n */\n/* 13.2.1 */ls.Number.toLocaleString = function () {\n // Satisfy test 13.2.1_1\n if (Object.prototype.toString.call(this) !== '[object Number]') throw new TypeError('`this` value must be a number for Number.prototype.toLocaleString()');\n\n // 1. Let x be this Number value (as defined in ES5, 15.7.4).\n // 2. If locales is not provided, then let locales be undefined.\n // 3. If options is not provided, then let options be undefined.\n // 4. Let numberFormat be the result of creating a new object as if by the\n // expression new Intl.NumberFormat(locales, options) where\n // Intl.NumberFormat is the standard built-in constructor defined in 11.1.3.\n // 5. Return the result of calling the FormatNumber abstract operation\n // (defined in 11.3.2) with arguments numberFormat and x.\n return FormatNumber(new NumberFormatConstructor(arguments[0], arguments[1]), this);\n};\n\n/**\n * When the toLocaleString method is called with optional arguments locales and options,\n * the following steps are taken:\n */\n/* 13.3.1 */ls.Date.toLocaleString = function () {\n // Satisfy test 13.3.0_1\n if (Object.prototype.toString.call(this) !== '[object Date]') throw new TypeError('`this` value must be a Date instance for Date.prototype.toLocaleString()');\n\n // 1. Let x be this time value (as defined in ES5, 15.9.5).\n var x = +this;\n\n // 2. If x is NaN, then return \"Invalid Date\".\n if (isNaN(x)) return 'Invalid Date';\n\n // 3. If locales is not provided, then let locales be undefined.\n var locales = arguments[0];\n\n // 4. If options is not provided, then let options be undefined.\n var options = arguments[1];\n\n // 5. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined in 12.1.1) with arguments options, \"any\", and \"all\".\n options = ToDateTimeOptions(options, 'any', 'all');\n\n // 6. Let dateTimeFormat be the result of creating a new object as if by the\n // expression new Intl.DateTimeFormat(locales, options) where\n // Intl.DateTimeFormat is the standard built-in constructor defined in 12.1.3.\n var dateTimeFormat = new DateTimeFormatConstructor(locales, options);\n\n // 7. Return the result of calling the FormatDateTime abstract operation (defined\n // in 12.3.2) with arguments dateTimeFormat and x.\n return FormatDateTime(dateTimeFormat, x);\n};\n\n/**\n * When the toLocaleDateString method is called with optional arguments locales and\n * options, the following steps are taken:\n */\n/* 13.3.2 */ls.Date.toLocaleDateString = function () {\n // Satisfy test 13.3.0_1\n if (Object.prototype.toString.call(this) !== '[object Date]') throw new TypeError('`this` value must be a Date instance for Date.prototype.toLocaleDateString()');\n\n // 1. Let x be this time value (as defined in ES5, 15.9.5).\n var x = +this;\n\n // 2. If x is NaN, then return \"Invalid Date\".\n if (isNaN(x)) return 'Invalid Date';\n\n // 3. If locales is not provided, then let locales be undefined.\n var locales = arguments[0],\n\n\n // 4. If options is not provided, then let options be undefined.\n options = arguments[1];\n\n // 5. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined in 12.1.1) with arguments options, \"date\", and \"date\".\n options = ToDateTimeOptions(options, 'date', 'date');\n\n // 6. Let dateTimeFormat be the result of creating a new object as if by the\n // expression new Intl.DateTimeFormat(locales, options) where\n // Intl.DateTimeFormat is the standard built-in constructor defined in 12.1.3.\n var dateTimeFormat = new DateTimeFormatConstructor(locales, options);\n\n // 7. Return the result of calling the FormatDateTime abstract operation (defined\n // in 12.3.2) with arguments dateTimeFormat and x.\n return FormatDateTime(dateTimeFormat, x);\n};\n\n/**\n * When the toLocaleTimeString method is called with optional arguments locales and\n * options, the following steps are taken:\n */\n/* 13.3.3 */ls.Date.toLocaleTimeString = function () {\n // Satisfy test 13.3.0_1\n if (Object.prototype.toString.call(this) !== '[object Date]') throw new TypeError('`this` value must be a Date instance for Date.prototype.toLocaleTimeString()');\n\n // 1. Let x be this time value (as defined in ES5, 15.9.5).\n var x = +this;\n\n // 2. If x is NaN, then return \"Invalid Date\".\n if (isNaN(x)) return 'Invalid Date';\n\n // 3. If locales is not provided, then let locales be undefined.\n var locales = arguments[0];\n\n // 4. If options is not provided, then let options be undefined.\n var options = arguments[1];\n\n // 5. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined in 12.1.1) with arguments options, \"time\", and \"time\".\n options = ToDateTimeOptions(options, 'time', 'time');\n\n // 6. Let dateTimeFormat be the result of creating a new object as if by the\n // expression new Intl.DateTimeFormat(locales, options) where\n // Intl.DateTimeFormat is the standard built-in constructor defined in 12.1.3.\n var dateTimeFormat = new DateTimeFormatConstructor(locales, options);\n\n // 7. Return the result of calling the FormatDateTime abstract operation (defined\n // in 12.3.2) with arguments dateTimeFormat and x.\n return FormatDateTime(dateTimeFormat, x);\n};\n\ndefineProperty(Intl, '__applyLocaleSensitivePrototypes', {\n writable: true,\n configurable: true,\n value: function value() {\n defineProperty(Number.prototype, 'toLocaleString', { writable: true, configurable: true, value: ls.Number.toLocaleString });\n // Need this here for IE 8, to avoid the _DontEnum_ bug\n defineProperty(Date.prototype, 'toLocaleString', { writable: true, configurable: true, value: ls.Date.toLocaleString });\n\n for (var k in ls.Date) {\n if (hop.call(ls.Date, k)) defineProperty(Date.prototype, k, { writable: true, configurable: true, value: ls.Date[k] });\n }\n }\n});\n\n/**\n * Can't really ship a single script with data for hundreds of locales, so we provide\n * this __addLocaleData method as a means for the developer to add the data on an\n * as-needed basis\n */\ndefineProperty(Intl, '__addLocaleData', {\n value: function value(data) {\n if (!IsStructurallyValidLanguageTag(data.locale)) throw new Error(\"Object passed doesn't identify itself with a valid language tag\");\n\n addLocaleData(data, data.locale);\n }\n});\n\nfunction addLocaleData(data, tag) {\n // Both NumberFormat and DateTimeFormat require number data, so throw if it isn't present\n if (!data.number) throw new Error(\"Object passed doesn't contain locale data for Intl.NumberFormat\");\n\n var locale = void 0,\n locales = [tag],\n parts = tag.split('-');\n\n // Create fallbacks for locale data with scripts, e.g. Latn, Hans, Vaii, etc\n if (parts.length > 2 && parts[1].length === 4) arrPush.call(locales, parts[0] + '-' + parts[2]);\n\n while (locale = arrShift.call(locales)) {\n // Add to NumberFormat internal properties as per 11.2.3\n arrPush.call(internals.NumberFormat['[[availableLocales]]'], locale);\n internals.NumberFormat['[[localeData]]'][locale] = data.number;\n\n // ...and DateTimeFormat internal properties as per 12.2.3\n if (data.date) {\n data.date.nu = data.number.nu;\n arrPush.call(internals.DateTimeFormat['[[availableLocales]]'], locale);\n internals.DateTimeFormat['[[localeData]]'][locale] = data.date;\n }\n }\n\n // If this is the first set of locale data added, make it the default\n if (defaultLocale === undefined) setDefaultLocale(tag);\n}\n\ndefineProperty(Intl, '__disableRegExpRestore', {\n value: function value() {\n internals.disableRegExpRestore = true;\n }\n});\n\nmodule.exports = Intl;","var map = {\n\t\"./af\": 161,\n\t\"./af.js\": 161,\n\t\"./ar\": 162,\n\t\"./ar-dz\": 163,\n\t\"./ar-dz.js\": 163,\n\t\"./ar-kw\": 164,\n\t\"./ar-kw.js\": 164,\n\t\"./ar-ly\": 165,\n\t\"./ar-ly.js\": 165,\n\t\"./ar-ma\": 166,\n\t\"./ar-ma.js\": 166,\n\t\"./ar-sa\": 167,\n\t\"./ar-sa.js\": 167,\n\t\"./ar-tn\": 168,\n\t\"./ar-tn.js\": 168,\n\t\"./ar.js\": 162,\n\t\"./az\": 169,\n\t\"./az.js\": 169,\n\t\"./be\": 170,\n\t\"./be.js\": 170,\n\t\"./bg\": 171,\n\t\"./bg.js\": 171,\n\t\"./bm\": 172,\n\t\"./bm.js\": 172,\n\t\"./bn\": 173,\n\t\"./bn.js\": 173,\n\t\"./bo\": 174,\n\t\"./bo.js\": 174,\n\t\"./br\": 175,\n\t\"./br.js\": 175,\n\t\"./bs\": 176,\n\t\"./bs.js\": 176,\n\t\"./ca\": 177,\n\t\"./ca.js\": 177,\n\t\"./cs\": 178,\n\t\"./cs.js\": 178,\n\t\"./cv\": 179,\n\t\"./cv.js\": 179,\n\t\"./cy\": 180,\n\t\"./cy.js\": 180,\n\t\"./da\": 181,\n\t\"./da.js\": 181,\n\t\"./de\": 182,\n\t\"./de-at\": 183,\n\t\"./de-at.js\": 183,\n\t\"./de-ch\": 184,\n\t\"./de-ch.js\": 184,\n\t\"./de.js\": 182,\n\t\"./dv\": 185,\n\t\"./dv.js\": 185,\n\t\"./el\": 186,\n\t\"./el.js\": 186,\n\t\"./en-au\": 187,\n\t\"./en-au.js\": 187,\n\t\"./en-ca\": 188,\n\t\"./en-ca.js\": 188,\n\t\"./en-gb\": 189,\n\t\"./en-gb.js\": 189,\n\t\"./en-ie\": 190,\n\t\"./en-ie.js\": 190,\n\t\"./en-il\": 191,\n\t\"./en-il.js\": 191,\n\t\"./en-nz\": 192,\n\t\"./en-nz.js\": 192,\n\t\"./eo\": 193,\n\t\"./eo.js\": 193,\n\t\"./es\": 194,\n\t\"./es-do\": 195,\n\t\"./es-do.js\": 195,\n\t\"./es-us\": 196,\n\t\"./es-us.js\": 196,\n\t\"./es.js\": 194,\n\t\"./et\": 197,\n\t\"./et.js\": 197,\n\t\"./eu\": 198,\n\t\"./eu.js\": 198,\n\t\"./fa\": 199,\n\t\"./fa.js\": 199,\n\t\"./fi\": 200,\n\t\"./fi.js\": 200,\n\t\"./fo\": 201,\n\t\"./fo.js\": 201,\n\t\"./fr\": 202,\n\t\"./fr-ca\": 203,\n\t\"./fr-ca.js\": 203,\n\t\"./fr-ch\": 204,\n\t\"./fr-ch.js\": 204,\n\t\"./fr.js\": 202,\n\t\"./fy\": 205,\n\t\"./fy.js\": 205,\n\t\"./gd\": 206,\n\t\"./gd.js\": 206,\n\t\"./gl\": 207,\n\t\"./gl.js\": 207,\n\t\"./gom-latn\": 208,\n\t\"./gom-latn.js\": 208,\n\t\"./gu\": 209,\n\t\"./gu.js\": 209,\n\t\"./he\": 210,\n\t\"./he.js\": 210,\n\t\"./hi\": 211,\n\t\"./hi.js\": 211,\n\t\"./hr\": 212,\n\t\"./hr.js\": 212,\n\t\"./hu\": 213,\n\t\"./hu.js\": 213,\n\t\"./hy-am\": 214,\n\t\"./hy-am.js\": 214,\n\t\"./id\": 215,\n\t\"./id.js\": 215,\n\t\"./is\": 216,\n\t\"./is.js\": 216,\n\t\"./it\": 217,\n\t\"./it.js\": 217,\n\t\"./ja\": 218,\n\t\"./ja.js\": 218,\n\t\"./jv\": 219,\n\t\"./jv.js\": 219,\n\t\"./ka\": 220,\n\t\"./ka.js\": 220,\n\t\"./kk\": 221,\n\t\"./kk.js\": 221,\n\t\"./km\": 222,\n\t\"./km.js\": 222,\n\t\"./kn\": 223,\n\t\"./kn.js\": 223,\n\t\"./ko\": 224,\n\t\"./ko.js\": 224,\n\t\"./ky\": 225,\n\t\"./ky.js\": 225,\n\t\"./lb\": 226,\n\t\"./lb.js\": 226,\n\t\"./lo\": 227,\n\t\"./lo.js\": 227,\n\t\"./lt\": 228,\n\t\"./lt.js\": 228,\n\t\"./lv\": 229,\n\t\"./lv.js\": 229,\n\t\"./me\": 230,\n\t\"./me.js\": 230,\n\t\"./mi\": 231,\n\t\"./mi.js\": 231,\n\t\"./mk\": 232,\n\t\"./mk.js\": 232,\n\t\"./ml\": 233,\n\t\"./ml.js\": 233,\n\t\"./mr\": 234,\n\t\"./mr.js\": 234,\n\t\"./ms\": 235,\n\t\"./ms-my\": 236,\n\t\"./ms-my.js\": 236,\n\t\"./ms.js\": 235,\n\t\"./mt\": 237,\n\t\"./mt.js\": 237,\n\t\"./my\": 238,\n\t\"./my.js\": 238,\n\t\"./nb\": 239,\n\t\"./nb.js\": 239,\n\t\"./ne\": 240,\n\t\"./ne.js\": 240,\n\t\"./nl\": 241,\n\t\"./nl-be\": 242,\n\t\"./nl-be.js\": 242,\n\t\"./nl.js\": 241,\n\t\"./nn\": 243,\n\t\"./nn.js\": 243,\n\t\"./pa-in\": 244,\n\t\"./pa-in.js\": 244,\n\t\"./pl\": 245,\n\t\"./pl.js\": 245,\n\t\"./pt\": 246,\n\t\"./pt-br\": 247,\n\t\"./pt-br.js\": 247,\n\t\"./pt.js\": 246,\n\t\"./ro\": 248,\n\t\"./ro.js\": 248,\n\t\"./ru\": 249,\n\t\"./ru.js\": 249,\n\t\"./sd\": 250,\n\t\"./sd.js\": 250,\n\t\"./se\": 251,\n\t\"./se.js\": 251,\n\t\"./si\": 252,\n\t\"./si.js\": 252,\n\t\"./sk\": 253,\n\t\"./sk.js\": 253,\n\t\"./sl\": 254,\n\t\"./sl.js\": 254,\n\t\"./sq\": 255,\n\t\"./sq.js\": 255,\n\t\"./sr\": 256,\n\t\"./sr-cyrl\": 257,\n\t\"./sr-cyrl.js\": 257,\n\t\"./sr.js\": 256,\n\t\"./ss\": 258,\n\t\"./ss.js\": 258,\n\t\"./sv\": 259,\n\t\"./sv.js\": 259,\n\t\"./sw\": 260,\n\t\"./sw.js\": 260,\n\t\"./ta\": 261,\n\t\"./ta.js\": 261,\n\t\"./te\": 262,\n\t\"./te.js\": 262,\n\t\"./tet\": 263,\n\t\"./tet.js\": 263,\n\t\"./tg\": 264,\n\t\"./tg.js\": 264,\n\t\"./th\": 265,\n\t\"./th.js\": 265,\n\t\"./tl-ph\": 266,\n\t\"./tl-ph.js\": 266,\n\t\"./tlh\": 267,\n\t\"./tlh.js\": 267,\n\t\"./tr\": 268,\n\t\"./tr.js\": 268,\n\t\"./tzl\": 269,\n\t\"./tzl.js\": 269,\n\t\"./tzm\": 270,\n\t\"./tzm-latn\": 271,\n\t\"./tzm-latn.js\": 271,\n\t\"./tzm.js\": 270,\n\t\"./ug-cn\": 272,\n\t\"./ug-cn.js\": 272,\n\t\"./uk\": 273,\n\t\"./uk.js\": 273,\n\t\"./ur\": 274,\n\t\"./ur.js\": 274,\n\t\"./uz\": 275,\n\t\"./uz-latn\": 276,\n\t\"./uz-latn.js\": 276,\n\t\"./uz.js\": 275,\n\t\"./vi\": 277,\n\t\"./vi.js\": 277,\n\t\"./x-pseudo\": 278,\n\t\"./x-pseudo.js\": 278,\n\t\"./yo\": 279,\n\t\"./yo.js\": 279,\n\t\"./zh-cn\": 280,\n\t\"./zh-cn.js\": 280,\n\t\"./zh-hk\": 281,\n\t\"./zh-hk.js\": 281,\n\t\"./zh-tw\": 282,\n\t\"./zh-tw.js\": 282\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 564;",";(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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar 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\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar symbolMap$1 = {\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\nmoment.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$1[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar symbolMap$2 = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n}, numberMap$1 = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n}, pluralForm$1 = 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$1 = {\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$1 = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm$1(number),\n str = plurals$1[u][pluralForm$1(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n}, months$1 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n];\n\nmoment.defineLocale('ar', {\n months : months$1,\n monthsShort : months$1,\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$1('s'),\n ss : pluralize$1('s'),\n m : pluralize$1('m'),\n mm : pluralize$1('m'),\n h : pluralize$1('h'),\n hh : pluralize$1('h'),\n d : pluralize$1('d'),\n dd : pluralize$1('d'),\n M : pluralize$1('M'),\n MM : pluralize$1('M'),\n y : pluralize$1('y'),\n yy : pluralize$1('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$1[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$2[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar 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\nmoment.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çə saniyyə',\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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nfunction 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}\nfunction 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\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar symbolMap$3 = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n},\nnumberMap$2 = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n};\n\nmoment.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$2[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$3[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar symbolMap$4 = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n},\nnumberMap$3 = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n};\n\nmoment.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$3[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$4[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nfunction 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}\nfunction 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}\nfunction lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n}\nfunction mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n}\nfunction 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\nmoment.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//! moment.js locale configuration\n\nfunction 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\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar months$2 = '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('_');\nfunction plural$1(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n}\nfunction translate$1(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$1(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$1(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$1(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$1(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$1(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$1(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n}\n\nmoment.defineLocale('cs', {\n months : months$2,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months$2, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months$2)),\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$1,\n ss : translate$1,\n m : translate$1,\n mm : translate$1,\n h : translate$1,\n hh : translate$1,\n d : translate$1,\n dd : translate$1,\n M : translate$1,\n MM : translate$1,\n y : translate$1,\n yy : translate$1\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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nfunction 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\nmoment.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//! moment.js locale configuration\n\nfunction processRelativeTime$1(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\nmoment.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$1,\n mm : '%d Minuten',\n h : processRelativeTime$1,\n hh : '%d Stunden',\n d : processRelativeTime$1,\n dd : processRelativeTime$1,\n M : processRelativeTime$1,\n MM : processRelativeTime$1,\n y : processRelativeTime$1,\n yy : processRelativeTime$1\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//! moment.js locale configuration\n\nfunction processRelativeTime$2(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\nmoment.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$2,\n mm : '%d Minuten',\n h : processRelativeTime$2,\n hh : '%d Stunden',\n d : processRelativeTime$2,\n dd : processRelativeTime$2,\n M : processRelativeTime$2,\n MM : processRelativeTime$2,\n y : processRelativeTime$2,\n yy : processRelativeTime$2\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//! moment.js locale configuration\n\nvar months$3 = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n];\n\nmoment.defineLocale('dv', {\n months : months$3,\n monthsShort : months$3,\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 1st is the first week of the year.\n }\n});\n\nfunction isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n}\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nvar 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];\nvar 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\nmoment.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$1[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//! moment.js locale configuration\n\nvar monthsShortDot$1 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nmoment.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$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$2[m.month()];\n } else {\n return monthsShortDot$1[m.month()];\n }\n },\n monthsParseExact : true,\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 : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\n LLLL : 'dddd, MMMM [de] D [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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar monthsShortDot$2 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nvar monthsParse$1 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\nvar monthsRegex$1 = /^(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\nmoment.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$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$3[m.month()];\n } else {\n return monthsShortDot$2[m.month()];\n }\n },\n monthsRegex : monthsRegex$1,\n monthsShortRegex : monthsRegex$1,\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$1,\n longMonthsParse : monthsParse$1,\n shortMonthsParse : monthsParse$1,\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//! moment.js locale configuration\n\nfunction processRelativeTime$3(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\nmoment.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$3,\n ss : processRelativeTime$3,\n m : processRelativeTime$3,\n mm : processRelativeTime$3,\n h : processRelativeTime$3,\n hh : processRelativeTime$3,\n d : processRelativeTime$3,\n dd : '%d päeva',\n M : processRelativeTime$3,\n MM : processRelativeTime$3,\n y : processRelativeTime$3,\n yy : processRelativeTime$3\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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar symbolMap$5 = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n}, numberMap$4 = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n};\n\nmoment.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$4[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$5[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar 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 ];\nfunction translate$2(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}\nfunction verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n}\n\nmoment.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$2,\n ss : translate$2,\n m : translate$2,\n mm : translate$2,\n h : translate$2,\n hh : translate$2,\n d : translate$2,\n dd : translate$2,\n M : translate$2,\n MM : translate$2,\n y : translate$2,\n yy : translate$2\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//! moment.js locale configuration\n\nmoment.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 minutt',\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ði',\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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar 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\nmoment.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//! moment.js locale configuration\n\nvar months$4 = [\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\nvar monthsShort$4 = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\nvar weekdays$1 = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\nvar weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\nvar weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\nmoment.defineLocale('gd', {\n months : months$4,\n monthsShort : monthsShort$4,\n monthsParseExact : true,\n weekdays : weekdays$1,\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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nfunction processRelativeTime$4(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 horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' hor'],\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\nmoment.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$4,\n ss : processRelativeTime$4,\n m : processRelativeTime$4,\n mm : processRelativeTime$4,\n h : processRelativeTime$4,\n hh : processRelativeTime$4,\n d : processRelativeTime$4,\n dd : processRelativeTime$4,\n M : processRelativeTime$4,\n MM : processRelativeTime$4,\n y : processRelativeTime$4,\n yy : processRelativeTime$4\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//! moment.js locale configuration\n\nvar symbolMap$6 = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap$5 = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\nmoment.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$5[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$6[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar symbolMap$7 = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n},\nnumberMap$6 = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nmoment.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$6[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$7[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nfunction translate$3(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\nmoment.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$3,\n m : translate$3,\n mm : translate$3,\n h : translate$3,\n hh : translate$3,\n d : 'dan',\n dd : translate$3,\n M : 'mjesec',\n MM : translate$3,\n y : 'godinu',\n yy : translate$3\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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\nfunction translate$4(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}\nfunction week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n}\n\nmoment.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$4,\n ss : translate$4,\n m : translate$4,\n mm : translate$4,\n h : translate$4,\n hh : translate$4,\n d : translate$4,\n dd : translate$4,\n M : translate$4,\n MM : translate$4,\n y : translate$4,\n yy : translate$4\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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nfunction plural$2(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n}\nfunction translate$5(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$2(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$2(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$2(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$2(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$2(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$2(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n}\n\nmoment.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$5,\n ss : translate$5,\n m : translate$5,\n mm : translate$5,\n h : 'klukkustund',\n hh : translate$5,\n d : translate$5,\n dd : translate$5,\n M : translate$5,\n MM : translate$5,\n y : translate$5,\n yy : translate$5\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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.defineLocale('ja', {\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 : '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日 HH:mm dddd',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日 HH:mm dddd'\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 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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar suffixes$1 = {\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\nmoment.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$1[number] || suffixes$1[a] || suffixes$1[b]);\n },\n week : {\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//! moment.js locale configuration\n\nmoment.defineLocale('km', {\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 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//! moment.js locale configuration\n\nvar symbolMap$8 = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n},\nnumberMap$7 = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n};\n\nmoment.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$7[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$8[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar suffixes$2 = {\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\nmoment.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$2[number] || suffixes$2[a] || suffixes$2[b]);\n },\n week : {\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//! moment.js locale configuration\n\nfunction processRelativeTime$5(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}\nfunction processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n}\nfunction 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 */\nfunction 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\nmoment.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$5,\n mm : '%d Minutten',\n h : processRelativeTime$5,\n hh : '%d Stonnen',\n d : processRelativeTime$5,\n dd : '%d Deeg',\n M : processRelativeTime$5,\n MM : '%d Méint',\n y : processRelativeTime$5,\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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar 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};\nfunction 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}\nfunction translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n}\nfunction special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n}\nfunction forms(key) {\n return units[key].split('_');\n}\nfunction translate$6(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}\nmoment.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$6,\n m : translateSingular,\n mm : translate$6,\n h : translateSingular,\n hh : translate$6,\n d : translateSingular,\n dd : translate$6,\n M : translateSingular,\n MM : translate$6,\n y : translateSingular,\n yy : translate$6\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//! moment.js locale configuration\n\nvar units$1 = {\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 */\nfunction 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}\nfunction relativeTimeWithPlural$1(number, withoutSuffix, key) {\n return number + ' ' + format(units$1[key], number, withoutSuffix);\n}\nfunction relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units$1[key], number, withoutSuffix);\n}\nfunction relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n}\n\nmoment.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$1,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural$1,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural$1,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural$1,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural$1,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural$1\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//! moment.js locale configuration\n\nvar 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\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar symbolMap$9 = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n},\nnumberMap$8 = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nfunction 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\nmoment.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$8[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$9[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar symbolMap$10 = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n}, numberMap$9 = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n};\n\nmoment.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$9[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$10[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar symbolMap$11 = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n},\nnumberMap$10 = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nmoment.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$10[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$11[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar monthsShortWithDots$1 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$1 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\nvar monthsParse$2 = [/^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];\nvar monthsRegex$2 = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nmoment.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$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$1[m.month()];\n } else {\n return monthsShortWithDots$1[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$2,\n monthsShortRegex: monthsRegex$2,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|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$2,\n longMonthsParse : monthsParse$2,\n shortMonthsParse : monthsParse$2,\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//! moment.js locale configuration\n\nvar monthsShortWithDots$2 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$2 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\nvar monthsParse$3 = [/^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];\nvar monthsRegex$3 = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nmoment.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$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$2[m.month()];\n } else {\n return monthsShortWithDots$2[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$3,\n monthsShortRegex: monthsRegex$3,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|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$3,\n longMonthsParse : monthsParse$3,\n shortMonthsParse : monthsParse$3,\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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar symbolMap$12 = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n},\nnumberMap$11 = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n};\n\nmoment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender 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$11[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$12[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar 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('_');\nfunction plural$3(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n}\nfunction translate$7(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural$3(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural$3(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural$3(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural$3(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural$3(number) ? 'lata' : 'lat');\n }\n}\n\nmoment.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$7,\n m : translate$7,\n mm : translate$7,\n h : translate$7,\n hh : translate$7,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate$7,\n y : 'rok',\n yy : translate$7\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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nfunction relativeTimeWithPlural$2(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\nmoment.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$2,\n m : 'un minut',\n mm : relativeTimeWithPlural$2,\n h : 'o oră',\n hh : relativeTimeWithPlural$2,\n d : 'o zi',\n dd : relativeTimeWithPlural$2,\n M : 'o lună',\n MM : relativeTimeWithPlural$2,\n y : 'un an',\n yy : relativeTimeWithPlural$2\n },\n week : {\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//! moment.js locale configuration\n\nfunction plural$4(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}\nfunction relativeTimeWithPlural$3(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$4(format[key], +number);\n }\n}\nvar monthsParse$4 = [/^янв/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\nmoment.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$4,\n longMonthsParse : monthsParse$4,\n shortMonthsParse : monthsParse$4,\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$3,\n m : relativeTimeWithPlural$3,\n mm : relativeTimeWithPlural$3,\n h : 'час',\n hh : relativeTimeWithPlural$3,\n d : 'день',\n dd : relativeTimeWithPlural$3,\n M : 'месяц',\n MM : relativeTimeWithPlural$3,\n y : 'год',\n yy : relativeTimeWithPlural$3\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//! moment.js locale configuration\n\nvar months$5 = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n];\nvar days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n];\n\nmoment.defineLocale('sd', {\n months : months$5,\n monthsShort : months$5,\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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\n/*jshint -W100*/\nmoment.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//! moment.js locale configuration\n\nvar months$6 = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort$5 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\nfunction plural$5(n) {\n return (n > 1) && (n < 5);\n}\nfunction translate$8(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$5(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$5(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$5(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$5(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$5(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$5(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n}\n\nmoment.defineLocale('sk', {\n months : months$6,\n monthsShort : monthsShort$5,\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$8,\n ss : translate$8,\n m : translate$8,\n mm : translate$8,\n h : translate$8,\n hh : translate$8,\n d : translate$8,\n dd : translate$8,\n M : translate$8,\n MM : translate$8,\n y : translate$8,\n yy : translate$8\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//! moment.js locale configuration\n\nfunction processRelativeTime$6(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 += withoutSuffix || isFuture ? 'sekund' : '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\nmoment.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$6,\n ss : processRelativeTime$6,\n m : processRelativeTime$6,\n mm : processRelativeTime$6,\n h : processRelativeTime$6,\n hh : processRelativeTime$6,\n d : processRelativeTime$6,\n dd : processRelativeTime$6,\n M : processRelativeTime$6,\n MM : processRelativeTime$6,\n y : processRelativeTime$6,\n yy : processRelativeTime$6\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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar translator$1 = {\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$1.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator$1.correctGrammaticalCase(number, wordKey);\n }\n }\n};\n\nmoment.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$1.translate,\n m : translator$1.translate,\n mm : translator$1.translate,\n h : translator$1.translate,\n hh : translator$1.translate,\n d : 'дан',\n dd : translator$1.translate,\n M : 'месец',\n MM : translator$1.translate,\n y : 'годину',\n yy : translator$1.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar translator$2 = {\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$2.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator$2.correctGrammaticalCase(number, wordKey);\n }\n }\n};\n\nmoment.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$2.translate,\n m : translator$2.translate,\n mm : translator$2.translate,\n h : translator$2.translate,\n hh : translator$2.translate,\n d : 'dan',\n dd : translator$2.translate,\n M : 'mesec',\n MM : translator$2.translate,\n y : 'godinu',\n yy : translator$2.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar symbolMap$13 = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n}, numberMap$12 = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n};\n\nmoment.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$12[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$13[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar suffixes$3 = {\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\nmoment.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$3[number] || suffixes$3[a] || suffixes$3[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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\nfunction 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\nfunction 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\nfunction translate$9(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\nfunction 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\nmoment.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$9,\n m : 'wa’ tup',\n mm : translate$9,\n h : 'wa’ rep',\n hh : translate$9,\n d : 'wa’ jaj',\n dd : translate$9,\n M : 'wa’ jar',\n MM : translate$9,\n y : 'wa’ DIS',\n yy : translate$9\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\nvar suffixes$4 = {\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\nmoment.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$4[a] || suffixes$4[b] || suffixes$4[c]);\n }\n },\n week : {\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//! moment.js locale configuration\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.\nmoment.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$7,\n ss : processRelativeTime$7,\n m : processRelativeTime$7,\n mm : processRelativeTime$7,\n h : processRelativeTime$7,\n hh : processRelativeTime$7,\n d : processRelativeTime$7,\n dd : processRelativeTime$7,\n M : processRelativeTime$7,\n MM : processRelativeTime$7,\n y : processRelativeTime$7,\n yy : processRelativeTime$7\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\nfunction processRelativeTime$7(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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js language configuration\n\nmoment.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//! moment.js locale configuration\n\nfunction plural$6(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}\nfunction relativeTimeWithPlural$4(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$6(format[key], +number);\n }\n}\nfunction weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\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}\nfunction processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n}\n\nmoment.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$4,\n m : relativeTimeWithPlural$4,\n mm : relativeTimeWithPlural$4,\n h : 'годину',\n hh : relativeTimeWithPlural$4,\n d : 'день',\n dd : relativeTimeWithPlural$4,\n M : 'місяць',\n MM : relativeTimeWithPlural$4,\n y : 'рік',\n yy : relativeTimeWithPlural$4\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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar months$7 = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n];\nvar days$1 = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n];\n\nmoment.defineLocale('ur', {\n months : months$7,\n monthsShort : months$7,\n weekdays : days$1,\n weekdaysShort : days$1,\n weekdaysMin : days$1,\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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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 : '[下]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\nmoment.locale('en');\n\nreturn moment;\n\n})));\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _I18n = require('./I18n');\n\nvar _I18n2 = _interopRequireDefault(_I18n);\n\nvar _Base = require('./Base');\n\nvar _Base2 = _interopRequireDefault(_Base);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Translate = function (_BaseComponent) {\n _inherits(Translate, _BaseComponent);\n\n function Translate() {\n _classCallCheck(this, Translate);\n\n return _possibleConstructorReturn(this, (Translate.__proto__ || Object.getPrototypeOf(Translate)).apply(this, arguments));\n }\n\n _createClass(Translate, [{\n key: 'otherProps',\n value: function otherProps() {\n var result = _extends({}, this.props);\n delete result.value;\n return result;\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n Tag = _props.tag,\n value = _props.value,\n dangerousHTML = _props.dangerousHTML,\n style = _props.style,\n className = _props.className;\n\n var translation = _I18n2.default._translate(value, this.otherProps());\n\n if (dangerousHTML) {\n return _react2.default.createElement(Tag, {\n style: style,\n className: className,\n dangerouslySetInnerHTML: { __html: translation }\n });\n }\n return _react2.default.createElement(\n Tag,\n { style: style, className: className },\n translation\n );\n }\n }]);\n\n return Translate;\n}(_Base2.default);\n\nTranslate.propTypes = {\n tag: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.string]),\n value: _propTypes2.default.string.isRequired,\n dangerousHTML: _propTypes2.default.bool,\n className: _propTypes2.default.string,\n style: _propTypes2.default.objectOf(_propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]))\n};\nTranslate.defaultProps = {\n tag: 'span'\n};\nexports.default = Translate;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _I18n = require('./I18n');\n\nvar _I18n2 = _interopRequireDefault(_I18n);\n\nvar _Base = require('./Base');\n\nvar _Base2 = _interopRequireDefault(_Base);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Localize = function (_BaseComponent) {\n _inherits(Localize, _BaseComponent);\n\n function Localize() {\n _classCallCheck(this, Localize);\n\n return _possibleConstructorReturn(this, (Localize.__proto__ || Object.getPrototypeOf(Localize)).apply(this, arguments));\n }\n\n _createClass(Localize, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n Tag = _props.tag,\n value = _props.value,\n dateFormat = _props.dateFormat,\n _props$options = _props.options,\n options = _props$options === undefined ? {} : _props$options,\n dangerousHTML = _props.dangerousHTML,\n style = _props.style,\n className = _props.className;\n\n var localization = _I18n2.default._localize(value, _extends({}, options, { dateFormat: dateFormat }));\n\n if (dangerousHTML) {\n return _react2.default.createElement(Tag, {\n style: style,\n className: className,\n dangerouslySetInnerHTML: { __html: localization }\n });\n }\n return _react2.default.createElement(\n Tag,\n { style: style, className: className },\n localization\n );\n }\n }]);\n\n return Localize;\n}(_Base2.default);\n\nLocalize.propTypes = {\n tag: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.string]),\n value: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number, _propTypes2.default.object]).isRequired,\n options: _propTypes2.default.object,\n dateFormat: _propTypes2.default.string,\n dangerousHTML: _propTypes2.default.bool,\n className: _propTypes2.default.string,\n style: _propTypes2.default.objectOf(_propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]))\n};\nLocalize.defaultProps = {\n tag: 'span'\n};\nexports.default = Localize;","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/broofa/node-uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","const assetUrl = (name: string): string => {\n const url = window.DecidimComments.assets[name];\n\n if (!url) {\n throw new Error(`Asset \"${name}\" can't be found on decidim comments manifest.`);\n }\n\n return url;\n};\n\nexport default assetUrl;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"addComment\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableType\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"body\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"alignment\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userGroupId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"commentable\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableType\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"addComment\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"body\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"body\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"alignment\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"alignment\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"userGroupId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userGroupId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentThread\"},\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":464}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/comment_thread.fragment.graphql\\\"\\n\\nmutation addComment($commentableId: String!, $commentableType: String!, $body: String!, $alignment: Int, $userGroupId: ID, $locale: String!, $toggleTranslations: Boolean!) {\\n commentable(id: $commentableId, type: $commentableType, locale: $locale, toggleTranslations: $toggleTranslations) {\\n addComment(body: $body, alignment: $alignment, userGroupId: $userGroupId) {\\n ...CommentThread\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/comment_thread.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n return doc.definitions.find(function(op) {\n return op.name ? op.name.value == name : false;\n });\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = Object.assign({}, doc);\n\n var op = findOperation(doc, operationName);\n newDoc.definitions = [op];\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set(opRefs);\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n\n module.exports = doc;\n \n module.exports[\"addComment\"] = oneQuery(doc, \"addComment\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentData\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sgid\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"body\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedBody\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAt\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedCreatedAt\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"author\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nickname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatarUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profilePath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deleted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"badge\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasComments\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"acceptsNewComments\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userAllowedToComment\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alignment\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alreadyReported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"UpVoteButton\"},\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"DownVoteButton\"},\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":439}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/up_vote_button.fragment.graphql\\\"\\n#import \\\"../fragments/down_vote_button.fragment.graphql\\\"\\n\\nfragment CommentData on Comment {\\n id\\n sgid\\n type\\n body\\n formattedBody\\n createdAt\\n formattedCreatedAt\\n author {\\n name\\n nickname\\n avatarUrl\\n profilePath\\n deleted\\n badge\\n }\\n hasComments\\n acceptsNewComments\\n userAllowedToComment\\n alignment\\n alreadyReported\\n ...UpVoteButton\\n ...DownVoteButton\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/up_vote_button.fragment.graphql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"../fragments/down_vote_button.fragment.graphql\").definitions));\n\n\n module.exports = doc;\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"UpVoteButton\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"upVotes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"upVoted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"downVoted\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":74}};\n doc.loc.source = {\"body\":\"fragment UpVoteButton on Comment {\\n id\\n upVotes\\n upVoted\\n downVoted\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n module.exports = doc;\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"DownVoteButton\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"downVotes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"downVoted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"upVoted\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":78}};\n doc.loc.source = {\"body\":\"fragment DownVoteButton on Comment {\\n id\\n downVotes\\n downVoted\\n upVoted\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n module.exports = doc;\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AddCommentFormSession\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Session\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"verifiedUserGroups\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":89}};\n doc.loc.source = {\"body\":\"fragment AddCommentFormSession on Session {\\n verifiedUserGroups {\\n id\\n name\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n module.exports = doc;\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AddCommentFormCommentable\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Commentable\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":66}};\n doc.loc.source = {\"body\":\"fragment AddCommentFormCommentable on Commentable {\\n id\\n type\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n module.exports = doc;\n \n","import * as React from \"react\";\n\nconst { I18n } = require(\"react-i18nify\");\n\ninterface CommentOrderSelectorProps {\n defaultOrderBy: string;\n reorderComments: (orderBy: string) => void;\n}\n\ninterface CommentOrderSelectorState {\n orderBy: string;\n}\n\n/**\n * A simple static component with the comment's order selector markup\n * @class\n * @augments Component\n * @todo Needs a proper implementation\n */\nclass CommentOrderSelector extends React.Component<CommentOrderSelectorProps, CommentOrderSelectorState> {\n private dropdown: HTMLUListElement;\n\n constructor(props: CommentOrderSelectorProps) {\n super(props);\n\n this.state = {\n orderBy: this.props.defaultOrderBy\n };\n }\n\n public setDropdown = (dropdown: HTMLUListElement) => this.dropdown = dropdown;\n\n public componentDidMount() {\n window.$(this.dropdown).foundation();\n }\n\n public render() {\n const { orderBy } = this.state;\n\n return (\n <div className=\"order-by__dropdown order-by__dropdown--right\">\n <span className=\"order-by__text\">{I18n.t(\"components.comment_order_selector.title\")}</span>\n <ul\n className=\"dropdown menu\"\n data-dropdown-menu=\"data-dropdown-menu\"\n data-autoclose=\"false\"\n data-disable-hover=\"true\"\n data-click-open=\"true\"\n data-close-on-click=\"true\"\n tabIndex={-1}\n ref={this.setDropdown}\n >\n <li className=\"is-dropdown-submenu-parent\" tabIndex={-1}>\n <a\n href=\"#\"\n id=\"comments-order-menu-control\"\n aria-label={I18n.t(\"components.comment_order_selector.title\")}\n aria-controls=\"comments-order-menu\"\n aria-haspopup=\"true\"\n >\n {I18n.t(`components.comment_order_selector.order.${orderBy}`)}\n </a>\n <ul\n className=\"menu is-dropdown-submenu\"\n id=\"language-chooser-menu\"\n role=\"menu\"\n aria-labelledby=\"comments-order-menu-control\"\n tabIndex={-1}\n >\n <li>\n <a href=\"#\" className=\"test\" onClick={this.updateOrder(\"best_rated\")} tabIndex={-1}>\n {I18n.t(\"components.comment_order_selector.order.best_rated\")}\n </a>\n </li>\n <li>\n <a href=\"#\" onClick={this.updateOrder(\"recent\")} tabIndex={-1}>\n {I18n.t(\"components.comment_order_selector.order.recent\")}\n </a>\n </li>\n <li>\n <a href=\"#\" onClick={this.updateOrder(\"older\")} tabIndex={-1}>\n {I18n.t(\"components.comment_order_selector.order.older\")}\n </a>\n </li>\n <li>\n <a href=\"\" onClick={this.updateOrder(\"most_discussed\")} tabIndex={-1}>\n {I18n.t(\"components.comment_order_selector.order.most_discussed\")}\n </a>\n </li>\n </ul>\n </li>\n </ul>\n </div>\n );\n }\n\n private updateOrder = (orderBy: string) => {\n return (event: React.MouseEvent<HTMLAnchorElement>) => {\n event.preventDefault();\n this.setState({ orderBy });\n this.props.reorderComments(orderBy);\n };\n }\n}\n\nexport default CommentOrderSelector;\n","import * as React from \"react\";\n\nimport Comment from \"./comment.component\";\n\nimport {\n AddCommentFormCommentableFragment,\n AddCommentFormSessionFragment,\n CommentFragment\n} from \"../support/schema\";\n\nconst { I18n } = require(\"react-i18nify\");\n\ninterface CommentThreadProps {\n comment: CommentFragment;\n session: AddCommentFormSessionFragment & {\n user: any;\n } | null;\n votable?: boolean;\n rootCommentable: AddCommentFormCommentableFragment;\n orderBy: string;\n commentsMaxLength: number;\n}\n\n/**\n * Define a collection of comments. It represents a conversation with multiple users.\n * @class\n * @augments Component\n * @todo It doesn't handle multiple comments yet\n */\nclass CommentThread extends React.Component<CommentThreadProps> {\n public static defaultProps: any = {\n session: null,\n votable: false\n };\n\n public render() {\n const { comment, session, votable, rootCommentable, orderBy, commentsMaxLength } = this.props;\n\n return (\n <div>\n {this._renderTitle()}\n <div className=\"comment-thread\">\n <Comment\n comment={comment}\n session={session}\n votable={votable}\n isRootComment={true}\n rootCommentable={rootCommentable}\n orderBy={orderBy}\n commentsMaxLength={commentsMaxLength}\n />\n </div>\n </div>\n );\n }\n\n /**\n * Render conversation title if comment has commments\n * @private\n * @returns {Void|DOMElement} - The conversation's title\n */\n private _renderTitle() {\n const { comment: { author, hasComments } } = this.props;\n\n if (hasComments) {\n return (\n <h6 className=\"comment-thread__title\">\n {\n author.deleted ?\n I18n.t(\"components.comment_thread.title\", { authorName: I18n.t(\"components.comment.deleted_user\") }) :\n I18n.t(\"components.comment_thread.title\", { authorName: author.name })\n }\n </h6>\n );\n }\n\n return null;\n }\n}\n\nexport default CommentThread;\n","import * as classnames from \"classnames\";\nimport * as React from \"react\";\n\nimport Icon from \"../application/icon.component\";\n\nimport AddCommentForm from \"./add_comment_form.component\";\nimport DownVoteButton from \"./down_vote_button.component\";\nimport UpVoteButton from \"./up_vote_button.component\";\n\nimport {\n AddCommentFormCommentableFragment,\n AddCommentFormSessionFragment,\n CommentFragment\n} from \"../support/schema\";\n\nimport { NetworkStatus } from \"apollo-client\";\n\nconst { I18n } = require(\"react-i18nify\");\n\ninterface CommentProps {\n comment: CommentFragment;\n session:\n | AddCommentFormSessionFragment & {\n user: any;\n }\n | null;\n articleClassName?: string;\n isRootComment?: boolean;\n votable?: boolean;\n rootCommentable: AddCommentFormCommentableFragment;\n orderBy: string;\n commentsMaxLength: number;\n}\n\ninterface CommentState {\n showReplies: boolean;\n showReplyForm: boolean;\n}\n\ninterface Dict {\n [key: string]: boolean | undefined;\n}\n\n/**\n * A single comment component with the author info and the comment's body\n * @class\n * @augments Component\n */\nclass Comment extends React.Component<CommentProps, CommentState> {\n public static defaultProps: any = {\n articleClassName: \"comment\",\n isRootComment: false,\n session: null,\n votable: false\n };\n\n public commentNode: HTMLDivElement;\n\n constructor(props: CommentProps) {\n super(props);\n\n const {\n comment: { id }\n } = props;\n const isThreadHidden = !!this.getThreadsStorage()[id];\n\n this.state = {\n showReplies: !isThreadHidden,\n showReplyForm: false\n };\n }\n\n public componentDidMount() {\n const {\n comment: { id }\n } = this.props;\n const hash = document.location.hash;\n const regex = new RegExp(`#comment_${id}`);\n\n function scrollTo(element: Element, to: number, duration: number) {\n if (duration <= 0) {\n return;\n }\n const difference = to - element.scrollTop;\n const perTick = (difference / duration) * 10;\n\n setTimeout(() => {\n element.scrollTop = element.scrollTop + perTick;\n if (element.scrollTop === to) {\n return;\n }\n scrollTo(element, to, duration - 10);\n }, 10);\n }\n\n if (regex.test(hash)) {\n scrollTo(document.body, this.commentNode.offsetTop, 200);\n }\n\n if (window.$(document).foundation) {\n window.$(`#flagModalComment${id}`).foundation();\n }\n }\n\n public getNodeReference = (commentNode: HTMLDivElement) =>\n (this.commentNode = commentNode)\n\n public render(): JSX.Element {\n const {\n session,\n comment: { id, author, formattedBody, createdAt, formattedCreatedAt },\n articleClassName\n } = this.props;\n let modalName = \"loginModal\";\n\n if (session && session.user) {\n modalName = `flagModalComment${id}`;\n }\n\n let singleCommentUrl = `${window.location.pathname}?commentId=${id}`;\n\n if (window.location.search && window.location.search !== \"\") {\n singleCommentUrl = `${\n window.location.pathname\n }${window.location.search.replace(/commentId=\\d*/gi, `commentId=${id}`)}`;\n }\n\n return (\n <div\n id={`comment_${id}`}\n className={articleClassName}\n ref={this.getNodeReference}\n >\n <div className=\"comment__header\">\n <div className=\"author-data\">\n <div className=\"author-data__main\">\n {this._renderAuthorReference()}\n <span>\n <time dateTime={createdAt} title={createdAt}>\n {formattedCreatedAt}\n </time>\n </span>\n </div>\n <div className=\"author-data__extra\">\n <button\n type=\"button\"\n className=\"link-alt\"\n title={I18n.t(\"components.comment.report.title\")}\n data-open={modalName}\n >\n <Icon\n name=\"icon-flag\"\n iconExtraClassName=\"icon--small\"\n title={I18n.t(\"components.comment.report.title\")}\n role=\"img\"\n />\n </button>\n {this._renderFlagModal()}\n <a\n href={singleCommentUrl}\n title={I18n.t(\"components.comment.single_comment_link_title\")}\n >\n <Icon\n name=\"icon-link-intact\"\n iconExtraClassName=\"icon--small\"\n title={I18n.t(\"components.comment.single_comment_link_title\")}\n role=\"img\"\n />\n </a>\n </div>\n </div>\n </div>\n <div className=\"comment__content\">\n <div>\n {this._renderAlignmentBadge()}\n <div dangerouslySetInnerHTML={{ __html: formattedBody }} />\n </div>\n </div>\n <div className=\"comment__footer\">\n <div className=\"comment__actions\">\n {this._renderShowHideThreadButton()}\n {this._renderReplyButton()}\n </div>\n {this._renderVoteButtons()}\n </div>\n {this._renderReplies()}\n {this._renderAdditionalReplyButton()}\n {this._renderReplyForm()}\n </div>\n );\n }\n\n private toggleReplyForm = () => {\n const { showReplyForm } = this.state;\n this.setState({ showReplyForm: !showReplyForm });\n }\n\n private getThreadsStorage = (): Dict => {\n const storage: Dict =\n JSON.parse(localStorage.hiddenCommentThreads || null) || {};\n\n return storage;\n }\n\n private saveThreadsStorage = (id: string, state: boolean) => {\n const storage = this.getThreadsStorage();\n storage[parseInt(id, 10)] = state;\n localStorage.hiddenCommentThreads = JSON.stringify(storage);\n }\n\n private toggleReplies = () => {\n const {\n comment: { id }\n } = this.props;\n const { showReplies } = this.state;\n const newState = !showReplies;\n\n this.saveThreadsStorage(id, !newState);\n this.setState({ showReplies: newState });\n }\n\n private countReplies = (comment: CommentFragment): number => {\n const { comments } = comment;\n\n if (!comments) {\n return 0;\n }\n\n return (\n comments.length +\n comments.map(this.countReplies).reduce((a: number, b: number) => a + b, 0)\n );\n }\n\n /**\n * Render author information as a link to author's profile\n * @private\n * @returns {DOMElement} - Render a link with the author information\n */\n private _renderAuthorReference() {\n const {\n comment: { author }\n } = this.props;\n\n if (author.profilePath === \"\") {\n return this._renderAuthor();\n }\n\n return <a href={author.profilePath}>{this._renderAuthor()}</a>;\n }\n\n /**\n * Render author information\n * @private\n * @returns {DOMElement} - Render all the author information\n */\n private _renderAuthor() {\n const {\n comment: { author }\n } = this.props;\n\n if (author.deleted) {\n return this._renderDeletedAuthor();\n }\n\n return this._renderActiveAuthor();\n }\n\n /**\n * Render deleted author information\n * @private\n * @returns {DOMElement} - Render all the author information\n */\n private _renderDeletedAuthor() {\n const {\n comment: { author }\n } = this.props;\n\n return (\n <div className=\"author author--inline\">\n <span className=\"author__avatar\">\n <img src={author.avatarUrl} alt=\"author-avatar\" />\n </span>\n <span className=\"author__name\">\n <span className=\"label label--small label--basic\">\n {I18n.t(\"components.comment.deleted_user\")}\n </span>\n </span>\n </div>\n );\n }\n\n /**\n * Render active author information\n * @private\n * @returns {DOMElement} - Render all the author information\n */\n private _renderActiveAuthor() {\n const {\n comment: { author }\n } = this.props;\n\n return (\n <div className=\"author author--inline\">\n <span className=\"author__avatar\">\n <img src={author.avatarUrl} alt=\"author-avatar\" />\n </span>\n <span className=\"author__name\">{author.name}</span>\n {author.badge === \"\" || (\n <span className=\"author__badge\">\n <Icon name={`icon-${author.badge}`} />\n </span>\n )}\n <span className=\"author__nickname\">{author.nickname}</span>\n </div>\n );\n }\n\n /**\n * Render reply button if user can reply the comment\n * @private\n * @returns {Void|DOMElement} - Render the reply button or not if user can reply\n */\n private _renderReplyButton() {\n const {\n comment: { id, acceptsNewComments, userAllowedToComment },\n session\n } = this.props;\n\n if (session && acceptsNewComments && userAllowedToComment) {\n return (\n <button\n className=\"comment__reply muted-link\"\n aria-controls={`comment${id}-reply`}\n data-toggle={`comment${id}-reply`}\n onClick={this.toggleReplyForm}\n >\n <Icon name=\"icon-pencil\" iconExtraClassName=\"icon--small\" />\n &nbsp;\n {I18n.t(\"components.comment.reply\")}\n </button>\n );\n }\n\n return <span>&nbsp;</span>;\n }\n\n /**\n * Render additional reply button if user can reply the comment at the bottom of a conversation\n * @private\n * @returns {Void|DOMElement} - Render the reply button or not if user can reply\n */\n private _renderAdditionalReplyButton() {\n const {\n comment: { id, acceptsNewComments, hasComments, userAllowedToComment },\n session,\n isRootComment\n } = this.props;\n const { showReplies } = this.state;\n\n if (session && acceptsNewComments && userAllowedToComment) {\n if (hasComments && isRootComment && showReplies) {\n return (\n <div className=\"comment__additionalreply\">\n <button\n className=\"comment__reply muted-link\"\n aria-controls={`comment${id}-reply`}\n data-toggle={`comment${id}-reply`}\n onClick={this.toggleReplyForm}\n >\n <Icon name=\"icon-pencil\" iconExtraClassName=\"icon--small\" />\n &nbsp;\n {I18n.t(\"components.comment.reply\")}\n </button>\n </div>\n );\n }\n }\n return null;\n }\n\n /**\n * Render show/hide thread button if comment is top-level and has children.\n * @private\n * @returns {Void|DOMElement} - Render the reply button or not\n */\n private _renderShowHideThreadButton() {\n const { comment, isRootComment } = this.props;\n const { id, hasComments } = comment;\n const { showReplies } = this.state;\n\n if (hasComments && isRootComment) {\n return (\n <button\n className={`comment__reply muted-link ${\n showReplies ? \"comment__is-open\" : \"\"\n }`}\n onClick={this.toggleReplies}\n >\n <Icon name=\"icon-comment-square\" iconExtraClassName=\"icon--small\" />\n &nbsp;\n <span className=\"comment__text-is-closed\">\n {I18n.t(\"components.comment.show_replies\", {\n replies_count: this.countReplies(comment)\n })}\n </span>\n <span className=\"comment__text-is-open\">\n {I18n.t(\"components.comment.hide_replies\")}\n </span>\n </button>\n );\n }\n return null;\n }\n\n /**\n * Render upVote and downVote buttons when the comment is votable\n * @private\n * @returns {Void|DOMElement} - Render the upVote and downVote buttons or not\n */\n private _renderVoteButtons() {\n const { session, comment, votable, rootCommentable, orderBy } = this.props;\n const {\n comment: { userAllowedToComment }\n } = this.props;\n\n if (votable && userAllowedToComment) {\n return (\n <div className=\"comment__votes\">\n <UpVoteButton\n session={session}\n comment={comment}\n rootCommentable={rootCommentable}\n orderBy={orderBy}\n />\n <DownVoteButton\n session={session}\n comment={comment}\n rootCommentable={rootCommentable}\n orderBy={orderBy}\n />\n </div>\n );\n }\n\n return <span>&nbsp;</span>;\n }\n\n /**\n * Render comment's comments alternating the css class\n * @private\n * @returns {Void|DomElement} - A wrapper element with comment's comments inside\n */\n private _renderReplies() {\n const {\n comment: { id, hasComments, comments },\n session,\n votable,\n articleClassName,\n rootCommentable,\n orderBy,\n commentsMaxLength\n } = this.props;\n const { showReplies } = this.state;\n let replyArticleClassName = \"comment comment--nested\";\n\n if (articleClassName === \"comment comment--nested\") {\n replyArticleClassName = `${replyArticleClassName} comment--nested--alt`;\n }\n\n if (hasComments) {\n return (\n <div id={`comment-${id}-replies`} className={showReplies ? \"\" : \"hide\"}>\n {comments.map((reply: CommentFragment) => (\n <Comment\n key={`comment_${id}_reply_${reply.id}`}\n comment={reply}\n session={session}\n votable={votable}\n articleClassName={replyArticleClassName}\n rootCommentable={rootCommentable}\n orderBy={orderBy}\n commentsMaxLength={commentsMaxLength}\n />\n ))}\n </div>\n );\n }\n\n return null;\n }\n\n /**\n * Render reply form based on the current component state\n * @private\n * @returns {Void|ReactElement} - Render the AddCommentForm component or not\n */\n private _renderReplyForm() {\n const { session, comment, rootCommentable, orderBy, commentsMaxLength } = this.props;\n const { showReplyForm } = this.state;\n const {\n comment: { userAllowedToComment }\n } = this.props;\n\n if (session && showReplyForm && userAllowedToComment) {\n return (\n <AddCommentForm\n session={session}\n commentable={comment}\n showTitle={false}\n submitButtonClassName=\"button small hollow\"\n onCommentAdded={this.toggleReplyForm}\n autoFocus={true}\n rootCommentable={rootCommentable}\n orderBy={orderBy}\n commentsMaxLength={commentsMaxLength}\n />\n );\n }\n\n return null;\n }\n\n /**\n * Render alignment badge if comment's alignment is 0 or -1\n * @private\n * @returns {Void|DOMElement} - The alignment's badge or not\n */\n private _renderAlignmentBadge() {\n const {\n comment: { alignment }\n } = this.props;\n const spanClassName = classnames(\"label alignment\", {\n success: alignment === 1,\n alert: alignment === -1\n });\n\n let label = \"\";\n\n if (alignment === 1) {\n label = I18n.t(\"components.comment.alignment.in_favor\");\n } else {\n label = I18n.t(\"components.comment.alignment.against\");\n }\n\n if (alignment === 1 || alignment === -1) {\n return (\n <span>\n <span className={spanClassName}>{label}</span>\n &nbsp;\n </span>\n );\n }\n\n return null;\n }\n\n /**\n * Render a modal to report the comment.\n * @private\n * @return {Void|DOMElement} - The comment's report modal or not.\n */\n private _renderFlagModal() {\n const {\n session,\n comment: { id, sgid, alreadyReported, userAllowedToComment }\n } = this.props;\n const authenticityToken = this._getAuthenticityToken();\n\n const closeModal = () => {\n window.$(`#flagModalComment${id}`).foundation(\"close\");\n };\n\n if (session && session.user && userAllowedToComment) {\n return (\n <div\n className=\"reveal flag-modal\"\n id={`flagModalComment${id}`}\n data-reveal={true}\n >\n <div className=\"reveal__header\">\n <h3 className=\"reveal__title\">\n {I18n.t(\"components.comment.report.title\")}\n </h3>\n <button\n className=\"close-button\"\n aria-label={I18n.t(\"components.comment.report.close\")}\n type=\"button\"\n onClick={closeModal}\n >\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n {(() => {\n if (alreadyReported) {\n return (\n <p key={`already-reported-comment-${id}`}>\n {I18n.t(\"components.comment.report.already_reported\")}\n </p>\n );\n }\n return [\n <p key={`report-description-comment-${id}`}>\n {I18n.t(\"components.comment.report.description\")}\n </p>,\n <form\n key={`report-form-comment-${id}`}\n method=\"post\"\n action={`/report?sgid=${sgid}`}\n >\n <input\n type=\"hidden\"\n name=\"authenticity_token\"\n value={authenticityToken}\n />\n <label htmlFor={`report_comment_${id}_reason_spam`}>\n <input\n type=\"radio\"\n value=\"spam\"\n name=\"report[reason]\"\n id={`report_comment_${id}_reason_spam`}\n defaultChecked={true}\n />\n {I18n.t(\"components.comment.report.reasons.spam\")}\n </label>\n <label htmlFor={`report_comment_${id}_reason_offensive`}>\n <input\n type=\"radio\"\n value=\"offensive\"\n name=\"report[reason]\"\n id={`report_comment_${id}_reason_offensive`}\n />\n {I18n.t(\"components.comment.report.reasons.offensive\")}\n </label>\n <label htmlFor={`report_comment_${id}_reason_does_not_belong`}>\n <input\n type=\"radio\"\n value=\"does_not_belong\"\n name=\"report[reason]\"\n id={`report_comment_${id}_reason_does_not_belong`}\n />\n {I18n.t(\"components.comment.report.reasons.does_not_belong\", {\n organization_name: session.user.organizationName\n })}\n </label>\n <label htmlFor={`report_comment_${id}_details`}>\n {I18n.t(\"components.comment.report.details\")}\n <textarea\n rows={4}\n name=\"report[details]\"\n id={`report_comment_${id}_details`}\n />\n </label>\n <button type=\"submit\" name=\"commit\" className=\"button\">\n {I18n.t(\"components.comment.report.action\")}\n </button>\n </form>\n ];\n })()}\n </div>\n );\n }\n\n return null;\n }\n\n /**\n * Get Rails authenticity token so we can send requests through the report forms.\n * @private\n * @return {string} - The current authenticity token.\n */\n private _getAuthenticityToken() {\n return window.$('meta[name=\"csrf-token\"]').attr(\"content\");\n }\n}\n\nexport default Comment;\n","import * as React from \"react\";\nimport { graphql, MutationFunc } from \"react-apollo\";\n\nconst PropTypes = require(\"prop-types\");\n\nimport VoteButton from \"./vote_button.component\";\n\nimport {\n AddCommentFormCommentableFragment,\n AddCommentFormSessionFragment,\n CommentFragment,\n DownVoteButtonFragment,\n DownVoteMutation,\n GetCommentsQuery\n} from \"../support/schema\";\n\nconst { I18n } = require(\"react-i18nify\");\n\ninterface DownVoteButtonProps {\n session: AddCommentFormSessionFragment & {\n user: any;\n } | null;\n comment: DownVoteButtonFragment;\n downVote?: (context: any) => void;\n rootCommentable: AddCommentFormCommentableFragment;\n orderBy: string;\n}\n\nexport const DownVoteButton: React.SFC<DownVoteButtonProps> = (\n {\n session,\n comment: { downVotes, upVoted, downVoted },\n downVote\n },\n context) => {\n let selectedClass = \"\";\n\n if (downVoted) {\n selectedClass = \"is-vote-selected\";\n } else if (upVoted) {\n selectedClass = \"is-vote-notselected\";\n }\n\n const userLoggedIn = session && session.user;\n const disabled = false;\n const voteAction = () => downVote && downVote(context);\n\n return (\n <VoteButton\n buttonClassName=\"comment__votes--down\"\n iconName=\"icon-chevron-bottom\"\n text={I18n.t(\"components.down_vote_button.text\")}\n votes={downVotes}\n voteAction={voteAction}\n disabled={disabled}\n selectedClass={selectedClass}\n userLoggedIn={userLoggedIn}\n />\n );\n};\n\nDownVoteButton.contextTypes = {\n locale: PropTypes.string,\n toggleTranslations: PropTypes.bool\n};\n\nconst downVoteMutation = require(\"../mutations/down_vote.mutation.graphql\");\nconst getCommentsQuery = require(\"../queries/comments.query.graphql\");\n\nconst DownVoteButtonWithMutation = graphql<DownVoteMutation, DownVoteButtonProps>(downVoteMutation, {\n props: ({ ownProps, mutate }: { ownProps: DownVoteButtonProps, mutate: MutationFunc<DownVoteMutation> }) => ({\n downVote: ({ locale, toggleTranslations }: any) => mutate({\n variables: {\n locale,\n toggleTranslations,\n id: ownProps.comment.id\n },\n optimisticResponse: {\n __typename: \"Mutation\",\n comment: {\n __typename: \"CommentMutation\",\n downVote: {\n __typename: \"Comment\",\n ...ownProps.comment,\n downVotes: ownProps.comment.downVotes + (ownProps.comment.downVoted ? -1 : 1),\n downVoted: true\n }\n }\n },\n update: (store, { data }: { data: DownVoteMutation }) => {\n const variables = {\n locale,\n toggleTranslations,\n commentableId: ownProps.rootCommentable.id,\n commentableType: ownProps.rootCommentable.type,\n orderBy: ownProps.orderBy,\n singleCommentId: null\n };\n\n const commentReducer = (comment: CommentFragment): CommentFragment => {\n const replies = comment.comments || [];\n\n if (comment.id === ownProps.comment.id && data.comment) {\n return data.comment.downVote;\n }\n\n return {\n ...comment,\n comments: replies.map(commentReducer)\n };\n };\n\n const prev = store.readQuery<GetCommentsQuery>({ query: getCommentsQuery, variables });\n\n if (prev) {\n store.writeQuery({\n query: getCommentsQuery,\n data: {\n ...prev,\n commentable: {\n ...prev.commentable,\n comments: prev.commentable.comments.map(commentReducer)\n }\n },\n variables\n });\n }\n }\n })\n })\n})(DownVoteButton);\n\nexport default DownVoteButtonWithMutation;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DownVote\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"comment\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"downVote\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"},\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":251}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/comment.fragment.graphql\\\"\\n\\nmutation DownVote($id: ID!, $locale: String!, $toggleTranslations: Boolean!) {\\n comment(id: $id, locale: $locale, toggleTranslations: $toggleTranslations) {\\n downVote {\\n ...Comment\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/comment.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n return doc.definitions.find(function(op) {\n return op.name ? op.name.value == name : false;\n });\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = Object.assign({}, doc);\n\n var op = findOperation(doc, operationName);\n newDoc.definitions = [op];\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set(opRefs);\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n\n module.exports = doc;\n \n module.exports[\"DownVote\"] = oneQuery(doc, \"DownVote\");\n \n","import * as React from \"react\";\nimport { graphql, MutationFunc } from \"react-apollo\";\n\nconst PropTypes = require(\"prop-types\");\n\nimport VoteButton from \"./vote_button.component\";\n\nconst { I18n } = require(\"react-i18nify\");\n\nimport {\n AddCommentFormCommentableFragment,\n AddCommentFormSessionFragment,\n CommentFragment,\n GetCommentsQuery,\n UpVoteButtonFragment,\n UpVoteMutation\n} from \"../support/schema\";\n\ninterface UpVoteButtonProps {\n session: AddCommentFormSessionFragment & {\n user: any;\n } | null;\n comment: UpVoteButtonFragment;\n upVote?: (context: any) => void;\n rootCommentable: AddCommentFormCommentableFragment;\n orderBy: string;\n}\n\nexport const UpVoteButton: React.SFC<UpVoteButtonProps> = (\n {\n session,\n comment: { upVotes, upVoted, downVoted },\n upVote\n },\n context) => {\n let selectedClass = \"\";\n\n if (upVoted) {\n selectedClass = \"is-vote-selected\";\n } else if (downVoted) {\n selectedClass = \"is-vote-notselected\";\n }\n\n const userLoggedIn = session && session.user;\n const disabled = false;\n const voteAction = () => upVote && upVote(context);\n\n return (\n <VoteButton\n buttonClassName=\"comment__votes--up\"\n iconName=\"icon-chevron-top\"\n text={I18n.t(\"components.up_vote_button.text\")}\n votes={upVotes}\n voteAction={voteAction}\n disabled={disabled}\n selectedClass={selectedClass}\n userLoggedIn={userLoggedIn}\n />\n );\n};\n\nUpVoteButton.contextTypes = {\n locale: PropTypes.string,\n toggleTranslations: PropTypes.bool\n};\n\nconst upVoteMutation = require(\"../mutations/up_vote.mutation.graphql\");\nconst getCommentsQuery = require(\"../queries/comments.query.graphql\");\n\nconst UpVoteButtonWithMutation = graphql<UpVoteMutation, UpVoteButtonProps>(upVoteMutation, {\n props: ({ ownProps, mutate }: { ownProps: UpVoteButtonProps, mutate: MutationFunc<UpVoteMutation> }) => ({\n upVote: ({ locale, toggleTranslations }: any) => mutate({\n variables: {\n locale,\n toggleTranslations,\n id: ownProps.comment.id\n },\n optimisticResponse: {\n __typename: \"Mutation\",\n comment: {\n __typename: \"CommentMutation\",\n upVote: {\n __typename: \"Comment\",\n ...ownProps.comment,\n upVotes: ownProps.comment.upVotes + (ownProps.comment.upVoted ? -1 : 1),\n upVoted: true\n }\n }\n },\n update: (store, { data }: { data: UpVoteMutation }) => {\n const variables = {\n locale,\n toggleTranslations,\n commentableId: ownProps.rootCommentable.id,\n commentableType: ownProps.rootCommentable.type,\n orderBy: ownProps.orderBy,\n singleCommentId: null\n };\n\n const commentReducer = (comment: CommentFragment): CommentFragment => {\n const replies = comment.comments || [];\n\n if (comment.id === ownProps.comment.id && data.comment) {\n return data.comment.upVote;\n }\n\n return {\n ...comment,\n comments: replies.map(commentReducer)\n };\n };\n\n const prev = store.readQuery<GetCommentsQuery>({ query: getCommentsQuery, variables });\n\n if (prev) {\n store.writeQuery({\n query: getCommentsQuery,\n data: {\n ...prev,\n commentable: {\n ...prev.commentable,\n comments: prev.commentable.comments.map(commentReducer)\n }\n },\n variables\n });\n }\n }\n })\n })\n})(UpVoteButton);\n\nexport default UpVoteButtonWithMutation;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpVote\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"comment\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"upVote\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"},\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":247}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/comment.fragment.graphql\\\"\\n\\nmutation UpVote($id: ID!, $locale: String!, $toggleTranslations: Boolean!) {\\n comment(id: $id, locale: $locale, toggleTranslations: $toggleTranslations) {\\n upVote {\\n ...Comment\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/comment.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n return doc.definitions.find(function(op) {\n return op.name ? op.name.value == name : false;\n });\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = Object.assign({}, doc);\n\n var op = findOperation(doc, operationName);\n newDoc.definitions = [op];\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set(opRefs);\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n\n module.exports = doc;\n \n module.exports[\"UpVote\"] = oneQuery(doc, \"UpVote\");\n \n","/* eslint-disable no-param-reassign */\nimport requireAll from \"./require_all\";\n\nconst { I18n } = require(\"react-i18nify\");\n\n/**\n * Load components translations from yaml files and import them into\n * react-i18ify system so they can be used via `I18n.t` method.\n * @returns {Void} - Nothing\n */\nconst loadTranslations = () => {\n const translationsContext = (require as any).context(\"../../../config/locales/\", true, /\\.yml$/);\n const translationFiles = requireAll(translationsContext);\n\n const translations = translationsContext.keys().reduce((acc: any, key: string, index: number) => {\n const match = key.match(/\\.\\/(.*)\\.yml/);\n\n if (match) {\n const locale = match[1];\n const translationKeys = translationFiles[index][locale];\n\n if (translationKeys && translationKeys.decidim) {\n acc[locale] = translationKeys.decidim;\n }\n }\n\n return acc;\n }, {});\n\n I18n.setTranslations(translations);\n};\n\n/**\n * Load components translations from a locale files and import them into\n * react-i18ify system so they can be used via `I18n.t` method.\n * @returns {Void} - Nothing\n */\nexport const loadLocaleTranslations = (locale: string) => {\n const translationFile = require(`./../../../config/locales/${locale}.yml`);\n const translations = Object.keys(translationFile).reduce((acc: any, key: string) => {\n acc[locale] = translationFile[locale].decidim;\n return acc;\n }, {});\n\n I18n.setTranslations(translations);\n};\n\nexport default loadTranslations;\n","/**\n * Given a webpack require context it require all the files\n * @param {Object} requireContext - A webpack require context\n * @returns {Object[]} - An array of webpack modules\n */\nconst requireAll = (requireContext: any) => {\n return requireContext.keys().map(requireContext);\n};\n\nexport default requireAll;\n","var map = {\n\t\"./am-ET.yml\": 288,\n\t\"./ar-SA.yml\": 289,\n\t\"./ar.yml\": 290,\n\t\"./bg-BG.yml\": 291,\n\t\"./bg.yml\": 292,\n\t\"./ca.yml\": 293,\n\t\"./cs-CZ.yml\": 294,\n\t\"./cs.yml\": 295,\n\t\"./da-DK.yml\": 296,\n\t\"./da.yml\": 297,\n\t\"./de.yml\": 298,\n\t\"./el-GR.yml\": 299,\n\t\"./el.yml\": 300,\n\t\"./en.yml\": 301,\n\t\"./eo-UY.yml\": 302,\n\t\"./eo.yml\": 303,\n\t\"./es-MX.yml\": 304,\n\t\"./es-PY.yml\": 305,\n\t\"./es.yml\": 306,\n\t\"./et-EE.yml\": 307,\n\t\"./et.yml\": 308,\n\t\"./eu.yml\": 309,\n\t\"./fi-pl.yml\": 310,\n\t\"./fi-plain.yml\": 311,\n\t\"./fi.yml\": 312,\n\t\"./fr-CA.yml\": 313,\n\t\"./fr.yml\": 314,\n\t\"./ga-IE.yml\": 315,\n\t\"./gl.yml\": 316,\n\t\"./hr-HR.yml\": 317,\n\t\"./hr.yml\": 318,\n\t\"./hu.yml\": 319,\n\t\"./id-ID.yml\": 320,\n\t\"./is-IS.yml\": 321,\n\t\"./is.yml\": 322,\n\t\"./it.yml\": 323,\n\t\"./ja-JP.yml\": 324,\n\t\"./ja.yml\": 325,\n\t\"./ko-KR.yml\": 326,\n\t\"./ko.yml\": 327,\n\t\"./lt-LT.yml\": 328,\n\t\"./lt.yml\": 329,\n\t\"./lv.yml\": 330,\n\t\"./mt-MT.yml\": 331,\n\t\"./mt.yml\": 332,\n\t\"./nl.yml\": 333,\n\t\"./no.yml\": 334,\n\t\"./om-ET.yml\": 335,\n\t\"./pl.yml\": 336,\n\t\"./pt-BR.yml\": 337,\n\t\"./pt.yml\": 338,\n\t\"./ro-RO.yml\": 339,\n\t\"./ru.yml\": 340,\n\t\"./si-LK.yml\": 341,\n\t\"./sk-SK.yml\": 342,\n\t\"./sk.yml\": 343,\n\t\"./sl.yml\": 344,\n\t\"./so-SO.yml\": 345,\n\t\"./sr-CS.yml\": 346,\n\t\"./sv.yml\": 347,\n\t\"./sw-KE.yml\": 348,\n\t\"./ti-ER.yml\": 349,\n\t\"./tr-TR.yml\": 350,\n\t\"./uk.yml\": 351,\n\t\"./vi-VN.yml\": 352,\n\t\"./vi.yml\": 353,\n\t\"./zh-CN.yml\": 354,\n\t\"./zh-TW.yml\": 355\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 587;","var map = {\n\t\"./am-ET.yml\": 288,\n\t\"./ar-SA.yml\": 289,\n\t\"./ar.yml\": 290,\n\t\"./bg-BG.yml\": 291,\n\t\"./bg.yml\": 292,\n\t\"./ca.yml\": 293,\n\t\"./cs-CZ.yml\": 294,\n\t\"./cs.yml\": 295,\n\t\"./da-DK.yml\": 296,\n\t\"./da.yml\": 297,\n\t\"./de.yml\": 298,\n\t\"./el-GR.yml\": 299,\n\t\"./el.yml\": 300,\n\t\"./en.yml\": 301,\n\t\"./eo-UY.yml\": 302,\n\t\"./eo.yml\": 303,\n\t\"./es-MX.yml\": 304,\n\t\"./es-PY.yml\": 305,\n\t\"./es.yml\": 306,\n\t\"./et-EE.yml\": 307,\n\t\"./et.yml\": 308,\n\t\"./eu.yml\": 309,\n\t\"./fi-pl.yml\": 310,\n\t\"./fi-plain.yml\": 311,\n\t\"./fi.yml\": 312,\n\t\"./fr-CA.yml\": 313,\n\t\"./fr.yml\": 314,\n\t\"./ga-IE.yml\": 315,\n\t\"./gl.yml\": 316,\n\t\"./hr-HR.yml\": 317,\n\t\"./hr.yml\": 318,\n\t\"./hu.yml\": 319,\n\t\"./id-ID.yml\": 320,\n\t\"./is-IS.yml\": 321,\n\t\"./is.yml\": 322,\n\t\"./it.yml\": 323,\n\t\"./ja-JP.yml\": 324,\n\t\"./ja.yml\": 325,\n\t\"./ko-KR.yml\": 326,\n\t\"./ko.yml\": 327,\n\t\"./lt-LT.yml\": 328,\n\t\"./lt.yml\": 329,\n\t\"./lv.yml\": 330,\n\t\"./mt-MT.yml\": 331,\n\t\"./mt.yml\": 332,\n\t\"./nl.yml\": 333,\n\t\"./no.yml\": 334,\n\t\"./om-ET.yml\": 335,\n\t\"./pl.yml\": 336,\n\t\"./pt-BR.yml\": 337,\n\t\"./pt.yml\": 338,\n\t\"./ro-RO.yml\": 339,\n\t\"./ru.yml\": 340,\n\t\"./si-LK.yml\": 341,\n\t\"./sk-SK.yml\": 342,\n\t\"./sk.yml\": 343,\n\t\"./sl.yml\": 344,\n\t\"./so-SO.yml\": 345,\n\t\"./sr-CS.yml\": 346,\n\t\"./sv.yml\": 347,\n\t\"./sw-KE.yml\": 348,\n\t\"./ti-ER.yml\": 349,\n\t\"./tr-TR.yml\": 350,\n\t\"./uk.yml\": 351,\n\t\"./vi-VN.yml\": 352,\n\t\"./vi.yml\": 353,\n\t\"./zh-CN.yml\": 354,\n\t\"./zh-TW.yml\": 355\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 588;","export function queryFromPojo(obj) {\n var op = {\n kind: 'OperationDefinition',\n operation: 'query',\n name: {\n kind: 'Name',\n value: 'GeneratedClientQuery',\n },\n selectionSet: selectionSetFromObj(obj),\n };\n var out = {\n kind: 'Document',\n definitions: [op],\n };\n return out;\n}\nexport function fragmentFromPojo(obj, typename) {\n var frag = {\n kind: 'FragmentDefinition',\n typeCondition: {\n kind: 'NamedType',\n name: {\n kind: 'Name',\n value: typename || '__FakeType',\n },\n },\n name: {\n kind: 'Name',\n value: 'GeneratedClientQuery',\n },\n selectionSet: selectionSetFromObj(obj),\n };\n var out = {\n kind: 'Document',\n definitions: [frag],\n };\n return out;\n}\nfunction selectionSetFromObj(obj) {\n if (typeof obj === 'number' ||\n typeof obj === 'boolean' ||\n typeof obj === 'string' ||\n typeof obj === 'undefined' ||\n obj === null) {\n return null;\n }\n if (Array.isArray(obj)) {\n return selectionSetFromObj(obj[0]);\n }\n var selections = [];\n Object.keys(obj).forEach(function (key) {\n var field = {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: key,\n },\n };\n var nestedSelSet = selectionSetFromObj(obj[key]);\n if (nestedSelSet) {\n field.selectionSet = nestedSelSet;\n }\n selections.push(field);\n });\n var selectionSet = {\n kind: 'SelectionSet',\n selections: selections,\n };\n return selectionSet;\n}\nexport var justTypenameQuery = {\n kind: 'Document',\n definitions: [\n {\n kind: 'OperationDefinition',\n operation: 'query',\n name: null,\n variableDefinitions: null,\n directives: [],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n alias: null,\n name: {\n kind: 'Name',\n value: '__typename',\n },\n arguments: [],\n directives: [],\n selectionSet: null,\n },\n ],\n },\n },\n ],\n};\n//# sourceMappingURL=utils.js.map","export var Cache;\n(function (Cache) {\n})(Cache || (Cache = {}));\n//# sourceMappingURL=Cache.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { getFragmentQueryDocument } from 'apollo-utilities';\nimport { justTypenameQuery, queryFromPojo, fragmentFromPojo } from './utils';\nvar ApolloCache = (function () {\n function ApolloCache() {\n }\n ApolloCache.prototype.transformDocument = function (document) {\n return document;\n };\n ApolloCache.prototype.transformForLink = function (document) {\n return document;\n };\n ApolloCache.prototype.readQuery = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.read({\n query: options.query,\n variables: options.variables,\n optimistic: optimistic,\n });\n };\n ApolloCache.prototype.readFragment = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.read({\n query: getFragmentQueryDocument(options.fragment, options.fragmentName),\n variables: options.variables,\n rootId: options.id,\n optimistic: optimistic,\n });\n };\n ApolloCache.prototype.writeQuery = function (options) {\n this.write({\n dataId: 'ROOT_QUERY',\n result: options.data,\n query: options.query,\n variables: options.variables,\n });\n };\n ApolloCache.prototype.writeFragment = function (options) {\n this.write({\n dataId: options.id,\n result: options.data,\n variables: options.variables,\n query: getFragmentQueryDocument(options.fragment, options.fragmentName),\n });\n };\n ApolloCache.prototype.writeData = function (_a) {\n var id = _a.id, data = _a.data;\n if (id) {\n var typenameResult = null;\n try {\n typenameResult = this.read({\n rootId: id,\n optimistic: false,\n query: justTypenameQuery,\n });\n }\n catch (e) {\n }\n var __typename = (typenameResult && typenameResult.__typename) || '__ClientData';\n var dataToWrite = __assign({ __typename: __typename }, data);\n this.writeFragment({\n id: id,\n fragment: fragmentFromPojo(dataToWrite, __typename),\n data: dataToWrite,\n });\n }\n else {\n this.writeQuery({ query: queryFromPojo(data), data: data });\n }\n };\n return ApolloCache;\n}());\nexport { ApolloCache };\n//# sourceMappingURL=cache.js.map","import { isTest, warnOnceInDevelopment } from 'apollo-utilities';\nvar haveWarned = false;\nvar HeuristicFragmentMatcher = (function () {\n function HeuristicFragmentMatcher() {\n }\n HeuristicFragmentMatcher.prototype.ensureReady = function () {\n return Promise.resolve();\n };\n HeuristicFragmentMatcher.prototype.canBypassInit = function () {\n return true;\n };\n HeuristicFragmentMatcher.prototype.match = function (idValue, typeCondition, context) {\n var obj = context.store.get(idValue.id);\n if (!obj) {\n return false;\n }\n if (!obj.__typename) {\n if (!haveWarned) {\n console.warn(\"You're using fragments in your queries, but either don't have the addTypename:\\n true option set in Apollo Client, or you are trying to write a fragment to the store without the __typename.\\n Please turn on the addTypename option and include __typename when writing fragments so that Apollo Client\\n can accurately match fragments.\");\n console.warn('Could not find __typename on Fragment ', typeCondition, obj);\n console.warn(\"DEPRECATION WARNING: using fragments without __typename is unsupported behavior \" +\n \"and will be removed in future versions of Apollo client. You should fix this and set addTypename to true now.\");\n if (!isTest()) {\n haveWarned = true;\n }\n }\n context.returnPartialData = true;\n return true;\n }\n if (obj.__typename === typeCondition) {\n return true;\n }\n warnOnceInDevelopment(\"You are using the simple (heuristic) fragment matcher, but your queries contain union or interface types.\\n Apollo Client will not be able to able to accurately map fragments.\" +\n \"To make this error go away, use the IntrospectionFragmentMatcher as described in the docs: \" +\n \"https://www.apollographql.com/docs/react/recipes/fragment-matching.html\", 'error');\n context.returnPartialData = true;\n return true;\n };\n return HeuristicFragmentMatcher;\n}());\nexport { HeuristicFragmentMatcher };\nvar IntrospectionFragmentMatcher = (function () {\n function IntrospectionFragmentMatcher(options) {\n if (options && options.introspectionQueryResultData) {\n this.possibleTypesMap = this.parseIntrospectionResult(options.introspectionQueryResultData);\n this.isReady = true;\n }\n else {\n this.isReady = false;\n }\n this.match = this.match.bind(this);\n }\n IntrospectionFragmentMatcher.prototype.match = function (idValue, typeCondition, context) {\n if (!this.isReady) {\n throw new Error('FragmentMatcher.match() was called before FragmentMatcher.init()');\n }\n var obj = context.store.get(idValue.id);\n if (!obj) {\n return false;\n }\n if (!obj.__typename) {\n throw new Error(\"Cannot match fragment because __typename property is missing: \" + JSON.stringify(obj));\n }\n if (obj.__typename === typeCondition) {\n return true;\n }\n var implementingTypes = this.possibleTypesMap[typeCondition];\n if (implementingTypes && implementingTypes.indexOf(obj.__typename) > -1) {\n return true;\n }\n return false;\n };\n IntrospectionFragmentMatcher.prototype.parseIntrospectionResult = function (introspectionResultData) {\n var typeMap = {};\n introspectionResultData.__schema.types.forEach(function (type) {\n if (type.kind === 'UNION' || type.kind === 'INTERFACE') {\n typeMap[type.name] = type.possibleTypes.map(function (implementingType) { return implementingType.name; });\n }\n });\n return typeMap;\n };\n return IntrospectionFragmentMatcher;\n}());\nexport { IntrospectionFragmentMatcher };\n//# sourceMappingURL=fragmentMatcher.js.map","var ObjectCache = (function () {\n function ObjectCache(data) {\n if (data === void 0) { data = {}; }\n this.data = data;\n }\n ObjectCache.prototype.toObject = function () {\n return this.data;\n };\n ObjectCache.prototype.get = function (dataId) {\n return this.data[dataId];\n };\n ObjectCache.prototype.set = function (dataId, value) {\n this.data[dataId] = value;\n };\n ObjectCache.prototype.delete = function (dataId) {\n this.data[dataId] = undefined;\n };\n ObjectCache.prototype.clear = function () {\n this.data = {};\n };\n ObjectCache.prototype.replace = function (newData) {\n this.data = newData || {};\n };\n return ObjectCache;\n}());\nexport { ObjectCache };\nexport function defaultNormalizedCacheFactory(seed) {\n return new ObjectCache(seed);\n}\n//# sourceMappingURL=objectCache.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { print } from 'graphql/language/printer';\nimport { assign, createFragmentMap, getDefaultValues, getFragmentDefinitions, getOperationDefinition, isField, isIdValue, isInlineFragment, isProduction, resultKeyNameFromField, shouldInclude, storeKeyNameFromField, getQueryDefinition, } from 'apollo-utilities';\nimport { defaultNormalizedCacheFactory, ObjectCache } from './objectCache';\nvar WriteError = (function (_super) {\n __extends(WriteError, _super);\n function WriteError() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'WriteError';\n return _this;\n }\n return WriteError;\n}(Error));\nexport { WriteError };\nexport function enhanceErrorWithDocument(error, document) {\n var enhancedError = new WriteError(\"Error writing result to store for query:\\n \" + print(document));\n enhancedError.message += '\\n' + error.message;\n enhancedError.stack = error.stack;\n return enhancedError;\n}\nexport function writeQueryToStore(_a) {\n var result = _a.result, query = _a.query, _b = _a.storeFactory, storeFactory = _b === void 0 ? defaultNormalizedCacheFactory : _b, _c = _a.store, store = _c === void 0 ? storeFactory() : _c, variables = _a.variables, dataIdFromObject = _a.dataIdFromObject, _d = _a.fragmentMap, fragmentMap = _d === void 0 ? {} : _d, fragmentMatcherFunction = _a.fragmentMatcherFunction;\n var queryDefinition = getQueryDefinition(query);\n variables = assign({}, getDefaultValues(queryDefinition), variables);\n try {\n return writeSelectionSetToStore({\n dataId: 'ROOT_QUERY',\n result: result,\n selectionSet: queryDefinition.selectionSet,\n context: {\n store: store,\n storeFactory: storeFactory,\n processedData: {},\n variables: variables,\n dataIdFromObject: dataIdFromObject,\n fragmentMap: fragmentMap,\n fragmentMatcherFunction: fragmentMatcherFunction,\n },\n });\n }\n catch (e) {\n throw enhanceErrorWithDocument(e, query);\n }\n}\nexport function writeResultToStore(_a) {\n var dataId = _a.dataId, result = _a.result, document = _a.document, _b = _a.storeFactory, storeFactory = _b === void 0 ? defaultNormalizedCacheFactory : _b, _c = _a.store, store = _c === void 0 ? storeFactory() : _c, variables = _a.variables, dataIdFromObject = _a.dataIdFromObject, fragmentMatcherFunction = _a.fragmentMatcherFunction;\n var operationDefinition = getOperationDefinition(document);\n var selectionSet = operationDefinition.selectionSet;\n var fragmentMap = createFragmentMap(getFragmentDefinitions(document));\n variables = assign({}, getDefaultValues(operationDefinition), variables);\n try {\n return writeSelectionSetToStore({\n result: result,\n dataId: dataId,\n selectionSet: selectionSet,\n context: {\n store: store,\n storeFactory: storeFactory,\n processedData: {},\n variables: variables,\n dataIdFromObject: dataIdFromObject,\n fragmentMap: fragmentMap,\n fragmentMatcherFunction: fragmentMatcherFunction,\n },\n });\n }\n catch (e) {\n throw enhanceErrorWithDocument(e, document);\n }\n}\nexport function writeSelectionSetToStore(_a) {\n var result = _a.result, dataId = _a.dataId, selectionSet = _a.selectionSet, context = _a.context;\n var variables = context.variables, store = context.store, fragmentMap = context.fragmentMap;\n selectionSet.selections.forEach(function (selection) {\n var included = shouldInclude(selection, variables);\n if (isField(selection)) {\n var resultFieldKey = resultKeyNameFromField(selection);\n var value = result[resultFieldKey];\n if (included) {\n if (typeof value !== 'undefined') {\n writeFieldToStore({\n dataId: dataId,\n value: value,\n field: selection,\n context: context,\n });\n }\n else {\n var isDefered = selection.directives &&\n selection.directives.length &&\n selection.directives.some(function (directive) { return directive.name && directive.name.value === 'defer'; });\n if (!isDefered && context.fragmentMatcherFunction) {\n if (!isProduction()) {\n console.warn(\"Missing field \" + resultFieldKey + \" in \" + JSON.stringify(result, null, 2).substring(0, 100));\n }\n }\n }\n }\n }\n else {\n var fragment = void 0;\n if (isInlineFragment(selection)) {\n fragment = selection;\n }\n else {\n fragment = (fragmentMap || {})[selection.name.value];\n if (!fragment) {\n throw new Error(\"No fragment named \" + selection.name.value + \".\");\n }\n }\n var matches = true;\n if (context.fragmentMatcherFunction && fragment.typeCondition) {\n var idValue = { type: 'id', id: 'self', generated: false };\n var fakeContext = {\n store: new ObjectCache({ self: result }),\n returnPartialData: false,\n hasMissingField: false,\n cacheRedirects: {},\n };\n matches = context.fragmentMatcherFunction(idValue, fragment.typeCondition.name.value, fakeContext);\n if (!isProduction() && fakeContext.returnPartialData) {\n console.error('WARNING: heuristic fragment matching going on!');\n }\n }\n if (included && matches) {\n writeSelectionSetToStore({\n result: result,\n selectionSet: fragment.selectionSet,\n dataId: dataId,\n context: context,\n });\n }\n }\n });\n return store;\n}\nfunction isGeneratedId(id) {\n return id[0] === '$';\n}\nfunction mergeWithGenerated(generatedKey, realKey, cache) {\n var generated = cache.get(generatedKey);\n var real = cache.get(realKey);\n Object.keys(generated).forEach(function (key) {\n var value = generated[key];\n var realValue = real[key];\n if (isIdValue(value) && isGeneratedId(value.id) && isIdValue(realValue)) {\n mergeWithGenerated(value.id, realValue.id, cache);\n }\n cache.delete(generatedKey);\n cache.set(realKey, __assign({}, generated, real));\n });\n}\nfunction isDataProcessed(dataId, field, processedData) {\n if (!processedData) {\n return false;\n }\n if (processedData[dataId]) {\n if (processedData[dataId].indexOf(field) >= 0) {\n return true;\n }\n else {\n processedData[dataId].push(field);\n }\n }\n else {\n processedData[dataId] = [field];\n }\n return false;\n}\nfunction writeFieldToStore(_a) {\n var field = _a.field, value = _a.value, dataId = _a.dataId, context = _a.context;\n var variables = context.variables, dataIdFromObject = context.dataIdFromObject, store = context.store;\n var storeValue;\n var storeObject;\n var storeFieldName = storeKeyNameFromField(field, variables);\n var shouldMerge = false;\n var generatedKey = '';\n if (!field.selectionSet || value === null) {\n storeValue =\n value != null && typeof value === 'object'\n ?\n { type: 'json', json: value }\n :\n value;\n }\n else if (Array.isArray(value)) {\n var generatedId = dataId + \".\" + storeFieldName;\n storeValue = processArrayValue(value, generatedId, field.selectionSet, context);\n }\n else {\n var valueDataId = dataId + \".\" + storeFieldName;\n var generated = true;\n if (!isGeneratedId(valueDataId)) {\n valueDataId = '$' + valueDataId;\n }\n if (dataIdFromObject) {\n var semanticId = dataIdFromObject(value);\n if (semanticId && isGeneratedId(semanticId)) {\n throw new Error('IDs returned by dataIdFromObject cannot begin with the \"$\" character.');\n }\n if (semanticId) {\n valueDataId = semanticId;\n generated = false;\n }\n }\n if (!isDataProcessed(valueDataId, field, context.processedData)) {\n writeSelectionSetToStore({\n dataId: valueDataId,\n result: value,\n selectionSet: field.selectionSet,\n context: context,\n });\n }\n storeValue = {\n type: 'id',\n id: valueDataId,\n generated: generated,\n };\n storeObject = store.get(dataId);\n if (storeObject && storeObject[storeFieldName] !== storeValue) {\n var escapedId = storeObject[storeFieldName];\n if (isIdValue(storeValue) &&\n storeValue.generated &&\n isIdValue(escapedId) &&\n !escapedId.generated) {\n throw new Error(\"Store error: the application attempted to write an object with no provided id\" +\n (\" but the store already contains an id of \" + escapedId.id + \" for this object. The selectionSet\") +\n \" that was trying to be written is:\\n\" +\n print(field));\n }\n if (isIdValue(escapedId) && escapedId.generated) {\n generatedKey = escapedId.id;\n shouldMerge = true;\n }\n }\n }\n var newStoreObj = __assign({}, store.get(dataId), (_b = {}, _b[storeFieldName] = storeValue, _b));\n if (shouldMerge) {\n mergeWithGenerated(generatedKey, storeValue.id, store);\n }\n storeObject = store.get(dataId);\n if (!storeObject || storeValue !== storeObject[storeFieldName]) {\n store.set(dataId, newStoreObj);\n }\n var _b;\n}\nfunction processArrayValue(value, generatedId, selectionSet, context) {\n return value.map(function (item, index) {\n if (item === null) {\n return null;\n }\n var itemDataId = generatedId + \".\" + index;\n if (Array.isArray(item)) {\n return processArrayValue(item, itemDataId, selectionSet, context);\n }\n var generated = true;\n if (context.dataIdFromObject) {\n var semanticId = context.dataIdFromObject(item);\n if (semanticId) {\n itemDataId = semanticId;\n generated = false;\n }\n }\n if (!isDataProcessed(itemDataId, selectionSet, context.processedData)) {\n writeSelectionSetToStore({\n dataId: itemDataId,\n result: item,\n selectionSet: selectionSet,\n context: context,\n });\n }\n var idStoreValue = {\n type: 'id',\n id: itemDataId,\n generated: generated,\n };\n return idStoreValue;\n });\n}\n//# sourceMappingURL=writeToStore.js.map","import { getMainDefinition, getFragmentDefinitions, createFragmentMap, shouldInclude, getDirectiveInfoFromField, isField, isInlineFragment, resultKeyNameFromField, argumentsObjectFromField, } from 'apollo-utilities';\nexport function graphql(resolver, document, rootValue, contextValue, variableValues, execOptions) {\n if (execOptions === void 0) { execOptions = {}; }\n var mainDefinition = getMainDefinition(document);\n var fragments = getFragmentDefinitions(document);\n var fragmentMap = createFragmentMap(fragments);\n var resultMapper = execOptions.resultMapper;\n var fragmentMatcher = execOptions.fragmentMatcher || (function () { return true; });\n var execContext = {\n fragmentMap: fragmentMap,\n contextValue: contextValue,\n variableValues: variableValues,\n resultMapper: resultMapper,\n resolver: resolver,\n fragmentMatcher: fragmentMatcher,\n };\n return executeSelectionSet(mainDefinition.selectionSet, rootValue, execContext);\n}\nfunction executeSelectionSet(selectionSet, rootValue, execContext) {\n var fragmentMap = execContext.fragmentMap, contextValue = execContext.contextValue, variables = execContext.variableValues;\n var result = {};\n selectionSet.selections.forEach(function (selection) {\n if (!shouldInclude(selection, variables)) {\n return;\n }\n if (isField(selection)) {\n var fieldResult = executeField(selection, rootValue, execContext);\n var resultFieldKey = resultKeyNameFromField(selection);\n if (fieldResult !== undefined) {\n if (result[resultFieldKey] === undefined) {\n result[resultFieldKey] = fieldResult;\n }\n else {\n merge(result[resultFieldKey], fieldResult);\n }\n }\n }\n else {\n var fragment = void 0;\n if (isInlineFragment(selection)) {\n fragment = selection;\n }\n else {\n fragment = fragmentMap[selection.name.value];\n if (!fragment) {\n throw new Error(\"No fragment named \" + selection.name.value);\n }\n }\n var typeCondition = fragment.typeCondition.name.value;\n if (execContext.fragmentMatcher(rootValue, typeCondition, contextValue)) {\n var fragmentResult = executeSelectionSet(fragment.selectionSet, rootValue, execContext);\n merge(result, fragmentResult);\n }\n }\n });\n if (execContext.resultMapper) {\n return execContext.resultMapper(result, rootValue);\n }\n return result;\n}\nfunction executeField(field, rootValue, execContext) {\n var variables = execContext.variableValues, contextValue = execContext.contextValue, resolver = execContext.resolver;\n var fieldName = field.name.value;\n var args = argumentsObjectFromField(field, variables);\n var info = {\n isLeaf: !field.selectionSet,\n resultKey: resultKeyNameFromField(field),\n directives: getDirectiveInfoFromField(field, variables),\n };\n var result = resolver(fieldName, rootValue, args, contextValue, info);\n if (!field.selectionSet) {\n return result;\n }\n if (result == null) {\n return result;\n }\n if (Array.isArray(result)) {\n return executeSubSelectedArray(field, result, execContext);\n }\n return executeSelectionSet(field.selectionSet, result, execContext);\n}\nfunction executeSubSelectedArray(field, result, execContext) {\n return result.map(function (item) {\n if (item === null) {\n return null;\n }\n if (Array.isArray(item)) {\n return executeSubSelectedArray(field, item, execContext);\n }\n return executeSelectionSet(field.selectionSet, item, execContext);\n });\n}\nexport function merge(dest, src) {\n if (src === null || typeof src !== 'object') {\n return src;\n }\n Object.keys(dest).forEach(function (destKey) {\n if (src.hasOwnProperty(destKey)) {\n merge(dest[destKey], src[destKey]);\n }\n });\n Object.keys(src).forEach(function (srcKey) {\n if (!dest.hasOwnProperty(srcKey)) {\n dest[srcKey] = src[srcKey];\n }\n });\n}\n//# sourceMappingURL=graphql.js.map","import { graphql } from './graphql';\nexport function filter(doc, data) {\n var resolver = function (fieldName, root, args, context, info) {\n return root[info.resultKey];\n };\n return graphql(resolver, doc, data);\n}\nexport function check(doc, data) {\n var resolver = function (fieldName, root, args, context, info) {\n if (!{}.hasOwnProperty.call(root, info.resultKey)) {\n throw new Error(info.resultKey + \" missing on \" + root);\n }\n return root[info.resultKey];\n };\n graphql(resolver, doc, data, {}, {}, {\n fragmentMatcher: function () { return false; },\n });\n}\nvar ANONYMOUS = '<<anonymous>>';\nfunction PropTypeError(message) {\n this.message = message;\n this.stack = '';\n}\nPropTypeError.prototype = Error.prototype;\nvar reactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context',\n};\nfunction createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n if (props[propName] == null) {\n var locationName = reactPropTypeLocationNames[location];\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError(\"The \" + locationName + \" `\" + propFullName + \"` is marked as required \" +\n (\"in `\" + componentName + \"`, but its value is `null`.\"));\n }\n return new PropTypeError(\"The \" + locationName + \" `\" + propFullName + \"` is marked as required in \" +\n (\"`\" + componentName + \"`, but its value is `undefined`.\"));\n }\n return null;\n }\n else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n return chainedCheckType;\n}\nexport function propType(doc) {\n return createChainableTypeChecker(function (props, propName) {\n var prop = props[propName];\n try {\n check(doc, prop);\n return null;\n }\n catch (e) {\n return e;\n }\n });\n}\n//# sourceMappingURL=utilities.js.map","export { filter, check, propType } from './utilities';\nimport { graphql } from './graphql';\nexport default graphql;\n//# sourceMappingURL=index.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport graphqlAnywhere from 'graphql-anywhere';\nimport { assign, isEqual, getDefaultValues, getQueryDefinition, isJsonValue, isIdValue, toIdValue, getStoreKeyName, } from 'apollo-utilities';\nexport var ID_KEY = typeof Symbol !== 'undefined' ? Symbol('id') : '@@id';\nexport function readQueryFromStore(options) {\n var optsPatch = { returnPartialData: false };\n return diffQueryAgainstStore(__assign({}, options, optsPatch)).result;\n}\nvar readStoreResolver = function (fieldName, idValue, args, context, _a) {\n var resultKey = _a.resultKey, directives = _a.directives;\n assertIdValue(idValue);\n var objId = idValue.id;\n var obj = context.store.get(objId);\n var storeKeyName = getStoreKeyName(fieldName, args, directives);\n var fieldValue = (obj || {})[storeKeyName];\n if (typeof fieldValue === 'undefined') {\n if (context.cacheRedirects &&\n obj &&\n (obj.__typename || objId === 'ROOT_QUERY')) {\n var typename = obj.__typename || 'Query';\n var type = context.cacheRedirects[typename];\n if (type) {\n var resolver = type[fieldName];\n if (resolver) {\n fieldValue = resolver(obj, args, {\n getCacheKey: function (obj) {\n return toIdValue(context.dataIdFromObject(obj));\n },\n });\n }\n }\n }\n }\n if (typeof fieldValue === 'undefined') {\n if (!context.returnPartialData) {\n throw new Error(\"Can't find field \" + storeKeyName + \" on object (\" + objId + \") \" + JSON.stringify(obj, null, 2) + \".\");\n }\n context.hasMissingField = true;\n return fieldValue;\n }\n if (isJsonValue(fieldValue)) {\n if (idValue.previousResult &&\n isEqual(idValue.previousResult[resultKey], fieldValue.json)) {\n return idValue.previousResult[resultKey];\n }\n return fieldValue.json;\n }\n if (idValue.previousResult) {\n fieldValue = addPreviousResultToIdValues(fieldValue, idValue.previousResult[resultKey]);\n }\n return fieldValue;\n};\nexport function diffQueryAgainstStore(_a) {\n var store = _a.store, query = _a.query, variables = _a.variables, previousResult = _a.previousResult, _b = _a.returnPartialData, returnPartialData = _b === void 0 ? true : _b, _c = _a.rootId, rootId = _c === void 0 ? 'ROOT_QUERY' : _c, fragmentMatcherFunction = _a.fragmentMatcherFunction, config = _a.config;\n var queryDefinition = getQueryDefinition(query);\n variables = assign({}, getDefaultValues(queryDefinition), variables);\n var context = {\n store: store,\n returnPartialData: returnPartialData,\n dataIdFromObject: (config && config.dataIdFromObject) || null,\n cacheRedirects: (config && config.cacheRedirects) || {},\n hasMissingField: false,\n };\n var rootIdValue = {\n type: 'id',\n id: rootId,\n previousResult: previousResult,\n };\n var result = graphqlAnywhere(readStoreResolver, query, rootIdValue, context, variables, {\n fragmentMatcher: fragmentMatcherFunction,\n resultMapper: resultMapper,\n });\n return {\n result: result,\n complete: !context.hasMissingField,\n };\n}\nexport function assertIdValue(idValue) {\n if (!isIdValue(idValue)) {\n throw new Error(\"Encountered a sub-selection on the query, but the store doesn't have an object reference. This should never happen during normal use unless you have custom code that is directly manipulating the store; please file an issue.\");\n }\n}\nfunction addPreviousResultToIdValues(value, previousResult) {\n if (isIdValue(value)) {\n return __assign({}, value, { previousResult: previousResult });\n }\n else if (Array.isArray(value)) {\n var idToPreviousResult_1 = new Map();\n if (Array.isArray(previousResult)) {\n previousResult.forEach(function (item) {\n if (item && item[ID_KEY]) {\n idToPreviousResult_1.set(item[ID_KEY], item);\n }\n });\n }\n return value.map(function (item, i) {\n var itemPreviousResult = previousResult && previousResult[i];\n if (isIdValue(item)) {\n itemPreviousResult =\n idToPreviousResult_1.get(item.id) || itemPreviousResult;\n }\n return addPreviousResultToIdValues(item, itemPreviousResult);\n });\n }\n return value;\n}\nfunction resultMapper(resultFields, idValue) {\n if (idValue.previousResult) {\n var currentResultKeys_1 = Object.keys(resultFields);\n var sameAsPreviousResult = Object.keys(idValue.previousResult).reduce(function (sameKeys, key) { return sameKeys && currentResultKeys_1.indexOf(key) > -1; }, true) &&\n currentResultKeys_1.every(function (key) {\n return areNestedArrayItemsStrictlyEqual(resultFields[key], idValue.previousResult[key]);\n });\n if (sameAsPreviousResult) {\n return idValue.previousResult;\n }\n }\n Object.defineProperty(resultFields, ID_KEY, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: idValue.id,\n });\n return resultFields;\n}\nfunction areNestedArrayItemsStrictlyEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n return a.every(function (item, i) { return areNestedArrayItemsStrictlyEqual(item, b[i]); });\n}\n//# sourceMappingURL=readFromStore.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar RecordingCache = (function () {\n function RecordingCache(data) {\n if (data === void 0) { data = {}; }\n this.data = data;\n this.recordedData = {};\n }\n RecordingCache.prototype.record = function (transaction) {\n transaction(this);\n var recordedData = this.recordedData;\n this.recordedData = {};\n return recordedData;\n };\n RecordingCache.prototype.toObject = function () {\n return __assign({}, this.data, this.recordedData);\n };\n RecordingCache.prototype.get = function (dataId) {\n if (this.recordedData.hasOwnProperty(dataId)) {\n return this.recordedData[dataId];\n }\n return this.data[dataId];\n };\n RecordingCache.prototype.set = function (dataId, value) {\n if (this.get(dataId) !== value) {\n this.recordedData[dataId] = value;\n }\n };\n RecordingCache.prototype.delete = function (dataId) {\n this.recordedData[dataId] = undefined;\n };\n RecordingCache.prototype.clear = function () {\n var _this = this;\n Object.keys(this.data).forEach(function (dataId) { return _this.delete(dataId); });\n this.recordedData = {};\n };\n RecordingCache.prototype.replace = function (newData) {\n this.clear();\n this.recordedData = __assign({}, newData);\n };\n return RecordingCache;\n}());\nexport { RecordingCache };\nexport function record(startingState, transaction) {\n var recordingCache = new RecordingCache(startingState);\n return recordingCache.record(transaction);\n}\n//# sourceMappingURL=recordingCache.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { ApolloCache } from 'apollo-cache';\nimport { getFragmentQueryDocument, addTypenameToDocument, } from 'apollo-utilities';\nimport { HeuristicFragmentMatcher } from './fragmentMatcher';\nimport { writeResultToStore } from './writeToStore';\nimport { readQueryFromStore, diffQueryAgainstStore } from './readFromStore';\nimport { defaultNormalizedCacheFactory } from './objectCache';\nimport { record } from './recordingCache';\nvar defaultConfig = {\n fragmentMatcher: new HeuristicFragmentMatcher(),\n dataIdFromObject: defaultDataIdFromObject,\n addTypename: true,\n storeFactory: defaultNormalizedCacheFactory,\n};\nexport function defaultDataIdFromObject(result) {\n if (result.__typename) {\n if (result.id !== undefined) {\n return result.__typename + \":\" + result.id;\n }\n if (result._id !== undefined) {\n return result.__typename + \":\" + result._id;\n }\n }\n return null;\n}\nvar InMemoryCache = (function (_super) {\n __extends(InMemoryCache, _super);\n function InMemoryCache(config) {\n if (config === void 0) { config = {}; }\n var _this = _super.call(this) || this;\n _this.optimistic = [];\n _this.watches = [];\n _this.silenceBroadcast = false;\n _this.config = __assign({}, defaultConfig, config);\n if (_this.config.customResolvers) {\n console.warn('customResolvers have been renamed to cacheRedirects. Please update your config as we will be deprecating customResolvers in the next major version.');\n _this.config.cacheRedirects = _this.config.customResolvers;\n }\n if (_this.config.cacheResolvers) {\n console.warn('cacheResolvers have been renamed to cacheRedirects. Please update your config as we will be deprecating cacheResolvers in the next major version.');\n _this.config.cacheRedirects = _this.config.cacheResolvers;\n }\n _this.addTypename = _this.config.addTypename;\n _this.data = _this.config.storeFactory();\n return _this;\n }\n InMemoryCache.prototype.restore = function (data) {\n if (data)\n this.data.replace(data);\n return this;\n };\n InMemoryCache.prototype.extract = function (optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n if (optimistic && this.optimistic.length > 0) {\n var patches = this.optimistic.map(function (opt) { return opt.data; });\n return Object.assign.apply(Object, [{}, this.data.toObject()].concat(patches));\n }\n return this.data.toObject();\n };\n InMemoryCache.prototype.read = function (query) {\n if (query.rootId && this.data.get(query.rootId) === undefined) {\n return null;\n }\n return readQueryFromStore({\n store: this.config.storeFactory(this.extract(query.optimistic)),\n query: this.transformDocument(query.query),\n variables: query.variables,\n rootId: query.rootId,\n fragmentMatcherFunction: this.config.fragmentMatcher.match,\n previousResult: query.previousResult,\n config: this.config,\n });\n };\n InMemoryCache.prototype.write = function (write) {\n writeResultToStore({\n dataId: write.dataId,\n result: write.result,\n variables: write.variables,\n document: this.transformDocument(write.query),\n store: this.data,\n dataIdFromObject: this.config.dataIdFromObject,\n fragmentMatcherFunction: this.config.fragmentMatcher.match,\n });\n this.broadcastWatches();\n };\n InMemoryCache.prototype.diff = function (query) {\n return diffQueryAgainstStore({\n store: this.config.storeFactory(this.extract(query.optimistic)),\n query: this.transformDocument(query.query),\n variables: query.variables,\n returnPartialData: query.returnPartialData,\n previousResult: query.previousResult,\n fragmentMatcherFunction: this.config.fragmentMatcher.match,\n config: this.config,\n });\n };\n InMemoryCache.prototype.watch = function (watch) {\n var _this = this;\n this.watches.push(watch);\n return function () {\n _this.watches = _this.watches.filter(function (c) { return c !== watch; });\n };\n };\n InMemoryCache.prototype.evict = function (query) {\n throw new Error(\"eviction is not implemented on InMemory Cache\");\n };\n InMemoryCache.prototype.reset = function () {\n this.data.clear();\n this.broadcastWatches();\n return Promise.resolve();\n };\n InMemoryCache.prototype.removeOptimistic = function (id) {\n var _this = this;\n var toPerform = this.optimistic.filter(function (item) { return item.id !== id; });\n this.optimistic = [];\n toPerform.forEach(function (change) {\n _this.recordOptimisticTransaction(change.transaction, change.id);\n });\n this.broadcastWatches();\n };\n InMemoryCache.prototype.performTransaction = function (transaction) {\n var alreadySilenced = this.silenceBroadcast;\n this.silenceBroadcast = true;\n transaction(this);\n if (!alreadySilenced) {\n this.silenceBroadcast = false;\n }\n this.broadcastWatches();\n };\n InMemoryCache.prototype.recordOptimisticTransaction = function (transaction, id) {\n var _this = this;\n this.silenceBroadcast = true;\n var patch = record(this.extract(true), function (recordingCache) {\n var dataCache = _this.data;\n _this.data = recordingCache;\n _this.performTransaction(transaction);\n _this.data = dataCache;\n });\n this.optimistic.push({\n id: id,\n transaction: transaction,\n data: patch,\n });\n this.silenceBroadcast = false;\n this.broadcastWatches();\n };\n InMemoryCache.prototype.transformDocument = function (document) {\n if (this.addTypename)\n return addTypenameToDocument(document);\n return document;\n };\n InMemoryCache.prototype.readQuery = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.read({\n query: options.query,\n variables: options.variables,\n optimistic: optimistic,\n });\n };\n InMemoryCache.prototype.readFragment = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.read({\n query: this.transformDocument(getFragmentQueryDocument(options.fragment, options.fragmentName)),\n variables: options.variables,\n rootId: options.id,\n optimistic: optimistic,\n });\n };\n InMemoryCache.prototype.writeQuery = function (options) {\n this.write({\n dataId: 'ROOT_QUERY',\n result: options.data,\n query: this.transformDocument(options.query),\n variables: options.variables,\n });\n };\n InMemoryCache.prototype.writeFragment = function (options) {\n this.write({\n dataId: options.id,\n result: options.data,\n query: this.transformDocument(getFragmentQueryDocument(options.fragment, options.fragmentName)),\n variables: options.variables,\n });\n };\n InMemoryCache.prototype.broadcastWatches = function () {\n var _this = this;\n if (this.silenceBroadcast)\n return;\n this.watches.forEach(function (c) {\n var newData = _this.diff({\n query: c.query,\n variables: c.variables,\n previousResult: c.previousResult && c.previousResult(),\n optimistic: c.optimistic,\n });\n c.callback(newData);\n });\n };\n return InMemoryCache;\n}(ApolloCache));\nexport { InMemoryCache };\n//# sourceMappingURL=inMemoryCache.js.map","export var NetworkStatus;\n(function (NetworkStatus) {\n NetworkStatus[NetworkStatus[\"loading\"] = 1] = \"loading\";\n NetworkStatus[NetworkStatus[\"setVariables\"] = 2] = \"setVariables\";\n NetworkStatus[NetworkStatus[\"fetchMore\"] = 3] = \"fetchMore\";\n NetworkStatus[NetworkStatus[\"refetch\"] = 4] = \"refetch\";\n NetworkStatus[NetworkStatus[\"poll\"] = 6] = \"poll\";\n NetworkStatus[NetworkStatus[\"ready\"] = 7] = \"ready\";\n NetworkStatus[NetworkStatus[\"error\"] = 8] = \"error\";\n})(NetworkStatus || (NetworkStatus = {}));\nexport function isNetworkRequestInFlight(networkStatus) {\n return networkStatus < 7;\n}\n//# sourceMappingURL=networkStatus.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Observable as LinkObservable } from 'apollo-link';\nimport $$observable from 'symbol-observable';\nvar Observable = (function (_super) {\n __extends(Observable, _super);\n function Observable() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Observable.prototype[$$observable] = function () {\n return this;\n };\n return Observable;\n}(LinkObservable));\nexport { Observable };\n//# sourceMappingURL=Observable.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexport function isApolloError(err) {\n return err.hasOwnProperty('graphQLErrors');\n}\nvar generateErrorMessage = function (err) {\n var message = '';\n if (Array.isArray(err.graphQLErrors) && err.graphQLErrors.length !== 0) {\n err.graphQLErrors.forEach(function (graphQLError) {\n var errorMessage = graphQLError\n ? graphQLError.message\n : 'Error message not found.';\n message += \"GraphQL error: \" + errorMessage + \"\\n\";\n });\n }\n if (err.networkError) {\n message += 'Network error: ' + err.networkError.message + '\\n';\n }\n message = message.replace(/\\n$/, '');\n return message;\n};\nvar ApolloError = (function (_super) {\n __extends(ApolloError, _super);\n function ApolloError(_a) {\n var graphQLErrors = _a.graphQLErrors, networkError = _a.networkError, errorMessage = _a.errorMessage, extraInfo = _a.extraInfo;\n var _this = _super.call(this, errorMessage) || this;\n _this.graphQLErrors = graphQLErrors || [];\n _this.networkError = networkError || null;\n if (!errorMessage) {\n _this.message = generateErrorMessage(_this);\n }\n else {\n _this.message = errorMessage;\n }\n _this.extraInfo = extraInfo;\n return _this;\n }\n return ApolloError;\n}(Error));\nexport { ApolloError };\n//# sourceMappingURL=ApolloError.js.map","export var FetchType;\n(function (FetchType) {\n FetchType[FetchType[\"normal\"] = 1] = \"normal\";\n FetchType[FetchType[\"refetch\"] = 2] = \"refetch\";\n FetchType[FetchType[\"poll\"] = 3] = \"poll\";\n})(FetchType || (FetchType = {}));\n//# sourceMappingURL=types.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { isEqual, tryFunctionOrLogError, maybeDeepFreeze, } from 'apollo-utilities';\nimport { NetworkStatus, isNetworkRequestInFlight } from './networkStatus';\nimport { Observable } from '../util/Observable';\nimport { ApolloError } from '../errors/ApolloError';\nimport { FetchType } from './types';\nexport var hasError = function (storeValue, policy) {\n if (policy === void 0) { policy = 'none'; }\n return storeValue &&\n ((storeValue.graphQLErrors &&\n storeValue.graphQLErrors.length > 0 &&\n policy === 'none') ||\n storeValue.networkError);\n};\nvar ObservableQuery = (function (_super) {\n __extends(ObservableQuery, _super);\n function ObservableQuery(_a) {\n var scheduler = _a.scheduler, options = _a.options, _b = _a.shouldSubscribe, shouldSubscribe = _b === void 0 ? true : _b;\n var _this = _super.call(this, function (observer) {\n return _this.onSubscribe(observer);\n }) || this;\n _this.isCurrentlyPolling = false;\n _this.isTornDown = false;\n _this.options = options;\n _this.variables = options.variables || {};\n _this.queryId = scheduler.queryManager.generateQueryId();\n _this.shouldSubscribe = shouldSubscribe;\n _this.scheduler = scheduler;\n _this.queryManager = scheduler.queryManager;\n _this.observers = [];\n _this.subscriptionHandles = [];\n return _this;\n }\n ObservableQuery.prototype.result = function () {\n var that = this;\n return new Promise(function (resolve, reject) {\n var subscription;\n var observer = {\n next: function (result) {\n resolve(result);\n if (!that.observers.some(function (obs) { return obs !== observer; })) {\n that.queryManager.removeQuery(that.queryId);\n }\n setTimeout(function () {\n subscription.unsubscribe();\n }, 0);\n },\n error: function (error) {\n reject(error);\n },\n };\n subscription = that.subscribe(observer);\n });\n };\n ObservableQuery.prototype.currentResult = function () {\n if (this.isTornDown) {\n return {\n data: this.lastError ? {} : this.lastResult ? this.lastResult.data : {},\n error: this.lastError,\n loading: false,\n networkStatus: NetworkStatus.error,\n };\n }\n var queryStoreValue = this.queryManager.queryStore.get(this.queryId);\n if (hasError(queryStoreValue, this.options.errorPolicy)) {\n return {\n data: {},\n loading: false,\n networkStatus: queryStoreValue.networkStatus,\n error: new ApolloError({\n graphQLErrors: queryStoreValue.graphQLErrors,\n networkError: queryStoreValue.networkError,\n }),\n };\n }\n var _a = this.queryManager.getCurrentQueryResult(this), data = _a.data, partial = _a.partial;\n var queryLoading = !queryStoreValue ||\n queryStoreValue.networkStatus === NetworkStatus.loading;\n var loading = (this.options.fetchPolicy === 'network-only' && queryLoading) ||\n (partial && this.options.fetchPolicy !== 'cache-only');\n var networkStatus;\n if (queryStoreValue) {\n networkStatus = queryStoreValue.networkStatus;\n }\n else {\n networkStatus = loading ? NetworkStatus.loading : NetworkStatus.ready;\n }\n var result = {\n data: data,\n loading: isNetworkRequestInFlight(networkStatus),\n networkStatus: networkStatus,\n };\n if (queryStoreValue &&\n queryStoreValue.graphQLErrors &&\n this.options.errorPolicy === 'all') {\n result.errors = queryStoreValue.graphQLErrors;\n }\n if (!partial) {\n var stale = false;\n this.lastResult = __assign({}, result, { stale: stale });\n }\n return __assign({}, result, { partial: partial });\n };\n ObservableQuery.prototype.getLastResult = function () {\n return this.lastResult;\n };\n ObservableQuery.prototype.getLastError = function () {\n return this.lastError;\n };\n ObservableQuery.prototype.resetLastResults = function () {\n delete this.lastResult;\n delete this.lastError;\n this.isTornDown = false;\n };\n ObservableQuery.prototype.refetch = function (variables) {\n if (this.options.fetchPolicy === 'cache-only') {\n return Promise.reject(new Error('cache-only fetchPolicy option should not be used together with query refetch.'));\n }\n if (!isEqual(this.variables, variables)) {\n this.variables = __assign({}, this.variables, variables);\n }\n if (!isEqual(this.options.variables, this.variables)) {\n this.options.variables = __assign({}, this.options.variables, this.variables);\n }\n var combinedOptions = __assign({}, this.options, { fetchPolicy: 'network-only' });\n return this.queryManager\n .fetchQuery(this.queryId, combinedOptions, FetchType.refetch)\n .then(function (result) { return maybeDeepFreeze(result); });\n };\n ObservableQuery.prototype.fetchMore = function (fetchMoreOptions) {\n var _this = this;\n if (!fetchMoreOptions.updateQuery) {\n throw new Error('updateQuery option is required. This function defines how to update the query data with the new results.');\n }\n return Promise.resolve()\n .then(function () {\n var qid = _this.queryManager.generateQueryId();\n var combinedOptions;\n if (fetchMoreOptions.query) {\n combinedOptions = fetchMoreOptions;\n }\n else {\n combinedOptions = __assign({}, _this.options, fetchMoreOptions, { variables: __assign({}, _this.variables, fetchMoreOptions.variables) });\n }\n combinedOptions.fetchPolicy = 'network-only';\n return _this.queryManager.fetchQuery(qid, combinedOptions, FetchType.normal, _this.queryId);\n })\n .then(function (fetchMoreResult) {\n _this.updateQuery(function (previousResult, _a) {\n var variables = _a.variables;\n return fetchMoreOptions.updateQuery(previousResult, {\n fetchMoreResult: fetchMoreResult.data,\n variables: variables,\n });\n });\n return fetchMoreResult;\n });\n };\n ObservableQuery.prototype.subscribeToMore = function (options) {\n var _this = this;\n var subscription = this.queryManager\n .startGraphQLSubscription({\n query: options.document,\n variables: options.variables,\n })\n .subscribe({\n next: function (data) {\n if (options.updateQuery) {\n _this.updateQuery(function (previous, _a) {\n var variables = _a.variables;\n return options.updateQuery(previous, {\n subscriptionData: data,\n variables: variables,\n });\n });\n }\n },\n error: function (err) {\n if (options.onError) {\n options.onError(err);\n return;\n }\n console.error('Unhandled GraphQL subscription error', err);\n },\n });\n this.subscriptionHandles.push(subscription);\n return function () {\n var i = _this.subscriptionHandles.indexOf(subscription);\n if (i >= 0) {\n _this.subscriptionHandles.splice(i, 1);\n subscription.unsubscribe();\n }\n };\n };\n ObservableQuery.prototype.setOptions = function (opts) {\n var oldOptions = this.options;\n this.options = __assign({}, this.options, opts);\n if (opts.pollInterval) {\n this.startPolling(opts.pollInterval);\n }\n else if (opts.pollInterval === 0) {\n this.stopPolling();\n }\n var tryFetch = (oldOptions.fetchPolicy !== 'network-only' &&\n opts.fetchPolicy === 'network-only') ||\n (oldOptions.fetchPolicy === 'cache-only' &&\n opts.fetchPolicy !== 'cache-only') ||\n (oldOptions.fetchPolicy === 'standby' &&\n opts.fetchPolicy !== 'standby') ||\n false;\n return this.setVariables(this.options.variables, tryFetch, opts.fetchResults);\n };\n ObservableQuery.prototype.setVariables = function (variables, tryFetch, fetchResults) {\n if (tryFetch === void 0) { tryFetch = false; }\n if (fetchResults === void 0) { fetchResults = true; }\n this.isTornDown = false;\n var newVariables = __assign({}, this.variables, variables);\n if (isEqual(newVariables, this.variables) && !tryFetch) {\n if (this.observers.length === 0 || !fetchResults) {\n return new Promise(function (resolve) { return resolve(); });\n }\n return this.result();\n }\n else {\n this.lastVariables = this.variables;\n this.variables = newVariables;\n this.options.variables = newVariables;\n if (this.observers.length === 0) {\n return new Promise(function (resolve) { return resolve(); });\n }\n return this.queryManager\n .fetchQuery(this.queryId, __assign({}, this.options, { variables: this.variables }))\n .then(function (result) { return maybeDeepFreeze(result); });\n }\n };\n ObservableQuery.prototype.updateQuery = function (mapFn) {\n var _a = this.queryManager.getQueryWithPreviousResult(this.queryId), previousResult = _a.previousResult, variables = _a.variables, document = _a.document;\n var newResult = tryFunctionOrLogError(function () {\n return mapFn(previousResult, { variables: variables });\n });\n if (newResult) {\n this.queryManager.dataStore.markUpdateQueryResult(document, variables, newResult);\n this.queryManager.broadcastQueries();\n }\n };\n ObservableQuery.prototype.stopPolling = function () {\n if (this.isCurrentlyPolling) {\n this.scheduler.stopPollingQuery(this.queryId);\n this.options.pollInterval = undefined;\n this.isCurrentlyPolling = false;\n }\n };\n ObservableQuery.prototype.startPolling = function (pollInterval) {\n if (this.options.fetchPolicy === 'cache-first' ||\n this.options.fetchPolicy === 'cache-only') {\n throw new Error('Queries that specify the cache-first and cache-only fetchPolicies cannot also be polling queries.');\n }\n if (this.isCurrentlyPolling) {\n this.scheduler.stopPollingQuery(this.queryId);\n this.isCurrentlyPolling = false;\n }\n this.options.pollInterval = pollInterval;\n this.isCurrentlyPolling = true;\n this.scheduler.startPollingQuery(this.options, this.queryId);\n };\n ObservableQuery.prototype.onSubscribe = function (observer) {\n var _this = this;\n if (observer._subscription &&\n observer._subscription._observer &&\n !observer._subscription._observer.error) {\n observer._subscription._observer.error = function (error) {\n console.error('Unhandled error', error.message, error.stack);\n };\n }\n this.observers.push(observer);\n if (observer.next && this.lastResult)\n observer.next(this.lastResult);\n if (observer.error && this.lastError)\n observer.error(this.lastError);\n if (this.observers.length === 1)\n this.setUpQuery();\n return function () {\n _this.observers = _this.observers.filter(function (obs) { return obs !== observer; });\n if (_this.observers.length === 0) {\n _this.tearDownQuery();\n }\n };\n };\n ObservableQuery.prototype.setUpQuery = function () {\n var _this = this;\n if (this.shouldSubscribe) {\n this.queryManager.addObservableQuery(this.queryId, this);\n }\n if (!!this.options.pollInterval) {\n if (this.options.fetchPolicy === 'cache-first' ||\n this.options.fetchPolicy === 'cache-only') {\n throw new Error('Queries that specify the cache-first and cache-only fetchPolicies cannot also be polling queries.');\n }\n this.isCurrentlyPolling = true;\n this.scheduler.startPollingQuery(this.options, this.queryId);\n }\n var observer = {\n next: function (result) {\n _this.lastResult = result;\n _this.observers.forEach(function (obs) { return obs.next && obs.next(result); });\n },\n error: function (error) {\n _this.lastError = error;\n _this.observers.forEach(function (obs) { return obs.error && obs.error(error); });\n },\n };\n this.queryManager.startQuery(this.queryId, this.options, this.queryManager.queryListenerForObserver(this.queryId, this.options, observer));\n };\n ObservableQuery.prototype.tearDownQuery = function () {\n this.isTornDown = true;\n if (this.isCurrentlyPolling) {\n this.scheduler.stopPollingQuery(this.queryId);\n this.isCurrentlyPolling = false;\n }\n this.subscriptionHandles.forEach(function (sub) { return sub.unsubscribe(); });\n this.subscriptionHandles = [];\n this.queryManager.removeObservableQuery(this.queryId);\n this.queryManager.stopQuery(this.queryId);\n this.observers = [];\n };\n return ObservableQuery;\n}(Observable));\nexport { ObservableQuery };\n//# sourceMappingURL=ObservableQuery.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { ApolloLink, Observable, } from 'apollo-link';\nvar DedupLink = (function (_super) {\n __extends(DedupLink, _super);\n function DedupLink() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.inFlightRequestObservables = new Map();\n _this.subscribers = new Map();\n return _this;\n }\n DedupLink.prototype.request = function (operation, forward) {\n var _this = this;\n if (operation.getContext().forceFetch) {\n return forward(operation);\n }\n var key = operation.toKey();\n var cleanup = function (key) {\n _this.inFlightRequestObservables.delete(key);\n var prev = _this.subscribers.get(key);\n return prev;\n };\n if (!this.inFlightRequestObservables.get(key)) {\n var singleObserver_1 = forward(operation);\n var subscription_1;\n var sharedObserver = new Observable(function (observer) {\n var prev = _this.subscribers.get(key);\n if (!prev)\n prev = { next: [], error: [], complete: [] };\n _this.subscribers.set(key, {\n next: prev.next.concat([observer.next.bind(observer)]),\n error: prev.error.concat([observer.error.bind(observer)]),\n complete: prev.complete.concat([observer.complete.bind(observer)]),\n });\n if (!subscription_1) {\n subscription_1 = singleObserver_1.subscribe({\n next: function (result) {\n var prev = cleanup(key);\n _this.subscribers.delete(key);\n if (prev) {\n prev.next.forEach(function (next) { return next(result); });\n prev.complete.forEach(function (complete) { return complete(); });\n }\n },\n error: function (error) {\n var prev = cleanup(key);\n _this.subscribers.delete(key);\n if (prev)\n prev.error.forEach(function (err) { return err(error); });\n },\n });\n }\n return function () {\n if (subscription_1)\n subscription_1.unsubscribe();\n _this.inFlightRequestObservables.delete(key);\n };\n });\n this.inFlightRequestObservables.set(key, sharedObserver);\n }\n return this.inFlightRequestObservables.get(key);\n };\n return DedupLink;\n}(ApolloLink));\nexport { DedupLink };\n//# sourceMappingURL=dedupLink.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { FetchType } from '../core/types';\nimport { ObservableQuery } from '../core/ObservableQuery';\nimport { NetworkStatus } from '../core/networkStatus';\nvar QueryScheduler = (function () {\n function QueryScheduler(_a) {\n var queryManager = _a.queryManager, ssrMode = _a.ssrMode;\n this.inFlightQueries = {};\n this.registeredQueries = {};\n this.intervalQueries = {};\n this.pollingTimers = {};\n this.ssrMode = false;\n this.queryManager = queryManager;\n this.ssrMode = ssrMode || false;\n }\n QueryScheduler.prototype.checkInFlight = function (queryId) {\n var query = this.queryManager.queryStore.get(queryId);\n return (query &&\n query.networkStatus !== NetworkStatus.ready &&\n query.networkStatus !== NetworkStatus.error);\n };\n QueryScheduler.prototype.fetchQuery = function (queryId, options, fetchType) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n _this.queryManager\n .fetchQuery(queryId, options, fetchType)\n .then(function (result) {\n resolve(result);\n })\n .catch(function (error) {\n reject(error);\n });\n });\n };\n QueryScheduler.prototype.startPollingQuery = function (options, queryId, listener) {\n if (!options.pollInterval) {\n throw new Error('Attempted to start a polling query without a polling interval.');\n }\n if (this.ssrMode)\n return queryId;\n this.registeredQueries[queryId] = options;\n if (listener) {\n this.queryManager.addQueryListener(queryId, listener);\n }\n this.addQueryOnInterval(queryId, options);\n return queryId;\n };\n QueryScheduler.prototype.stopPollingQuery = function (queryId) {\n delete this.registeredQueries[queryId];\n };\n QueryScheduler.prototype.fetchQueriesOnInterval = function (interval) {\n var _this = this;\n this.intervalQueries[interval] = this.intervalQueries[interval].filter(function (queryId) {\n if (!(_this.registeredQueries.hasOwnProperty(queryId) &&\n _this.registeredQueries[queryId].pollInterval === interval)) {\n return false;\n }\n if (_this.checkInFlight(queryId)) {\n return true;\n }\n var queryOptions = _this.registeredQueries[queryId];\n var pollingOptions = __assign({}, queryOptions);\n pollingOptions.fetchPolicy = 'network-only';\n _this.fetchQuery(queryId, pollingOptions, FetchType.poll).catch(function () { });\n return true;\n });\n if (this.intervalQueries[interval].length === 0) {\n clearInterval(this.pollingTimers[interval]);\n delete this.intervalQueries[interval];\n }\n };\n QueryScheduler.prototype.addQueryOnInterval = function (queryId, queryOptions) {\n var _this = this;\n var interval = queryOptions.pollInterval;\n if (!interval) {\n throw new Error(\"A poll interval is required to start polling query with id '\" + queryId + \"'.\");\n }\n if (this.intervalQueries.hasOwnProperty(interval.toString()) &&\n this.intervalQueries[interval].length > 0) {\n this.intervalQueries[interval].push(queryId);\n }\n else {\n this.intervalQueries[interval] = [queryId];\n this.pollingTimers[interval] = setInterval(function () {\n _this.fetchQueriesOnInterval(interval);\n }, interval);\n }\n };\n QueryScheduler.prototype.registerPollingQuery = function (queryOptions) {\n if (!queryOptions.pollInterval) {\n throw new Error('Attempted to register a non-polling query with the scheduler.');\n }\n return new ObservableQuery({\n scheduler: this,\n options: queryOptions,\n });\n };\n return QueryScheduler;\n}());\nexport { QueryScheduler };\n//# sourceMappingURL=scheduler.js.map","var MutationStore = (function () {\n function MutationStore() {\n this.store = {};\n }\n MutationStore.prototype.getStore = function () {\n return this.store;\n };\n MutationStore.prototype.get = function (mutationId) {\n return this.store[mutationId];\n };\n MutationStore.prototype.initMutation = function (mutationId, mutationString, variables) {\n this.store[mutationId] = {\n mutationString: mutationString,\n variables: variables || {},\n loading: true,\n error: null,\n };\n };\n MutationStore.prototype.markMutationError = function (mutationId, error) {\n var mutation = this.store[mutationId];\n if (!mutation) {\n return;\n }\n mutation.loading = false;\n mutation.error = error;\n };\n MutationStore.prototype.markMutationResult = function (mutationId) {\n var mutation = this.store[mutationId];\n if (!mutation) {\n return;\n }\n mutation.loading = false;\n mutation.error = null;\n };\n MutationStore.prototype.reset = function () {\n this.store = {};\n };\n return MutationStore;\n}());\nexport { MutationStore };\n//# sourceMappingURL=mutations.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { isEqual } from 'apollo-utilities';\nimport { NetworkStatus } from '../core/networkStatus';\nvar QueryStore = (function () {\n function QueryStore() {\n this.store = {};\n }\n QueryStore.prototype.getStore = function () {\n return this.store;\n };\n QueryStore.prototype.get = function (queryId) {\n return this.store[queryId];\n };\n QueryStore.prototype.initQuery = function (query) {\n var previousQuery = this.store[query.queryId];\n if (previousQuery && previousQuery.queryString !== query.queryString) {\n throw new Error('Internal Error: may not update existing query string in store');\n }\n var isSetVariables = false;\n var previousVariables = null;\n if (query.storePreviousVariables &&\n previousQuery &&\n previousQuery.networkStatus !== NetworkStatus.loading) {\n if (!isEqual(previousQuery.variables, query.variables)) {\n isSetVariables = true;\n previousVariables = previousQuery.variables;\n }\n }\n var networkStatus;\n if (isSetVariables) {\n networkStatus = NetworkStatus.setVariables;\n }\n else if (query.isPoll) {\n networkStatus = NetworkStatus.poll;\n }\n else if (query.isRefetch) {\n networkStatus = NetworkStatus.refetch;\n }\n else {\n networkStatus = NetworkStatus.loading;\n }\n var graphQLErrors = [];\n if (previousQuery && previousQuery.graphQLErrors) {\n graphQLErrors = previousQuery.graphQLErrors;\n }\n this.store[query.queryId] = {\n queryString: query.queryString,\n document: query.document,\n variables: query.variables,\n previousVariables: previousVariables,\n networkError: null,\n graphQLErrors: graphQLErrors,\n networkStatus: networkStatus,\n metadata: query.metadata,\n };\n if (typeof query.fetchMoreForQueryId === 'string') {\n this.store[query.fetchMoreForQueryId].networkStatus =\n NetworkStatus.fetchMore;\n }\n };\n QueryStore.prototype.markQueryResult = function (queryId, result, fetchMoreForQueryId) {\n if (!this.store[queryId])\n return;\n this.store[queryId].networkError = null;\n this.store[queryId].graphQLErrors =\n result.errors && result.errors.length ? result.errors : [];\n this.store[queryId].previousVariables = null;\n this.store[queryId].networkStatus = NetworkStatus.ready;\n if (typeof fetchMoreForQueryId === 'string') {\n this.store[fetchMoreForQueryId].networkStatus = NetworkStatus.ready;\n }\n };\n QueryStore.prototype.markQueryError = function (queryId, error, fetchMoreForQueryId) {\n if (!this.store[queryId])\n return;\n this.store[queryId].networkError = error;\n this.store[queryId].networkStatus = NetworkStatus.error;\n if (typeof fetchMoreForQueryId === 'string') {\n this.markQueryError(fetchMoreForQueryId, error, undefined);\n }\n };\n QueryStore.prototype.markQueryResultClient = function (queryId, complete) {\n if (!this.store[queryId])\n return;\n this.store[queryId].networkError = null;\n this.store[queryId].previousVariables = null;\n this.store[queryId].networkStatus = complete\n ? NetworkStatus.ready\n : NetworkStatus.loading;\n };\n QueryStore.prototype.stopQuery = function (queryId) {\n delete this.store[queryId];\n };\n QueryStore.prototype.reset = function (observableQueryIds) {\n var _this = this;\n this.store = Object.keys(this.store)\n .filter(function (queryId) {\n return observableQueryIds.indexOf(queryId) > -1;\n })\n .reduce(function (res, key) {\n res[key] = __assign({}, _this.store[key], { networkStatus: NetworkStatus.loading });\n return res;\n }, {});\n };\n return QueryStore;\n}());\nexport { QueryStore };\n//# sourceMappingURL=queries.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { execute, ApolloLink } from 'apollo-link';\nimport { print } from 'graphql/language/printer';\nimport { DedupLink as Deduplicator } from 'apollo-link-dedup';\nimport { assign, getDefaultValues, getMutationDefinition, getOperationDefinition, getOperationName, getQueryDefinition, isProduction, maybeDeepFreeze, hasDirectives, } from 'apollo-utilities';\nimport { QueryScheduler } from '../scheduler/scheduler';\nimport { isApolloError, ApolloError } from '../errors/ApolloError';\nimport { Observable } from '../util/Observable';\nimport { MutationStore } from '../data/mutations';\nimport { QueryStore } from '../data/queries';\nimport { ObservableQuery } from './ObservableQuery';\nimport { NetworkStatus, isNetworkRequestInFlight } from './networkStatus';\nimport { FetchType } from './types';\nvar defaultQueryInfo = {\n listeners: [],\n invalidated: false,\n document: null,\n newData: null,\n lastRequestId: null,\n observableQuery: null,\n subscriptions: [],\n};\nvar QueryManager = (function () {\n function QueryManager(_a) {\n var link = _a.link, _b = _a.queryDeduplication, queryDeduplication = _b === void 0 ? false : _b, store = _a.store, _c = _a.onBroadcast, onBroadcast = _c === void 0 ? function () { return undefined; } : _c, _d = _a.ssrMode, ssrMode = _d === void 0 ? false : _d;\n this.mutationStore = new MutationStore();\n this.queryStore = new QueryStore();\n this.idCounter = 1;\n this.queries = new Map();\n this.fetchQueryPromises = new Map();\n this.queryIdsByName = {};\n this.link = link;\n this.deduplicator = ApolloLink.from([new Deduplicator(), link]);\n this.queryDeduplication = queryDeduplication;\n this.dataStore = store;\n this.onBroadcast = onBroadcast;\n this.scheduler = new QueryScheduler({ queryManager: this, ssrMode: ssrMode });\n }\n QueryManager.prototype.mutate = function (_a) {\n var _this = this;\n var mutation = _a.mutation, variables = _a.variables, optimisticResponse = _a.optimisticResponse, updateQueriesByName = _a.updateQueries, _b = _a.refetchQueries, refetchQueries = _b === void 0 ? [] : _b, updateWithProxyFn = _a.update, _c = _a.errorPolicy, errorPolicy = _c === void 0 ? 'none' : _c, fetchPolicy = _a.fetchPolicy, _d = _a.context, context = _d === void 0 ? {} : _d;\n if (!mutation) {\n throw new Error('mutation option is required. You must specify your GraphQL document in the mutation option.');\n }\n if (fetchPolicy && fetchPolicy !== 'no-cache') {\n throw new Error(\"fetchPolicy for mutations currently only supports the 'no-cache' policy\");\n }\n var mutationId = this.generateQueryId();\n var cache = this.dataStore.getCache();\n (mutation = cache.transformDocument(mutation)),\n (variables = assign({}, getDefaultValues(getMutationDefinition(mutation)), variables));\n var mutationString = print(mutation);\n this.setQuery(mutationId, function () { return ({ document: mutation }); });\n var generateUpdateQueriesInfo = function () {\n var ret = {};\n if (updateQueriesByName) {\n Object.keys(updateQueriesByName).forEach(function (queryName) {\n return (_this.queryIdsByName[queryName] || []).forEach(function (queryId) {\n ret[queryId] = {\n updater: updateQueriesByName[queryName],\n query: _this.queryStore.get(queryId),\n };\n });\n });\n }\n return ret;\n };\n this.mutationStore.initMutation(mutationId, mutationString, variables);\n this.dataStore.markMutationInit({\n mutationId: mutationId,\n document: mutation,\n variables: variables || {},\n updateQueries: generateUpdateQueriesInfo(),\n update: updateWithProxyFn,\n optimisticResponse: optimisticResponse,\n });\n this.broadcastQueries();\n return new Promise(function (resolve, reject) {\n var storeResult;\n var error;\n var operation = _this.buildOperationForLink(mutation, variables, __assign({}, context, { optimisticResponse: optimisticResponse }));\n execute(_this.link, operation).subscribe({\n next: function (result) {\n if (result.errors && errorPolicy === 'none') {\n error = new ApolloError({\n graphQLErrors: result.errors,\n });\n return;\n }\n _this.mutationStore.markMutationResult(mutationId);\n if (fetchPolicy !== 'no-cache') {\n _this.dataStore.markMutationResult({\n mutationId: mutationId,\n result: result,\n document: mutation,\n variables: variables || {},\n updateQueries: generateUpdateQueriesInfo(),\n update: updateWithProxyFn,\n });\n }\n storeResult = result;\n },\n error: function (err) {\n _this.mutationStore.markMutationError(mutationId, err);\n _this.dataStore.markMutationComplete({\n mutationId: mutationId,\n optimisticResponse: optimisticResponse,\n });\n _this.broadcastQueries();\n _this.setQuery(mutationId, function () { return ({ document: undefined }); });\n reject(new ApolloError({\n networkError: err,\n }));\n },\n complete: function () {\n if (error) {\n _this.mutationStore.markMutationError(mutationId, error);\n }\n _this.dataStore.markMutationComplete({\n mutationId: mutationId,\n optimisticResponse: optimisticResponse,\n });\n _this.broadcastQueries();\n if (error) {\n reject(error);\n return;\n }\n if (typeof refetchQueries === 'function')\n refetchQueries = refetchQueries(storeResult);\n refetchQueries.forEach(function (refetchQuery) {\n if (typeof refetchQuery === 'string') {\n _this.refetchQueryByName(refetchQuery);\n return;\n }\n _this.query({\n query: refetchQuery.query,\n variables: refetchQuery.variables,\n fetchPolicy: 'network-only',\n });\n });\n _this.setQuery(mutationId, function () { return ({ document: undefined }); });\n if (errorPolicy === 'ignore' && storeResult && storeResult.errors) {\n delete storeResult.errors;\n }\n resolve(storeResult);\n },\n });\n });\n };\n QueryManager.prototype.fetchQuery = function (queryId, options, fetchType, fetchMoreForQueryId) {\n var _this = this;\n var _a = options.variables, variables = _a === void 0 ? {} : _a, _b = options.metadata, metadata = _b === void 0 ? null : _b, _c = options.fetchPolicy, fetchPolicy = _c === void 0 ? 'cache-first' : _c;\n var cache = this.dataStore.getCache();\n var query = cache.transformDocument(options.query);\n var storeResult;\n var needToFetch = fetchPolicy === 'network-only' || fetchPolicy === 'no-cache';\n if (fetchType !== FetchType.refetch &&\n fetchPolicy !== 'network-only' &&\n fetchPolicy !== 'no-cache') {\n var _d = this.dataStore.getCache().diff({\n query: query,\n variables: variables,\n returnPartialData: true,\n optimistic: false,\n }), complete = _d.complete, result = _d.result;\n needToFetch = !complete || fetchPolicy === 'cache-and-network';\n storeResult = result;\n }\n var shouldFetch = needToFetch && fetchPolicy !== 'cache-only' && fetchPolicy !== 'standby';\n if (hasDirectives(['live'], query))\n shouldFetch = true;\n var requestId = this.generateRequestId();\n var cancel = this.updateQueryWatch(queryId, query, options);\n this.setQuery(queryId, function () { return ({\n document: query,\n lastRequestId: requestId,\n invalidated: true,\n cancel: cancel,\n }); });\n this.invalidate(true, fetchMoreForQueryId);\n this.queryStore.initQuery({\n queryId: queryId,\n queryString: print(query),\n document: query,\n storePreviousVariables: shouldFetch,\n variables: variables,\n isPoll: fetchType === FetchType.poll,\n isRefetch: fetchType === FetchType.refetch,\n metadata: metadata,\n fetchMoreForQueryId: fetchMoreForQueryId,\n });\n this.broadcastQueries();\n var shouldDispatchClientResult = !shouldFetch || fetchPolicy === 'cache-and-network';\n if (shouldDispatchClientResult) {\n this.queryStore.markQueryResultClient(queryId, !shouldFetch);\n this.invalidate(true, queryId, fetchMoreForQueryId);\n this.broadcastQueries();\n }\n if (shouldFetch) {\n var networkResult = this.fetchRequest({\n requestId: requestId,\n queryId: queryId,\n document: query,\n options: options,\n fetchMoreForQueryId: fetchMoreForQueryId,\n }).catch(function (error) {\n if (isApolloError(error)) {\n throw error;\n }\n else {\n var lastRequestId = _this.getQuery(queryId).lastRequestId;\n if (requestId >= (lastRequestId || 1)) {\n _this.queryStore.markQueryError(queryId, error, fetchMoreForQueryId);\n _this.invalidate(true, queryId, fetchMoreForQueryId);\n _this.broadcastQueries();\n }\n _this.removeFetchQueryPromise(requestId);\n throw new ApolloError({ networkError: error });\n }\n });\n if (fetchPolicy !== 'cache-and-network') {\n return networkResult;\n }\n else {\n networkResult.catch(function () { });\n }\n }\n return Promise.resolve({ data: storeResult });\n };\n QueryManager.prototype.queryListenerForObserver = function (queryId, options, observer) {\n var _this = this;\n var previouslyHadError = false;\n return function (queryStoreValue, newData) {\n _this.invalidate(false, queryId);\n if (!queryStoreValue)\n return;\n var observableQuery = _this.getQuery(queryId).observableQuery;\n var fetchPolicy = observableQuery\n ? observableQuery.options.fetchPolicy\n : options.fetchPolicy;\n if (fetchPolicy === 'standby')\n return;\n var errorPolicy = observableQuery\n ? observableQuery.options.errorPolicy\n : options.errorPolicy;\n var lastResult = observableQuery\n ? observableQuery.getLastResult()\n : null;\n var lastError = observableQuery ? observableQuery.getLastError() : null;\n var shouldNotifyIfLoading = (!newData && queryStoreValue.previousVariables != null) ||\n fetchPolicy === 'cache-only' ||\n fetchPolicy === 'cache-and-network';\n var networkStatusChanged = Boolean(lastResult &&\n queryStoreValue.networkStatus !== lastResult.networkStatus);\n var errorStatusChanged = errorPolicy &&\n (lastError && lastError.graphQLErrors) !==\n queryStoreValue.graphQLErrors &&\n errorPolicy !== 'none';\n if (!isNetworkRequestInFlight(queryStoreValue.networkStatus) ||\n (networkStatusChanged && options.notifyOnNetworkStatusChange) ||\n shouldNotifyIfLoading) {\n if (((!errorPolicy || errorPolicy === 'none') &&\n queryStoreValue.graphQLErrors &&\n queryStoreValue.graphQLErrors.length > 0) ||\n queryStoreValue.networkError) {\n var apolloError_1 = new ApolloError({\n graphQLErrors: queryStoreValue.graphQLErrors,\n networkError: queryStoreValue.networkError,\n });\n previouslyHadError = true;\n if (observer.error) {\n try {\n observer.error(apolloError_1);\n }\n catch (e) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n else {\n setTimeout(function () {\n throw apolloError_1;\n }, 0);\n if (!isProduction()) {\n console.info('An unhandled error was thrown because no error handler is registered ' +\n 'for the query ' +\n queryStoreValue.queryString);\n }\n }\n return;\n }\n try {\n var data = void 0;\n var isMissing = void 0;\n if (newData) {\n _this.setQuery(queryId, function () { return ({ newData: null }); });\n data = newData.result;\n isMissing = !newData.complete ? !newData.complete : false;\n }\n else {\n if (lastResult && lastResult.data && !errorStatusChanged) {\n data = lastResult.data;\n isMissing = false;\n }\n else {\n var document_1 = _this.getQuery(queryId).document;\n var readResult = _this.dataStore.getCache().diff({\n query: document_1,\n variables: queryStoreValue.previousVariables ||\n queryStoreValue.variables,\n optimistic: true,\n });\n data = readResult.result;\n isMissing = !readResult.complete;\n }\n }\n var resultFromStore = void 0;\n if (isMissing && fetchPolicy !== 'cache-only') {\n resultFromStore = {\n data: lastResult && lastResult.data,\n loading: isNetworkRequestInFlight(queryStoreValue.networkStatus),\n networkStatus: queryStoreValue.networkStatus,\n stale: true,\n };\n }\n else {\n resultFromStore = {\n data: data,\n loading: isNetworkRequestInFlight(queryStoreValue.networkStatus),\n networkStatus: queryStoreValue.networkStatus,\n stale: false,\n };\n }\n if (errorPolicy === 'all' &&\n queryStoreValue.graphQLErrors &&\n queryStoreValue.graphQLErrors.length > 0) {\n resultFromStore.errors = queryStoreValue.graphQLErrors;\n }\n if (observer.next) {\n var isDifferentResult = !(lastResult &&\n resultFromStore &&\n lastResult.networkStatus === resultFromStore.networkStatus &&\n lastResult.stale === resultFromStore.stale &&\n lastResult.data === resultFromStore.data);\n if (isDifferentResult || previouslyHadError) {\n try {\n observer.next(maybeDeepFreeze(resultFromStore));\n }\n catch (e) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n }\n previouslyHadError = false;\n }\n catch (error) {\n previouslyHadError = true;\n if (observer.error)\n observer.error(new ApolloError({ networkError: error }));\n return;\n }\n }\n };\n };\n QueryManager.prototype.watchQuery = function (options, shouldSubscribe) {\n if (shouldSubscribe === void 0) { shouldSubscribe = true; }\n if (options.fetchPolicy === 'standby') {\n throw new Error('client.watchQuery cannot be called with fetchPolicy set to \"standby\"');\n }\n var queryDefinition = getQueryDefinition(options.query);\n if (queryDefinition.variableDefinitions &&\n queryDefinition.variableDefinitions.length) {\n var defaultValues = getDefaultValues(queryDefinition);\n options.variables = assign({}, defaultValues, options.variables);\n }\n if (typeof options.notifyOnNetworkStatusChange === 'undefined') {\n options.notifyOnNetworkStatusChange = false;\n }\n var transformedOptions = __assign({}, options);\n return new ObservableQuery({\n scheduler: this.scheduler,\n options: transformedOptions,\n shouldSubscribe: shouldSubscribe,\n });\n };\n QueryManager.prototype.query = function (options) {\n var _this = this;\n if (!options.query) {\n throw new Error('query option is required. You must specify your GraphQL document in the query option.');\n }\n if (options.query.kind !== 'Document') {\n throw new Error('You must wrap the query string in a \"gql\" tag.');\n }\n if (options.returnPartialData) {\n throw new Error('returnPartialData option only supported on watchQuery.');\n }\n if (options.pollInterval) {\n throw new Error('pollInterval option only supported on watchQuery.');\n }\n if (typeof options.notifyOnNetworkStatusChange !== 'undefined') {\n throw new Error('Cannot call \"query\" with \"notifyOnNetworkStatusChange\" option. Only \"watchQuery\" has that option.');\n }\n options.notifyOnNetworkStatusChange = false;\n var requestId = this.idCounter;\n var resPromise = new Promise(function (resolve, reject) {\n _this.addFetchQueryPromise(requestId, resPromise, resolve, reject);\n return _this.watchQuery(options, false)\n .result()\n .then(function (result) {\n _this.removeFetchQueryPromise(requestId);\n resolve(result);\n })\n .catch(function (error) {\n _this.removeFetchQueryPromise(requestId);\n reject(error);\n });\n });\n return resPromise;\n };\n QueryManager.prototype.generateQueryId = function () {\n var queryId = this.idCounter.toString();\n this.idCounter++;\n return queryId;\n };\n QueryManager.prototype.stopQueryInStore = function (queryId) {\n this.queryStore.stopQuery(queryId);\n this.invalidate(true, queryId);\n this.broadcastQueries();\n };\n QueryManager.prototype.addQueryListener = function (queryId, listener) {\n this.setQuery(queryId, function (_a) {\n var _b = _a.listeners, listeners = _b === void 0 ? [] : _b;\n return ({\n listeners: listeners.concat([listener]),\n invalidate: false,\n });\n });\n };\n QueryManager.prototype.updateQueryWatch = function (queryId, document, options) {\n var _this = this;\n var cancel = this.getQuery(queryId).cancel;\n if (cancel)\n cancel();\n var previousResult = function () {\n var previousResult = null;\n var observableQuery = _this.getQuery(queryId).observableQuery;\n if (observableQuery) {\n var lastResult = observableQuery.getLastResult();\n if (lastResult) {\n previousResult = lastResult.data;\n }\n }\n return previousResult;\n };\n return this.dataStore.getCache().watch({\n query: document,\n variables: options.variables,\n optimistic: true,\n previousResult: previousResult,\n callback: function (newData) {\n _this.setQuery(queryId, function () { return ({ invalidated: true, newData: newData }); });\n },\n });\n };\n QueryManager.prototype.addFetchQueryPromise = function (requestId, promise, resolve, reject) {\n this.fetchQueryPromises.set(requestId.toString(), {\n promise: promise,\n resolve: resolve,\n reject: reject,\n });\n };\n QueryManager.prototype.removeFetchQueryPromise = function (requestId) {\n this.fetchQueryPromises.delete(requestId.toString());\n };\n QueryManager.prototype.addObservableQuery = function (queryId, observableQuery) {\n this.setQuery(queryId, function () { return ({ observableQuery: observableQuery }); });\n var queryDef = getQueryDefinition(observableQuery.options.query);\n if (queryDef.name && queryDef.name.value) {\n var queryName = queryDef.name.value;\n this.queryIdsByName[queryName] = this.queryIdsByName[queryName] || [];\n this.queryIdsByName[queryName].push(observableQuery.queryId);\n }\n };\n QueryManager.prototype.removeObservableQuery = function (queryId) {\n var _a = this.getQuery(queryId), observableQuery = _a.observableQuery, cancel = _a.cancel;\n if (cancel)\n cancel();\n if (!observableQuery)\n return;\n var definition = getQueryDefinition(observableQuery.options.query);\n var queryName = definition.name ? definition.name.value : null;\n this.setQuery(queryId, function () { return ({ observableQuery: null }); });\n if (queryName) {\n this.queryIdsByName[queryName] = this.queryIdsByName[queryName].filter(function (val) {\n return !(observableQuery.queryId === val);\n });\n }\n };\n QueryManager.prototype.resetStore = function () {\n this.fetchQueryPromises.forEach(function (_a) {\n var reject = _a.reject;\n reject(new Error('Store reset while query was in flight.'));\n });\n var resetIds = [];\n this.queries.forEach(function (_a, queryId) {\n var observableQuery = _a.observableQuery;\n if (observableQuery)\n resetIds.push(queryId);\n });\n this.queryStore.reset(resetIds);\n this.mutationStore.reset();\n var dataStoreReset = this.dataStore.reset();\n var observableQueryPromises = this.getObservableQueryPromises();\n this.broadcastQueries();\n return dataStoreReset.then(function () { return Promise.all(observableQueryPromises); });\n };\n QueryManager.prototype.getObservableQueryPromises = function (includeStandby) {\n var _this = this;\n var observableQueryPromises = [];\n this.queries.forEach(function (_a, queryId) {\n var observableQuery = _a.observableQuery;\n if (!observableQuery)\n return;\n var fetchPolicy = observableQuery.options.fetchPolicy;\n observableQuery.resetLastResults();\n if (fetchPolicy !== 'cache-only' &&\n (includeStandby || fetchPolicy !== 'standby')) {\n observableQueryPromises.push(observableQuery.refetch());\n }\n _this.setQuery(queryId, function () { return ({ newData: null }); });\n _this.invalidate(true, queryId);\n });\n return observableQueryPromises;\n };\n QueryManager.prototype.reFetchObservableQueries = function (includeStandby) {\n var observableQueryPromises = this.getObservableQueryPromises(includeStandby);\n this.broadcastQueries();\n return Promise.all(observableQueryPromises);\n };\n QueryManager.prototype.startQuery = function (queryId, options, listener) {\n this.addQueryListener(queryId, listener);\n this.fetchQuery(queryId, options)\n .catch(function () { return undefined; });\n return queryId;\n };\n QueryManager.prototype.startGraphQLSubscription = function (options) {\n var _this = this;\n var query = options.query;\n var cache = this.dataStore.getCache();\n var transformedDoc = cache.transformDocument(query);\n var variables = assign({}, getDefaultValues(getOperationDefinition(query)), options.variables);\n var sub;\n var observers = [];\n return new Observable(function (observer) {\n observers.push(observer);\n if (observers.length === 1) {\n var handler = {\n next: function (result) {\n _this.dataStore.markSubscriptionResult(result, transformedDoc, variables);\n _this.broadcastQueries();\n observers.forEach(function (obs) {\n if (obs.next)\n obs.next(result);\n });\n },\n error: function (error) {\n observers.forEach(function (obs) {\n if (obs.error)\n obs.error(error);\n });\n },\n };\n var operation = _this.buildOperationForLink(transformedDoc, variables);\n sub = execute(_this.link, operation).subscribe(handler);\n }\n return function () {\n observers = observers.filter(function (obs) { return obs !== observer; });\n if (observers.length === 0 && sub) {\n sub.unsubscribe();\n }\n };\n });\n };\n QueryManager.prototype.stopQuery = function (queryId) {\n this.removeQuery(queryId);\n this.stopQueryInStore(queryId);\n };\n QueryManager.prototype.removeQuery = function (queryId) {\n var subscriptions = this.getQuery(queryId).subscriptions;\n subscriptions.forEach(function (x) { return x.unsubscribe(); });\n this.queries.delete(queryId);\n };\n QueryManager.prototype.getCurrentQueryResult = function (observableQuery) {\n var _a = observableQuery.options, variables = _a.variables, query = _a.query;\n var lastResult = observableQuery.getLastResult();\n var newData = this.getQuery(observableQuery.queryId).newData;\n if (newData) {\n return maybeDeepFreeze({ data: newData.result, partial: false });\n }\n else {\n try {\n var data = this.dataStore.getCache().read({\n query: query,\n variables: variables,\n previousResult: lastResult ? lastResult.data : undefined,\n optimistic: true,\n });\n return maybeDeepFreeze({ data: data, partial: false });\n }\n catch (e) {\n return maybeDeepFreeze({ data: {}, partial: true });\n }\n }\n };\n QueryManager.prototype.getQueryWithPreviousResult = function (queryIdOrObservable) {\n var observableQuery;\n if (typeof queryIdOrObservable === 'string') {\n var foundObserveableQuery = this.getQuery(queryIdOrObservable).observableQuery;\n if (!foundObserveableQuery) {\n throw new Error(\"ObservableQuery with this id doesn't exist: \" + queryIdOrObservable);\n }\n observableQuery = foundObserveableQuery;\n }\n else {\n observableQuery = queryIdOrObservable;\n }\n var _a = observableQuery.options, variables = _a.variables, query = _a.query;\n var data = this.getCurrentQueryResult(observableQuery).data;\n return {\n previousResult: data,\n variables: variables,\n document: query,\n };\n };\n QueryManager.prototype.broadcastQueries = function () {\n var _this = this;\n this.onBroadcast();\n this.queries.forEach(function (info, id) {\n if (!info.invalidated || !info.listeners)\n return;\n info.listeners\n .filter(function (x) { return !!x; })\n .forEach(function (listener) {\n listener(_this.queryStore.get(id), info.newData);\n });\n });\n };\n QueryManager.prototype.fetchRequest = function (_a) {\n var _this = this;\n var requestId = _a.requestId, queryId = _a.queryId, document = _a.document, options = _a.options, fetchMoreForQueryId = _a.fetchMoreForQueryId;\n var variables = options.variables, context = options.context, _b = options.errorPolicy, errorPolicy = _b === void 0 ? 'none' : _b, fetchPolicy = options.fetchPolicy;\n var operation = this.buildOperationForLink(document, variables, __assign({}, context, { forceFetch: !this.queryDeduplication }));\n var resultFromStore;\n var errorsFromStore;\n var retPromise = new Promise(function (resolve, reject) {\n _this.addFetchQueryPromise(requestId, retPromise, resolve, reject);\n var subscription = execute(_this.deduplicator, operation).subscribe({\n next: function (result) {\n var lastRequestId = _this.getQuery(queryId).lastRequestId;\n if (requestId >= (lastRequestId || 1)) {\n if (fetchPolicy !== 'no-cache') {\n try {\n _this.dataStore.markQueryResult(result, document, variables, fetchMoreForQueryId, errorPolicy === 'ignore' || errorPolicy === 'all');\n }\n catch (e) {\n reject(e);\n return;\n }\n }\n _this.queryStore.markQueryResult(queryId, result, fetchMoreForQueryId);\n _this.invalidate(true, queryId, fetchMoreForQueryId);\n _this.broadcastQueries();\n }\n if (result.errors && errorPolicy === 'none') {\n reject(new ApolloError({\n graphQLErrors: result.errors,\n }));\n return;\n }\n else if (errorPolicy === 'all') {\n errorsFromStore = result.errors;\n }\n if (fetchMoreForQueryId) {\n resultFromStore = result.data;\n }\n else {\n try {\n resultFromStore = _this.dataStore.getCache().read({\n variables: variables,\n query: document,\n optimistic: false,\n });\n }\n catch (e) { }\n }\n },\n error: function (error) {\n _this.removeFetchQueryPromise(requestId);\n _this.setQuery(queryId, function (_a) {\n var subscriptions = _a.subscriptions;\n return ({\n subscriptions: subscriptions.filter(function (x) { return x !== subscription; }),\n });\n });\n reject(error);\n },\n complete: function () {\n _this.removeFetchQueryPromise(requestId);\n _this.setQuery(queryId, function (_a) {\n var subscriptions = _a.subscriptions;\n return ({\n subscriptions: subscriptions.filter(function (x) { return x !== subscription; }),\n });\n });\n resolve({\n data: resultFromStore,\n errors: errorsFromStore,\n loading: false,\n networkStatus: NetworkStatus.ready,\n stale: false,\n });\n },\n });\n _this.setQuery(queryId, function (_a) {\n var subscriptions = _a.subscriptions;\n return ({\n subscriptions: subscriptions.concat([subscription]),\n });\n });\n });\n return retPromise;\n };\n QueryManager.prototype.refetchQueryByName = function (queryName) {\n var _this = this;\n var refetchedQueries = this.queryIdsByName[queryName];\n if (refetchedQueries === undefined)\n return;\n return Promise.all(refetchedQueries\n .map(function (id) { return _this.getQuery(id).observableQuery; })\n .filter(function (x) { return !!x; })\n .map(function (x) { return x.refetch(); }));\n };\n QueryManager.prototype.generateRequestId = function () {\n var requestId = this.idCounter;\n this.idCounter++;\n return requestId;\n };\n QueryManager.prototype.getQuery = function (queryId) {\n return this.queries.get(queryId) || __assign({}, defaultQueryInfo);\n };\n QueryManager.prototype.setQuery = function (queryId, updater) {\n var prev = this.getQuery(queryId);\n var newInfo = __assign({}, prev, updater(prev));\n this.queries.set(queryId, newInfo);\n };\n QueryManager.prototype.invalidate = function (invalidated, queryId, fetchMoreForQueryId) {\n if (queryId)\n this.setQuery(queryId, function () { return ({ invalidated: invalidated }); });\n if (fetchMoreForQueryId) {\n this.setQuery(fetchMoreForQueryId, function () { return ({ invalidated: invalidated }); });\n }\n };\n QueryManager.prototype.buildOperationForLink = function (document, variables, extraContext) {\n var cache = this.dataStore.getCache();\n return {\n query: cache.transformForLink\n ? cache.transformForLink(document)\n : document,\n variables: variables,\n operationName: getOperationName(document) || undefined,\n context: __assign({}, extraContext, { cache: cache, getCacheKey: function (obj) {\n if (cache.config) {\n return cache.config.dataIdFromObject(obj);\n }\n else {\n throw new Error('To use context.getCacheKey, you need to use a cache that has a configurable dataIdFromObject, like apollo-cache-inmemory.');\n }\n } }),\n };\n };\n return QueryManager;\n}());\nexport { QueryManager };\n//# sourceMappingURL=QueryManager.js.map","import { getOperationName, tryFunctionOrLogError, graphQLResultHasError, } from 'apollo-utilities';\nvar DataStore = (function () {\n function DataStore(initialCache) {\n this.cache = initialCache;\n }\n DataStore.prototype.getCache = function () {\n return this.cache;\n };\n DataStore.prototype.markQueryResult = function (result, document, variables, fetchMoreForQueryId, ignoreErrors) {\n if (ignoreErrors === void 0) { ignoreErrors = false; }\n var writeWithErrors = !graphQLResultHasError(result);\n if (ignoreErrors && graphQLResultHasError(result) && result.data) {\n writeWithErrors = true;\n }\n if (!fetchMoreForQueryId && writeWithErrors) {\n this.cache.write({\n result: result.data,\n dataId: 'ROOT_QUERY',\n query: document,\n variables: variables,\n });\n }\n };\n DataStore.prototype.markSubscriptionResult = function (result, document, variables) {\n if (!graphQLResultHasError(result)) {\n this.cache.write({\n result: result.data,\n dataId: 'ROOT_SUBSCRIPTION',\n query: document,\n variables: variables,\n });\n }\n };\n DataStore.prototype.markMutationInit = function (mutation) {\n var _this = this;\n if (mutation.optimisticResponse) {\n var optimistic_1;\n if (typeof mutation.optimisticResponse === 'function') {\n optimistic_1 = mutation.optimisticResponse(mutation.variables);\n }\n else {\n optimistic_1 = mutation.optimisticResponse;\n }\n var changeFn_1 = function () {\n _this.markMutationResult({\n mutationId: mutation.mutationId,\n result: { data: optimistic_1 },\n document: mutation.document,\n variables: mutation.variables,\n updateQueries: mutation.updateQueries,\n update: mutation.update,\n });\n };\n this.cache.recordOptimisticTransaction(function (c) {\n var orig = _this.cache;\n _this.cache = c;\n try {\n changeFn_1();\n }\n finally {\n _this.cache = orig;\n }\n }, mutation.mutationId);\n }\n };\n DataStore.prototype.markMutationResult = function (mutation) {\n var _this = this;\n if (!graphQLResultHasError(mutation.result)) {\n var cacheWrites_1 = [];\n cacheWrites_1.push({\n result: mutation.result.data,\n dataId: 'ROOT_MUTATION',\n query: mutation.document,\n variables: mutation.variables,\n });\n if (mutation.updateQueries) {\n Object.keys(mutation.updateQueries)\n .filter(function (id) { return mutation.updateQueries[id]; })\n .forEach(function (queryId) {\n var _a = mutation.updateQueries[queryId], query = _a.query, updater = _a.updater;\n var _b = _this.cache.diff({\n query: query.document,\n variables: query.variables,\n returnPartialData: true,\n optimistic: false,\n }), currentQueryResult = _b.result, complete = _b.complete;\n if (!complete) {\n return;\n }\n var nextQueryResult = tryFunctionOrLogError(function () {\n return updater(currentQueryResult, {\n mutationResult: mutation.result,\n queryName: getOperationName(query.document) || undefined,\n queryVariables: query.variables,\n });\n });\n if (nextQueryResult) {\n cacheWrites_1.push({\n result: nextQueryResult,\n dataId: 'ROOT_QUERY',\n query: query.document,\n variables: query.variables,\n });\n }\n });\n }\n this.cache.performTransaction(function (c) {\n cacheWrites_1.forEach(function (write) { return c.write(write); });\n });\n var update_1 = mutation.update;\n if (update_1) {\n this.cache.performTransaction(function (c) {\n tryFunctionOrLogError(function () { return update_1(c, mutation.result); });\n });\n }\n }\n };\n DataStore.prototype.markMutationComplete = function (_a) {\n var mutationId = _a.mutationId, optimisticResponse = _a.optimisticResponse;\n if (!optimisticResponse)\n return;\n this.cache.removeOptimistic(mutationId);\n };\n DataStore.prototype.markUpdateQueryResult = function (document, variables, newResult) {\n this.cache.write({\n result: newResult,\n dataId: 'ROOT_QUERY',\n variables: variables,\n query: document,\n });\n };\n DataStore.prototype.reset = function () {\n return this.cache.reset();\n };\n return DataStore;\n}());\nexport { DataStore };\n//# sourceMappingURL=store.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { ApolloLink, execute, } from 'apollo-link';\nimport { isProduction, removeConnectionDirectiveFromDocument, } from 'apollo-utilities';\nimport { QueryManager } from './core/QueryManager';\nimport { DataStore } from './data/store';\nimport { version } from './version';\nvar hasSuggestedDevtools = false;\nvar supportedDirectives = new ApolloLink(function (operation, forward) {\n operation.query = removeConnectionDirectiveFromDocument(operation.query);\n return forward(operation);\n});\nvar ApolloClient = (function () {\n function ApolloClient(options) {\n var _this = this;\n this.defaultOptions = {};\n this.resetStoreCallbacks = [];\n var link = options.link, cache = options.cache, _a = options.ssrMode, ssrMode = _a === void 0 ? false : _a, _b = options.ssrForceFetchDelay, ssrForceFetchDelay = _b === void 0 ? 0 : _b, connectToDevTools = options.connectToDevTools, _c = options.queryDeduplication, queryDeduplication = _c === void 0 ? true : _c, defaultOptions = options.defaultOptions;\n if (!link || !cache) {\n throw new Error(\"\\n In order to initialize Apollo Client, you must specify link & cache properties on the config object.\\n This is part of the required upgrade when migrating from Apollo Client 1.0 to Apollo Client 2.0.\\n For more information, please visit:\\n https://www.apollographql.com/docs/react/basics/setup.html\\n to help you get started.\\n \");\n }\n this.link = supportedDirectives.concat(link);\n this.cache = cache;\n this.store = new DataStore(cache);\n this.disableNetworkFetches = ssrMode || ssrForceFetchDelay > 0;\n this.queryDeduplication = queryDeduplication;\n this.ssrMode = ssrMode;\n this.defaultOptions = defaultOptions || {};\n if (ssrForceFetchDelay) {\n setTimeout(function () { return (_this.disableNetworkFetches = false); }, ssrForceFetchDelay);\n }\n this.watchQuery = this.watchQuery.bind(this);\n this.query = this.query.bind(this);\n this.mutate = this.mutate.bind(this);\n this.resetStore = this.resetStore.bind(this);\n this.reFetchObservableQueries = this.reFetchObservableQueries.bind(this);\n var defaultConnectToDevTools = !isProduction() &&\n typeof window !== 'undefined' &&\n !window.__APOLLO_CLIENT__;\n if (typeof connectToDevTools === 'undefined'\n ? defaultConnectToDevTools\n : connectToDevTools && typeof window !== 'undefined') {\n window.__APOLLO_CLIENT__ = this;\n }\n if (!hasSuggestedDevtools && !isProduction()) {\n hasSuggestedDevtools = true;\n if (typeof window !== 'undefined' &&\n window.document &&\n window.top === window.self) {\n if (typeof window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\n if (navigator.userAgent.indexOf('Chrome') > -1) {\n console.debug('Download the Apollo DevTools ' +\n 'for a better development experience: ' +\n 'https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm');\n }\n }\n }\n }\n this.version = version;\n }\n ApolloClient.prototype.watchQuery = function (options) {\n this.initQueryManager();\n if (this.defaultOptions.watchQuery) {\n options = __assign({}, this.defaultOptions.watchQuery, options);\n }\n if (this.disableNetworkFetches && options.fetchPolicy === 'network-only') {\n options = __assign({}, options, { fetchPolicy: 'cache-first' });\n }\n return this.queryManager.watchQuery(options);\n };\n ApolloClient.prototype.query = function (options) {\n this.initQueryManager();\n if (this.defaultOptions.query) {\n options = __assign({}, this.defaultOptions.query, options);\n }\n if (options.fetchPolicy === 'cache-and-network') {\n throw new Error('cache-and-network fetchPolicy can only be used with watchQuery');\n }\n if (this.disableNetworkFetches && options.fetchPolicy === 'network-only') {\n options = __assign({}, options, { fetchPolicy: 'cache-first' });\n }\n return this.queryManager.query(options);\n };\n ApolloClient.prototype.mutate = function (options) {\n this.initQueryManager();\n if (this.defaultOptions.mutate) {\n options = __assign({}, this.defaultOptions.mutate, options);\n }\n return this.queryManager.mutate(options);\n };\n ApolloClient.prototype.subscribe = function (options) {\n this.initQueryManager();\n return this.queryManager.startGraphQLSubscription(options);\n };\n ApolloClient.prototype.readQuery = function (options) {\n return this.initProxy().readQuery(options);\n };\n ApolloClient.prototype.readFragment = function (options) {\n return this.initProxy().readFragment(options);\n };\n ApolloClient.prototype.writeQuery = function (options) {\n var result = this.initProxy().writeQuery(options);\n this.queryManager.broadcastQueries();\n return result;\n };\n ApolloClient.prototype.writeFragment = function (options) {\n var result = this.initProxy().writeFragment(options);\n this.queryManager.broadcastQueries();\n return result;\n };\n ApolloClient.prototype.writeData = function (options) {\n var result = this.initProxy().writeData(options);\n this.queryManager.broadcastQueries();\n return result;\n };\n ApolloClient.prototype.__actionHookForDevTools = function (cb) {\n this.devToolsHookCb = cb;\n };\n ApolloClient.prototype.__requestRaw = function (payload) {\n return execute(this.link, payload);\n };\n ApolloClient.prototype.initQueryManager = function () {\n var _this = this;\n if (this.queryManager)\n return;\n this.queryManager = new QueryManager({\n link: this.link,\n store: this.store,\n queryDeduplication: this.queryDeduplication,\n ssrMode: this.ssrMode,\n onBroadcast: function () {\n if (_this.devToolsHookCb) {\n _this.devToolsHookCb({\n action: {},\n state: {\n queries: _this.queryManager.queryStore.getStore(),\n mutations: _this.queryManager.mutationStore.getStore(),\n },\n dataWithOptimisticResults: _this.cache.extract(true),\n });\n }\n },\n });\n };\n ApolloClient.prototype.resetStore = function () {\n var _this = this;\n return Promise.resolve()\n .then(function () {\n _this.queryManager\n ? _this.queryManager.resetStore()\n : Promise.resolve(null);\n })\n .then(function () { return Promise.all(_this.resetStoreCallbacks.map(function (fn) { return fn(); })); });\n };\n ApolloClient.prototype.onResetStore = function (cb) {\n var _this = this;\n this.resetStoreCallbacks.push(cb);\n return function () {\n _this.resetStoreCallbacks = _this.resetStoreCallbacks.filter(function (c) { return c !== cb; });\n };\n };\n ApolloClient.prototype.reFetchObservableQueries = function (includeStandby) {\n return this.queryManager\n ? this.queryManager.reFetchObservableQueries(includeStandby)\n : Promise.resolve(null);\n };\n ApolloClient.prototype.extract = function (optimistic) {\n return this.initProxy().extract(optimistic);\n };\n ApolloClient.prototype.restore = function (serializedState) {\n return this.initProxy().restore(serializedState);\n };\n ApolloClient.prototype.initProxy = function () {\n if (!this.proxy) {\n this.initQueryManager();\n this.proxy = this.cache;\n }\n return this.proxy;\n };\n return ApolloClient;\n}());\nexport default ApolloClient;\n//# sourceMappingURL=ApolloClient.js.map","export { print as printAST } from 'graphql/language/printer';\nexport { ObservableQuery, } from './core/ObservableQuery';\nexport { NetworkStatus } from './core/networkStatus';\nexport * from './core/types';\nexport { ApolloError } from './errors/ApolloError';\nimport ApolloClient from './ApolloClient';\nexport { ApolloClient };\nexport default ApolloClient;\n//# sourceMappingURL=index.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { ApolloLink, Observable, fromError } from 'apollo-link';\nimport { serializeFetchParameter, selectURI, parseAndCheckHttpResponse, checkFetcher, selectHttpOptionsAndBody, createSignalIfSupported, fallbackHttpConfig, } from 'apollo-link-http-common';\nexport var createHttpLink = function (linkOptions) {\n if (linkOptions === void 0) { linkOptions = {}; }\n var _a = linkOptions.uri, uri = _a === void 0 ? '/graphql' : _a, fetcher = linkOptions.fetch, includeExtensions = linkOptions.includeExtensions, useGETForQueries = linkOptions.useGETForQueries, requestOptions = __rest(linkOptions, [\"uri\", \"fetch\", \"includeExtensions\", \"useGETForQueries\"]);\n checkFetcher(fetcher);\n if (!fetcher) {\n fetcher = fetch;\n }\n var linkConfig = {\n http: { includeExtensions: includeExtensions },\n options: requestOptions.fetchOptions,\n credentials: requestOptions.credentials,\n headers: requestOptions.headers,\n };\n return new ApolloLink(function (operation) {\n var chosenURI = selectURI(operation, uri);\n var context = operation.getContext();\n var contextConfig = {\n http: context.http,\n options: context.fetchOptions,\n credentials: context.credentials,\n headers: context.headers,\n };\n var _a = selectHttpOptionsAndBody(operation, fallbackHttpConfig, linkConfig, contextConfig), options = _a.options, body = _a.body;\n var _b = createSignalIfSupported(), controller = _b.controller, signal = _b.signal;\n if (controller)\n options.signal = signal;\n var definitionIsMutation = function (d) {\n return d.kind === 'OperationDefinition' && d.operation === 'mutation';\n };\n if (useGETForQueries &&\n !operation.query.definitions.some(definitionIsMutation)) {\n options.method = 'GET';\n }\n if (options.method === 'GET') {\n var _c = rewriteURIForGET(chosenURI, body), newURI = _c.newURI, parseError = _c.parseError;\n if (parseError) {\n return fromError(parseError);\n }\n chosenURI = newURI;\n }\n else {\n try {\n options.body = serializeFetchParameter(body, 'Payload');\n }\n catch (parseError) {\n return fromError(parseError);\n }\n }\n return new Observable(function (observer) {\n fetcher(chosenURI, options)\n .then(function (response) {\n operation.setContext({ response: response });\n return response;\n })\n .then(parseAndCheckHttpResponse(operation))\n .then(function (result) {\n observer.next(result);\n observer.complete();\n return result;\n })\n .catch(function (err) {\n if (err.name === 'AbortError')\n return;\n if (err.result && err.result.errors && err.result.data) {\n observer.next(err.result);\n }\n observer.error(err);\n });\n return function () {\n if (controller)\n controller.abort();\n };\n });\n });\n};\nfunction rewriteURIForGET(chosenURI, body) {\n var queryParams = [];\n var addQueryParam = function (key, value) {\n queryParams.push(key + \"=\" + encodeURIComponent(value));\n };\n if ('query' in body) {\n addQueryParam('query', body.query);\n }\n if (body.operationName) {\n addQueryParam('operationName', body.operationName);\n }\n if (body.variables) {\n var serializedVariables = void 0;\n try {\n serializedVariables = serializeFetchParameter(body.variables, 'Variables map');\n }\n catch (parseError) {\n return { parseError: parseError };\n }\n addQueryParam('variables', serializedVariables);\n }\n if (body.extensions) {\n var serializedExtensions = void 0;\n try {\n serializedExtensions = serializeFetchParameter(body.extensions, 'Extensions map');\n }\n catch (parseError) {\n return { parseError: parseError };\n }\n addQueryParam('extensions', serializedExtensions);\n }\n var fragment = '', preFragment = chosenURI;\n var fragmentStart = chosenURI.indexOf('#');\n if (fragmentStart !== -1) {\n fragment = chosenURI.substr(fragmentStart);\n preFragment = chosenURI.substr(0, fragmentStart);\n }\n var queryParamsPrefix = preFragment.indexOf('?') === -1 ? '?' : '&';\n var newURI = preFragment + queryParamsPrefix + queryParams.join('&') + fragment;\n return { newURI: newURI };\n}\nvar HttpLink = (function (_super) {\n __extends(HttpLink, _super);\n function HttpLink(opts) {\n return _super.call(this, createHttpLink(opts).request) || this;\n }\n return HttpLink;\n}(ApolloLink));\nexport { HttpLink };\n//# sourceMappingURL=httpLink.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { print } from 'graphql/language/printer';\nvar defaultHttpOptions = {\n includeQuery: true,\n includeExtensions: false,\n};\nvar defaultHeaders = {\n accept: '*/*',\n 'content-type': 'application/json',\n};\nvar defaultOptions = {\n method: 'POST',\n};\nexport var fallbackHttpConfig = {\n http: defaultHttpOptions,\n headers: defaultHeaders,\n options: defaultOptions,\n};\nexport var throwServerError = function (response, result, message) {\n var error = new Error(message);\n error.response = response;\n error.statusCode = response.status;\n error.result = result;\n throw error;\n};\nexport var parseAndCheckHttpResponse = function (operations) { return function (response) {\n return (response\n .text()\n .then(function (bodyText) {\n try {\n return JSON.parse(bodyText);\n }\n catch (err) {\n var parseError = err;\n parseError.response = response;\n parseError.statusCode = response.status;\n parseError.bodyText = bodyText;\n return Promise.reject(parseError);\n }\n })\n .then(function (result) {\n if (response.status >= 300) {\n throwServerError(response, result, \"Response not successful: Received status code \" + response.status);\n }\n if (!Array.isArray(result) &&\n !result.hasOwnProperty('data') &&\n !result.hasOwnProperty('errors')) {\n throwServerError(response, result, \"Server response was missing for query '\" + (Array.isArray(operations)\n ? operations.map(function (op) { return op.operationName; })\n : operations.operationName) + \"'.\");\n }\n return result;\n }));\n}; };\nexport var checkFetcher = function (fetcher) {\n if (!fetcher && typeof fetch === 'undefined') {\n var library = 'unfetch';\n if (typeof window === 'undefined')\n library = 'node-fetch';\n throw new Error(\"\\nfetch is not found globally and no fetcher passed, to fix pass a fetch for\\nyour environment like https://www.npmjs.com/package/\" + library + \".\\n\\nFor example:\\nimport fetch from '\" + library + \"';\\nimport { createHttpLink } from 'apollo-link-http';\\n\\nconst link = createHttpLink({ uri: '/graphql', fetch: fetch });\");\n }\n};\nexport var createSignalIfSupported = function () {\n if (typeof AbortController === 'undefined')\n return { controller: false, signal: false };\n var controller = new AbortController();\n var signal = controller.signal;\n return { controller: controller, signal: signal };\n};\nexport var selectHttpOptionsAndBody = function (operation, fallbackConfig) {\n var configs = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n configs[_i - 2] = arguments[_i];\n }\n var options = __assign({}, fallbackConfig.options, { headers: fallbackConfig.headers, credentials: fallbackConfig.credentials });\n var http = fallbackConfig.http;\n configs.forEach(function (config) {\n options = __assign({}, options, config.options, { headers: __assign({}, options.headers, config.headers) });\n if (config.credentials)\n options.credentials = config.credentials;\n http = __assign({}, http, config.http);\n });\n var operationName = operation.operationName, extensions = operation.extensions, variables = operation.variables, query = operation.query;\n var body = { operationName: operationName, variables: variables };\n if (http.includeExtensions)\n body.extensions = extensions;\n if (http.includeQuery)\n body.query = print(query);\n return {\n options: options,\n body: body,\n };\n};\nexport var serializeFetchParameter = function (p, label) {\n var serialized;\n try {\n serialized = JSON.stringify(p);\n }\n catch (e) {\n var parseError = new Error(\"Network request failed. \" + label + \" is not serializable: \" + e.message);\n parseError.parseError = e;\n throw parseError;\n }\n return serialized;\n};\nexport var selectURI = function (operation, fallbackURI) {\n var context = operation.getContext();\n var contextURI = context.uri;\n if (contextURI) {\n return contextURI;\n }\n else if (typeof fallbackURI === 'function') {\n return fallbackURI(operation);\n }\n else {\n return fallbackURI || '/graphql';\n }\n};\n//# sourceMappingURL=index.js.map"],"sourceRoot":""} +{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/prop-types/index.js","webpack:///./node_modules/moment/moment.js","webpack:///./node_modules/apollo-utilities/lib/storeUtils.js","webpack:///./node_modules/apollo-utilities/lib/directives.js","webpack:///./node_modules/apollo-utilities/lib/fragments.js","webpack:///./node_modules/apollo-utilities/lib/util/assign.js","webpack:///./node_modules/apollo-utilities/lib/getFromAST.js","webpack:///./node_modules/apollo-utilities/lib/util/cloneDeep.js","webpack:///./node_modules/apollo-utilities/lib/transform.js","webpack:///./node_modules/apollo-utilities/lib/util/errorHandling.js","webpack:///./node_modules/apollo-utilities/lib/util/isEqual.js","webpack:///./node_modules/apollo-utilities/lib/util/maybeDeepFreeze.js","webpack:///./node_modules/apollo-utilities/lib/util/warnOnce.js","webpack:///./node_modules/react/index.js-exposed","webpack:///./node_modules/zen-observable-ts/lib/zenObservable.js","webpack:///./node_modules/apollo-link/lib/linkUtils.js","webpack:///./node_modules/zen-observable-ts/lib/index.js","webpack:///./node_modules/apollo-link/lib/link.js","webpack:///./node_modules/graphql/language/printer.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/classnames/index.js","webpack:///./node_modules/fbjs/lib/emptyFunction.js","webpack:///./node_modules/react-i18nify/build/index.js","webpack:///./node_modules/object-assign/index.js","webpack:///./node_modules/react-dom/index.js","webpack:///./node_modules/apollo-utilities/lib/util/environment.js","webpack:///./node_modules/fbjs/lib/emptyObject.js","webpack:///./node_modules/react-apollo/react-apollo.browser.umd.js","webpack:///./node_modules/invariant/browser.js","webpack:///./decidim-comments/app/frontend/queries/comments.query.graphql","webpack:///./node_modules/react/index.js","webpack:///./node_modules/react/cjs/react.production.min.js","webpack:///./node_modules/react-dom/cjs/react-dom.production.min.js","webpack:///./node_modules/fbjs/lib/ExecutionEnvironment.js","webpack:///./node_modules/fbjs/lib/EventListener.js","webpack:///./node_modules/fbjs/lib/getActiveElement.js","webpack:///./node_modules/fbjs/lib/shallowEqual.js","webpack:///./node_modules/fbjs/lib/containsNode.js","webpack:///./node_modules/fbjs/lib/isTextNode.js","webpack:///./node_modules/fbjs/lib/isNode.js","webpack:///./node_modules/fbjs/lib/focusNode.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/prop-types/factoryWithThrowingShims.js","webpack:///./node_modules/fbjs/lib/invariant.js","webpack:///./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack:///./node_modules/react-i18nify/build/lib/I18n.js","webpack:///./node_modules/react-i18nify/build/lib/Base.js","webpack:///./decidim-comments/app/frontend/application/icon.component.tsx","webpack:///./decidim-comments/app/frontend/fragments/comment.fragment.graphql","webpack:///./node_modules/hoist-non-react-statics/index.js","webpack:///(webpack)/buildin/module.js","webpack:///./node_modules/unfetch/dist/unfetch.es.js","webpack:///./node_modules/moment/locale/af.js","webpack:///./node_modules/moment/locale/ar.js","webpack:///./node_modules/moment/locale/ar-dz.js","webpack:///./node_modules/moment/locale/ar-kw.js","webpack:///./node_modules/moment/locale/ar-ly.js","webpack:///./node_modules/moment/locale/ar-ma.js","webpack:///./node_modules/moment/locale/ar-sa.js","webpack:///./node_modules/moment/locale/ar-tn.js","webpack:///./node_modules/moment/locale/az.js","webpack:///./node_modules/moment/locale/be.js","webpack:///./node_modules/moment/locale/bg.js","webpack:///./node_modules/moment/locale/bm.js","webpack:///./node_modules/moment/locale/bn.js","webpack:///./node_modules/moment/locale/bo.js","webpack:///./node_modules/moment/locale/br.js","webpack:///./node_modules/moment/locale/bs.js","webpack:///./node_modules/moment/locale/ca.js","webpack:///./node_modules/moment/locale/cs.js","webpack:///./node_modules/moment/locale/cv.js","webpack:///./node_modules/moment/locale/cy.js","webpack:///./node_modules/moment/locale/da.js","webpack:///./node_modules/moment/locale/de.js","webpack:///./node_modules/moment/locale/de-at.js","webpack:///./node_modules/moment/locale/de-ch.js","webpack:///./node_modules/moment/locale/dv.js","webpack:///./node_modules/moment/locale/el.js","webpack:///./node_modules/moment/locale/en-au.js","webpack:///./node_modules/moment/locale/en-ca.js","webpack:///./node_modules/moment/locale/en-gb.js","webpack:///./node_modules/moment/locale/en-ie.js","webpack:///./node_modules/moment/locale/en-il.js","webpack:///./node_modules/moment/locale/en-nz.js","webpack:///./node_modules/moment/locale/eo.js","webpack:///./node_modules/moment/locale/es.js","webpack:///./node_modules/moment/locale/es-do.js","webpack:///./node_modules/moment/locale/es-us.js","webpack:///./node_modules/moment/locale/et.js","webpack:///./node_modules/moment/locale/eu.js","webpack:///./node_modules/moment/locale/fa.js","webpack:///./node_modules/moment/locale/fi.js","webpack:///./node_modules/moment/locale/fo.js","webpack:///./node_modules/moment/locale/fr.js","webpack:///./node_modules/moment/locale/fr-ca.js","webpack:///./node_modules/moment/locale/fr-ch.js","webpack:///./node_modules/moment/locale/fy.js","webpack:///./node_modules/moment/locale/gd.js","webpack:///./node_modules/moment/locale/gl.js","webpack:///./node_modules/moment/locale/gom-latn.js","webpack:///./node_modules/moment/locale/gu.js","webpack:///./node_modules/moment/locale/he.js","webpack:///./node_modules/moment/locale/hi.js","webpack:///./node_modules/moment/locale/hr.js","webpack:///./node_modules/moment/locale/hu.js","webpack:///./node_modules/moment/locale/hy-am.js","webpack:///./node_modules/moment/locale/id.js","webpack:///./node_modules/moment/locale/is.js","webpack:///./node_modules/moment/locale/it.js","webpack:///./node_modules/moment/locale/ja.js","webpack:///./node_modules/moment/locale/jv.js","webpack:///./node_modules/moment/locale/ka.js","webpack:///./node_modules/moment/locale/kk.js","webpack:///./node_modules/moment/locale/km.js","webpack:///./node_modules/moment/locale/kn.js","webpack:///./node_modules/moment/locale/ko.js","webpack:///./node_modules/moment/locale/ky.js","webpack:///./node_modules/moment/locale/lb.js","webpack:///./node_modules/moment/locale/lo.js","webpack:///./node_modules/moment/locale/lt.js","webpack:///./node_modules/moment/locale/lv.js","webpack:///./node_modules/moment/locale/me.js","webpack:///./node_modules/moment/locale/mi.js","webpack:///./node_modules/moment/locale/mk.js","webpack:///./node_modules/moment/locale/ml.js","webpack:///./node_modules/moment/locale/mr.js","webpack:///./node_modules/moment/locale/ms.js","webpack:///./node_modules/moment/locale/ms-my.js","webpack:///./node_modules/moment/locale/mt.js","webpack:///./node_modules/moment/locale/my.js","webpack:///./node_modules/moment/locale/nb.js","webpack:///./node_modules/moment/locale/ne.js","webpack:///./node_modules/moment/locale/nl.js","webpack:///./node_modules/moment/locale/nl-be.js","webpack:///./node_modules/moment/locale/nn.js","webpack:///./node_modules/moment/locale/pa-in.js","webpack:///./node_modules/moment/locale/pl.js","webpack:///./node_modules/moment/locale/pt.js","webpack:///./node_modules/moment/locale/pt-br.js","webpack:///./node_modules/moment/locale/ro.js","webpack:///./node_modules/moment/locale/ru.js","webpack:///./node_modules/moment/locale/sd.js","webpack:///./node_modules/moment/locale/se.js","webpack:///./node_modules/moment/locale/si.js","webpack:///./node_modules/moment/locale/sk.js","webpack:///./node_modules/moment/locale/sl.js","webpack:///./node_modules/moment/locale/sq.js","webpack:///./node_modules/moment/locale/sr.js","webpack:///./node_modules/moment/locale/sr-cyrl.js","webpack:///./node_modules/moment/locale/ss.js","webpack:///./node_modules/moment/locale/sv.js","webpack:///./node_modules/moment/locale/sw.js","webpack:///./node_modules/moment/locale/ta.js","webpack:///./node_modules/moment/locale/te.js","webpack:///./node_modules/moment/locale/tet.js","webpack:///./node_modules/moment/locale/tg.js","webpack:///./node_modules/moment/locale/th.js","webpack:///./node_modules/moment/locale/tl-ph.js","webpack:///./node_modules/moment/locale/tlh.js","webpack:///./node_modules/moment/locale/tr.js","webpack:///./node_modules/moment/locale/tzl.js","webpack:///./node_modules/moment/locale/tzm.js","webpack:///./node_modules/moment/locale/tzm-latn.js","webpack:///./node_modules/moment/locale/ug-cn.js","webpack:///./node_modules/moment/locale/uk.js","webpack:///./node_modules/moment/locale/ur.js","webpack:///./node_modules/moment/locale/uz.js","webpack:///./node_modules/moment/locale/uz-latn.js","webpack:///./node_modules/moment/locale/vi.js","webpack:///./node_modules/moment/locale/x-pseudo.js","webpack:///./node_modules/moment/locale/yo.js","webpack:///./node_modules/moment/locale/zh-cn.js","webpack:///./node_modules/moment/locale/zh-hk.js","webpack:///./node_modules/moment/locale/zh-tw.js","webpack:///./decidim-comments/app/frontend/comments/add_comment_form.component.tsx","webpack:///./node_modules/uuid/lib/rng-browser.js","webpack:///./node_modules/uuid/lib/bytesToUuid.js","webpack:///./decidim-comments/app/frontend/fragments/comment_thread.fragment.graphql","webpack:///./decidim-comments/app/frontend/comments/vote_button.component.tsx","webpack:///./decidim-comments/config/locales/am-ET.yml","webpack:///./decidim-comments/config/locales/ar-SA.yml","webpack:///./decidim-comments/config/locales/ar.yml","webpack:///./decidim-comments/config/locales/bg-BG.yml","webpack:///./decidim-comments/config/locales/bg.yml","webpack:///./decidim-comments/config/locales/ca.yml","webpack:///./decidim-comments/config/locales/cs-CZ.yml","webpack:///./decidim-comments/config/locales/cs.yml","webpack:///./decidim-comments/config/locales/da-DK.yml","webpack:///./decidim-comments/config/locales/da.yml","webpack:///./decidim-comments/config/locales/de.yml","webpack:///./decidim-comments/config/locales/el-GR.yml","webpack:///./decidim-comments/config/locales/el.yml","webpack:///./decidim-comments/config/locales/en.yml","webpack:///./decidim-comments/config/locales/eo-UY.yml","webpack:///./decidim-comments/config/locales/eo.yml","webpack:///./decidim-comments/config/locales/es-MX.yml","webpack:///./decidim-comments/config/locales/es-PY.yml","webpack:///./decidim-comments/config/locales/es.yml","webpack:///./decidim-comments/config/locales/et-EE.yml","webpack:///./decidim-comments/config/locales/et.yml","webpack:///./decidim-comments/config/locales/eu.yml","webpack:///./decidim-comments/config/locales/fi-pl.yml","webpack:///./decidim-comments/config/locales/fi-plain.yml","webpack:///./decidim-comments/config/locales/fi.yml","webpack:///./decidim-comments/config/locales/fr-CA.yml","webpack:///./decidim-comments/config/locales/fr.yml","webpack:///./decidim-comments/config/locales/ga-IE.yml","webpack:///./decidim-comments/config/locales/gl.yml","webpack:///./decidim-comments/config/locales/hr-HR.yml","webpack:///./decidim-comments/config/locales/hr.yml","webpack:///./decidim-comments/config/locales/hu.yml","webpack:///./decidim-comments/config/locales/id-ID.yml","webpack:///./decidim-comments/config/locales/is-IS.yml","webpack:///./decidim-comments/config/locales/is.yml","webpack:///./decidim-comments/config/locales/it.yml","webpack:///./decidim-comments/config/locales/ja-JP.yml","webpack:///./decidim-comments/config/locales/ja.yml","webpack:///./decidim-comments/config/locales/ko-KR.yml","webpack:///./decidim-comments/config/locales/ko.yml","webpack:///./decidim-comments/config/locales/lt-LT.yml","webpack:///./decidim-comments/config/locales/lt.yml","webpack:///./decidim-comments/config/locales/lv.yml","webpack:///./decidim-comments/config/locales/mt-MT.yml","webpack:///./decidim-comments/config/locales/mt.yml","webpack:///./decidim-comments/config/locales/nl.yml","webpack:///./decidim-comments/config/locales/no.yml","webpack:///./decidim-comments/config/locales/om-ET.yml","webpack:///./decidim-comments/config/locales/pl.yml","webpack:///./decidim-comments/config/locales/pt-BR.yml","webpack:///./decidim-comments/config/locales/pt.yml","webpack:///./decidim-comments/config/locales/ro-RO.yml","webpack:///./decidim-comments/config/locales/ru.yml","webpack:///./decidim-comments/config/locales/si-LK.yml","webpack:///./decidim-comments/config/locales/sk-SK.yml","webpack:///./decidim-comments/config/locales/sk.yml","webpack:///./decidim-comments/config/locales/sl.yml","webpack:///./decidim-comments/config/locales/so-SO.yml","webpack:///./decidim-comments/config/locales/sr-CS.yml","webpack:///./decidim-comments/config/locales/sv.yml","webpack:///./decidim-comments/config/locales/sw-KE.yml","webpack:///./decidim-comments/config/locales/ti-ER.yml","webpack:///./decidim-comments/config/locales/tr-TR.yml","webpack:///./decidim-comments/config/locales/uk.yml","webpack:///./decidim-comments/config/locales/vi-VN.yml","webpack:///./decidim-comments/config/locales/vi.yml","webpack:///./decidim-comments/config/locales/zh-CN.yml","webpack:///./decidim-comments/config/locales/zh-TW.yml","webpack:///./node_modules/symbol-observable/es/index.js","webpack:///./node_modules/symbol-observable/es/ponyfill.js","webpack:///./node_modules/apollo-client/version.js","webpack:///./decidim-comments/app/frontend/entry.ts","webpack:///./decidim-comments/app/frontend/comments/comments.component.tsx","webpack:///./node_modules/lodash.flowright/index.js","webpack:///./node_modules/lodash.pick/index.js","webpack:///./decidim-comments/app/frontend/application/application.component.tsx","webpack:///./decidim-comments/app/frontend/application/apollo_client.ts","webpack:///./node_modules/graphql/language/visitor.js","webpack:///./node_modules/zen-observable/index.js","webpack:///./node_modules/zen-observable/zen-observable.js","webpack:///(webpack)/buildin/harmony-module.js","webpack:///./node_modules/unfetch/polyfill.js","webpack:///./node_modules/intl/index.js","webpack:///./node_modules/intl/lib/core.js","webpack:///./node_modules/moment/locale sync ^\\.\\/.*$","webpack:///./node_modules/moment/min/locales.js","webpack:///./node_modules/react-i18nify/build/lib/Translate.js","webpack:///./node_modules/react-i18nify/build/lib/Localize.js","webpack:///./node_modules/uuid/index.js","webpack:///./node_modules/uuid/v1.js","webpack:///./node_modules/uuid/v4.js","webpack:///./decidim-comments/app/frontend/support/asset_url.ts","webpack:///./decidim-comments/app/frontend/mutations/add_comment.mutation.graphql","webpack:///./decidim-comments/app/frontend/fragments/comment_data.fragment.graphql","webpack:///./decidim-comments/app/frontend/fragments/up_vote_button.fragment.graphql","webpack:///./decidim-comments/app/frontend/fragments/down_vote_button.fragment.graphql","webpack:///./decidim-comments/app/frontend/fragments/add_comment_form_session.fragment.graphql","webpack:///./decidim-comments/app/frontend/fragments/add_comment_form_commentable.fragment.graphql","webpack:///./decidim-comments/app/frontend/comments/comment_order_selector.component.tsx","webpack:///./decidim-comments/app/frontend/comments/comment_thread.component.tsx","webpack:///./decidim-comments/app/frontend/comments/comment.component.tsx","webpack:///./decidim-comments/app/frontend/comments/down_vote_button.component.tsx","webpack:///./decidim-comments/app/frontend/mutations/down_vote.mutation.graphql","webpack:///./decidim-comments/app/frontend/comments/up_vote_button.component.tsx","webpack:///./decidim-comments/app/frontend/mutations/up_vote.mutation.graphql","webpack:///./decidim-comments/app/frontend/support/load_translations.ts","webpack:///./decidim-comments/app/frontend/support/require_all.ts","webpack:///./decidim-comments/config/locales sync \\.yml$","webpack:///./decidim-comments/config/locales sync ^\\.\\/.*\\.yml$","webpack:///./node_modules/apollo-cache/lib/utils.js","webpack:///./node_modules/apollo-cache/lib/types/Cache.js","webpack:///./node_modules/apollo-cache/lib/cache.js","webpack:///./node_modules/apollo-cache-inmemory/lib/fragmentMatcher.js","webpack:///./node_modules/apollo-cache-inmemory/lib/objectCache.js","webpack:///./node_modules/apollo-cache-inmemory/lib/writeToStore.js","webpack:///./node_modules/graphql-anywhere/lib/graphql.js","webpack:///./node_modules/graphql-anywhere/lib/utilities.js","webpack:///./node_modules/graphql-anywhere/lib/index.js","webpack:///./node_modules/apollo-cache-inmemory/lib/readFromStore.js","webpack:///./node_modules/apollo-cache-inmemory/lib/recordingCache.js","webpack:///./node_modules/apollo-cache-inmemory/lib/inMemoryCache.js","webpack:///./node_modules/apollo-client/core/networkStatus.js","webpack:///./node_modules/apollo-client/util/Observable.js","webpack:///./node_modules/apollo-client/errors/ApolloError.js","webpack:///./node_modules/apollo-client/core/types.js","webpack:///./node_modules/apollo-client/core/ObservableQuery.js","webpack:///./node_modules/apollo-link-dedup/lib/dedupLink.js","webpack:///./node_modules/apollo-client/scheduler/scheduler.js","webpack:///./node_modules/apollo-client/data/mutations.js","webpack:///./node_modules/apollo-client/data/queries.js","webpack:///./node_modules/apollo-client/core/QueryManager.js","webpack:///./node_modules/apollo-client/data/store.js","webpack:///./node_modules/apollo-client/ApolloClient.js","webpack:///./node_modules/apollo-client/index.js","webpack:///./node_modules/apollo-link-http/lib/httpLink.js","webpack:///./node_modules/apollo-link-http-common/lib/index.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","hookCallback","some","hooks","apply","arguments","isArray","input","Array","toString","isObject","isUndefined","isNumber","isDate","Date","map","arr","fn","res","length","push","hasOwnProp","a","b","extend","valueOf","createUTC","format","locale","strict","createLocalOrUTC","utc","getParsingFlags","_pf","empty","unusedTokens","unusedInput","overflow","charsLeftOver","nullInput","invalidMonth","invalidFormat","userInvalidated","iso","parsedDateParts","meridiem","rfc2822","weekdayMismatch","isValid","_isValid","flags","parsedParts","isNowValid","isNaN","_d","getTime","invalidWeekday","_strict","undefined","bigHour","isFrozen","createInvalid","NaN","fun","this","len","momentProperties","copyConfig","to","from","prop","val","_isAMomentObject","_i","_f","_l","_tzm","_isUTC","_offset","_locale","updateInProgress","Moment","config","updateOffset","isMoment","obj","absFloor","number","Math","ceil","floor","toInt","argumentForCoercion","coercedNumber","isFinite","compareArrays","array1","array2","dontConvert","min","lengthDiff","abs","diffs","warn","msg","suppressDeprecationWarnings","console","deprecate","firstTime","deprecationHandler","arg","args","slice","join","Error","stack","keys","deprecations","deprecateSimple","isFunction","Function","mergeConfigs","parentConfig","childConfig","Locale","set","aliases","addUnitAlias","unit","shorthand","lowerCase","toLowerCase","normalizeUnits","units","normalizeObjectUnits","inputObject","normalizedProp","normalizedInput","priorities","addUnitPriority","priority","zeroFill","targetLength","forceSign","absNumber","zerosToFill","pow","max","substr","formattingTokens","localFormattingTokens","formatFunctions","formatTokenFunctions","addFormatToken","token","padded","ordinal","callback","func","localeData","formatMoment","expandFormat","array","match","replace","mom","output","makeFormatFunction","invalidDate","replaceLongDateFormatTokens","longDateFormat","lastIndex","test","match1","match2","match3","match4","match6","match1to2","match3to4","match5to6","match1to3","match1to4","match1to6","matchUnsigned","matchSigned","matchOffset","matchShortOffset","matchWord","regexes","addRegexToken","regex","strictRegex","isStrict","getParseRegexForToken","RegExp","regexEscape","matched","p1","p2","p3","p4","tokens","addParseToken","addWeekParseToken","_w","addTimeToArrayFromToken","_a","daysInYear","year","isLeapYear","y","parseTwoDigitYear","parseInt","indexOf","getSetYear","makeGetSet","keepTime","set$1","month","date","daysInMonth","x","modMonth","monthsShort","months","monthsShortRegex","monthsRegex","monthsParse","MONTHS_IN_FORMAT","defaultLocaleMonths","split","defaultLocaleMonthsShort","handleStrictParse","monthName","ii","llc","toLocaleLowerCase","_monthsParse","_longMonthsParse","_shortMonthsParse","setMonth","dayOfMonth","getSetMonth","defaultMonthsShortRegex","defaultMonthsRegex","computeMonthsParse","cmpLenRev","shortPieces","longPieces","mixedPieces","sort","_monthsRegex","_monthsShortRegex","_monthsStrictRegex","_monthsShortStrictRegex","createDate","h","M","ms","getFullYear","setFullYear","createUTCDate","UTC","getUTCFullYear","setUTCFullYear","firstWeekOffset","dow","doy","fwd","getUTCDay","dayOfYearFromWeeks","week","weekday","resYear","resDayOfYear","dayOfYear","weekOfYear","resWeek","weekOffset","weeksInYear","weekOffsetNext","weekdaysMin","weekdaysShort","weekdays","weekdaysMinRegex","weekdaysShortRegex","weekdaysRegex","weekdaysParse","defaultLocaleWeekdays","defaultLocaleWeekdaysShort","defaultLocaleWeekdaysMin","handleStrictParse$1","weekdayName","_weekdaysParse","_shortWeekdaysParse","_minWeekdaysParse","day","defaultWeekdaysRegex","defaultWeekdaysShortRegex","defaultWeekdaysMinRegex","computeWeekdaysParse","minp","shortp","longp","minPieces","_weekdaysRegex","_weekdaysShortRegex","_weekdaysMinRegex","_weekdaysStrictRegex","_weekdaysShortStrictRegex","_weekdaysMinStrictRegex","hFormat","hours","lowercase","minutes","matchMeridiem","_meridiemParse","seconds","kInput","_isPm","isPM","_meridiem","pos","pos1","pos2","globalLocale","getSetHour","baseConfig","calendar","sameDay","nextDay","nextWeek","lastDay","lastWeek","sameElse","LTS","LT","L","LL","LLL","LLLL","dayOfMonthOrdinalParse","relativeTime","future","past","ss","mm","hh","dd","MM","yy","meridiemParse","locales","localeFamilies","normalizeLocale","loadLocale","oldLocale","_abbr","getSetGlobalLocale","e","values","data","getLocale","defineLocale","abbr","_config","parentLocale","forEach","names","j","next","chooseLocale","checkOverflow","_overflowDayOfYear","_overflowWeeks","_overflowWeekday","defaults","configFromArray","currentDate","expectedWeekday","yearToUse","nowValue","now","_useUTC","getUTCMonth","getUTCDate","getMonth","getDate","currentDateArray","w","weekYear","temp","weekdayOverflow","GG","W","E","createLocal","_week","curWeek","gg","_dayOfYear","dayOfYearFromWeekInfo","_nextDay","getDay","setUTCMinutes","getUTCMinutes","extendedIsoRegex","basicIsoRegex","tzRegex","isoDates","isoTimes","aspNetJsonRegex","configFromISO","allowTime","dateFormat","timeFormat","tzFormat","string","exec","configFromStringAndFormat","untruncateYear","yearStr","obsOffsets","UT","GMT","EDT","EST","CDT","CST","MDT","MST","PDT","PST","configFromRFC2822","monthStr","dayStr","hourStr","minuteStr","secondStr","result","trim","parsedArray","weekdayStr","parsedInput","checkWeekday","obsOffset","militaryOffset","numOffset","hm","calculateOffset","ISO_8601","RFC_2822","skipped","stringLength","totalParsedInputLength","hour","isPm","meridiemHour","meridiemFixWrap","prepareConfig","preparse","tempConfig","bestMoment","scoreToBeat","currentScore","score","configFromStringAndArray","createFromInputFallback","configFromString","minute","second","millisecond","configFromObject","configFromInput","isUTC","getOwnPropertyNames","k","isObjectEmpty","add","prototypeMin","other","prototypeMax","pickBy","moments","ordering","Duration","duration","years","quarters","quarter","weeks","days","milliseconds","unitHasDecimal","parseFloat","isDurationValid","_milliseconds","_days","_months","_data","_bubble","isDuration","absRound","round","offset","separator","utcOffset","sign","offsetFromString","chunkOffset","matcher","matches","parts","cloneWithOffset","model","diff","clone","setTime","local","getDateOffset","getTimezoneOffset","isUtc","aspNetRegex","isoRegex","createDuration","ret","diffRes","base","parseIso","isBefore","positiveMomentsDifference","inp","isAfter","createAdder","direction","period","tmp","addSubtract","isAdding","invalid","subtract","monthDiff","wholeMonthDiff","anchor","newLocaleData","defaultFormat","defaultFormatUtc","lang","addWeekYearFormatToken","getSetWeekYearHelper","weeksTarget","setWeekAll","dayOfYearData","isoWeekYear","_dayOfMonthOrdinalParse","_ordinalParse","_dayOfMonthOrdinalParseLenient","getSetDayOfMonth","getSetMinute","getSetSecond","parseMs","getSetMillisecond","proto","preParsePostFormat","time","formats","sod","startOf","calendarFormat","asFloat","that","zoneDelta","endOf","inputString","postformat","withoutSuffix","humanize","fromNow","toNow","invalidAt","localInput","isBetween","inclusivity","isSame","inputMs","isSameOrAfter","isSameOrBefore","parsingFlags","prioritized","unitsObj","u","getPrioritizedUnits","isoWeekday","toArray","toObject","toDate","toISOString","keepOffset","inspect","zone","isLocal","prefix","suffix","toJSON","unix","creationData","isoWeek","isoWeeks","weekInfo","isoWeeksInYear","parseWeekday","parseIsoWeekday","keepLocalTime","keepMinutes","localAdjust","_changeInProgress","parseZone","tZone","hasAlignedHourOffset","isDST","isUtcOffset","zoneAbbr","zoneName","dates","isDSTShifted","_isDSTShifted","proto$1","get$1","index","field","setter","listMonthsImpl","out","listWeekdaysImpl","localeSorted","shift","_calendar","_longDateFormat","formatUpper","toUpperCase","_invalidDate","_ordinal","isFuture","_relativeTime","pastFuture","source","isFormat","_monthsShort","_monthsParseExact","firstDayOfYear","firstDayOfWeek","_weekdays","_weekdaysMin","_weekdaysShort","_weekdaysParseExact","_fullWeekdaysParse","charAt","isLower","langData","mathAbs","addSubtract$1","absCeil","daysToMonths","monthsToDays","makeAs","alias","as","asMilliseconds","asSeconds","asMinutes","asHours","asDays","asWeeks","asMonths","asYears","makeGetter","thresholds","substituteTimeAgo","abs$1","toISOString$1","Y","D","toFixed","total","totalSign","ymSign","daysSign","hmsSign","proto$2","monthsFromDays","withSuffix","posNegDuration","relativeTime$1","toIsoString","version","updateLocale","tmpLocale","relativeTimeRounding","roundingFunction","relativeTimeThreshold","threshold","limit","myMoment","HTML5_FMT","DATETIME_LOCAL","DATETIME_LOCAL_SECONDS","DATETIME_LOCAL_MS","DATE","TIME","TIME_SECONDS","TIME_MS","WEEK","MONTH","factory","valueToObjectRepresentation","argObj","variables","kind","isIntValue","isFloatValue","Number","isBooleanValue","isStringValue","isObjectValue","nestedArgObj_1","fields","isVariable","variableValue","isListValue","listValue","nestedArgArrayObj","isEnumValue","isNullValue","storeKeyNameFromField","directivesObj","directives","directive","getStoreKeyName","KNOWN_DIRECTIVES","fieldName","filterKeys","queryArgs_1","filteredArgs_1","JSON","stringify","completeFieldName","stringifiedArgs","argumentsObjectFromField","argObj_1","resultKeyNameFromField","isField","selection","isInlineFragment","isIdValue","idObject","type","toIdValue","id","generated","isJsonValue","jsonObject","getDirectiveInfoFromField","directiveObj_1","shouldInclude","directiveArguments","directiveName","ifArgument","ifValue","evaledValue","added","Map","getDirectiveNames","doc","cached","definitions","filter","definition","selectionSet","selections","flattenSelections","concat","selectionNode","reduce","selected","hasDirectives","__assign","assign","getFragmentQueryDocument","document","fragmentName","actualFragmentName","fragments","operation","target","sources","getMutationDefinition","checkDocument","mutationDef","operations","getOperationDefinition","getOperationDefinitionOrDie","def","getOperationName","getFragmentDefinitions","getQueryDefinition","queryDef","getMainDefinition","queryDoc","fragmentDefinition","createFragmentMap","symTable","fragment","getDefaultValues","variableDefinitions","defaultValues","defaultValue","variable","defaultValueObj","cloneDeep","item","nextValue","TYPENAME_FIELD","isNotEmpty","op","getDirectiveMatcher","dir","removeDirectivesFromDocument","docClone","removeDirectivesFromSelectionSet","agressiveRemove","remove","directiveMatcher","shouldKeep","addTypenameToDocument","isRoot","addTypenameToSelectionSet","lastIndexOf","connectionRemoveConfig","willRemove","removed","removeConnectionDirectiveFromDocument","tryFunctionOrLogError","f","error","graphQLResultHasError","errors","isEqual","maybeDeepFreeze","deepFreeze","freeze","haveWarned","warnOnceInDevelopment","extendStatics","__extends","setPrototypeOf","__proto__","__","constructor","LinkError","_super","message","link","_this","isTerminating","request","fromError","errorValue","observer","createOperation","starting","context","query","operationName","getKey","passthrough","forward","of","toLink","handler","ApolloLink","links","left","right","leftLink","rightLink","first","firstLink","nextLink","execute","transformedOperation","extensions","transformOperation","OPERATION_FIELDS","validateOperation","print","ast","_visitor","visit","leave","printDocASTReducer","Name","node","Variable","Document","OperationDefinition","varDefs","wrap","VariableDefinition","_ref","SelectionSet","_ref2","block","Field","_ref3","Argument","_ref4","FragmentSpread","_ref5","InlineFragment","_ref6","typeCondition","FragmentDefinition","_ref7","IntValue","_ref8","FloatValue","_ref9","StringValue","_ref10","isDescription","escaped","indent","printBlockString","BooleanValue","_ref11","NullValue","EnumValue","_ref12","ListValue","_ref13","ObjectValue","_ref14","ObjectField","_ref15","Directive","_ref16","NamedType","_ref17","ListType","_ref18","NonNullType","_ref19","SchemaDefinition","_ref20","operationTypes","OperationTypeDefinition","_ref21","ScalarTypeDefinition","addDescription","_ref22","ObjectTypeDefinition","_ref23","interfaces","FieldDefinition","_ref24","InputValueDefinition","_ref25","InterfaceTypeDefinition","_ref26","UnionTypeDefinition","_ref27","types","EnumTypeDefinition","_ref28","EnumValueDefinition","_ref29","InputObjectTypeDefinition","_ref30","ScalarTypeExtension","_ref31","ObjectTypeExtension","_ref32","InterfaceTypeExtension","_ref33","UnionTypeExtension","_ref34","EnumTypeExtension","_ref35","InputObjectTypeExtension","_ref36","DirectiveDefinition","_ref37","locations","cb","description","maybeArray","start","maybeString","end","g","window","hasOwn","classNames","classes","argType","makeEmptyFunction","emptyFunction","thatReturns","thatReturnsFalse","thatReturnsTrue","thatReturnsNull","thatReturnsThis","thatReturnsArgument","_I18n","_interopRequireDefault","default","_Translate","_Localize","getOwnPropertySymbols","propIsEnumerable","propertyIsEnumerable","TypeError","test1","String","test2","fromCharCode","test3","letter","err","shouldUseNative","symbols","checkDCE","__REACT_DEVTOOLS_GLOBAL_HOOK__","isEnv","env","process","isProduction","isDevelopment","isTest","React","PropTypes","lodash_flowright","shallowEqual","objA","objB","keysA","keysB","DocumentType","__rest","ObservableQueryRecycler","observableQueries","recycle","observableQuery","setOptions","fetchPolicy","pollInterval","fetchResults","subscription","subscribe","reuse","options","pop","unsubscribe","ssr","skip","client","modifiableOpts","__extends$1","QueryRecyclerProvider","props","recyclers","WeakMap","getQueryRecycler","componentWillReceiveProps","_","nextContext","component","has","getChildContext","render","Children","only","children","propTypes","element","isRequired","contextTypes","childContextTypes","Component","invariant","ApolloProvider","createElement","invariant$2","__extends$2","__assign$1","invariant$1","pick","hoistNonReactStatics","defaultMapPropsToOptions","defaultMapPropsToSkip","observableQueryFields","observable","getDisplayName","WrappedComponent","displayName","nextVersion","__extends$3","invariant$3","assign$1","hoistNonReactStatics$1","assign$2","getQueriesFromTree","fetchRoot","rootElement","_b","rootContext","queries","walkTree","element$$1","visitor","Component$$1","defaultProps","childContext","child","isReactComponent","instance_1","state","setState","newState","componentWillMount","instance","skipRoot","fetchData","compose","graphql","operationOptions","_c","mapPropsToOptions","mapPropsToSkip","mapResultToProps","mutations","subscriptions","Query","Mutation","Subscription","parser","graphQLDisplayName","GraphQL","previousData","dataForChildViaMutation","setWrappedInstance","shouldSkip","setInitialProps","componentDidMount","hasMounted","subscribeToQuery","refetcherQueue","resolve","reject","queryObservable","refetch","then","catch","nextProps","unsubscribeFromQuery","shouldRerender","updateQuery","shouldResubscribe","componentWillUnmount","recycler","getClient","calculateOptions","newOpts","opts","calculateResultProps","newResult","ownProps","createQuery","watchQuery","metadata","reactComponent","_setOptionsNoResult","currentResult","loading","querySubscription","results","lastSubscriptionData","clashingKeys","forceRenderChildren","forceUpdate","getWrappedInstance","withRef","wrappedInstance","ref","mutationOpts","mutation","mutate","dataForChild","error_1","networkStatus","logErrorTimeoutId_1","setTimeout","configurable","clearTimeout","getLastResult","Promise","renderedElement","clientProps","mergedPropsAndData","withApollo","withDisplayName","getDisplayName$1","WithApollo","getDataFromTree","mappedQueries","all","queryErrors","condition","argIndex","framesToPop","loc","unique","defs","definitionRefs","findOperation","find","refs","Set","collectFragmentReferences","newDoc","opRefs","allRefs","newRefs","size","prevRefs","refName","childRef","oneQuery","q","v","iterator","encodeURIComponent","z","isMounted","enqueueForceUpdate","enqueueReplaceState","enqueueSetState","A","updater","B","C","isPureReactComponent","F","unstable_isAsyncReactComponent","G","current","H","I","__self","__source","J","$$typeof","_owner","K","N","keyPrefix","count","O","P","Q","done","escape","R","S","T","U","PureComponent","unstable_AsyncComponent","Fragment","cloneElement","createFactory","isValidElement","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","ReactCurrentOwner","V","aa","ba","da","ea","fa","ia","oa","dangerouslySetInnerHTML","defaultChecked","innerHTML","suppressContentEditableWarning","suppressHydrationWarning","style","pa","ta","MUST_USE_PROPERTY","HAS_BOOLEAN_VALUE","HAS_NUMERIC_VALUE","HAS_POSITIVE_NUMERIC_VALUE","HAS_OVERLOADED_BOOLEAN_VALUE","HAS_STRING_BOOLEAN_VALUE","injectDOMPropertyConfig","Properties","DOMAttributeNamespaces","DOMAttributeNames","DOMMutationMethods","ua","attributeName","attributeNamespace","propertyName","mutationMethod","mustUseProperty","hasBooleanValue","hasNumericValue","hasPositiveNumericValue","hasOverloadedBooleanValue","hasStringBooleanValue","va","wa","xa","ya","za","Aa","Ba","Ca","Da","allowFullScreen","async","autoFocus","autoPlay","capture","checked","cols","contentEditable","controls","defer","disabled","download","draggable","formNoValidate","hidden","loop","multiple","muted","noValidate","open","playsInline","readOnly","required","reversed","rows","rowSpan","scoped","seamless","span","spellCheck","tabIndex","itemScope","acceptCharset","className","htmlFor","httpEquiv","removeAttribute","hasAttribute","validity","badInput","ownerDocument","activeElement","setAttribute","Ea","Ga","autoReverse","externalResourcesRequired","preserveAlpha","xlinkActuate","xlinkArcrole","xlinkHref","xlinkRole","xlinkShow","xlinkTitle","xlinkType","xmlBase","xmlLang","xmlSpace","Ha","Ia","_caughtError","_hasCaughtError","_rethrowError","_hasRethrowError","injection","injectErrorUtils","invokeGuardedCallback","Ja","invokeGuardedCallbackAndCatchFirstError","hasCaughtError","clearCaughtError","rethrowCaughtError","Ka","La","Ma","Na","Oa","extractEvents","eventTypes","Pa","phasedRegistrationNames","Qa","registrationName","Ra","Sa","dependencies","Ta","Ua","Va","plugins","eventNameDispatchConfigs","registrationNameModules","registrationNameDependencies","possibleRegistrationNames","injectEventPluginOrder","injectEventPluginsByName","Wa","Xa","Ya","Za","currentTarget","$a","ab","bb","_dispatchListeners","_dispatchInstances","isPropagationStopped","isPersistent","release","db","gb","hb","ib","stateNode","jb","kb","lb","mb","getListener","enqueueEvents","processEventQueue","nb","random","ob","pb","parentNode","tag","qb","rb","sb","precacheFiberNode","getClosestInstanceFromNode","getInstanceFromNode","getNodeFromInstance","getFiberCurrentPropsFromNode","updateFiberProps","tb","ub","vb","dispatchConfig","wb","_targetInst","xb","yb","zb","Ab","Bb","alternate","Cb","accumulateTwoPhaseDispatches","accumulateTwoPhaseDispatchesSkipTarget","accumulateEnterLeaveDispatches","accumulateDirectDispatches","Db","Eb","canUseDOM","documentElement","_root","_startText","_fallbackText","Fb","Gb","Hb","Ib","eventPhase","bubbles","cancelable","timeStamp","defaultPrevented","isTrusted","nativeEvent","Interface","isDefaultPrevented","returnValue","Kb","eventPool","Lb","destructor","Jb","getPooled","Mb","Nb","preventDefault","stopPropagation","cancelBubble","persist","augmentClass","Xb","Pb","Vb","Wb","documentMode","Yb","opera","Zb","$b","ac","bc","beforeInput","bubbled","captured","compositionEnd","compositionStart","compositionUpdate","cc","dc","keyCode","ec","detail","fc","ic","which","gc","ctrlKey","altKey","metaKey","char","hc","jc","kc","lc","mc","restoreControlledState","nc","injectFiberControlledHostComponent","oc","pc","qc","enqueueStateRestore","restoreStateIfNeeded","rc","sc","tc","xc","uc","color","datetime","email","password","range","search","tel","text","url","vc","nodeName","wc","srcElement","correspondingUseElement","nodeType","yc","implementation","hasFeature","zc","Bc","_valueTracker","getOwnPropertyDescriptor","getValue","setValue","stopTracking","Ac","Cc","Dc","change","Ec","Fc","Gc","Hc","Ic","Jc","Kc","Lc","detachEvent","Mc","Nc","attachEvent","Oc","Pc","$c","ad","_isInputEventSupported","_wrapperState","controlled","getAttribute","bd","view","cd","Alt","Control","Meta","Shift","getModifierState","ed","fd","screenX","screenY","clientX","clientY","pageX","pageY","shiftKey","button","buttons","relatedTarget","fromElement","toElement","gd","mouseEnter","mouseLeave","hd","defaultView","parentWindow","jd","kd","effectTag","ld","_reactInternalFiber","md","nd","sibling","qd","rd","targetInst","ancestors","containerInfo","sd","topLevelType","td","ud","listen","vd","wd","xd","setHandleTopLevel","setEnabled","isEnabled","trapBubbledEvent","trapCapturedEvent","dispatchEvent","yd","zd","animationend","animationiteration","animationstart","transitionend","Ad","Bd","Cd","animation","transition","Dd","topAbort","topAnimationEnd","topAnimationIteration","topAnimationStart","topBlur","topCancel","topCanPlay","topCanPlayThrough","topChange","topClick","topClose","topCompositionEnd","topCompositionStart","topCompositionUpdate","topContextMenu","topCopy","topCut","topDoubleClick","topDrag","topDragEnd","topDragEnter","topDragExit","topDragLeave","topDragOver","topDragStart","topDrop","topDurationChange","topEmptied","topEncrypted","topEnded","topError","topFocus","topInput","topKeyDown","topKeyPress","topKeyUp","topLoadedData","topLoad","topLoadedMetadata","topLoadStart","topMouseDown","topMouseMove","topMouseOut","topMouseOver","topMouseUp","topPaste","topPause","topPlay","topPlaying","topProgress","topRateChange","topScroll","topSeeked","topSeeking","topSelectionChange","topStalled","topSuspend","topTextInput","topTimeUpdate","topToggle","topTouchCancel","topTouchEnd","topTouchMove","topTouchStart","topTransitionEnd","topVolumeChange","topWaiting","topWheel","Ed","Fd","Gd","Hd","Id","firstChild","Jd","textContent","nextSibling","Kd","Ld","Md","select","Nd","Od","Pd","Qd","Rd","selectionStart","selectionEnd","getSelection","anchorNode","anchorOffset","focusNode","focusOffset","Sd","onSelect","Td","Ud","Vd","Wd","charCode","animationName","elapsedTime","pseudoElement","clipboardData","Xd","Esc","Spacebar","Left","Up","Right","Down","Del","Win","Menu","Apps","Scroll","MozPrintableKey","Yd","8","9","12","13","16","17","18","19","20","27","32","33","34","35","36","37","38","39","40","45","46","112","113","114","115","116","117","118","119","120","121","122","123","144","145","224","Zd","$d","ae","be","ce","location","repeat","dataTransfer","touches","targetTouches","changedTouches","deltaX","wheelDeltaX","deltaY","wheelDeltaY","wheelDelta","deltaZ","deltaMode","de","ee","fe","SimpleEventPlugin","EnterLeaveEventPlugin","ChangeEventPlugin","SelectEventPlugin","BeforeInputEventPlugin","ge","he","ie","X","je","ke","le","me","__reactInternalMemoizedUnmaskedChildContext","__reactInternalMemoizedMaskedChildContext","ne","oe","cursor","pe","qe","__reactInternalMemoizedMergedChildContext","re","memoizedState","updateQueue","memoizedProps","pendingProps","internalContextTag","lastEffect","firstEffect","nextEffect","expirationTime","se","te","ue","ve","we","xe","ye","pendingChildren","ze","Ae","Be","De","Ee","Fe","baseState","last","callbackList","hasForceUpdate","isInitialized","Ge","He","Ie","partialState","Je","isReplace","isForced","Ke","Qe","Re","Se","Te","Ue","Ve","We","Xe","Ye","Ze","_stringRef","$e","af","bf","cf","df","pendingContext","shouldSetTextContent","useSyncScheduling","shouldDeprioritizeSubtree","pushHostContext","pushHostContainer","enterHydrationState","resetHydrationState","tryToClaimNextHydratableInstance","nextCallback","adoptClassInstance","constructClassInstance","mountClassInstance","updateClassInstance","componentDidUpdate","shouldComponentUpdate","componentWillUpdate","Le","Ob","beginWork","hydrate","beginFailedWork","gf","kf","Qb","ja","isReadyForCommit","yg","zg","Ag","Ne","Oe","Sc","Bg","Tc","Cg","Dg","Eg","componentDidCatch","componentStack","ca","Qc","ha","qa","Fg","rg","Gg","Uc","ra","Rc","eb","qg","_debugOwner","_debugSource","fileName","lineNumber","componentName","errorBoundary","errorBoundaryFound","errorBoundaryName","willRetry","suppressReactErrorLogging","Vc","ka","Hg","Rb","Ig","nextScheduledRoot","remainingExpirationTime","sa","Fa","la","Sb","ma","na","Wc","Pe","Tb","Jg","Xc","Kg","timeout","fb","Yc","Ub","Zc","finishedWork","timeRemaining","Lg","getChildHostContext","getRootHostContext","getHostContext","getRootHostContainer","popHostContainer","popHostContext","resetHostContainer","hf","hydration","prepareToHydrateHostInstance","prepareToHydrateHostTextInstance","popHydrationState","canHydrateInstance","canHydrateTextInstance","getNextHydratableSibling","getFirstHydratableChild","hydrateInstance","hydrateTextInstance","jf","Me","createInstance","createTextInstance","appendInitialChild","finalizeInitialChildren","prepareUpdate","persistence","completeWork","ef","getPublicInstance","commitMount","commitUpdate","resetTextContent","commitTextUpdate","appendChild","appendChildToContainer","insertBefore","insertInContainerBefore","removeChild","removeChildFromContainer","commitResetTextContent","commitPlacement","commitDeletion","commitWork","commitLifeCycles","commitAttachRef","commitDetachRef","ff","scheduleDeferredCallback","cancelDeferredCallback","prepareForCommit","resetAfterCommit","computeAsyncExpiration","computeExpirationForFiber","scheduleWork","batchedUpdates","unbatchedUpdates","flushSync","deferredUpdates","lf","od","createContainer","updateContainer","getPublicRootInstance","findHostInstance","findHostInstanceWithNoPortals","pd","injectIntoDevTools","findFiberByHostInstance","isDisabled","supportsFiber","inject","onCommitFiberRoot","onCommitFiberUnmount","Ce","findHostInstanceByFiber","mf","nf","pf","qf","performance","rf","sf","tf","requestIdleCallback","cancelIdleCallback","Bf","uf","vf","wf","xf","yf","zf","Af","didTimeout","Cf","addEventListener","requestAnimationFrame","Df","postMessage","Infinity","Ef","Ff","Gf","If","Jf","setAttributeNS","Kf","Hf","Lf","step","initialValue","initialChecked","Mf","Nf","Of","Pf","Rf","Qf","Sf","defaultSelected","Tf","wasMultiple","Uf","Vf","Wf","Xf","Yf","Zf","$f","ag","bg","MSApp","execUnsafeLocalFunction","namespaceURI","cg","lastChild","nodeValue","dg","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","fontWeight","lineClamp","lineHeight","opacity","order","orphans","tabSize","widows","zIndex","zoom","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","eg","fg","setProperty","substring","menuitem","area","br","col","embed","hr","img","keygen","meta","param","track","wbr","hg","ig","is","jg","kg","lg","mg","ng","createElementNS","og","createTextNode","pg","__html","onClick","onclick","sg","tg","ug","vg","wg","setInitialProperties","diffProperties","updateProperties","diffHydratedProperties","diffHydratedText","warnForUnmatchedText","warnForDeletedHydratableElement","warnForDeletedHydratableText","warnForInsertedHydratedElement","warnForInsertedHydratedText","querySelectorAll","form","xg","Mg","Ng","Z","tagName","rangeCount","focusedElem","selectionRange","createRange","setStart","removeAllRanges","addRange","setEnd","scrollLeft","top","scrollTop","focus","didNotMatchHydratedContainerTextInstance","didNotMatchHydratedTextInstance","didNotHydrateContainerInstance","didNotHydrateInstance","didNotFindHydratableContainerInstance","didNotFindHydratableContainerTextInstance","didNotFindHydratableInstance","didNotFindHydratableTextInstance","Pg","_reactRootContainer","Og","Qg","Rg","unmount","Sg","createPortal","findDOMNode","unstable_renderSubtreeIntoContainer","unmountComponentAtNode","unstable_createPortal","unstable_batchedUpdates","unstable_deferredUpdates","EventPluginHub","EventPluginRegistry","EventPropagators","ReactControlledComponent","ReactDOMComponentTree","ReactDOMEventListener","bundleType","rendererPackageName","Tg","Ug","ExecutionEnvironment","canUseWorkers","Worker","canUseEventListeners","canUseViewport","screen","isInWorker","EventListener","eventType","removeEventListener","registerDefault","body","isTextNode","containsNode","outerNode","innerNode","contains","compareDocumentPosition","isNode","Node","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","currentQueue","queue","draining","queueIndex","cleanUpNextTick","drainQueue","run","marker","runClearTimeout","Item","noop","nextTick","title","browser","argv","versions","on","addListener","once","off","removeListener","removeAllListeners","emit","prependListener","prependOnceListener","listeners","binding","cwd","chdir","umask","ReactPropTypesSecret","shim","propName","propFullName","secret","getShim","ReactPropTypes","bool","symbol","any","arrayOf","instanceOf","objectOf","oneOf","oneOfType","shape","exact","checkPropTypes","_typeof","_intl2","_moment2","_Base2","_localeKey","_translationsObject","_getTranslations","_getLocale","_handleMissingTranslation","translations","setLocale","rerenderComponents","forceComponentsUpdate","setTranslations","_translations","loadTranslations","setTranslationsGetter","setLocaleGetter","setHandleMissingTranslation","replacements","_translate","_localize","_replace","translation","replacement","_result","translationKey","translationLocale","_fetchTranslation","parseFormat","Boolean","strictParse","global","Intl","NumberFormat","supportedLocalesOf","_index","rerenderAll","_createClass","defineProperties","descriptor","writable","Constructor","protoProps","staticProps","_react","_classCallCheck","_possibleConstructorReturn","self","ReferenceError","Base","_React$Component","getPrototypeOf","subClass","superClass","_inherits","instances","splice","iconExtraClassName","role","REACT_STATICS","getDefaultProps","getDerivedStateFromProps","mixins","KNOWN_STATICS","caller","callee","arity","objectPrototype","targetComponent","sourceComponent","blacklist","inheritedComponent","webpackPolyfill","paths","fetch","XMLHttpRequest","method","headers","setRequestHeader","response","header","getAllResponseHeaders","ok","status","statusText","responseURL","responseText","json","parse","blob","Blob","entries","withCredentials","credentials","onload","onerror","send","moment","symbolMap","numberMap","pluralForm","plurals","pluralize","str","weekdaysParseExact","suffixes","1","5","70","80","2","7","50","3","4","100","6","10","30","60","90","relativeTimeWithPlural","num","forms","standalone","lastDigit","last2Digits","relativeTimeWithMutation","mutationTable","softMutation","lastNumber","translate","monthsParseExact","ll","lll","llll","plural","shortMonthsParse","longMonthsParse","processRelativeTime","monthsNominativeEl","monthsGenitiveEl","momentToFormat","_monthsGenitiveEl","_monthsNominativeEl","calendarEl","_calendarEl","monthsShortDot","monthsStrictRegex","monthsShortStrictRegex","numbersPast","numbersFuture","verbalNumber","monthsShortWithDots","monthsShortWithoutDots","weekEndings","0","isUpper","eifelerRegelAppliesToNumber","translateSingular","special","relativeTimeWithSingular","translator","words","correctGrammaticalCase","wordKey","relativeTimeMr","monthsNominative","monthsSubjective","numbersNouns","numberNoun","hundred","ten","one","word","numberAsNoun","processHoursFunction","I18n","Translate","alignment","addComment","onCommentAdded","session","submitButtonClassName","remainingCharacterCount","commentsMaxLength","arguable","user","verifiedUserGroups","AddCommentForm","userGroupId","toggleTranslations","getRandomValues","crypto","msCrypto","rnds8","Uint8Array","rnds","byteToHex","buf","bth","buttonClassName","iconName","votes","voteAction","selectedClass","userLoggedIn","root","symbolObservablePonyfill","totalCommentsCount","singleCommentId","reorderComments","orderBy","acceptsNewComments","userAllowedToComment","commentable","comments","commentsHaveVotes","commentsHaveAlignment","Comments","commentableId","commentableType","freeGlobal","freeSelf","thisArg","arrayPush","objectProto","objectToString","spreadableSymbol","isConcatSpreadable","nativeMax","isFlattenable","isObjectLike","isLength","isArrayLike","isArrayLikeObject","isArguments","fromRight","flowRight","funcs","baseFlatten","depth","predicate","reverse","otherArgs","toKey","isSymbol","basePickBy","basePick","iteratee","arrayMap","visitorKeys","QueryDocumentKeys","inArray","edits","parent","path","newRoot","isLeaving","isEdited","editOffset","editKey","editValue","prev","visitFn","getVisitFn","BREAK","visitInParallel","visitors","skipping","enter","visitWithTypeInfo","typeInfo","maybeNode","kindVisitor","kindSpecificVisitor","specificVisitor","specificKindVisitor","Observable","hasSymbol","getSymbol","hostReportError","getMethod","getSpecies","ctor","addMethods","methods","desc","cleanupSubscription","cleanup","_cleanup","subscriptionClosed","_observer","subscriber","start$0","SubscriptionObserver","cleanup$0","_subscription","_subscriber","m$0","m$1","complete","m$2","__$0","__this","closed","hasSeed","hasValue","seed","acc","observable$0","__$1","item$0","i$0","items","i$1","observableSymbol","setHostReportError","originalModule","IntlPolyfill","__applyLocaleSensitivePrototypes","REACT_ELEMENT_TYPE","jsx","for","childrenLength","childArray","createClass","defineProperty$1","_extends","selfGlobal","slicedToArray","_arr","_n","_e","_s","sliceIterator","babelHelpers$1","asyncToGenerator","gen","info","classCallCheck","defineEnumerableProperties","descs","receiver","inherits","interopRequireDefault","interopRequireWildcard","newObj","newArrowCheck","innerThis","boundThis","objectDestructuringEmpty","objectWithoutProperties","possibleConstructorReturn","slicedToArrayLoose","_step","_iterator","taggedTemplateLiteral","strings","raw","taggedTemplateLiteralLoose","temporalRef","undef","temporalUndefined","toConsumableArray","arr2","typeof","extends","instanceof","hasInstance","realDefineProp","sentinel","es3","__defineGetter__","hop","arrIndexOf","objCreate","arrSlice","arrConcat","arrPush","arrJoin","arrShift","fnBind","thisObj","internals","Record","List","createRegExpRestore","disableRegExpRestore","regExpCache","lastMatch","leftContext","multiline","esc","lm","reg","exprStr","expr","toNumber","toLength","toInteger","getInternalProperties","__getInternalProperties","variant","extension","singleton","expBCP47Syntax","expVariantDupes","expSingletonDupes","expExtSequences","defaultLocale","redundantTags","tags","subtags","BU","DD","FX","TP","YD","ZR","heploc","iw","ji","jw","mo","ayx","bjd","ccq","cjr","cka","cmk","drh","drw","gav","hrr","ibi","kgh","lcq","mst","myt","sca","tie","tkk","tlw","tnf","ybd","yma","extLang","aao","abh","abv","acm","acq","acw","acx","acy","adf","ads","aeb","aec","aed","aen","afb","afg","ajp","apc","apd","arb","arq","ars","ary","arz","ase","asf","asp","asq","asw","auz","avl","ayh","ayl","ayn","ayp","bbz","bfi","bfk","bjn","bog","bqn","bqy","btj","bve","bvl","bvu","bzs","cdo","cds","cjy","cmn","coa","cpx","csc","csd","cse","csf","csg","csl","csn","csq","csr","czh","czo","doq","dse","dsl","dup","ecs","esl","esn","eso","eth","fcs","fse","fsl","fss","gan","gds","gom","gse","gsg","gsm","gss","gus","hab","haf","hak","hds","hji","hks","hos","hps","hsh","hsl","hsn","icl","ils","inl","ins","ise","isg","isr","jak","jax","jcs","jhs","jls","jos","jsl","jus","kgi","knn","kvb","kvk","kvr","kxd","lbs","lce","lcf","liw","lls","lsg","lsl","lso","lsp","lst","lsy","ltg","lvs","lzh","mdl","meo","mfa","mfb","mfs","mnp","mqg","mre","msd","msi","msr","mui","mzc","mzg","mzy","nan","nbs","ncs","nsi","nsl","nsp","nsr","nzs","okl","orn","ors","pel","pga","pks","prl","prz","psc","psd","pse","psg","psl","pso","psp","psr","pys","rms","rsi","rsl","sdl","sfb","sfs","sgg","sgx","shu","slf","sls","sqk","sqs","ssh","ssp","svk","swc","swh","swl","syy","tmw","tse","tsm","tsq","tss","tsy","tza","ugn","ugy","ukl","uks","urk","uzn","uzs","vgt","vkk","vkt","vsi","vsl","vsv","wuu","xki","xml","xmm","xms","yds","ysl","yue","zib","zlm","zmi","zsl","zsm","toLatinUpperCase","ch","IsStructurallyValidLanguageTag","CanonicalizeLanguageTag","_max","expCurrencyCode","expUnicodeExSeq","CanonicalizeLocaleList","seen","Pk","kValue","RangeError","BestAvailableLocale","availableLocales","candidate","LookupMatcher","requestedLocales","availableLocale","noExtensionsLocale","extensionIndex","ResolveLocale","relevantExtensionKeys","foundLocale","BestFitMatcher","extensionSubtags","extensionSubtagsLength","supportedExtension","keyLocaleData","supportedExtensionAddition","keyPos","requestedValue","optionsValue","privateIndex","preExtension","postExtension","LookupSupportedLocales","subset","SupportedLocales","localeMatcher","BestFitSupportedLocales","GetOption","fallback","GetNumberOption","minimum","maximum","currencyMinorUnits","BHD","BYR","XOF","BIF","XAF","CLF","CLP","KMF","DJF","XPF","GNF","ISK","IQD","JPY","JOD","KRW","KWD","LYD","OMR","PYG","RWF","TND","UGX","UYI","VUV","VND","NumberFormatConstructor","InitializeNumberFormat","numberFormat","internal","regexpRestore","opt","dataLocale","normalized","cDigits","currency","CurrencyDigits","mnid","mnfd","mxfd","mnsd","minimumSignificantDigits","mxsd","maximumSignificantDigits","stylePatterns","patterns","positivePattern","negativePattern","GetFormatNumber","FormatNumber","FormatNumberToParts","PartitionNumberPattern","part","nums","ild","latn","pattern","beginIndex","endIndex","nextIndex","literal","_n2","ToRawPrecision","ToRawFixed","numSys","digits","digit","integer","fraction","decimalSepIndex","groupSepSymbol","group","groups","pgSize","primaryGroupSize","sgSize","secondaryGroupSize","idx","integerGroup","decimalSepSymbol","decimal","infinity","plusSignSymbol","plusSign","minusSignSymbol","minusSign","percentSignSymbol","percentSign","currencies","_literal","_literal2","minPrecision","maxPrecision","log10","log","LOG10E","log10Floor","exp","LN10","cut","minInteger","minFraction","maxFraction","int","arab","arabext","bali","beng","deva","fullwide","gujr","guru","hanidec","khmr","knda","laoo","limb","mlym","mong","mymr","orya","tamldec","telu","thai","tibt","expDTComponents","expPatternTrimmer","unwantedDTCs","dtKeys","tmKeys","isDateFormatOnly","isTimeFormatOnly","joinDateAndTimeFormats","dateFormatObj","timeFormatObj","computeFinalPatterns","formatObj","pattern12","extendedPattern","$0","expDTComponentsMeta","era","hour12","timeZoneName","createDateTimeFormat","skeleton","originalPattern","validSyntheticProps","numeric","narrow","short","long","dateWidths","resolveDateString","width","gregory","alts","resolved","DateTimeFormatConstructor","InitializeDateTimeFormat","DateTimeFormat","dateTimeFormat","ToDateTimeOptions","tz","timeZone","dateTimeComponents","bestFormat","dataLocaleData","availableFormats","timeFormats","dateFormats","computed","timeRelatedFormats","dateRelatedFormats","full","medium","createDateTimeFormats","ToDateTimeFormats","bestScore","optionsProp","formatProp","optionsPropIndex","formatPropIndex","delta","BasicFormatMatcher","_hr","optionsPropNames","_bestFormat","propValue","generateSyntheticFormat","_property","patternProp","BestFitFormatMatcher","_prop","hr12","hourNo0","GetFormatDateTime","opt2","needDefaults","FormatDateTime","CreateDateTimeParts","useGrouping","nf2","minimumIntegerDigits","tm","calendars","fv","FormatToPartsDateTime","ls","__localeSensitiveProtos","toLocaleString","toLocaleDateString","toLocaleTimeString","nu","setDefaultLocale","addLocaleData","webpackContext","req","webpackContextResolve","code","symbolMap$1","symbolMap$2","numberMap$1","pluralForm$1","plurals$1","pluralize$1","months$1","symbolMap$3","numberMap$2","symbolMap$4","numberMap$3","months$2","plural$1","translate$1","processRelativeTime$1","processRelativeTime$2","months$3","monthsShort$1","monthsShortDot$1","monthsShort$2","monthsShortDot$2","monthsShort$3","monthsParse$1","monthsRegex$1","processRelativeTime$3","symbolMap$5","numberMap$4","translate$2","processRelativeTime$4","symbolMap$6","numberMap$5","symbolMap$7","numberMap$6","translate$3","translate$4","plural$2","translate$5","suffixes$1","symbolMap$8","numberMap$7","suffixes$2","processRelativeTime$5","translate$6","units$1","relativeTimeWithPlural$1","symbolMap$9","numberMap$8","symbolMap$10","numberMap$9","symbolMap$11","numberMap$10","monthsShortWithDots$1","monthsShortWithoutDots$1","monthsParse$2","monthsRegex$2","monthsShortWithDots$2","monthsShortWithoutDots$2","monthsParse$3","monthsRegex$3","symbolMap$12","numberMap$11","plural$3","translate$7","relativeTimeWithPlural$2","relativeTimeWithPlural$3","plural$4","monthsParse$4","months$5","months$6","monthsShort$5","plural$5","translate$8","processRelativeTime$6","translator$1","translator$2","symbolMap$13","numberMap$12","suffixes$3","translate$9","suffixes$4","processRelativeTime$7","relativeTimeWithPlural$4","plural$6","months$7","days$1","_react2","_propTypes2","_I18n2","_BaseComponent","_props","Tag","dangerousHTML","otherProps","Localize","_props$options","localization","v1","v4","uuid","_nodeId","_clockseq","rng","bytesToUuid","_lastMSecs","_lastNSecs","clockseq","seedBytes","msecs","nsecs","dt","tl","tmh","comment","votable","rootCommentable","author","showReplyForm","formattedBody","createdAt","formattedCreatedAt","articleClassName","hasComments","isRootComment","showReplies","sgid","alreadyReported","downVotes","upVoted","downVoted","downVote","upVotes","upVote","queryFromPojo","selectionSetFromObj","nestedSelSet","Cache","justTypenameQuery","ApolloCache","transformDocument","transformForLink","readQuery","optimistic","read","readFragment","rootId","writeQuery","write","dataId","writeFragment","writeData","typename","typenameResult","__typename","dataToWrite","HeuristicFragmentMatcher","ensureReady","canBypassInit","idValue","store","returnPartialData","IntrospectionFragmentMatcher","introspectionQueryResultData","possibleTypesMap","parseIntrospectionResult","isReady","implementingTypes","introspectionResultData","typeMap","__schema","possibleTypes","implementingType","ObjectCache","delete","clear","newData","defaultNormalizedCacheFactory","WriteError","enhanceErrorWithDocument","enhancedError","writeQueryToStore","storeFactory","dataIdFromObject","fragmentMap","fragmentMatcherFunction","queryDefinition","writeSelectionSetToStore","processedData","writeResultToStore","operationDefinition","included","resultFieldKey","storeValue","storeObject","storeFieldName","shouldMerge","generatedKey","processArrayValue","generatedId","itemDataId","semanticId","isDataProcessed","valueDataId","isGeneratedId","escapedId","newStoreObj","mergeWithGenerated","realKey","cache","real","realValue","writeFieldToStore","fakeContext","hasMissingField","cacheRedirects","resolver","rootValue","contextValue","variableValues","execOptions","mainDefinition","execContext","resultMapper","fragmentMatcher","executeSelectionSet","fieldResult","isLeaf","resultKey","executeSubSelectedArray","executeField","merge","fragmentResult","dest","src","destKey","srcKey","PropTypeError","ID_KEY","readQueryFromStore","diffQueryAgainstStore","readStoreResolver","assertIdValue","objId","storeKeyName","fieldValue","getCacheKey","previousResult","addPreviousResultToIdValues","idToPreviousResult_1","itemPreviousResult","resultFields","currentResultKeys_1","sameKeys","every","areNestedArrayItemsStrictlyEqual","RecordingCache","recordedData","record","transaction","startingState","defaultConfig","defaultDataIdFromObject","addTypename","_id","InMemoryCache","watches","silenceBroadcast","customResolvers","cacheResolvers","restore","extract","patches","broadcastWatches","watch","evict","reset","removeOptimistic","toPerform","recordOptimisticTransaction","performTransaction","alreadySilenced","patch","recordingCache","dataCache","NetworkStatus","isNetworkRequestInFlight","FetchType","ApolloError","graphQLErrors","networkError","errorMessage","extraInfo","graphQLError","ObservableQuery","scheduler","shouldSubscribe","onSubscribe","isCurrentlyPolling","isTornDown","queryId","queryManager","generateQueryId","observers","subscriptionHandles","obs","removeQuery","lastError","lastResult","policy","queryStoreValue","queryStore","errorPolicy","getCurrentQueryResult","partial","queryLoading","ready","stale","getLastError","resetLastResults","combinedOptions","fetchQuery","fetchMore","fetchMoreOptions","qid","normal","fetchMoreResult","subscribeToMore","startGraphQLSubscription","previous","subscriptionData","onError","oldOptions","startPolling","stopPolling","tryFetch","setVariables","newVariables","lastVariables","mapFn","getQueryWithPreviousResult","dataStore","markUpdateQueryResult","broadcastQueries","stopPollingQuery","startPollingQuery","setUpQuery","tearDownQuery","addObservableQuery","startQuery","queryListenerForObserver","sub","removeObservableQuery","stopQuery","DedupLink","inFlightRequestObservables","subscribers","getContext","forceFetch","subscription_1","singleObserver_1","sharedObserver","QueryScheduler","ssrMode","inFlightQueries","registeredQueries","intervalQueries","pollingTimers","checkInFlight","fetchType","listener","addQueryListener","addQueryOnInterval","fetchQueriesOnInterval","interval","queryOptions","pollingOptions","poll","clearInterval","setInterval","registerPollingQuery","MutationStore","getStore","mutationId","initMutation","mutationString","markMutationError","markMutationResult","QueryStore","initQuery","previousQuery","queryString","isSetVariables","previousVariables","storePreviousVariables","isPoll","isRefetch","fetchMoreForQueryId","markQueryResult","markQueryError","markQueryResultClient","observableQueryIds","defaultQueryInfo","invalidated","lastRequestId","QueryManager","queryDeduplication","onBroadcast","mutationStore","idCounter","fetchQueryPromises","queryIdsByName","deduplicator","optimisticResponse","updateQueriesByName","updateQueries","refetchQueries","updateWithProxyFn","update","getCache","setQuery","generateUpdateQueriesInfo","queryName","markMutationInit","storeResult","buildOperationForLink","markMutationComplete","refetchQuery","refetchQueryByName","needToFetch","shouldFetch","requestId","generateRequestId","cancel","updateQueryWatch","invalidate","networkResult","fetchRequest","getQuery","removeFetchQueryPromise","previouslyHadError","shouldNotifyIfLoading","networkStatusChanged","errorStatusChanged","notifyOnNetworkStatusChange","apolloError_1","isMissing","document_1","readResult","resultFromStore","transformedOptions","resPromise","addFetchQueryPromise","stopQueryInStore","promise","resetStore","resetIds","dataStoreReset","observableQueryPromises","getObservableQueryPromises","includeStandby","reFetchObservableQueries","transformedDoc","markSubscriptionResult","queryIdOrObservable","foundObserveableQuery","errorsFromStore","retPromise","refetchedQueries","newInfo","extraContext","DataStore","initialCache","ignoreErrors","writeWithErrors","optimistic_1","orig","cacheWrites_1","currentQueryResult","nextQueryResult","mutationResult","queryVariables","update_1","hasSuggestedDevtools","supportedDirectives","ApolloClient","defaultOptions","resetStoreCallbacks","ssrForceFetchDelay","connectToDevTools","disableNetworkFetches","defaultConnectToDevTools","__APOLLO_CLIENT__","__APOLLO_DEVTOOLS_GLOBAL_HOOK__","navigator","userAgent","debug","initQueryManager","initProxy","__actionHookForDevTools","devToolsHookCb","__requestRaw","payload","action","dataWithOptimisticResults","onResetStore","serializedState","proxy","fallbackHttpConfig","http","includeQuery","includeExtensions","accept","throwServerError","statusCode","serializeFetchParameter","label","serialized","parseError","createHttpLink","linkOptions","uri","fetcher","useGETForQueries","requestOptions","library","checkFetcher","linkConfig","fetchOptions","chosenURI","fallbackURI","contextURI","selectURI","contextConfig","fallbackConfig","configs","selectHttpOptionsAndBody","AbortController","controller","signal","createSignalIfSupported","queryParams","addQueryParam","serializedVariables","serializedExtensions","preFragment","fragmentStart","queryParamsPrefix","newURI","rewriteURIForGET","setContext","bodyText","abort","HttpLink"],"mappings":"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CbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACblvF,IAAK,CAAC,MAAO,MACbmvF,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbvyF,IAAK,CAAC,MAAO,MACbwyF,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,OACbC,IAAK,CAAC,MAAO,MACbC,IAAK,CAAC,MAAO,OACbp5D,IAAK,CAAC,MAAO,O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AAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,UAAW,IACX,aAAc,IACd,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,aAAc,IACd,gBAAiB,IACjB,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,UAAW,IACX,aAAc,IACd,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IACX,OAAQ,IACR,UAAW,IAC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","file":"decidim-comments/app/assets/javascripts/decidim/comments/bundle.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 550);\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var REACT_ELEMENT_TYPE = (typeof Symbol === 'function' &&\n Symbol.for &&\n Symbol.for('react.element')) ||\n 0xeac7;\n\n var isValidElement = function(object) {\n return typeof object === 'object' &&\n object !== null &&\n object.$$typeof === REACT_ELEMENT_TYPE;\n };\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(isValidElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\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\nvar hookCallback;\n\nfunction 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.\nfunction setHookCallback (callback) {\n hookCallback = callback;\n}\n\nfunction isArray(input) {\n return input instanceof Array || Object.prototype.toString.call(input) === '[object Array]';\n}\n\nfunction 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\nfunction 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\nfunction isUndefined(input) {\n return input === void 0;\n}\n\nfunction isNumber(input) {\n return typeof input === 'number' || Object.prototype.toString.call(input) === '[object Number]';\n}\n\nfunction isDate(input) {\n return input instanceof Date || Object.prototype.toString.call(input) === '[object Date]';\n}\n\nfunction 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\nfunction hasOwnProp(a, b) {\n return Object.prototype.hasOwnProperty.call(a, b);\n}\n\nfunction 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\nfunction createUTC (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, true).utc();\n}\n\nfunction 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\nfunction getParsingFlags(m) {\n if (m._pf == null) {\n m._pf = defaultParsingFlags();\n }\n return m._pf;\n}\n\nvar some;\nif (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\nfunction 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\nfunction 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.\nvar momentProperties = hooks.momentProperties = [];\n\nfunction 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\nvar updateInProgress = false;\n\n// Moment prototype object\nfunction 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\nfunction isMoment (obj) {\n return obj instanceof Moment || (obj != null && obj._isAMomentObject != null);\n}\n\nfunction 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\nfunction 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\nfunction 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\nfunction warn(msg) {\n if (hooks.suppressDeprecationWarnings === false &&\n (typeof console !== 'undefined') && console.warn) {\n console.warn('Deprecation warning: ' + msg);\n }\n}\n\nfunction 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\nvar deprecations = {};\n\nfunction 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\nhooks.suppressDeprecationWarnings = false;\nhooks.deprecationHandler = null;\n\nfunction isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n}\n\nfunction 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\nfunction 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\nfunction Locale(config) {\n if (config != null) {\n this.set(config);\n }\n}\n\nvar keys;\n\nif (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\nvar 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\nfunction calendar (key, mom, now) {\n var output = this._calendar[key] || this._calendar['sameElse'];\n return isFunction(output) ? output.call(mom, now) : output;\n}\n\nvar 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\nfunction 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\nvar defaultInvalidDate = 'Invalid date';\n\nfunction invalidDate () {\n return this._invalidDate;\n}\n\nvar defaultOrdinal = '%d';\nvar defaultDayOfMonthOrdinalParse = /\\d{1,2}/;\n\nfunction ordinal (number) {\n return this._ordinal.replace('%d', number);\n}\n\nvar 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\nfunction 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\nfunction 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\nvar aliases = {};\n\nfunction addUnitAlias (unit, shorthand) {\n var lowerCase = unit.toLowerCase();\n aliases[lowerCase] = aliases[lowerCase + 's'] = aliases[shorthand] = unit;\n}\n\nfunction normalizeUnits(units) {\n return typeof units === 'string' ? aliases[units] || aliases[units.toLowerCase()] : undefined;\n}\n\nfunction 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\nvar priorities = {};\n\nfunction addUnitPriority(unit, priority) {\n priorities[unit] = priority;\n}\n\nfunction 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\nfunction 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\nvar 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\nvar localFormattingTokens = /(\\[[^\\[]*\\])|(\\\\)?(LTS|LT|LL?L?L?|l{1,4})/g;\n\nvar formatFunctions = {};\n\nvar formatTokenFunctions = {};\n\n// token: 'M'\n// padded: ['MM', 2]\n// ordinal: 'Mo'\n// callback: function () { this.month() + 1 }\nfunction 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\nfunction removeFormattingTokens(input) {\n if (input.match(/\\[[\\s\\S]/)) {\n return input.replace(/^\\[|\\]$/g, '');\n }\n return input.replace(/\\\\/g, '');\n}\n\nfunction 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\nfunction 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\nfunction 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\nvar match1 = /\\d/; // 0 - 9\nvar match2 = /\\d\\d/; // 00 - 99\nvar match3 = /\\d{3}/; // 000 - 999\nvar match4 = /\\d{4}/; // 0000 - 9999\nvar match6 = /[+-]?\\d{6}/; // -999999 - 999999\nvar match1to2 = /\\d\\d?/; // 0 - 99\nvar match3to4 = /\\d\\d\\d\\d?/; // 999 - 9999\nvar match5to6 = /\\d\\d\\d\\d\\d\\d?/; // 99999 - 999999\nvar match1to3 = /\\d{1,3}/; // 0 - 999\nvar match1to4 = /\\d{1,4}/; // 0 - 9999\nvar match1to6 = /[+-]?\\d{1,6}/; // -999999 - 999999\n\nvar matchUnsigned = /\\d+/; // 0 - inf\nvar matchSigned = /[+-]?\\d+/; // -inf - inf\n\nvar matchOffset = /Z|[+-]\\d\\d:?\\d\\d/gi; // +00:00 -00:00 +0000 -0000 or Z\nvar matchShortOffset = /Z|[+-]\\d\\d(?::?\\d\\d)?/gi; // +00 -00 +00:00 -00:00 +0000 -0000 or Z\n\nvar 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\nvar 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\nvar regexes = {};\n\nfunction addRegexToken (token, regex, strictRegex) {\n regexes[token] = isFunction(regex) ? regex : function (isStrict, localeData) {\n return (isStrict && strictRegex) ? strictRegex : regex;\n };\n}\n\nfunction 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\nfunction unescapeFormat(s) {\n return regexEscape(s.replace('\\\\', '').replace(/\\\\(\\[)|\\\\(\\])|\\[([^\\]\\[]*)\\]|\\\\(.)/g, function (matched, p1, p2, p3, p4) {\n return p1 || p2 || p3 || p4;\n }));\n}\n\nfunction regexEscape(s) {\n return s.replace(/[-\\/\\\\^$*+?.()|[\\]{}]/g, '\\\\$&');\n}\n\nvar tokens = {};\n\nfunction 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\nfunction 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\nfunction addTimeToArrayFromToken(token, input, config) {\n if (input != null && hasOwnProp(tokens, token)) {\n tokens[token](input, config._a, config, token);\n }\n}\n\nvar YEAR = 0;\nvar MONTH = 1;\nvar DATE = 2;\nvar HOUR = 3;\nvar MINUTE = 4;\nvar SECOND = 5;\nvar MILLISECOND = 6;\nvar WEEK = 7;\nvar WEEKDAY = 8;\n\n// FORMATTING\n\naddFormatToken('Y', 0, 0, function () {\n var y = this.year();\n return y <= 9999 ? '' + y : '+' + y;\n});\n\naddFormatToken(0, ['YY', 2], 0, function () {\n return this.year() % 100;\n});\n\naddFormatToken(0, ['YYYY', 4], 0, 'year');\naddFormatToken(0, ['YYYYY', 5], 0, 'year');\naddFormatToken(0, ['YYYYYY', 6, true], 0, 'year');\n\n// ALIASES\n\naddUnitAlias('year', 'y');\n\n// PRIORITIES\n\naddUnitPriority('year', 1);\n\n// PARSING\n\naddRegexToken('Y', matchSigned);\naddRegexToken('YY', match1to2, match2);\naddRegexToken('YYYY', match1to4, match4);\naddRegexToken('YYYYY', match1to6, match6);\naddRegexToken('YYYYYY', match1to6, match6);\n\naddParseToken(['YYYYY', 'YYYYYY'], YEAR);\naddParseToken('YYYY', function (input, array) {\n array[YEAR] = input.length === 2 ? hooks.parseTwoDigitYear(input) : toInt(input);\n});\naddParseToken('YY', function (input, array) {\n array[YEAR] = hooks.parseTwoDigitYear(input);\n});\naddParseToken('Y', function (input, array) {\n array[YEAR] = parseInt(input, 10);\n});\n\n// HELPERS\n\nfunction daysInYear(year) {\n return isLeapYear(year) ? 366 : 365;\n}\n\nfunction isLeapYear(year) {\n return (year % 4 === 0 && year % 100 !== 0) || year % 400 === 0;\n}\n\n// HOOKS\n\nhooks.parseTwoDigitYear = function (input) {\n return toInt(input) + (toInt(input) > 68 ? 1900 : 2000);\n};\n\n// MOMENTS\n\nvar getSetYear = makeGetSet('FullYear', true);\n\nfunction getIsLeapYear () {\n return isLeapYear(this.year());\n}\n\nfunction 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\nfunction get (mom, unit) {\n return mom.isValid() ?\n mom._d['get' + (mom._isUTC ? 'UTC' : '') + unit]() : NaN;\n}\n\nfunction 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\nfunction stringGet (units) {\n units = normalizeUnits(units);\n if (isFunction(this[units])) {\n return this[units]();\n }\n return this;\n}\n\n\nfunction 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\nfunction mod(n, x) {\n return ((n % x) + x) % x;\n}\n\nvar indexOf;\n\nif (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\nfunction 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\naddFormatToken('M', ['MM', 2], 'Mo', function () {\n return this.month() + 1;\n});\n\naddFormatToken('MMM', 0, 0, function (format) {\n return this.localeData().monthsShort(this, format);\n});\n\naddFormatToken('MMMM', 0, 0, function (format) {\n return this.localeData().months(this, format);\n});\n\n// ALIASES\n\naddUnitAlias('month', 'M');\n\n// PRIORITY\n\naddUnitPriority('month', 8);\n\n// PARSING\n\naddRegexToken('M', match1to2);\naddRegexToken('MM', match1to2, match2);\naddRegexToken('MMM', function (isStrict, locale) {\n return locale.monthsShortRegex(isStrict);\n});\naddRegexToken('MMMM', function (isStrict, locale) {\n return locale.monthsRegex(isStrict);\n});\n\naddParseToken(['M', 'MM'], function (input, array) {\n array[MONTH] = toInt(input) - 1;\n});\n\naddParseToken(['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\nvar MONTHS_IN_FORMAT = /D[oD]?(\\[[^\\[\\]]*\\]|\\s)+MMMM?/;\nvar defaultLocaleMonths = 'January_February_March_April_May_June_July_August_September_October_November_December'.split('_');\nfunction 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\nvar defaultLocaleMonthsShort = 'Jan_Feb_Mar_Apr_May_Jun_Jul_Aug_Sep_Oct_Nov_Dec'.split('_');\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction getDaysInMonth () {\n return daysInMonth(this.year(), this.month());\n}\n\nvar defaultMonthsShortRegex = matchWord;\nfunction 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\nvar defaultMonthsRegex = matchWord;\nfunction 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\nfunction 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\nfunction 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 = new Date(y, m, d, h, M, s, ms);\n\n // the date constructor remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getFullYear())) {\n date.setFullYear(y);\n }\n return date;\n}\n\nfunction createUTCDate (y) {\n var date = new Date(Date.UTC.apply(null, arguments));\n\n // the Date.UTC function remaps years 0-99 to 1900-1999\n if (y < 100 && y >= 0 && isFinite(date.getUTCFullYear())) {\n date.setUTCFullYear(y);\n }\n return date;\n}\n\n// start-of-first-week - start-of-year\nfunction 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\nfunction 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\nfunction 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\nfunction 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\naddFormatToken('w', ['ww', 2], 'wo', 'week');\naddFormatToken('W', ['WW', 2], 'Wo', 'isoWeek');\n\n// ALIASES\n\naddUnitAlias('week', 'w');\naddUnitAlias('isoWeek', 'W');\n\n// PRIORITIES\n\naddUnitPriority('week', 5);\naddUnitPriority('isoWeek', 5);\n\n// PARSING\n\naddRegexToken('w', match1to2);\naddRegexToken('ww', match1to2, match2);\naddRegexToken('W', match1to2);\naddRegexToken('WW', match1to2, match2);\n\naddWeekParseToken(['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\nfunction localeWeek (mom) {\n return weekOfYear(mom, this._week.dow, this._week.doy).week;\n}\n\nvar defaultLocaleWeek = {\n dow : 0, // Sunday is the first day of the week.\n doy : 6 // The week that contains Jan 1st is the first week of the year.\n};\n\nfunction localeFirstDayOfWeek () {\n return this._week.dow;\n}\n\nfunction localeFirstDayOfYear () {\n return this._week.doy;\n}\n\n// MOMENTS\n\nfunction getSetWeek (input) {\n var week = this.localeData().week(this);\n return input == null ? week : this.add((input - week) * 7, 'd');\n}\n\nfunction 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\naddFormatToken('d', 0, 'do', 'day');\n\naddFormatToken('dd', 0, 0, function (format) {\n return this.localeData().weekdaysMin(this, format);\n});\n\naddFormatToken('ddd', 0, 0, function (format) {\n return this.localeData().weekdaysShort(this, format);\n});\n\naddFormatToken('dddd', 0, 0, function (format) {\n return this.localeData().weekdays(this, format);\n});\n\naddFormatToken('e', 0, 0, 'weekday');\naddFormatToken('E', 0, 0, 'isoWeekday');\n\n// ALIASES\n\naddUnitAlias('day', 'd');\naddUnitAlias('weekday', 'e');\naddUnitAlias('isoWeekday', 'E');\n\n// PRIORITY\naddUnitPriority('day', 11);\naddUnitPriority('weekday', 11);\naddUnitPriority('isoWeekday', 11);\n\n// PARSING\n\naddRegexToken('d', match1to2);\naddRegexToken('e', match1to2);\naddRegexToken('E', match1to2);\naddRegexToken('dd', function (isStrict, locale) {\n return locale.weekdaysMinRegex(isStrict);\n});\naddRegexToken('ddd', function (isStrict, locale) {\n return locale.weekdaysShortRegex(isStrict);\n});\naddRegexToken('dddd', function (isStrict, locale) {\n return locale.weekdaysRegex(isStrict);\n});\n\naddWeekParseToken(['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\naddWeekParseToken(['d', 'e', 'E'], function (input, week, config, token) {\n week[token] = toInt(input);\n});\n\n// HELPERS\n\nfunction 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\nfunction 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\nvar defaultLocaleWeekdays = 'Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday'.split('_');\nfunction localeWeekdays (m, format) {\n if (!m) {\n return isArray(this._weekdays) ? this._weekdays :\n this._weekdays['standalone'];\n }\n return isArray(this._weekdays) ? this._weekdays[m.day()] :\n this._weekdays[this._weekdays.isFormat.test(format) ? 'format' : 'standalone'][m.day()];\n}\n\nvar defaultLocaleWeekdaysShort = 'Sun_Mon_Tue_Wed_Thu_Fri_Sat'.split('_');\nfunction localeWeekdaysShort (m) {\n return (m) ? this._weekdaysShort[m.day()] : this._weekdaysShort;\n}\n\nvar defaultLocaleWeekdaysMin = 'Su_Mo_Tu_We_Th_Fr_Sa'.split('_');\nfunction localeWeekdaysMin (m) {\n return (m) ? this._weekdaysMin[m.day()] : this._weekdaysMin;\n}\n\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nvar defaultWeekdaysRegex = matchWord;\nfunction 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\nvar defaultWeekdaysShortRegex = matchWord;\nfunction 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\nvar defaultWeekdaysMinRegex = matchWord;\nfunction 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\nfunction 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\nfunction hFormat() {\n return this.hours() % 12 || 12;\n}\n\nfunction kFormat() {\n return this.hours() || 24;\n}\n\naddFormatToken('H', ['HH', 2], 0, 'hour');\naddFormatToken('h', ['hh', 2], 0, hFormat);\naddFormatToken('k', ['kk', 2], 0, kFormat);\n\naddFormatToken('hmm', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('hmmss', 0, 0, function () {\n return '' + hFormat.apply(this) + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n});\n\naddFormatToken('Hmm', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2);\n});\n\naddFormatToken('Hmmss', 0, 0, function () {\n return '' + this.hours() + zeroFill(this.minutes(), 2) +\n zeroFill(this.seconds(), 2);\n});\n\nfunction meridiem (token, lowercase) {\n addFormatToken(token, 0, 0, function () {\n return this.localeData().meridiem(this.hours(), this.minutes(), lowercase);\n });\n}\n\nmeridiem('a', true);\nmeridiem('A', false);\n\n// ALIASES\n\naddUnitAlias('hour', 'h');\n\n// PRIORITY\naddUnitPriority('hour', 13);\n\n// PARSING\n\nfunction matchMeridiem (isStrict, locale) {\n return locale._meridiemParse;\n}\n\naddRegexToken('a', matchMeridiem);\naddRegexToken('A', matchMeridiem);\naddRegexToken('H', match1to2);\naddRegexToken('h', match1to2);\naddRegexToken('k', match1to2);\naddRegexToken('HH', match1to2, match2);\naddRegexToken('hh', match1to2, match2);\naddRegexToken('kk', match1to2, match2);\n\naddRegexToken('hmm', match3to4);\naddRegexToken('hmmss', match5to6);\naddRegexToken('Hmm', match3to4);\naddRegexToken('Hmmss', match5to6);\n\naddParseToken(['H', 'HH'], HOUR);\naddParseToken(['k', 'kk'], function (input, array, config) {\n var kInput = toInt(input);\n array[HOUR] = kInput === 24 ? 0 : kInput;\n});\naddParseToken(['a', 'A'], function (input, array, config) {\n config._isPm = config._locale.isPM(input);\n config._meridiem = input;\n});\naddParseToken(['h', 'hh'], function (input, array, config) {\n array[HOUR] = toInt(input);\n getParsingFlags(config).bigHour = true;\n});\naddParseToken('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});\naddParseToken('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});\naddParseToken('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});\naddParseToken('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\nfunction 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\nvar defaultLocaleMeridiemParse = /[ap]\\.?m?\\.?/i;\nfunction 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 he wants. So trying to maintain the same hour (in\n// a new timezone) makes sense. Adding/subtracting hours does not follow\n// this rule.\nvar getSetHour = makeGetSet('Hours', true);\n\nvar 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\nvar locales = {};\nvar localeFamilies = {};\nvar globalLocale;\n\nfunction 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\nfunction 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\nfunction 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.\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction listLocales() {\n return keys(locales);\n}\n\nfunction 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.\nfunction 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\nfunction 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]\nfunction 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\nfunction 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 begining of week\n weekday = w.e + dow;\n if (w.e < 0 || w.e > 6) {\n weekdayOverflow = true;\n }\n } else {\n // default to begining 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)\nvar 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)?)?$/;\nvar 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\nvar tzRegex = /Z|[+-]\\d\\d(?::?\\d\\d)?/;\n\nvar 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\nvar 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\nvar aspNetJsonRegex = /^\\/?Date\\((\\-?\\d+)/i;\n\n// date from iso format\nfunction 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\nvar 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\nfunction 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\nfunction 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\nfunction 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, ' ').trim();\n}\n\nfunction 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\nvar 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\nfunction 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\nfunction 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\nfunction 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\nhooks.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\nhooks.ISO_8601 = function () {};\n\n// constant that refers to the RFC 2822 form\nhooks.RFC_2822 = function () {};\n\n// date from string and format string\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nfunction createLocal (input, format, locale, strict) {\n return createLocalOrUTC(input, format, locale, strict, false);\n}\n\nvar 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\nvar 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.\nfunction 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?\nfunction min () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isBefore', args);\n}\n\nfunction max () {\n var args = [].slice.call(arguments, 0);\n\n return pickBy('isAfter', args);\n}\n\nvar now = function () {\n return Date.now ? Date.now() : +(new Date());\n};\n\nvar ordering = ['year', 'quarter', 'month', 'week', 'day', 'hour', 'minute', 'second', 'millisecond'];\n\nfunction 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\nfunction isValid$1() {\n return this._isValid;\n}\n\nfunction createInvalid$1() {\n return createDuration(NaN);\n}\n\nfunction 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 || 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\nfunction isDuration (obj) {\n return obj instanceof Duration;\n}\n\nfunction 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\nfunction 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\noffset('Z', ':');\noffset('ZZ', '');\n\n// PARSING\n\naddRegexToken('Z', matchShortOffset);\naddRegexToken('ZZ', matchShortOffset);\naddParseToken(['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']\nvar chunkOffset = /([\\+\\-]|\\d\\d)/gi;\n\nfunction 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.\nfunction 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\nfunction 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.\nhooks.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.\nfunction 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\nfunction 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\nfunction setOffsetToUTC (keepLocalTime) {\n return this.utcOffset(0, keepLocalTime);\n}\n\nfunction 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\nfunction 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\nfunction 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\nfunction isDaylightSavingTime () {\n return (\n this.utcOffset() > this.clone().month(0).utcOffset() ||\n this.utcOffset() > this.clone().month(5).utcOffset()\n );\n}\n\nfunction 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\nfunction isLocal () {\n return this.isValid() ? !this._isUTC : false;\n}\n\nfunction isUtcOffset () {\n return this.isValid() ? this._isUTC : false;\n}\n\nfunction isUtc () {\n return this.isValid() ? this._isUTC && this._offset === 0 : false;\n}\n\n// ASP.NET json date format regex\nvar 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\nvar 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\nfunction 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 : (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\ncreateDuration.fn = Duration.prototype;\ncreateDuration.invalid = createInvalid$1;\n\nfunction 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\nfunction positiveMomentsDifference(base, other) {\n var res = {milliseconds: 0, months: 0};\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\nfunction 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\nfunction 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\nfunction 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\nvar add = createAdder(1, 'add');\nvar subtract = createAdder(-1, 'subtract');\n\nfunction 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\nfunction 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\nfunction clone () {\n return new Moment(this);\n}\n\nfunction isAfter (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? 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\nfunction isBefore (input, units) {\n var localInput = isMoment(input) ? input : createLocal(input);\n if (!(this.isValid() && localInput.isValid())) {\n return false;\n }\n units = normalizeUnits(!isUndefined(units) ? 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\nfunction isBetween (from, to, units, inclusivity) {\n inclusivity = inclusivity || '()';\n return (inclusivity[0] === '(' ? this.isAfter(from, units) : !this.isBefore(from, units)) &&\n (inclusivity[1] === ')' ? this.isBefore(to, units) : !this.isAfter(to, units));\n}\n\nfunction 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\nfunction isSameOrAfter (input, units) {\n return this.isSame(input, units) || this.isAfter(input,units);\n}\n\nfunction isSameOrBefore (input, units) {\n return this.isSame(input, units) || this.isBefore(input,units);\n}\n\nfunction 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\nfunction 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\nhooks.defaultFormat = 'YYYY-MM-DDTHH:mm:ssZ';\nhooks.defaultFormatUtc = 'YYYY-MM-DDTHH:mm:ss[Z]';\n\nfunction toString () {\n return this.clone().locale('en').format('ddd MMM DD YYYY HH:mm:ss [GMT]ZZ');\n}\n\nfunction 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 */\nfunction 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\nfunction 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\nfunction 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\nfunction fromNow (withoutSuffix) {\n return this.from(createLocal(), withoutSuffix);\n}\n\nfunction 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\nfunction 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.\nfunction 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\nvar 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\nfunction localeData () {\n return this._locale;\n}\n\nfunction startOf (units) {\n units = normalizeUnits(units);\n // the following switch intentionally omits break keywords\n // to utilize falling through the cases.\n switch (units) {\n case 'year':\n this.month(0);\n /* falls through */\n case 'quarter':\n case 'month':\n this.date(1);\n /* falls through */\n case 'week':\n case 'isoWeek':\n case 'day':\n case 'date':\n this.hours(0);\n /* falls through */\n case 'hour':\n this.minutes(0);\n /* falls through */\n case 'minute':\n this.seconds(0);\n /* falls through */\n case 'second':\n this.milliseconds(0);\n }\n\n // weeks are a special case\n if (units === 'week') {\n this.weekday(0);\n }\n if (units === 'isoWeek') {\n this.isoWeekday(1);\n }\n\n // quarters are also special\n if (units === 'quarter') {\n this.month(Math.floor(this.month() / 3) * 3);\n }\n\n return this;\n}\n\nfunction endOf (units) {\n units = normalizeUnits(units);\n if (units === undefined || units === 'millisecond') {\n return this;\n }\n\n // 'date' is an alias for 'day', so it should be considered as such.\n if (units === 'date') {\n units = 'day';\n }\n\n return this.startOf(units).add(1, (units === 'isoWeek' ? 'week' : units)).subtract(1, 'ms');\n}\n\nfunction valueOf () {\n return this._d.valueOf() - ((this._offset || 0) * 60000);\n}\n\nfunction unix () {\n return Math.floor(this.valueOf() / 1000);\n}\n\nfunction toDate () {\n return new Date(this.valueOf());\n}\n\nfunction toArray () {\n var m = this;\n return [m.year(), m.month(), m.date(), m.hour(), m.minute(), m.second(), m.millisecond()];\n}\n\nfunction 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\nfunction toJSON () {\n // new Date(NaN).toJSON() === null\n return this.isValid() ? this.toISOString() : null;\n}\n\nfunction isValid$2 () {\n return isValid(this);\n}\n\nfunction parsingFlags () {\n return extend({}, getParsingFlags(this));\n}\n\nfunction invalidAt () {\n return getParsingFlags(this).overflow;\n}\n\nfunction 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\naddFormatToken(0, ['gg', 2], 0, function () {\n return this.weekYear() % 100;\n});\n\naddFormatToken(0, ['GG', 2], 0, function () {\n return this.isoWeekYear() % 100;\n});\n\nfunction addWeekYearFormatToken (token, getter) {\n addFormatToken(0, [token, token.length], 0, getter);\n}\n\naddWeekYearFormatToken('gggg', 'weekYear');\naddWeekYearFormatToken('ggggg', 'weekYear');\naddWeekYearFormatToken('GGGG', 'isoWeekYear');\naddWeekYearFormatToken('GGGGG', 'isoWeekYear');\n\n// ALIASES\n\naddUnitAlias('weekYear', 'gg');\naddUnitAlias('isoWeekYear', 'GG');\n\n// PRIORITY\n\naddUnitPriority('weekYear', 1);\naddUnitPriority('isoWeekYear', 1);\n\n\n// PARSING\n\naddRegexToken('G', matchSigned);\naddRegexToken('g', matchSigned);\naddRegexToken('GG', match1to2, match2);\naddRegexToken('gg', match1to2, match2);\naddRegexToken('GGGG', match1to4, match4);\naddRegexToken('gggg', match1to4, match4);\naddRegexToken('GGGGG', match1to6, match6);\naddRegexToken('ggggg', match1to6, match6);\n\naddWeekParseToken(['gggg', 'ggggg', 'GGGG', 'GGGGG'], function (input, week, config, token) {\n week[token.substr(0, 2)] = toInt(input);\n});\n\naddWeekParseToken(['gg', 'GG'], function (input, week, config, token) {\n week[token] = hooks.parseTwoDigitYear(input);\n});\n\n// MOMENTS\n\nfunction 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\nfunction getSetISOWeekYear (input) {\n return getSetWeekYearHelper.call(this,\n input, this.isoWeek(), this.isoWeekday(), 1, 4);\n}\n\nfunction getISOWeeksInYear () {\n return weeksInYear(this.year(), 1, 4);\n}\n\nfunction getWeeksInYear () {\n var weekInfo = this.localeData()._week;\n return weeksInYear(this.year(), weekInfo.dow, weekInfo.doy);\n}\n\nfunction 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\nfunction 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\naddFormatToken('Q', 0, 'Qo', 'quarter');\n\n// ALIASES\n\naddUnitAlias('quarter', 'Q');\n\n// PRIORITY\n\naddUnitPriority('quarter', 7);\n\n// PARSING\n\naddRegexToken('Q', match1);\naddParseToken('Q', function (input, array) {\n array[MONTH] = (toInt(input) - 1) * 3;\n});\n\n// MOMENTS\n\nfunction 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\naddFormatToken('D', ['DD', 2], 'Do', 'date');\n\n// ALIASES\n\naddUnitAlias('date', 'D');\n\n// PRIOROITY\naddUnitPriority('date', 9);\n\n// PARSING\n\naddRegexToken('D', match1to2);\naddRegexToken('DD', match1to2, match2);\naddRegexToken('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\naddParseToken(['D', 'DD'], DATE);\naddParseToken('Do', function (input, array) {\n array[DATE] = toInt(input.match(match1to2)[0]);\n});\n\n// MOMENTS\n\nvar getSetDayOfMonth = makeGetSet('Date', true);\n\n// FORMATTING\n\naddFormatToken('DDD', ['DDDD', 3], 'DDDo', 'dayOfYear');\n\n// ALIASES\n\naddUnitAlias('dayOfYear', 'DDD');\n\n// PRIORITY\naddUnitPriority('dayOfYear', 4);\n\n// PARSING\n\naddRegexToken('DDD', match1to3);\naddRegexToken('DDDD', match3);\naddParseToken(['DDD', 'DDDD'], function (input, array, config) {\n config._dayOfYear = toInt(input);\n});\n\n// HELPERS\n\n// MOMENTS\n\nfunction 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\naddFormatToken('m', ['mm', 2], 0, 'minute');\n\n// ALIASES\n\naddUnitAlias('minute', 'm');\n\n// PRIORITY\n\naddUnitPriority('minute', 14);\n\n// PARSING\n\naddRegexToken('m', match1to2);\naddRegexToken('mm', match1to2, match2);\naddParseToken(['m', 'mm'], MINUTE);\n\n// MOMENTS\n\nvar getSetMinute = makeGetSet('Minutes', false);\n\n// FORMATTING\n\naddFormatToken('s', ['ss', 2], 0, 'second');\n\n// ALIASES\n\naddUnitAlias('second', 's');\n\n// PRIORITY\n\naddUnitPriority('second', 15);\n\n// PARSING\n\naddRegexToken('s', match1to2);\naddRegexToken('ss', match1to2, match2);\naddParseToken(['s', 'ss'], SECOND);\n\n// MOMENTS\n\nvar getSetSecond = makeGetSet('Seconds', false);\n\n// FORMATTING\n\naddFormatToken('S', 0, 0, function () {\n return ~~(this.millisecond() / 100);\n});\n\naddFormatToken(0, ['SS', 2], 0, function () {\n return ~~(this.millisecond() / 10);\n});\n\naddFormatToken(0, ['SSS', 3], 0, 'millisecond');\naddFormatToken(0, ['SSSS', 4], 0, function () {\n return this.millisecond() * 10;\n});\naddFormatToken(0, ['SSSSS', 5], 0, function () {\n return this.millisecond() * 100;\n});\naddFormatToken(0, ['SSSSSS', 6], 0, function () {\n return this.millisecond() * 1000;\n});\naddFormatToken(0, ['SSSSSSS', 7], 0, function () {\n return this.millisecond() * 10000;\n});\naddFormatToken(0, ['SSSSSSSS', 8], 0, function () {\n return this.millisecond() * 100000;\n});\naddFormatToken(0, ['SSSSSSSSS', 9], 0, function () {\n return this.millisecond() * 1000000;\n});\n\n\n// ALIASES\n\naddUnitAlias('millisecond', 'ms');\n\n// PRIORITY\n\naddUnitPriority('millisecond', 16);\n\n// PARSING\n\naddRegexToken('S', match1to3, match1);\naddRegexToken('SS', match1to3, match2);\naddRegexToken('SSS', match1to3, match3);\n\nvar token;\nfor (token = 'SSSS'; token.length <= 9; token += 'S') {\n addRegexToken(token, matchUnsigned);\n}\n\nfunction parseMs(input, array) {\n array[MILLISECOND] = toInt(('0.' + input) * 1000);\n}\n\nfor (token = 'S'; token.length <= 9; token += 'S') {\n addParseToken(token, parseMs);\n}\n// MOMENTS\n\nvar getSetMillisecond = makeGetSet('Milliseconds', false);\n\n// FORMATTING\n\naddFormatToken('z', 0, 0, 'zoneAbbr');\naddFormatToken('zz', 0, 0, 'zoneName');\n\n// MOMENTS\n\nfunction getZoneAbbr () {\n return this._isUTC ? 'UTC' : '';\n}\n\nfunction getZoneName () {\n return this._isUTC ? 'Coordinated Universal Time' : '';\n}\n\nvar proto = Moment.prototype;\n\nproto.add = add;\nproto.calendar = calendar$1;\nproto.clone = clone;\nproto.diff = diff;\nproto.endOf = endOf;\nproto.format = format;\nproto.from = from;\nproto.fromNow = fromNow;\nproto.to = to;\nproto.toNow = toNow;\nproto.get = stringGet;\nproto.invalidAt = invalidAt;\nproto.isAfter = isAfter;\nproto.isBefore = isBefore;\nproto.isBetween = isBetween;\nproto.isSame = isSame;\nproto.isSameOrAfter = isSameOrAfter;\nproto.isSameOrBefore = isSameOrBefore;\nproto.isValid = isValid$2;\nproto.lang = lang;\nproto.locale = locale;\nproto.localeData = localeData;\nproto.max = prototypeMax;\nproto.min = prototypeMin;\nproto.parsingFlags = parsingFlags;\nproto.set = stringSet;\nproto.startOf = startOf;\nproto.subtract = subtract;\nproto.toArray = toArray;\nproto.toObject = toObject;\nproto.toDate = toDate;\nproto.toISOString = toISOString;\nproto.inspect = inspect;\nproto.toJSON = toJSON;\nproto.toString = toString;\nproto.unix = unix;\nproto.valueOf = valueOf;\nproto.creationData = creationData;\nproto.year = getSetYear;\nproto.isLeapYear = getIsLeapYear;\nproto.weekYear = getSetWeekYear;\nproto.isoWeekYear = getSetISOWeekYear;\nproto.quarter = proto.quarters = getSetQuarter;\nproto.month = getSetMonth;\nproto.daysInMonth = getDaysInMonth;\nproto.week = proto.weeks = getSetWeek;\nproto.isoWeek = proto.isoWeeks = getSetISOWeek;\nproto.weeksInYear = getWeeksInYear;\nproto.isoWeeksInYear = getISOWeeksInYear;\nproto.date = getSetDayOfMonth;\nproto.day = proto.days = getSetDayOfWeek;\nproto.weekday = getSetLocaleDayOfWeek;\nproto.isoWeekday = getSetISODayOfWeek;\nproto.dayOfYear = getSetDayOfYear;\nproto.hour = proto.hours = getSetHour;\nproto.minute = proto.minutes = getSetMinute;\nproto.second = proto.seconds = getSetSecond;\nproto.millisecond = proto.milliseconds = getSetMillisecond;\nproto.utcOffset = getSetOffset;\nproto.utc = setOffsetToUTC;\nproto.local = setOffsetToLocal;\nproto.parseZone = setOffsetToParsedOffset;\nproto.hasAlignedHourOffset = hasAlignedHourOffset;\nproto.isDST = isDaylightSavingTime;\nproto.isLocal = isLocal;\nproto.isUtcOffset = isUtcOffset;\nproto.isUtc = isUtc;\nproto.isUTC = isUtc;\nproto.zoneAbbr = getZoneAbbr;\nproto.zoneName = getZoneName;\nproto.dates = deprecate('dates accessor is deprecated. Use date instead.', getSetDayOfMonth);\nproto.months = deprecate('months accessor is deprecated. Use month instead', getSetMonth);\nproto.years = deprecate('years accessor is deprecated. Use year instead', getSetYear);\nproto.zone = deprecate('moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/', getSetZone);\nproto.isDSTShifted = deprecate('isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information', isDaylightSavingTimeShifted);\n\nfunction createUnix (input) {\n return createLocal(input * 1000);\n}\n\nfunction createInZone () {\n return createLocal.apply(null, arguments).parseZone();\n}\n\nfunction preParsePostFormat (string) {\n return string;\n}\n\nvar proto$1 = Locale.prototype;\n\nproto$1.calendar = calendar;\nproto$1.longDateFormat = longDateFormat;\nproto$1.invalidDate = invalidDate;\nproto$1.ordinal = ordinal;\nproto$1.preparse = preParsePostFormat;\nproto$1.postformat = preParsePostFormat;\nproto$1.relativeTime = relativeTime;\nproto$1.pastFuture = pastFuture;\nproto$1.set = set;\n\nproto$1.months = localeMonths;\nproto$1.monthsShort = localeMonthsShort;\nproto$1.monthsParse = localeMonthsParse;\nproto$1.monthsRegex = monthsRegex;\nproto$1.monthsShortRegex = monthsShortRegex;\nproto$1.week = localeWeek;\nproto$1.firstDayOfYear = localeFirstDayOfYear;\nproto$1.firstDayOfWeek = localeFirstDayOfWeek;\n\nproto$1.weekdays = localeWeekdays;\nproto$1.weekdaysMin = localeWeekdaysMin;\nproto$1.weekdaysShort = localeWeekdaysShort;\nproto$1.weekdaysParse = localeWeekdaysParse;\n\nproto$1.weekdaysRegex = weekdaysRegex;\nproto$1.weekdaysShortRegex = weekdaysShortRegex;\nproto$1.weekdaysMinRegex = weekdaysMinRegex;\n\nproto$1.isPM = localeIsPM;\nproto$1.meridiem = localeMeridiem;\n\nfunction 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\nfunction 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)\nfunction 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\nfunction listMonths (format, index) {\n return listMonthsImpl(format, index, 'months');\n}\n\nfunction listMonthsShort (format, index) {\n return listMonthsImpl(format, index, 'monthsShort');\n}\n\nfunction listWeekdays (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdays');\n}\n\nfunction listWeekdaysShort (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysShort');\n}\n\nfunction listWeekdaysMin (localeSorted, format, index) {\n return listWeekdaysImpl(localeSorted, format, index, 'weekdaysMin');\n}\n\ngetSetGlobalLocale('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\nhooks.lang = deprecate('moment.lang is deprecated. Use moment.locale instead.', getSetGlobalLocale);\nhooks.langData = deprecate('moment.langData is deprecated. Use moment.localeData instead.', getLocale);\n\nvar mathAbs = Math.abs;\n\nfunction 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\nfunction 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)\nfunction 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)\nfunction subtract$1 (input, value) {\n return addSubtract$1(this, input, value, -1);\n}\n\nfunction absCeil (number) {\n if (number < 0) {\n return Math.floor(number);\n } else {\n return Math.ceil(number);\n }\n}\n\nfunction 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\nfunction 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\nfunction monthsToDays (months) {\n // the reverse of daysToMonths\n return months * 146097 / 4800;\n}\n\nfunction 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 === 'year') {\n days = this._days + milliseconds / 864e5;\n months = this._months + daysToMonths(days);\n return units === 'month' ? months : months / 12;\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')?\nfunction 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\nfunction makeAs (alias) {\n return function () {\n return this.as(alias);\n };\n}\n\nvar asMilliseconds = makeAs('ms');\nvar asSeconds = makeAs('s');\nvar asMinutes = makeAs('m');\nvar asHours = makeAs('h');\nvar asDays = makeAs('d');\nvar asWeeks = makeAs('w');\nvar asMonths = makeAs('M');\nvar asYears = makeAs('y');\n\nfunction clone$1 () {\n return createDuration(this);\n}\n\nfunction get$2 (units) {\n units = normalizeUnits(units);\n return this.isValid() ? this[units + 's']() : NaN;\n}\n\nfunction makeGetter(name) {\n return function () {\n return this.isValid() ? this._data[name] : NaN;\n };\n}\n\nvar milliseconds = makeGetter('milliseconds');\nvar seconds = makeGetter('seconds');\nvar minutes = makeGetter('minutes');\nvar hours = makeGetter('hours');\nvar days = makeGetter('days');\nvar months = makeGetter('months');\nvar years = makeGetter('years');\n\nfunction weeks () {\n return absFloor(this.days() / 7);\n}\n\nvar round = Math.round;\nvar 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\nfunction substituteTimeAgo(string, number, withoutSuffix, isFuture, locale) {\n return locale.relativeTime(number || 1, !!withoutSuffix, string, isFuture);\n}\n\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nvar abs$1 = Math.abs;\n\nfunction sign(x) {\n return ((x > 0) - (x < 0)) || +x;\n}\n\nfunction 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\nvar proto$2 = Duration.prototype;\n\nproto$2.isValid = isValid$1;\nproto$2.abs = abs;\nproto$2.add = add$1;\nproto$2.subtract = subtract$1;\nproto$2.as = as;\nproto$2.asMilliseconds = asMilliseconds;\nproto$2.asSeconds = asSeconds;\nproto$2.asMinutes = asMinutes;\nproto$2.asHours = asHours;\nproto$2.asDays = asDays;\nproto$2.asWeeks = asWeeks;\nproto$2.asMonths = asMonths;\nproto$2.asYears = asYears;\nproto$2.valueOf = valueOf$1;\nproto$2._bubble = bubble;\nproto$2.clone = clone$1;\nproto$2.get = get$2;\nproto$2.milliseconds = milliseconds;\nproto$2.seconds = seconds;\nproto$2.minutes = minutes;\nproto$2.hours = hours;\nproto$2.days = days;\nproto$2.weeks = weeks;\nproto$2.months = months;\nproto$2.years = years;\nproto$2.humanize = humanize;\nproto$2.toISOString = toISOString$1;\nproto$2.toString = toISOString$1;\nproto$2.toJSON = toISOString$1;\nproto$2.locale = locale;\nproto$2.localeData = localeData;\n\nproto$2.toIsoString = deprecate('toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)', toISOString$1);\nproto$2.lang = lang;\n\n// Side effect imports\n\n// FORMATTING\n\naddFormatToken('X', 0, 0, 'unix');\naddFormatToken('x', 0, 0, 'valueOf');\n\n// PARSING\n\naddRegexToken('x', matchSigned);\naddRegexToken('X', matchTimestamp);\naddParseToken('X', function (input, array, config) {\n config._d = new Date(parseFloat(input, 10) * 1000);\n});\naddParseToken('x', function (input, array, config) {\n config._d = new Date(toInt(input));\n});\n\n// Side effect imports\n\n\nhooks.version = '2.21.0';\n\nsetHookCallback(createLocal);\n\nhooks.fn = proto;\nhooks.min = min;\nhooks.max = max;\nhooks.now = now;\nhooks.utc = createUTC;\nhooks.unix = createUnix;\nhooks.months = listMonths;\nhooks.isDate = isDate;\nhooks.locale = getSetGlobalLocale;\nhooks.invalid = createInvalid;\nhooks.duration = createDuration;\nhooks.isMoment = isMoment;\nhooks.weekdays = listWeekdays;\nhooks.parseZone = createInZone;\nhooks.localeData = getLocale;\nhooks.isDuration = isDuration;\nhooks.monthsShort = listMonthsShort;\nhooks.weekdaysMin = listWeekdaysMin;\nhooks.defineLocale = defineLocale;\nhooks.updateLocale = updateLocale;\nhooks.locales = listLocales;\nhooks.weekdaysShort = listWeekdaysShort;\nhooks.normalizeUnits = normalizeUnits;\nhooks.relativeTimeRounding = getSetRelativeTimeRounding;\nhooks.relativeTimeThreshold = getSetRelativeTimeThreshold;\nhooks.calendarFormat = getCalendarFormat;\nhooks.prototype = proto;\n\n// currently HTML5 input type only supports 24-hour formats\nhooks.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: 'YYYY-[W]WW', // <input type=\"week\" />\n MONTH: 'YYYY-MM' // <input type=\"month\" />\n};\n\nreturn hooks;\n\n})));\n","export function isScalarValue(value) {\n return ['StringValue', 'BooleanValue', 'EnumValue'].indexOf(value.kind) > -1;\n}\nexport function isNumberValue(value) {\n return ['IntValue', 'FloatValue'].indexOf(value.kind) > -1;\n}\nfunction isStringValue(value) {\n return value.kind === 'StringValue';\n}\nfunction isBooleanValue(value) {\n return value.kind === 'BooleanValue';\n}\nfunction isIntValue(value) {\n return value.kind === 'IntValue';\n}\nfunction isFloatValue(value) {\n return value.kind === 'FloatValue';\n}\nfunction isVariable(value) {\n return value.kind === 'Variable';\n}\nfunction isObjectValue(value) {\n return value.kind === 'ObjectValue';\n}\nfunction isListValue(value) {\n return value.kind === 'ListValue';\n}\nfunction isEnumValue(value) {\n return value.kind === 'EnumValue';\n}\nfunction isNullValue(value) {\n return value.kind === 'NullValue';\n}\nexport function valueToObjectRepresentation(argObj, name, value, variables) {\n if (isIntValue(value) || isFloatValue(value)) {\n argObj[name.value] = Number(value.value);\n }\n else if (isBooleanValue(value) || isStringValue(value)) {\n argObj[name.value] = value.value;\n }\n else if (isObjectValue(value)) {\n var nestedArgObj_1 = {};\n value.fields.map(function (obj) {\n return valueToObjectRepresentation(nestedArgObj_1, obj.name, obj.value, variables);\n });\n argObj[name.value] = nestedArgObj_1;\n }\n else if (isVariable(value)) {\n var variableValue = (variables || {})[value.name.value];\n argObj[name.value] = variableValue;\n }\n else if (isListValue(value)) {\n argObj[name.value] = value.values.map(function (listValue) {\n var nestedArgArrayObj = {};\n valueToObjectRepresentation(nestedArgArrayObj, name, listValue, variables);\n return nestedArgArrayObj[name.value];\n });\n }\n else if (isEnumValue(value)) {\n argObj[name.value] = value.value;\n }\n else if (isNullValue(value)) {\n argObj[name.value] = null;\n }\n else {\n throw new Error(\"The inline argument \\\"\" + name.value + \"\\\" of kind \\\"\" + value.kind + \"\\\" is not supported.\\n Use variables instead of inline arguments to overcome this limitation.\");\n }\n}\nexport function storeKeyNameFromField(field, variables) {\n var directivesObj = null;\n if (field.directives) {\n directivesObj = {};\n field.directives.forEach(function (directive) {\n directivesObj[directive.name.value] = {};\n if (directive.arguments) {\n directive.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(directivesObj[directive.name.value], name, value, variables);\n });\n }\n });\n }\n var argObj = null;\n if (field.arguments && field.arguments.length) {\n argObj = {};\n field.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(argObj, name, value, variables);\n });\n }\n return getStoreKeyName(field.name.value, argObj, directivesObj);\n}\nvar KNOWN_DIRECTIVES = [\n 'connection',\n 'include',\n 'skip',\n 'client',\n 'rest',\n 'export',\n];\nexport function getStoreKeyName(fieldName, args, directives) {\n if (directives &&\n directives['connection'] &&\n directives['connection']['key']) {\n if (directives['connection']['filter'] &&\n directives['connection']['filter'].length > 0) {\n var filterKeys = directives['connection']['filter']\n ? directives['connection']['filter']\n : [];\n filterKeys.sort();\n var queryArgs_1 = args;\n var filteredArgs_1 = {};\n filterKeys.forEach(function (key) {\n filteredArgs_1[key] = queryArgs_1[key];\n });\n return directives['connection']['key'] + \"(\" + JSON.stringify(filteredArgs_1) + \")\";\n }\n else {\n return directives['connection']['key'];\n }\n }\n var completeFieldName = fieldName;\n if (args) {\n var stringifiedArgs = JSON.stringify(args);\n completeFieldName += \"(\" + stringifiedArgs + \")\";\n }\n if (directives) {\n Object.keys(directives).forEach(function (key) {\n if (KNOWN_DIRECTIVES.indexOf(key) !== -1)\n return;\n if (directives[key] && Object.keys(directives[key]).length) {\n completeFieldName += \"@\" + key + \"(\" + JSON.stringify(directives[key]) + \")\";\n }\n else {\n completeFieldName += \"@\" + key;\n }\n });\n }\n return completeFieldName;\n}\nexport function argumentsObjectFromField(field, variables) {\n if (field.arguments && field.arguments.length) {\n var argObj_1 = {};\n field.arguments.forEach(function (_a) {\n var name = _a.name, value = _a.value;\n return valueToObjectRepresentation(argObj_1, name, value, variables);\n });\n return argObj_1;\n }\n return null;\n}\nexport function resultKeyNameFromField(field) {\n return field.alias ? field.alias.value : field.name.value;\n}\nexport function isField(selection) {\n return selection.kind === 'Field';\n}\nexport function isInlineFragment(selection) {\n return selection.kind === 'InlineFragment';\n}\nexport function isIdValue(idObject) {\n return idObject && idObject.type === 'id';\n}\nexport function toIdValue(id, generated) {\n if (generated === void 0) { generated = false; }\n return {\n type: 'id',\n id: id,\n generated: generated,\n };\n}\nexport function isJsonValue(jsonObject) {\n return (jsonObject != null &&\n typeof jsonObject === 'object' &&\n jsonObject.type === 'json');\n}\nfunction defaultValueFromVariable(node) {\n throw new Error(\"Variable nodes are not supported by valueFromNode\");\n}\nexport function valueFromNode(node, onVariable) {\n if (onVariable === void 0) { onVariable = defaultValueFromVariable; }\n switch (node.kind) {\n case 'Variable':\n return onVariable(node);\n case 'NullValue':\n return null;\n case 'IntValue':\n return parseInt(node.value);\n case 'FloatValue':\n return parseFloat(node.value);\n case 'ListValue':\n return node.values.map(function (v) { return valueFromNode(v, onVariable); });\n case 'ObjectValue': {\n var value = {};\n for (var _i = 0, _a = node.fields; _i < _a.length; _i++) {\n var field = _a[_i];\n value[field.name.value] = valueFromNode(field.value, onVariable);\n }\n return value;\n }\n default:\n return node.value;\n }\n}\n//# sourceMappingURL=storeUtils.js.map","import { argumentsObjectFromField } from './storeUtils';\nexport function getDirectiveInfoFromField(field, variables) {\n if (field.directives && field.directives.length) {\n var directiveObj_1 = {};\n field.directives.forEach(function (directive) {\n directiveObj_1[directive.name.value] = argumentsObjectFromField(directive, variables);\n });\n return directiveObj_1;\n }\n return null;\n}\nexport function shouldInclude(selection, variables) {\n if (variables === void 0) { variables = {}; }\n if (!selection.directives) {\n return true;\n }\n var res = true;\n selection.directives.forEach(function (directive) {\n if (directive.name.value !== 'skip' && directive.name.value !== 'include') {\n return;\n }\n var directiveArguments = directive.arguments || [];\n var directiveName = directive.name.value;\n if (directiveArguments.length !== 1) {\n throw new Error(\"Incorrect number of arguments for the @\" + directiveName + \" directive.\");\n }\n var ifArgument = directiveArguments[0];\n if (!ifArgument.name || ifArgument.name.value !== 'if') {\n throw new Error(\"Invalid argument for the @\" + directiveName + \" directive.\");\n }\n var ifValue = directiveArguments[0].value;\n var evaledValue = false;\n if (!ifValue || ifValue.kind !== 'BooleanValue') {\n if (ifValue.kind !== 'Variable') {\n throw new Error(\"Argument for the @\" + directiveName + \" directive must be a variable or a boolean value.\");\n }\n else {\n evaledValue = variables[ifValue.name.value];\n if (evaledValue === undefined) {\n throw new Error(\"Invalid variable referenced in @\" + directiveName + \" directive.\");\n }\n }\n }\n else {\n evaledValue = ifValue.value;\n }\n if (directiveName === 'skip') {\n evaledValue = !evaledValue;\n }\n if (!evaledValue) {\n res = false;\n }\n });\n return res;\n}\nexport function flattenSelections(selection) {\n if (!selection.selectionSet ||\n !(selection.selectionSet.selections.length > 0))\n return [selection];\n return [selection].concat(selection.selectionSet.selections\n .map(function (selectionNode) {\n return [selectionNode].concat(flattenSelections(selectionNode));\n })\n .reduce(function (selections, selected) { return selections.concat(selected); }, []));\n}\nvar added = new Map();\nexport function getDirectiveNames(doc) {\n var cached = added.get(doc);\n if (cached)\n return cached;\n var directives = doc.definitions\n .filter(function (definition) {\n return definition.selectionSet && definition.selectionSet.selections;\n })\n .map(function (x) { return flattenSelections(x); })\n .reduce(function (selections, selected) { return selections.concat(selected); }, [])\n .filter(function (selection) {\n return selection.directives && selection.directives.length > 0;\n })\n .map(function (selection) { return selection.directives; })\n .reduce(function (directives, directive) { return directives.concat(directive); }, [])\n .map(function (directive) { return directive.name.value; });\n added.set(doc, directives);\n return directives;\n}\nexport function hasDirectives(names, doc) {\n return getDirectiveNames(doc).some(function (name) { return names.indexOf(name) > -1; });\n}\n//# sourceMappingURL=directives.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nexport function getFragmentQueryDocument(document, fragmentName) {\n var actualFragmentName = fragmentName;\n var fragments = [];\n document.definitions.forEach(function (definition) {\n if (definition.kind === 'OperationDefinition') {\n throw new Error(\"Found a \" + definition.operation + \" operation\" + (definition.name ? \" named '\" + definition.name.value + \"'\" : '') + \". \" +\n 'No operations are allowed when using a fragment as a query. Only fragments are allowed.');\n }\n if (definition.kind === 'FragmentDefinition') {\n fragments.push(definition);\n }\n });\n if (typeof actualFragmentName === 'undefined') {\n if (fragments.length !== 1) {\n throw new Error(\"Found \" + fragments.length + \" fragments. `fragmentName` must be provided when there is not exactly 1 fragment.\");\n }\n actualFragmentName = fragments[0].name.value;\n }\n var query = __assign({}, document, { definitions: [\n {\n kind: 'OperationDefinition',\n operation: 'query',\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'FragmentSpread',\n name: {\n kind: 'Name',\n value: actualFragmentName,\n },\n },\n ],\n },\n }\n ].concat(document.definitions) });\n return query;\n}\n//# sourceMappingURL=fragments.js.map","export function assign(target) {\n var sources = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n sources[_i - 1] = arguments[_i];\n }\n sources.forEach(function (source) {\n if (typeof source === 'undefined' || source === null) {\n return;\n }\n Object.keys(source).forEach(function (key) {\n target[key] = source[key];\n });\n });\n return target;\n}\n//# sourceMappingURL=assign.js.map","import { assign } from './util/assign';\nimport { valueToObjectRepresentation } from './storeUtils';\nexport function getMutationDefinition(doc) {\n checkDocument(doc);\n var mutationDef = doc.definitions.filter(function (definition) {\n return definition.kind === 'OperationDefinition' &&\n definition.operation === 'mutation';\n })[0];\n if (!mutationDef) {\n throw new Error('Must contain a mutation definition.');\n }\n return mutationDef;\n}\nexport function checkDocument(doc) {\n if (doc.kind !== 'Document') {\n throw new Error(\"Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \\\"gql\\\" tag? http://docs.apollostack.com/apollo-client/core.html#gql\");\n }\n var operations = doc.definitions\n .filter(function (d) { return d.kind !== 'FragmentDefinition'; })\n .map(function (definition) {\n if (definition.kind !== 'OperationDefinition') {\n throw new Error(\"Schema type definitions not allowed in queries. Found: \\\"\" + definition.kind + \"\\\"\");\n }\n return definition;\n });\n if (operations.length > 1) {\n throw new Error(\"Ambiguous GraphQL document: contains \" + operations.length + \" operations\");\n }\n}\nexport function getOperationDefinition(doc) {\n checkDocument(doc);\n return doc.definitions.filter(function (definition) { return definition.kind === 'OperationDefinition'; })[0];\n}\nexport function getOperationDefinitionOrDie(document) {\n var def = getOperationDefinition(document);\n if (!def) {\n throw new Error(\"GraphQL document is missing an operation\");\n }\n return def;\n}\nexport function getOperationName(doc) {\n return (doc.definitions\n .filter(function (definition) {\n return definition.kind === 'OperationDefinition' && definition.name;\n })\n .map(function (x) { return x.name.value; })[0] || null);\n}\nexport function getFragmentDefinitions(doc) {\n return doc.definitions.filter(function (definition) { return definition.kind === 'FragmentDefinition'; });\n}\nexport function getQueryDefinition(doc) {\n var queryDef = getOperationDefinition(doc);\n if (!queryDef || queryDef.operation !== 'query') {\n throw new Error('Must contain a query definition.');\n }\n return queryDef;\n}\nexport function getFragmentDefinition(doc) {\n if (doc.kind !== 'Document') {\n throw new Error(\"Expecting a parsed GraphQL document. Perhaps you need to wrap the query string in a \\\"gql\\\" tag? http://docs.apollostack.com/apollo-client/core.html#gql\");\n }\n if (doc.definitions.length > 1) {\n throw new Error('Fragment must have exactly one definition.');\n }\n var fragmentDef = doc.definitions[0];\n if (fragmentDef.kind !== 'FragmentDefinition') {\n throw new Error('Must be a fragment definition.');\n }\n return fragmentDef;\n}\nexport function getMainDefinition(queryDoc) {\n checkDocument(queryDoc);\n var fragmentDefinition;\n for (var _i = 0, _a = queryDoc.definitions; _i < _a.length; _i++) {\n var definition = _a[_i];\n if (definition.kind === 'OperationDefinition') {\n var operation = definition.operation;\n if (operation === 'query' ||\n operation === 'mutation' ||\n operation === 'subscription') {\n return definition;\n }\n }\n if (definition.kind === 'FragmentDefinition' && !fragmentDefinition) {\n fragmentDefinition = definition;\n }\n }\n if (fragmentDefinition) {\n return fragmentDefinition;\n }\n throw new Error('Expected a parsed GraphQL query with a query, mutation, subscription, or a fragment.');\n}\nexport function createFragmentMap(fragments) {\n if (fragments === void 0) { fragments = []; }\n var symTable = {};\n fragments.forEach(function (fragment) {\n symTable[fragment.name.value] = fragment;\n });\n return symTable;\n}\nexport function getDefaultValues(definition) {\n if (definition &&\n definition.variableDefinitions &&\n definition.variableDefinitions.length) {\n var defaultValues = definition.variableDefinitions\n .filter(function (_a) {\n var defaultValue = _a.defaultValue;\n return defaultValue;\n })\n .map(function (_a) {\n var variable = _a.variable, defaultValue = _a.defaultValue;\n var defaultValueObj = {};\n valueToObjectRepresentation(defaultValueObj, variable.name, defaultValue);\n return defaultValueObj;\n });\n return assign.apply(void 0, [{}].concat(defaultValues));\n }\n return {};\n}\nexport function variablesInOperation(operation) {\n var names = new Set();\n if (operation.variableDefinitions) {\n for (var _i = 0, _a = operation.variableDefinitions; _i < _a.length; _i++) {\n var definition = _a[_i];\n names.add(definition.variable.name.value);\n }\n }\n return names;\n}\n//# sourceMappingURL=getFromAST.js.map","export function cloneDeep(value) {\n if (Array.isArray(value)) {\n return value.map(function (item) { return cloneDeep(item); });\n }\n if (value !== null && typeof value === 'object') {\n var nextValue = {};\n for (var key in value) {\n if (value.hasOwnProperty(key)) {\n nextValue[key] = cloneDeep(value[key]);\n }\n }\n return nextValue;\n }\n return value;\n}\n//# sourceMappingURL=cloneDeep.js.map","import { cloneDeep } from './util/cloneDeep';\nimport { checkDocument, getOperationDefinitionOrDie, getFragmentDefinitions, createFragmentMap, } from './getFromAST';\nvar TYPENAME_FIELD = {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: '__typename',\n },\n};\nfunction isNotEmpty(op, fragments) {\n return (op.selectionSet.selections.filter(function (selectionSet) {\n return !(selectionSet &&\n selectionSet.kind === 'FragmentSpread' &&\n !isNotEmpty(fragments[selectionSet.name.value], fragments));\n }).length > 0);\n}\nfunction getDirectiveMatcher(directives) {\n return function directiveMatcher(directive) {\n return directives.some(function (dir) {\n if (dir.name && dir.name === directive.name.value)\n return true;\n if (dir.test && dir.test(directive))\n return true;\n return false;\n });\n };\n}\nfunction addTypenameToSelectionSet(selectionSet, isRoot) {\n if (isRoot === void 0) { isRoot = false; }\n if (selectionSet.selections) {\n if (!isRoot) {\n var alreadyHasThisField = selectionSet.selections.some(function (selection) {\n return (selection.kind === 'Field' &&\n selection.name.value === '__typename');\n });\n if (!alreadyHasThisField) {\n selectionSet.selections.push(TYPENAME_FIELD);\n }\n }\n selectionSet.selections.forEach(function (selection) {\n if (selection.kind === 'Field') {\n if (selection.name.value.lastIndexOf('__', 0) !== 0 &&\n selection.selectionSet) {\n addTypenameToSelectionSet(selection.selectionSet);\n }\n }\n else if (selection.kind === 'InlineFragment') {\n if (selection.selectionSet) {\n addTypenameToSelectionSet(selection.selectionSet);\n }\n }\n });\n }\n}\nfunction removeDirectivesFromSelectionSet(directives, selectionSet) {\n if (!selectionSet.selections)\n return selectionSet;\n var agressiveRemove = directives.some(function (dir) { return dir.remove; });\n selectionSet.selections = selectionSet.selections\n .map(function (selection) {\n if (selection.kind !== 'Field' ||\n !selection ||\n !selection.directives)\n return selection;\n var directiveMatcher = getDirectiveMatcher(directives);\n var remove;\n selection.directives = selection.directives.filter(function (directive) {\n var shouldKeep = !directiveMatcher(directive);\n if (!remove && !shouldKeep && agressiveRemove)\n remove = true;\n return shouldKeep;\n });\n return remove ? null : selection;\n })\n .filter(function (x) { return !!x; });\n selectionSet.selections.forEach(function (selection) {\n if ((selection.kind === 'Field' || selection.kind === 'InlineFragment') &&\n selection.selectionSet) {\n removeDirectivesFromSelectionSet(directives, selection.selectionSet);\n }\n });\n return selectionSet;\n}\nexport function removeDirectivesFromDocument(directives, doc) {\n var docClone = cloneDeep(doc);\n docClone.definitions.forEach(function (definition) {\n removeDirectivesFromSelectionSet(directives, definition.selectionSet);\n });\n var operation = getOperationDefinitionOrDie(docClone);\n var fragments = createFragmentMap(getFragmentDefinitions(docClone));\n return isNotEmpty(operation, fragments) ? docClone : null;\n}\nvar added = new Map();\nexport function addTypenameToDocument(doc) {\n checkDocument(doc);\n var cached = added.get(doc);\n if (cached)\n return cached;\n var docClone = cloneDeep(doc);\n docClone.definitions.forEach(function (definition) {\n var isRoot = definition.kind === 'OperationDefinition';\n addTypenameToSelectionSet(definition.selectionSet, isRoot);\n });\n added.set(doc, docClone);\n return docClone;\n}\nvar connectionRemoveConfig = {\n test: function (directive) {\n var willRemove = directive.name.value === 'connection';\n if (willRemove) {\n if (!directive.arguments ||\n !directive.arguments.some(function (arg) { return arg.name.value === 'key'; })) {\n console.warn('Removing an @connection directive even though it does not have a key. ' +\n 'You may want to use the key parameter to specify a store key.');\n }\n }\n return willRemove;\n },\n};\nvar removed = new Map();\nexport function removeConnectionDirectiveFromDocument(doc) {\n checkDocument(doc);\n var cached = removed.get(doc);\n if (cached)\n return cached;\n var docClone = removeDirectivesFromDocument([connectionRemoveConfig], doc);\n removed.set(doc, docClone);\n return docClone;\n}\nfunction hasDirectivesInSelectionSet(directives, selectionSet, nestedCheck) {\n if (nestedCheck === void 0) { nestedCheck = true; }\n if (!(selectionSet && selectionSet.selections)) {\n return false;\n }\n var matchedSelections = selectionSet.selections.filter(function (selection) {\n return hasDirectivesInSelection(directives, selection, nestedCheck);\n });\n return matchedSelections.length > 0;\n}\nfunction hasDirectivesInSelection(directives, selection, nestedCheck) {\n if (nestedCheck === void 0) { nestedCheck = true; }\n if (selection.kind !== 'Field' || !selection) {\n return true;\n }\n if (!selection.directives) {\n return false;\n }\n var directiveMatcher = getDirectiveMatcher(directives);\n var matchedDirectives = selection.directives.filter(directiveMatcher);\n return (matchedDirectives.length > 0 ||\n (nestedCheck &&\n hasDirectivesInSelectionSet(directives, selection.selectionSet, nestedCheck)));\n}\nfunction getDirectivesFromSelectionSet(directives, selectionSet) {\n selectionSet.selections = selectionSet.selections\n .filter(function (selection) {\n return hasDirectivesInSelection(directives, selection, true);\n })\n .map(function (selection) {\n if (hasDirectivesInSelection(directives, selection, false)) {\n return selection;\n }\n if ((selection.kind === 'Field' || selection.kind === 'InlineFragment') &&\n selection.selectionSet) {\n selection.selectionSet = getDirectivesFromSelectionSet(directives, selection.selectionSet);\n }\n return selection;\n });\n return selectionSet;\n}\nexport function getDirectivesFromDocument(directives, doc) {\n checkDocument(doc);\n var docClone = cloneDeep(doc);\n docClone.definitions = docClone.definitions.map(function (definition) {\n if ((definition.kind === 'OperationDefinition' ||\n definition.kind === 'FragmentDefinition') &&\n definition.selectionSet) {\n definition.selectionSet = getDirectivesFromSelectionSet(directives, definition.selectionSet);\n }\n return definition;\n });\n var operation = getOperationDefinitionOrDie(docClone);\n var fragments = createFragmentMap(getFragmentDefinitions(docClone));\n return isNotEmpty(operation, fragments) ? docClone : null;\n}\n//# sourceMappingURL=transform.js.map","export function tryFunctionOrLogError(f) {\n try {\n return f();\n }\n catch (e) {\n if (console.error) {\n console.error(e);\n }\n }\n}\nexport function graphQLResultHasError(result) {\n return result.errors && result.errors.length;\n}\n//# sourceMappingURL=errorHandling.js.map","export function isEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (a instanceof Date && b instanceof Date) {\n return a.getTime() === b.getTime();\n }\n if (a != null &&\n typeof a === 'object' &&\n b != null &&\n typeof b === 'object') {\n for (var key in a) {\n if (Object.prototype.hasOwnProperty.call(a, key)) {\n if (!Object.prototype.hasOwnProperty.call(b, key)) {\n return false;\n }\n if (!isEqual(a[key], b[key])) {\n return false;\n }\n }\n }\n for (var key in b) {\n if (!Object.prototype.hasOwnProperty.call(a, key)) {\n return false;\n }\n }\n return true;\n }\n return false;\n}\n//# sourceMappingURL=isEqual.js.map","import { isDevelopment, isTest } from './environment';\nfunction deepFreeze(o) {\n Object.freeze(o);\n Object.getOwnPropertyNames(o).forEach(function (prop) {\n if (o.hasOwnProperty(prop) &&\n o[prop] !== null &&\n (typeof o[prop] === 'object' || typeof o[prop] === 'function') &&\n !Object.isFrozen(o[prop])) {\n deepFreeze(o[prop]);\n }\n });\n return o;\n}\nexport function maybeDeepFreeze(obj) {\n if (isDevelopment() || isTest()) {\n return deepFreeze(obj);\n }\n return obj;\n}\n//# sourceMappingURL=maybeDeepFreeze.js.map","import { isProduction, isTest } from './environment';\nvar haveWarned = Object.create({});\nexport function warnOnceInDevelopment(msg, type) {\n if (type === void 0) { type = 'warn'; }\n if (isProduction()) {\n return;\n }\n if (!haveWarned[msg]) {\n if (!isTest()) {\n haveWarned[msg] = true;\n }\n switch (type) {\n case 'error':\n console.error(msg);\n break;\n default:\n console.warn(msg);\n }\n }\n}\n//# sourceMappingURL=warnOnce.js.map","module.exports = global[\"React\"] = require(\"-!./index.js\");","export var Observable = require('zen-observable');\n//# sourceMappingURL=zenObservable.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { getOperationName } from 'apollo-utilities';\nimport Observable from 'zen-observable-ts';\nimport { print } from 'graphql/language/printer';\nexport function validateOperation(operation) {\n var OPERATION_FIELDS = [\n 'query',\n 'operationName',\n 'variables',\n 'extensions',\n 'context',\n ];\n for (var _i = 0, _a = Object.keys(operation); _i < _a.length; _i++) {\n var key = _a[_i];\n if (OPERATION_FIELDS.indexOf(key) < 0) {\n throw new Error(\"illegal argument: \" + key);\n }\n }\n return operation;\n}\nvar LinkError = (function (_super) {\n __extends(LinkError, _super);\n function LinkError(message, link) {\n var _this = _super.call(this, message) || this;\n _this.link = link;\n return _this;\n }\n return LinkError;\n}(Error));\nexport { LinkError };\nexport function isTerminating(link) {\n return link.request.length <= 1;\n}\nexport function toPromise(observable) {\n var completed = false;\n return new Promise(function (resolve, reject) {\n observable.subscribe({\n next: function (data) {\n if (completed) {\n console.warn(\"Promise Wrapper does not support multiple results from Observable\");\n }\n else {\n completed = true;\n resolve(data);\n }\n },\n error: reject,\n });\n });\n}\nexport var makePromise = toPromise;\nexport function fromPromise(promise) {\n return new Observable(function (observer) {\n promise\n .then(function (value) {\n observer.next(value);\n observer.complete();\n })\n .catch(observer.error.bind(observer));\n });\n}\nexport function fromError(errorValue) {\n return new Observable(function (observer) {\n observer.error(errorValue);\n });\n}\nexport function transformOperation(operation) {\n var transformedOperation = {\n variables: operation.variables || {},\n extensions: operation.extensions || {},\n operationName: operation.operationName,\n query: operation.query,\n };\n if (!transformedOperation.operationName) {\n transformedOperation.operationName =\n typeof transformedOperation.query !== 'string'\n ? getOperationName(transformedOperation.query)\n : '';\n }\n return transformedOperation;\n}\nexport function createOperation(starting, operation) {\n var context = __assign({}, starting);\n var setContext = function (next) {\n if (typeof next === 'function') {\n context = __assign({}, context, next(context));\n }\n else {\n context = __assign({}, context, next);\n }\n };\n var getContext = function () { return (__assign({}, context)); };\n Object.defineProperty(operation, 'setContext', {\n enumerable: false,\n value: setContext,\n });\n Object.defineProperty(operation, 'getContext', {\n enumerable: false,\n value: getContext,\n });\n Object.defineProperty(operation, 'toKey', {\n enumerable: false,\n value: function () { return getKey(operation); },\n });\n return operation;\n}\nexport function getKey(operation) {\n return print(operation.query) + \"|\" + JSON.stringify(operation.variables) + \"|\" + operation.operationName;\n}\n//# sourceMappingURL=linkUtils.js.map","import { Observable } from './zenObservable';\nexport * from './zenObservable';\nexport default Observable;\n//# sourceMappingURL=index.js.map","import Observable from 'zen-observable-ts';\nimport { validateOperation, isTerminating, LinkError, transformOperation, createOperation, } from './linkUtils';\nvar passthrough = function (op, forward) { return (forward ? forward(op) : Observable.of()); };\nvar toLink = function (handler) {\n return typeof handler === 'function' ? new ApolloLink(handler) : handler;\n};\nexport var empty = function () {\n return new ApolloLink(function (op, forward) { return Observable.of(); });\n};\nexport var from = function (links) {\n if (links.length === 0)\n return empty();\n return links.map(toLink).reduce(function (x, y) { return x.concat(y); });\n};\nexport var split = function (test, left, right) {\n if (right === void 0) { right = new ApolloLink(passthrough); }\n var leftLink = toLink(left);\n var rightLink = toLink(right);\n if (isTerminating(leftLink) && isTerminating(rightLink)) {\n return new ApolloLink(function (operation) {\n return test(operation)\n ? leftLink.request(operation) || Observable.of()\n : rightLink.request(operation) || Observable.of();\n });\n }\n else {\n return new ApolloLink(function (operation, forward) {\n return test(operation)\n ? leftLink.request(operation, forward) || Observable.of()\n : rightLink.request(operation, forward) || Observable.of();\n });\n }\n};\nexport var concat = function (first, second) {\n var firstLink = toLink(first);\n if (isTerminating(firstLink)) {\n console.warn(new LinkError(\"You are calling concat on a terminating link, which will have no effect\", firstLink));\n return firstLink;\n }\n var nextLink = toLink(second);\n if (isTerminating(nextLink)) {\n return new ApolloLink(function (operation) {\n return firstLink.request(operation, function (op) { return nextLink.request(op) || Observable.of(); }) || Observable.of();\n });\n }\n else {\n return new ApolloLink(function (operation, forward) {\n return (firstLink.request(operation, function (op) {\n return nextLink.request(op, forward) || Observable.of();\n }) || Observable.of());\n });\n }\n};\nvar ApolloLink = (function () {\n function ApolloLink(request) {\n if (request)\n this.request = request;\n }\n ApolloLink.prototype.split = function (test, left, right) {\n if (right === void 0) { right = new ApolloLink(passthrough); }\n return this.concat(split(test, left, right));\n };\n ApolloLink.prototype.concat = function (next) {\n return concat(this, next);\n };\n ApolloLink.prototype.request = function (operation, forward) {\n throw new Error('request is not implemented');\n };\n ApolloLink.empty = empty;\n ApolloLink.from = from;\n ApolloLink.split = split;\n ApolloLink.execute = execute;\n return ApolloLink;\n}());\nexport { ApolloLink };\nexport function execute(link, operation) {\n return (link.request(createOperation(operation.context, transformOperation(validateOperation(operation)))) || Observable.of());\n}\n//# sourceMappingURL=link.js.map","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.print = print;\n\nvar _visitor = require('./visitor');\n\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\nfunction print(ast) {\n return (0, _visitor.visit)(ast, { leave: printDocASTReducer });\n} /**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n\n // Document\n\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet;\n // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n\n\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue;\n return variable + ': ' + type + wrap(' = ', defaultValue);\n },\n\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n return join([wrap('', alias, ': ') + name + wrap('(', join(args, ', '), ')'), join(directives, ' '), selectionSet], ' ');\n },\n\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n\n // Fragments\n\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (\n // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'fragment ' + name + wrap('(', join(variableDefinitions, ', '), ')') + ' ' + ('on ' + typeCondition + ' ' + wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n\n // Value\n\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n\n // Directive\n\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n\n // Type\n\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n\n // Type System Definitions\n\n SchemaDefinition: function SchemaDefinition(_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + wrap('(', join(args, ', '), ')') + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, join(directives, ' '), block(fields)], ' ');\n }),\n\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n\n ScalarTypeExtension: function ScalarTypeExtension(_ref31) {\n var name = _ref31.name,\n directives = _ref31.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n\n ObjectTypeExtension: function ObjectTypeExtension(_ref32) {\n var name = _ref32.name,\n interfaces = _ref32.interfaces,\n directives = _ref32.directives,\n fields = _ref32.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives,\n fields = _ref33.fields;\n return join(['extend interface', name, join(directives, ' '), block(fields)], ' ');\n },\n\n UnionTypeExtension: function UnionTypeExtension(_ref34) {\n var name = _ref34.name,\n directives = _ref34.directives,\n types = _ref34.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n\n EnumTypeExtension: function EnumTypeExtension(_ref35) {\n var name = _ref35.name,\n directives = _ref35.directives,\n values = _ref35.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n fields = _ref36.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n },\n\n DirectiveDefinition: addDescription(function (_ref37) {\n var name = _ref37.name,\n args = _ref37.arguments,\n locations = _ref37.locations;\n return 'directive @' + name + wrap('(', join(args, ', '), ')') + ' on ' + join(locations, ' | ');\n })\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\nfunction join(maybeArray, separator) {\n return maybeArray ? maybeArray.filter(function (x) {\n return x;\n }).join(separator || '') : '';\n}\n\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\nfunction block(array) {\n return array && array.length !== 0 ? '{\\n' + indent(join(array, '\\n')) + '\\n}' : '';\n}\n\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise\n * print an empty string.\n */\nfunction wrap(start, maybeString, end) {\n return maybeString ? start + maybeString + (end || '') : '';\n}\n\nfunction indent(maybeString) {\n return maybeString && ' ' + maybeString.replace(/\\n/g, '\\n ');\n}\n\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n */\nfunction printBlockString(value, isDescription) {\n var escaped = value.replace(/\"\"\"/g, '\\\\\"\"\"');\n return (value[0] === ' ' || value[0] === '\\t') && value.indexOf('\\n') === -1 ? '\"\"\"' + escaped.replace(/\"$/, '\"\\n') + '\"\"\"' : '\"\"\"\\n' + (isDescription ? escaped : indent(escaped)) + '\\n\"\"\"';\n}","var g;\n\n// This works in non-strict mode\ng = (function() {\n\treturn this;\n})();\n\ntry {\n\t// This works if eval is allowed (see CSP)\n\tg = g || new Function(\"return this\")();\n} catch (e) {\n\t// This works if the window reference is available\n\tif (typeof window === \"object\") g = window;\n}\n\n// g can still be undefined, but nothing to do about it...\n// We return undefined, instead of nothing here, so it's\n// easier to handle this case. if(!global) { ...}\n\nmodule.exports = g;\n","/*!\n Copyright (c) 2016 Jed Watson.\n Licensed under the MIT License (MIT), see\n http://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\n\tfunction classNames () {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tclasses.push(classNames.apply(null, arg));\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","\"use strict\";\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nfunction makeEmptyFunction(arg) {\n return function () {\n return arg;\n };\n}\n\n/**\n * This function accepts and discards inputs; it has no side effects. This is\n * primarily useful idiomatically for overridable function endpoints which\n * always need to be callable, since JS lacks a null-call idiom ala Cocoa.\n */\nvar emptyFunction = function emptyFunction() {};\n\nemptyFunction.thatReturns = makeEmptyFunction;\nemptyFunction.thatReturnsFalse = makeEmptyFunction(false);\nemptyFunction.thatReturnsTrue = makeEmptyFunction(true);\nemptyFunction.thatReturnsNull = makeEmptyFunction(null);\nemptyFunction.thatReturnsThis = function () {\n return this;\n};\nemptyFunction.thatReturnsArgument = function (arg) {\n return arg;\n};\n\nmodule.exports = emptyFunction;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _I18n = require('./lib/I18n');\n\nObject.defineProperty(exports, 'I18n', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_I18n).default;\n }\n});\n\nvar _Translate = require('./lib/Translate');\n\nObject.defineProperty(exports, 'Translate', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Translate).default;\n }\n});\n\nvar _Localize = require('./lib/Localize');\n\nObject.defineProperty(exports, 'Localize', {\n enumerable: true,\n get: function get() {\n return _interopRequireDefault(_Localize).default;\n }\n});\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }","/*\nobject-assign\n(c) Sindre Sorhus\n@license MIT\n*/\n\n'use strict';\n/* eslint-disable no-unused-vars */\nvar getOwnPropertySymbols = Object.getOwnPropertySymbols;\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\nvar propIsEnumerable = Object.prototype.propertyIsEnumerable;\n\nfunction toObject(val) {\n\tif (val === null || val === undefined) {\n\t\tthrow new TypeError('Object.assign cannot be called with null or undefined');\n\t}\n\n\treturn Object(val);\n}\n\nfunction shouldUseNative() {\n\ttry {\n\t\tif (!Object.assign) {\n\t\t\treturn false;\n\t\t}\n\n\t\t// Detect buggy property enumeration order in older V8 versions.\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=4118\n\t\tvar test1 = new String('abc'); // eslint-disable-line no-new-wrappers\n\t\ttest1[5] = 'de';\n\t\tif (Object.getOwnPropertyNames(test1)[0] === '5') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test2 = {};\n\t\tfor (var i = 0; i < 10; i++) {\n\t\t\ttest2['_' + String.fromCharCode(i)] = i;\n\t\t}\n\t\tvar order2 = Object.getOwnPropertyNames(test2).map(function (n) {\n\t\t\treturn test2[n];\n\t\t});\n\t\tif (order2.join('') !== '0123456789') {\n\t\t\treturn false;\n\t\t}\n\n\t\t// https://bugs.chromium.org/p/v8/issues/detail?id=3056\n\t\tvar test3 = {};\n\t\t'abcdefghijklmnopqrst'.split('').forEach(function (letter) {\n\t\t\ttest3[letter] = letter;\n\t\t});\n\t\tif (Object.keys(Object.assign({}, test3)).join('') !==\n\t\t\t\t'abcdefghijklmnopqrst') {\n\t\t\treturn false;\n\t\t}\n\n\t\treturn true;\n\t} catch (err) {\n\t\t// We don't expect any of the above to throw, but better to be safe.\n\t\treturn false;\n\t}\n}\n\nmodule.exports = shouldUseNative() ? Object.assign : function (target, source) {\n\tvar from;\n\tvar to = toObject(target);\n\tvar symbols;\n\n\tfor (var s = 1; s < arguments.length; s++) {\n\t\tfrom = Object(arguments[s]);\n\n\t\tfor (var key in from) {\n\t\t\tif (hasOwnProperty.call(from, key)) {\n\t\t\t\tto[key] = from[key];\n\t\t\t}\n\t\t}\n\n\t\tif (getOwnPropertySymbols) {\n\t\t\tsymbols = getOwnPropertySymbols(from);\n\t\t\tfor (var i = 0; i < symbols.length; i++) {\n\t\t\t\tif (propIsEnumerable.call(from, symbols[i])) {\n\t\t\t\t\tto[symbols[i]] = from[symbols[i]];\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\n\treturn to;\n};\n","'use strict';\n\nfunction checkDCE() {\n /* global __REACT_DEVTOOLS_GLOBAL_HOOK__ */\n if (\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__ === 'undefined' ||\n typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE !== 'function'\n ) {\n return;\n }\n if (process.env.NODE_ENV !== 'production') {\n // This branch is unreachable because this function is only called\n // in production, but the condition is true only in development.\n // Therefore if the branch is still here, dead code elimination wasn't\n // properly applied.\n // Don't change the message. React DevTools relies on it. Also make sure\n // this message doesn't occur elsewhere in this function, or it will cause\n // a false positive.\n throw new Error('^_^');\n }\n try {\n // Verify that the code above has been dead code eliminated (DCE'd).\n __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(checkDCE);\n } catch (err) {\n // DevTools shouldn't crash React, no matter what.\n // We should still report in case we break this code.\n console.error(err);\n }\n}\n\nif (process.env.NODE_ENV === 'production') {\n // DCE check should happen before ReactDOM bundle executes so that\n // DevTools can report bad minification during injection.\n checkDCE();\n module.exports = require('./cjs/react-dom.production.min.js');\n} else {\n module.exports = require('./cjs/react-dom.development.js');\n}\n","export function getEnv() {\n if (typeof process !== 'undefined' && process.env.NODE_ENV) {\n return process.env.NODE_ENV;\n }\n return 'development';\n}\nexport function isEnv(env) {\n return getEnv() === env;\n}\nexport function isProduction() {\n return isEnv('production') === true;\n}\nexport function isDevelopment() {\n return isEnv('development') === true;\n}\nexport function isTest() {\n return isEnv('test') === true;\n}\n//# sourceMappingURL=environment.js.map","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar emptyObject = {};\n\nif (process.env.NODE_ENV !== 'production') {\n Object.freeze(emptyObject);\n}\n\nmodule.exports = emptyObject;","(function (global, factory) {\n\ttypeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('react'), require('prop-types'), require('lodash.flowright')) :\n\ttypeof define === 'function' && define.amd ? define(['exports', 'react', 'prop-types', 'lodash.flowright'], factory) :\n\t(factory((global['react-apollo'] = {}),global.React,global.PropTypes,global.lodash_flowright));\n}(this, (function (exports,React,PropTypes,lodash_flowright) { 'use strict';\n\nfunction shallowEqual(objA, objB) {\n if (!objA || !objB)\n return false;\n if (objA === objB)\n return true;\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n if (keysA.length !== keysB.length)\n return false;\n var hasOwn = Object.prototype.hasOwnProperty;\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwn.call(objB, keysA[i]) || objA[keysA[i]] !== objB[keysA[i]]) {\n return false;\n }\n }\n return true;\n}\n\nvar __assign = (undefined && undefined.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar __rest = (undefined && undefined.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nvar ObservableQueryRecycler = (function () {\n function ObservableQueryRecycler() {\n this.observableQueries = [];\n }\n ObservableQueryRecycler.prototype.recycle = function (observableQuery) {\n observableQuery.setOptions({\n fetchPolicy: 'standby',\n pollInterval: 0,\n fetchResults: false,\n });\n this.observableQueries.push({\n observableQuery: observableQuery,\n subscription: observableQuery.subscribe({}),\n });\n };\n ObservableQueryRecycler.prototype.reuse = function (options) {\n if (this.observableQueries.length <= 0) {\n return null;\n }\n var _a = this.observableQueries.pop(), observableQuery = _a.observableQuery, subscription = _a.subscription;\n subscription.unsubscribe();\n var ssr = options.ssr, skip = options.skip, client = options.client, modifiableOpts = __rest(options, [\"ssr\", \"skip\", \"client\"]);\n if (!shallowEqual(modifiableOpts.variables || {}, observableQuery.variables))\n return null;\n observableQuery.setOptions(__assign({}, modifiableOpts, { pollInterval: options.pollInterval, fetchPolicy: options.fetchPolicy }));\n return observableQuery;\n };\n return ObservableQueryRecycler;\n}());\n\nvar __extends$1 = (undefined && undefined.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar QueryRecyclerProvider = (function (_super) {\n __extends$1(QueryRecyclerProvider, _super);\n function QueryRecyclerProvider(props) {\n var _this = _super.call(this, props) || this;\n _this.recyclers = new WeakMap();\n _this.getQueryRecycler = _this.getQueryRecycler.bind(_this);\n return _this;\n }\n QueryRecyclerProvider.prototype.componentWillReceiveProps = function (_, nextContext) {\n if (this.context.client !== nextContext.client) {\n this.recyclers = new WeakMap();\n }\n };\n QueryRecyclerProvider.prototype.getQueryRecycler = function (component) {\n if (!this.recyclers.has(component)) {\n this.recyclers.set(component, new ObservableQueryRecycler());\n }\n return this.recyclers.get(component);\n };\n QueryRecyclerProvider.prototype.getChildContext = function () {\n return {\n getQueryRecycler: this.getQueryRecycler,\n };\n };\n QueryRecyclerProvider.prototype.render = function () {\n return React.Children.only(this.props.children);\n };\n QueryRecyclerProvider.propTypes = {\n children: PropTypes.element.isRequired,\n };\n QueryRecyclerProvider.contextTypes = {\n client: PropTypes.object,\n };\n QueryRecyclerProvider.childContextTypes = {\n getQueryRecycler: PropTypes.func.isRequired,\n };\n return QueryRecyclerProvider;\n}(React.Component));\n\nvar __extends = (undefined && undefined.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar invariant = require('invariant');\nvar ApolloProvider = (function (_super) {\n __extends(ApolloProvider, _super);\n function ApolloProvider(props, context) {\n var _this = _super.call(this, props, context) || this;\n invariant(props.client, 'ApolloClient was not passed a client instance. Make ' +\n 'sure you pass in your client via the \"client\" prop.');\n return _this;\n }\n ApolloProvider.prototype.getChildContext = function () {\n return {\n client: this.props.client,\n };\n };\n ApolloProvider.prototype.render = function () {\n return (React.createElement(QueryRecyclerProvider, null, React.Children.only(this.props.children)));\n };\n ApolloProvider.propTypes = {\n client: PropTypes.object.isRequired,\n children: PropTypes.element.isRequired,\n };\n ApolloProvider.childContextTypes = {\n client: PropTypes.object.isRequired,\n };\n return ApolloProvider;\n}(React.Component));\n\nvar invariant$2 = require('invariant');\nvar DocumentType;\n(function (DocumentType) {\n DocumentType[DocumentType[\"Query\"] = 0] = \"Query\";\n DocumentType[DocumentType[\"Mutation\"] = 1] = \"Mutation\";\n DocumentType[DocumentType[\"Subscription\"] = 2] = \"Subscription\";\n})(DocumentType || (DocumentType = {}));\nfunction parser(document) {\n var variables, type, name;\n invariant$2(!!document && !!document.kind, \"Argument of \" + document + \" passed to parser was not a valid GraphQL DocumentNode. You may need to use 'graphql-tag' or another method to convert your operation into a document\");\n var fragments = document.definitions.filter(function (x) { return x.kind === 'FragmentDefinition'; });\n var queries = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'query';\n });\n var mutations = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'mutation';\n });\n var subscriptions = document.definitions.filter(function (x) {\n return x.kind === 'OperationDefinition' && x.operation === 'subscription';\n });\n invariant$2(!fragments.length ||\n (queries.length || mutations.length || subscriptions.length), \"Passing only a fragment to 'graphql' is not yet supported. You must include a query, subscription or mutation as well\");\n invariant$2(queries.length + mutations.length + subscriptions.length <= 1, \"react-apollo only supports a query, subscription, or a mutation per HOC. \" + document + \" had \" + queries.length + \" queries, \" + subscriptions.length + \" subscriptions and \" + mutations.length + \" mutations. You can use 'compose' to join multiple operation types to a component\");\n type = queries.length ? DocumentType.Query : DocumentType.Mutation;\n if (!queries.length && !mutations.length)\n type = DocumentType.Subscription;\n var definitions = queries.length\n ? queries\n : mutations.length ? mutations : subscriptions;\n invariant$2(definitions.length === 1, \"react-apollo only supports one defintion per HOC. \" + document + \" had \" + definitions.length + \" definitions. You can use 'compose' to join multiple operation types to a component\");\n var definition = definitions[0];\n variables = definition.variableDefinitions || [];\n var hasName = definition.name && definition.name.kind === 'Name';\n name = hasName ? definition.name.value : 'data';\n return { name: name, type: type, variables: variables };\n}\n\nvar __extends$2 = (undefined && undefined.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign$1 = (undefined && undefined.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar invariant$1 = require('invariant');\nvar assign = require('object-assign');\nvar pick = require('lodash.pick');\nvar hoistNonReactStatics = require('hoist-non-react-statics');\nvar defaultMapPropsToOptions = function () { return ({}); };\nvar defaultMapResultToProps = function (props) { return props; };\nvar defaultMapPropsToSkip = function () { return false; };\nfunction observableQueryFields(observable) {\n var fields = pick(observable, 'variables', 'refetch', 'fetchMore', 'updateQuery', 'startPolling', 'stopPolling', 'subscribeToMore');\n Object.keys(fields).forEach(function (key) {\n if (typeof fields[key] === 'function') {\n fields[key] = fields[key].bind(observable);\n }\n });\n return fields;\n}\nfunction getDisplayName(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\nvar nextVersion = 0;\nfunction graphql(document, operationOptions) {\n if (operationOptions === void 0) { operationOptions = {}; }\n var _a = operationOptions.options, options = _a === void 0 ? defaultMapPropsToOptions : _a, _b = operationOptions.skip, skip = _b === void 0 ? defaultMapPropsToSkip : _b, _c = operationOptions.alias, alias = _c === void 0 ? 'Apollo' : _c;\n var mapPropsToOptions = options;\n if (typeof mapPropsToOptions !== 'function')\n mapPropsToOptions = function () { return options; };\n var mapPropsToSkip = skip;\n if (typeof mapPropsToSkip !== 'function')\n mapPropsToSkip = function () { return skip; };\n var mapResultToProps = operationOptions.props;\n var operation = parser(document);\n var version = nextVersion++;\n function wrapWithApolloComponent(WrappedComponent) {\n var graphQLDisplayName = alias + \"(\" + getDisplayName(WrappedComponent) + \")\";\n var GraphQL = (function (_super) {\n __extends$2(GraphQL, _super);\n function GraphQL(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this.previousData = {};\n _this.version = version;\n _this.type = operation.type;\n _this.dataForChildViaMutation = _this.dataForChildViaMutation.bind(_this);\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);\n return _this;\n }\n GraphQL.prototype.componentWillMount = function () {\n if (!this.shouldSkip(this.props)) {\n this.setInitialProps();\n }\n };\n GraphQL.prototype.componentDidMount = function () {\n this.hasMounted = true;\n if (this.type === DocumentType.Mutation)\n return;\n if (!this.shouldSkip(this.props)) {\n this.subscribeToQuery();\n if (this.refetcherQueue) {\n var _a = this.refetcherQueue, args = _a.args, resolve = _a.resolve, reject = _a.reject;\n this.queryObservable\n .refetch(args)\n .then(resolve)\n .catch(reject);\n }\n }\n };\n GraphQL.prototype.componentWillReceiveProps = function (nextProps, nextContext) {\n if (this.shouldSkip(nextProps)) {\n if (!this.shouldSkip(this.props)) {\n this.unsubscribeFromQuery();\n }\n return;\n }\n var client = mapPropsToOptions(nextProps).client;\n if (shallowEqual(this.props, nextProps) &&\n (this.client === client || this.client === nextContext.client)) {\n return;\n }\n this.shouldRerender = true;\n if (this.client !== client && this.client !== nextContext.client) {\n if (client) {\n this.client = client;\n }\n else {\n this.client = nextContext.client;\n }\n this.unsubscribeFromQuery();\n this.queryObservable = null;\n this.previousData = {};\n this.updateQuery(nextProps);\n if (!this.shouldSkip(nextProps)) {\n this.subscribeToQuery();\n }\n return;\n }\n if (this.type === DocumentType.Mutation) {\n return;\n }\n if (this.type === DocumentType.Subscription &&\n operationOptions.shouldResubscribe &&\n operationOptions.shouldResubscribe(this.props, nextProps)) {\n this.unsubscribeFromQuery();\n delete this.queryObservable;\n this.updateQuery(nextProps);\n this.subscribeToQuery();\n return;\n }\n this.updateQuery(nextProps);\n this.subscribeToQuery();\n };\n GraphQL.prototype.componentWillUnmount = function () {\n if (this.type === DocumentType.Query) {\n if (this.queryObservable) {\n var recycler = this.getQueryRecycler();\n if (recycler) {\n recycler.recycle(this.queryObservable);\n delete this.queryObservable;\n }\n }\n this.unsubscribeFromQuery();\n }\n if (this.type === DocumentType.Subscription)\n this.unsubscribeFromQuery();\n this.hasMounted = false;\n };\n GraphQL.prototype.getQueryRecycler = function () {\n return (this.context.getQueryRecycler &&\n this.context.getQueryRecycler(GraphQL));\n };\n GraphQL.prototype.getClient = function (props) {\n if (this.client)\n return this.client;\n var client = mapPropsToOptions(props).client;\n if (client) {\n this.client = client;\n }\n else {\n this.client = this.context.client;\n }\n invariant$1(!!this.client, \"Could not find \\\"client\\\" in the context of \" +\n (\"\\\"\" + graphQLDisplayName + \"\\\". \") +\n \"Wrap the root component in an <ApolloProvider>\");\n return this.client;\n };\n GraphQL.prototype.calculateOptions = function (props, newOpts) {\n if (props === void 0) { props = this.props; }\n var opts = mapPropsToOptions(props);\n if (newOpts && newOpts.variables) {\n newOpts.variables = assign({}, opts.variables, newOpts.variables);\n }\n if (newOpts)\n opts = assign({}, opts, newOpts);\n if (opts.variables || !operation.variables.length)\n return opts;\n var variables = {};\n for (var _i = 0, _a = operation.variables; _i < _a.length; _i++) {\n var _b = _a[_i], variable = _b.variable, type = _b.type;\n if (!variable.name || !variable.name.value)\n continue;\n if (typeof props[variable.name.value] !== 'undefined') {\n variables[variable.name.value] = props[variable.name.value];\n continue;\n }\n if (type.kind !== 'NonNullType') {\n variables[variable.name.value] = null;\n continue;\n }\n invariant$1(typeof props[variable.name.value] !== 'undefined', \"The operation '\" + operation.name + \"' wrapping '\" + getDisplayName(WrappedComponent) + \"' \" +\n (\"is expecting a variable: '\" + variable.name.value + \"' but it was not found in the props \") +\n (\"passed to '\" + graphQLDisplayName + \"'\"));\n }\n opts = __assign$1({}, opts, { variables: variables });\n return opts;\n };\n GraphQL.prototype.calculateResultProps = function (result) {\n var name = this.type === DocumentType.Mutation ? 'mutate' : 'data';\n if (operationOptions.name)\n name = operationOptions.name;\n var newResult = (_a = {},\n _a[name] = result,\n _a.ownProps = this.props,\n _a);\n if (mapResultToProps)\n return mapResultToProps(newResult);\n return _b = {}, _b[name] = defaultMapResultToProps(result), _b;\n var _a, _b;\n };\n GraphQL.prototype.setInitialProps = function () {\n if (this.type === DocumentType.Mutation) {\n return;\n }\n var opts = this.calculateOptions(this.props);\n this.createQuery(opts);\n };\n GraphQL.prototype.createQuery = function (opts, props) {\n if (props === void 0) { props = this.props; }\n if (this.type === DocumentType.Subscription) {\n this.queryObservable = this.getClient(props).subscribe(assign({ query: document }, opts));\n }\n else {\n var recycler = this.getQueryRecycler();\n var queryObservable = null;\n if (recycler)\n queryObservable = recycler.reuse(opts);\n if (queryObservable === null) {\n this.queryObservable = this.getClient(props).watchQuery(assign({\n query: document,\n metadata: {\n reactComponent: {\n displayName: graphQLDisplayName,\n },\n },\n }, opts));\n }\n else {\n this.queryObservable = queryObservable;\n }\n }\n };\n GraphQL.prototype.updateQuery = function (props) {\n var opts = this.calculateOptions(props);\n if (!this.queryObservable) {\n this.createQuery(opts, props);\n }\n if (this.queryObservable._setOptionsNoResult) {\n this.queryObservable._setOptionsNoResult(opts);\n }\n else {\n if (this.queryObservable.setOptions) {\n this.queryObservable\n .setOptions(opts)\n .catch(function () { return null; });\n }\n }\n };\n GraphQL.prototype.fetchData = function () {\n if (this.shouldSkip())\n return false;\n if (operation.type === DocumentType.Mutation ||\n operation.type === DocumentType.Subscription)\n return false;\n var opts = this.calculateOptions();\n if (opts.ssr === false)\n return false;\n if (opts.fetchPolicy === 'network-only' ||\n opts.fetchPolicy === 'cache-and-network') {\n opts.fetchPolicy = 'cache-first';\n }\n var observable = this.getClient(this.props).watchQuery(assign({ query: document }, opts));\n var result = observable.currentResult();\n if (result.loading) {\n return observable.result();\n }\n else {\n return false;\n }\n };\n GraphQL.prototype.subscribeToQuery = function () {\n var _this = this;\n if (this.querySubscription) {\n return;\n }\n var next = function (results) {\n if (_this.type === DocumentType.Subscription) {\n _this.lastSubscriptionData = results;\n }\n var clashingKeys = Object.keys(observableQueryFields(results.data));\n invariant$1(clashingKeys.length === 0, \"the result of the '\" + graphQLDisplayName + \"' operation contains keys that \" +\n \"conflict with the return object.\" +\n clashingKeys.map(function (k) { return \"'\" + k + \"'\"; }).join(', ') +\n \" not allowed.\");\n _this.forceRenderChildren();\n };\n var handleError = function (error) {\n if (error.hasOwnProperty('graphQLErrors'))\n return next({ error: error });\n throw error;\n };\n this.querySubscription = this.queryObservable.subscribe({\n next: next,\n error: handleError,\n });\n };\n GraphQL.prototype.unsubscribeFromQuery = function () {\n if (this.querySubscription) {\n this.querySubscription.unsubscribe();\n delete this.querySubscription;\n }\n };\n GraphQL.prototype.shouldSkip = function (props) {\n if (props === void 0) { props = this.props; }\n return (mapPropsToSkip(props) || mapPropsToOptions(props).skip);\n };\n GraphQL.prototype.forceRenderChildren = function () {\n this.shouldRerender = true;\n if (this.hasMounted)\n this.forceUpdate();\n };\n GraphQL.prototype.getWrappedInstance = function () {\n invariant$1(operationOptions.withRef, \"To access the wrapped instance, you need to specify \" +\n \"{ withRef: true } in the options\");\n return this.wrappedInstance;\n };\n GraphQL.prototype.setWrappedInstance = function (ref) {\n this.wrappedInstance = ref;\n };\n GraphQL.prototype.dataForChildViaMutation = function (mutationOpts) {\n var opts = this.calculateOptions(this.props, mutationOpts);\n if (typeof opts.variables === 'undefined')\n delete opts.variables;\n opts.mutation = document;\n return this.getClient(this.props).mutate(opts);\n };\n GraphQL.prototype.dataForChild = function () {\n var _this = this;\n if (this.type === DocumentType.Mutation) {\n return this.dataForChildViaMutation;\n }\n var opts = this.calculateOptions(this.props);\n var data = {};\n assign(data, observableQueryFields(this.queryObservable));\n if (this.type === DocumentType.Subscription) {\n assign(data, {\n loading: !this.lastSubscriptionData,\n variables: opts.variables,\n }, this.lastSubscriptionData && this.lastSubscriptionData.data);\n }\n else {\n var currentResult = this.queryObservable.currentResult();\n var loading = currentResult.loading, error_1 = currentResult.error, networkStatus = currentResult.networkStatus;\n assign(data, { loading: loading, networkStatus: networkStatus });\n var logErrorTimeoutId_1 = setTimeout(function () {\n if (error_1) {\n console.error(\"Unhandled (in react-apollo:\" + graphQLDisplayName + \")\", error_1.stack || error_1);\n }\n }, 10);\n Object.defineProperty(data, 'error', {\n configurable: true,\n enumerable: true,\n get: function () {\n clearTimeout(logErrorTimeoutId_1);\n return error_1;\n },\n });\n if (loading) {\n assign(data, this.previousData, currentResult.data);\n }\n else if (error_1) {\n assign(data, (this.queryObservable.getLastResult() || {}).data);\n }\n else {\n assign(data, currentResult.data);\n this.previousData = currentResult.data;\n }\n if (!this.querySubscription) {\n data.refetch = function (args) {\n return new Promise(function (r, f) {\n _this.refetcherQueue = { resolve: r, reject: f, args: args };\n });\n };\n }\n }\n return data;\n };\n GraphQL.prototype.render = function () {\n if (this.shouldSkip()) {\n if (operationOptions.withRef) {\n return React.createElement(WrappedComponent, assign({}, this.props, { ref: this.setWrappedInstance }));\n }\n return React.createElement(WrappedComponent, this.props);\n }\n var _a = this, shouldRerender = _a.shouldRerender, renderedElement = _a.renderedElement, props = _a.props;\n this.shouldRerender = false;\n if (!shouldRerender &&\n renderedElement &&\n renderedElement.type === WrappedComponent) {\n return renderedElement;\n }\n var data = this.dataForChild();\n var clientProps = this.calculateResultProps(data);\n var mergedPropsAndData = assign({}, props, clientProps);\n if (operationOptions.withRef)\n mergedPropsAndData.ref = this.setWrappedInstance;\n this.renderedElement = React.createElement(WrappedComponent, mergedPropsAndData);\n return this.renderedElement;\n };\n GraphQL.displayName = graphQLDisplayName;\n GraphQL.WrappedComponent = WrappedComponent;\n GraphQL.contextTypes = {\n client: PropTypes.object,\n getQueryRecycler: PropTypes.func,\n };\n return GraphQL;\n }(React.Component));\n return hoistNonReactStatics(GraphQL, WrappedComponent, {});\n }\n return wrapWithApolloComponent;\n}\n\nvar __extends$3 = (undefined && undefined.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar invariant$3 = require('invariant');\nvar assign$1 = require('object-assign');\nvar hoistNonReactStatics$1 = require('hoist-non-react-statics');\nfunction getDisplayName$1(WrappedComponent) {\n return WrappedComponent.displayName || WrappedComponent.name || 'Component';\n}\nfunction withApollo(WrappedComponent, operationOptions) {\n if (operationOptions === void 0) { operationOptions = {}; }\n var withDisplayName = \"withApollo(\" + getDisplayName$1(WrappedComponent) + \")\";\n var WithApollo = (function (_super) {\n __extends$3(WithApollo, _super);\n function WithApollo(props, context) {\n var _this = _super.call(this, props, context) || this;\n _this.client = context.client;\n _this.setWrappedInstance = _this.setWrappedInstance.bind(_this);\n invariant$3(!!_this.client, \"Could not find \\\"client\\\" in the context of \" +\n (\"\\\"\" + withDisplayName + \"\\\". \") +\n \"Wrap the root component in an <ApolloProvider>\");\n return _this;\n }\n WithApollo.prototype.getWrappedInstance = function () {\n invariant$3(operationOptions.withRef, \"To access the wrapped instance, you need to specify \" +\n \"{ withRef: true } in the options\");\n return this.wrappedInstance;\n };\n WithApollo.prototype.setWrappedInstance = function (ref) {\n this.wrappedInstance = ref;\n };\n WithApollo.prototype.render = function () {\n var props = assign$1({}, this.props);\n props.client = this.client;\n if (operationOptions.withRef)\n props.ref = this.setWrappedInstance;\n return React.createElement(WrappedComponent, props);\n };\n WithApollo.displayName = withDisplayName;\n WithApollo.WrappedComponent = WrappedComponent;\n WithApollo.contextTypes = { client: PropTypes.object.isRequired };\n return WithApollo;\n }(React.Component));\n return hoistNonReactStatics$1(WithApollo, WrappedComponent, {});\n}\n\nvar assign$2 = require('object-assign');\nfunction walkTree(element$$1, context, visitor) {\n if (Array.isArray(element$$1)) {\n element$$1.forEach(function (item) { return walkTree(item, context, visitor); });\n return;\n }\n if (element$$1 == null)\n return;\n var Component$$1 = element$$1.type;\n if (typeof Component$$1 === 'function') {\n var props = assign$2({}, Component$$1.defaultProps, element$$1.props);\n var childContext = context;\n var child = void 0;\n if (Component$$1.prototype && Component$$1.prototype.isReactComponent) {\n var _component = Component$$1;\n var instance_1 = new _component(props, context);\n instance_1.props = instance_1.props || props;\n instance_1.context = instance_1.context || context;\n instance_1.state = instance_1.state || null;\n instance_1.setState = function (newState) {\n if (typeof newState === 'function') {\n newState = newState(instance_1.state, instance_1.props, instance_1.context);\n }\n instance_1.state = assign$2({}, instance_1.state, newState);\n };\n if (instance_1.componentWillMount) {\n instance_1.componentWillMount();\n }\n if (instance_1.getChildContext) {\n childContext = assign$2({}, context, instance_1.getChildContext());\n }\n if (visitor(element$$1, instance_1, context) === false) {\n return;\n }\n child = instance_1.render();\n }\n else {\n if (visitor(element$$1, null, context) === false) {\n return;\n }\n var _component = Component$$1;\n child = _component(props, context);\n }\n if (child) {\n if (Array.isArray(child)) {\n child.forEach(function (item) { return walkTree(item, context, visitor); });\n }\n else {\n walkTree(child, childContext, visitor);\n }\n }\n }\n else {\n if (visitor(element$$1, null, context) === false) {\n return;\n }\n if (element$$1.props && element$$1.props.children) {\n React.Children.forEach(element$$1.props.children, function (child) {\n if (child) {\n walkTree(child, context, visitor);\n }\n });\n }\n }\n}\nfunction getQueriesFromTree(_a, fetchRoot) {\n var rootElement = _a.rootElement, _b = _a.rootContext, rootContext = _b === void 0 ? {} : _b;\n if (fetchRoot === void 0) { fetchRoot = true; }\n var queries = [];\n walkTree(rootElement, rootContext, function (element$$1, instance, context) {\n var skipRoot = !fetchRoot && element$$1 === rootElement;\n if (instance && typeof instance.fetchData === 'function' && !skipRoot) {\n var query = instance.fetchData();\n if (query) {\n queries.push({ query: query, element: element$$1, context: context });\n return false;\n }\n }\n });\n return queries;\n}\nfunction getDataFromTree(rootElement, rootContext, fetchRoot) {\n if (rootContext === void 0) { rootContext = {}; }\n if (fetchRoot === void 0) { fetchRoot = true; }\n var queries = getQueriesFromTree({ rootElement: rootElement, rootContext: rootContext }, fetchRoot);\n if (!queries.length)\n return Promise.resolve();\n var errors = [];\n var mappedQueries = queries.map(function (_a) {\n var query = _a.query, element$$1 = _a.element, context = _a.context;\n return query\n .then(function (_) { return getDataFromTree(element$$1, context, false); })\n .catch(function (e) { return errors.push(e); });\n });\n return Promise.all(mappedQueries).then(function (_) {\n if (errors.length > 0) {\n var error = errors.length === 1\n ? errors[0]\n : new Error(errors.length + \" errors were thrown when executing your GraphQL queries.\");\n error.queryErrors = errors;\n throw error;\n }\n });\n}\n\nexports.compose = lodash_flowright;\nexports.ApolloProvider = ApolloProvider;\nexports.graphql = graphql;\nexports.withApollo = withApollo;\nexports.getDataFromTree = getDataFromTree;\n\nObject.defineProperty(exports, '__esModule', { value: true });\n\n})));\n//# sourceMappingURL=react-apollo.browser.umd.js.map\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar invariant = function(condition, format, a, b, c, d, e, f) {\n if (process.env.NODE_ENV !== 'production') {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n }\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error(\n 'Minified exception occurred; use the non-minified dev environment ' +\n 'for the full error message and additional helpful warnings.'\n );\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(\n format.replace(/%s/g, function() { return args[argIndex++]; })\n );\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n};\n\nmodule.exports = invariant;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"query\",\"name\":{\"kind\":\"Name\",\"value\":\"GetComments\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableType\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"singleCommentId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"session\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"user\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nickname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatarUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"organizationName\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AddCommentFormSession\"},\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"commentable\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableType\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"acceptsNewComments\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userAllowedToComment\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"commentsHaveAlignment\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"commentsHaveVotes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"totalCommentsCount\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"comments\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"orderBy\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"singleCommentId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"singleCommentId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentThread\"},\"directives\":[]}]}},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"AddCommentFormCommentable\"},\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":864}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/add_comment_form_session.fragment.graphql\\\"\\n#import \\\"../fragments/comment_thread.fragment.graphql\\\"\\n#import \\\"../fragments/add_comment_form_commentable.fragment.graphql\\\"\\nquery GetComments($commentableId: String!, $commentableType: String!, $orderBy: String, $singleCommentId: String, $locale: String!, $toggleTranslations: Boolean!) {\\n session {\\n user {\\n name\\n nickname\\n avatarUrl\\n organizationName\\n }\\n ...AddCommentFormSession\\n }\\n commentable(id: $commentableId, type: $commentableType, locale: $locale, toggleTranslations: $toggleTranslations) {\\n acceptsNewComments\\n userAllowedToComment\\n commentsHaveAlignment\\n commentsHaveVotes\\n totalCommentsCount\\n comments(orderBy: $orderBy, singleCommentId: $singleCommentId) {\\n id\\n ...CommentThread\\n }\\n ...AddCommentFormCommentable\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/add_comment_form_session.fragment.graphql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"../fragments/comment_thread.fragment.graphql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"../fragments/add_comment_form_commentable.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n return doc.definitions.find(function(op) {\n return op.name ? op.name.value == name : false;\n });\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = Object.assign({}, doc);\n\n var op = findOperation(doc, operationName);\n newDoc.definitions = [op];\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set(opRefs);\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n\n module.exports = doc;\n \n module.exports[\"GetComments\"] = oneQuery(doc, \"GetComments\");\n \n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react.production.min.js');\n} else {\n module.exports = require('./cjs/react.development.js');\n}\n","/** @license React v16.2.0\n * react.production.min.js\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var m=require(\"object-assign\"),n=require(\"fbjs/lib/emptyObject\"),p=require(\"fbjs/lib/emptyFunction\"),q=\"function\"===typeof Symbol&&Symbol[\"for\"],r=q?Symbol[\"for\"](\"react.element\"):60103,t=q?Symbol[\"for\"](\"react.call\"):60104,u=q?Symbol[\"for\"](\"react.return\"):60105,v=q?Symbol[\"for\"](\"react.portal\"):60106,w=q?Symbol[\"for\"](\"react.fragment\"):60107,x=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction y(a){for(var b=arguments.length-1,e=\"Minified React error #\"+a+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant\\x3d\"+a,c=0;c<b;c++)e+=\"\\x26args[]\\x3d\"+encodeURIComponent(arguments[c+1]);b=Error(e+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");b.name=\"Invariant Violation\";b.framesToPop=1;throw b;}\nvar z={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}};function A(a,b,e){this.props=a;this.context=b;this.refs=n;this.updater=e||z}A.prototype.isReactComponent={};A.prototype.setState=function(a,b){\"object\"!==typeof a&&\"function\"!==typeof a&&null!=a?y(\"85\"):void 0;this.updater.enqueueSetState(this,a,b,\"setState\")};A.prototype.forceUpdate=function(a){this.updater.enqueueForceUpdate(this,a,\"forceUpdate\")};\nfunction B(a,b,e){this.props=a;this.context=b;this.refs=n;this.updater=e||z}function C(){}C.prototype=A.prototype;var D=B.prototype=new C;D.constructor=B;m(D,A.prototype);D.isPureReactComponent=!0;function E(a,b,e){this.props=a;this.context=b;this.refs=n;this.updater=e||z}var F=E.prototype=new C;F.constructor=E;m(F,A.prototype);F.unstable_isAsyncReactComponent=!0;F.render=function(){return this.props.children};var G={current:null},H=Object.prototype.hasOwnProperty,I={key:!0,ref:!0,__self:!0,__source:!0};\nfunction J(a,b,e){var c,d={},g=null,k=null;if(null!=b)for(c in void 0!==b.ref&&(k=b.ref),void 0!==b.key&&(g=\"\"+b.key),b)H.call(b,c)&&!I.hasOwnProperty(c)&&(d[c]=b[c]);var f=arguments.length-2;if(1===f)d.children=e;else if(1<f){for(var h=Array(f),l=0;l<f;l++)h[l]=arguments[l+2];d.children=h}if(a&&a.defaultProps)for(c in f=a.defaultProps,f)void 0===d[c]&&(d[c]=f[c]);return{$$typeof:r,type:a,key:g,ref:k,props:d,_owner:G.current}}function K(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===r}\nfunction escape(a){var b={\"\\x3d\":\"\\x3d0\",\":\":\"\\x3d2\"};return\"$\"+(\"\"+a).replace(/[=:]/g,function(a){return b[a]})}var L=/\\/+/g,M=[];function N(a,b,e,c){if(M.length){var d=M.pop();d.result=a;d.keyPrefix=b;d.func=e;d.context=c;d.count=0;return d}return{result:a,keyPrefix:b,func:e,context:c,count:0}}function O(a){a.result=null;a.keyPrefix=null;a.func=null;a.context=null;a.count=0;10>M.length&&M.push(a)}\nfunction P(a,b,e,c){var d=typeof a;if(\"undefined\"===d||\"boolean\"===d)a=null;var g=!1;if(null===a)g=!0;else switch(d){case \"string\":case \"number\":g=!0;break;case \"object\":switch(a.$$typeof){case r:case t:case u:case v:g=!0}}if(g)return e(c,a,\"\"===b?\".\"+Q(a,0):b),1;g=0;b=\"\"===b?\".\":b+\":\";if(Array.isArray(a))for(var k=0;k<a.length;k++){d=a[k];var f=b+Q(d,k);g+=P(d,f,e,c)}else if(null===a||\"undefined\"===typeof a?f=null:(f=x&&a[x]||a[\"@@iterator\"],f=\"function\"===typeof f?f:null),\"function\"===typeof f)for(a=\nf.call(a),k=0;!(d=a.next()).done;)d=d.value,f=b+Q(d,k++),g+=P(d,f,e,c);else\"object\"===d&&(e=\"\"+a,y(\"31\",\"[object Object]\"===e?\"object with keys {\"+Object.keys(a).join(\", \")+\"}\":e,\"\"));return g}function Q(a,b){return\"object\"===typeof a&&null!==a&&null!=a.key?escape(a.key):b.toString(36)}function R(a,b){a.func.call(a.context,b,a.count++)}\nfunction S(a,b,e){var c=a.result,d=a.keyPrefix;a=a.func.call(a.context,b,a.count++);Array.isArray(a)?T(a,c,e,p.thatReturnsArgument):null!=a&&(K(a)&&(b=d+(!a.key||b&&b.key===a.key?\"\":(\"\"+a.key).replace(L,\"$\\x26/\")+\"/\")+e,a={$$typeof:r,type:a.type,key:b,ref:a.ref,props:a.props,_owner:a._owner}),c.push(a))}function T(a,b,e,c,d){var g=\"\";null!=e&&(g=(\"\"+e).replace(L,\"$\\x26/\")+\"/\");b=N(b,g,c,d);null==a||P(a,\"\",S,b);O(b)}\nvar U={Children:{map:function(a,b,e){if(null==a)return a;var c=[];T(a,c,null,b,e);return c},forEach:function(a,b,e){if(null==a)return a;b=N(null,null,b,e);null==a||P(a,\"\",R,b);O(b)},count:function(a){return null==a?0:P(a,\"\",p.thatReturnsNull,null)},toArray:function(a){var b=[];T(a,b,null,p.thatReturnsArgument);return b},only:function(a){K(a)?void 0:y(\"143\");return a}},Component:A,PureComponent:B,unstable_AsyncComponent:E,Fragment:w,createElement:J,cloneElement:function(a,b,e){var c=m({},a.props),\nd=a.key,g=a.ref,k=a._owner;if(null!=b){void 0!==b.ref&&(g=b.ref,k=G.current);void 0!==b.key&&(d=\"\"+b.key);if(a.type&&a.type.defaultProps)var f=a.type.defaultProps;for(h in b)H.call(b,h)&&!I.hasOwnProperty(h)&&(c[h]=void 0===b[h]&&void 0!==f?f[h]:b[h])}var h=arguments.length-2;if(1===h)c.children=e;else if(1<h){f=Array(h);for(var l=0;l<h;l++)f[l]=arguments[l+2];c.children=f}return{$$typeof:r,type:a.type,key:d,ref:g,props:c,_owner:k}},createFactory:function(a){var b=J.bind(null,a);b.type=a;return b},\nisValidElement:K,version:\"16.2.0\",__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{ReactCurrentOwner:G,assign:m}},V=Object.freeze({default:U}),W=V&&U||V;module.exports=W[\"default\"]?W[\"default\"]:W;\n","/** @license React v16.2.0\n * react-dom.production.min.js\n *\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n/*\n Modernizr 3.0.0pre (Custom Build) | MIT\n*/\n'use strict';var aa=require(\"react\"),l=require(\"fbjs/lib/ExecutionEnvironment\"),B=require(\"object-assign\"),C=require(\"fbjs/lib/emptyFunction\"),ba=require(\"fbjs/lib/EventListener\"),da=require(\"fbjs/lib/getActiveElement\"),ea=require(\"fbjs/lib/shallowEqual\"),fa=require(\"fbjs/lib/containsNode\"),ia=require(\"fbjs/lib/focusNode\"),D=require(\"fbjs/lib/emptyObject\");\nfunction E(a){for(var b=arguments.length-1,c=\"Minified React error #\"+a+\"; visit http://facebook.github.io/react/docs/error-decoder.html?invariant\\x3d\"+a,d=0;d<b;d++)c+=\"\\x26args[]\\x3d\"+encodeURIComponent(arguments[d+1]);b=Error(c+\" for the full message or use the non-minified dev environment for full errors and additional helpful warnings.\");b.name=\"Invariant Violation\";b.framesToPop=1;throw b;}aa?void 0:E(\"227\");\nvar oa={children:!0,dangerouslySetInnerHTML:!0,defaultValue:!0,defaultChecked:!0,innerHTML:!0,suppressContentEditableWarning:!0,suppressHydrationWarning:!0,style:!0};function pa(a,b){return(a&b)===b}\nvar ta={MUST_USE_PROPERTY:1,HAS_BOOLEAN_VALUE:4,HAS_NUMERIC_VALUE:8,HAS_POSITIVE_NUMERIC_VALUE:24,HAS_OVERLOADED_BOOLEAN_VALUE:32,HAS_STRING_BOOLEAN_VALUE:64,injectDOMPropertyConfig:function(a){var b=ta,c=a.Properties||{},d=a.DOMAttributeNamespaces||{},e=a.DOMAttributeNames||{};a=a.DOMMutationMethods||{};for(var f in c){ua.hasOwnProperty(f)?E(\"48\",f):void 0;var g=f.toLowerCase(),h=c[f];g={attributeName:g,attributeNamespace:null,propertyName:f,mutationMethod:null,mustUseProperty:pa(h,b.MUST_USE_PROPERTY),\nhasBooleanValue:pa(h,b.HAS_BOOLEAN_VALUE),hasNumericValue:pa(h,b.HAS_NUMERIC_VALUE),hasPositiveNumericValue:pa(h,b.HAS_POSITIVE_NUMERIC_VALUE),hasOverloadedBooleanValue:pa(h,b.HAS_OVERLOADED_BOOLEAN_VALUE),hasStringBooleanValue:pa(h,b.HAS_STRING_BOOLEAN_VALUE)};1>=g.hasBooleanValue+g.hasNumericValue+g.hasOverloadedBooleanValue?void 0:E(\"50\",f);e.hasOwnProperty(f)&&(g.attributeName=e[f]);d.hasOwnProperty(f)&&(g.attributeNamespace=d[f]);a.hasOwnProperty(f)&&(g.mutationMethod=a[f]);ua[f]=g}}},ua={};\nfunction va(a,b){if(oa.hasOwnProperty(a)||2<a.length&&(\"o\"===a[0]||\"O\"===a[0])&&(\"n\"===a[1]||\"N\"===a[1]))return!1;if(null===b)return!0;switch(typeof b){case \"boolean\":return oa.hasOwnProperty(a)?a=!0:(b=wa(a))?a=b.hasBooleanValue||b.hasStringBooleanValue||b.hasOverloadedBooleanValue:(a=a.toLowerCase().slice(0,5),a=\"data-\"===a||\"aria-\"===a),a;case \"undefined\":case \"number\":case \"string\":case \"object\":return!0;default:return!1}}function wa(a){return ua.hasOwnProperty(a)?ua[a]:null}\nvar xa=ta,ya=xa.MUST_USE_PROPERTY,K=xa.HAS_BOOLEAN_VALUE,za=xa.HAS_NUMERIC_VALUE,Aa=xa.HAS_POSITIVE_NUMERIC_VALUE,Ba=xa.HAS_OVERLOADED_BOOLEAN_VALUE,Ca=xa.HAS_STRING_BOOLEAN_VALUE,Da={Properties:{allowFullScreen:K,async:K,autoFocus:K,autoPlay:K,capture:Ba,checked:ya|K,cols:Aa,contentEditable:Ca,controls:K,\"default\":K,defer:K,disabled:K,download:Ba,draggable:Ca,formNoValidate:K,hidden:K,loop:K,multiple:ya|K,muted:ya|K,noValidate:K,open:K,playsInline:K,readOnly:K,required:K,reversed:K,rows:Aa,rowSpan:za,\nscoped:K,seamless:K,selected:ya|K,size:Aa,start:za,span:Aa,spellCheck:Ca,style:0,tabIndex:0,itemScope:K,acceptCharset:0,className:0,htmlFor:0,httpEquiv:0,value:Ca},DOMAttributeNames:{acceptCharset:\"accept-charset\",className:\"class\",htmlFor:\"for\",httpEquiv:\"http-equiv\"},DOMMutationMethods:{value:function(a,b){if(null==b)return a.removeAttribute(\"value\");\"number\"!==a.type||!1===a.hasAttribute(\"value\")?a.setAttribute(\"value\",\"\"+b):a.validity&&!a.validity.badInput&&a.ownerDocument.activeElement!==a&&\na.setAttribute(\"value\",\"\"+b)}}},Ea=xa.HAS_STRING_BOOLEAN_VALUE,M={xlink:\"http://www.w3.org/1999/xlink\",xml:\"http://www.w3.org/XML/1998/namespace\"},Ga={Properties:{autoReverse:Ea,externalResourcesRequired:Ea,preserveAlpha:Ea},DOMAttributeNames:{autoReverse:\"autoReverse\",externalResourcesRequired:\"externalResourcesRequired\",preserveAlpha:\"preserveAlpha\"},DOMAttributeNamespaces:{xlinkActuate:M.xlink,xlinkArcrole:M.xlink,xlinkHref:M.xlink,xlinkRole:M.xlink,xlinkShow:M.xlink,xlinkTitle:M.xlink,xlinkType:M.xlink,\nxmlBase:M.xml,xmlLang:M.xml,xmlSpace:M.xml}},Ha=/[\\-\\:]([a-z])/g;function Ia(a){return a[1].toUpperCase()}\n\"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode x-height xlink:actuate xlink:arcrole xlink:href xlink:role xlink:show xlink:title xlink:type xml:base xmlns:xlink xml:lang xml:space\".split(\" \").forEach(function(a){var b=a.replace(Ha,\nIa);Ga.Properties[b]=0;Ga.DOMAttributeNames[b]=a});xa.injectDOMPropertyConfig(Da);xa.injectDOMPropertyConfig(Ga);\nvar P={_caughtError:null,_hasCaughtError:!1,_rethrowError:null,_hasRethrowError:!1,injection:{injectErrorUtils:function(a){\"function\"!==typeof a.invokeGuardedCallback?E(\"197\"):void 0;Ja=a.invokeGuardedCallback}},invokeGuardedCallback:function(a,b,c,d,e,f,g,h,k){Ja.apply(P,arguments)},invokeGuardedCallbackAndCatchFirstError:function(a,b,c,d,e,f,g,h,k){P.invokeGuardedCallback.apply(this,arguments);if(P.hasCaughtError()){var q=P.clearCaughtError();P._hasRethrowError||(P._hasRethrowError=!0,P._rethrowError=\nq)}},rethrowCaughtError:function(){return Ka.apply(P,arguments)},hasCaughtError:function(){return P._hasCaughtError},clearCaughtError:function(){if(P._hasCaughtError){var a=P._caughtError;P._caughtError=null;P._hasCaughtError=!1;return a}E(\"198\")}};function Ja(a,b,c,d,e,f,g,h,k){P._hasCaughtError=!1;P._caughtError=null;var q=Array.prototype.slice.call(arguments,3);try{b.apply(c,q)}catch(v){P._caughtError=v,P._hasCaughtError=!0}}\nfunction Ka(){if(P._hasRethrowError){var a=P._rethrowError;P._rethrowError=null;P._hasRethrowError=!1;throw a;}}var La=null,Ma={};\nfunction Na(){if(La)for(var a in Ma){var b=Ma[a],c=La.indexOf(a);-1<c?void 0:E(\"96\",a);if(!Oa[c]){b.extractEvents?void 0:E(\"97\",a);Oa[c]=b;c=b.eventTypes;for(var d in c){var e=void 0;var f=c[d],g=b,h=d;Pa.hasOwnProperty(h)?E(\"99\",h):void 0;Pa[h]=f;var k=f.phasedRegistrationNames;if(k){for(e in k)k.hasOwnProperty(e)&&Qa(k[e],g,h);e=!0}else f.registrationName?(Qa(f.registrationName,g,h),e=!0):e=!1;e?void 0:E(\"98\",d,a)}}}}\nfunction Qa(a,b,c){Ra[a]?E(\"100\",a):void 0;Ra[a]=b;Sa[a]=b.eventTypes[c].dependencies}var Oa=[],Pa={},Ra={},Sa={};function Ta(a){La?E(\"101\"):void 0;La=Array.prototype.slice.call(a);Na()}function Ua(a){var b=!1,c;for(c in a)if(a.hasOwnProperty(c)){var d=a[c];Ma.hasOwnProperty(c)&&Ma[c]===d||(Ma[c]?E(\"102\",c):void 0,Ma[c]=d,b=!0)}b&&Na()}\nvar Va=Object.freeze({plugins:Oa,eventNameDispatchConfigs:Pa,registrationNameModules:Ra,registrationNameDependencies:Sa,possibleRegistrationNames:null,injectEventPluginOrder:Ta,injectEventPluginsByName:Ua}),Wa=null,Xa=null,Ya=null;function Za(a,b,c,d){b=a.type||\"unknown-event\";a.currentTarget=Ya(d);P.invokeGuardedCallbackAndCatchFirstError(b,c,void 0,a);a.currentTarget=null}\nfunction $a(a,b){null==b?E(\"30\"):void 0;if(null==a)return b;if(Array.isArray(a)){if(Array.isArray(b))return a.push.apply(a,b),a;a.push(b);return a}return Array.isArray(b)?[a].concat(b):[a,b]}function ab(a,b,c){Array.isArray(a)?a.forEach(b,c):a&&b.call(c,a)}var bb=null;\nfunction cb(a,b){if(a){var c=a._dispatchListeners,d=a._dispatchInstances;if(Array.isArray(c))for(var e=0;e<c.length&&!a.isPropagationStopped();e++)Za(a,b,c[e],d[e]);else c&&Za(a,b,c,d);a._dispatchListeners=null;a._dispatchInstances=null;a.isPersistent()||a.constructor.release(a)}}function db(a){return cb(a,!0)}function gb(a){return cb(a,!1)}var hb={injectEventPluginOrder:Ta,injectEventPluginsByName:Ua};\nfunction ib(a,b){var c=a.stateNode;if(!c)return null;var d=Wa(c);if(!d)return null;c=d[b];a:switch(b){case \"onClick\":case \"onClickCapture\":case \"onDoubleClick\":case \"onDoubleClickCapture\":case \"onMouseDown\":case \"onMouseDownCapture\":case \"onMouseMove\":case \"onMouseMoveCapture\":case \"onMouseUp\":case \"onMouseUpCapture\":(d=!d.disabled)||(a=a.type,d=!(\"button\"===a||\"input\"===a||\"select\"===a||\"textarea\"===a));a=!d;break a;default:a=!1}if(a)return null;c&&\"function\"!==typeof c?E(\"231\",b,typeof c):void 0;\nreturn c}function jb(a,b,c,d){for(var e,f=0;f<Oa.length;f++){var g=Oa[f];g&&(g=g.extractEvents(a,b,c,d))&&(e=$a(e,g))}return e}function kb(a){a&&(bb=$a(bb,a))}function lb(a){var b=bb;bb=null;b&&(a?ab(b,db):ab(b,gb),bb?E(\"95\"):void 0,P.rethrowCaughtError())}var mb=Object.freeze({injection:hb,getListener:ib,extractEvents:jb,enqueueEvents:kb,processEventQueue:lb}),nb=Math.random().toString(36).slice(2),Q=\"__reactInternalInstance$\"+nb,ob=\"__reactEventHandlers$\"+nb;\nfunction pb(a){if(a[Q])return a[Q];for(var b=[];!a[Q];)if(b.push(a),a.parentNode)a=a.parentNode;else return null;var c=void 0,d=a[Q];if(5===d.tag||6===d.tag)return d;for(;a&&(d=a[Q]);a=b.pop())c=d;return c}function qb(a){if(5===a.tag||6===a.tag)return a.stateNode;E(\"33\")}function rb(a){return a[ob]||null}\nvar sb=Object.freeze({precacheFiberNode:function(a,b){b[Q]=a},getClosestInstanceFromNode:pb,getInstanceFromNode:function(a){a=a[Q];return!a||5!==a.tag&&6!==a.tag?null:a},getNodeFromInstance:qb,getFiberCurrentPropsFromNode:rb,updateFiberProps:function(a,b){a[ob]=b}});function tb(a){do a=a[\"return\"];while(a&&5!==a.tag);return a?a:null}function ub(a,b,c){for(var d=[];a;)d.push(a),a=tb(a);for(a=d.length;0<a--;)b(d[a],\"captured\",c);for(a=0;a<d.length;a++)b(d[a],\"bubbled\",c)}\nfunction vb(a,b,c){if(b=ib(a,c.dispatchConfig.phasedRegistrationNames[b]))c._dispatchListeners=$a(c._dispatchListeners,b),c._dispatchInstances=$a(c._dispatchInstances,a)}function wb(a){a&&a.dispatchConfig.phasedRegistrationNames&&ub(a._targetInst,vb,a)}function xb(a){if(a&&a.dispatchConfig.phasedRegistrationNames){var b=a._targetInst;b=b?tb(b):null;ub(b,vb,a)}}\nfunction yb(a,b,c){a&&c&&c.dispatchConfig.registrationName&&(b=ib(a,c.dispatchConfig.registrationName))&&(c._dispatchListeners=$a(c._dispatchListeners,b),c._dispatchInstances=$a(c._dispatchInstances,a))}function zb(a){a&&a.dispatchConfig.registrationName&&yb(a._targetInst,null,a)}function Ab(a){ab(a,wb)}\nfunction Bb(a,b,c,d){if(c&&d)a:{var e=c;for(var f=d,g=0,h=e;h;h=tb(h))g++;h=0;for(var k=f;k;k=tb(k))h++;for(;0<g-h;)e=tb(e),g--;for(;0<h-g;)f=tb(f),h--;for(;g--;){if(e===f||e===f.alternate)break a;e=tb(e);f=tb(f)}e=null}else e=null;f=e;for(e=[];c&&c!==f;){g=c.alternate;if(null!==g&&g===f)break;e.push(c);c=tb(c)}for(c=[];d&&d!==f;){g=d.alternate;if(null!==g&&g===f)break;c.push(d);d=tb(d)}for(d=0;d<e.length;d++)yb(e[d],\"bubbled\",a);for(a=c.length;0<a--;)yb(c[a],\"captured\",b)}\nvar Cb=Object.freeze({accumulateTwoPhaseDispatches:Ab,accumulateTwoPhaseDispatchesSkipTarget:function(a){ab(a,xb)},accumulateEnterLeaveDispatches:Bb,accumulateDirectDispatches:function(a){ab(a,zb)}}),Db=null;function Eb(){!Db&&l.canUseDOM&&(Db=\"textContent\"in document.documentElement?\"textContent\":\"innerText\");return Db}var S={_root:null,_startText:null,_fallbackText:null};\nfunction Fb(){if(S._fallbackText)return S._fallbackText;var a,b=S._startText,c=b.length,d,e=Gb(),f=e.length;for(a=0;a<c&&b[a]===e[a];a++);var g=c-a;for(d=1;d<=g&&b[c-d]===e[f-d];d++);S._fallbackText=e.slice(a,1<d?1-d:void 0);return S._fallbackText}function Gb(){return\"value\"in S._root?S._root.value:S._root[Eb()]}\nvar Hb=\"dispatchConfig _targetInst nativeEvent isDefaultPrevented isPropagationStopped _dispatchListeners _dispatchInstances\".split(\" \"),Ib={type:null,target:null,currentTarget:C.thatReturnsNull,eventPhase:null,bubbles:null,cancelable:null,timeStamp:function(a){return a.timeStamp||Date.now()},defaultPrevented:null,isTrusted:null};\nfunction T(a,b,c,d){this.dispatchConfig=a;this._targetInst=b;this.nativeEvent=c;a=this.constructor.Interface;for(var e in a)a.hasOwnProperty(e)&&((b=a[e])?this[e]=b(c):\"target\"===e?this.target=d:this[e]=c[e]);this.isDefaultPrevented=(null!=c.defaultPrevented?c.defaultPrevented:!1===c.returnValue)?C.thatReturnsTrue:C.thatReturnsFalse;this.isPropagationStopped=C.thatReturnsFalse;return this}\nB(T.prototype,{preventDefault:function(){this.defaultPrevented=!0;var a=this.nativeEvent;a&&(a.preventDefault?a.preventDefault():\"unknown\"!==typeof a.returnValue&&(a.returnValue=!1),this.isDefaultPrevented=C.thatReturnsTrue)},stopPropagation:function(){var a=this.nativeEvent;a&&(a.stopPropagation?a.stopPropagation():\"unknown\"!==typeof a.cancelBubble&&(a.cancelBubble=!0),this.isPropagationStopped=C.thatReturnsTrue)},persist:function(){this.isPersistent=C.thatReturnsTrue},isPersistent:C.thatReturnsFalse,\ndestructor:function(){var a=this.constructor.Interface,b;for(b in a)this[b]=null;for(a=0;a<Hb.length;a++)this[Hb[a]]=null}});T.Interface=Ib;T.augmentClass=function(a,b){function c(){}c.prototype=this.prototype;var d=new c;B(d,a.prototype);a.prototype=d;a.prototype.constructor=a;a.Interface=B({},this.Interface,b);a.augmentClass=this.augmentClass;Jb(a)};Jb(T);function Kb(a,b,c,d){if(this.eventPool.length){var e=this.eventPool.pop();this.call(e,a,b,c,d);return e}return new this(a,b,c,d)}\nfunction Lb(a){a instanceof this?void 0:E(\"223\");a.destructor();10>this.eventPool.length&&this.eventPool.push(a)}function Jb(a){a.eventPool=[];a.getPooled=Kb;a.release=Lb}function Mb(a,b,c,d){return T.call(this,a,b,c,d)}T.augmentClass(Mb,{data:null});function Nb(a,b,c,d){return T.call(this,a,b,c,d)}T.augmentClass(Nb,{data:null});var Pb=[9,13,27,32],Vb=l.canUseDOM&&\"CompositionEvent\"in window,Wb=null;l.canUseDOM&&\"documentMode\"in document&&(Wb=document.documentMode);var Xb;\nif(Xb=l.canUseDOM&&\"TextEvent\"in window&&!Wb){var Yb=window.opera;Xb=!(\"object\"===typeof Yb&&\"function\"===typeof Yb.version&&12>=parseInt(Yb.version(),10))}\nvar Zb=Xb,$b=l.canUseDOM&&(!Vb||Wb&&8<Wb&&11>=Wb),ac=String.fromCharCode(32),bc={beforeInput:{phasedRegistrationNames:{bubbled:\"onBeforeInput\",captured:\"onBeforeInputCapture\"},dependencies:[\"topCompositionEnd\",\"topKeyPress\",\"topTextInput\",\"topPaste\"]},compositionEnd:{phasedRegistrationNames:{bubbled:\"onCompositionEnd\",captured:\"onCompositionEndCapture\"},dependencies:\"topBlur topCompositionEnd topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")},compositionStart:{phasedRegistrationNames:{bubbled:\"onCompositionStart\",\ncaptured:\"onCompositionStartCapture\"},dependencies:\"topBlur topCompositionStart topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")},compositionUpdate:{phasedRegistrationNames:{bubbled:\"onCompositionUpdate\",captured:\"onCompositionUpdateCapture\"},dependencies:\"topBlur topCompositionUpdate topKeyDown topKeyPress topKeyUp topMouseDown\".split(\" \")}},cc=!1;\nfunction dc(a,b){switch(a){case \"topKeyUp\":return-1!==Pb.indexOf(b.keyCode);case \"topKeyDown\":return 229!==b.keyCode;case \"topKeyPress\":case \"topMouseDown\":case \"topBlur\":return!0;default:return!1}}function ec(a){a=a.detail;return\"object\"===typeof a&&\"data\"in a?a.data:null}var fc=!1;function gc(a,b){switch(a){case \"topCompositionEnd\":return ec(b);case \"topKeyPress\":if(32!==b.which)return null;cc=!0;return ac;case \"topTextInput\":return a=b.data,a===ac&&cc?null:a;default:return null}}\nfunction hc(a,b){if(fc)return\"topCompositionEnd\"===a||!Vb&&dc(a,b)?(a=Fb(),S._root=null,S._startText=null,S._fallbackText=null,fc=!1,a):null;switch(a){case \"topPaste\":return null;case \"topKeyPress\":if(!(b.ctrlKey||b.altKey||b.metaKey)||b.ctrlKey&&b.altKey){if(b.char&&1<b.char.length)return b.char;if(b.which)return String.fromCharCode(b.which)}return null;case \"topCompositionEnd\":return $b?null:b.data;default:return null}}\nvar ic={eventTypes:bc,extractEvents:function(a,b,c,d){var e;if(Vb)b:{switch(a){case \"topCompositionStart\":var f=bc.compositionStart;break b;case \"topCompositionEnd\":f=bc.compositionEnd;break b;case \"topCompositionUpdate\":f=bc.compositionUpdate;break b}f=void 0}else fc?dc(a,c)&&(f=bc.compositionEnd):\"topKeyDown\"===a&&229===c.keyCode&&(f=bc.compositionStart);f?($b&&(fc||f!==bc.compositionStart?f===bc.compositionEnd&&fc&&(e=Fb()):(S._root=d,S._startText=Gb(),fc=!0)),f=Mb.getPooled(f,b,c,d),e?f.data=\ne:(e=ec(c),null!==e&&(f.data=e)),Ab(f),e=f):e=null;(a=Zb?gc(a,c):hc(a,c))?(b=Nb.getPooled(bc.beforeInput,b,c,d),b.data=a,Ab(b)):b=null;return[e,b]}},jc=null,kc=null,lc=null;function mc(a){if(a=Xa(a)){jc&&\"function\"===typeof jc.restoreControlledState?void 0:E(\"194\");var b=Wa(a.stateNode);jc.restoreControlledState(a.stateNode,a.type,b)}}var nc={injectFiberControlledHostComponent:function(a){jc=a}};function oc(a){kc?lc?lc.push(a):lc=[a]:kc=a}\nfunction pc(){if(kc){var a=kc,b=lc;lc=kc=null;mc(a);if(b)for(a=0;a<b.length;a++)mc(b[a])}}var qc=Object.freeze({injection:nc,enqueueStateRestore:oc,restoreStateIfNeeded:pc});function rc(a,b){return a(b)}var sc=!1;function tc(a,b){if(sc)return rc(a,b);sc=!0;try{return rc(a,b)}finally{sc=!1,pc()}}var uc={color:!0,date:!0,datetime:!0,\"datetime-local\":!0,email:!0,month:!0,number:!0,password:!0,range:!0,search:!0,tel:!0,text:!0,time:!0,url:!0,week:!0};\nfunction vc(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return\"input\"===b?!!uc[a.type]:\"textarea\"===b?!0:!1}function wc(a){a=a.target||a.srcElement||window;a.correspondingUseElement&&(a=a.correspondingUseElement);return 3===a.nodeType?a.parentNode:a}var xc;l.canUseDOM&&(xc=document.implementation&&document.implementation.hasFeature&&!0!==document.implementation.hasFeature(\"\",\"\"));\nfunction yc(a,b){if(!l.canUseDOM||b&&!(\"addEventListener\"in document))return!1;b=\"on\"+a;var c=b in document;c||(c=document.createElement(\"div\"),c.setAttribute(b,\"return;\"),c=\"function\"===typeof c[b]);!c&&xc&&\"wheel\"===a&&(c=document.implementation.hasFeature(\"Events.wheel\",\"3.0\"));return c}function zc(a){var b=a.type;return(a=a.nodeName)&&\"input\"===a.toLowerCase()&&(\"checkbox\"===b||\"radio\"===b)}\nfunction Ac(a){var b=zc(a)?\"checked\":\"value\",c=Object.getOwnPropertyDescriptor(a.constructor.prototype,b),d=\"\"+a[b];if(!a.hasOwnProperty(b)&&\"function\"===typeof c.get&&\"function\"===typeof c.set)return Object.defineProperty(a,b,{enumerable:c.enumerable,configurable:!0,get:function(){return c.get.call(this)},set:function(a){d=\"\"+a;c.set.call(this,a)}}),{getValue:function(){return d},setValue:function(a){d=\"\"+a},stopTracking:function(){a._valueTracker=null;delete a[b]}}}\nfunction Bc(a){a._valueTracker||(a._valueTracker=Ac(a))}function Cc(a){if(!a)return!1;var b=a._valueTracker;if(!b)return!0;var c=b.getValue();var d=\"\";a&&(d=zc(a)?a.checked?\"true\":\"false\":a.value);a=d;return a!==c?(b.setValue(a),!0):!1}var Dc={change:{phasedRegistrationNames:{bubbled:\"onChange\",captured:\"onChangeCapture\"},dependencies:\"topBlur topChange topClick topFocus topInput topKeyDown topKeyUp topSelectionChange\".split(\" \")}};\nfunction Ec(a,b,c){a=T.getPooled(Dc.change,a,b,c);a.type=\"change\";oc(c);Ab(a);return a}var Fc=null,Gc=null;function Hc(a){kb(a);lb(!1)}function Ic(a){var b=qb(a);if(Cc(b))return a}function Jc(a,b){if(\"topChange\"===a)return b}var Kc=!1;l.canUseDOM&&(Kc=yc(\"input\")&&(!document.documentMode||9<document.documentMode));function Lc(){Fc&&(Fc.detachEvent(\"onpropertychange\",Mc),Gc=Fc=null)}function Mc(a){\"value\"===a.propertyName&&Ic(Gc)&&(a=Ec(Gc,a,wc(a)),tc(Hc,a))}\nfunction Nc(a,b,c){\"topFocus\"===a?(Lc(),Fc=b,Gc=c,Fc.attachEvent(\"onpropertychange\",Mc)):\"topBlur\"===a&&Lc()}function Oc(a){if(\"topSelectionChange\"===a||\"topKeyUp\"===a||\"topKeyDown\"===a)return Ic(Gc)}function Pc(a,b){if(\"topClick\"===a)return Ic(b)}function $c(a,b){if(\"topInput\"===a||\"topChange\"===a)return Ic(b)}\nvar ad={eventTypes:Dc,_isInputEventSupported:Kc,extractEvents:function(a,b,c,d){var e=b?qb(b):window,f=e.nodeName&&e.nodeName.toLowerCase();if(\"select\"===f||\"input\"===f&&\"file\"===e.type)var g=Jc;else if(vc(e))if(Kc)g=$c;else{g=Oc;var h=Nc}else f=e.nodeName,!f||\"input\"!==f.toLowerCase()||\"checkbox\"!==e.type&&\"radio\"!==e.type||(g=Pc);if(g&&(g=g(a,b)))return Ec(g,c,d);h&&h(a,e,b);\"topBlur\"===a&&null!=b&&(a=b._wrapperState||e._wrapperState)&&a.controlled&&\"number\"===e.type&&(a=\"\"+e.value,e.getAttribute(\"value\")!==\na&&e.setAttribute(\"value\",a))}};function bd(a,b,c,d){return T.call(this,a,b,c,d)}T.augmentClass(bd,{view:null,detail:null});var cd={Alt:\"altKey\",Control:\"ctrlKey\",Meta:\"metaKey\",Shift:\"shiftKey\"};function dd(a){var b=this.nativeEvent;return b.getModifierState?b.getModifierState(a):(a=cd[a])?!!b[a]:!1}function ed(){return dd}function fd(a,b,c,d){return T.call(this,a,b,c,d)}\nbd.augmentClass(fd,{screenX:null,screenY:null,clientX:null,clientY:null,pageX:null,pageY:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,getModifierState:ed,button:null,buttons:null,relatedTarget:function(a){return a.relatedTarget||(a.fromElement===a.srcElement?a.toElement:a.fromElement)}});\nvar gd={mouseEnter:{registrationName:\"onMouseEnter\",dependencies:[\"topMouseOut\",\"topMouseOver\"]},mouseLeave:{registrationName:\"onMouseLeave\",dependencies:[\"topMouseOut\",\"topMouseOver\"]}},hd={eventTypes:gd,extractEvents:function(a,b,c,d){if(\"topMouseOver\"===a&&(c.relatedTarget||c.fromElement)||\"topMouseOut\"!==a&&\"topMouseOver\"!==a)return null;var e=d.window===d?d:(e=d.ownerDocument)?e.defaultView||e.parentWindow:window;\"topMouseOut\"===a?(a=b,b=(b=c.relatedTarget||c.toElement)?pb(b):null):a=null;if(a===\nb)return null;var f=null==a?e:qb(a);e=null==b?e:qb(b);var g=fd.getPooled(gd.mouseLeave,a,c,d);g.type=\"mouseleave\";g.target=f;g.relatedTarget=e;c=fd.getPooled(gd.mouseEnter,b,c,d);c.type=\"mouseenter\";c.target=e;c.relatedTarget=f;Bb(g,c,a,b);return[g,c]}},id=aa.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner;function jd(a){a=a.type;return\"string\"===typeof a?a:\"function\"===typeof a?a.displayName||a.name:null}\nfunction kd(a){var b=a;if(a.alternate)for(;b[\"return\"];)b=b[\"return\"];else{if(0!==(b.effectTag&2))return 1;for(;b[\"return\"];)if(b=b[\"return\"],0!==(b.effectTag&2))return 1}return 3===b.tag?2:3}function ld(a){return(a=a._reactInternalFiber)?2===kd(a):!1}function md(a){2!==kd(a)?E(\"188\"):void 0}\nfunction nd(a){var b=a.alternate;if(!b)return b=kd(a),3===b?E(\"188\"):void 0,1===b?null:a;for(var c=a,d=b;;){var e=c[\"return\"],f=e?e.alternate:null;if(!e||!f)break;if(e.child===f.child){for(var g=e.child;g;){if(g===c)return md(e),a;if(g===d)return md(e),b;g=g.sibling}E(\"188\")}if(c[\"return\"]!==d[\"return\"])c=e,d=f;else{g=!1;for(var h=e.child;h;){if(h===c){g=!0;c=e;d=f;break}if(h===d){g=!0;d=e;c=f;break}h=h.sibling}if(!g){for(h=f.child;h;){if(h===c){g=!0;c=f;d=e;break}if(h===d){g=!0;d=f;c=e;break}h=h.sibling}g?\nvoid 0:E(\"189\")}}c.alternate!==d?E(\"190\"):void 0}3!==c.tag?E(\"188\"):void 0;return c.stateNode.current===c?a:b}function od(a){a=nd(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child)b.child[\"return\"]=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b[\"return\"]||b[\"return\"]===a)return null;b=b[\"return\"]}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}return null}\nfunction pd(a){a=nd(a);if(!a)return null;for(var b=a;;){if(5===b.tag||6===b.tag)return b;if(b.child&&4!==b.tag)b.child[\"return\"]=b,b=b.child;else{if(b===a)break;for(;!b.sibling;){if(!b[\"return\"]||b[\"return\"]===a)return null;b=b[\"return\"]}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}return null}var qd=[];\nfunction rd(a){var b=a.targetInst;do{if(!b){a.ancestors.push(b);break}var c;for(c=b;c[\"return\"];)c=c[\"return\"];c=3!==c.tag?null:c.stateNode.containerInfo;if(!c)break;a.ancestors.push(b);b=pb(c)}while(b);for(c=0;c<a.ancestors.length;c++)b=a.ancestors[c],sd(a.topLevelType,b,a.nativeEvent,wc(a.nativeEvent))}var td=!0,sd=void 0;function ud(a){td=!!a}function U(a,b,c){return c?ba.listen(c,b,vd.bind(null,a)):null}function wd(a,b,c){return c?ba.capture(c,b,vd.bind(null,a)):null}\nfunction vd(a,b){if(td){var c=wc(b);c=pb(c);null===c||\"number\"!==typeof c.tag||2===kd(c)||(c=null);if(qd.length){var d=qd.pop();d.topLevelType=a;d.nativeEvent=b;d.targetInst=c;a=d}else a={topLevelType:a,nativeEvent:b,targetInst:c,ancestors:[]};try{tc(rd,a)}finally{a.topLevelType=null,a.nativeEvent=null,a.targetInst=null,a.ancestors.length=0,10>qd.length&&qd.push(a)}}}\nvar xd=Object.freeze({get _enabled(){return td},get _handleTopLevel(){return sd},setHandleTopLevel:function(a){sd=a},setEnabled:ud,isEnabled:function(){return td},trapBubbledEvent:U,trapCapturedEvent:wd,dispatchEvent:vd});function yd(a,b){var c={};c[a.toLowerCase()]=b.toLowerCase();c[\"Webkit\"+a]=\"webkit\"+b;c[\"Moz\"+a]=\"moz\"+b;c[\"ms\"+a]=\"MS\"+b;c[\"O\"+a]=\"o\"+b.toLowerCase();return c}\nvar zd={animationend:yd(\"Animation\",\"AnimationEnd\"),animationiteration:yd(\"Animation\",\"AnimationIteration\"),animationstart:yd(\"Animation\",\"AnimationStart\"),transitionend:yd(\"Transition\",\"TransitionEnd\")},Ad={},Bd={};l.canUseDOM&&(Bd=document.createElement(\"div\").style,\"AnimationEvent\"in window||(delete zd.animationend.animation,delete zd.animationiteration.animation,delete zd.animationstart.animation),\"TransitionEvent\"in window||delete zd.transitionend.transition);\nfunction Cd(a){if(Ad[a])return Ad[a];if(!zd[a])return a;var b=zd[a],c;for(c in b)if(b.hasOwnProperty(c)&&c in Bd)return Ad[a]=b[c];return\"\"}\nvar Dd={topAbort:\"abort\",topAnimationEnd:Cd(\"animationend\")||\"animationend\",topAnimationIteration:Cd(\"animationiteration\")||\"animationiteration\",topAnimationStart:Cd(\"animationstart\")||\"animationstart\",topBlur:\"blur\",topCancel:\"cancel\",topCanPlay:\"canplay\",topCanPlayThrough:\"canplaythrough\",topChange:\"change\",topClick:\"click\",topClose:\"close\",topCompositionEnd:\"compositionend\",topCompositionStart:\"compositionstart\",topCompositionUpdate:\"compositionupdate\",topContextMenu:\"contextmenu\",topCopy:\"copy\",\ntopCut:\"cut\",topDoubleClick:\"dblclick\",topDrag:\"drag\",topDragEnd:\"dragend\",topDragEnter:\"dragenter\",topDragExit:\"dragexit\",topDragLeave:\"dragleave\",topDragOver:\"dragover\",topDragStart:\"dragstart\",topDrop:\"drop\",topDurationChange:\"durationchange\",topEmptied:\"emptied\",topEncrypted:\"encrypted\",topEnded:\"ended\",topError:\"error\",topFocus:\"focus\",topInput:\"input\",topKeyDown:\"keydown\",topKeyPress:\"keypress\",topKeyUp:\"keyup\",topLoadedData:\"loadeddata\",topLoad:\"load\",topLoadedMetadata:\"loadedmetadata\",topLoadStart:\"loadstart\",\ntopMouseDown:\"mousedown\",topMouseMove:\"mousemove\",topMouseOut:\"mouseout\",topMouseOver:\"mouseover\",topMouseUp:\"mouseup\",topPaste:\"paste\",topPause:\"pause\",topPlay:\"play\",topPlaying:\"playing\",topProgress:\"progress\",topRateChange:\"ratechange\",topScroll:\"scroll\",topSeeked:\"seeked\",topSeeking:\"seeking\",topSelectionChange:\"selectionchange\",topStalled:\"stalled\",topSuspend:\"suspend\",topTextInput:\"textInput\",topTimeUpdate:\"timeupdate\",topToggle:\"toggle\",topTouchCancel:\"touchcancel\",topTouchEnd:\"touchend\",topTouchMove:\"touchmove\",\ntopTouchStart:\"touchstart\",topTransitionEnd:Cd(\"transitionend\")||\"transitionend\",topVolumeChange:\"volumechange\",topWaiting:\"waiting\",topWheel:\"wheel\"},Ed={},Fd=0,Gd=\"_reactListenersID\"+(\"\"+Math.random()).slice(2);function Hd(a){Object.prototype.hasOwnProperty.call(a,Gd)||(a[Gd]=Fd++,Ed[a[Gd]]={});return Ed[a[Gd]]}function Id(a){for(;a&&a.firstChild;)a=a.firstChild;return a}\nfunction Jd(a,b){var c=Id(a);a=0;for(var d;c;){if(3===c.nodeType){d=a+c.textContent.length;if(a<=b&&d>=b)return{node:c,offset:b-a};a=d}a:{for(;c;){if(c.nextSibling){c=c.nextSibling;break a}c=c.parentNode}c=void 0}c=Id(c)}}function Kd(a){var b=a&&a.nodeName&&a.nodeName.toLowerCase();return b&&(\"input\"===b&&\"text\"===a.type||\"textarea\"===b||\"true\"===a.contentEditable)}\nvar Ld=l.canUseDOM&&\"documentMode\"in document&&11>=document.documentMode,Md={select:{phasedRegistrationNames:{bubbled:\"onSelect\",captured:\"onSelectCapture\"},dependencies:\"topBlur topContextMenu topFocus topKeyDown topKeyUp topMouseDown topMouseUp topSelectionChange\".split(\" \")}},Nd=null,Od=null,Pd=null,Qd=!1;\nfunction Rd(a,b){if(Qd||null==Nd||Nd!==da())return null;var c=Nd;\"selectionStart\"in c&&Kd(c)?c={start:c.selectionStart,end:c.selectionEnd}:window.getSelection?(c=window.getSelection(),c={anchorNode:c.anchorNode,anchorOffset:c.anchorOffset,focusNode:c.focusNode,focusOffset:c.focusOffset}):c=void 0;return Pd&&ea(Pd,c)?null:(Pd=c,a=T.getPooled(Md.select,Od,a,b),a.type=\"select\",a.target=Nd,Ab(a),a)}\nvar Sd={eventTypes:Md,extractEvents:function(a,b,c,d){var e=d.window===d?d.document:9===d.nodeType?d:d.ownerDocument,f;if(!(f=!e)){a:{e=Hd(e);f=Sa.onSelect;for(var g=0;g<f.length;g++){var h=f[g];if(!e.hasOwnProperty(h)||!e[h]){e=!1;break a}}e=!0}f=!e}if(f)return null;e=b?qb(b):window;switch(a){case \"topFocus\":if(vc(e)||\"true\"===e.contentEditable)Nd=e,Od=b,Pd=null;break;case \"topBlur\":Pd=Od=Nd=null;break;case \"topMouseDown\":Qd=!0;break;case \"topContextMenu\":case \"topMouseUp\":return Qd=!1,Rd(c,d);case \"topSelectionChange\":if(Ld)break;\ncase \"topKeyDown\":case \"topKeyUp\":return Rd(c,d)}return null}};function Td(a,b,c,d){return T.call(this,a,b,c,d)}T.augmentClass(Td,{animationName:null,elapsedTime:null,pseudoElement:null});function Ud(a,b,c,d){return T.call(this,a,b,c,d)}T.augmentClass(Ud,{clipboardData:function(a){return\"clipboardData\"in a?a.clipboardData:window.clipboardData}});function Vd(a,b,c,d){return T.call(this,a,b,c,d)}bd.augmentClass(Vd,{relatedTarget:null});\nfunction Wd(a){var b=a.keyCode;\"charCode\"in a?(a=a.charCode,0===a&&13===b&&(a=13)):a=b;return 32<=a||13===a?a:0}\nvar Xd={Esc:\"Escape\",Spacebar:\" \",Left:\"ArrowLeft\",Up:\"ArrowUp\",Right:\"ArrowRight\",Down:\"ArrowDown\",Del:\"Delete\",Win:\"OS\",Menu:\"ContextMenu\",Apps:\"ContextMenu\",Scroll:\"ScrollLock\",MozPrintableKey:\"Unidentified\"},Yd={8:\"Backspace\",9:\"Tab\",12:\"Clear\",13:\"Enter\",16:\"Shift\",17:\"Control\",18:\"Alt\",19:\"Pause\",20:\"CapsLock\",27:\"Escape\",32:\" \",33:\"PageUp\",34:\"PageDown\",35:\"End\",36:\"Home\",37:\"ArrowLeft\",38:\"ArrowUp\",39:\"ArrowRight\",40:\"ArrowDown\",45:\"Insert\",46:\"Delete\",112:\"F1\",113:\"F2\",114:\"F3\",115:\"F4\",\n116:\"F5\",117:\"F6\",118:\"F7\",119:\"F8\",120:\"F9\",121:\"F10\",122:\"F11\",123:\"F12\",144:\"NumLock\",145:\"ScrollLock\",224:\"Meta\"};function Zd(a,b,c,d){return T.call(this,a,b,c,d)}\nbd.augmentClass(Zd,{key:function(a){if(a.key){var b=Xd[a.key]||a.key;if(\"Unidentified\"!==b)return b}return\"keypress\"===a.type?(a=Wd(a),13===a?\"Enter\":String.fromCharCode(a)):\"keydown\"===a.type||\"keyup\"===a.type?Yd[a.keyCode]||\"Unidentified\":\"\"},location:null,ctrlKey:null,shiftKey:null,altKey:null,metaKey:null,repeat:null,locale:null,getModifierState:ed,charCode:function(a){return\"keypress\"===a.type?Wd(a):0},keyCode:function(a){return\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0},which:function(a){return\"keypress\"===\na.type?Wd(a):\"keydown\"===a.type||\"keyup\"===a.type?a.keyCode:0}});function $d(a,b,c,d){return T.call(this,a,b,c,d)}fd.augmentClass($d,{dataTransfer:null});function ae(a,b,c,d){return T.call(this,a,b,c,d)}bd.augmentClass(ae,{touches:null,targetTouches:null,changedTouches:null,altKey:null,metaKey:null,ctrlKey:null,shiftKey:null,getModifierState:ed});function be(a,b,c,d){return T.call(this,a,b,c,d)}T.augmentClass(be,{propertyName:null,elapsedTime:null,pseudoElement:null});\nfunction ce(a,b,c,d){return T.call(this,a,b,c,d)}fd.augmentClass(ce,{deltaX:function(a){return\"deltaX\"in a?a.deltaX:\"wheelDeltaX\"in a?-a.wheelDeltaX:0},deltaY:function(a){return\"deltaY\"in a?a.deltaY:\"wheelDeltaY\"in a?-a.wheelDeltaY:\"wheelDelta\"in a?-a.wheelDelta:0},deltaZ:null,deltaMode:null});var de={},ee={};\n\"abort animationEnd animationIteration animationStart blur cancel canPlay canPlayThrough click close contextMenu copy cut doubleClick drag dragEnd dragEnter dragExit dragLeave dragOver dragStart drop durationChange emptied encrypted ended error focus input invalid keyDown keyPress keyUp load loadedData loadedMetadata loadStart mouseDown mouseMove mouseOut mouseOver mouseUp paste pause play playing progress rateChange reset scroll seeked seeking stalled submit suspend timeUpdate toggle touchCancel touchEnd touchMove touchStart transitionEnd volumeChange waiting wheel\".split(\" \").forEach(function(a){var b=a[0].toUpperCase()+\na.slice(1),c=\"on\"+b;b=\"top\"+b;c={phasedRegistrationNames:{bubbled:c,captured:c+\"Capture\"},dependencies:[b]};de[a]=c;ee[b]=c});\nvar fe={eventTypes:de,extractEvents:function(a,b,c,d){var e=ee[a];if(!e)return null;switch(a){case \"topKeyPress\":if(0===Wd(c))return null;case \"topKeyDown\":case \"topKeyUp\":a=Zd;break;case \"topBlur\":case \"topFocus\":a=Vd;break;case \"topClick\":if(2===c.button)return null;case \"topDoubleClick\":case \"topMouseDown\":case \"topMouseMove\":case \"topMouseUp\":case \"topMouseOut\":case \"topMouseOver\":case \"topContextMenu\":a=fd;break;case \"topDrag\":case \"topDragEnd\":case \"topDragEnter\":case \"topDragExit\":case \"topDragLeave\":case \"topDragOver\":case \"topDragStart\":case \"topDrop\":a=\n$d;break;case \"topTouchCancel\":case \"topTouchEnd\":case \"topTouchMove\":case \"topTouchStart\":a=ae;break;case \"topAnimationEnd\":case \"topAnimationIteration\":case \"topAnimationStart\":a=Td;break;case \"topTransitionEnd\":a=be;break;case \"topScroll\":a=bd;break;case \"topWheel\":a=ce;break;case \"topCopy\":case \"topCut\":case \"topPaste\":a=Ud;break;default:a=T}b=a.getPooled(e,b,c,d);Ab(b);return b}};sd=function(a,b,c,d){a=jb(a,b,c,d);kb(a);lb(!1)};hb.injectEventPluginOrder(\"ResponderEventPlugin SimpleEventPlugin TapEventPlugin EnterLeaveEventPlugin ChangeEventPlugin SelectEventPlugin BeforeInputEventPlugin\".split(\" \"));\nWa=sb.getFiberCurrentPropsFromNode;Xa=sb.getInstanceFromNode;Ya=sb.getNodeFromInstance;hb.injectEventPluginsByName({SimpleEventPlugin:fe,EnterLeaveEventPlugin:hd,ChangeEventPlugin:ad,SelectEventPlugin:Sd,BeforeInputEventPlugin:ic});var ge=[],he=-1;function V(a){0>he||(a.current=ge[he],ge[he]=null,he--)}function W(a,b){he++;ge[he]=a.current;a.current=b}new Set;var ie={current:D},X={current:!1},je=D;function ke(a){return le(a)?je:ie.current}\nfunction me(a,b){var c=a.type.contextTypes;if(!c)return D;var d=a.stateNode;if(d&&d.__reactInternalMemoizedUnmaskedChildContext===b)return d.__reactInternalMemoizedMaskedChildContext;var e={},f;for(f in c)e[f]=b[f];d&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=b,a.__reactInternalMemoizedMaskedChildContext=e);return e}function le(a){return 2===a.tag&&null!=a.type.childContextTypes}function ne(a){le(a)&&(V(X,a),V(ie,a))}\nfunction oe(a,b,c){null!=ie.cursor?E(\"168\"):void 0;W(ie,b,a);W(X,c,a)}function pe(a,b){var c=a.stateNode,d=a.type.childContextTypes;if(\"function\"!==typeof c.getChildContext)return b;c=c.getChildContext();for(var e in c)e in d?void 0:E(\"108\",jd(a)||\"Unknown\",e);return B({},b,c)}function qe(a){if(!le(a))return!1;var b=a.stateNode;b=b&&b.__reactInternalMemoizedMergedChildContext||D;je=ie.current;W(ie,b,a);W(X,X.current,a);return!0}\nfunction re(a,b){var c=a.stateNode;c?void 0:E(\"169\");if(b){var d=pe(a,je);c.__reactInternalMemoizedMergedChildContext=d;V(X,a);V(ie,a);W(ie,d,a)}else V(X,a);W(X,b,a)}\nfunction Y(a,b,c){this.tag=a;this.key=b;this.stateNode=this.type=null;this.sibling=this.child=this[\"return\"]=null;this.index=0;this.memoizedState=this.updateQueue=this.memoizedProps=this.pendingProps=this.ref=null;this.internalContextTag=c;this.effectTag=0;this.lastEffect=this.firstEffect=this.nextEffect=null;this.expirationTime=0;this.alternate=null}\nfunction se(a,b,c){var d=a.alternate;null===d?(d=new Y(a.tag,a.key,a.internalContextTag),d.type=a.type,d.stateNode=a.stateNode,d.alternate=a,a.alternate=d):(d.effectTag=0,d.nextEffect=null,d.firstEffect=null,d.lastEffect=null);d.expirationTime=c;d.pendingProps=b;d.child=a.child;d.memoizedProps=a.memoizedProps;d.memoizedState=a.memoizedState;d.updateQueue=a.updateQueue;d.sibling=a.sibling;d.index=a.index;d.ref=a.ref;return d}\nfunction te(a,b,c){var d=void 0,e=a.type,f=a.key;\"function\"===typeof e?(d=e.prototype&&e.prototype.isReactComponent?new Y(2,f,b):new Y(0,f,b),d.type=e,d.pendingProps=a.props):\"string\"===typeof e?(d=new Y(5,f,b),d.type=e,d.pendingProps=a.props):\"object\"===typeof e&&null!==e&&\"number\"===typeof e.tag?(d=e,d.pendingProps=a.props):E(\"130\",null==e?e:typeof e,\"\");d.expirationTime=c;return d}function ue(a,b,c,d){b=new Y(10,d,b);b.pendingProps=a;b.expirationTime=c;return b}\nfunction ve(a,b,c){b=new Y(6,null,b);b.pendingProps=a;b.expirationTime=c;return b}function we(a,b,c){b=new Y(7,a.key,b);b.type=a.handler;b.pendingProps=a;b.expirationTime=c;return b}function xe(a,b,c){a=new Y(9,null,b);a.expirationTime=c;return a}function ye(a,b,c){b=new Y(4,a.key,b);b.pendingProps=a.children||[];b.expirationTime=c;b.stateNode={containerInfo:a.containerInfo,pendingChildren:null,implementation:a.implementation};return b}var ze=null,Ae=null;\nfunction Be(a){return function(b){try{return a(b)}catch(c){}}}function Ce(a){if(\"undefined\"===typeof __REACT_DEVTOOLS_GLOBAL_HOOK__)return!1;var b=__REACT_DEVTOOLS_GLOBAL_HOOK__;if(b.isDisabled||!b.supportsFiber)return!0;try{var c=b.inject(a);ze=Be(function(a){return b.onCommitFiberRoot(c,a)});Ae=Be(function(a){return b.onCommitFiberUnmount(c,a)})}catch(d){}return!0}function De(a){\"function\"===typeof ze&&ze(a)}function Ee(a){\"function\"===typeof Ae&&Ae(a)}\nfunction Fe(a){return{baseState:a,expirationTime:0,first:null,last:null,callbackList:null,hasForceUpdate:!1,isInitialized:!1}}function Ge(a,b){null===a.last?a.first=a.last=b:(a.last.next=b,a.last=b);if(0===a.expirationTime||a.expirationTime>b.expirationTime)a.expirationTime=b.expirationTime}\nfunction He(a,b){var c=a.alternate,d=a.updateQueue;null===d&&(d=a.updateQueue=Fe(null));null!==c?(a=c.updateQueue,null===a&&(a=c.updateQueue=Fe(null))):a=null;a=a!==d?a:null;null===a?Ge(d,b):null===d.last||null===a.last?(Ge(d,b),Ge(a,b)):(Ge(d,b),a.last=b)}function Ie(a,b,c,d){a=a.partialState;return\"function\"===typeof a?a.call(b,c,d):a}\nfunction Je(a,b,c,d,e,f){null!==a&&a.updateQueue===c&&(c=b.updateQueue={baseState:c.baseState,expirationTime:c.expirationTime,first:c.first,last:c.last,isInitialized:c.isInitialized,callbackList:null,hasForceUpdate:!1});c.expirationTime=0;c.isInitialized?a=c.baseState:(a=c.baseState=b.memoizedState,c.isInitialized=!0);for(var g=!0,h=c.first,k=!1;null!==h;){var q=h.expirationTime;if(q>f){var v=c.expirationTime;if(0===v||v>q)c.expirationTime=q;k||(k=!0,c.baseState=a)}else{k||(c.first=h.next,null===\nc.first&&(c.last=null));if(h.isReplace)a=Ie(h,d,a,e),g=!0;else if(q=Ie(h,d,a,e))a=g?B({},a,q):B(a,q),g=!1;h.isForced&&(c.hasForceUpdate=!0);null!==h.callback&&(q=c.callbackList,null===q&&(q=c.callbackList=[]),q.push(h))}h=h.next}null!==c.callbackList?b.effectTag|=32:null!==c.first||c.hasForceUpdate||(b.updateQueue=null);k||(c.baseState=a);return a}\nfunction Ke(a,b){var c=a.callbackList;if(null!==c)for(a.callbackList=null,a=0;a<c.length;a++){var d=c[a],e=d.callback;d.callback=null;\"function\"!==typeof e?E(\"191\",e):void 0;e.call(b)}}\nfunction Le(a,b,c,d){function e(a,b){b.updater=f;a.stateNode=b;b._reactInternalFiber=a}var f={isMounted:ld,enqueueSetState:function(c,d,e){c=c._reactInternalFiber;e=void 0===e?null:e;var g=b(c);He(c,{expirationTime:g,partialState:d,callback:e,isReplace:!1,isForced:!1,nextCallback:null,next:null});a(c,g)},enqueueReplaceState:function(c,d,e){c=c._reactInternalFiber;e=void 0===e?null:e;var g=b(c);He(c,{expirationTime:g,partialState:d,callback:e,isReplace:!0,isForced:!1,nextCallback:null,next:null});\na(c,g)},enqueueForceUpdate:function(c,d){c=c._reactInternalFiber;d=void 0===d?null:d;var e=b(c);He(c,{expirationTime:e,partialState:null,callback:d,isReplace:!1,isForced:!0,nextCallback:null,next:null});a(c,e)}};return{adoptClassInstance:e,constructClassInstance:function(a,b){var c=a.type,d=ke(a),f=2===a.tag&&null!=a.type.contextTypes,g=f?me(a,d):D;b=new c(b,g);e(a,b);f&&(a=a.stateNode,a.__reactInternalMemoizedUnmaskedChildContext=d,a.__reactInternalMemoizedMaskedChildContext=g);return b},mountClassInstance:function(a,\nb){var c=a.alternate,d=a.stateNode,e=d.state||null,g=a.pendingProps;g?void 0:E(\"158\");var h=ke(a);d.props=g;d.state=a.memoizedState=e;d.refs=D;d.context=me(a,h);null!=a.type&&null!=a.type.prototype&&!0===a.type.prototype.unstable_isAsyncReactComponent&&(a.internalContextTag|=1);\"function\"===typeof d.componentWillMount&&(e=d.state,d.componentWillMount(),e!==d.state&&f.enqueueReplaceState(d,d.state,null),e=a.updateQueue,null!==e&&(d.state=Je(c,a,e,d,g,b)));\"function\"===typeof d.componentDidMount&&(a.effectTag|=\n4)},updateClassInstance:function(a,b,e){var g=b.stateNode;g.props=b.memoizedProps;g.state=b.memoizedState;var h=b.memoizedProps,k=b.pendingProps;k||(k=h,null==k?E(\"159\"):void 0);var u=g.context,z=ke(b);z=me(b,z);\"function\"!==typeof g.componentWillReceiveProps||h===k&&u===z||(u=g.state,g.componentWillReceiveProps(k,z),g.state!==u&&f.enqueueReplaceState(g,g.state,null));u=b.memoizedState;e=null!==b.updateQueue?Je(a,b,b.updateQueue,g,k,e):u;if(!(h!==k||u!==e||X.current||null!==b.updateQueue&&b.updateQueue.hasForceUpdate))return\"function\"!==\ntypeof g.componentDidUpdate||h===a.memoizedProps&&u===a.memoizedState||(b.effectTag|=4),!1;var G=k;if(null===h||null!==b.updateQueue&&b.updateQueue.hasForceUpdate)G=!0;else{var I=b.stateNode,L=b.type;G=\"function\"===typeof I.shouldComponentUpdate?I.shouldComponentUpdate(G,e,z):L.prototype&&L.prototype.isPureReactComponent?!ea(h,G)||!ea(u,e):!0}G?(\"function\"===typeof g.componentWillUpdate&&g.componentWillUpdate(k,e,z),\"function\"===typeof g.componentDidUpdate&&(b.effectTag|=4)):(\"function\"!==typeof g.componentDidUpdate||\nh===a.memoizedProps&&u===a.memoizedState||(b.effectTag|=4),c(b,k),d(b,e));g.props=k;g.state=e;g.context=z;return G}}}var Qe=\"function\"===typeof Symbol&&Symbol[\"for\"],Re=Qe?Symbol[\"for\"](\"react.element\"):60103,Se=Qe?Symbol[\"for\"](\"react.call\"):60104,Te=Qe?Symbol[\"for\"](\"react.return\"):60105,Ue=Qe?Symbol[\"for\"](\"react.portal\"):60106,Ve=Qe?Symbol[\"for\"](\"react.fragment\"):60107,We=\"function\"===typeof Symbol&&Symbol.iterator;\nfunction Xe(a){if(null===a||\"undefined\"===typeof a)return null;a=We&&a[We]||a[\"@@iterator\"];return\"function\"===typeof a?a:null}var Ye=Array.isArray;\nfunction Ze(a,b){var c=b.ref;if(null!==c&&\"function\"!==typeof c){if(b._owner){b=b._owner;var d=void 0;b&&(2!==b.tag?E(\"110\"):void 0,d=b.stateNode);d?void 0:E(\"147\",c);var e=\"\"+c;if(null!==a&&null!==a.ref&&a.ref._stringRef===e)return a.ref;a=function(a){var b=d.refs===D?d.refs={}:d.refs;null===a?delete b[e]:b[e]=a};a._stringRef=e;return a}\"string\"!==typeof c?E(\"148\"):void 0;b._owner?void 0:E(\"149\",c)}return c}\nfunction $e(a,b){\"textarea\"!==a.type&&E(\"31\",\"[object Object]\"===Object.prototype.toString.call(b)?\"object with keys {\"+Object.keys(b).join(\", \")+\"}\":b,\"\")}\nfunction af(a){function b(b,c){if(a){var d=b.lastEffect;null!==d?(d.nextEffect=c,b.lastEffect=c):b.firstEffect=b.lastEffect=c;c.nextEffect=null;c.effectTag=8}}function c(c,d){if(!a)return null;for(;null!==d;)b(c,d),d=d.sibling;return null}function d(a,b){for(a=new Map;null!==b;)null!==b.key?a.set(b.key,b):a.set(b.index,b),b=b.sibling;return a}function e(a,b,c){a=se(a,b,c);a.index=0;a.sibling=null;return a}function f(b,c,d){b.index=d;if(!a)return c;d=b.alternate;if(null!==d)return d=d.index,d<c?(b.effectTag=\n2,c):d;b.effectTag=2;return c}function g(b){a&&null===b.alternate&&(b.effectTag=2);return b}function h(a,b,c,d){if(null===b||6!==b.tag)return b=ve(c,a.internalContextTag,d),b[\"return\"]=a,b;b=e(b,c,d);b[\"return\"]=a;return b}function k(a,b,c,d){if(null!==b&&b.type===c.type)return d=e(b,c.props,d),d.ref=Ze(b,c),d[\"return\"]=a,d;d=te(c,a.internalContextTag,d);d.ref=Ze(b,c);d[\"return\"]=a;return d}function q(a,b,c,d){if(null===b||7!==b.tag)return b=we(c,a.internalContextTag,d),b[\"return\"]=a,b;b=e(b,c,d);\nb[\"return\"]=a;return b}function v(a,b,c,d){if(null===b||9!==b.tag)return b=xe(c,a.internalContextTag,d),b.type=c.value,b[\"return\"]=a,b;b=e(b,null,d);b.type=c.value;b[\"return\"]=a;return b}function y(a,b,c,d){if(null===b||4!==b.tag||b.stateNode.containerInfo!==c.containerInfo||b.stateNode.implementation!==c.implementation)return b=ye(c,a.internalContextTag,d),b[\"return\"]=a,b;b=e(b,c.children||[],d);b[\"return\"]=a;return b}function u(a,b,c,d,f){if(null===b||10!==b.tag)return b=ue(c,a.internalContextTag,\nd,f),b[\"return\"]=a,b;b=e(b,c,d);b[\"return\"]=a;return b}function z(a,b,c){if(\"string\"===typeof b||\"number\"===typeof b)return b=ve(\"\"+b,a.internalContextTag,c),b[\"return\"]=a,b;if(\"object\"===typeof b&&null!==b){switch(b.$$typeof){case Re:if(b.type===Ve)return b=ue(b.props.children,a.internalContextTag,c,b.key),b[\"return\"]=a,b;c=te(b,a.internalContextTag,c);c.ref=Ze(null,b);c[\"return\"]=a;return c;case Se:return b=we(b,a.internalContextTag,c),b[\"return\"]=a,b;case Te:return c=xe(b,a.internalContextTag,\nc),c.type=b.value,c[\"return\"]=a,c;case Ue:return b=ye(b,a.internalContextTag,c),b[\"return\"]=a,b}if(Ye(b)||Xe(b))return b=ue(b,a.internalContextTag,c,null),b[\"return\"]=a,b;$e(a,b)}return null}function G(a,b,c,d){var e=null!==b?b.key:null;if(\"string\"===typeof c||\"number\"===typeof c)return null!==e?null:h(a,b,\"\"+c,d);if(\"object\"===typeof c&&null!==c){switch(c.$$typeof){case Re:return c.key===e?c.type===Ve?u(a,b,c.props.children,d,e):k(a,b,c,d):null;case Se:return c.key===e?q(a,b,c,d):null;case Te:return null===\ne?v(a,b,c,d):null;case Ue:return c.key===e?y(a,b,c,d):null}if(Ye(c)||Xe(c))return null!==e?null:u(a,b,c,d,null);$e(a,c)}return null}function I(a,b,c,d,e){if(\"string\"===typeof d||\"number\"===typeof d)return a=a.get(c)||null,h(b,a,\"\"+d,e);if(\"object\"===typeof d&&null!==d){switch(d.$$typeof){case Re:return a=a.get(null===d.key?c:d.key)||null,d.type===Ve?u(b,a,d.props.children,e,d.key):k(b,a,d,e);case Se:return a=a.get(null===d.key?c:d.key)||null,q(b,a,d,e);case Te:return a=a.get(c)||null,v(b,a,d,e);case Ue:return a=\na.get(null===d.key?c:d.key)||null,y(b,a,d,e)}if(Ye(d)||Xe(d))return a=a.get(c)||null,u(b,a,d,e,null);$e(b,d)}return null}function L(e,g,m,A){for(var h=null,r=null,n=g,w=g=0,k=null;null!==n&&w<m.length;w++){n.index>w?(k=n,n=null):k=n.sibling;var x=G(e,n,m[w],A);if(null===x){null===n&&(n=k);break}a&&n&&null===x.alternate&&b(e,n);g=f(x,g,w);null===r?h=x:r.sibling=x;r=x;n=k}if(w===m.length)return c(e,n),h;if(null===n){for(;w<m.length;w++)if(n=z(e,m[w],A))g=f(n,g,w),null===r?h=n:r.sibling=n,r=n;return h}for(n=\nd(e,n);w<m.length;w++)if(k=I(n,e,w,m[w],A)){if(a&&null!==k.alternate)n[\"delete\"](null===k.key?w:k.key);g=f(k,g,w);null===r?h=k:r.sibling=k;r=k}a&&n.forEach(function(a){return b(e,a)});return h}function N(e,g,m,A){var h=Xe(m);\"function\"!==typeof h?E(\"150\"):void 0;m=h.call(m);null==m?E(\"151\"):void 0;for(var r=h=null,n=g,w=g=0,k=null,x=m.next();null!==n&&!x.done;w++,x=m.next()){n.index>w?(k=n,n=null):k=n.sibling;var J=G(e,n,x.value,A);if(null===J){n||(n=k);break}a&&n&&null===J.alternate&&b(e,n);g=f(J,\ng,w);null===r?h=J:r.sibling=J;r=J;n=k}if(x.done)return c(e,n),h;if(null===n){for(;!x.done;w++,x=m.next())x=z(e,x.value,A),null!==x&&(g=f(x,g,w),null===r?h=x:r.sibling=x,r=x);return h}for(n=d(e,n);!x.done;w++,x=m.next())if(x=I(n,e,w,x.value,A),null!==x){if(a&&null!==x.alternate)n[\"delete\"](null===x.key?w:x.key);g=f(x,g,w);null===r?h=x:r.sibling=x;r=x}a&&n.forEach(function(a){return b(e,a)});return h}return function(a,d,f,h){\"object\"===typeof f&&null!==f&&f.type===Ve&&null===f.key&&(f=f.props.children);\nvar m=\"object\"===typeof f&&null!==f;if(m)switch(f.$$typeof){case Re:a:{var r=f.key;for(m=d;null!==m;){if(m.key===r)if(10===m.tag?f.type===Ve:m.type===f.type){c(a,m.sibling);d=e(m,f.type===Ve?f.props.children:f.props,h);d.ref=Ze(m,f);d[\"return\"]=a;a=d;break a}else{c(a,m);break}else b(a,m);m=m.sibling}f.type===Ve?(d=ue(f.props.children,a.internalContextTag,h,f.key),d[\"return\"]=a,a=d):(h=te(f,a.internalContextTag,h),h.ref=Ze(d,f),h[\"return\"]=a,a=h)}return g(a);case Se:a:{for(m=f.key;null!==d;){if(d.key===\nm)if(7===d.tag){c(a,d.sibling);d=e(d,f,h);d[\"return\"]=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=we(f,a.internalContextTag,h);d[\"return\"]=a;a=d}return g(a);case Te:a:{if(null!==d)if(9===d.tag){c(a,d.sibling);d=e(d,null,h);d.type=f.value;d[\"return\"]=a;a=d;break a}else c(a,d);d=xe(f,a.internalContextTag,h);d.type=f.value;d[\"return\"]=a;a=d}return g(a);case Ue:a:{for(m=f.key;null!==d;){if(d.key===m)if(4===d.tag&&d.stateNode.containerInfo===f.containerInfo&&d.stateNode.implementation===\nf.implementation){c(a,d.sibling);d=e(d,f.children||[],h);d[\"return\"]=a;a=d;break a}else{c(a,d);break}else b(a,d);d=d.sibling}d=ye(f,a.internalContextTag,h);d[\"return\"]=a;a=d}return g(a)}if(\"string\"===typeof f||\"number\"===typeof f)return f=\"\"+f,null!==d&&6===d.tag?(c(a,d.sibling),d=e(d,f,h)):(c(a,d),d=ve(f,a.internalContextTag,h)),d[\"return\"]=a,a=d,g(a);if(Ye(f))return L(a,d,f,h);if(Xe(f))return N(a,d,f,h);m&&$e(a,f);if(\"undefined\"===typeof f)switch(a.tag){case 2:case 1:h=a.type,E(\"152\",h.displayName||\nh.name||\"Component\")}return c(a,d)}}var bf=af(!0),cf=af(!1);\nfunction df(a,b,c,d,e){function f(a,b,c){var d=b.expirationTime;b.child=null===a?cf(b,null,c,d):bf(b,a.child,c,d)}function g(a,b){var c=b.ref;null===c||a&&a.ref===c||(b.effectTag|=128)}function h(a,b,c,d){g(a,b);if(!c)return d&&re(b,!1),q(a,b);c=b.stateNode;id.current=b;var e=c.render();b.effectTag|=1;f(a,b,e);b.memoizedState=c.state;b.memoizedProps=c.props;d&&re(b,!0);return b.child}function k(a){var b=a.stateNode;b.pendingContext?oe(a,b.pendingContext,b.pendingContext!==b.context):b.context&&oe(a,\nb.context,!1);I(a,b.containerInfo)}function q(a,b){null!==a&&b.child!==a.child?E(\"153\"):void 0;if(null!==b.child){a=b.child;var c=se(a,a.pendingProps,a.expirationTime);b.child=c;for(c[\"return\"]=b;null!==a.sibling;)a=a.sibling,c=c.sibling=se(a,a.pendingProps,a.expirationTime),c[\"return\"]=b;c.sibling=null}return b.child}function v(a,b){switch(b.tag){case 3:k(b);break;case 2:qe(b);break;case 4:I(b,b.stateNode.containerInfo)}return null}var y=a.shouldSetTextContent,u=a.useSyncScheduling,z=a.shouldDeprioritizeSubtree,\nG=b.pushHostContext,I=b.pushHostContainer,L=c.enterHydrationState,N=c.resetHydrationState,J=c.tryToClaimNextHydratableInstance;a=Le(d,e,function(a,b){a.memoizedProps=b},function(a,b){a.memoizedState=b});var w=a.adoptClassInstance,m=a.constructClassInstance,A=a.mountClassInstance,Ob=a.updateClassInstance;return{beginWork:function(a,b,c){if(0===b.expirationTime||b.expirationTime>c)return v(a,b);switch(b.tag){case 0:null!==a?E(\"155\"):void 0;var d=b.type,e=b.pendingProps,r=ke(b);r=me(b,r);d=d(e,r);b.effectTag|=\n1;\"object\"===typeof d&&null!==d&&\"function\"===typeof d.render?(b.tag=2,e=qe(b),w(b,d),A(b,c),b=h(a,b,!0,e)):(b.tag=1,f(a,b,d),b.memoizedProps=e,b=b.child);return b;case 1:a:{e=b.type;c=b.pendingProps;d=b.memoizedProps;if(X.current)null===c&&(c=d);else if(null===c||d===c){b=q(a,b);break a}d=ke(b);d=me(b,d);e=e(c,d);b.effectTag|=1;f(a,b,e);b.memoizedProps=c;b=b.child}return b;case 2:return e=qe(b),d=void 0,null===a?b.stateNode?E(\"153\"):(m(b,b.pendingProps),A(b,c),d=!0):d=Ob(a,b,c),h(a,b,d,e);case 3:return k(b),\ne=b.updateQueue,null!==e?(d=b.memoizedState,e=Je(a,b,e,null,null,c),d===e?(N(),b=q(a,b)):(d=e.element,r=b.stateNode,(null===a||null===a.child)&&r.hydrate&&L(b)?(b.effectTag|=2,b.child=cf(b,null,d,c)):(N(),f(a,b,d)),b.memoizedState=e,b=b.child)):(N(),b=q(a,b)),b;case 5:G(b);null===a&&J(b);e=b.type;var n=b.memoizedProps;d=b.pendingProps;null===d&&(d=n,null===d?E(\"154\"):void 0);r=null!==a?a.memoizedProps:null;X.current||null!==d&&n!==d?(n=d.children,y(e,d)?n=null:r&&y(e,r)&&(b.effectTag|=16),g(a,b),\n2147483647!==c&&!u&&z(e,d)?(b.expirationTime=2147483647,b=null):(f(a,b,n),b.memoizedProps=d,b=b.child)):b=q(a,b);return b;case 6:return null===a&&J(b),a=b.pendingProps,null===a&&(a=b.memoizedProps),b.memoizedProps=a,null;case 8:b.tag=7;case 7:e=b.pendingProps;if(X.current)null===e&&(e=a&&a.memoizedProps,null===e?E(\"154\"):void 0);else if(null===e||b.memoizedProps===e)e=b.memoizedProps;d=e.children;b.stateNode=null===a?cf(b,b.stateNode,d,c):bf(b,b.stateNode,d,c);b.memoizedProps=e;return b.stateNode;\ncase 9:return null;case 4:a:{I(b,b.stateNode.containerInfo);e=b.pendingProps;if(X.current)null===e&&(e=a&&a.memoizedProps,null==e?E(\"154\"):void 0);else if(null===e||b.memoizedProps===e){b=q(a,b);break a}null===a?b.child=bf(b,null,e,c):f(a,b,e);b.memoizedProps=e;b=b.child}return b;case 10:a:{c=b.pendingProps;if(X.current)null===c&&(c=b.memoizedProps);else if(null===c||b.memoizedProps===c){b=q(a,b);break a}f(a,b,c);b.memoizedProps=c;b=b.child}return b;default:E(\"156\")}},beginFailedWork:function(a,b,\nc){switch(b.tag){case 2:qe(b);break;case 3:k(b);break;default:E(\"157\")}b.effectTag|=64;null===a?b.child=null:b.child!==a.child&&(b.child=a.child);if(0===b.expirationTime||b.expirationTime>c)return v(a,b);b.firstEffect=null;b.lastEffect=null;b.child=null===a?cf(b,null,null,c):bf(b,a.child,null,c);2===b.tag&&(a=b.stateNode,b.memoizedProps=a.props,b.memoizedState=a.state);return b.child}}}\nfunction ef(a,b,c){function d(a){a.effectTag|=4}var e=a.createInstance,f=a.createTextInstance,g=a.appendInitialChild,h=a.finalizeInitialChildren,k=a.prepareUpdate,q=a.persistence,v=b.getRootHostContainer,y=b.popHostContext,u=b.getHostContext,z=b.popHostContainer,G=c.prepareToHydrateHostInstance,I=c.prepareToHydrateHostTextInstance,L=c.popHydrationState,N=void 0,J=void 0,w=void 0;a.mutation?(N=function(){},J=function(a,b,c){(b.updateQueue=c)&&d(b)},w=function(a,b,c,e){c!==e&&d(b)}):q?E(\"235\"):E(\"236\");\nreturn{completeWork:function(a,b,c){var m=b.pendingProps;if(null===m)m=b.memoizedProps;else if(2147483647!==b.expirationTime||2147483647===c)b.pendingProps=null;switch(b.tag){case 1:return null;case 2:return ne(b),null;case 3:z(b);V(X,b);V(ie,b);m=b.stateNode;m.pendingContext&&(m.context=m.pendingContext,m.pendingContext=null);if(null===a||null===a.child)L(b),b.effectTag&=-3;N(b);return null;case 5:y(b);c=v();var A=b.type;if(null!==a&&null!=b.stateNode){var p=a.memoizedProps,q=b.stateNode,x=u();q=\nk(q,A,p,m,c,x);J(a,b,q,A,p,m,c);a.ref!==b.ref&&(b.effectTag|=128)}else{if(!m)return null===b.stateNode?E(\"166\"):void 0,null;a=u();if(L(b))G(b,c,a)&&d(b);else{a=e(A,m,c,a,b);a:for(p=b.child;null!==p;){if(5===p.tag||6===p.tag)g(a,p.stateNode);else if(4!==p.tag&&null!==p.child){p.child[\"return\"]=p;p=p.child;continue}if(p===b)break;for(;null===p.sibling;){if(null===p[\"return\"]||p[\"return\"]===b)break a;p=p[\"return\"]}p.sibling[\"return\"]=p[\"return\"];p=p.sibling}h(a,A,m,c)&&d(b);b.stateNode=a}null!==b.ref&&\n(b.effectTag|=128)}return null;case 6:if(a&&null!=b.stateNode)w(a,b,a.memoizedProps,m);else{if(\"string\"!==typeof m)return null===b.stateNode?E(\"166\"):void 0,null;a=v();c=u();L(b)?I(b)&&d(b):b.stateNode=f(m,a,c,b)}return null;case 7:(m=b.memoizedProps)?void 0:E(\"165\");b.tag=8;A=[];a:for((p=b.stateNode)&&(p[\"return\"]=b);null!==p;){if(5===p.tag||6===p.tag||4===p.tag)E(\"247\");else if(9===p.tag)A.push(p.type);else if(null!==p.child){p.child[\"return\"]=p;p=p.child;continue}for(;null===p.sibling;){if(null===\np[\"return\"]||p[\"return\"]===b)break a;p=p[\"return\"]}p.sibling[\"return\"]=p[\"return\"];p=p.sibling}p=m.handler;m=p(m.props,A);b.child=bf(b,null!==a?a.child:null,m,c);return b.child;case 8:return b.tag=7,null;case 9:return null;case 10:return null;case 4:return z(b),N(b),null;case 0:E(\"167\");default:E(\"156\")}}}}\nfunction ff(a,b){function c(a){var c=a.ref;if(null!==c)try{c(null)}catch(A){b(a,A)}}function d(a){\"function\"===typeof Ee&&Ee(a);switch(a.tag){case 2:c(a);var d=a.stateNode;if(\"function\"===typeof d.componentWillUnmount)try{d.props=a.memoizedProps,d.state=a.memoizedState,d.componentWillUnmount()}catch(A){b(a,A)}break;case 5:c(a);break;case 7:e(a.stateNode);break;case 4:k&&g(a)}}function e(a){for(var b=a;;)if(d(b),null===b.child||k&&4===b.tag){if(b===a)break;for(;null===b.sibling;){if(null===b[\"return\"]||\nb[\"return\"]===a)return;b=b[\"return\"]}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}else b.child[\"return\"]=b,b=b.child}function f(a){return 5===a.tag||3===a.tag||4===a.tag}function g(a){for(var b=a,c=!1,f=void 0,g=void 0;;){if(!c){c=b[\"return\"];a:for(;;){null===c?E(\"160\"):void 0;switch(c.tag){case 5:f=c.stateNode;g=!1;break a;case 3:f=c.stateNode.containerInfo;g=!0;break a;case 4:f=c.stateNode.containerInfo;g=!0;break a}c=c[\"return\"]}c=!0}if(5===b.tag||6===b.tag)e(b),g?J(f,b.stateNode):N(f,b.stateNode);\nelse if(4===b.tag?f=b.stateNode.containerInfo:d(b),null!==b.child){b.child[\"return\"]=b;b=b.child;continue}if(b===a)break;for(;null===b.sibling;){if(null===b[\"return\"]||b[\"return\"]===a)return;b=b[\"return\"];4===b.tag&&(c=!1)}b.sibling[\"return\"]=b[\"return\"];b=b.sibling}}var h=a.getPublicInstance,k=a.mutation;a=a.persistence;k||(a?E(\"235\"):E(\"236\"));var q=k.commitMount,v=k.commitUpdate,y=k.resetTextContent,u=k.commitTextUpdate,z=k.appendChild,G=k.appendChildToContainer,I=k.insertBefore,L=k.insertInContainerBefore,\nN=k.removeChild,J=k.removeChildFromContainer;return{commitResetTextContent:function(a){y(a.stateNode)},commitPlacement:function(a){a:{for(var b=a[\"return\"];null!==b;){if(f(b)){var c=b;break a}b=b[\"return\"]}E(\"160\");c=void 0}var d=b=void 0;switch(c.tag){case 5:b=c.stateNode;d=!1;break;case 3:b=c.stateNode.containerInfo;d=!0;break;case 4:b=c.stateNode.containerInfo;d=!0;break;default:E(\"161\")}c.effectTag&16&&(y(b),c.effectTag&=-17);a:b:for(c=a;;){for(;null===c.sibling;){if(null===c[\"return\"]||f(c[\"return\"])){c=\nnull;break a}c=c[\"return\"]}c.sibling[\"return\"]=c[\"return\"];for(c=c.sibling;5!==c.tag&&6!==c.tag;){if(c.effectTag&2)continue b;if(null===c.child||4===c.tag)continue b;else c.child[\"return\"]=c,c=c.child}if(!(c.effectTag&2)){c=c.stateNode;break a}}for(var e=a;;){if(5===e.tag||6===e.tag)c?d?L(b,e.stateNode,c):I(b,e.stateNode,c):d?G(b,e.stateNode):z(b,e.stateNode);else if(4!==e.tag&&null!==e.child){e.child[\"return\"]=e;e=e.child;continue}if(e===a)break;for(;null===e.sibling;){if(null===e[\"return\"]||e[\"return\"]===\na)return;e=e[\"return\"]}e.sibling[\"return\"]=e[\"return\"];e=e.sibling}},commitDeletion:function(a){g(a);a[\"return\"]=null;a.child=null;a.alternate&&(a.alternate.child=null,a.alternate[\"return\"]=null)},commitWork:function(a,b){switch(b.tag){case 2:break;case 5:var c=b.stateNode;if(null!=c){var d=b.memoizedProps;a=null!==a?a.memoizedProps:d;var e=b.type,f=b.updateQueue;b.updateQueue=null;null!==f&&v(c,f,e,a,d,b)}break;case 6:null===b.stateNode?E(\"162\"):void 0;c=b.memoizedProps;u(b.stateNode,null!==a?a.memoizedProps:\nc,c);break;case 3:break;default:E(\"163\")}},commitLifeCycles:function(a,b){switch(b.tag){case 2:var c=b.stateNode;if(b.effectTag&4)if(null===a)c.props=b.memoizedProps,c.state=b.memoizedState,c.componentDidMount();else{var d=a.memoizedProps;a=a.memoizedState;c.props=b.memoizedProps;c.state=b.memoizedState;c.componentDidUpdate(d,a)}b=b.updateQueue;null!==b&&Ke(b,c);break;case 3:c=b.updateQueue;null!==c&&Ke(c,null!==b.child?b.child.stateNode:null);break;case 5:c=b.stateNode;null===a&&b.effectTag&4&&q(c,\nb.type,b.memoizedProps,b);break;case 6:break;case 4:break;default:E(\"163\")}},commitAttachRef:function(a){var b=a.ref;if(null!==b){var c=a.stateNode;switch(a.tag){case 5:b(h(c));break;default:b(c)}}},commitDetachRef:function(a){a=a.ref;null!==a&&a(null)}}}var gf={};\nfunction hf(a){function b(a){a===gf?E(\"174\"):void 0;return a}var c=a.getChildHostContext,d=a.getRootHostContext,e={current:gf},f={current:gf},g={current:gf};return{getHostContext:function(){return b(e.current)},getRootHostContainer:function(){return b(g.current)},popHostContainer:function(a){V(e,a);V(f,a);V(g,a)},popHostContext:function(a){f.current===a&&(V(e,a),V(f,a))},pushHostContainer:function(a,b){W(g,b,a);b=d(b);W(f,a,a);W(e,b,a)},pushHostContext:function(a){var d=b(g.current),h=b(e.current);\nd=c(h,a.type,d);h!==d&&(W(f,a,a),W(e,d,a))},resetHostContainer:function(){e.current=gf;g.current=gf}}}\nfunction jf(a){function b(a,b){var c=new Y(5,null,0);c.type=\"DELETED\";c.stateNode=b;c[\"return\"]=a;c.effectTag=8;null!==a.lastEffect?(a.lastEffect.nextEffect=c,a.lastEffect=c):a.firstEffect=a.lastEffect=c}function c(a,b){switch(a.tag){case 5:return b=f(b,a.type,a.pendingProps),null!==b?(a.stateNode=b,!0):!1;case 6:return b=g(b,a.pendingProps),null!==b?(a.stateNode=b,!0):!1;default:return!1}}function d(a){for(a=a[\"return\"];null!==a&&5!==a.tag&&3!==a.tag;)a=a[\"return\"];y=a}var e=a.shouldSetTextContent;\na=a.hydration;if(!a)return{enterHydrationState:function(){return!1},resetHydrationState:function(){},tryToClaimNextHydratableInstance:function(){},prepareToHydrateHostInstance:function(){E(\"175\")},prepareToHydrateHostTextInstance:function(){E(\"176\")},popHydrationState:function(){return!1}};var f=a.canHydrateInstance,g=a.canHydrateTextInstance,h=a.getNextHydratableSibling,k=a.getFirstHydratableChild,q=a.hydrateInstance,v=a.hydrateTextInstance,y=null,u=null,z=!1;return{enterHydrationState:function(a){u=\nk(a.stateNode.containerInfo);y=a;return z=!0},resetHydrationState:function(){u=y=null;z=!1},tryToClaimNextHydratableInstance:function(a){if(z){var d=u;if(d){if(!c(a,d)){d=h(d);if(!d||!c(a,d)){a.effectTag|=2;z=!1;y=a;return}b(y,u)}y=a;u=k(d)}else a.effectTag|=2,z=!1,y=a}},prepareToHydrateHostInstance:function(a,b,c){b=q(a.stateNode,a.type,a.memoizedProps,b,c,a);a.updateQueue=b;return null!==b?!0:!1},prepareToHydrateHostTextInstance:function(a){return v(a.stateNode,a.memoizedProps,a)},popHydrationState:function(a){if(a!==\ny)return!1;if(!z)return d(a),z=!0,!1;var c=a.type;if(5!==a.tag||\"head\"!==c&&\"body\"!==c&&!e(c,a.memoizedProps))for(c=u;c;)b(a,c),c=h(c);d(a);u=y?h(a.stateNode):null;return!0}}}\nfunction kf(a){function b(a){Qb=ja=!0;var b=a.stateNode;b.current===a?E(\"177\"):void 0;b.isReadyForCommit=!1;id.current=null;if(1<a.effectTag)if(null!==a.lastEffect){a.lastEffect.nextEffect=a;var c=a.firstEffect}else c=a;else c=a.firstEffect;yg();for(t=c;null!==t;){var d=!1,e=void 0;try{for(;null!==t;){var f=t.effectTag;f&16&&zg(t);if(f&128){var g=t.alternate;null!==g&&Ag(g)}switch(f&-242){case 2:Ne(t);t.effectTag&=-3;break;case 6:Ne(t);t.effectTag&=-3;Oe(t.alternate,t);break;case 4:Oe(t.alternate,\nt);break;case 8:Sc=!0,Bg(t),Sc=!1}t=t.nextEffect}}catch(Tc){d=!0,e=Tc}d&&(null===t?E(\"178\"):void 0,h(t,e),null!==t&&(t=t.nextEffect))}Cg();b.current=a;for(t=c;null!==t;){c=!1;d=void 0;try{for(;null!==t;){var k=t.effectTag;k&36&&Dg(t.alternate,t);k&128&&Eg(t);if(k&64)switch(e=t,f=void 0,null!==R&&(f=R.get(e),R[\"delete\"](e),null==f&&null!==e.alternate&&(e=e.alternate,f=R.get(e),R[\"delete\"](e))),null==f?E(\"184\"):void 0,e.tag){case 2:e.stateNode.componentDidCatch(f.error,{componentStack:f.componentStack});\nbreak;case 3:null===ca&&(ca=f.error);break;default:E(\"157\")}var Qc=t.nextEffect;t.nextEffect=null;t=Qc}}catch(Tc){c=!0,d=Tc}c&&(null===t?E(\"178\"):void 0,h(t,d),null!==t&&(t=t.nextEffect))}ja=Qb=!1;\"function\"===typeof De&&De(a.stateNode);ha&&(ha.forEach(G),ha=null);null!==ca&&(a=ca,ca=null,Ob(a));b=b.current.expirationTime;0===b&&(qa=R=null);return b}function c(a){for(;;){var b=Fg(a.alternate,a,H),c=a[\"return\"],d=a.sibling;var e=a;if(2147483647===H||2147483647!==e.expirationTime){if(2!==e.tag&&3!==\ne.tag)var f=0;else f=e.updateQueue,f=null===f?0:f.expirationTime;for(var g=e.child;null!==g;)0!==g.expirationTime&&(0===f||f>g.expirationTime)&&(f=g.expirationTime),g=g.sibling;e.expirationTime=f}if(null!==b)return b;null!==c&&(null===c.firstEffect&&(c.firstEffect=a.firstEffect),null!==a.lastEffect&&(null!==c.lastEffect&&(c.lastEffect.nextEffect=a.firstEffect),c.lastEffect=a.lastEffect),1<a.effectTag&&(null!==c.lastEffect?c.lastEffect.nextEffect=a:c.firstEffect=a,c.lastEffect=a));if(null!==d)return d;\nif(null!==c)a=c;else{a.stateNode.isReadyForCommit=!0;break}}return null}function d(a){var b=rg(a.alternate,a,H);null===b&&(b=c(a));id.current=null;return b}function e(a){var b=Gg(a.alternate,a,H);null===b&&(b=c(a));id.current=null;return b}function f(a){if(null!==R){if(!(0===H||H>a))if(H<=Uc)for(;null!==F;)F=k(F)?e(F):d(F);else for(;null!==F&&!A();)F=k(F)?e(F):d(F)}else if(!(0===H||H>a))if(H<=Uc)for(;null!==F;)F=d(F);else for(;null!==F&&!A();)F=d(F)}function g(a,b){ja?E(\"243\"):void 0;ja=!0;a.isReadyForCommit=\n!1;if(a!==ra||b!==H||null===F){for(;-1<he;)ge[he]=null,he--;je=D;ie.current=D;X.current=!1;x();ra=a;H=b;F=se(ra.current,null,b)}var c=!1,d=null;try{f(b)}catch(Rc){c=!0,d=Rc}for(;c;){if(eb){ca=d;break}var g=F;if(null===g)eb=!0;else{var k=h(g,d);null===k?E(\"183\"):void 0;if(!eb){try{c=k;d=b;for(k=c;null!==g;){switch(g.tag){case 2:ne(g);break;case 5:qg(g);break;case 3:p(g);break;case 4:p(g)}if(g===k||g.alternate===k)break;g=g[\"return\"]}F=e(c);f(d)}catch(Rc){c=!0;d=Rc;continue}break}}}b=ca;eb=ja=!1;ca=\nnull;null!==b&&Ob(b);return a.isReadyForCommit?a.current.alternate:null}function h(a,b){var c=id.current=null,d=!1,e=!1,f=null;if(3===a.tag)c=a,q(a)&&(eb=!0);else for(var g=a[\"return\"];null!==g&&null===c;){2===g.tag?\"function\"===typeof g.stateNode.componentDidCatch&&(d=!0,f=jd(g),c=g,e=!0):3===g.tag&&(c=g);if(q(g)){if(Sc||null!==ha&&(ha.has(g)||null!==g.alternate&&ha.has(g.alternate)))return null;c=null;e=!1}g=g[\"return\"]}if(null!==c){null===qa&&(qa=new Set);qa.add(c);var h=\"\";g=a;do{a:switch(g.tag){case 0:case 1:case 2:case 5:var k=\ng._debugOwner,Qc=g._debugSource;var m=jd(g);var n=null;k&&(n=jd(k));k=Qc;m=\"\\n in \"+(m||\"Unknown\")+(k?\" (at \"+k.fileName.replace(/^.*[\\\\\\/]/,\"\")+\":\"+k.lineNumber+\")\":n?\" (created by \"+n+\")\":\"\");break a;default:m=\"\"}h+=m;g=g[\"return\"]}while(g);g=h;a=jd(a);null===R&&(R=new Map);b={componentName:a,componentStack:g,error:b,errorBoundary:d?c.stateNode:null,errorBoundaryFound:d,errorBoundaryName:f,willRetry:e};R.set(c,b);try{var p=b.error;p&&p.suppressReactErrorLogging||console.error(p)}catch(Vc){Vc&&\nVc.suppressReactErrorLogging||console.error(Vc)}Qb?(null===ha&&(ha=new Set),ha.add(c)):G(c);return c}null===ca&&(ca=b);return null}function k(a){return null!==R&&(R.has(a)||null!==a.alternate&&R.has(a.alternate))}function q(a){return null!==qa&&(qa.has(a)||null!==a.alternate&&qa.has(a.alternate))}function v(){return 20*(((I()+100)/20|0)+1)}function y(a){return 0!==ka?ka:ja?Qb?1:H:!Hg||a.internalContextTag&1?v():1}function u(a,b){return z(a,b,!1)}function z(a,b){for(;null!==a;){if(0===a.expirationTime||\na.expirationTime>b)a.expirationTime=b;null!==a.alternate&&(0===a.alternate.expirationTime||a.alternate.expirationTime>b)&&(a.alternate.expirationTime=b);if(null===a[\"return\"])if(3===a.tag){var c=a.stateNode;!ja&&c===ra&&b<H&&(F=ra=null,H=0);var d=c,e=b;Rb>Ig&&E(\"185\");if(null===d.nextScheduledRoot)d.remainingExpirationTime=e,null===O?(sa=O=d,d.nextScheduledRoot=d):(O=O.nextScheduledRoot=d,O.nextScheduledRoot=sa);else{var f=d.remainingExpirationTime;if(0===f||e<f)d.remainingExpirationTime=e}Fa||(la?\nSb&&(ma=d,na=1,m(ma,na)):1===e?w(1,null):L(e));!ja&&c===ra&&b<H&&(F=ra=null,H=0)}else break;a=a[\"return\"]}}function G(a){z(a,1,!0)}function I(){return Uc=((Wc()-Pe)/10|0)+2}function L(a){if(0!==Tb){if(a>Tb)return;Jg(Xc)}var b=Wc()-Pe;Tb=a;Xc=Kg(J,{timeout:10*(a-2)-b})}function N(){var a=0,b=null;if(null!==O)for(var c=O,d=sa;null!==d;){var e=d.remainingExpirationTime;if(0===e){null===c||null===O?E(\"244\"):void 0;if(d===d.nextScheduledRoot){sa=O=d.nextScheduledRoot=null;break}else if(d===sa)sa=e=d.nextScheduledRoot,\nO.nextScheduledRoot=e,d.nextScheduledRoot=null;else if(d===O){O=c;O.nextScheduledRoot=sa;d.nextScheduledRoot=null;break}else c.nextScheduledRoot=d.nextScheduledRoot,d.nextScheduledRoot=null;d=c.nextScheduledRoot}else{if(0===a||e<a)a=e,b=d;if(d===O)break;c=d;d=d.nextScheduledRoot}}c=ma;null!==c&&c===b?Rb++:Rb=0;ma=b;na=a}function J(a){w(0,a)}function w(a,b){fb=b;for(N();null!==ma&&0!==na&&(0===a||na<=a)&&!Yc;)m(ma,na),N();null!==fb&&(Tb=0,Xc=-1);0!==na&&L(na);fb=null;Yc=!1;Rb=0;if(Ub)throw a=Zc,Zc=\nnull,Ub=!1,a;}function m(a,c){Fa?E(\"245\"):void 0;Fa=!0;if(c<=I()){var d=a.finishedWork;null!==d?(a.finishedWork=null,a.remainingExpirationTime=b(d)):(a.finishedWork=null,d=g(a,c),null!==d&&(a.remainingExpirationTime=b(d)))}else d=a.finishedWork,null!==d?(a.finishedWork=null,a.remainingExpirationTime=b(d)):(a.finishedWork=null,d=g(a,c),null!==d&&(A()?a.finishedWork=d:a.remainingExpirationTime=b(d)));Fa=!1}function A(){return null===fb||fb.timeRemaining()>Lg?!1:Yc=!0}function Ob(a){null===ma?E(\"246\"):\nvoid 0;ma.remainingExpirationTime=0;Ub||(Ub=!0,Zc=a)}var r=hf(a),n=jf(a),p=r.popHostContainer,qg=r.popHostContext,x=r.resetHostContainer,Me=df(a,r,n,u,y),rg=Me.beginWork,Gg=Me.beginFailedWork,Fg=ef(a,r,n).completeWork;r=ff(a,h);var zg=r.commitResetTextContent,Ne=r.commitPlacement,Bg=r.commitDeletion,Oe=r.commitWork,Dg=r.commitLifeCycles,Eg=r.commitAttachRef,Ag=r.commitDetachRef,Wc=a.now,Kg=a.scheduleDeferredCallback,Jg=a.cancelDeferredCallback,Hg=a.useSyncScheduling,yg=a.prepareForCommit,Cg=a.resetAfterCommit,\nPe=Wc(),Uc=2,ka=0,ja=!1,F=null,ra=null,H=0,t=null,R=null,qa=null,ha=null,ca=null,eb=!1,Qb=!1,Sc=!1,sa=null,O=null,Tb=0,Xc=-1,Fa=!1,ma=null,na=0,Yc=!1,Ub=!1,Zc=null,fb=null,la=!1,Sb=!1,Ig=1E3,Rb=0,Lg=1;return{computeAsyncExpiration:v,computeExpirationForFiber:y,scheduleWork:u,batchedUpdates:function(a,b){var c=la;la=!0;try{return a(b)}finally{(la=c)||Fa||w(1,null)}},unbatchedUpdates:function(a){if(la&&!Sb){Sb=!0;try{return a()}finally{Sb=!1}}return a()},flushSync:function(a){var b=la;la=!0;try{a:{var c=\nka;ka=1;try{var d=a();break a}finally{ka=c}d=void 0}return d}finally{la=b,Fa?E(\"187\"):void 0,w(1,null)}},deferredUpdates:function(a){var b=ka;ka=v();try{return a()}finally{ka=b}}}}\nfunction lf(a){function b(a){a=od(a);return null===a?null:a.stateNode}var c=a.getPublicInstance;a=kf(a);var d=a.computeAsyncExpiration,e=a.computeExpirationForFiber,f=a.scheduleWork;return{createContainer:function(a,b){var c=new Y(3,null,0);a={current:c,containerInfo:a,pendingChildren:null,remainingExpirationTime:0,isReadyForCommit:!1,finishedWork:null,context:null,pendingContext:null,hydrate:b,nextScheduledRoot:null};return c.stateNode=a},updateContainer:function(a,b,c,q){var g=b.current;if(c){c=\nc._reactInternalFiber;var h;b:{2===kd(c)&&2===c.tag?void 0:E(\"170\");for(h=c;3!==h.tag;){if(le(h)){h=h.stateNode.__reactInternalMemoizedMergedChildContext;break b}(h=h[\"return\"])?void 0:E(\"171\")}h=h.stateNode.context}c=le(c)?pe(c,h):h}else c=D;null===b.context?b.context=c:b.pendingContext=c;b=q;b=void 0===b?null:b;q=null!=a&&null!=a.type&&null!=a.type.prototype&&!0===a.type.prototype.unstable_isAsyncReactComponent?d():e(g);He(g,{expirationTime:q,partialState:{element:a},callback:b,isReplace:!1,isForced:!1,\nnextCallback:null,next:null});f(g,q)},batchedUpdates:a.batchedUpdates,unbatchedUpdates:a.unbatchedUpdates,deferredUpdates:a.deferredUpdates,flushSync:a.flushSync,getPublicRootInstance:function(a){a=a.current;if(!a.child)return null;switch(a.child.tag){case 5:return c(a.child.stateNode);default:return a.child.stateNode}},findHostInstance:b,findHostInstanceWithNoPortals:function(a){a=pd(a);return null===a?null:a.stateNode},injectIntoDevTools:function(a){var c=a.findFiberByHostInstance;return Ce(B({},\na,{findHostInstanceByFiber:function(a){return b(a)},findFiberByHostInstance:function(a){return c?c(a):null}}))}}}var mf=Object.freeze({default:lf}),nf=mf&&lf||mf,of=nf[\"default\"]?nf[\"default\"]:nf;function pf(a,b,c){var d=3<arguments.length&&void 0!==arguments[3]?arguments[3]:null;return{$$typeof:Ue,key:null==d?null:\"\"+d,children:a,containerInfo:b,implementation:c}}var qf=\"object\"===typeof performance&&\"function\"===typeof performance.now,rf=void 0;rf=qf?function(){return performance.now()}:function(){return Date.now()};\nvar sf=void 0,tf=void 0;\nif(l.canUseDOM)if(\"function\"!==typeof requestIdleCallback||\"function\"!==typeof cancelIdleCallback){var uf=null,vf=!1,wf=-1,xf=!1,yf=0,zf=33,Af=33,Bf;Bf=qf?{didTimeout:!1,timeRemaining:function(){var a=yf-performance.now();return 0<a?a:0}}:{didTimeout:!1,timeRemaining:function(){var a=yf-Date.now();return 0<a?a:0}};var Cf=\"__reactIdleCallback$\"+Math.random().toString(36).slice(2);window.addEventListener(\"message\",function(a){if(a.source===window&&a.data===Cf){vf=!1;a=rf();if(0>=yf-a)if(-1!==wf&&wf<=\na)Bf.didTimeout=!0;else{xf||(xf=!0,requestAnimationFrame(Df));return}else Bf.didTimeout=!1;wf=-1;a=uf;uf=null;null!==a&&a(Bf)}},!1);var Df=function(a){xf=!1;var b=a-yf+Af;b<Af&&zf<Af?(8>b&&(b=8),Af=b<zf?zf:b):zf=b;yf=a+Af;vf||(vf=!0,window.postMessage(Cf,\"*\"))};sf=function(a,b){uf=a;null!=b&&\"number\"===typeof b.timeout&&(wf=rf()+b.timeout);xf||(xf=!0,requestAnimationFrame(Df));return 0};tf=function(){uf=null;vf=!1;wf=-1}}else sf=window.requestIdleCallback,tf=window.cancelIdleCallback;else sf=function(a){return setTimeout(function(){a({timeRemaining:function(){return Infinity}})})},\ntf=function(a){clearTimeout(a)};var Ef=/^[:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD][:A-Z_a-z\\u00C0-\\u00D6\\u00D8-\\u00F6\\u00F8-\\u02FF\\u0370-\\u037D\\u037F-\\u1FFF\\u200C-\\u200D\\u2070-\\u218F\\u2C00-\\u2FEF\\u3001-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFFD\\-.0-9\\u00B7\\u0300-\\u036F\\u203F-\\u2040]*$/,Ff={},Gf={};\nfunction Hf(a){if(Gf.hasOwnProperty(a))return!0;if(Ff.hasOwnProperty(a))return!1;if(Ef.test(a))return Gf[a]=!0;Ff[a]=!0;return!1}\nfunction If(a,b,c){var d=wa(b);if(d&&va(b,c)){var e=d.mutationMethod;e?e(a,c):null==c||d.hasBooleanValue&&!c||d.hasNumericValue&&isNaN(c)||d.hasPositiveNumericValue&&1>c||d.hasOverloadedBooleanValue&&!1===c?Jf(a,b):d.mustUseProperty?a[d.propertyName]=c:(b=d.attributeName,(e=d.attributeNamespace)?a.setAttributeNS(e,b,\"\"+c):d.hasBooleanValue||d.hasOverloadedBooleanValue&&!0===c?a.setAttribute(b,\"\"):a.setAttribute(b,\"\"+c))}else Kf(a,b,va(b,c)?c:null)}\nfunction Kf(a,b,c){Hf(b)&&(null==c?a.removeAttribute(b):a.setAttribute(b,\"\"+c))}function Jf(a,b){var c=wa(b);c?(b=c.mutationMethod)?b(a,void 0):c.mustUseProperty?a[c.propertyName]=c.hasBooleanValue?!1:\"\":a.removeAttribute(c.attributeName):a.removeAttribute(b)}\nfunction Lf(a,b){var c=b.value,d=b.checked;return B({type:void 0,step:void 0,min:void 0,max:void 0},b,{defaultChecked:void 0,defaultValue:void 0,value:null!=c?c:a._wrapperState.initialValue,checked:null!=d?d:a._wrapperState.initialChecked})}function Mf(a,b){var c=b.defaultValue;a._wrapperState={initialChecked:null!=b.checked?b.checked:b.defaultChecked,initialValue:null!=b.value?b.value:c,controlled:\"checkbox\"===b.type||\"radio\"===b.type?null!=b.checked:null!=b.value}}\nfunction Nf(a,b){b=b.checked;null!=b&&If(a,\"checked\",b)}function Of(a,b){Nf(a,b);var c=b.value;if(null!=c)if(0===c&&\"\"===a.value)a.value=\"0\";else if(\"number\"===b.type){if(b=parseFloat(a.value)||0,c!=b||c==b&&a.value!=c)a.value=\"\"+c}else a.value!==\"\"+c&&(a.value=\"\"+c);else null==b.value&&null!=b.defaultValue&&a.defaultValue!==\"\"+b.defaultValue&&(a.defaultValue=\"\"+b.defaultValue),null==b.checked&&null!=b.defaultChecked&&(a.defaultChecked=!!b.defaultChecked)}\nfunction Pf(a,b){switch(b.type){case \"submit\":case \"reset\":break;case \"color\":case \"date\":case \"datetime\":case \"datetime-local\":case \"month\":case \"time\":case \"week\":a.value=\"\";a.value=a.defaultValue;break;default:a.value=a.value}b=a.name;\"\"!==b&&(a.name=\"\");a.defaultChecked=!a.defaultChecked;a.defaultChecked=!a.defaultChecked;\"\"!==b&&(a.name=b)}function Qf(a){var b=\"\";aa.Children.forEach(a,function(a){null==a||\"string\"!==typeof a&&\"number\"!==typeof a||(b+=a)});return b}\nfunction Rf(a,b){a=B({children:void 0},b);if(b=Qf(b.children))a.children=b;return a}function Sf(a,b,c,d){a=a.options;if(b){b={};for(var e=0;e<c.length;e++)b[\"$\"+c[e]]=!0;for(c=0;c<a.length;c++)e=b.hasOwnProperty(\"$\"+a[c].value),a[c].selected!==e&&(a[c].selected=e),e&&d&&(a[c].defaultSelected=!0)}else{c=\"\"+c;b=null;for(e=0;e<a.length;e++){if(a[e].value===c){a[e].selected=!0;d&&(a[e].defaultSelected=!0);return}null!==b||a[e].disabled||(b=a[e])}null!==b&&(b.selected=!0)}}\nfunction Tf(a,b){var c=b.value;a._wrapperState={initialValue:null!=c?c:b.defaultValue,wasMultiple:!!b.multiple}}function Uf(a,b){null!=b.dangerouslySetInnerHTML?E(\"91\"):void 0;return B({},b,{value:void 0,defaultValue:void 0,children:\"\"+a._wrapperState.initialValue})}function Vf(a,b){var c=b.value;null==c&&(c=b.defaultValue,b=b.children,null!=b&&(null!=c?E(\"92\"):void 0,Array.isArray(b)&&(1>=b.length?void 0:E(\"93\"),b=b[0]),c=\"\"+b),null==c&&(c=\"\"));a._wrapperState={initialValue:\"\"+c}}\nfunction Wf(a,b){var c=b.value;null!=c&&(c=\"\"+c,c!==a.value&&(a.value=c),null==b.defaultValue&&(a.defaultValue=c));null!=b.defaultValue&&(a.defaultValue=b.defaultValue)}function Xf(a){var b=a.textContent;b===a._wrapperState.initialValue&&(a.value=b)}var Yf={html:\"http://www.w3.org/1999/xhtml\",mathml:\"http://www.w3.org/1998/Math/MathML\",svg:\"http://www.w3.org/2000/svg\"};\nfunction Zf(a){switch(a){case \"svg\":return\"http://www.w3.org/2000/svg\";case \"math\":return\"http://www.w3.org/1998/Math/MathML\";default:return\"http://www.w3.org/1999/xhtml\"}}function $f(a,b){return null==a||\"http://www.w3.org/1999/xhtml\"===a?Zf(b):\"http://www.w3.org/2000/svg\"===a&&\"foreignObject\"===b?\"http://www.w3.org/1999/xhtml\":a}\nvar ag=void 0,bg=function(a){return\"undefined\"!==typeof MSApp&&MSApp.execUnsafeLocalFunction?function(b,c,d,e){MSApp.execUnsafeLocalFunction(function(){return a(b,c,d,e)})}:a}(function(a,b){if(a.namespaceURI!==Yf.svg||\"innerHTML\"in a)a.innerHTML=b;else{ag=ag||document.createElement(\"div\");ag.innerHTML=\"\\x3csvg\\x3e\"+b+\"\\x3c/svg\\x3e\";for(b=ag.firstChild;a.firstChild;)a.removeChild(a.firstChild);for(;b.firstChild;)a.appendChild(b.firstChild)}});\nfunction cg(a,b){if(b){var c=a.firstChild;if(c&&c===a.lastChild&&3===c.nodeType){c.nodeValue=b;return}}a.textContent=b}\nvar dg={animationIterationCount:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,\nstopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},eg=[\"Webkit\",\"ms\",\"Moz\",\"O\"];Object.keys(dg).forEach(function(a){eg.forEach(function(b){b=b+a.charAt(0).toUpperCase()+a.substring(1);dg[b]=dg[a]})});\nfunction fg(a,b){a=a.style;for(var c in b)if(b.hasOwnProperty(c)){var d=0===c.indexOf(\"--\");var e=c;var f=b[c];e=null==f||\"boolean\"===typeof f||\"\"===f?\"\":d||\"number\"!==typeof f||0===f||dg.hasOwnProperty(e)&&dg[e]?(\"\"+f).trim():f+\"px\";\"float\"===c&&(c=\"cssFloat\");d?a.setProperty(c,e):a[c]=e}}var gg=B({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});\nfunction hg(a,b,c){b&&(gg[a]&&(null!=b.children||null!=b.dangerouslySetInnerHTML?E(\"137\",a,c()):void 0),null!=b.dangerouslySetInnerHTML&&(null!=b.children?E(\"60\"):void 0,\"object\"===typeof b.dangerouslySetInnerHTML&&\"__html\"in b.dangerouslySetInnerHTML?void 0:E(\"61\")),null!=b.style&&\"object\"!==typeof b.style?E(\"62\",c()):void 0)}\nfunction ig(a,b){if(-1===a.indexOf(\"-\"))return\"string\"===typeof b.is;switch(a){case \"annotation-xml\":case \"color-profile\":case \"font-face\":case \"font-face-src\":case \"font-face-uri\":case \"font-face-format\":case \"font-face-name\":case \"missing-glyph\":return!1;default:return!0}}var jg=Yf.html,kg=C.thatReturns(\"\");\nfunction lg(a,b){a=9===a.nodeType||11===a.nodeType?a:a.ownerDocument;var c=Hd(a);b=Sa[b];for(var d=0;d<b.length;d++){var e=b[d];c.hasOwnProperty(e)&&c[e]||(\"topScroll\"===e?wd(\"topScroll\",\"scroll\",a):\"topFocus\"===e||\"topBlur\"===e?(wd(\"topFocus\",\"focus\",a),wd(\"topBlur\",\"blur\",a),c.topBlur=!0,c.topFocus=!0):\"topCancel\"===e?(yc(\"cancel\",!0)&&wd(\"topCancel\",\"cancel\",a),c.topCancel=!0):\"topClose\"===e?(yc(\"close\",!0)&&wd(\"topClose\",\"close\",a),c.topClose=!0):Dd.hasOwnProperty(e)&&U(e,Dd[e],a),c[e]=!0)}}\nvar mg={topAbort:\"abort\",topCanPlay:\"canplay\",topCanPlayThrough:\"canplaythrough\",topDurationChange:\"durationchange\",topEmptied:\"emptied\",topEncrypted:\"encrypted\",topEnded:\"ended\",topError:\"error\",topLoadedData:\"loadeddata\",topLoadedMetadata:\"loadedmetadata\",topLoadStart:\"loadstart\",topPause:\"pause\",topPlay:\"play\",topPlaying:\"playing\",topProgress:\"progress\",topRateChange:\"ratechange\",topSeeked:\"seeked\",topSeeking:\"seeking\",topStalled:\"stalled\",topSuspend:\"suspend\",topTimeUpdate:\"timeupdate\",topVolumeChange:\"volumechange\",\ntopWaiting:\"waiting\"};function ng(a,b,c,d){c=9===c.nodeType?c:c.ownerDocument;d===jg&&(d=Zf(a));d===jg?\"script\"===a?(a=c.createElement(\"div\"),a.innerHTML=\"\\x3cscript\\x3e\\x3c/script\\x3e\",a=a.removeChild(a.firstChild)):a=\"string\"===typeof b.is?c.createElement(a,{is:b.is}):c.createElement(a):a=c.createElementNS(d,a);return a}function og(a,b){return(9===b.nodeType?b:b.ownerDocument).createTextNode(a)}\nfunction pg(a,b,c,d){var e=ig(b,c);switch(b){case \"iframe\":case \"object\":U(\"topLoad\",\"load\",a);var f=c;break;case \"video\":case \"audio\":for(f in mg)mg.hasOwnProperty(f)&&U(f,mg[f],a);f=c;break;case \"source\":U(\"topError\",\"error\",a);f=c;break;case \"img\":case \"image\":U(\"topError\",\"error\",a);U(\"topLoad\",\"load\",a);f=c;break;case \"form\":U(\"topReset\",\"reset\",a);U(\"topSubmit\",\"submit\",a);f=c;break;case \"details\":U(\"topToggle\",\"toggle\",a);f=c;break;case \"input\":Mf(a,c);f=Lf(a,c);U(\"topInvalid\",\"invalid\",a);\nlg(d,\"onChange\");break;case \"option\":f=Rf(a,c);break;case \"select\":Tf(a,c);f=B({},c,{value:void 0});U(\"topInvalid\",\"invalid\",a);lg(d,\"onChange\");break;case \"textarea\":Vf(a,c);f=Uf(a,c);U(\"topInvalid\",\"invalid\",a);lg(d,\"onChange\");break;default:f=c}hg(b,f,kg);var g=f,h;for(h in g)if(g.hasOwnProperty(h)){var k=g[h];\"style\"===h?fg(a,k,kg):\"dangerouslySetInnerHTML\"===h?(k=k?k.__html:void 0,null!=k&&bg(a,k)):\"children\"===h?\"string\"===typeof k?(\"textarea\"!==b||\"\"!==k)&&cg(a,k):\"number\"===typeof k&&cg(a,\n\"\"+k):\"suppressContentEditableWarning\"!==h&&\"suppressHydrationWarning\"!==h&&\"autoFocus\"!==h&&(Ra.hasOwnProperty(h)?null!=k&&lg(d,h):e?Kf(a,h,k):null!=k&&If(a,h,k))}switch(b){case \"input\":Bc(a);Pf(a,c);break;case \"textarea\":Bc(a);Xf(a,c);break;case \"option\":null!=c.value&&a.setAttribute(\"value\",c.value);break;case \"select\":a.multiple=!!c.multiple;b=c.value;null!=b?Sf(a,!!c.multiple,b,!1):null!=c.defaultValue&&Sf(a,!!c.multiple,c.defaultValue,!0);break;default:\"function\"===typeof f.onClick&&(a.onclick=\nC)}}\nfunction sg(a,b,c,d,e){var f=null;switch(b){case \"input\":c=Lf(a,c);d=Lf(a,d);f=[];break;case \"option\":c=Rf(a,c);d=Rf(a,d);f=[];break;case \"select\":c=B({},c,{value:void 0});d=B({},d,{value:void 0});f=[];break;case \"textarea\":c=Uf(a,c);d=Uf(a,d);f=[];break;default:\"function\"!==typeof c.onClick&&\"function\"===typeof d.onClick&&(a.onclick=C)}hg(b,d,kg);var g,h;a=null;for(g in c)if(!d.hasOwnProperty(g)&&c.hasOwnProperty(g)&&null!=c[g])if(\"style\"===g)for(h in b=c[g],b)b.hasOwnProperty(h)&&(a||(a={}),a[h]=\n\"\");else\"dangerouslySetInnerHTML\"!==g&&\"children\"!==g&&\"suppressContentEditableWarning\"!==g&&\"suppressHydrationWarning\"!==g&&\"autoFocus\"!==g&&(Ra.hasOwnProperty(g)?f||(f=[]):(f=f||[]).push(g,null));for(g in d){var k=d[g];b=null!=c?c[g]:void 0;if(d.hasOwnProperty(g)&&k!==b&&(null!=k||null!=b))if(\"style\"===g)if(b){for(h in b)!b.hasOwnProperty(h)||k&&k.hasOwnProperty(h)||(a||(a={}),a[h]=\"\");for(h in k)k.hasOwnProperty(h)&&b[h]!==k[h]&&(a||(a={}),a[h]=k[h])}else a||(f||(f=[]),f.push(g,a)),a=k;else\"dangerouslySetInnerHTML\"===\ng?(k=k?k.__html:void 0,b=b?b.__html:void 0,null!=k&&b!==k&&(f=f||[]).push(g,\"\"+k)):\"children\"===g?b===k||\"string\"!==typeof k&&\"number\"!==typeof k||(f=f||[]).push(g,\"\"+k):\"suppressContentEditableWarning\"!==g&&\"suppressHydrationWarning\"!==g&&(Ra.hasOwnProperty(g)?(null!=k&&lg(e,g),f||b===k||(f=[])):(f=f||[]).push(g,k))}a&&(f=f||[]).push(\"style\",a);return f}\nfunction tg(a,b,c,d,e){\"input\"===c&&\"radio\"===e.type&&null!=e.name&&Nf(a,e);ig(c,d);d=ig(c,e);for(var f=0;f<b.length;f+=2){var g=b[f],h=b[f+1];\"style\"===g?fg(a,h,kg):\"dangerouslySetInnerHTML\"===g?bg(a,h):\"children\"===g?cg(a,h):d?null!=h?Kf(a,g,h):a.removeAttribute(g):null!=h?If(a,g,h):Jf(a,g)}switch(c){case \"input\":Of(a,e);break;case \"textarea\":Wf(a,e);break;case \"select\":a._wrapperState.initialValue=void 0,b=a._wrapperState.wasMultiple,a._wrapperState.wasMultiple=!!e.multiple,c=e.value,null!=c?Sf(a,\n!!e.multiple,c,!1):b!==!!e.multiple&&(null!=e.defaultValue?Sf(a,!!e.multiple,e.defaultValue,!0):Sf(a,!!e.multiple,e.multiple?[]:\"\",!1))}}\nfunction ug(a,b,c,d,e){switch(b){case \"iframe\":case \"object\":U(\"topLoad\",\"load\",a);break;case \"video\":case \"audio\":for(var f in mg)mg.hasOwnProperty(f)&&U(f,mg[f],a);break;case \"source\":U(\"topError\",\"error\",a);break;case \"img\":case \"image\":U(\"topError\",\"error\",a);U(\"topLoad\",\"load\",a);break;case \"form\":U(\"topReset\",\"reset\",a);U(\"topSubmit\",\"submit\",a);break;case \"details\":U(\"topToggle\",\"toggle\",a);break;case \"input\":Mf(a,c);U(\"topInvalid\",\"invalid\",a);lg(e,\"onChange\");break;case \"select\":Tf(a,c);\nU(\"topInvalid\",\"invalid\",a);lg(e,\"onChange\");break;case \"textarea\":Vf(a,c),U(\"topInvalid\",\"invalid\",a),lg(e,\"onChange\")}hg(b,c,kg);d=null;for(var g in c)c.hasOwnProperty(g)&&(f=c[g],\"children\"===g?\"string\"===typeof f?a.textContent!==f&&(d=[\"children\",f]):\"number\"===typeof f&&a.textContent!==\"\"+f&&(d=[\"children\",\"\"+f]):Ra.hasOwnProperty(g)&&null!=f&&lg(e,g));switch(b){case \"input\":Bc(a);Pf(a,c);break;case \"textarea\":Bc(a);Xf(a,c);break;case \"select\":case \"option\":break;default:\"function\"===typeof c.onClick&&\n(a.onclick=C)}return d}function vg(a,b){return a.nodeValue!==b}\nvar wg=Object.freeze({createElement:ng,createTextNode:og,setInitialProperties:pg,diffProperties:sg,updateProperties:tg,diffHydratedProperties:ug,diffHydratedText:vg,warnForUnmatchedText:function(){},warnForDeletedHydratableElement:function(){},warnForDeletedHydratableText:function(){},warnForInsertedHydratedElement:function(){},warnForInsertedHydratedText:function(){},restoreControlledState:function(a,b,c){switch(b){case \"input\":Of(a,c);b=c.name;if(\"radio\"===c.type&&null!=b){for(c=a;c.parentNode;)c=\nc.parentNode;c=c.querySelectorAll(\"input[name\\x3d\"+JSON.stringify(\"\"+b)+'][type\\x3d\"radio\"]');for(b=0;b<c.length;b++){var d=c[b];if(d!==a&&d.form===a.form){var e=rb(d);e?void 0:E(\"90\");Cc(d);Of(d,e)}}}break;case \"textarea\":Wf(a,c);break;case \"select\":b=c.value,null!=b&&Sf(a,!!c.multiple,b,!1)}}});nc.injectFiberControlledHostComponent(wg);var xg=null,Mg=null;function Ng(a){return!(!a||1!==a.nodeType&&9!==a.nodeType&&11!==a.nodeType&&(8!==a.nodeType||\" react-mount-point-unstable \"!==a.nodeValue))}\nfunction Og(a){a=a?9===a.nodeType?a.documentElement:a.firstChild:null;return!(!a||1!==a.nodeType||!a.hasAttribute(\"data-reactroot\"))}\nvar Z=of({getRootHostContext:function(a){var b=a.nodeType;switch(b){case 9:case 11:a=(a=a.documentElement)?a.namespaceURI:$f(null,\"\");break;default:b=8===b?a.parentNode:a,a=b.namespaceURI||null,b=b.tagName,a=$f(a,b)}return a},getChildHostContext:function(a,b){return $f(a,b)},getPublicInstance:function(a){return a},prepareForCommit:function(){xg=td;var a=da();if(Kd(a)){if(\"selectionStart\"in a)var b={start:a.selectionStart,end:a.selectionEnd};else a:{var c=window.getSelection&&window.getSelection();\nif(c&&0!==c.rangeCount){b=c.anchorNode;var d=c.anchorOffset,e=c.focusNode;c=c.focusOffset;try{b.nodeType,e.nodeType}catch(z){b=null;break a}var f=0,g=-1,h=-1,k=0,q=0,v=a,y=null;b:for(;;){for(var u;;){v!==b||0!==d&&3!==v.nodeType||(g=f+d);v!==e||0!==c&&3!==v.nodeType||(h=f+c);3===v.nodeType&&(f+=v.nodeValue.length);if(null===(u=v.firstChild))break;y=v;v=u}for(;;){if(v===a)break b;y===b&&++k===d&&(g=f);y===e&&++q===c&&(h=f);if(null!==(u=v.nextSibling))break;v=y;y=v.parentNode}v=u}b=-1===g||-1===h?null:\n{start:g,end:h}}else b=null}b=b||{start:0,end:0}}else b=null;Mg={focusedElem:a,selectionRange:b};ud(!1)},resetAfterCommit:function(){var a=Mg,b=da(),c=a.focusedElem,d=a.selectionRange;if(b!==c&&fa(document.documentElement,c)){if(Kd(c))if(b=d.start,a=d.end,void 0===a&&(a=b),\"selectionStart\"in c)c.selectionStart=b,c.selectionEnd=Math.min(a,c.value.length);else if(window.getSelection){b=window.getSelection();var e=c[Eb()].length;a=Math.min(d.start,e);d=void 0===d.end?a:Math.min(d.end,e);!b.extend&&a>\nd&&(e=d,d=a,a=e);e=Jd(c,a);var f=Jd(c,d);if(e&&f&&(1!==b.rangeCount||b.anchorNode!==e.node||b.anchorOffset!==e.offset||b.focusNode!==f.node||b.focusOffset!==f.offset)){var g=document.createRange();g.setStart(e.node,e.offset);b.removeAllRanges();a>d?(b.addRange(g),b.extend(f.node,f.offset)):(g.setEnd(f.node,f.offset),b.addRange(g))}}b=[];for(a=c;a=a.parentNode;)1===a.nodeType&&b.push({element:a,left:a.scrollLeft,top:a.scrollTop});ia(c);for(c=0;c<b.length;c++)a=b[c],a.element.scrollLeft=a.left,a.element.scrollTop=\na.top}Mg=null;ud(xg);xg=null},createInstance:function(a,b,c,d,e){a=ng(a,b,c,d);a[Q]=e;a[ob]=b;return a},appendInitialChild:function(a,b){a.appendChild(b)},finalizeInitialChildren:function(a,b,c,d){pg(a,b,c,d);a:{switch(b){case \"button\":case \"input\":case \"select\":case \"textarea\":a=!!c.autoFocus;break a}a=!1}return a},prepareUpdate:function(a,b,c,d,e){return sg(a,b,c,d,e)},shouldSetTextContent:function(a,b){return\"textarea\"===a||\"string\"===typeof b.children||\"number\"===typeof b.children||\"object\"===\ntypeof b.dangerouslySetInnerHTML&&null!==b.dangerouslySetInnerHTML&&\"string\"===typeof b.dangerouslySetInnerHTML.__html},shouldDeprioritizeSubtree:function(a,b){return!!b.hidden},createTextInstance:function(a,b,c,d){a=og(a,b);a[Q]=d;return a},now:rf,mutation:{commitMount:function(a){a.focus()},commitUpdate:function(a,b,c,d,e){a[ob]=e;tg(a,b,c,d,e)},resetTextContent:function(a){a.textContent=\"\"},commitTextUpdate:function(a,b,c){a.nodeValue=c},appendChild:function(a,b){a.appendChild(b)},appendChildToContainer:function(a,\nb){8===a.nodeType?a.parentNode.insertBefore(b,a):a.appendChild(b)},insertBefore:function(a,b,c){a.insertBefore(b,c)},insertInContainerBefore:function(a,b,c){8===a.nodeType?a.parentNode.insertBefore(b,c):a.insertBefore(b,c)},removeChild:function(a,b){a.removeChild(b)},removeChildFromContainer:function(a,b){8===a.nodeType?a.parentNode.removeChild(b):a.removeChild(b)}},hydration:{canHydrateInstance:function(a,b){return 1!==a.nodeType||b.toLowerCase()!==a.nodeName.toLowerCase()?null:a},canHydrateTextInstance:function(a,\nb){return\"\"===b||3!==a.nodeType?null:a},getNextHydratableSibling:function(a){for(a=a.nextSibling;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a},getFirstHydratableChild:function(a){for(a=a.firstChild;a&&1!==a.nodeType&&3!==a.nodeType;)a=a.nextSibling;return a},hydrateInstance:function(a,b,c,d,e,f){a[Q]=f;a[ob]=c;return ug(a,b,c,e,d)},hydrateTextInstance:function(a,b,c){a[Q]=c;return vg(a,b)},didNotMatchHydratedContainerTextInstance:function(){},didNotMatchHydratedTextInstance:function(){},\ndidNotHydrateContainerInstance:function(){},didNotHydrateInstance:function(){},didNotFindHydratableContainerInstance:function(){},didNotFindHydratableContainerTextInstance:function(){},didNotFindHydratableInstance:function(){},didNotFindHydratableTextInstance:function(){}},scheduleDeferredCallback:sf,cancelDeferredCallback:tf,useSyncScheduling:!0});rc=Z.batchedUpdates;\nfunction Pg(a,b,c,d,e){Ng(c)?void 0:E(\"200\");var f=c._reactRootContainer;if(f)Z.updateContainer(b,f,a,e);else{d=d||Og(c);if(!d)for(f=void 0;f=c.lastChild;)c.removeChild(f);var g=Z.createContainer(c,d);f=c._reactRootContainer=g;Z.unbatchedUpdates(function(){Z.updateContainer(b,g,a,e)})}return Z.getPublicRootInstance(f)}function Qg(a,b){var c=2<arguments.length&&void 0!==arguments[2]?arguments[2]:null;Ng(b)?void 0:E(\"200\");return pf(a,b,null,c)}\nfunction Rg(a,b){this._reactRootContainer=Z.createContainer(a,b)}Rg.prototype.render=function(a,b){Z.updateContainer(a,this._reactRootContainer,null,b)};Rg.prototype.unmount=function(a){Z.updateContainer(null,this._reactRootContainer,null,a)};\nvar Sg={createPortal:Qg,findDOMNode:function(a){if(null==a)return null;if(1===a.nodeType)return a;var b=a._reactInternalFiber;if(b)return Z.findHostInstance(b);\"function\"===typeof a.render?E(\"188\"):E(\"213\",Object.keys(a))},hydrate:function(a,b,c){return Pg(null,a,b,!0,c)},render:function(a,b,c){return Pg(null,a,b,!1,c)},unstable_renderSubtreeIntoContainer:function(a,b,c,d){null==a||void 0===a._reactInternalFiber?E(\"38\"):void 0;return Pg(a,b,c,!1,d)},unmountComponentAtNode:function(a){Ng(a)?void 0:\nE(\"40\");return a._reactRootContainer?(Z.unbatchedUpdates(function(){Pg(null,null,a,!1,function(){a._reactRootContainer=null})}),!0):!1},unstable_createPortal:Qg,unstable_batchedUpdates:tc,unstable_deferredUpdates:Z.deferredUpdates,flushSync:Z.flushSync,__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED:{EventPluginHub:mb,EventPluginRegistry:Va,EventPropagators:Cb,ReactControlledComponent:qc,ReactDOMComponentTree:sb,ReactDOMEventListener:xd}};\nZ.injectIntoDevTools({findFiberByHostInstance:pb,bundleType:0,version:\"16.2.0\",rendererPackageName:\"react-dom\"});var Tg=Object.freeze({default:Sg}),Ug=Tg&&Sg||Tg;module.exports=Ug[\"default\"]?Ug[\"default\"]:Ug;\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\nvar canUseDOM = !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n\n/**\n * Simple, lightweight module assisting with the detection and context of\n * Worker. Helps avoid circular dependencies and allows code to reason about\n * whether or not they are in a Worker, even if they never include the main\n * `ReactWorker` dependency.\n */\nvar ExecutionEnvironment = {\n\n canUseDOM: canUseDOM,\n\n canUseWorkers: typeof Worker !== 'undefined',\n\n canUseEventListeners: canUseDOM && !!(window.addEventListener || window.attachEvent),\n\n canUseViewport: canUseDOM && !!window.screen,\n\n isInWorker: !canUseDOM // For now, this is true - might change in the future.\n\n};\n\nmodule.exports = ExecutionEnvironment;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar emptyFunction = require('./emptyFunction');\n\n/**\n * Upstream version of event listener. Does not take into account specific\n * nature of platform.\n */\nvar EventListener = {\n /**\n * Listen to DOM events during the bubble phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n listen: function listen(target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, false);\n return {\n remove: function remove() {\n target.removeEventListener(eventType, callback, false);\n }\n };\n } else if (target.attachEvent) {\n target.attachEvent('on' + eventType, callback);\n return {\n remove: function remove() {\n target.detachEvent('on' + eventType, callback);\n }\n };\n }\n },\n\n /**\n * Listen to DOM events during the capture phase.\n *\n * @param {DOMEventTarget} target DOM element to register listener on.\n * @param {string} eventType Event type, e.g. 'click' or 'mouseover'.\n * @param {function} callback Callback function.\n * @return {object} Object with a `remove` method.\n */\n capture: function capture(target, eventType, callback) {\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, true);\n return {\n remove: function remove() {\n target.removeEventListener(eventType, callback, true);\n }\n };\n } else {\n if (process.env.NODE_ENV !== 'production') {\n console.error('Attempted to listen to events during the capture phase on a ' + 'browser that does not support the capture phase. Your application ' + 'will not receive some events.');\n }\n return {\n remove: emptyFunction\n };\n }\n },\n\n registerDefault: function registerDefault() {}\n};\n\nmodule.exports = EventListener;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/* eslint-disable fb-www/typeof-undefined */\n\n/**\n * Same as document.activeElement but wraps in a try-catch block. In IE it is\n * not safe to call document.activeElement if there is nothing focused.\n *\n * The activeElement will be null only if the document or document body is not\n * yet defined.\n *\n * @param {?DOMDocument} doc Defaults to current document.\n * @return {?DOMElement}\n */\nfunction getActiveElement(doc) /*?DOMElement*/{\n doc = doc || (typeof document !== 'undefined' ? document : undefined);\n if (typeof doc === 'undefined') {\n return null;\n }\n try {\n return doc.activeElement || doc.body;\n } catch (e) {\n return doc.body;\n }\n}\n\nmodule.exports = getActiveElement;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n * \n */\n\n/*eslint-disable no-self-compare */\n\n'use strict';\n\nvar hasOwnProperty = Object.prototype.hasOwnProperty;\n\n/**\n * inlined Object.is polyfill to avoid requiring consumers ship their own\n * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is\n */\nfunction is(x, y) {\n // SameValue algorithm\n if (x === y) {\n // Steps 1-5, 7-10\n // Steps 6.b-6.e: +0 != -0\n // Added the nonzero y check to make Flow happy, but it is redundant\n return x !== 0 || y !== 0 || 1 / x === 1 / y;\n } else {\n // Step 6.a: NaN == NaN\n return x !== x && y !== y;\n }\n}\n\n/**\n * Performs equality by iterating through keys on an object and returning false\n * when any key has values which are not strictly equal between the arguments.\n * Returns true when the values of all keys are strictly equal.\n */\nfunction shallowEqual(objA, objB) {\n if (is(objA, objB)) {\n return true;\n }\n\n if (typeof objA !== 'object' || objA === null || typeof objB !== 'object' || objB === null) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n // Test for A's keys different from B.\n for (var i = 0; i < keysA.length; i++) {\n if (!hasOwnProperty.call(objB, keysA[i]) || !is(objA[keysA[i]], objB[keysA[i]])) {\n return false;\n }\n }\n\n return true;\n}\n\nmodule.exports = shallowEqual;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * \n */\n\nvar isTextNode = require('./isTextNode');\n\n/*eslint-disable no-bitwise */\n\n/**\n * Checks if a given DOM node contains or is another DOM node.\n */\nfunction containsNode(outerNode, innerNode) {\n if (!outerNode || !innerNode) {\n return false;\n } else if (outerNode === innerNode) {\n return true;\n } else if (isTextNode(outerNode)) {\n return false;\n } else if (isTextNode(innerNode)) {\n return containsNode(outerNode, innerNode.parentNode);\n } else if ('contains' in outerNode) {\n return outerNode.contains(innerNode);\n } else if (outerNode.compareDocumentPosition) {\n return !!(outerNode.compareDocumentPosition(innerNode) & 16);\n } else {\n return false;\n }\n}\n\nmodule.exports = containsNode;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\nvar isNode = require('./isNode');\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM text node.\n */\nfunction isTextNode(object) {\n return isNode(object) && object.nodeType == 3;\n}\n\nmodule.exports = isTextNode;","'use strict';\n\n/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * @typechecks\n */\n\n/**\n * @param {*} object The object to check.\n * @return {boolean} Whether or not the object is a DOM node.\n */\nfunction isNode(object) {\n var doc = object ? object.ownerDocument || object : document;\n var defaultView = doc.defaultView || window;\n return !!(object && (typeof defaultView.Node === 'function' ? object instanceof defaultView.Node : typeof object === 'object' && typeof object.nodeType === 'number' && typeof object.nodeName === 'string'));\n}\n\nmodule.exports = isNode;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * @param {DOMElement} node input/textarea to focus\n */\n\nfunction focusNode(node) {\n // IE8 can throw \"Can't move focus to the control because it is invisible,\n // not enabled, or of a type that does not accept the focus.\" for all kinds of\n // reasons that are too expensive and fragile to test.\n try {\n node.focus();\n } catch (e) {}\n}\n\nmodule.exports = focusNode;","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar emptyFunction = require('fbjs/lib/emptyFunction');\nvar invariant = require('fbjs/lib/invariant');\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n invariant(\n false,\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim\n };\n\n ReactPropTypes.checkPropTypes = emptyFunction;\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n */\n\n'use strict';\n\n/**\n * Use invariant() to assert state which your program assumes to be true.\n *\n * Provide sprintf-style format (only %s is supported) and arguments\n * to provide information about what broke and what you were\n * expecting.\n *\n * The invariant message will be stripped in production, but the invariant\n * will remain to ensure logic does not differ in production.\n */\n\nvar validateFormat = function validateFormat(format) {};\n\nif (process.env.NODE_ENV !== 'production') {\n validateFormat = function validateFormat(format) {\n if (format === undefined) {\n throw new Error('invariant requires an error message argument');\n }\n };\n}\n\nfunction invariant(condition, format, a, b, c, d, e, f) {\n validateFormat(format);\n\n if (!condition) {\n var error;\n if (format === undefined) {\n error = new Error('Minified exception occurred; use the non-minified dev environment ' + 'for the full error message and additional helpful warnings.');\n } else {\n var args = [a, b, c, d, e, f];\n var argIndex = 0;\n error = new Error(format.replace(/%s/g, function () {\n return args[argIndex++];\n }));\n error.name = 'Invariant Violation';\n }\n\n error.framesToPop = 1; // we don't care about invariant's own frame\n throw error;\n }\n}\n\nmodule.exports = invariant;","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) { return typeof obj; } : function (obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; /* eslint global-require: \"off\" */\n/* eslint no-console: \"off\" */\n\nvar _intl = require('intl');\n\nvar _intl2 = _interopRequireDefault(_intl);\n\nvar _moment = require('moment');\n\nvar _moment2 = _interopRequireDefault(_moment);\n\nrequire('moment/min/locales');\n\nvar _Base = require('./Base');\n\nvar _Base2 = _interopRequireDefault(_Base);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nexports.default = {\n _localeKey: 'en',\n _translationsObject: {},\n _getTranslations: null,\n _getLocale: null,\n _handleMissingTranslation: function _handleMissingTranslation(text) {\n return text.split('.').pop();\n },\n\n get _translations() {\n return this._getTranslations ? this._getTranslations() : this._translationsObject;\n },\n\n set _translations(translations) {\n this._translationsObject = translations;\n },\n\n get _locale() {\n return this._getLocale ? this._getLocale() : this._localeKey;\n },\n\n set _locale(locale) {\n this._localeKey = locale;\n },\n\n setLocale: function setLocale(locale) {\n var rerenderComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n this._locale = locale;\n if (rerenderComponents) {\n this.forceComponentsUpdate();\n }\n },\n setTranslations: function setTranslations(translations) {\n var rerenderComponents = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : true;\n\n this._translations = translations;\n if (rerenderComponents) {\n this.forceComponentsUpdate();\n }\n },\n loadTranslations: function loadTranslations(translations) {\n console.error('I18n.loadTranslations is deprecated, please use I18n.setTranslations instead');\n this.setTranslations(translations);\n },\n setTranslationsGetter: function setTranslationsGetter(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Translations getter must be a function');\n }\n this._getTranslations = fn;\n },\n setLocaleGetter: function setLocaleGetter(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Locale getter must be a function');\n }\n this._getLocale = fn;\n },\n setHandleMissingTranslation: function setHandleMissingTranslation(fn) {\n if (typeof fn !== 'function') {\n throw new Error('Handle missing translation must be a function');\n }\n this._handleMissingTranslation = fn;\n },\n t: function t(key) {\n var replacements = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n return this._translate(key, replacements);\n },\n l: function l(value, options) {\n return this._localize(value, options);\n },\n _replace: function _replace(translation, replacements) {\n var _this = this;\n\n if (typeof translation === 'string') {\n var result = translation;\n Object.keys(replacements).forEach(function (replacement) {\n result = result.split('%{' + replacement + '}').join(replacements[replacement]);\n });\n return result;\n }\n if ((typeof translation === 'undefined' ? 'undefined' : _typeof(translation)) === 'object') {\n var _result = {};\n Object.keys(translation).forEach(function (translationKey) {\n _result[translationKey] = _this._replace(translation[translationKey], replacements);\n });\n return _result;\n }\n return null;\n },\n _translate: function _translate(key) {\n var replacements = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n var translation = '';\n try {\n var translationLocale = this._translations[this._locale] ? this._locale : this._locale.split('-')[0];\n translation = this._fetchTranslation(this._translations, translationLocale + '.' + key, replacements.count);\n } catch (err) {\n return this._handleMissingTranslation(key, replacements);\n }\n return this._replace(translation, replacements);\n },\n _localize: function _localize(value) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (options.dateFormat) {\n return (0, _moment2.default)(value, options.parseFormat, this._locale, Boolean(options.strictParse)).format(this.t(options.dateFormat));\n }\n if (typeof value === 'number') {\n if (global.Intl) {\n if (!(Intl.NumberFormat && Intl.NumberFormat.supportedLocalesOf(this._locale).length === 1)) {\n Intl.NumberFormat = _intl2.default.NumberFormat;\n }\n } else {\n global.Intl = _intl2.default;\n }\n return new Intl.NumberFormat(this._locale, options).format(value);\n }\n return value;\n },\n _fetchTranslation: function _fetchTranslation(translations, key) {\n var count = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n\n var _index = key.indexOf('.');\n if (typeof translations === 'undefined') {\n throw new Error('not found');\n }\n if (_index > -1) {\n return this._fetchTranslation(translations[key.substring(0, _index)], key.substr(_index + 1), count);\n }\n if (count !== null) {\n if (translations[key + '_' + count]) {\n // when key = 'items_3' if count is 3\n return translations[key + '_' + count];\n }\n if (count !== 1 && translations[key + '_plural']) {\n // when count is not simply singular, return _plural\n return translations[key + '_plural'];\n }\n }\n if (translations[key]) {\n return translations[key];\n }\n throw new Error('not found');\n },\n forceComponentsUpdate: function forceComponentsUpdate() {\n _Base2.default.rerenderAll();\n }\n};","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Base = function (_React$Component) {\n _inherits(Base, _React$Component);\n\n function Base() {\n _classCallCheck(this, Base);\n\n return _possibleConstructorReturn(this, (Base.__proto__ || Object.getPrototypeOf(Base)).apply(this, arguments));\n }\n\n _createClass(Base, [{\n key: 'componentDidMount',\n value: function componentDidMount() {\n Base.instances.push(this);\n }\n }, {\n key: 'componentWillUnmount',\n value: function componentWillUnmount() {\n Base.instances.splice(Base.instances.indexOf(this), 1);\n }\n }], [{\n key: 'rerenderAll',\n value: function rerenderAll() {\n Base.instances.forEach(function (instance) {\n return instance.forceUpdate();\n });\n }\n }]);\n\n return Base;\n}(_react2.default.Component);\n\nBase.instances = [];\nexports.default = Base;","import * as React from \"react\";\nimport assetUrl from \"../support/asset_url\";\n\ninterface IconProps {\n name: string;\n title?: string;\n iconExtraClassName?: string;\n role?: string;\n}\n\nexport const Icon: React.SFC<IconProps> = ({ name, title, iconExtraClassName, role = \"none presentation\" }) => {\n let titleElement = null;\n if (title) {\n titleElement = <title>{title}</title>;\n }\n\n return (\n <svg className={`icon ${iconExtraClassName} ${name}`} role={role}>\n {titleElement}\n <use\n xmlnsXlink=\"http://www.w3.org/1999/xlink\"\n xlinkHref={`${assetUrl(\"icons.svg\")}#${name}`}\n />\n </svg>\n );\n};\n\nIcon.defaultProps = {\n iconExtraClassName: \"icon--before\"\n};\n\ninterface IconWithoutUserAgentProps {\n name: string;\n title?: string;\n iconExtraClassName?: string;\n role?: string;\n}\n\nconst IconWithoutUserAgent: React.SFC<IconWithoutUserAgentProps> = ({\n name,\n title,\n iconExtraClassName,\n role = \"none presentation\"\n}) => <Icon name={name} title={title} iconExtraClassName={iconExtraClassName} role={role} />;\n\nexport default IconWithoutUserAgent;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentData\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"comments\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentData\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"comments\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentData\"},\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"comments\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentData\"},\"directives\":[]}]}}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":229}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/comment_data.fragment.graphql\\\"\\n\\nfragment Comment on Comment {\\n ...CommentData\\n comments {\\n ...CommentData\\n comments {\\n ...CommentData\\n comments {\\n ...CommentData\\n }\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/comment_data.fragment.graphql\").definitions));\n\n\n module.exports = doc;\n \n","/**\n * Copyright 2015, Yahoo! Inc.\n * Copyrights licensed under the New BSD License. See the accompanying LICENSE file for terms.\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.hoistNonReactStatics = factory());\n}(this, (function () {\n 'use strict';\n \n var REACT_STATICS = {\n childContextTypes: true,\n contextTypes: true,\n defaultProps: true,\n displayName: true,\n getDefaultProps: true,\n getDerivedStateFromProps: true,\n mixins: true,\n propTypes: true,\n type: true\n };\n \n var KNOWN_STATICS = {\n name: true,\n length: true,\n prototype: true,\n caller: true,\n callee: true,\n arguments: true,\n arity: true\n };\n \n var defineProperty = Object.defineProperty;\n var getOwnPropertyNames = Object.getOwnPropertyNames;\n var getOwnPropertySymbols = Object.getOwnPropertySymbols;\n var getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n var getPrototypeOf = Object.getPrototypeOf;\n var objectPrototype = getPrototypeOf && getPrototypeOf(Object);\n \n return function hoistNonReactStatics(targetComponent, sourceComponent, blacklist) {\n if (typeof sourceComponent !== 'string') { // don't hoist over string (html) components\n \n if (objectPrototype) {\n var inheritedComponent = getPrototypeOf(sourceComponent);\n if (inheritedComponent && inheritedComponent !== objectPrototype) {\n hoistNonReactStatics(targetComponent, inheritedComponent, blacklist);\n }\n }\n \n var keys = getOwnPropertyNames(sourceComponent);\n \n if (getOwnPropertySymbols) {\n keys = keys.concat(getOwnPropertySymbols(sourceComponent));\n }\n \n for (var i = 0; i < keys.length; ++i) {\n var key = keys[i];\n if (!REACT_STATICS[key] && !KNOWN_STATICS[key] && (!blacklist || !blacklist[key])) {\n var descriptor = getOwnPropertyDescriptor(sourceComponent, key);\n try { // Avoid failures from read-only properties\n defineProperty(targetComponent, key, descriptor);\n } catch (e) {}\n }\n }\n \n return targetComponent;\n }\n \n return targetComponent;\n };\n})));\n","module.exports = function(module) {\n\tif (!module.webpackPolyfill) {\n\t\tmodule.deprecate = function() {};\n\t\tmodule.paths = [];\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","var index = typeof fetch=='function' ? fetch.bind() : function(url, options) {\n\toptions = options || {};\n\treturn new Promise( function (resolve, reject) {\n\t\tvar request = new XMLHttpRequest();\n\n\t\trequest.open(options.method || 'get', url);\n\n\t\tfor (var i in options.headers) {\n\t\t\trequest.setRequestHeader(i, options.headers[i]);\n\t\t}\n\n\t\trequest.withCredentials = options.credentials=='include';\n\n\t\trequest.onload = function () {\n\t\t\tresolve(response());\n\t\t};\n\n\t\trequest.onerror = reject;\n\n\t\trequest.send(options.body);\n\n\t\tfunction response() {\n\t\t\tvar keys = [],\n\t\t\t\tall = [],\n\t\t\t\theaders = {},\n\t\t\t\theader;\n\n\t\t\trequest.getAllResponseHeaders().replace(/^(.*?):\\s*([\\s\\S]*?)$/gm, function (m, key, value) {\n\t\t\t\tkeys.push(key = key.toLowerCase());\n\t\t\t\tall.push([key, value]);\n\t\t\t\theader = headers[key];\n\t\t\t\theaders[key] = header ? (header + \",\" + value) : value;\n\t\t\t});\n\n\t\t\treturn {\n\t\t\t\tok: (request.status/200|0) == 1,\t\t// 200-299\n\t\t\t\tstatus: request.status,\n\t\t\t\tstatusText: request.statusText,\n\t\t\t\turl: request.responseURL,\n\t\t\t\tclone: response,\n\t\t\t\ttext: function () { return Promise.resolve(request.responseText); },\n\t\t\t\tjson: function () { return Promise.resolve(request.responseText).then(JSON.parse); },\n\t\t\t\tblob: function () { return Promise.resolve(new Blob([request.response])); },\n\t\t\t\theaders: {\n\t\t\t\t\tkeys: function () { return keys; },\n\t\t\t\t\tentries: function () { return all; },\n\t\t\t\t\tget: function (n) { return headers[n.toLowerCase()]; },\n\t\t\t\t\thas: function (n) { return n.toLowerCase() in headers; }\n\t\t\t\t}\n\t\t\t};\n\t\t}\n\t});\n};\n\nexport default index;\n//# sourceMappingURL=unfetch.es.js.map\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\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nvar 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çə saniyyə',\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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction 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}\nfunction 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar symbolMap = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n},\nnumberMap = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n};\n\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar symbolMap = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n},\nnumberMap = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n};\n\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction 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}\nfunction 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}\nfunction lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n}\nfunction mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n}\nfunction 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\nvar 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\nreturn 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\nfunction 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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('_');\nfunction plural(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n}\nfunction 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\nvar cs = moment.defineLocale('cs', {\n months : months,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months)),\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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nfunction 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\nvar 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\nreturn 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\nfunction 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\nvar 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\nreturn 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\nfunction 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\nvar 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\nreturn 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\nvar months = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n];\n\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n}\n\n\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nvar 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];\nvar 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\nvar 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\nreturn 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\nvar 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\nvar 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];\nvar 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\nvar 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\nreturn 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\nvar 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\nvar 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 monthsParseExact : true,\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 : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\n LLLL : 'dddd, MMMM [de] D [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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction 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\nvar 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 ];\nfunction 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}\nfunction verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n}\n\nvar 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\nreturn 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\nvar 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 minutt',\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ði',\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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nvar 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\nreturn 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\nvar 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\nvar monthsShort = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\nvar weekdays = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\nvar weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\nvar weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\nvar 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\nreturn 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\nvar 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\nreturn 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\nfunction 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 horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' hor'],\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\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n},\nnumberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\nfunction 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}\nfunction week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n}\n\nvar 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction plural(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n}\nfunction 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar ja = moment.defineLocale('ja', {\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 : '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日 HH:mm dddd',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日 HH:mm dddd'\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 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar km = moment.defineLocale('km', {\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 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\nreturn 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\nvar symbolMap = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n},\nnumberMap = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n};\n\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction 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}\nfunction processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n}\nfunction 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 */\nfunction 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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};\nfunction 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}\nfunction translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n}\nfunction special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n}\nfunction forms(key) {\n return units[key].split('_');\n}\nfunction 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}\nvar 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\nreturn 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\nvar 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 */\nfunction 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}\nfunction relativeTimeWithPlural(number, withoutSuffix, key) {\n return number + ' ' + format(units[key], number, withoutSuffix);\n}\nfunction relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units[key], number, withoutSuffix);\n}\nfunction relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n}\n\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n},\nnumberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nfunction 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar symbolMap = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n},\nnumberMap = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nvar 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];\nvar monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nvar 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|mei|ju[nl]i|april|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\nreturn 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\nvar 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\nvar 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];\nvar monthsRegex = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nvar 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|mei|ju[nl]i|april|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\nreturn 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\nvar 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\nreturn 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\nvar symbolMap = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n},\nnumberMap = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n};\n\nvar paIn = moment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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('_');\nfunction plural(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n}\nfunction 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nfunction 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nfunction 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}\nfunction 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}\nvar 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\nvar 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\nreturn 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\nvar months = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n];\nvar days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n];\n\nvar 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\nreturn 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\nvar 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\nreturn 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*/\nvar 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\nreturn 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\nvar 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('_');\nfunction plural(n) {\n return (n > 1) && (n < 5);\n}\nfunction 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\nvar 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\nreturn 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\nfunction 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 += withoutSuffix || isFuture ? 'sekund' : '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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\nfunction 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\nfunction 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\nfunction 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\nfunction 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\nvar 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\nreturn 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\nvar 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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.\nvar 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\nfunction 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn tzm;\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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn tzmLatn;\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\nvar 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\nreturn 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\nfunction 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}\nfunction 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}\nfunction weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\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}\nfunction processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n}\n\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar months = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n];\nvar days = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n];\n\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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 1st is the first week of the year.\n }\n});\n\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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\nreturn 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\nvar 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 : '[下]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\nreturn zhTw;\n\n})));\n","/* eslint-disable no-return-assign, react/no-unused-prop-types, max-lines */\nimport * as classnames from \"classnames\";\nimport * as React from \"react\";\nimport { graphql } from \"react-apollo\";\nimport * as uuid from \"uuid\";\n\nconst PropTypes = require(\"prop-types\");\n\nimport Icon from \"../application/icon.component\";\n\nconst { I18n, Translate } = require(\"react-i18nify\");\n\nimport {\n AddCommentFormCommentableFragment,\n AddCommentFormSessionFragment,\n addCommentMutation,\n CommentFragment,\n GetCommentsQuery\n} from \"../support/schema\";\n\ninterface AddCommentFormProps {\n session: AddCommentFormSessionFragment & {\n user: any;\n } | null;\n commentable: AddCommentFormCommentableFragment;\n rootCommentable: AddCommentFormCommentableFragment;\n showTitle?: boolean;\n submitButtonClassName?: string;\n autoFocus?: boolean;\n arguable?: boolean;\n userAllowedToComment?: boolean;\n addComment?: (data: { body: string, alignment: number, userGroupId?: string }, context: any) => void;\n onCommentAdded?: () => void;\n orderBy: string;\n commentsMaxLength: number;\n}\n\ninterface AddCommentFormState {\n disabled: boolean;\n error: boolean;\n alignment: number;\n remainingCharacterCount: number;\n}\n\n/**\n * Renders a form to create new comments.\n * @class\n * @augments Component\n */\nexport class AddCommentForm extends React.Component<AddCommentFormProps, AddCommentFormState> {\n public static defaultProps = {\n showTitle: true,\n submitButtonClassName: \"button button--sc\",\n arguable: false,\n autoFocus: false\n };\n\n public static contextTypes: any = {\n locale: PropTypes.string,\n toggleTranslations: PropTypes.bool\n };\n\n public bodyTextArea: HTMLTextAreaElement;\n public userGroupIdSelect: HTMLSelectElement;\n\n constructor(props: AddCommentFormProps) {\n super(props);\n\n this.state = {\n disabled: true,\n error: false,\n alignment: 0,\n remainingCharacterCount: props.commentsMaxLength\n };\n }\n\n public render() {\n return (\n <div className=\"add-comment\">\n {this._renderHeading()}\n {this._renderAccountMessage()}\n {this._renderOpinionButtons()}\n {this._renderForm()}\n </div>\n );\n }\n\n public componentDidMount() {\n this._attachMentions();\n }\n\n /**\n * Trick to reuse input_mentions.js logic\n */\n private _attachMentions() {\n window.$(document).trigger(\"attach-mentions-element\", this.bodyTextArea);\n }\n\n /**\n * Render the form heading based on showTitle prop\n * @private\n * @returns {Void|DOMElement} - The heading or an empty element\n */\n private _renderHeading() {\n const { showTitle } = this.props;\n\n if (showTitle) {\n return (\n <h4 className=\"section-heading\">\n {I18n.t(\"components.add_comment_form.title\")}\n </h4>\n );\n }\n\n return null;\n }\n\n /**\n * Render a message telling the user to sign in or sign up to leave a comment.\n * @private\n * @returns {Void|DOMElement} - The message or an empty element.\n */\n private _renderAccountMessage() {\n const { session } = this.props;\n\n if (!session) {\n return (\n <p>\n <Translate\n value=\"components.add_comment_form.account_message\"\n sign_in_url=\"/users/sign_in\"\n sign_up_url=\"/users/sign_up\"\n dangerousHTML={true}\n />\n </p>\n );\n }\n\n return null;\n }\n\n /**\n * Render the add comment form if session is present.\n * @private\n * @returns {Void|DOMElement} - The add comment form on an empty element.\n */\n private _renderForm() {\n const { session, submitButtonClassName, commentable: { id, type } } = this.props;\n const { disabled, remainingCharacterCount } = this.state;\n\n if (session) {\n return (\n <form onSubmit={this.addComment}>\n {this._renderCommentAs()}\n <div className=\"field\">\n <label className=\"show-for-sr\" htmlFor={`add-comment-${type}-${id}`}>{I18n.t(\"components.add_comment_form.form.body.label\")}</label>\n <div className=\"hashtags__container\">\n {this._renderTextArea()}\n </div>\n {this._renderTextAreaError()}\n <button\n type=\"submit\"\n className={submitButtonClassName}\n disabled={disabled}\n >\n {I18n.t(\"components.add_comment_form.form.submit\")}\n </button>\n <span className=\"remaining-character-count\">\n {I18n.t(\"components.add_comment_form.remaining_characters\", { count: remainingCharacterCount })}\n </span>\n </div>\n </form>\n );\n }\n\n return null;\n }\n\n /**\n * Render the form heading based on showTitle prop\n * @private\n * @returns {Void|DOMElement} - The heading or an empty element\n */\n private _renderTextArea() {\n const { commentable: { id, type }, autoFocus, commentsMaxLength } = this.props;\n const { error } = this.state;\n const className = classnames({ \"is-invalid-input\": error });\n\n const textAreaProps: any = {\n ref: (textarea: HTMLTextAreaElement) => {this.bodyTextArea = textarea; },\n id: `add-comment-${type}-${id}`,\n className,\n rows: \"4\",\n maxLength: commentsMaxLength,\n required: \"required\",\n pattern: `^(.){0,${commentsMaxLength}}$`,\n placeholder: I18n.t(\"components.add_comment_form.form.body.placeholder\"),\n onChange: (evt: React.ChangeEvent<HTMLTextAreaElement>) => this._checkCommentBody(evt.target.value, commentsMaxLength as number)\n };\n\n if (autoFocus) {\n textAreaProps.autoFocus = \"autoFocus\";\n }\n\n return (\n <textarea {...textAreaProps} />\n );\n }\n\n /**\n * Render the text area form error if state has an error\n * @private\n * @returns {Void|DOMElement} - The error or an empty element\n */\n private _renderTextAreaError() {\n const { commentsMaxLength } = this.props;\n const { error } = this.state;\n\n if (error) {\n return (\n <span className=\"form-error is-visible\">\n {I18n.t(\"components.add_comment_form.form.form_error\", { length: commentsMaxLength })}\n </span>\n );\n }\n\n return null;\n }\n\n private setAlignment = (alignment: number) => {\n return () => {\n this.setState({ alignment });\n };\n }\n\n /**\n * Render opinion buttons or not based on the arguable prop\n * @private\n * @returns {Void|DOMElement} - Returns nothing or a wrapper with buttons\n */\n private _renderOpinionButtons() {\n const { session, arguable } = this.props;\n const { alignment } = this.state;\n const buttonClassName = classnames(\"button\", \"tiny\", \"button--muted\");\n const okButtonClassName = classnames(buttonClassName, \"opinion-toggle--ok\", {\n \"is-active\": alignment === 1\n });\n const koButtonClassName = classnames(buttonClassName, \"opinion-toggle--ko\", {\n \"is-active\": alignment === -1\n });\n const neutralButtonClassName = classnames(buttonClassName, \"opinion-toggle--meh\", {\n \"is-active\": alignment === 0\n });\n\n if (session && arguable) {\n return (\n <div className=\"opinion-toggle button-group\">\n <button\n className={okButtonClassName}\n onClick={this.setAlignment(1)}\n >\n <Icon iconExtraClassName=\"\" name=\"icon-thumb-up\" />\n </button>\n <button\n className={neutralButtonClassName}\n onClick={this.setAlignment(0)}\n >\n {I18n.t(\"components.add_comment_form.opinion.neutral\")}\n </button>\n <button\n className={koButtonClassName}\n onClick={this.setAlignment(-1)}\n >\n <Icon iconExtraClassName=\"\" name=\"icon-thumb-down\" />\n </button>\n </div>\n );\n }\n\n return null;\n }\n\n private setUserGroupIdSelect = (select: HTMLSelectElement) => {this.userGroupIdSelect = select; };\n\n /**\n * Render a select with an option for each user's verified group\n * @private\n * @returns {Void|DOMElement} - Returns nothing or a form field.\n */\n private _renderCommentAs() {\n const { session, commentable: { id, type } } = this.props;\n\n if (session) {\n const { user, verifiedUserGroups } = session;\n\n if (verifiedUserGroups.length > 0) {\n return (\n <div className=\"field\">\n <label htmlFor={`add-comment-${type}-${id}-user-group-id`}>\n {I18n.t(\"components.add_comment_form.form.user_group_id.label\")}\n </label>\n <select\n ref={this.setUserGroupIdSelect}\n id={`add-comment-${type}-${id}-user-group-id`}\n >\n <option value=\"\">{user.name}</option>\n {\n verifiedUserGroups.map((userGroup) => (\n <option key={userGroup.id} value={userGroup.id}>{userGroup.name}</option>\n ))\n }\n </select>\n </div>\n );\n }\n }\n\n return null;\n }\n\n /**\n * Check comment's body and disable form if it's empty\n * @private\n * @param {string} body - The comment's body\n * @returns {Void} - Returns nothing\n */\n private _checkCommentBody(body: string, commentsMaxLength: number) {\n this.setState({\n disabled: body === \"\", error: body === \"\" || body.length > commentsMaxLength,\n remainingCharacterCount: commentsMaxLength - body.length\n });\n }\n\n /**\n * Handle form's submission and calls `addComment` prop with the value of the\n * form's textarea. It prevents the default form submission event.\n * @private\n * @param {DOMEvent} evt - The form's submission event\n * @returns {Void} - Returns nothing\n */\n private addComment = (evt: React.FormEvent<HTMLFormElement>) => {\n const { alignment } = this.state;\n const { addComment, onCommentAdded } = this.props;\n const addCommentParams: { body: string, alignment: number, userGroupId?: string } = { body: this.bodyTextArea.value, alignment };\n\n evt.preventDefault();\n\n if (this.userGroupIdSelect && this.userGroupIdSelect.value !== \"\") {\n addCommentParams.userGroupId = this.userGroupIdSelect.value;\n }\n\n if (addComment) {\n addComment(addCommentParams, this.context);\n }\n\n this.bodyTextArea.value = \"\";\n this.setState({ alignment: 0 });\n\n if (onCommentAdded) {\n onCommentAdded();\n }\n }\n}\n\nconst addCommentMutation = require(\"../mutations/add_comment.mutation.graphql\");\nconst getCommentsQuery = require(\"../queries/comments.query.graphql\");\n\nconst AddCommentFormWithMutation = graphql<addCommentMutation, AddCommentFormProps>(addCommentMutation, {\n props: ({ ownProps, mutate }) => ({\n addComment: ({ body, alignment, userGroupId }: { body: string, alignment: number, userGroupId: string }, { locale, toggleTranslations }: any) => {\n if (mutate) {\n mutate({\n variables: {\n locale,\n toggleTranslations,\n commentableId: ownProps.commentable.id,\n commentableType: ownProps.commentable.type,\n body,\n alignment,\n userGroupId\n },\n optimisticResponse: {\n commentable: {\n __typename: \"CommentableMutation\",\n addComment: {\n __typename: \"Comment\",\n id: uuid(),\n sgid: uuid(),\n type: \"Decidim::Comments::Comment\",\n createdAt: new Date().toISOString(),\n body,\n formattedBody: body,\n formattedCreatedAt: new Date().toISOString(),\n alignment,\n author: {\n __typename: \"User\",\n name: ownProps.session && ownProps.session.user.name,\n nickname: ownProps.session && ownProps.session.user.name,\n profilePath: null,\n badge: null,\n avatarUrl: ownProps.session && ownProps.session.user.avatarUrl,\n deleted: false\n },\n comments: [],\n hasComments: false,\n acceptsNewComments: false,\n userAllowedToComment: false,\n upVotes: 0,\n upVoted: false,\n downVotes: 0,\n downVoted: false,\n alreadyReported: false\n }\n }\n },\n update: (store, { data }: { data: addCommentMutation }) => {\n const variables = {\n locale,\n toggleTranslations,\n commentableId: ownProps.rootCommentable.id,\n commentableType: ownProps.rootCommentable.type,\n orderBy: ownProps.orderBy,\n singleCommentId: null\n };\n const prev = store.readQuery<GetCommentsQuery>({\n query: getCommentsQuery,\n variables\n });\n const { id, type } = ownProps.commentable;\n const newComment = data.commentable && data.commentable.addComment;\n let comments = [];\n\n const commentReducer = (comment: CommentFragment): CommentFragment => {\n const replies = comment.comments || [];\n\n if (newComment && comment.id === id) {\n return {\n ...comment,\n hasComments: true,\n comments: [\n ...replies,\n newComment\n ]\n };\n }\n return {\n ...comment,\n comments: replies.map(commentReducer)\n };\n };\n\n if (prev) {\n if (type === \"Decidim::Comments::Comment\") {\n comments = prev.commentable.comments.map(commentReducer);\n } else {\n comments = [\n ...prev.commentable.comments,\n newComment\n ];\n }\n\n store.writeQuery({\n query: getCommentsQuery,\n data: {\n ...prev,\n commentable: {\n ...prev.commentable,\n totalCommentsCount: prev.commentable.totalCommentsCount + 1,\n comments\n }\n },\n variables\n });\n }\n }\n });\n }\n }\n })\n})(AddCommentForm);\n\nexport default AddCommentFormWithMutation;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto implementation.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && msCrypto.getRandomValues.bind(msCrypto));\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n return bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] + '-' +\n bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]] +\n bth[buf[i++]] + bth[buf[i++]];\n}\n\nmodule.exports = bytesToUuid;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentThread\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasComments\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"},\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":114}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/comment.fragment.graphql\\\"\\n\\nfragment CommentThread on Comment {\\n hasComments\\n ...Comment\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/comment.fragment.graphql\").definitions));\n\n\n module.exports = doc;\n \n","import * as React from \"react\";\nimport Icon from \"../application/icon.component\";\n\ninterface VoteButtonProps {\n buttonClassName: string;\n iconName: string;\n text: string;\n votes: number;\n voteAction?: () => void;\n disabled?: boolean;\n selectedClass?: string;\n userLoggedIn: boolean;\n}\n\nconst preventDefault = (event: any) => {\n event.preventDefault();\n};\n\nconst VoteButton: React.SFC<VoteButtonProps> = ({\n buttonClassName,\n iconName,\n text,\n votes,\n voteAction,\n disabled,\n selectedClass,\n userLoggedIn\n}) => (\n <button\n className={`${buttonClassName} ${selectedClass}`}\n onClick={userLoggedIn ? voteAction : preventDefault}\n disabled={disabled}\n title={text}\n data-open={userLoggedIn ? null : \"loginModal\"}\n >\n <span className=\"show-for-sr\">{text}</span>\n <Icon name={iconName} iconExtraClassName=\"icon--small\" />\n {` ${votes}`}\n </button>\n);\n\nVoteButton.defaultProps = {\n buttonClassName: \"\",\n iconName: \"\",\n votes: 0,\n selectedClass: \"selected\",\n disabled: false\n};\n\nexport default VoteButton;\n","module.exports = {\"am\":null}","module.exports = {\"ar\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"تعليق\",\"decidim/comments/comment_created_event\":\"تعليق\",\"decidim/comments/reply_created_event\":\"تعليق الرد\",\"decidim/comments/user_mentioned_event\":\"أشير\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"zero\":\"تعليقات\",\"one\":\"تعليق\",\"two\":\"تعليقات\",\"few\":\"تعليقات\",\"many\":\"تعليقات\",\"other\":\"تعليقات\"},\"decidim/comments/comment_vote\":{\"zero\":\"الأصوات\",\"one\":\"تصويت\",\"two\":\"الأصوات\",\"few\":\"الأصوات\",\"many\":\"الأصوات\",\"other\":\"الأصوات\"}}},\"decidim\":{\"comments\":{\"comments\":\"تعليقات\",\"last_activity\":{\"new_comment_at_html\":\"<span>تعليق جديد على %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"حدثت مشكلة في التصويت على التعليق.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">سجل الدخول بحسابك</a> أو <a href=\\\"%{sign_up_url}\\\">اشترك</a> لإضافة تعليقك.\",\"form\":{\"body\":{\"label\":\"تعليق\",\"placeholder\":\"ما رأيك بهذا؟\"},\"form_error\":\"النص مطلوب ولا يمكن أن يكون أطول من %{length} حرف.\",\"submit\":\"إرسال\",\"user_group_id\":{\"label\":\"التعليق باسم\"}},\"opinion\":{\"neutral\":\"محايد\"},\"remaining_characters\":\"%{count} الحروف المتبقية\",\"remaining_characters_1\":\"%{count} حرف اليسار\",\"title\":\"أضف تعليقك\"},\"comment\":{\"alignment\":{\"against\":\"ضد\",\"in_favor\":\"لصالح\"},\"deleted_user\":\"مشارك محذوف\",\"reply\":\"الرد\",\"report\":{\"action\":\"أبلغ عن\",\"already_reported\":\"تم الإبلاغ عن هذا المحتوى بالفعل وسيتم مراجعته من قبل المشرف.\",\"close\":\"قريب\",\"description\":\"هل هذا المحتوى غير مناسب؟\",\"details\":\"تعليقات اضافية\",\"reasons\":{\"does_not_belong\":\"يحتوي على نشاط غير قانوني أو تهديدات انتحارية أو معلومات شخصية أو أي شيء آخر تعتقد أنه لا ينتمي إلى %{organization_name}.\",\"offensive\":\"يحتوي على العنصرية والتمييز الجنسي والتشهير والهجمات الشخصية والتهديدات بالقتل أو طلبات الانتحار أو أي شكل من أشكال خطاب الكراهية.\",\"spam\":\"يحتوي على clickbait أو الإعلان أو الخدع أو روبوت البرامج النصية.\"},\"title\":\"الإبلاغ عن مشكلة\"}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"أفضل تصنيف\",\"most_discussed\":\"الأكثر مناقشة\",\"older\":\"اكبر سنا\",\"recent\":\"الأخيرة\"},\"title\":\"ترتيب حسب:\"},\"comment_thread\":{\"title\":\"المحادثة مع %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"لا يمكنك التعليق في هذه اللحظة ، ولكن يمكنك قراءة التعليقات السابقة.\",\"blocked_comments_warning\":\"التعليقات معطلة في هذا الوقت ، لكن يمكنك قراءة التعليقات السابقة.\",\"loading\":\"جارٍ تحميل التعليقات ...\",\"title\":\"%{count} تعليقات\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ترك تعليق في %{resource_title}. يمكنك قراءتها في هذه الصفحة:\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنك تتابع %{author_name}. يمكنك إلغاء تتبع هذا المستخدم من صفحة ملفه الشخصي.\",\"email_subject\":\"هناك تعليق جديد مِن %{author_name} على %{resource_title}\",\"notification_title\":\"هناك تعليق جديد مِن <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> على <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} تم التعليق. يمكنك قراءة التعليق في هذه الصفحة:\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنك تتابع \\\"%{resource_title}\\\" أو مؤلفه. يمكنك إلغاء تتبعه من الرابط السابق.\",\"email_subject\":\"هناك تعليق جديد من %{author_name} في %{resource_title}\",\"notification_title\":\"هناك تعليق جديد مِن <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> على <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} رد على تعليقك في %{resource_title}. يمكنك قراءتها في هذه الصفحة:\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنه تم الرد على تعليقك.\",\"email_subject\":\"%{author_name} رد على تعليقك في %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> رد على تعليقك في <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"لقد ذكرت\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنك ذكرت في %{resource_title}.\",\"email_subject\":\"لقد ذكرت في %{resource_title}\",\"notification_title\":\"لقد ذكرت في <a href=\\\"%{resource_path}\\\">%{resource_title}</a> من <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"عدد التعليقات الناتجة عن المشاركين\",\"object\":\"تعليقات\",\"title\":\"تعليقات\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"لا يمكن أن يكون لديك تعليقات\"}}}}","module.exports = {\"ar\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"تعليق\",\"decidim/comments/comment_created_event\":\"تعليق\",\"decidim/comments/reply_created_event\":\"تعليق الرد\",\"decidim/comments/user_group_mentioned_event\":\"أشير\",\"decidim/comments/user_mentioned_event\":\"أشير\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"zero\":\"تعليقات\",\"one\":\"تعليق\",\"two\":\"تعليقات\",\"few\":\"تعليقات\",\"many\":\"تعليقات\",\"other\":\"تعليقات\"},\"decidim/comments/comment_vote\":{\"zero\":\"الأصوات\",\"one\":\"تصويت\",\"two\":\"الأصوات\",\"few\":\"الأصوات\",\"many\":\"الأصوات\",\"other\":\"الأصوات\"}}},\"decidim\":{\"comments\":{\"comments\":\"تعليقات\",\"last_activity\":{\"new_comment_at_html\":\"<span>تعليق جديد على %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"حدثت مشكلة في التصويت على التعليق.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">سجل الدخول بحسابك</a> أو <a href=\\\"%{sign_up_url}\\\">اشترك</a> لإضافة تعليقك.\",\"form\":{\"body\":{\"label\":\"تعليق\",\"placeholder\":\"ما رأيك بهذا؟\"},\"form_error\":\"النص مطلوب ولا يمكن أن يكون أطول من %{length} حرف.\",\"submit\":\"إرسال\",\"user_group_id\":{\"label\":\"التعليق باسم\"}},\"opinion\":{\"neutral\":\"محايد\"},\"remaining_characters\":\"%{count} الحروف المتبقية\",\"remaining_characters_1\":\"%{count} حرف اليسار\",\"title\":\"أضف تعليقك\"},\"comment\":{\"alignment\":{\"against\":\"ضد\",\"in_favor\":\"لصالح\"},\"deleted_user\":\"مشارك محذوف\",\"hide_replies\":\"إخفاء الردود\",\"reply\":\"الرد\",\"report\":{\"action\":\"أبلغ عن\",\"already_reported\":\"تم الإبلاغ عن هذا المحتوى بالفعل وسيتم مراجعته من قبل المشرف.\",\"close\":\"قريب\",\"description\":\"هل هذا المحتوى غير مناسب؟\",\"details\":\"تعليقات اضافية\",\"reasons\":{\"does_not_belong\":\"يحتوي على نشاط غير قانوني أو تهديدات انتحارية أو معلومات شخصية أو أي شيء آخر تعتقد أنه لا ينتمي إلى %{organization_name}.\",\"offensive\":\"يحتوي على العنصرية والتمييز الجنسي والتشهير والهجمات الشخصية والتهديدات بالقتل أو طلبات الانتحار أو أي شكل من أشكال خطاب الكراهية.\",\"spam\":\"يحتوي على clickbait أو الإعلان أو الخدع أو روبوت البرامج النصية.\"}},\"show_replies\":\"اظهر الردود الـ %{replies_count}\",\"single_comment_link_title\":\"الحصول على رابط نحو تعليق واحد\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"أفضل تصنيف\",\"most_discussed\":\"الأكثر مناقشة\",\"older\":\"اكبر سنا\",\"recent\":\"الأخيرة\"},\"title\":\"ترتيب حسب:\"},\"comment_thread\":{\"title\":\"المحادثة مع %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"لا يمكنك التعليق في هذه اللحظة ، ولكن يمكنك قراءة التعليقات السابقة.\",\"blocked_comments_warning\":\"التعليقات معطلة في هذا الوقت ، لكن يمكنك قراءة التعليقات السابقة.\",\"comment_details_title\":\"تفاصيل التعليق\",\"loading\":\"جارٍ تحميل التعليقات ...\",\"single_comment_warning\":\"يمكنك الإطلاع على التعليقات المتبقية الأخرى <a href=\\\"%{url}\\\">هنا</a>.\",\"single_comment_warning_title\":\"إنك ترى تعليقا واحدا\",\"title\":\"%{count} تعليقات\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ترك تعليق في %{resource_title}. يمكنك قراءتها في هذه الصفحة:\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنك تتابع %{author_name}. يمكنك إلغاء تتبع هذا المستخدم من صفحة ملفه الشخصي.\",\"email_subject\":\"هناك تعليق جديد مِن %{author_name} على %{resource_title}\",\"notification_title\":\"هناك تعليق جديد مِن <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> على <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"هناك تعليق جديد مِن %{author_name} على %{resource_title}\",\"notification_title\":\"هناك تعليق جديد مِن <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> على <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} تم التعليق. يمكنك قراءة التعليق في هذه الصفحة:\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنك تتابع \\\"%{resource_title}\\\" أو مؤلفه. يمكنك إلغاء تتبعه من الرابط السابق.\",\"email_subject\":\"هناك تعليق جديد من %{author_name} في %{resource_title}\",\"notification_title\":\"هناك تعليق جديد مِن <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> على <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} رد على تعليقك في %{resource_title}. يمكنك قراءتها في هذه الصفحة:\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنه تم الرد على تعليقك.\",\"email_subject\":\"%{author_name} رد على تعليقك في %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> رد على تعليقك في <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"لقد ذكرت\",\"email_outro\":\"لقد تلقيت هذا الإشعار لأنك ذكرت في %{resource_title}.\",\"email_subject\":\"لقد ذكرت في %{resource_title}\",\"notification_title\":\"لقد ذكرت في <a href=\\\"%{resource_path}\\\">%{resource_title}</a> من <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"عدد التعليقات الناتجة عن المشاركين\",\"object\":\"تعليقات\",\"title\":\"تعليقات\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"لا يمكن أن يكون لديك تعليقات\"}}}}","module.exports = {\"bg\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Коментар\",\"decidim/comments/comment_created_event\":\"Коментар\",\"decidim/comments/reply_created_event\":\"Отговор на коментар\"}}}}","module.exports = {\"bg\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Коментар\",\"decidim/comments/comment_created_event\":\"Коментар\",\"decidim/comments/reply_created_event\":\"Отговор на коментар\"}}}}","module.exports = {\"ca\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comentari\",\"decidim/comments/comment_created_event\":\"Comentari\",\"decidim/comments/reply_created_event\":\"Resposta al comentari\",\"decidim/comments/user_group_mentioned_event\":\"Mencionar\",\"decidim/comments/user_mentioned_event\":\"Mencionar\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comentari\",\"other\":\"Comentaris\"},\"decidim/comments/comment_vote\":{\"one\":\"Vot\",\"other\":\"Vots\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentaris\",\"comments_count\":\"Número de comentaris\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nou comentari a %{link}</span>\"},\"view\":\"Mostrar\",\"votes\":{\"create\":{\"error\":\"S'ha produït un error en votar el comentari.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Inicia la sessió amb el teu compte</a> o <a href=\\\"%{sign_up_url}\\\">registra't</a> per afegir el teu comentari.\",\"form\":{\"body\":{\"label\":\"Comentari\",\"placeholder\":\"Què en penses d'això?\"},\"form_error\":\"El text és necessari i no pot ser més llarg de %{length}\",\"submit\":\"Enviar\",\"user_group_id\":{\"label\":\"Comentar com a\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"Queden %{count} caràcters\",\"remaining_characters_1\":\"Queda %{count} caràcter\",\"title\":\"Deixa el teu comentari\"},\"comment\":{\"alignment\":{\"against\":\"En contra\",\"in_favor\":\"A favor\"},\"deleted_user\":\"Participant eliminada\",\"hide_replies\":\"Oculta les respostes\",\"reply\":\"Respondre\",\"report\":{\"action\":\"Denúncia\",\"already_reported\":\"Aquest contingut ja ha estat denunciat i serà revisat per una administradora.\",\"close\":\"Tancar\",\"description\":\"Aquest contingut és inapropiat?\",\"details\":\"Comentaris addicionals\",\"reasons\":{\"does_not_belong\":\"Conté activitat il·legal, amenaces de suïcidi, informació personal, o qualsevol altra cosa que creguis que no pertany a %{organization_name}.\",\"offensive\":\"Conté racisme, sexisme, insults, atacs personals, amenaces de mort, peticions de suïcidi o qualsevol forma de discurs d'odi.\",\"spam\":\"Conté \\\"clickbait\\\", publicitat o estafes.\"},\"title\":\"Notificar contingut inapropiat\"},\"show_replies\":\"Mostra %{replies_count} respostes\",\"single_comment_link_title\":\"Aconsegueix l'enllaç al comentari\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Més ben valorats\",\"most_discussed\":\"Més discutit\",\"older\":\"Més antic\",\"recent\":\"Recent\"},\"title\":\"Ordenar per:\"},\"comment_thread\":{\"title\":\"Conversa amb %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"No pots fer comentaris en aquest moment, però pots llegir els anteriors.\",\"blocked_comments_warning\":\"Els comentaris estan desactivats en aquest moment, però pots llegir els anteriors.\",\"comment_details_title\":\"Detalls del comentari\",\"loading\":\"Carregant els comentaris ...\",\"single_comment_warning\":\"Pots revisar la resta de comentaris <a href=\\\"%{url}\\\">aquí</a>.\",\"single_comment_warning_title\":\"Estàs veient un sol comentari\",\"title\":\"%{count} comentaris\"},\"down_vote_button\":{\"text\":\"No estic d'acord amb aquest comentari\"},\"up_vote_button\":{\"text\":\"Estic d'acord amb aquest comentari\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ha deixat un comentari a %{resource_title}. Podeu llegir-lo en aquesta pàgina:\",\"email_outro\":\"Has rebut aquesta notificació perquè estàs seguint %{author_name}. Pots deixar de seguir a aquesta participant des de la seva pàgina de perfil.\",\"email_subject\":\"Hi ha un nou comentari de %{author_name} en %{resource_title}\",\"notification_title\":\"Hi ha un nou comentari per <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> a <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} ha deixat un comentari a%{resource_title}. Pots llegir-lo en aquesta pàgina:\",\"email_outro\":\"Reps aquesta notificació perquè segueixes a %{author_name}. Pots deixar de seguir aquest grup des de la seva pàgina de perfil.\",\"email_subject\":\"Hi ha un nou comentari de %{author_name} en %{resource_title}\",\"notification_title\":\"Hi ha un nou comentari per <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> a <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"S'ha comentat %{resource_title}. Pots llegir el comentari d'aquesta pàgina:\",\"email_outro\":\"Has rebut aquesta notificació perquè estàs seguint \\\"%{resource_title}\\\" o la seva autora. Pots deixar de seguir-la des de l'enllaç anterior.\",\"email_subject\":\"Hi ha un nou comentari de %{author_name} a %{resource_title}\",\"notification_title\":\"Hi ha un nou comentari de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} ha respost el teu comentari a %{resource_title}. Pots llegir-lo en aquesta pàgina:\",\"email_outro\":\"Has rebut aquesta notificació perquè s'ha respost el teu comentari.\",\"email_subject\":\"%{author_name} ha respost el teu comentari a %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ha respost el teu comentari a <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Un grup al qual pertanys ha estat esmentat\",\"email_outro\":\"Has rebut aquesta notificació perquè formes part del grup %{group_name} que ha estat esmentat a %{resource_title}.\",\"email_subject\":\"T'han esmentat a %{resource_title} com a membre de %{group_name}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> t'ha esmentat com a membre de <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a> a <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Has estat esmentada\",\"email_outro\":\"Has rebut aquesta notificació perquè has estat esmentada a %{resource_title}.\",\"email_subject\":\"Has estat esmentada a %{resource_title}\",\"notification_title\":\"Has estat esmentada a <a href=\\\"%{resource_path}\\\">%{resource_title}</a> per <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Nombre de comentaris generats per les participants\",\"object\":\"comentaris\",\"title\":\"Comentaris\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"no pot tenir comentaris\"}}}}","module.exports = {\"cs\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentář\",\"decidim/comments/comment_created_event\":\"Komentář\",\"decidim/comments/reply_created_event\":\"Odpověď na komentář\",\"decidim/comments/user_mentioned_event\":\"Zmínit se\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Komentář\",\"few\":\"Komentáře\",\"many\":\"Komentáře\",\"other\":\"Komentáře\"},\"decidim/comments/comment_vote\":{\"one\":\"Hlasování\",\"few\":\"Hlasy\",\"many\":\"Hlasy\",\"other\":\"Hlasy\"}}},\"decidim\":{\"comments\":{\"comments\":\"Komentáře\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nový komentář v %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Při hlasování se vyskytly chyby.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Přihlaste se svým účtem</a> nebo <a href=\\\"%{sign_up_url}\\\">přihlaste se</a> a přidejte svůj komentář.\",\"form\":{\"body\":{\"label\":\"Komentář\",\"placeholder\":\"Co si o tom myslíš?\"},\"form_error\":\"Text je povinný a nesmí být delší než %{length} znaků.\",\"submit\":\"Poslat\",\"user_group_id\":{\"label\":\"Komentovat jako\"}},\"opinion\":{\"neutral\":\"Neutrální\"},\"remaining_characters\":\"Zbývá %{count} znaků\",\"remaining_characters_1\":\"Zbývá %{count} znaků\",\"title\":\"Přidejte svůj komentář\"},\"comment\":{\"alignment\":{\"against\":\"Proti\",\"in_favor\":\"Ve prospěch\"},\"deleted_user\":\"Vymazaný uživatel\",\"reply\":\"Odpověď\",\"report\":{\"action\":\"Zpráva\",\"already_reported\":\"Tento obsah je již nahlášen a bude kontrolován administrátorem.\",\"close\":\"Zavřít\",\"description\":\"Je tento obsah nevhodný?\",\"details\":\"Další komentáře\",\"reasons\":{\"does_not_belong\":\"Obsahuje nezákonnou činnost, sebevražedné hrozby, osobní informace nebo něco jiného, o kterém si myslíte, že nepatří na %{organization_name}.\",\"offensive\":\"Obsahuje rasismus, sexismus, podvody, osobní útoky, hrozby smrti, žádosti o sebevraždu nebo jakoukoli formu projevy nenávisti.\",\"spam\":\"Obsahuje clickbait, reklama, podvody nebo skripty.\"},\"title\":\"Nahlásit problém\"}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Nejlépe hodnocené\",\"most_discussed\":\"Nejdiskutovanější\",\"older\":\"Starší\",\"recent\":\"Nedávno\"},\"title\":\"Seřadit podle:\"},\"comment_thread\":{\"title\":\"Konverzace s číslem %{authorName}\"},\"comments\":{\"blocked_comments_warning\":\"Komentáře jsou v tuto chvíli zakázány, ale můžete si přečíst předchozí.\",\"loading\":\"Načítání komentářů ...\",\"title\":\"%{count} komentářů\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} zanechal komentář v %{resource_title}. Můžete si je přečíst na této stránce:\",\"email_outro\":\"Toto oznámení jste obdrželi, protože jste sledovali %{author_name}. Tento uživatel můžete zrušit ze své profilové stránky.\",\"email_subject\":\"K dispozici je nový komentář %{author_name} v %{resource_title}\",\"notification_title\":\"K dispozici je nový komentář <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> v <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} bylo komentováno. Můžete si přečíst komentář na této stránce:\",\"email_outro\":\"Toto oznámení jste obdrželi, protože jste sledovali \\\"%{resource_title}\\\" nebo jeho autora. Můžete jej odhlásit od předchozího odkazu.\",\"email_subject\":\"K dispozici je nový komentář od %{author_name} do %{resource_title}\",\"notification_title\":\"Je zde nový komentář od <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> do <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} odpověděl váš komentář v %{resource_title}. Můžete si je přečíst na této stránce:\",\"email_outro\":\"Toto oznámení jste obdrželi, protože váš komentář byl zodpovězen.\",\"email_subject\":\"%{author_name} odpověděl váš komentář v %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> odpověděl / a svůj komentář v <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Byl jste zmíněn\",\"email_outro\":\"Toto oznámení jste obdrželi, protože jste byli uvedeni v %{resource_title}.\",\"email_subject\":\"Byl jste zmíněn v %{resource_title}\",\"notification_title\":\"Byli jste uvedeni v <a href=\\\"%{resource_path}\\\">%{resource_title}</a> podle <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Počet komentářů generovaných uživateli\",\"object\":\"komentáře\",\"title\":\"Komentáře\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nemohou mít připomínky\"}}}}","module.exports = {\"cs\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentář\",\"decidim/comments/comment_created_event\":\"Komentář\",\"decidim/comments/reply_created_event\":\"Odpověď na komentář\",\"decidim/comments/user_group_mentioned_event\":\"Zmínka\",\"decidim/comments/user_mentioned_event\":\"Zmínka\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Komentář\",\"few\":\"Komentáře\",\"many\":\"Komentáře\",\"other\":\"Komentáře\"},\"decidim/comments/comment_vote\":{\"one\":\"Hlasovat\",\"few\":\"Hlasy\",\"many\":\"Hlasy\",\"other\":\"Hlasy\"}}},\"decidim\":{\"comments\":{\"comments\":\"Komentáře\",\"comments_count\":\"Počet komentářů\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nový komentář v %{link}</span>\"},\"view\":\"Zobrazit\",\"votes\":{\"create\":{\"error\":\"Při hlasování o komentáři došlo k chybě.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Přihlaste se pomocí svého účtu</a> nebo se <a href=\\\"%{sign_up_url}\\\">zaregistrujte</a> a přidejte svůj komentář.\",\"form\":{\"body\":{\"label\":\"Komentář\",\"placeholder\":\"Co si o tom myslíš?\"},\"form_error\":\"Text je povinný a nesmí být delší než %{length} znaků.\",\"submit\":\"Odeslat\",\"user_group_id\":{\"label\":\"Komentovat jako\"}},\"opinion\":{\"neutral\":\"Neutrální\"},\"remaining_characters\":\"Zbývá %{count} znaků\",\"remaining_characters_1\":\"Zbývá %{count} znak\",\"title\":\"Přidejte svůj komentář\"},\"comment\":{\"alignment\":{\"against\":\"Proti\",\"in_favor\":\"Ve prospěch\"},\"deleted_user\":\"Vymazaný účastník\",\"hide_replies\":\"Skrýt odpovědi\",\"reply\":\"Odpověď\",\"report\":{\"action\":\"Zpráva\",\"already_reported\":\"Tento obsah je již nahlášen a bude přezkoumán administrátorem.\",\"close\":\"Zavřít\",\"description\":\"Je tento obsah nevhodný?\",\"details\":\"Další komentáře\",\"reasons\":{\"does_not_belong\":\"Obsahuje nezákonnou činnost, sebevražedné hrozby, osobní informace nebo něco jiného, o kterém si myslíte, že nepatří na %{organization_name}.\",\"offensive\":\"Obsahuje rasismus, sexismus, podvody, osobní útoky, hrozby smrti, žádosti o sebevraždu nebo jakoukoli formu projevy nenávisti.\",\"spam\":\"Obsahuje clickbait, reklamu, podvody nebo škodlivé skripty.\"},\"title\":\"Nahlásit nevhodný obsah\"},\"show_replies\":\"Zobrazit %{replies_count} odpovědí\",\"single_comment_link_title\":\"Získat odkaz na jeden komentář\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Nejlépe hodnocené\",\"most_discussed\":\"Nejvíce diskutované\",\"older\":\"Starší\",\"recent\":\"Nedávné\"},\"title\":\"Seřadit podle:\"},\"comment_thread\":{\"title\":\"Konverzace s číslem %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Momentálně nemůžete komentovat, ale můžete si přečíst ty předchozí.\",\"blocked_comments_warning\":\"Komentáře jsou momentálně zakázány, ale můžete si přečíst ty předchozí.\",\"comment_details_title\":\"Podrobnosti komentáře\",\"loading\":\"Načítání komentářů ...\",\"single_comment_warning\":\"Můžete zkontrolovat zbytek komentářů <a href=\\\"%{url}\\\">zde</a>.\",\"single_comment_warning_title\":\"Vidíte jeden komentář\",\"title\":\"%{count} komentářů\"},\"down_vote_button\":{\"text\":\"Nesouhlasím s tímto komentářem\"},\"up_vote_button\":{\"text\":\"Souhlasím s tímto komentářem\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} zanechal komentář v %{resource_title}. Můžete si je přečíst na této stránce:\",\"email_outro\":\"Toto oznámení jste obdrželi, protože jste sledovali %{author_name}. Tento uživatel můžete zrušit ze své profilové stránky.\",\"email_subject\":\"K dispozici je nový komentář %{author_name} v %{resource_title}\",\"notification_title\":\"K dispozici je nový komentář <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> v <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Skupina %{author_name} zanechala komentář v %{resource_title}. Můžete si jej přečíst na této stránce:\",\"email_outro\":\"Obdrželi jste toto oznámení, protože sledujete %{author_name}. Můžete zrušit sledování této skupiny na její profilové stránce.\",\"email_subject\":\"K dispozici je nový komentář %{author_name} v %{resource_title}\",\"notification_title\":\"K dispozici je nový komentář <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> v <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} bylo komentováno. Můžete si přečíst komentář na této stránce:\",\"email_outro\":\"Toto oznámení jste obdrželi, protože jste sledovali \\\"%{resource_title}\\\" nebo jeho autora. Můžete jej odhlásit od předchozího odkazu.\",\"email_subject\":\"K dispozici je nový komentář od %{author_name} do %{resource_title}\",\"notification_title\":\"Je zde nový komentář od <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> do <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} odpověděl váš komentář v %{resource_title}. Můžete si je přečíst na této stránce:\",\"email_outro\":\"Toto oznámení jste obdrželi, protože váš komentář byl zodpovězen.\",\"email_subject\":\"%{author_name} odpověděl váš komentář v %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> odpověděl / a svůj komentář v <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Byla zmíněna skupina, do které patříte\",\"email_outro\":\"Obdrželi jste toto oznámení, protože jste členem skupiny %{group_name}, která byla zmíněna v %{resource_title}.\",\"email_subject\":\"Byl jste zmíněn v %{resource_title} jako člen %{group_name}\",\"notification_title\":\"Byli jste zmíněni v <a href=\\\"%{resource_path}\\\">%{resource_title}</a> od <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> jako člen <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Byl jste zmíněn\",\"email_outro\":\"Toto oznámení jste obdrželi, protože jste byli uvedeni v %{resource_title}.\",\"email_subject\":\"Byl jste zmíněn v %{resource_title}\",\"notification_title\":\"Byli jste uvedeni v <a href=\\\"%{resource_path}\\\">%{resource_title}</a> podle <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Počet komentářů generovaných uživateli\",\"object\":\"komentáře\",\"title\":\"Komentáře\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nemohou mít připomínky\"}}}}","module.exports = {\"da\":null}","module.exports = {\"da\":null}","module.exports = {\"de\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Kommentar\",\"decidim/comments/comment_created_event\":\"Kommentar\",\"decidim/comments/reply_created_event\":\"Kommentarantwort\",\"decidim/comments/user_group_mentioned_event\":\"Erwähnen\",\"decidim/comments/user_mentioned_event\":\"Erwähnen\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Kommentar\",\"other\":\"Bemerkungen\"},\"decidim/comments/comment_vote\":{\"one\":\"Abstimmung\",\"other\":\"Stimmen\"}}},\"decidim\":{\"comments\":{\"comments\":\"Bemerkungen\",\"comments_count\":\"Kommentaranzahl\",\"last_activity\":{\"new_comment_at_html\":\"<span>Neuer Kommentar unter %{link}</span>\"},\"view\":\"Ansicht\",\"votes\":{\"create\":{\"error\":\"Beim Abstimmen des Kommentars sind Fehler aufgetreten.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Melden Sie sich mit Ihrem Konto an</a> oder <a href=\\\"%{sign_up_url}\\\">registrieren Sie sich</a>, um Ihren Kommentar hinzuzufügen.\",\"form\":{\"body\":{\"label\":\"Kommentar\",\"placeholder\":\"Was denken Sie darüber?\"},\"form_error\":\"Der Text ist erforderlich und darf nicht länger als %{length} Zeichen sein.\",\"submit\":\"Senden\",\"user_group_id\":{\"label\":\"Kommentieren als\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"%{count} Zeichen übrig\",\"remaining_characters_1\":\"%{count} Zeichen übrig\",\"title\":\"Kommentar hinzufügen\"},\"comment\":{\"alignment\":{\"against\":\"Gegen\",\"in_favor\":\"Zugunsten\"},\"deleted_user\":\"Gelöschter Benutzer\",\"hide_replies\":\"Antworten verbergen\",\"reply\":\"Antworten\",\"report\":{\"action\":\"Melden\",\"already_reported\":\"Dieser Inhalt wurde bereits gemeldet und wird von einem Administrator überprüft.\",\"close\":\"Schließen\",\"description\":\"Ist dieser Inhalt unangemessen?\",\"details\":\"Zusätzliche Kommentare\",\"reasons\":{\"does_not_belong\":\"Enthält illegale Aktivitäten, Selbstmorddrohungen, persönliche Informationen oder etwas anderes, von dem Sie denken, dass es nicht auf %{organization_name} gehört.\",\"offensive\":\"Enthält Rassismus, Sexismus, Verleumdungen, persönliche Angriffe, Morddrohungen, Selbstmordanträge oder jegliche Form von Hassreden.\",\"spam\":\"Enthält Clickbait, Werbung, Scams oder Script Bots.\"},\"title\":\"Ungeeigneten Inhalt melden\"},\"show_replies\":\"%{replies_count} Antworten anzeigen\",\"single_comment_link_title\":\"Verknüpfung zu einzelnem Kommentar erhalten\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Am besten bewertet\",\"most_discussed\":\"Meist diskutiert\",\"older\":\"Chronologisch\",\"recent\":\"Kürzlich hinzugefügt\"},\"title\":\"Sortieren nach:\"},\"comment_thread\":{\"title\":\"Konversation mit %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Sie können momentan nichts kommentieren, aber Sie können die vorherigen lesen.\",\"blocked_comments_warning\":\"Kommentare sind zu diesem Zeitpunkt deaktiviert, aber Sie können die vorherigen lesen.\",\"comment_details_title\":\"Kommentarinformationen\",\"loading\":\"Kommentare werden geladen ...\",\"single_comment_warning\":\"Sie können die restlichen Kommentare <a href=\\\"%{url}\\\">hier</a> prüfen.\",\"single_comment_warning_title\":\"Ihnen wird ein einzelner Kommentar angezeigt\",\"title\":\"%{count} Kommentare\"},\"down_vote_button\":{\"text\":\"Ich bin mit diesem Kommentar nicht einverstanden\"},\"up_vote_button\":{\"text\":\"Ich stimme diesem Kommentar zu\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} hat einen Kommentar zu %{resource_title} hinterlassen. Sie können diesen auf dieser Seite lesen:\",\"email_outro\":\"Sie haben diese Benachrichtigung erhalten, weil Sie %{author_name} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie die Profil-Seite dieses Benutzers.\",\"email_subject\":\"Neuer Kommentar von %{author_name} zu %{resource_title}\",\"notification_title\":\"Es gibt einen neuen Kommentar von <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> zu <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Die Gruppe %{author_name} hat einen Kommentar in %{resource_title} hinterlassen. Sie können diesen auf dieser Seite lesen:\",\"email_outro\":\"Sie haben diese Benachrichtigung erhalten, weil Sie %{author_name} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie die Profil-Seite dieser Gruppe.\",\"email_subject\":\"Neuer Kommentar von %{author_name} zu %{resource_title}\",\"notification_title\":\"Es gibt einen neuen Kommentar von <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> zu <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} wurde kommentiert. Sie können den Kommentar auf dieser Seite lesen:\",\"email_outro\":\"Sie haben diese Benachrichtigung erhalten, weil Sie \\\"%{resource_title}\\\" oder seinem Autor folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.\",\"email_subject\":\"Neuer Kommentar von %{author_name} zu %{resource_title}\",\"notification_title\":\"Es gibt einen neuen Kommentar von <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> zu <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} hat auf Ihren Kommentar zu %{resource_title} geantwortet. Sie können das auf dieser Seite lesen:\",\"email_outro\":\"Sie haben diese Benachrichtigung erhalten, weil Ihr Kommentar beantwortet wurde.\",\"email_subject\":\"%{author_name} hat auf Ihren Kommentar zu %{resource_title} geantwortet\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> hat auf Ihren Kommentar in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> geantwortet\"},\"user_group_mentioned\":{\"email_intro\":\"Eine Ihrer Gruppen wurde erwähnt\",\"email_outro\":\"Sie haben diese Benachrichtigung erhalten, weil Sie ein Mitglied der Gruppe %{group_name} sind, die in %{resource_title} erwähnt wurde.\",\"email_subject\":\"Sie wurden in %{resource_title} als Mitglied von %{group_name} erwähnt\",\"notification_title\":\"Sie wurden in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> von <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> als ein Mitglied von <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a> erwähnt\"},\"user_mentioned\":{\"email_intro\":\"Sie wurden erwähnt\",\"email_outro\":\"Sie haben diese Benachrichtigung erhalten, weil Sie in %{resource_title} erwähnt wurden.\",\"email_subject\":\"Sie wurden in %{resource_title} erwähnt\",\"notification_title\":\"Sie wurden in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> von <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> erwähnt\"}}},\"metrics\":{\"comments\":{\"description\":\"Anzahl der von Benutzern generierten Kommentare\",\"object\":\"Bemerkungen\",\"title\":\"Bemerkungen\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"kann keine Kommentare haben\"}}}}","module.exports = {\"el\":null}","module.exports = {\"el\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Σχόλιο\",\"decidim/comments/comment_created_event\":\"Σχόλιο\",\"decidim/comments/reply_created_event\":\"Απάντηση σχολίου\",\"decidim/comments/user_group_mentioned_event\":\"Αναφορά\",\"decidim/comments/user_mentioned_event\":\"Αναφορά\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Σχόλιο\",\"other\":\"Σχόλια\"},\"decidim/comments/comment_vote\":{\"one\":\"Ψηφοφορία\",\"other\":\"Ψήφοι\"}}},\"decidim\":{\"comments\":{\"comments\":\"Σχόλια\",\"comments_count\":\"Αριθμός σχολίων\",\"last_activity\":{\"new_comment_at_html\":\"<span>Νέο σχόλιο στο %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Υπήρξε ένα πρόβλημα κατά την ψηφοφορία του σχολίου.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Είσοδος με τον λογαριασμό σας</a> ή <a href=\\\"%{sign_up_url}\\\">εγγραφείτε</a> για να προσθέσετε το σχόλιό σας.\",\"form\":{\"body\":{\"label\":\"Σχόλιο\",\"placeholder\":\"Ποια είναι η γνώμη σας για αυτό;\"},\"form_error\":\"Το κείμενο απαιτείται και δεν μπορεί να υπερβαίνει τους %{length} χαρακτήρες.\",\"submit\":\"Αποστολή\",\"user_group_id\":{\"label\":\"Σχόλιο ως\"}},\"opinion\":{\"neutral\":\"Ούτε ικανοποιημένος/η ούτε δυσαρεστημένος/η\"},\"remaining_characters\":\"%{count} χαρακτήρες απομένουν\",\"remaining_characters_1\":\"%{count} χαρακτήρας απομένει\",\"title\":\"Προσθέστε το σχόλιό σας\"},\"comment\":{\"alignment\":{\"against\":\"Κατά\",\"in_favor\":\"Υπέρ\"},\"deleted_user\":\"Διαγραμμένος συμμετέχων\",\"hide_replies\":\"Απόκρυψη απαντήσεων\",\"reply\":\"Απάντηση\",\"report\":{\"action\":\"Αναφορά\",\"already_reported\":\"Αυτό το περιεχόμενο έχει ήδη αναφερθεί και θα ελεγχθεί από έναν διαχειριστή.\",\"close\":\"Κλείσιμο\",\"description\":\"Αυτό το περιεχόμενο είναι ακατάλληλο;\",\"details\":\"Πρόσθετα σχόλια\",\"reasons\":{\"does_not_belong\":\"Περιέχει παράνομη δραστηριότητα, απειλές αυτοκτονίας, προσωπικά στοιχεία ή κάτι άλλο που πιστεύετε ότι δεν ανήκει στον οργανισμό %{organization_name}.\",\"offensive\":\"Περιέχει ρατσισμό, σεξισμό, δυσφημίσεις, προσωπικές επιθέσεις, απειλές θανάτου, αιτήματα αυτοκτονίας ή οποιαδήποτε μορφή ρητορικής μίσους.\",\"spam\":\"Περιέχει clickbait, διαφημίσεις, απάτες ή script bot.\"},\"title\":\"Αναφορά ακατάλληλου περιεχομένου\"},\"show_replies\":\"Εμφάνιση %{replies_count} απαντήσεων\",\"single_comment_link_title\":\"Λήψη συνδέσμου για ένα μόνο σχόλιο\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Με την καλύτερη βαθμολογία\",\"most_discussed\":\"Πιο συζητημένα\",\"older\":\"Παλαιότερα\",\"recent\":\"Πρόσφατα\"},\"title\":\"Ταξινόμηση κατά:\"},\"comment_thread\":{\"title\":\"Συζήτηση με τον συντάκτη %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Δεν μπορείτε να σχολιάσετε αυτήν τη στιγμή, αλλά μπορείτε να διαβάσετε τα προηγούμενα σχόλια.\",\"blocked_comments_warning\":\"Τα σχόλια είναι απενεργοποιημένα αυτήν τη στιγμή, αλλά μπορείτε να διαβάσετε τα προηγούμενα σχόλια.\",\"comment_details_title\":\"Λεπτομέρειες σχολίων\",\"loading\":\"Φόρτωση σχολίων...\",\"single_comment_warning\":\"Μπορείτε να δείτε τα υπόλοιπα σχόλια <a href=\\\"%{url}\\\">εδώ</a>.\",\"single_comment_warning_title\":\"Βλέπετε ένα μόνο σχόλιο\",\"title\":\"%{count} σχόλια\"},\"down_vote_button\":{\"text\":\"Δεν συμφωνώ με αυτό το σχόλιο\"},\"up_vote_button\":{\"text\":\"Συμφωνώ με αυτό το σχόλιο\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"Ο συντάκτης %{author_name} έκανε ένα σχόλιο στο στοιχείο %{resource_title}. Μπορείτε να το διαβάσετε σε αυτήν τη σελίδα:\",\"email_outro\":\"Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε τον συντάκτη %{author_name}. Μπορείτε να σταματήσετε να ακολουθείτε αυτόν τον χρήστη από τη σελίδα προφίλ του.\",\"email_subject\":\"Υπάρχει ένα νέο σχόλιο από τον συντάκτη %{author_name} στο στοιχείο %{resource_title}\",\"notification_title\":\"Υπάρχει ένα νέο σχόλιο από τον συντάκτη <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> στο στοιχείο <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Η ομάδα %{author_name} έκανε ένα σχόλιο στο στοιχείο %{resource_title}. Μπορείτε να το διαβάσετε σε αυτήν τη σελίδα:\",\"email_outro\":\"Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε τον συντάκτη %{author_name}. Μπορείτε να σταματήσετε να ακολουθείτε αυτήν την ομάδα από τη σελίδα προφίλ της.\",\"email_subject\":\"Υπάρχει ένα νέο σχόλιο από τον συντάκτη %{author_name} στο στοιχείο %{resource_title}\",\"notification_title\":\"Υπάρχει ένα νέο σχόλιο από τον συντάκτη <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> στο στοιχείο <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"Το στοιχείο %{resource_title} έχει σχολιαστεί. Μπορείτε να διαβάσετε το σχόλιο σε αυτήν τη σελίδα:\",\"email_outro\":\"Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε το στοιχείο «%{resource_title}» ή τον συντάκτη του. Μπορείτε να σταματήσετε να την ακολουθείτε από τον προηγούμενο σύνδεσμο.\",\"email_subject\":\"Υπάρχει ένα νέο σχόλιο από τον συντάκτη %{author_name} στο στοιχείο %{resource_title}\",\"notification_title\":\"Υπάρχει ένα νέο σχόλιο από τον συντάκτη<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> στο στοιχείο <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"Ο συντάκτης %{author_name} απάντησε στο σχόλιό σας στο στοιχείο %{resource_title}. Μπορείτε να το διαβάσετε σε αυτήν τη σελίδα:\",\"email_outro\":\"Λάβατε αυτήν την ειδοποίηση, επειδή το σχόλιό σας απαντήθηκε.\",\"email_subject\":\"Ο συντάκτης %{author_name} απάντησε στο σχόλιό σας στο στοιχείο %{resource_title}\",\"notification_title\":\"Ο συντάκτης <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> απάντησε στο σχόλιό σας στο στοιχείο <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Έγινε αναφορά σε μια ομάδα στην οποία ανήκετε\",\"email_outro\":\"Λάβατε αυτήν την ειδοποίηση επειδή είστε μέλος της ομάδας %{group_name} που αναφέρθηκε στο στοιχείο %{resource_title}.\",\"email_subject\":\"Έγινε αναφορά σε εσάς στο στοιχείο %{resource_title} ως μέλος της ομάδας %{group_name}\",\"notification_title\":\"Έγινε αναφορά σε εσάς στο στοιχείο <a href=\\\"%{resource_path}\\\">%{resource_title}</a> από τον συντάκτη <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ως μέλος της ομάδας <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Έγινε αναφορά σε εσάς\",\"email_outro\":\"Λάβατε αυτήν την ειδοποίηση επειδή έγινε αναφορά σε εσάς στο στοιχείο %{resource_title}.\",\"email_subject\":\"Έγινε αναφορά σε εσάς στο στοιχείο %{resource_title}\",\"notification_title\":\"Έγινε αναφορά σε εσάς στο στοιχείο <a href=\\\"%{resource_path}\\\">%{resource_title}</a> από τον συντάκτη <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Αριθμός σχολίων που δημιουργήθηκαν από συμμετέχοντες\",\"object\":\"σχόλια\",\"title\":\"Σχόλια\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"δεν μπορεί να έχει σχόλια\"}}}}","module.exports = {\"en\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comment\",\"decidim/comments/comment_created_event\":\"Comment\",\"decidim/comments/reply_created_event\":\"Comment reply\",\"decidim/comments/user_group_mentioned_event\":\"Mention\",\"decidim/comments/user_mentioned_event\":\"Mention\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comment\",\"other\":\"Comments\"},\"decidim/comments/comment_vote\":{\"one\":\"Vote\",\"other\":\"Votes\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comments\",\"comments_count\":\"Comments count\",\"last_activity\":{\"new_comment_at_html\":\"<span>New comment at %{link}</span>\"},\"view\":\"View\",\"votes\":{\"create\":{\"error\":\"There was a problem voting the comment.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Sign in with your account</a> or <a href=\\\"%{sign_up_url}\\\">sign up</a> to add your comment.\",\"form\":{\"body\":{\"label\":\"Comment\",\"placeholder\":\"What do you think about this?\"},\"form_error\":\"The text is required and it can't be longer than %{length} characters.\",\"submit\":\"Send\",\"user_group_id\":{\"label\":\"Comment as\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"%{count} characters left\",\"remaining_characters_1\":\"%{count} character left\",\"title\":\"Add your comment\"},\"comment\":{\"alignment\":{\"against\":\"Against\",\"in_favor\":\"In favor\"},\"deleted_user\":\"Deleted participant\",\"hide_replies\":\"Hide replies\",\"reply\":\"Reply\",\"report\":{\"action\":\"Report\",\"already_reported\":\"This content is already reported and it will be reviewed by an admin.\",\"close\":\"Close\",\"description\":\"Is this content inappropriate?\",\"details\":\"Additional comments\",\"reasons\":{\"does_not_belong\":\"Contains illegal activity, suicide threats, personal information, or something else you think doesn't belong on %{organization_name}.\",\"offensive\":\"Contains racism, sexism, slurs, personal attacks, death threats, suicide requests or any form of hate speech.\",\"spam\":\"Contains clickbait, advertising, scams or script bots.\"},\"title\":\"Report inappropriate content\"},\"show_replies\":\"Show %{replies_count} replies\",\"single_comment_link_title\":\"Get link to single comment\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Best rated\",\"most_discussed\":\"Most discussed\",\"older\":\"Older\",\"recent\":\"Recent\"},\"title\":\"Order by:\"},\"comment_thread\":{\"title\":\"Conversation with %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"You are not able to comment at this moment, but you can read the previous ones.\",\"blocked_comments_warning\":\"Comments are disabled at this time, but you can read the previous ones.\",\"comment_details_title\":\"Comment details\",\"loading\":\"Loading comments ...\",\"single_comment_warning\":\"You can check the rest of the comments <a href=\\\"%{url}\\\">here</a>.\",\"single_comment_warning_title\":\"You are seeing a single comment\",\"title\":\"%{count} comments\"},\"down_vote_button\":{\"text\":\"I disagree with this comment\"},\"up_vote_button\":{\"text\":\"I agree with this comment\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} has left a comment in %{resource_title}. You can read it in this page:\",\"email_outro\":\"You have received this notification because you are following %{author_name}. You can unfollow this user from their profile page.\",\"email_subject\":\"There is a new comment by %{author_name} in %{resource_title}\",\"notification_title\":\"There is a new comment by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"The group %{author_name} has left a comment in %{resource_title}. You can read it in this page:\",\"email_outro\":\"You have received this notification because you are following %{author_name}. You can unfollow this group from its profile page.\",\"email_subject\":\"There is a new comment by %{author_name} in %{resource_title}\",\"notification_title\":\"There is a new comment by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} has been commented. You can read the comment in this page:\",\"email_outro\":\"You have received this notification because you are following \\\"%{resource_title}\\\" or its author. You can unfollow it from the previous link.\",\"email_subject\":\"There is a new comment from %{author_name} in %{resource_title}\",\"notification_title\":\"There is a new comment from <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} has replied your comment in %{resource_title}. You can read it in this page:\",\"email_outro\":\"You have received this notification because your comment was replied.\",\"email_subject\":\"%{author_name} has replied your comment in %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> has replied your comment in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"A group you belong to has been mentioned\",\"email_outro\":\"You have received this notification because you are a member of the group %{group_name} that has been mentioned in %{resource_title}.\",\"email_subject\":\"You have been mentioned in %{resource_title} as a member of %{group_name}\",\"notification_title\":\"You have been mentioned in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> as a member of <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"You have been mentioned\",\"email_outro\":\"You have received this notification because you have been mentioned in %{resource_title}.\",\"email_subject\":\"You have been mentioned in %{resource_title}\",\"notification_title\":\"You have been mentioned in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Number of comments generated by participants\",\"object\":\"comments\",\"title\":\"Comments\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"can't have comments\"}}}}","module.exports = {\"eo\":null}","module.exports = {\"eo\":null}","module.exports = {\"es-MX\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comentario\",\"decidim/comments/comment_created_event\":\"Comentario\",\"decidim/comments/reply_created_event\":\"Respuesta al comentario\",\"decidim/comments/user_group_mentioned_event\":\"Mencionar\",\"decidim/comments/user_mentioned_event\":\"Mencionar\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comentario\",\"other\":\"Comentarios\"},\"decidim/comments/comment_vote\":{\"one\":\"Voto\",\"other\":\"Votos\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentarios\",\"comments_count\":\"Número de comentarios\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nuevo comentario en %{link}</span>\"},\"view\":\"Ver\",\"votes\":{\"create\":{\"error\":\"Ha habido errores al votar el comentario.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Inicia sesión con tu cuenta</a> o <a href=\\\"%{sign_up_url}\\\">regístrate</a> para añadir tu comentario.\",\"form\":{\"body\":{\"label\":\"Comentario\",\"placeholder\":\"¿Qué piensas sobre esto?\"},\"form_error\":\"El texto es necesario y no puede ser más de caracteres %{length}.\",\"submit\":\"Enviar\",\"user_group_id\":{\"label\":\"Comentar como\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"Quedan %{count} caracteres\",\"remaining_characters_1\":\"Queda %{count} carácter\",\"title\":\"Deje su comentario\"},\"comment\":{\"alignment\":{\"against\":\"En contra\",\"in_favor\":\"A favor\"},\"deleted_user\":\"Usuario eliminado\",\"hide_replies\":\"Ocultar respuestas\",\"reply\":\"Respuesta\",\"report\":{\"action\":\"Denunciar\",\"already_reported\":\"Este contenido ya fue denunciado y será revisado por un administrador.\",\"close\":\"Cerrar\",\"description\":\"¿Es inapropiado este contenido?\",\"details\":\"Comentarios adicionales\",\"reasons\":{\"does_not_belong\":\"Contiene actividad ilegal, amenazas de suicidio, información personal o cualquier otra cosa que usted piense que no pertenece en %{organization_name}.\",\"offensive\":\"Contiene racismo, sexismo, insultos, ataques personales, amenazas de muerte, solicitudes de suicidio o cualquier forma de discurso de odio.\",\"spam\":\"Contiene clickbait, publicidad o estafas.\"},\"title\":\"Notificar contenido inapropiado\"},\"show_replies\":\"Mostrar %{replies_count} respuestas\",\"single_comment_link_title\":\"Obtener enlace a un solo comentario\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Mejor valoración\",\"most_discussed\":\"Más discutidos\",\"older\":\"Más antiguo\",\"recent\":\"Reciente\"},\"title\":\"Ordenar por:\"},\"comment_thread\":{\"title\":\"Conversación con %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"No puede hacer comentarios en este momento, pero puede leer los anteriores.\",\"blocked_comments_warning\":\"Los comentarios están deshabilitados en este momento, pero puedes leer los anteriores.\",\"comment_details_title\":\"Detalles del comentario\",\"loading\":\"Cargando los comentarios ...\",\"single_comment_warning\":\"Puedes revisar el resto de los comentarios <a href=\\\"%{url}\\\">aquí</a>.\",\"single_comment_warning_title\":\"Estás viendo un solo comentario\",\"title\":\"%{count} comentarios\"},\"down_vote_button\":{\"text\":\"No estoy de acuerdo con este comentario\"},\"up_vote_button\":{\"text\":\"Estoy de acuerdo con este comentario\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ha dejado un comentario en %{resource_title}. Puedes leerlo en esta página:\",\"email_outro\":\"Has recibido esta notificación porque sigues \\\"%{author_name}\\\". Puedes dejar de seguirlo desde el enlace anterior.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} ha dejado un comentario en %{resource_title}. Puede leerlo en esta página:\",\"email_outro\":\"Recibes esta notificación porque sigues a %{author_name}. Puedes dejar de seguir a este grupo des de su página de perfil.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} ha sido comentado. Puedes leer el comentario en esta página:\",\"email_outro\":\"Has recibido esta notificación porque está siguiendo \\\"%{resource_title}\\\" o su autor. Puedes dejar de seguirlo desde el enlace anterior.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} ha respondido a tu comentario en %{resource_title}. Puedes leerlo en esta página:\",\"email_outro\":\"Has recibido esta notificación porque tu comentario fue respondido.\",\"email_subject\":\"%{author_name} ha respondido a tu comentario en %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ha respondido a tu comentario en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Se ha mencionado un grupo al que perteneces\",\"email_outro\":\"Has recibido esta notificación porque formas parte del grupo %{group_name} que ha sido mencionado en %{resource_title}.\",\"email_subject\":\"Te han mencionado en %{resource_title} como miembro de %{group_name}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> te ha mencionado en <a href=\\\"%{resource_path}\\\">%{resource_title}</a> como miembro de <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Has sido mencionado\",\"email_outro\":\"Has recibido esta notificación porque has sido mencionado en %{resource_title}.\",\"email_subject\":\"Has sido mencionado en %{resource_title}\",\"notification_title\":\"Has sido mencionado en <a href=\\\"%{resource_path}\\\">%{resource_title}</a> por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Número de comentarios generados por los usuarios\",\"object\":\"comentarios\",\"title\":\"Comentarios\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"no puede tener comentarios\"}}}}","module.exports = {\"es-PY\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comentario\",\"decidim/comments/comment_created_event\":\"Comentario\",\"decidim/comments/reply_created_event\":\"Respuesta al comentario\",\"decidim/comments/user_group_mentioned_event\":\"Mencionar\",\"decidim/comments/user_mentioned_event\":\"Mencionar\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comentario\",\"other\":\"Comentarios\"},\"decidim/comments/comment_vote\":{\"one\":\"Voto\",\"other\":\"Votos\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentarios\",\"comments_count\":\"Número de comentarios\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nuevo comentario en %{link}</span>\"},\"view\":\"Ver\",\"votes\":{\"create\":{\"error\":\"Ha habido errores al votar el comentario.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Inicia sesión con tu cuenta</a> o <a href=\\\"%{sign_up_url}\\\">regístrate</a> para añadir tu comentario.\",\"form\":{\"body\":{\"label\":\"Comentario\",\"placeholder\":\"¿Qué piensas sobre esto?\"},\"form_error\":\"El texto es necesario y no puede ser más de caracteres %{length}.\",\"submit\":\"Enviar\",\"user_group_id\":{\"label\":\"Comentar como\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"Quedan %{count} caracteres\",\"remaining_characters_1\":\"Queda %{count} carácter\",\"title\":\"Deje su comentario\"},\"comment\":{\"alignment\":{\"against\":\"En contra\",\"in_favor\":\"A favor\"},\"deleted_user\":\"Usuario eliminado\",\"hide_replies\":\"Ocultar respuestas\",\"reply\":\"Respuesta\",\"report\":{\"action\":\"Denunciar\",\"already_reported\":\"Este contenido ya fue denunciado y será revisado por un administrador.\",\"close\":\"Cerrar\",\"description\":\"¿Es inapropiado este contenido?\",\"details\":\"Comentarios adicionales\",\"reasons\":{\"does_not_belong\":\"Contiene actividad ilegal, amenazas de suicidio, información personal o cualquier otra cosa que usted piense que no pertenece en %{organization_name}.\",\"offensive\":\"Contiene racismo, sexismo, insultos, ataques personales, amenazas de muerte, solicitudes de suicidio o cualquier forma de discurso de odio.\",\"spam\":\"Contiene clickbait, publicidad o estafas.\"},\"title\":\"Notificar contenido inapropiado\"},\"show_replies\":\"Mostrar %{replies_count} respuestas\",\"single_comment_link_title\":\"Obtener enlace a un solo comentario\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Mejor valoración\",\"most_discussed\":\"Más discutidos\",\"older\":\"Más antiguo\",\"recent\":\"Reciente\"},\"title\":\"Ordenar por:\"},\"comment_thread\":{\"title\":\"Conversación con %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"No puede hacer comentarios en este momento, pero puede leer los anteriores.\",\"blocked_comments_warning\":\"Los comentarios están deshabilitados en este momento, pero puedes leer los anteriores.\",\"comment_details_title\":\"Detalles del comentario\",\"loading\":\"Cargando los comentarios ...\",\"single_comment_warning\":\"Puedes revisar el resto de los comentarios <a href=\\\"%{url}\\\">aquí</a>.\",\"single_comment_warning_title\":\"Estás viendo un solo comentario\",\"title\":\"%{count} comentarios\"},\"down_vote_button\":{\"text\":\"No estoy de acuerdo con este comentario\"},\"up_vote_button\":{\"text\":\"Estoy de acuerdo con este comentario\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ha dejado un comentario en %{resource_title}. Puedes leerlo en esta página:\",\"email_outro\":\"Has recibido esta notificación porque sigues \\\"%{author_name}\\\". Puedes dejar de seguirlo desde el enlace anterior.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} ha dejado un comentario en %{resource_title}. Puede leerlo en esta página:\",\"email_outro\":\"Recibes esta notificación porque sigues a %{author_name}. Puedes dejar de seguir a este grupo des de su página de perfil.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} ha sido comentado. Puedes leer el comentario en esta página:\",\"email_outro\":\"Has recibido esta notificación porque está siguiendo \\\"%{resource_title}\\\" o su autor. Puedes dejar de seguirlo desde el enlace anterior.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} ha respondido a tu comentario en %{resource_title}. Puedes leerlo en esta página:\",\"email_outro\":\"Has recibido esta notificación porque tu comentario fue respondido.\",\"email_subject\":\"%{author_name} ha respondido a tu comentario en %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ha respondido a tu comentario en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Se ha mencionado un grupo al que perteneces\",\"email_outro\":\"Has recibido esta notificación porque formas parte del grupo %{group_name} que ha sido mencionado en %{resource_title}.\",\"email_subject\":\"Te han mencionado en %{resource_title} como miembro de %{group_name}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> te ha mencionado en <a href=\\\"%{resource_path}\\\">%{resource_title}</a> como miembro de <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Has sido mencionado\",\"email_outro\":\"Has recibido esta notificación porque has sido mencionado en %{resource_title}.\",\"email_subject\":\"Has sido mencionado en %{resource_title}\",\"notification_title\":\"Has sido mencionado en <a href=\\\"%{resource_path}\\\">%{resource_title}</a> por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Número de comentarios generados por los usuarios.\",\"object\":\"comentarios\",\"title\":\"Comentarios\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"no puede tener comentarios\"}}}}","module.exports = {\"es\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comentario\",\"decidim/comments/comment_created_event\":\"Comentario\",\"decidim/comments/reply_created_event\":\"Respuesta al comentario\",\"decidim/comments/user_group_mentioned_event\":\"Mencionar\",\"decidim/comments/user_mentioned_event\":\"Mencionar\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comentario\",\"other\":\"Comentarios\"},\"decidim/comments/comment_vote\":{\"one\":\"Voto\",\"other\":\"Votos\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentarios\",\"comments_count\":\"Número de comentarios\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nuevo comentario en %{link}</span>\"},\"view\":\"Ver\",\"votes\":{\"create\":{\"error\":\"Se ha producido un error al votar el comentario.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Inicia sesión con tu cuenta</a> o <a href=\\\"%{sign_up_url}\\\">regístrate</a> para añadir tu comentario.\",\"form\":{\"body\":{\"label\":\"Comentario\",\"placeholder\":\"¿Qué piensas sobre ésto?\"},\"form_error\":\"El texto es necesario y no puede ser más largo de %{length}.\",\"submit\":\"Enviar\",\"user_group_id\":{\"label\":\"Comentar como\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"Quedan %{count} caracteres\",\"remaining_characters_1\":\"Queda %{count} carácter\",\"title\":\"Deja tu comentario\"},\"comment\":{\"alignment\":{\"against\":\"En contra\",\"in_favor\":\"A favor\"},\"deleted_user\":\"Participante eliminada\",\"hide_replies\":\"Ocultar respuestas\",\"reply\":\"Respuesta\",\"report\":{\"action\":\"Denunciar\",\"already_reported\":\"Este contenido ya ha sido denunciado y será revisado por una administradora.\",\"close\":\"Cerrar\",\"description\":\"¿Este contenido es inapropiado?\",\"details\":\"Comentarios adicionales\",\"reasons\":{\"does_not_belong\":\"Contiene actividad ilegal, amenazas de suicidio, información personal o cualquier otra cosa que usted piense que no pertenece en %{organization_name}.\",\"offensive\":\"Contiene racismo, sexismo, insultos, ataques personales, amenazas de muerte, solicitudes de suicidio o cualquier forma de discurso de odio.\",\"spam\":\"Contiene clickbait, publicidad o estafas.\"},\"title\":\"Notificar contenido inapropiado\"},\"show_replies\":\"Mostrar %{replies_count} respuestas\",\"single_comment_link_title\":\"Obtener enlace a un solo comentario\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Mejor valoración\",\"most_discussed\":\"Más discutidos\",\"older\":\"Más antiguo\",\"recent\":\"Reciente\"},\"title\":\"Ordenar por:\"},\"comment_thread\":{\"title\":\"Conversación con %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"No puedes hacer comentarios en este momento, pero puedes leer los anteriores.\",\"blocked_comments_warning\":\"Los comentarios están deshabilitados en este momento, pero puedes leer los anteriores.\",\"comment_details_title\":\"Detalles del comentario\",\"loading\":\"Cargando los comentarios ...\",\"single_comment_warning\":\"Puedes revisar el resto de los comentarios <a href=\\\"%{url}\\\">aquí</a>.\",\"single_comment_warning_title\":\"Estás viendo un solo comentario\",\"title\":\"%{count} comentarios\"},\"down_vote_button\":{\"text\":\"No estoy de acuerdo con este comentario\"},\"up_vote_button\":{\"text\":\"Estoy de acuerdo con este comentario\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ha dejado un comentario en %{resource_title}. Puedes leerlo en esta página:\",\"email_outro\":\"Has recibido esta notificación porque sigues \\\"%{author_name}\\\". Puedes dejar de seguir a esta participante desde su página de perfil.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} ha dejado un comentario en %{resource_title}. Puedes leerlo en esta página:\",\"email_outro\":\"Recibes esta notificación porque sigues a %{author_name}. Puedes dejar de seguir a este grupo desde su página de perfil.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} ha sido comentado. Puedes leer el comentario en esta página:\",\"email_outro\":\"Has recibido esta notificación porque está siguiendo \\\"%{resource_title}\\\" o su autora. Puedes dejar de seguirla desde el enlace anterior.\",\"email_subject\":\"Hay un nuevo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hay un nuevo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} ha respondido a tu comentario en %{resource_title}. Puedes leerlo en esta página:\",\"email_outro\":\"Has recibido esta notificación porque tu comentario fue respondido.\",\"email_subject\":\"%{author_name} ha respondido a tu comentario en %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ha respondido a tu comentario en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Se ha mencionado un grupo al que perteneces\",\"email_outro\":\"Has recibido esta notificación porque formas parte del grupo %{group_name} que ha sido mencionado en %{resource_title}.\",\"email_subject\":\"Te han mencionado en %{resource_title} como miembro de %{group_name}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> te ha mencionado en <a href=\\\"%{resource_path}\\\">%{resource_title}</a> como miembro de <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Has sido mencionada\",\"email_outro\":\"Has recibido esta notificación porque has sido mencionada en %{resource_title}.\",\"email_subject\":\"Has sido mencionada en %{resource_title}\",\"notification_title\":\"Has sido mencionada en <a href=\\\"%{resource_path}\\\">%{resource_title}</a> por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Número de comentarios generados por las participantes\",\"object\":\"comentarios\",\"title\":\"Comentarios\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"no puede tener comentarios\"}}}}","module.exports = {\"et\":null}","module.exports = {\"et\":null}","module.exports = {\"eu\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Iruzkina\",\"decidim/comments/comment_created_event\":\"Iruzkina\",\"decidim/comments/reply_created_event\":\"Iruzkinaren erantzuna\",\"decidim/comments/user_group_mentioned_event\":\"Aipatu\",\"decidim/comments/user_mentioned_event\":\"Aipatu\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Iruzkina\",\"other\":\"Oharrak\"},\"decidim/comments/comment_vote\":{\"one\":\"Bozkatu\",\"other\":\"Botoak\"}}},\"decidim\":{\"comments\":{\"comments\":\"Oharrak\",\"last_activity\":{\"new_comment_at_html\":\"<span>Iruzkin berria %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Erroreak gertatu dira iruzkina bozkatzean.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Hasi saioa zure kontuarekin</a> o <a href=\\\"%{sign_up_url}\\\">erregistratu</a> zure iruzkina txertatzeko.\",\"form\":{\"body\":{\"label\":\"Iruzkina\",\"placeholder\":\"Zer deritzozu honi?\"},\"form_error\":\"Testua behar da, eta ezin du izan %{length} karaktere baino gehiago.\",\"submit\":\"Bidali\",\"user_group_id\":{\"label\":\"Egin iruzkina honako honen gisa:\"}},\"opinion\":{\"neutral\":\"Neutrala\"},\"remaining_characters\":\"%{count} karaktere geratzen dira\",\"remaining_characters_1\":\"karaktere %{count} geratzen da\",\"title\":\"Egin hemen zure iruzkina\"},\"comment\":{\"alignment\":{\"against\":\"Aurka\",\"in_favor\":\"Alde\"},\"deleted_user\":\"Erabiltzaile ezabatua\",\"reply\":\"Erantzuna\",\"report\":{\"action\":\"Salatu\",\"already_reported\":\"Eduki hau jada salatuta dago, eta administratzaile batek.\",\"close\":\"Itxi\",\"description\":\"Eduki hau desegokia da?\",\"details\":\"Iruzkin gehigarriak\",\"reasons\":{\"does_not_belong\":\"Bertan badago legez kontrako jardunik, suizidio-mehatxurik, informazio pertsonalik edo beste zernahi, zure ustez %{organization_name}-ri ez dagokionik.\",\"offensive\":\"Ertan badago arrazakeriarik, sexismorik, irainik, eraso pertsonalik, heriotza-mehatxurik, suizidio-eskaerarik edo beste edozein eratako gorroto-diskurtsorik.\",\"spam\":\"Bertan badago clickbait-ik, publizitaterik edo iruzurrik.\"}}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Balorazio hoberenak\",\"most_discussed\":\"Eztabaidatuenak\",\"older\":\"Zaharrenak\",\"recent\":\"Berrienak\"},\"title\":\"Ordenatu honen arabera:\"},\"comment_thread\":{\"title\":\"Solasaldia honekin: %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Oraindik ez duzu iruzkinik egin, baina aurrekoak irakurri ditzakezu.\",\"blocked_comments_warning\":\"Iruzkinak desgaituta daude une honetan, baina aurrekoak irakur ditzakezu.\",\"loading\":\"Iruzkinak kargatzen...\",\"title\":\"%{count} iruzkin\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} iruzkin bat utzi du %{resource_title}helbidean. Orri honetan irakur dezakezu:\",\"email_outro\":\"Jakinarazpena jaso duzu %{author_name}jarraituz gero. Erabiltzaile hau bere profileko orrialdetik jarrai dezakezu.\",\"email_subject\":\"%{author_name} %{resource_title} iruzkin berri bat dago\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> <a href=\\\"%{resource_path}\\\">%{resource_title}</a> </a> iruzkin berri bat dago.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"%{author_name} %{resource_title} iruzkin berri bat dago\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> <a href=\\\"%{resource_path}\\\">%{resource_title}</a> </a> iruzkin berri bat dago.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} iruzkindu da. Orri honetan iruzkina irakur dezakezu:\",\"email_outro\":\"Jakinarazpen hau jaso duzu \\\"%{resource_title}\\\" edo bere egilea jarraitzen duzulako. Aurreko esteka estekan jarrai dezakezu.\",\"email_subject\":\"%{author_name} (r) en %{resource_title} iruzkin berri bat dago\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> <a href=\\\"%{resource_path}\\\">%{resource_title}</a> </a> iruzkin berri bat dago\"},\"reply_created\":{\"email_intro\":\"%{author_name} zure iruzkina erantzun du %{resource_title}zenbakian. Orri honetan irakur dezakezu:\",\"email_outro\":\"Jakinarazpen hau jaso duzu zure iruzkina erantzun delako.\",\"email_subject\":\"%{author_name} zure iruzkina erantzun du %{resource_title} zenbakian\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> -k zure iruzkinari erantzun dio <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Esan zaizu\",\"email_outro\":\"Jakinarazpena jaso duzu %{resource_title} delakoan aipatu duzulako.\",\"email_subject\":\"%{resource_title} aipatu zaituzte\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title}</a> <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> bidez aipatu zaituzte.\"}}},\"metrics\":{\"comments\":{\"description\":\"Erabiltzaileek sortutako iruzkin kopurua\",\"object\":\"iruzkinak\",\"title\":\"Oharrak\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"ezin zaio iruzkinik egin\"}}}}","module.exports = {\"fi-pl\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Kommentti\",\"decidim/comments/comment_created_event\":\"Kommentti\",\"decidim/comments/reply_created_event\":\"Vastaus kommentiin\",\"decidim/comments/user_mentioned_event\":\"Maininta\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Kommentti\",\"other\":\"Kommentit\"},\"decidim/comments/comment_vote\":{\"one\":\"Ääni\",\"other\":\"Äänet\"}}},\"decidim\":{\"comments\":{\"comments\":\"Kommentit\",\"last_activity\":{\"new_comment_at_html\":\"<span>Uusi kommentti osoitteessa %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Äänestettäessä kommenttia tapahtui virhe.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Kirjaudu sisään</a> tai <a href=\\\"%{sign_up_url}\\\">rekisteröidy palveluun</a> kommentoidaksesi.\",\"form\":{\"body\":{\"label\":\"Kommentti\",\"placeholder\":\"Mitä mieltä olet tästä?\"},\"form_error\":\"Teksti vaaditaan ja se ei voi olla pidempi kuin %{length} merkkiä.\",\"submit\":\"Lähetä\",\"user_group_id\":{\"label\":\"Kommentoi käyttäjänä\"}},\"opinion\":{\"neutral\":\"Neutraali\"},\"remaining_characters\":\"%{count} merkkiä jäljellä\",\"remaining_characters_1\":\"%{count} merkki jäljellä\",\"title\":\"Lisää oma kommenttisi\"},\"comment\":{\"alignment\":{\"against\":\"Vastaan\",\"in_favor\":\"Puolesta\"},\"deleted_user\":\"Poistettu käyttäjä\",\"reply\":\"Vastaa\",\"report\":{\"action\":\"Tee ilmoitus\",\"already_reported\":\"Tämä sisältö on jo ilmoitettu ja ylläpitäjä tutkii sen.\",\"close\":\"Sulje\",\"description\":\"Onko tämä sisältö epäasiallista?\",\"details\":\"Lisätiedot\",\"reasons\":{\"does_not_belong\":\"Sisältää laitonta toimintaa, itsemurhauhkailua, henkilökohtaisia tietoja tai jotain muuta, jonka et usko kuuluvan organisaatioon %{organization_name}.\",\"offensive\":\"Sisältää rasismia, seksismiä, haukkumista, henkilökohtaisia hyökkäyksiä, tappouhkauksia, itsemurhapyyntöjä tai muuta vihapuhetta.\",\"spam\":\"Sisältää klikkihoukutteita, mainostusta, huijauksia tai bottiskriptejä.\"},\"title\":\"Ilmoita ongelmasta\"}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Parhaiksi arvioidut\",\"most_discussed\":\"Eniten keskustelua herättäneet\",\"older\":\"Vanhimmat\",\"recent\":\"Uusimmat\"},\"title\":\"Järjestä tulokset:\"},\"comment_thread\":{\"title\":\"Keskustelu henkilön %{authorName} kanssa\"},\"comments\":{\"blocked_comments_warning\":\"Kommentit on poistettu käytöstä tällä hetkellä, mutta voit lukea aikaisempia kommentteja.\",\"loading\":\"Ladataan kommentteja ...\",\"title\":\"%{count} kommenttia\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} on jättänyt kommentin %{resource_title}. Voit lukea sen tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on jättänyt uuden kommentin kohtaan <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} on kommentoitu. Voit lukea kommentin tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat \\\"%{resource_title}\\\" tai sen kirjoittajaa. Voit lopettaa seuraamisen edellä esitetyn linkin kautta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>on jättänyt uuden kommentin kohtaan <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} on vastannut kommentiisi kohdassa %{resource_title}. Voit lukea sen tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska kommenttiisi vastattiin.\",\"email_subject\":\"%{author_name} on vastannut kommentiisi %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on vastannut kommentiisi kohdassa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Sinut on mainittu\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska sinut on mainittu kohdssa %{resource_title}.\",\"email_subject\":\"Sinut on mainittu kohdassa %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on maininnut sinut kohdassa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Käyttäjien kirjoittamien kommenttien määrä\",\"object\":\"kommentit\",\"title\":\"Kommentit\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"ei voi sisältää kommentteja\"}}}}","module.exports = {\"fi-pl\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Kommentti\",\"decidim/comments/comment_created_event\":\"Kommentti\",\"decidim/comments/reply_created_event\":\"Vastaus kommentiin\",\"decidim/comments/user_group_mentioned_event\":\"Maininta\",\"decidim/comments/user_mentioned_event\":\"Maininta\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Kommentti\",\"other\":\"Kommentit\"},\"decidim/comments/comment_vote\":{\"one\":\"Ääni\",\"other\":\"Äänet\"}}},\"decidim\":{\"comments\":{\"comments\":\"Kommentit\",\"comments_count\":\"Kommenttien määrä\",\"last_activity\":{\"new_comment_at_html\":\"<span>Uusi kommentti osoitteessa %{link}</span>\"},\"view\":\"Näytä\",\"votes\":{\"create\":{\"error\":\"Äänestettäessä kommenttia tapahtui virhe.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Kirjaudu sisään</a> tai <a href=\\\"%{sign_up_url}\\\">rekisteröidy palveluun</a> kommentoidaksesi.\",\"form\":{\"body\":{\"label\":\"Kommentti\",\"placeholder\":\"Mitä mieltä olet tästä?\"},\"form_error\":\"Teksti vaaditaan ja se ei voi olla pidempi kuin %{length} merkkiä.\",\"submit\":\"Lähetä\",\"user_group_id\":{\"label\":\"Kommentoi käyttäjänä\"}},\"opinion\":{\"neutral\":\"Neutraali\"},\"remaining_characters\":\"%{count} merkkiä jäljellä\",\"remaining_characters_1\":\"%{count} merkki jäljellä\",\"title\":\"Lisää oma kommenttisi\"},\"comment\":{\"alignment\":{\"against\":\"Vastaan\",\"in_favor\":\"Puolesta\"},\"deleted_user\":\"Poistettu käyttäjä\",\"hide_replies\":\"Piilota vastaukset\",\"reply\":\"Vastaa\",\"report\":{\"action\":\"Tee ilmoitus\",\"already_reported\":\"Tämä sisältö on jo ilmoitettu ja ylläpitäjä tutkii sen.\",\"close\":\"Sulje\",\"description\":\"Onko tämä sisältö epäasiallista?\",\"details\":\"Lisätiedot\",\"reasons\":{\"does_not_belong\":\"Sisältää laitonta toimintaa, itsemurhauhkailua, henkilökohtaisia tietoja tai jotain muuta, jonka et usko kuuluvan organisaatioon %{organization_name}.\",\"offensive\":\"Sisältää rasismia, seksismiä, haukkumista, henkilökohtaisia hyökkäyksiä, tappouhkauksia, itsemurhapyyntöjä tai muuta vihapuhetta.\",\"spam\":\"Sisältää klikkihoukutteita, mainostusta, huijauksia tai bottiskriptejä.\"},\"title\":\"Ilmoita asiatonta sisältöä\"},\"show_replies\":\"Näytä %{replies_count} vastausta\",\"single_comment_link_title\":\"Hae linkki yksittäiseen kommenttiin\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Parhaiksi arvioidut\",\"most_discussed\":\"Eniten keskustelua herättäneet\",\"older\":\"Vanhimmat\",\"recent\":\"Uusimmat\"},\"title\":\"Järjestä tulokset:\"},\"comment_thread\":{\"title\":\"Keskustelu henkilön %{authorName} kanssa\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Et voi kommentoida tällä hetkellä, mutta voit lukea aikaisempia kommentteja.\",\"blocked_comments_warning\":\"Kommentit on poistettu käytöstä tällä hetkellä, mutta voit lukea aikaisempia kommentteja.\",\"comment_details_title\":\"Kommentin yksityiskohdat\",\"loading\":\"Ladataan kommentteja ...\",\"single_comment_warning\":\"Voit katsoa loput kommentit <a href=\\\"%{url}\\\">täältä</a>.\",\"single_comment_warning_title\":\"Näet yhden kommentin\",\"title\":\"%{count} kommenttia\"},\"down_vote_button\":{\"text\":\"Olen eri mieltä tämän kommentin kanssa\"},\"up_vote_button\":{\"text\":\"Olen samaa mieltä tämän kommentin kanssa\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} on jättänyt kommentin %{resource_title}. Voit lukea sen tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on jättänyt uuden kommentin kohtaan <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} on jättänyt kommentin kohteessa %{resource_title}. Voit lukea sen täältä:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on jättänyt uuden kommentin kohtaan <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} on kommentoitu. Voit lukea kommentin tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat \\\"%{resource_title}\\\" tai sen kirjoittajaa. Voit lopettaa seuraamisen edellä esitetyn linkin kautta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohtaan %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>on jättänyt uuden kommentin kohtaan <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} on vastannut kommentiisi kohdassa %{resource_title}. Voit lukea sen tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska kommenttiisi vastattiin.\",\"email_subject\":\"%{author_name} on vastannut kommentiisi %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on vastannut kommentiisi kohdassa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Ryhmä, jonka jäsen olet, on mainittu\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska olet jäsenenä ryhmässä %{group_name} ja ryhmä on mainittu kohteessa %{resource_title}.\",\"email_subject\":\"Sinut on mainittu kohteessa %{resource_title} ryhmän %{group_name} jäsenenä\",\"notification_title\":\"Käyttäjä <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> on maininnut sinut kohteessa <a href=\\\"%{resource_path}\\\">%{resource_title}</a> ryhmän <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a> jäsenenä\"},\"user_mentioned\":{\"email_intro\":\"Sinut on mainittu\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska sinut on mainittu kohdssa %{resource_title}.\",\"email_subject\":\"Sinut on mainittu kohdassa %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on maininnut sinut kohdassa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Käyttäjien kirjoittamien kommenttien määrä\",\"object\":\"kommentit\",\"title\":\"Kommentit\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"ei voi sisältää kommentteja\"}}}}","module.exports = {\"fi\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Kommentti\",\"decidim/comments/comment_created_event\":\"Kommentti\",\"decidim/comments/reply_created_event\":\"Vastaus kommentiin\",\"decidim/comments/user_group_mentioned_event\":\"Maininta\",\"decidim/comments/user_mentioned_event\":\"Maininta\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Kommentti\",\"other\":\"Kommentit\"},\"decidim/comments/comment_vote\":{\"one\":\"Ääni\",\"other\":\"Äänet\"}}},\"decidim\":{\"comments\":{\"comments\":\"Kommentit\",\"comments_count\":\"Kommenttien määrä\",\"last_activity\":{\"new_comment_at_html\":\"<span>Uusi kommentti osoitteessa %{link}</span>\"},\"view\":\"Näytä\",\"votes\":{\"create\":{\"error\":\"Kommentin äänestys epäonnistui.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Kirjaudu sisään</a> tai <a href=\\\"%{sign_up_url}\\\">rekisteröidy palveluun</a> kommentoidaksesi.\",\"form\":{\"body\":{\"label\":\"Kommentti\",\"placeholder\":\"Mitä mieltä olet tästä?\"},\"form_error\":\"Teksti vaaditaan ja se ei voi olla pidempi kuin %{length} merkkiä.\",\"submit\":\"Lähetä\",\"user_group_id\":{\"label\":\"Kommentoi käyttäjänä\"}},\"opinion\":{\"neutral\":\"Neutraali\"},\"remaining_characters\":\"%{count} merkkiä jäljellä\",\"remaining_characters_1\":\"%{count} merkki jäljellä\",\"title\":\"Lisää oma kommenttisi\"},\"comment\":{\"alignment\":{\"against\":\"Vastaan\",\"in_favor\":\"Puolesta\"},\"deleted_user\":\"Poistettu käyttäjä\",\"hide_replies\":\"Piilota vastaukset\",\"reply\":\"Vastaa\",\"report\":{\"action\":\"Tee ilmoitus\",\"already_reported\":\"Tämä sisältö on jo ilmoitettu ja ylläpitäjä tutkii sen.\",\"close\":\"Sulje\",\"description\":\"Onko tämä sisältö sopimatonta?\",\"details\":\"Lisätiedot\",\"reasons\":{\"does_not_belong\":\"Sisältää laitonta toimintaa, itsemurhauhkailua, henkilökohtaisia tietoja tai jotain muuta, jonka et usko kuuluvan organisaatioon %{organization_name}.\",\"offensive\":\"Sisältää rasismia, seksismiä, haukkumista, henkilökohtaisia hyökkäyksiä, tappouhkauksia, itsemurhapyyntöjä tai muuta vihapuhetta.\",\"spam\":\"Sisältää klikkihoukutteita, mainostusta, huijauksia tai bottiskriptejä.\"},\"title\":\"Ilmoita asiatonta sisältöä\"},\"show_replies\":\"Näytä %{replies_count} vastausta\",\"single_comment_link_title\":\"Hae linkki yksittäiseen kommenttiin\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Parhaiksi arvioidut\",\"most_discussed\":\"Eniten keskustelua herättäneet\",\"older\":\"Vanhimmat\",\"recent\":\"Uusimmat\"},\"title\":\"Järjestä tulokset:\"},\"comment_thread\":{\"title\":\"Keskustelu henkilön %{authorName} kanssa\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Et voi kommentoida tällä hetkellä, mutta voit lukea aikaisempia kommentteja.\",\"blocked_comments_warning\":\"Kommentit on poistettu käytöstä tällä hetkellä, mutta voit lukea aikaisempia kommentteja.\",\"comment_details_title\":\"Kommentin yksityiskohdat\",\"loading\":\"Ladataan kommentteja ...\",\"single_comment_warning\":\"Voit katsoa loput kommentit <a href=\\\"%{url}\\\">täältä</a>.\",\"single_comment_warning_title\":\"Näet yhden kommentin\",\"title\":\"%{count} kommenttia\"},\"down_vote_button\":{\"text\":\"Olen eri mieltä tämän kommentin kanssa\"},\"up_vote_button\":{\"text\":\"Olen samaa mieltä tämän kommentin kanssa\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} on jättänyt kommentin kohteessa %{resource_title}. Voit lukea sen täältä:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohteessa %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on jättänyt uuden kommentin kohteessa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} on jättänyt kommentin kohteessa %{resource_title}. Voit lukea sen täältä:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat %{author_name}. Voit perua seuraamisen kyseisen käyttäjän profiilisivulta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohteessa %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on jättänyt uuden kommentin kohteessa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} on kommentoitu. Voit lukea kommentin tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska seuraat \\\"%{resource_title}\\\" tai sen kirjoittajaa. Voit lopettaa seuraamisen edellä esitetyn linkin kautta.\",\"email_subject\":\"%{author_name} on jättänyt uuden kommentin kohteessa %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>on jättänyt uuden kommentin kohteessa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} on vastannut kommentiisi kohdassa %{resource_title}. Voit lukea sen tällä sivulla:\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska kommenttiisi vastattiin.\",\"email_subject\":\"%{author_name} on vastannut kommentiisi %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on vastannut kommentiisi kohdassa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Ryhmä, jonka jäsen olet, on mainittu\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska olet jäsenenä ryhmässä %{group_name} ja ryhmä on mainittu kohteessa %{resource_title}.\",\"email_subject\":\"Sinut on mainittu kohteessa %{resource_title} ryhmän %{group_name} jäsenenä\",\"notification_title\":\"Käyttäjä <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> on maininnut sinut kohteessa <a href=\\\"%{resource_path}\\\">%{resource_title}</a> ryhmän <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a> jäsenenä\"},\"user_mentioned\":{\"email_intro\":\"Sinut on mainittu\",\"email_outro\":\"Tämä ilmoitus on lähetetty sinulle, koska sinut on mainittu kohteessa %{resource_title}.\",\"email_subject\":\"Sinut on mainittu kohdassa %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> on maininnut sinut kohdassa <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Käyttäjien kirjoittamien kommenttien määrä\",\"object\":\"kommentit\",\"title\":\"Kommentit\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"ei voi sisältää kommentteja\"}}}}","module.exports = {\"fr-CA\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Commentaire\",\"decidim/comments/comment_created_event\":\"Commentaire\",\"decidim/comments/reply_created_event\":\"Réponse à un commentaire\",\"decidim/comments/user_group_mentioned_event\":\"Mention\",\"decidim/comments/user_mentioned_event\":\"Mention\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Commentaire\",\"other\":\"Commentaires\"},\"decidim/comments/comment_vote\":{\"one\":\"Vote\",\"other\":\"Votes\"}}},\"decidim\":{\"comments\":{\"comments\":\"commentaires\",\"comments_count\":\"Nombre de commentaires\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nouveau commentaire à %{link}</span>\"},\"view\":\"Voir\",\"votes\":{\"create\":{\"error\":\"Une erreur s'est produite lors du vote sur le commentaire.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"Pour ajouter votre commentaire <a href=\\\"%{sign_in_url}\\\"> connectez-vous avec votre compte</a> ou <a href=\\\"%{sign_up_url}\\\">inscrivez-vous</a>.\",\"form\":{\"body\":{\"label\":\"Commentaire\",\"placeholder\":\"Que pensez-vous de cela ?\"},\"form_error\":\"Le texte est requis et ne peut pas dépasser %{length} caractères.\",\"submit\":\"Publier\",\"user_group_id\":{\"label\":\"Commenter en tant que\"}},\"opinion\":{\"neutral\":\"Neutre\"},\"remaining_characters\":\"%{count} caractères restants\",\"remaining_characters_1\":\"%{count} caractère restant\",\"title\":\"Ajoutez votre commentaire\"},\"comment\":{\"alignment\":{\"against\":\"Contre\",\"in_favor\":\"Pour\"},\"deleted_user\":\"Utilisateur supprimé\",\"hide_replies\":\"Cacher les réponses\",\"reply\":\"Répondre\",\"report\":{\"action\":\"Signaler\",\"already_reported\":\"Ce contenu a déjà été signalé et il sera examiné par un administrateur.\",\"close\":\"Fermer\",\"description\":\"Ce contenu est-il inapproprié ?\",\"details\":\"Commentaires additionnels\",\"reasons\":{\"does_not_belong\":\"Contient d’autres types de contenus qui vous semblent inappropriés à %{organization_name} (activités illégales, menaces suicidaires, informations personnelles,...).\",\"offensive\":\"Contient des propos contraires à la loi (propos racistes, sexistes, insultes, attaques personnelles, menaces de mort, incitations au suicide ou toute forme de discours de haine,...).\",\"spam\":\"Contient des publicités, des escroqueries, des pièges à clic (clickbait) ou des robots fonctionnant au script (script bots).\"},\"title\":\"Signaler un contenu inapproprié\"},\"show_replies\":\"Afficher %{replies_count} réponses\",\"single_comment_link_title\":\"Obtenir un lien vers un seul commentaire\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Les mieux notés\",\"most_discussed\":\"Les plus débattus\",\"older\":\"Les plus anciens\",\"recent\":\"Les plus récents\"},\"title\":\"Classement par :\"},\"comment_thread\":{\"title\":\"Conversation avec %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Vous n'êtes pas en mesure de commenter pour le moment, mais vous pouvez lire les précédents.\",\"blocked_comments_warning\":\"Les commentaires sont actuellement désactivés, mais vous pouvez lire ceux déjà saisis.\",\"comment_details_title\":\"Détails du commentaire\",\"loading\":\"Chargement des commentaires ...\",\"single_comment_warning\":\"Vous pouvez accéder au reste des commentaires <a href=\\\"%{url}\\\">ici</a>.\",\"single_comment_warning_title\":\"Vous ne voyez qu'un seul commentaire\",\"title\":\"%{count} commentaires\"},\"down_vote_button\":{\"text\":\"Je ne suis pas d'accord avec ce commentaire\"},\"up_vote_button\":{\"text\":\"Je suis d'accord avec ce commentaire\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} a laissé un commentaire dans %{resource_title}. Vous pouvez le lire sur la page suivante :\",\"email_outro\":\"Vous avez reçu cette notification, car vous suivez %{author_name}. Vous pouvez vous désabonner de cet utilisateur depuis sa page de profil.\",\"email_subject\":\"Un nouveau commentaire vient d'être déposé par %{author_name} dans %{resource_title}\",\"notification_title\":\"Un nouveau commentaire a été publié par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} a laissé un commentaire dans %{resource_title}. Vous pouvez le lire sur la page suivante :\",\"email_outro\":\"Vous avez reçu cette notification, car vous suivez %{author_name}. Vous pouvez vous désabonner de cet utilisateur depuis sa page de profil.\",\"email_subject\":\"Un nouveau commentaire vient d'être déposé par %{author_name} dans %{resource_title}\",\"notification_title\":\"Un nouveau commentaire a été publié par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} a été commenté. Vous pouvez lire le commentaire sur cette page :\",\"email_outro\":\"Vous venez de recevoir cette notification parce que vous suivez \\\"%{resource_title}\\\" ou son auteur. Vous pouvez vous désabonner à partir du lien précédant.\",\"email_subject\":\"Un nouveau commentaire vient d'être publié par %{author_name} dans %{resource_title}\",\"notification_title\":\"Un nouveau commentaire de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> vient d'être publié dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} a répondu à votre commentaire dans %{resource_title}. Vous pouvez le lire depuis la page suivante :\",\"email_outro\":\"Vous venez de recevoir une notification à votre commentaire.\",\"email_subject\":\"%{author_name} a répondu à votre commentaire dans %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> a réagi à votre commentaire sur <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Un groupe auquel vous appartenez a été mentionné\",\"email_outro\":\"Vous avez reçu cette notification parce que vous êtes membre du groupe %{group_name} qui a été mentionné dans %{resource_title}.\",\"email_subject\":\"Vous avez été mentionné dans %{resource_title} en tant que membre de %{group_name}\",\"notification_title\":\"Vous avez été mentionné dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a> par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en tant que membre de <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Vous avez été mentionné\",\"email_outro\":\"Vous avez reçu cette notification parce que vous avez été mentionné dans %{resource_title}.\",\"email_subject\":\"Vous avez été mentionné dans %{resource_title}\",\"notification_title\":\"Vous avez été mentionné dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a> par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Nombre de commentaires générés par les utilisateurs\",\"object\":\"commentaires\",\"title\":\"commentaires\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"ne peut pas être commenté\"}}}}","module.exports = {\"fr\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Commentaire\",\"decidim/comments/comment_created_event\":\"Commentaire\",\"decidim/comments/reply_created_event\":\"Réponse à un commentaire\",\"decidim/comments/user_group_mentioned_event\":\"Mention\",\"decidim/comments/user_mentioned_event\":\"Mention\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Commentaire\",\"other\":\"Commentaires\"},\"decidim/comments/comment_vote\":{\"one\":\"Vote\",\"other\":\"Votes\"}}},\"decidim\":{\"comments\":{\"comments\":\"commentaires\",\"comments_count\":\"Nombre de commentaires\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nouveau commentaire à %{link}</span>\"},\"view\":\"Voir\",\"votes\":{\"create\":{\"error\":\"Une erreur s'est produite lors du vote sur le commentaire.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"Pour ajouter votre commentaire <a href=\\\"%{sign_in_url}\\\"> connectez-vous avec votre compte</a> ou <a href=\\\"%{sign_up_url}\\\">inscrivez-vous</a>.\",\"form\":{\"body\":{\"label\":\"Commentaire\",\"placeholder\":\"Que pensez-vous de cela ?\"},\"form_error\":\"Le texte est requis et ne peut pas dépasser %{length} caractères.\",\"submit\":\"Publier\",\"user_group_id\":{\"label\":\"Commenter en tant que\"}},\"opinion\":{\"neutral\":\"Neutre\"},\"remaining_characters\":\"%{count} caractères restants\",\"remaining_characters_1\":\"%{count} caractère restant\",\"title\":\"Ajoutez votre commentaire\"},\"comment\":{\"alignment\":{\"against\":\"Contre\",\"in_favor\":\"Pour\"},\"deleted_user\":\"Utilisateur supprimé\",\"hide_replies\":\"Cacher les réponses\",\"reply\":\"Répondre\",\"report\":{\"action\":\"Signaler\",\"already_reported\":\"Ce contenu a déjà été signalé et il sera examiné par un administrateur.\",\"close\":\"Fermer\",\"description\":\"Ce contenu est-il inapproprié ?\",\"details\":\"Commentaires additionnels\",\"reasons\":{\"does_not_belong\":\"Contient d’autres types de contenus qui vous semblent inappropriés à %{organization_name} (activités illégales, menaces suicidaires, informations personnelles,...).\",\"offensive\":\"Contient des propos contraires à la loi (propos racistes, sexistes, insultes, attaques personnelles, menaces de mort, incitations au suicide ou toute forme de discours de haine,...).\",\"spam\":\"Contient des publicités, des escroqueries, des pièges à clic (clickbait) ou des robots fonctionnant au script (script bots).\"},\"title\":\"Signaler un contenu inapproprié\"},\"show_replies\":\"Afficher %{replies_count} réponses\",\"single_comment_link_title\":\"Obtenir un lien vers un seul commentaire\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Les mieux notés\",\"most_discussed\":\"Les plus débattus\",\"older\":\"Les plus anciens\",\"recent\":\"Les plus récents\"},\"title\":\"Classement par :\"},\"comment_thread\":{\"title\":\"Conversation avec %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Vous n'êtes pas en mesure de commenter pour le moment, mais vous pouvez lire les précédents.\",\"blocked_comments_warning\":\"Les commentaires sont actuellement désactivés, mais vous pouvez lire ceux déjà saisis.\",\"comment_details_title\":\"Détails du commentaire\",\"loading\":\"Chargement des commentaires ...\",\"single_comment_warning\":\"Vous pouvez accéder au reste des commentaires <a href=\\\"%{url}\\\">ici</a>.\",\"single_comment_warning_title\":\"Vous ne voyez qu'un seul commentaire\",\"title\":\"%{count} commentaires\"},\"down_vote_button\":{\"text\":\"Je ne suis pas d'accord avec ce commentaire\"},\"up_vote_button\":{\"text\":\"Je suis d'accord avec ce commentaire\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} a laissé un commentaire dans %{resource_title}. Vous pouvez le lire sur la page suivante :\",\"email_outro\":\"Vous avez reçu cette notification, car vous suivez %{author_name}. Vous pouvez vous désabonner de cet utilisateur depuis sa page de profil.\",\"email_subject\":\"Un nouveau commentaire vient d'être déposé par %{author_name} dans %{resource_title}\",\"notification_title\":\"Un nouveau commentaire a été publié par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} a laissé un commentaire dans %{resource_title}. Vous pouvez le lire sur la page suivante :\",\"email_outro\":\"Vous avez reçu cette notification, car vous suivez %{author_name}. Vous pouvez vous désabonner de cet utilisateur depuis sa page de profil.\",\"email_subject\":\"Un nouveau commentaire vient d'être déposé par %{author_name} dans %{resource_title}\",\"notification_title\":\"Un nouveau commentaire a été publié par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} a été commenté. Vous pouvez lire le commentaire sur cette page :\",\"email_outro\":\"Vous venez de recevoir cette notification parce que vous suivez \\\"%{resource_title}\\\" ou son auteur. Vous pouvez vous désabonner à partir du lien précédant.\",\"email_subject\":\"Un nouveau commentaire vient d'être publié par %{author_name} dans %{resource_title}\",\"notification_title\":\"Un nouveau commentaire de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> vient d'être publié dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} a répondu à votre commentaire dans %{resource_title}. Vous pouvez le lire depuis la page suivante :\",\"email_outro\":\"Vous venez de recevoir une notification à votre commentaire.\",\"email_subject\":\"%{author_name} a répondu à votre commentaire dans %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> a réagi à votre commentaire sur <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Un groupe auquel vous appartenez a été mentionné\",\"email_outro\":\"Vous avez reçu cette notification parce que vous êtes membre du groupe %{group_name} qui a été mentionné dans %{resource_title}.\",\"email_subject\":\"Vous avez été mentionné dans %{resource_title} en tant que membre de %{group_name}\",\"notification_title\":\"Vous avez été mentionné dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a> par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en tant que membre de <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Vous avez été mentionné\",\"email_outro\":\"Vous avez reçu cette notification parce que vous avez été mentionné dans %{resource_title}.\",\"email_subject\":\"Vous avez été mentionné dans %{resource_title}\",\"notification_title\":\"Vous avez été mentionné dans <a href=\\\"%{resource_path}\\\">%{resource_title}</a> par <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Nombre de commentaires générés par les utilisateurs\",\"object\":\"commentaires\",\"title\":\"commentaires\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"ne peut pas être commenté\"}}}}","module.exports = {\"ga\":null}","module.exports = {\"gl\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comentario\",\"decidim/comments/comment_created_event\":\"Comentario\",\"decidim/comments/reply_created_event\":\"Comentario de resposta\",\"decidim/comments/user_group_mentioned_event\":\"Mención\",\"decidim/comments/user_mentioned_event\":\"Mención\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comentario\",\"other\":\"Comentarios\"},\"decidim/comments/comment_vote\":{\"one\":\"Vota\",\"other\":\"Votos\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentarios\",\"comments_count\":\"Número de comentarios\",\"last_activity\":{\"new_comment_at_html\":\"<span>Novo comentario en %{link}</span>\"},\"view\":\"Ver\",\"votes\":{\"create\":{\"error\":\"Houbo erros ao votar o comentario.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Inicia sesión coa túa conta</a> ou <a href=\\\"%{sign_up_url}\\\">iniciar</a> para engadir o teu comentario.\",\"form\":{\"body\":{\"label\":\"Comentario\",\"placeholder\":\"Que vos parece?\"},\"form_error\":\"Requírese o texto e non pode ter máis de %{length} caracteres.\",\"submit\":\"Enviar\",\"user_group_id\":{\"label\":\"Comentar como\"}},\"opinion\":{\"neutral\":\"Neutro\"},\"remaining_characters\":\"Faltan %{count} caracteres\",\"remaining_characters_1\":\"Faltou o personaxe %{count}\",\"title\":\"Engade o teu comentario\"},\"comment\":{\"alignment\":{\"against\":\"Contra\",\"in_favor\":\"A favor\"},\"deleted_user\":\"Usuario eliminado\",\"hide_replies\":\"Ocultar respostas\",\"reply\":\"Responder\",\"report\":{\"action\":\"Informe\",\"already_reported\":\"Este contido xa se informou e será revisado por un administrador.\",\"close\":\"Pechar\",\"description\":\"Este contido é inapropiado?\",\"details\":\"Comentarios adicionais\",\"reasons\":{\"does_not_belong\":\"Contén actividades ilegais, ameazas de suicidio, información persoal ou outra cousa que pensas que non pertence a %{organization_name}.\",\"offensive\":\"Contén racismo, sexismo, abuso, ataques persoais, ameazas de morte, solicitudes de suicidio ou calquera tipo de discurso de odio.\",\"spam\":\"Contén clic, publicidade, fraudes ou bots de script.\"},\"title\":\"Denunciar contido inapropiado\"},\"show_replies\":\"Amosar %{replies_count} respostas\",\"single_comment_link_title\":\"Obter ligazón a un único comentario\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Mellor valorado\",\"most_discussed\":\"A maioría discutida\",\"older\":\"Máis vello\",\"recent\":\"Recentes\"},\"title\":\"Ordenar por:\"},\"comment_thread\":{\"title\":\"Conversa con %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Non podes comentar neste momento, pero podes ler os anteriores.\",\"blocked_comments_warning\":\"Os comentarios están desactivados neste momento, pero podes ler os anteriores.\",\"comment_details_title\":\"Detalles do comentario\",\"loading\":\"Cargando comentarios ...\",\"single_comment_warning\":\"Podes revisar os comentarios restantes <a href=\\\"%{url}\\\">aquí</a>.\",\"single_comment_warning_title\":\"Estás a ver un único comentario\",\"title\":\"%{count} comentarios\"},\"down_vote_button\":{\"text\":\"Non estou de acordo con este comentario\"},\"up_vote_button\":{\"text\":\"Estou de acordo con este comentario\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} deixou un comentario en %{resource_title}. Podes lelo nesta páxina:\",\"email_outro\":\"Recibiches esta notificación porque estás seguindo %{author_name}. Podes deixar de seguir este usuario desde a súa páxina de perfil.\",\"email_subject\":\"Hai un novo comentario por %{author_name} en %{resource_title}\",\"notification_title\":\"Hai un novo comentario <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"Hai un novo comentario por %{author_name} en %{resource_title}\",\"notification_title\":\"Hai un novo comentario <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"Comentouse %{resource_title} . Podes ler o comentario nesta páxina:\",\"email_outro\":\"Recibiches esta notificación porque estás seguindo \\\"%{resource_title}\\\" ou o seu autor. Podes deixar de seguir desde a ligazón anterior.\",\"email_subject\":\"Hai un novo comentario de %{author_name} en %{resource_title}\",\"notification_title\":\"Hai un novo comentario de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} respondeu o teu comentario en %{resource_title}. Podes lelo nesta páxina:\",\"email_outro\":\"Recibiches esta notificación porque o teu comentario foi respondido.\",\"email_subject\":\"%{author_name} respondeu o teu comentario en %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> respondeu o seu comentario en <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Foi mencionado\",\"email_outro\":\"Recibiches esta notificación porque foi mencionado en %{resource_title}.\",\"email_subject\":\"Foi mencionado en %{resource_title}\",\"notification_title\":\"Foi mencionado en <a href=\\\"%{resource_path}\\\">%{resource_title}</a> por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Número de comentarios xerados polos usuarios\",\"object\":\"comentarios\",\"title\":\"Comentarios\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"Non podo ter comentarios\"}}}}","module.exports = {\"hr\":null}","module.exports = {\"hr\":null}","module.exports = {\"hu\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Megjegyzés\",\"decidim/comments/comment_created_event\":\"Megjegyzés\",\"decidim/comments/reply_created_event\":\"Hozzászólás válasz\",\"decidim/comments/user_group_mentioned_event\":\"Említés\",\"decidim/comments/user_mentioned_event\":\"Említés\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Megjegyzés\",\"other\":\"Megjegyzések\"},\"decidim/comments/comment_vote\":{\"one\":\"Szavazat\",\"other\":\"Szavazatok\"}}},\"decidim\":{\"comments\":{\"comments\":\"Hozzászólások\",\"last_activity\":{\"new_comment_at_html\":\"<span>Új megjegyzés: %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Hiba történt a megjegyzésre való szavazáskor.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Jelentkezzen be fiókodba</a> vagy <a href=\\\"%{sign_up_url}\\\">iratkozz fel</a> megjegyzés küldéséhez.\",\"form\":{\"body\":{\"label\":\"Megjegyzés\",\"placeholder\":\"Mit gondolsz erről?\"},\"form_error\":\"Kötelező kitölteni, és nem lehet hosszabb, mint %{length} karakter.\",\"submit\":\"Küldés\",\"user_group_id\":{\"label\":\"Megjegyzés mint:\"}},\"opinion\":{\"neutral\":\"Semleges\"},\"remaining_characters\":\"%{count} karakter maradt\",\"remaining_characters_1\":\"%{count} karakter maradt\",\"title\":\"Szólj hozzá\"},\"comment\":{\"alignment\":{\"against\":\"Ellenzem\",\"in_favor\":\"Támogatom\"},\"deleted_user\":\"Törölt felhasználó\",\"hide_replies\":\"Válaszok elrejtése\",\"reply\":\"Válasz\",\"report\":{\"action\":\"Jelentés\",\"already_reported\":\"Ezt a tartalmat már jelentették, az adminisztrátor éppen felülvizsgálja.\",\"close\":\"Bezárás\",\"description\":\"Sértő a tartalom?\",\"details\":\"További megjegyzések\",\"reasons\":{\"does_not_belong\":\"Illegális tevékenységet, öngyilkosságra való felhívást, személyes adatokat vagy más olyan dolgot tartalmaz, ami nem tartozik ide: %{organization_name}.\",\"offensive\":\"Rasszizmust, szexizmust, gyalázkodást, személyeskedést, halálos fenyegetést, öngyilkosságra való felhívást vagy gyűlöletbeszédet tartalmaz.\",\"spam\":\"Klikkvadászat, reklám, átverés vagy script bot.\"}},\"show_replies\":\"%{replies_count} válasz mutatása\",\"single_comment_link_title\":\"Link a kommenthez\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Legjobbra értékelt\",\"most_discussed\":\"Leginkább vitatott\",\"older\":\"Korábbi\",\"recent\":\"Legutóbbi\"},\"title\":\"Rendezés:\"},\"comment_thread\":{\"title\":\"Beszélgetés vele: %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Ebben a pillanatban nem tud megjegyzéseket tenni, de elolvashatja az előzőeket.\",\"blocked_comments_warning\":\"A megjegyzések jelenleg le vannak tiltva, de a korábbiakat elolvashatod.\",\"comment_details_title\":\"Megjegyzés részletei\",\"loading\":\"Hozzászólások betöltése ...\",\"single_comment_warning\":\"A többi hozzászólást <a href=\\\"%{url}\\\">itt</a> ellenőrizheti.\",\"single_comment_warning_title\":\"Egyetlen megjegyzést látsz\",\"title\":\"%{count} megjegyzés\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} megjegyzést hagyott itt: %{resource_title}. Ezen az oldalon megtalálod:\",\"email_outro\":\"Ezt az értesítést azért kaptad, mert ezt követed: \\\"%{author_name}\\\". Leiratkozás az előző link segítségével.\",\"email_subject\":\"%{author_name} új megjegyzése itt: %{resource_title}\",\"notification_title\":\"Új megjegyzés: <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"A csoport %{author_name} megjegyzést hagyott itt: %{resource_title}. Ezen az oldalon megtalálod:\",\"email_outro\":\"Ezt az értesítést azért kaptad, mert követed: \\\"%{author_name}\\\". Leiratkozáshoz látogasd meg ezt a csoportod a profiloldaláról.\",\"email_subject\":\"%{author_name} új megjegyzése itt: %{resource_title}\",\"notification_title\":\"Új megjegyzés: <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"A \\\"%{resource_title}\\\" témához megjegyzést fűzött valaki. Itt tudod elolvasni:\",\"email_outro\":\"Ezt az értesítést azért kaptad, mert ezt (vagy ennek szerzőjét) követed: \\\"%{resource_title}\\\". Ha szeretnél, a link segítségével leiratkozhatsz.\",\"email_subject\":\"Új megjegyzés érkezett ehhez: %{resource_title}, tőle: %{author_name}\",\"notification_title\":\"Új megjegyzés tőle: <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>, ehhez: <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} megjegyzést fűzött ehhez: %{resource_title}. Ezen az oldalon megtalálod:\",\"email_outro\":\"Ezt az értesítést azért kaptad, mert valaki választolt a mejegyzésedre.\",\"email_subject\":\"%{author_name} megjegyzést tett a kommentedhez itt: %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> válaszolt a megjegyzésedre itt: <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Említettek egy csoportot, amelybe tartozol\",\"email_outro\":\"Azért kapta ezt az értesítést, mert tagja annak a(z) %{group_name} csoportnak, amelyet a(z) %{resource_title} megemlített.\",\"email_subject\":\"A(z) %{resource_title} -ban említettek, a(z) %{group_name} tagjaként\",\"notification_title\":\"A(z) <a href=\\\"%{resource_path}\\\">%{resource_title}</a> -ban a <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> megemlített a(z) <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname} </a> tagjaként\"},\"user_mentioned\":{\"email_intro\":\"Valaki említette a neved\",\"email_outro\":\"Ezt az értesítést azért kaptad, mert korábban megemlítettek a(z) \\\"%{resource_title}\\\" témában.\",\"email_subject\":\"Megemlítettek a(z) %{resource_title} témában\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> megemlített itt: <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"A felhasználók által generált megjegyzések száma\",\"object\":\"Hozzászólások\",\"title\":\"Hozzászólások\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nem tudsz megjegyzéseket tenni\"}}}}","module.exports = {\"id\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentar\",\"decidim/comments/comment_created_event\":\"Komentar\",\"decidim/comments/reply_created_event\":\"Balasan komentar\",\"decidim/comments/user_group_mentioned_event\":\"Menyebut\",\"decidim/comments/user_mentioned_event\":\"Menyebut\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"other\":\"Komentar\"},\"decidim/comments/comment_vote\":{\"other\":\"Voting\"}}},\"decidim\":{\"comments\":{\"comments\":\"Komentar\",\"last_activity\":{\"new_comment_at_html\":\"<span>Komentar baru di %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Terjadi masalah saat memilih komentar.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Masuk dengan akun Anda</a> atau <a href=\\\"%{sign_up_url}\\\">mendaftar</a> untuk menambahkan komentar Anda.\",\"form\":{\"body\":{\"label\":\"Komentar\",\"placeholder\":\"Apa yang Anda pikirkan tentang ini?\"},\"form_error\":\"Teks diperlukan dan tidak boleh lebih dari %{length} karakter.\",\"submit\":\"Kirim\",\"user_group_id\":{\"label\":\"Beri komentar sebagai\"}},\"opinion\":{\"neutral\":\"Netral\"},\"remaining_characters\":\"%{count} karakter tersisa\",\"remaining_characters_1\":\"%{count} karakter tersisa\",\"title\":\"Tambahkan komentar Anda\"},\"comment\":{\"alignment\":{\"against\":\"Melawan\",\"in_favor\":\"Mendukung\"},\"deleted_user\":\"Peserta yang dihapus\",\"reply\":\"Balasan\",\"report\":{\"action\":\"Melaporkan\",\"already_reported\":\"Konten ini sudah dilaporkan dan akan ditinjau oleh admin.\",\"close\":\"Dekat\",\"description\":\"Apakah konten ini tidak pantas?\",\"details\":\"Komentar tambahan\",\"reasons\":{\"does_not_belong\":\"Berisi aktivitas ilegal, ancaman bunuh diri, informasi pribadi, atau sesuatu yang menurut Anda bukan milik %{organization_name}\",\"offensive\":\"Berisi rasisme, seksisme, penghinaan, serangan pribadi, ancaman kematian, permintaan bunuh diri atau segala bentuk pidato kebencian.\",\"spam\":\"Berisi clickbait, iklan, penipuan atau bot skrip.\"}}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Nilai terbaik\",\"most_discussed\":\"Paling banyak dibicarakan\",\"older\":\"Lebih tua\",\"recent\":\"Baru\"},\"title\":\"Dipesan oleh:\"},\"comment_thread\":{\"title\":\"Percakapan dengan %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Anda tidak dapat berkomentar saat ini, tetapi Anda dapat membaca yang sebelumnya.\",\"blocked_comments_warning\":\"Komentar dinonaktifkan saat ini, tetapi Anda dapat membaca yang sebelumnya.\",\"loading\":\"Memuat komentar ...\",\"title\":\"%{count} komentar\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} telah menulis komentar dalam %{resource_title}. Anda dapat membacanya di halaman ini:\",\"email_outro\":\"Anda telah menerima pemberitahuan ini karena Anda mengikuti %{author_name}. Anda dapat berhenti mengikuti pengguna ini dari halaman profil mereka.\",\"email_subject\":\"Ada komentar baru dengan %{author_name} in %{resource_title}\",\"notification_title\":\"Ada komentar baru oleh <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> di <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"Ada komentar baru dengan %{author_name} in %{resource_title}\",\"notification_title\":\"Ada komentar baru oleh <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> di <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} telah dikomentari. Anda dapat membaca komentar di halaman ini:\",\"email_outro\":\"Anda telah menerima pemberitahuan ini karena Anda mengikuti \\\"%{resource_title}\\\" atau penulisnya. Anda dapat berhenti mengikutinya dari tautan sebelumnya.\",\"email_subject\":\"Ada komentar baru dari %{author_name} in %{resource_title}\",\"notification_title\":\"Ada komentar baru dari <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> di <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} telah membalas komentar Anda dalam %{resource_title}. Anda dapat membacanya di halaman ini:\",\"email_outro\":\"Anda telah menerima pemberitahuan ini karena komentar Anda dijawab.\",\"email_subject\":\"%{author_name} telah membalas komentar Anda dalam %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> telah menjawab komentar Anda di <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Anda telah disebutkan\",\"email_outro\":\"Anda telah menerima pemberitahuan ini karena Anda telah disebutkan dalam %{resource_title}.\",\"email_subject\":\"Anda telah disebutkan dalam %{resource_title}\",\"notification_title\":\"Anda telah disebutkan dalam <a href=\\\"%{resource_path}\\\">%{resource_title}</a> oleh <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Jumlah komentar yang dihasilkan oleh peserta\",\"object\":\"komentar\",\"title\":\"Komentar\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"tidak dapat memiliki komentar\"}}}}","module.exports = {\"is-IS\":{\"decidim\":{\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Skráðu þig inn með reikningnum þínum</a> eða <a href=\\\"%{sign_up_url}\\\">skráðu þig</a> til að bæta við ummælum þínum.\",\"form\":{\"body\":{\"label\":\"Athugasemd\",\"placeholder\":\"Hvað finnst þér um þetta?\"},\"form_error\":\"Textinn er krafist og það má ekki vera lengri en %{length} stafir.\",\"submit\":\"Senda\",\"user_group_id\":{\"label\":\"Athugasemd sem\"}},\"opinion\":{\"neutral\":\"Hlutlaus\"},\"remaining_characters\":\"%{count} stafir eftir\",\"remaining_characters_1\":\"%{count} stafur eftir\",\"title\":\"Bæta við athugasemd þinni\"},\"comment\":{\"alignment\":{\"against\":\"Gegn\",\"in_favor\":\"Í hag\"},\"reply\":\"Svara\",\"report\":{\"action\":\"Skýrsla\",\"already_reported\":\"Þetta efni er þegar tilkynnt og það verður endurskoðað af stjórnanda.\",\"close\":\"Loka\",\"description\":\"Er þetta efni óviðeigandi?\",\"details\":\"Önnur athugasemdir\",\"reasons\":{\"does_not_belong\":\"Inniheldur ólöglega starfsemi, sjálfsvígshugmyndir, persónulegar upplýsingar eða eitthvað sem þér finnst ekki tilheyra %{organization_name}.\",\"offensive\":\"Inniheldur kynþáttafordóma, kynhneigð, slurðir, persónulegar árásir, dauðarefsárásir, sjálfsvígstilraunir eða hvers konar hatursmál.\",\"spam\":\"Inniheldur clickbait, auglýsingar, óþekktarangi eða handritabots.\"}}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Bestu einkunnir\",\"most_discussed\":\"Mest rætt\",\"older\":\"Eldri\",\"recent\":\"Nýleg\"},\"title\":\"Raða eftir:\"},\"comment_thread\":{\"title\":\"Samtal við %{authorName}\"},\"comments\":{\"blocked_comments_warning\":\"Athugasemdir eru gerðar óvirkar á þessum tíma, en þú getur lesið þau fyrri.\",\"loading\":\"Hleð inn athugasemdir ...\",\"title\":\"%{count} athugasemdir\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} hefur skilið eftir athugasemd í %{resource_title}. Þú getur lesið það á þessari síðu:\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með %{author_name}. Þú getur sleppt þessari notanda frá prófílssíðunni sinni.\",\"email_subject\":\"Það er nýtt ummæli um %{author_name} í %{resource_title}\",\"notification_title\":\"Það er nýtt ummæli við <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"Það er nýtt ummæli um %{author_name} í %{resource_title}\",\"notification_title\":\"Það er nýtt ummæli við <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} hefur verið skrifað ummæli. Þú getur lesið athugasemdina á þessari síðu:\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með \\\"%{resource_title}\\\" eða höfundinum. Þú getur sleppt því frá fyrri tengilinn.\",\"email_subject\":\"Það er nýtt ummæli frá %{author_name} í %{resource_title}\",\"notification_title\":\"Það er nýtt ummæli frá <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} hefur svarað ummæli þín í %{resource_title}. Þú getur lesið það á þessari síðu:\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að ummæli þín voru svarað.\",\"email_subject\":\"%{author_name} hefur svarað ummæli þín í %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> hefur svarað athugasemd þinni í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Þú hefur verið nefndur\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að þú hefur verið nefndur í %{resource_title}.\",\"email_subject\":\"Þú hefur verið nefndur í %{resource_title}\",\"notification_title\":\"Þú hefur verið nefndur í <a href=\\\"%{resource_path}\\\">%{resource_title}</a> af <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"getur ekki haft athugasemdir\"}}}}","module.exports = {\"is\":{\"decidim\":{\"comments\":{\"comments\":\"Athugasemdir\"},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Skráðu þig inn með reikningnum þínum</a> eða <a href=\\\"%{sign_up_url}\\\">skráðu þig</a> til að bæta við ummælum þínum.\",\"form\":{\"body\":{\"label\":\"Athugasemd\",\"placeholder\":\"Hvað finnst þér um þetta?\"},\"form_error\":\"Textinn er krafist og það má ekki vera lengri en %{length} stafir.\",\"submit\":\"Senda\",\"user_group_id\":{\"label\":\"Athugasemd sem\"}},\"opinion\":{\"neutral\":\"Hlutlaus\"},\"remaining_characters\":\"%{count} stafir eftir\",\"remaining_characters_1\":\"%{count} stafur eftir\",\"title\":\"Bæta við athugasemd þinni\"},\"comment\":{\"alignment\":{\"against\":\"Gegn\",\"in_favor\":\"Í hag\"},\"reply\":\"Svara\",\"report\":{\"action\":\"Skýrsla\",\"already_reported\":\"Þetta efni er þegar tilkynnt og það verður endurskoðað af stjórnanda.\",\"close\":\"Loka\",\"description\":\"Er þetta efni óviðeigandi?\",\"details\":\"Önnur athugasemdir\",\"reasons\":{\"does_not_belong\":\"Inniheldur ólöglega starfsemi, sjálfsvígshugmyndir, persónulegar upplýsingar eða eitthvað sem þér finnst ekki tilheyra %{organization_name}.\",\"offensive\":\"Inniheldur kynþáttafordóma, kynhneigð, slurðir, persónulegar árásir, dauðarefsárásir, sjálfsvígstilraunir eða hvers konar hatursmál.\",\"spam\":\"Inniheldur clickbait, auglýsingar, óþekktarangi eða handritabots.\"}}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Bestu einkunnir\",\"most_discussed\":\"Mest rætt\",\"older\":\"Eldri\",\"recent\":\"Nýleg\"},\"title\":\"Raða eftir:\"},\"comment_thread\":{\"title\":\"Samtal við %{authorName}\"},\"comments\":{\"blocked_comments_warning\":\"Athugasemdir eru gerðar óvirkar á þessum tíma, en þú getur lesið þau fyrri.\",\"loading\":\"Hleð inn athugasemdir ...\",\"title\":\"%{count} athugasemdir\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} hefur skilið eftir athugasemd í %{resource_title}. Þú getur lesið það á þessari síðu:\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með %{author_name}. Þú getur sleppt þessari notanda frá prófílssíðunni sinni.\",\"email_subject\":\"Það er nýtt ummæli um %{author_name} í %{resource_title}\",\"notification_title\":\"Það er nýtt ummæli við <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"Það er nýtt ummæli um %{author_name} í %{resource_title}\",\"notification_title\":\"Það er nýtt ummæli við <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} hefur verið skrifað ummæli. Þú getur lesið athugasemdina á þessari síðu:\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með \\\"%{resource_title}\\\" eða höfundinum. Þú getur sleppt því frá fyrri tengilinn.\",\"email_subject\":\"Það er nýtt ummæli frá %{author_name} í %{resource_title}\",\"notification_title\":\"Það er nýtt ummæli frá <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} hefur svarað ummæli þín í %{resource_title}. Þú getur lesið það á þessari síðu:\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að ummæli þín voru svarað.\",\"email_subject\":\"%{author_name} hefur svarað ummæli þín í %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> hefur svarað athugasemd þinni í <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Þú hefur verið nefndur\",\"email_outro\":\"Þú hefur fengið þessa tilkynningu vegna þess að þú hefur verið nefndur í %{resource_title}.\",\"email_subject\":\"Þú hefur verið nefndur í %{resource_title}\",\"notification_title\":\"Þú hefur verið nefndur í <a href=\\\"%{resource_path}\\\">%{resource_title}</a> af <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"getur ekki haft athugasemdir\"}}}}","module.exports = {\"it\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Commento\",\"decidim/comments/comment_created_event\":\"Commento\",\"decidim/comments/reply_created_event\":\"Risposta al commento\",\"decidim/comments/user_group_mentioned_event\":\"Citare\",\"decidim/comments/user_mentioned_event\":\"Citare\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Commento\",\"other\":\"Commenti\"},\"decidim/comments/comment_vote\":{\"one\":\"Votazione\",\"other\":\"voti\"}}},\"decidim\":{\"comments\":{\"comments\":\"Commenti\",\"comments_count\":\"Conteggio dei Commenti\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nuovo commento al %{link}</span>\"},\"view\":\"Visualizza\",\"votes\":{\"create\":{\"error\":\"Ci sono stati errori durante la votazione del commento.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Connessione con il tuo account</a> o <a href=\\\"%{sign_up_url}\\\">Sign up</a> per aggiungere il tuo commento.\",\"form\":{\"body\":{\"label\":\"Commenta\",\"placeholder\":\"Cosa ne pensi?\"},\"form_error\":\"Il testo è necessario, deve essere obbligatoriamente indicato (max %{length} caratteri).\",\"submit\":\"Invia\",\"user_group_id\":{\"label\":\"Commenta come\"}},\"opinion\":{\"neutral\":\"Neutro\"},\"remaining_characters\":\"%{count} caratteri rimasti\",\"remaining_characters_1\":\"%{count} carattere sinistro\",\"title\":\"Aggiungi il tuo commento\"},\"comment\":{\"alignment\":{\"against\":\"Contro\",\"in_favor\":\"A favore\"},\"deleted_user\":\"Utente cancellato\",\"hide_replies\":\"Nascondi risposte\",\"reply\":\"Rispondi\",\"report\":{\"action\":\"Report\",\"already_reported\":\"Questo contenuto è già stato indicato e sarà revisionato da un utente Admnistrator.\",\"close\":\"Chiudi\",\"description\":\"Trovi questo contenuto inappropriato?\",\"details\":\"motivazione\",\"reasons\":{\"does_not_belong\":\"Contiene un'attività illegale, istigazioni al suicidio, minacce, informazioni personali o riservate, oppure vi sono dei contenuti che reputi inappropriati per %{organization_name}.\",\"offensive\":\"Vi sono contenuti razzisti, sessisti, offensivi, attacchi di carattere personale, minacce di morte o altro tipo di minacci, istigazioni al suicidio o altre forme d'odio verbale.\",\"spam\":\"Contiene pubblicità, truffe, clickbait (\\\"esca da click\\\") o altro contenuto mirato ad attrarre traffico internet.\"},\"title\":\"Segnala contenuti inappropriati\"},\"show_replies\":\"Mostra %{replies_count} risposte\",\"single_comment_link_title\":\"Ottieni link a singolo commento\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Favoriti\",\"most_discussed\":\"Più discussi\",\"older\":\"Più vecchi\",\"recent\":\"Più recenti\"},\"title\":\"Ordina per:\"},\"comment_thread\":{\"title\":\"Conversazioni con %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Non sei in grado di commentare in questo momento, ma puoi leggere quelli precedenti.\",\"blocked_comments_warning\":\"I commenti sono disabilitati in questo momento, ma puoi leggere quelli precedenti.\",\"comment_details_title\":\"Dettagli commento\",\"loading\":\"Sto caricando i commenti ...\",\"single_comment_warning\":\"Puoi controllare il resto dei commenti <a href=\\\"%{url}\\\">qui</a>.\",\"single_comment_warning_title\":\"Stai vedendo un singolo commento\",\"title\":\"%{count} commenti\"},\"down_vote_button\":{\"text\":\"Non sono d'accordo con questo commento\"},\"up_vote_button\":{\"text\":\"Sono d'accordo con questo commento\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ha lasciato un commento in %{resource_title}. Puoi leggerlo in questa pagina:\",\"email_outro\":\"Hai ricevuto questa notifica perché stai seguendo %{author_name}. Puoi smettere di seguire questo utente dalla pagina del profilo.\",\"email_subject\":\"C'è un nuovo commento di %{author_name} in %{resource_title}\",\"notification_title\":\"C'è un nuovo commento di <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Il gruppo %{author_name} ha lasciato un commento in %{resource_title}. Puoi leggerlo in questa pagina:\",\"email_outro\":\"Hai ricevuto questa notifica perché stai seguendo \\\"%{author_name}\\\". Puoi smettere di seguirlo cliccando sul link precedente.\",\"email_subject\":\"C'è un nuovo commento di %{author_name} in %{resource_title}\",\"notification_title\":\"C'è un nuovo commento di <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} è stato commentato. Puoi leggere il commento in questa pagina:\",\"email_outro\":\"Hai ricevuto questa notifica perché stai seguendo \\\"%{resource_title}\\\" o il suo autore. Puoi smettere di seguirlo dal link precedente.\",\"email_subject\":\"C'è un nuovo commento da %{author_name} in %{resource_title}\",\"notification_title\":\"C'è un nuovo commento da <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} ha risposto il tuo commento in %{resource_title}. Puoi leggerlo in questa pagina:\",\"email_outro\":\"Hai ricevuto questa notifica perché il tuo commento è stato risposto.\",\"email_subject\":\"%{author_name} ha risposto il tuo commento in %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ha risposto il tuo commento in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"È stato menzionato un gruppo a cui appartieni\",\"email_outro\":\"Hai ricevuto questa notifica perché appartieni al gruppo %{group_name} che è stato menzionato in %{resource_title}.\",\"email_subject\":\"Ti si nomina in %{resource_title} come appartenente a %{group_name}\",\"notification_title\":\"Ti si nomina in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> come appartenente a <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Sei stato menzionato\",\"email_outro\":\"Hai ricevuto questa notifica perché sei stato citato in %{resource_title}.\",\"email_subject\":\"Sei stato menzionato in %{resource_title}\",\"notification_title\":\"Sei stato citato in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> di <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Numero di commenti generati dagli utenti\",\"object\":\"Commenti\",\"title\":\"Commenti\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"non si possono fare commenti\"}}}}","module.exports = {\"ja\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"コメント\",\"decidim/comments/comment_created_event\":\"コメント\",\"decidim/comments/reply_created_event\":\"コメント返信\",\"decidim/comments/user_group_mentioned_event\":\"メンション\",\"decidim/comments/user_mentioned_event\":\"メンション\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"other\":\"コメント\"},\"decidim/comments/comment_vote\":{\"other\":\"投票\"}}},\"decidim\":{\"comments\":{\"comments\":\"コメント\",\"comments_count\":\"コメント数\",\"last_activity\":{\"new_comment_at_html\":\"<span> %{link}に新しいコメント</span>\"},\"votes\":{\"create\":{\"error\":\"コメントに投票中に問題がありました。\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">アカウント</a> または <a href=\\\"%{sign_up_url}\\\">サインアップ</a> でコメントを追加します。\",\"form\":{\"body\":{\"label\":\"コメント\",\"placeholder\":\"これについてどう思いますか?\"},\"form_error\":\"テキストは必須で、 %{length} 文字を超えることはできません。\",\"submit\":\"送信\",\"user_group_id\":{\"label\":\"コメント:\"}},\"opinion\":{\"neutral\":\"ニュートラル\"},\"remaining_characters\":\"残り %{count} 文字\",\"remaining_characters_1\":\"残り%{count} 文字\",\"title\":\"コメントを追加\"},\"comment\":{\"alignment\":{\"against\":\"<unk>\",\"in_favor\":\"<unk>\"},\"deleted_user\":\"参加者を削除しました\",\"hide_replies\":\"返信を非表示\",\"reply\":\"返信\",\"report\":{\"action\":\"レポート\",\"already_reported\":\"このコンテンツはすでに報告されており、管理者が確認します。\",\"close\":\"閉じる\",\"description\":\"このコンテンツは不適切ですか?\",\"details\":\"追加コメント\",\"reasons\":{\"does_not_belong\":\"違法行為、自殺の脅威、個人情報、または %{organization_name} に属していないと思われる何かが含まれています。\",\"offensive\":\"人種差別、性差別、スラー、個人攻撃、死の脅威、自殺要求やあらゆる形態の憎悪スピーチが含まれています。\",\"spam\":\"クリックベイト、広告、詐欺やスクリプトボットが含まれています。\"},\"title\":\"不適切なコンテンツを報告する\"},\"show_replies\":\"%{replies_count} 件の返信を表示\",\"single_comment_link_title\":\"シングルコメントへのリンクを取得\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"最高評価\",\"most_discussed\":\"最も議論されたもの\",\"older\":\"古い順\",\"recent\":\"最近のもの\"},\"title\":\"並び順:\"},\"comment_thread\":{\"title\":\"%{authorName} との会話\"},\"comments\":{\"blocked_comments_for_user_warning\":\"現時点ではコメントできませんが、以前のコメントを読むことができます。\",\"blocked_comments_warning\":\"コメントは現時点で無効になっていますが、以前のコメントを読むことができます。\",\"comment_details_title\":\"コメントの詳細\",\"loading\":\"コメントを読み込んでいます...\",\"single_comment_warning\":\"コメントの残りはこちら <a href=\\\"%{url}\\\"></a>で確認できます。\",\"single_comment_warning_title\":\"単一のコメントが表示されています\",\"title\":\"%{count} 件のコメント\"},\"down_vote_button\":{\"text\":\"このコメントに同意しない\"},\"up_vote_button\":{\"text\":\"このコメントに同意します\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} は %{resource_title}にコメントを残しました。このページで読むことができます:\",\"email_outro\":\"%{author_name}をフォローしているため、この通知を受け取りました。プロフィールページからこのユーザーのフォローを解除することができます。\",\"email_subject\":\"%{author_name} に %{resource_title} による新しいコメントがあります\",\"notification_title\":\"There is a new comment by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"グループ %{author_name} は %{resource_title}にコメントを残しました。このページで読むことができます:\",\"email_outro\":\"%{author_name}をフォローしているため、この通知を受け取りました。プロフィールページからこのグループのフォローを解除できます。\",\"email_subject\":\"%{author_name} に %{resource_title} による新しいコメントがあります\",\"notification_title\":\"There is a new comment by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} はコメントされました。このページでコメントを読むことができます:\",\"email_outro\":\"\\\"%{resource_title}\\\" またはその著者をフォローしているため、この通知を受け取りました。前のリンクからフォローを解除することができます。\",\"email_subject\":\"%{author_name} に %{resource_title} から新しいコメントがあります\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> から <a href=\\\"%{resource_path}\\\">%{resource_title}に新しいコメントがあります</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} は %{resource_title}であなたのコメントを返信しました。このページで読むことができます:\",\"email_outro\":\"コメントが返信されたため、この通知を受信しました。\",\"email_subject\":\"%{author_name} が %{resource_title} であなたのコメントに返信しました\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> が <a href=\\\"%{resource_path}\\\">%{resource_title}</a> であなたのコメントに返信しました\"},\"user_group_mentioned\":{\"email_intro\":\"あなたが所属しているグループがメンションされました\",\"email_outro\":\"あなたは %{group_name} でメンションされたグループ %{resource_title} のメンバーであるため、この通知を受け取りました。\",\"email_subject\":\"あなたは %{resource_title} で %{group_name} のメンバーとしてメンションされました\",\"notification_title\":\"あなたは <a href=\\\"%{resource_path}\\\">%{resource_title}</a> に <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> のメンバとして <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"あなたはメンションされています\",\"email_outro\":\"あなたが %{resource_title}でメンションされたため、この通知を受け取りました。\",\"email_subject\":\"あなたは %{resource_title} でメンションされました\",\"notification_title\":\"あなたは <a href=\\\"%{resource_path}\\\">%{resource_title}</a> で <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}によってメンションされました</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"出席者によって生成されたコメント数\",\"object\":\"コメント\",\"title\":\"コメント\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"コメントを持つことはできません\"}}}}","module.exports = {\"ja\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"コメント\",\"decidim/comments/comment_created_event\":\"コメント\",\"decidim/comments/reply_created_event\":\"コメント返信\",\"decidim/comments/user_group_mentioned_event\":\"メンション\",\"decidim/comments/user_mentioned_event\":\"メンション\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"other\":\"コメント\"},\"decidim/comments/comment_vote\":{\"other\":\"投票\"}}},\"decidim\":{\"comments\":{\"comments\":\"コメント\",\"comments_count\":\"コメント数\",\"last_activity\":{\"new_comment_at_html\":\"<span> %{link}に新しいコメント</span>\"},\"view\":\"表示\",\"votes\":{\"create\":{\"error\":\"コメントに投票中に問題がありました。\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">ログイン</a> または <a href=\\\"%{sign_up_url}\\\">新規登録</a> することでコメントできます。\",\"form\":{\"body\":{\"label\":\"コメント\",\"placeholder\":\"これについてどう思いますか?\"},\"form_error\":\"テキストは必須で、 %{length} 文字を超えることはできません。\",\"submit\":\"送信\",\"user_group_id\":{\"label\":\"コメント:\"}},\"opinion\":{\"neutral\":\"中立\"},\"remaining_characters\":\"残り %{count} 文字\",\"remaining_characters_1\":\"残り%{count} 文字\",\"title\":\"コメントを追加\"},\"comment\":{\"alignment\":{\"against\":\"反対\",\"in_favor\":\"賛成\"},\"deleted_user\":\"退会者\",\"hide_replies\":\"返信を非表示\",\"reply\":\"返信\",\"report\":{\"action\":\"レポート\",\"already_reported\":\"このコンテンツはすでに報告されており、管理者が確認します。\",\"close\":\"閉じる\",\"description\":\"このコンテンツは不適切ですか?\",\"details\":\"追加コメント\",\"reasons\":{\"does_not_belong\":\"違法行為、個人情報、または %{organization_name} に属していないと思われる内容が含まれています。\",\"offensive\":\"差別的な内容、誹謗中傷などの不適切な内容が含まれています。\",\"spam\":\"本来の内容に関係が無い広告、詐欺や悪意のある処理などが含まれています。\"},\"title\":\"不適切なコンテンツを報告する\"},\"show_replies\":\"%{replies_count} 件の返信を表示\",\"single_comment_link_title\":\"シングルコメントへのリンクを取得\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"最高評価\",\"most_discussed\":\"最も議論されたもの\",\"older\":\"古い順\",\"recent\":\"最近のもの\"},\"title\":\"並び順:\"},\"comment_thread\":{\"title\":\"%{authorName} との会話\"},\"comments\":{\"blocked_comments_for_user_warning\":\"現時点ではコメントできませんが、以前のコメントを読むことができます。\",\"blocked_comments_warning\":\"コメントは現時点で無効になっていますが、以前のコメントを読むことができます。\",\"comment_details_title\":\"コメントの詳細\",\"loading\":\"コメントを読み込んでいます...\",\"single_comment_warning\":\"コメントの残りはこちら <a href=\\\"%{url}\\\"></a>で確認できます。\",\"single_comment_warning_title\":\"単一のコメントが表示されています\",\"title\":\"%{count} 件のコメント\"},\"down_vote_button\":{\"text\":\"このコメントに同意しません\"},\"up_vote_button\":{\"text\":\"このコメントに同意します\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} は %{resource_title}にコメントを残しました。このページで読むことができます:\",\"email_outro\":\"%{author_name}をフォローしているため、この通知を受け取りました。プロフィールページからこのユーザーのフォローを解除することができます。\",\"email_subject\":\"%{author_name} から %{resource_title} に対して新しいコメントがあります\",\"notification_title\":\"There is a new comment by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"グループ %{author_name} は %{resource_title}にコメントを残しました。このページで読むことができます:\",\"email_outro\":\"%{author_name}をフォローしているため、この通知を受け取りました。プロフィールページからこのグループのフォローを解除できます。\",\"email_subject\":\"%{author_name} から %{resource_title} に対して新しいコメントがあります\",\"notification_title\":\"There is a new comment by <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} はコメントされました。このページでコメントを読むことができます:\",\"email_outro\":\"\\\"%{resource_title}\\\" 、またはその参加者をフォローしているためこの通知を受け取りました。前のリンクからフォローを解除することができます。\",\"email_subject\":\"%{author_name} から %{resource_title} に対して新しいコメントがあります\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> から <a href=\\\"%{resource_path}\\\">%{resource_title} に対して新しいコメントがあります</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} は %{resource_title}であなたのコメントを返信しました。このページで読むことができます:\",\"email_outro\":\"コメントが返信されたため、この通知を受信しました。\",\"email_subject\":\"%{author_name} が %{resource_title} であなたのコメントに返信しました\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> が <a href=\\\"%{resource_path}\\\">%{resource_title}</a> であなたのコメントに返信しました\"},\"user_group_mentioned\":{\"email_intro\":\"あなたが所属しているグループがメンションされました\",\"email_outro\":\"あなたは %{group_name} でメンションされたグループ %{resource_title} のメンバーであるため、この通知を受け取りました。\",\"email_subject\":\"あなたは %{resource_title} で %{group_name} のメンバーとしてメンションされました\",\"notification_title\":\"あなたは <a href=\\\"%{resource_path}\\\">%{resource_title}</a> に <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> のメンバとして <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"あなたはメンションされています\",\"email_outro\":\"あなたが %{resource_title}でメンションされたため、この通知を受け取りました。\",\"email_subject\":\"あなたは %{resource_title} でメンションされました\",\"notification_title\":\"あなたは <a href=\\\"%{resource_path}\\\">%{resource_title}</a> で <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}によってメンションされました</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"出席者によって生成されたコメント数\",\"object\":\"コメント\",\"title\":\"コメント\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"コメントを持つことはできません\"}}}}","module.exports = {\"ko\":null}","module.exports = {\"ko\":null}","module.exports = {\"lt\":null}","module.exports = {\"lt\":null}","module.exports = {\"lv\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentēt\",\"decidim/comments/comment_created_event\":\"Komentēt\",\"decidim/comments/reply_created_event\":\"Atbildēt uz komentāru\",\"decidim/comments/user_group_mentioned_event\":\"Pieminēt\",\"decidim/comments/user_mentioned_event\":\"Pieminēt\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"zero\":\"Komentāri\",\"one\":\"Komentēt\",\"other\":\"Komentāri\"},\"decidim/comments/comment_vote\":{\"zero\":\"Balsis\",\"one\":\"Balsot\",\"other\":\"Balsis\"}}},\"decidim\":{\"comments\":{\"comments\":\"Komentāri\",\"last_activity\":{\"new_comment_at_html\":\"<span>Jauns komentārs %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Balsojot par komentāru, radās problēma.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Pierakstieties, izmantojot savu kontu</a> vai <a href=\\\"%{sign_up_url}\\\"> reģistrējieties, </a>, lai pievienotu komentāru.\",\"form\":{\"body\":{\"label\":\"Komentēt\",\"placeholder\":\"Ko tu domā par šo?\"},\"form_error\":\"Šis teksts ir nepieciešams, un tas nedrīkst būt garāks par %{length} rakstzīmēm.\",\"submit\":\"Sūtīt\",\"user_group_id\":{\"label\":\"Komentēt kā\"}},\"opinion\":{\"neutral\":\"Neitrāls\"},\"remaining_characters\":\"Palikušas %{count} rakstzīmes\",\"remaining_characters_1\":\"Palikusi %{count} rakstzīme\",\"title\":\"Pievienot savu komentāru\"},\"comment\":{\"alignment\":{\"against\":\"Pret\",\"in_favor\":\"Par\"},\"deleted_user\":\"Dzēsts dalībnieks\",\"hide_replies\":\"Slēpt atbildes\",\"reply\":\"Atbildēt\",\"report\":{\"action\":\"Ziņot\",\"already_reported\":\"Par šo saturu jau ir ziņots, un administrators to pārskatīs.\",\"close\":\"Aizvērt\",\"description\":\"Vai šis saturs ir neatbilstīgs?\",\"details\":\"Papildu komentāri\",\"reasons\":{\"does_not_belong\":\"Satur nelikumīgas darbības, pašnāvības draudus, personisku informāciju vai kaut ko citu, kam, jūsuprāt, nav vietas %{organization_name}.\",\"offensive\":\"Satur rasismu, seksismu, lamuvārdus, personiskus uzbrukumus, nāves draudus, ierosinājumus veikt pašnāvību vai jebkāda veida naida runu.\",\"spam\":\"Satur klikšķu ēsmu (clickbait), reklāmu, krāpšanu vai skriptu robotprogrammatūru.\"}},\"show_replies\":\"Rādīt %{replies_count} atbildes\",\"single_comment_link_title\":\"Iegūt saiti uz atsevišķu komentāru\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Vislabāk novērtētie\",\"most_discussed\":\"Visvairāk apspriestie\",\"older\":\"Vecāki\",\"recent\":\"Nesenie\"},\"title\":\"Sakārtot pēc:\"},\"comment_thread\":{\"title\":\"Saruna ar %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Pašlaik jūs nevarat komentēt, bet jūs varat izlasīt iepriekšējos komentārus.\",\"blocked_comments_warning\":\"Komentāri šobrīd ir atspējoti, bet jūs varat lasīt iepriekšējos komentārus.\",\"comment_details_title\":\"Komentāra informācija\",\"loading\":\"Notiek komentāru ielāde ...\",\"single_comment_warning\":\"Pārējos komentārus varat aplūkot <a href=\\\"%{url}\\\">šeit</a>.\",\"single_comment_warning_title\":\"Jūs redzat vienu komentāru\",\"title\":\"%{count} komentāri\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} ir atstājis komentāru %{resource_title}. Jūs to varat izlasīt šajā lapā:\",\"email_outro\":\"Jūs saņēmāt šo paziņojumu, jo sekojat %{author_name}. Jūs varat atsekot šim lietotājam viņa profila lapā.\",\"email_subject\":\"%{resource_title} ir jauns%{author_name} komentārs\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> ir jauns komentārs <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Grupa %{author_name} ir atstājusi komentāru %{resource_title}. Jūs to varat izlasīt šajā lapā:\",\"email_outro\":\"Jūs saņēmāt šo paziņojumu, jo sekojat %{author_name}. Jūs varat atsekot šai grupai no tās profila lapas.\",\"email_subject\":\"%{resource_title} ir jauns%{author_name} komentārs\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> ir jauns komentārs <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} ir komentēts. Jūs varat izlasīt komentāru šajā lapā:\",\"email_outro\":\"Jūs saņēmāt šo paziņojumu, jo sekojat \\\"%{resource_title}\\\" vai tā autoram. Jūs varat atsekot tam no iepriekšējās saites.\",\"email_subject\":\"%{resource_title} ir jauns %{author_name} komentārs\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> ir jauns komentārs <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} atbildēja uz jūsu komentāru %{resource_title}. Jūs to varat izlasīt šajā lapā:\",\"email_outro\":\"Jūs saņēmāt šo paziņojumu, jo kāds atbildēja uz jūsu komentāru.\",\"email_subject\":\"%{author_name} atbildēja uz jūsu komentāru %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> atbildēja uz jūsu komentāru <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Tika pieminēta grupa, kurai jūs piederat\",\"email_outro\":\"Jūs saņēmāt šo paziņojumu, jo esat grupas %{group_name} dalībnieks, kura tika pieminēta %{resource_title}.\",\"email_subject\":\"Jūs esat pieminēts %{resource_title} kā %{group_name} dalībnieks\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title}</a> jūs <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> pieminēja kā <a href=\\\"%{group_path}\\\">%{group_name}%{group_nickname}</a> dalībnieku\"},\"user_mentioned\":{\"email_intro\":\"Jūs esat pieminēts\",\"email_outro\":\"Jūs saņēmāt šo paziņojumu, jo esat pieminēts %{resource_title}.\",\"email_subject\":\"Jūs esat pieminēts %{resource_title}\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title}</a> jūs pieminēja <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Dalībnieku izveidoto komentāru skaits\",\"object\":\"komentāri\",\"title\":\"Komentāri\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nevar komentēt\"}}}}","module.exports = {\"mt\":null}","module.exports = {\"mt\":null}","module.exports = {\"nl\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Commentaar\",\"decidim/comments/comment_created_event\":\"Commentaar\",\"decidim/comments/reply_created_event\":\"Reactie antwoord\",\"decidim/comments/user_group_mentioned_event\":\"Vermelding\",\"decidim/comments/user_mentioned_event\":\"Vermelding\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Commentaar\",\"other\":\"Commentaren\"},\"decidim/comments/comment_vote\":{\"one\":\"Stem\",\"other\":\"Stemmen\"}}},\"decidim\":{\"comments\":{\"comments\":\"Reacties\",\"comments_count\":\"Aantal reacties\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nieuwe opmerking op %{link}</span>\"},\"view\":\"Bekijk\",\"votes\":{\"create\":{\"error\":\"Er is een probleem opgetreden bij het stemmen op de opmerking.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Meld u aan met uw account</a> of <a href=\\\"%{sign_up_url}\\\">schrijf u in</a> om uw reactie toe te voegen.\",\"form\":{\"body\":{\"label\":\"Reactie\",\"placeholder\":\"Wat wil je hierover zeggen?\"},\"form_error\":\"De tekst is verplicht en het kan niet langer zijn dan %{length} tekens.\",\"submit\":\"Verzenden\",\"user_group_id\":{\"label\":\"Reageer als\"}},\"opinion\":{\"neutral\":\"Neutraal\"},\"remaining_characters\":\"%{count} tekens over\",\"remaining_characters_1\":\"%{count} teken over\",\"title\":\"Voeg je reactie toe\"},\"comment\":{\"alignment\":{\"against\":\"Tegen\",\"in_favor\":\"Voor\"},\"deleted_user\":\"Verwijderde deelnemer\",\"hide_replies\":\"Antwoorden verbergen\",\"reply\":\"Antwoord\",\"report\":{\"action\":\"Melden\",\"already_reported\":\"Deze inhoud is al gemeld en het zal worden beoordeeld door een admin.\",\"close\":\"Sluiten\",\"description\":\"Is deze inhoud ongepast?\",\"details\":\"aanvullende opmerkingen\",\"reasons\":{\"does_not_belong\":\"Bevat illegale activiteit, zelfmoord bedreigingen, persoonlijke gegevens, of iets anders dat je denkt dat hoort niet op %{organization_name}.\",\"offensive\":\"Bevat racisme, seksisme, laster, persoonlijke aanvallen, bedreigingen met de dood, zelfmoord verzoeken of enige vorm van haatzaaien.\",\"spam\":\"Bevat clickbait, reclame, oplichting of script bots.\"},\"title\":\"Meld ongepaste inhoud\"},\"show_replies\":\"Toon %{replies_count} reacties\",\"single_comment_link_title\":\"Krijg link naar enkele reactie\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Best beoordeeld\",\"most_discussed\":\"Meest besproken\",\"older\":\"Ouder\",\"recent\":\"Meest recent\"},\"title\":\"Sorteer op:\"},\"comment_thread\":{\"title\":\"Gesprek met %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"U kunt op dit moment geen opmerkingen maken, maar u kunt de vorige wel lezen.\",\"blocked_comments_warning\":\"Reacties zijn op dit moment uitgeschakeld, maar je kan de vorige berichten lezen.\",\"comment_details_title\":\"Reactieonderdelen\",\"loading\":\"Reacties laden...\",\"single_comment_warning\":\"U kunt de rest van de reacties <a href=\\\"%{url}\\\">hier</a> controleren.\",\"single_comment_warning_title\":\"Je ziet een enkele reactie\",\"title\":\"%{count} reacties\"},\"down_vote_button\":{\"text\":\"Ik ben het niet eens met deze reactie\"},\"up_vote_button\":{\"text\":\"Ik ben het eens met deze reactie\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} heeft een reactie achtergelaten in %{resource_title}. Je kan het lezen op deze pagina:\",\"email_outro\":\"Je hebt deze melding ontvangen omdat je %{author_name}volgt. Je kan deze gebruiker ontvolgen via zijn profielpagina.\",\"email_subject\":\"Er is een nieuwe reactie van %{author_name} in %{resource_title}\",\"notification_title\":\"Er is een nieuwe reactie van <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"De groep %{author_name} heeft een reactie achtergelaten in %{resource_title}. Je kunt het op deze pagina lezen:\",\"email_outro\":\"Je hebt deze melding ontvangen omdat je %{author_name}volgt. Je kan stoppen met deze groep te volgen via de profielpagina.\",\"email_subject\":\"Er is een nieuwe reactie van %{author_name} in %{resource_title}\",\"notification_title\":\"Er is een nieuwe reactie van <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} heeft een reactie ontvangen. Je kan de opmerking op deze pagina lezen:\",\"email_outro\":\"Je hebt deze melding ontvangen omdat je '%{resource_title}' of de auteur ervan volgt. Ontvolgen kan door te klikken op de vorige link.\",\"email_subject\":\"Er is een nieuwe reactie van %{author_name} in %{resource_title}\",\"notification_title\":\"Er is een nieuwe reactie van <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} heeft gereageerd op jouw opmerking in %{resource_title}. Lees het via deze link:\",\"email_outro\":\"Je hebt deze melding ontvangen omdat je reactie beantwoord is.\",\"email_subject\":\"%{author_name} heeft op je comment gereageerd in %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> heeft gereageerd op je opmerking in <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Een groep waartoe u behoort is genoemd\",\"email_outro\":\"Je hebt deze melding ontvangen omdat je lid bent van de groep %{group_name} die is genoemd in %{resource_title}.\",\"email_subject\":\"U bent genoemd in %{resource_title} als lid van %{group_name}\",\"notification_title\":\"U bent genoemd in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> door <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> als lid van <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Iemand heeft je getagd\",\"email_outro\":\"Je hebt deze melding ontvangen omdat je bent getagd in %{resource_title}.\",\"email_subject\":\"Je bent getagd in %{resource_title}\",\"notification_title\":\"Je bent getagd in <a href=\\\"%{resource_path}\\\">%{resource_title}</a> door <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Aantal reacties gegenereerd door deelnemers\",\"object\":\"reacties\",\"title\":\"Reacties\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"Kan geen reacties hebben\"}}}}","module.exports = {\"no\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Kommentar\",\"decidim/comments/comment_created_event\":\"Kommentar\",\"decidim/comments/reply_created_event\":\"Kommenter svar\",\"decidim/comments/user_group_mentioned_event\":\"Omtal\",\"decidim/comments/user_mentioned_event\":\"Omtal\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Kommentar\",\"other\":\"Kommentarer\"},\"decidim/comments/comment_vote\":{\"one\":\"Stemme\",\"other\":\"Stemmer\"}}},\"decidim\":{\"comments\":{\"comments\":\"Kommentarer\",\"comments_count\":\"Antall kommentarer\",\"last_activity\":{\"new_comment_at_html\":\"<span>Ny kommentar på %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Det oppstod et problem med å stemme kommentaren.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Logg på med kontoen din</a> eller <a href=\\\"%{sign_up_url}\\\">opprett en</a> for å legge til kommentaren din.\",\"form\":{\"body\":{\"label\":\"Kommentar\",\"placeholder\":\"Hva mener du om dette?\"},\"form_error\":\"Teksten er påkrevd og den kan ikke være lengre enn %{length} tegn.\",\"submit\":\"Send\",\"user_group_id\":{\"label\":\"Kommenter som\"}},\"opinion\":{\"neutral\":\"Nøytral\"},\"remaining_characters\":\"%{count} tegn igjen\",\"remaining_characters_1\":\"%{count} tegn igjen\",\"title\":\"Legg til kommentar\"},\"comment\":{\"alignment\":{\"against\":\"Imot\",\"in_favor\":\"I favør\"},\"deleted_user\":\"Slettet deltaker\",\"hide_replies\":\"Skjul svar\",\"reply\":\"Svar\",\"report\":{\"action\":\"Rapport\",\"already_reported\":\"Dette innholdet er allerede rapportert, og det vil bli vurdert av en administrator.\",\"close\":\"Lukk\",\"description\":\"Er dette innholdet upassende?\",\"details\":\"Ytterlige kommentarer\",\"reasons\":{\"does_not_belong\":\"Inneholder ulovlig aktivitet, selvmordstrusler, personlig informasjon eller noe annet du mener ikke hører hjemme på %{organization_name}.\",\"offensive\":\"Inneholder rasisme, sexisme, banning, persjonangrep, dødstrusler, selvmords forespørsler eller all form for hatefullt språk.\",\"spam\":\"Inneholder klikkagn, reklame, svindel eller manus-roboter.\"},\"title\":\"Rapporter upassende innhold\"},\"show_replies\":\"Vis %{replies_count} svar\",\"single_comment_link_title\":\"Få lenke til enkeltkommentar\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Best vurdert\",\"most_discussed\":\"Mest omtalt\",\"older\":\"Eldre\",\"recent\":\"Nylig\"},\"title\":\"Sorter etter:\"},\"comment_thread\":{\"title\":\"Samtale med %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Du kan ikke kommentere for øyeblikket, men du kan lese de forrige.\",\"blocked_comments_warning\":\"Kommenterer er deaktivert på dette tidspunktet, men du kan lese de forrige.\",\"comment_details_title\":\"Kommenter detaljer\",\"loading\":\"Laster inn kommenterer ...\",\"single_comment_warning\":\"Du kan sjekke resten av kommentarene <a href=\\\"%{url}\\\">her</a>.\",\"single_comment_warning_title\":\"Du ser en enkelt kommentar\",\"title\":\"%{count} kommentarer\"},\"down_vote_button\":{\"text\":\"Jeg er uenig med denne kommentaren\"},\"up_vote_button\":{\"text\":\"Jeg er enig med denne kommentaren\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} har lagt igjen en kommentar i %{resource_title}. Du kan lese den på denne siden:\",\"email_outro\":\"Du har mottatt denne varslingen fordi du følger %{author_name}. Du kan slutte å følge denne brukeren fra dems profil side.\",\"email_subject\":\"Det er en ny kommentar av %{author_name} i %{resource_title}\",\"notification_title\":\"Det er en ny kommentar av <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} har lagt igjen en kommentar i %{resource_title}. Du kan lese den på denne siden:\",\"email_outro\":\"Du har mottatt denne varslingen fordi du følger %{author_name}. Du kan slutte å følge denne brukeren fra deres profilside.\",\"email_subject\":\"Det er en ny kommentar av %{author_name} i %{resource_title}\",\"notification_title\":\"Det er en ny kommentar av <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} har blitt kommentert. Du kan lese kommentaren på denne siden:\",\"email_outro\":\"Du har mottatt denne varslingen fordi du følger \\\"%{resource_title}\\\" eller dens forfatter. Du kan slutte å følge den fra den forrige lenken.\",\"email_subject\":\"Det er en ny kommentar fra %{author_name} i %{resource_title}\",\"notification_title\":\"Det er en ny kommentar fra <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} har svart kommentaren din i %{resource_title}. Du kan lese den på denne siden:\",\"email_outro\":\"Du har mottatt denne varslingen fordi din kommentar er besvart.\",\"email_subject\":\"%{author_name} har svart kommentaren din i %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> har svart kommentaren din i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"En gruppe du er medlem av har blitt nevnt\",\"email_outro\":\"Du får denne varslingen fordi du er medlem av gruppen %{group_name}, som har blitt nevnt i%{resource_title}.\",\"email_subject\":\"Du har blitt nevnt i %{resource_title} som medlem av %{group_name}\",\"notification_title\":\"Du har blitt nevnt i <a href=\\\"%{resource_path}\\\"> %{resource_title} av <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname} som medlem av <a href=\\\"%{group_path}\\\">%{group_name}%{group_nickname}\"},\"user_mentioned\":{\"email_intro\":\"Du har blitt nevnt\",\"email_outro\":\"Du har mottatt denne varslingen fordi du er nevnt i %{resource_title}.\",\"email_subject\":\"Du har blitt nevnt i %{resource_title}\",\"notification_title\":\"Du har blitt nevnt i <a href=\\\"%{resource_path}\\\">%{resource_title}</a> av <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Antall kommenterer generert av deltakerne\",\"object\":\"kommentarer\",\"title\":\"Kommentarer\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"kan ikke ha kommentarer\"}}}}","module.exports = {\"om\":null}","module.exports = {\"pl\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentarz\",\"decidim/comments/comment_created_event\":\"Komentarz\",\"decidim/comments/reply_created_event\":\"Odpowiedź na komentarz\",\"decidim/comments/user_group_mentioned_event\":\"Wzmianka\",\"decidim/comments/user_mentioned_event\":\"Wzmianka\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Komentarz\",\"few\":\"Komentarze\",\"many\":\"Komentarze\",\"other\":\"Komentarze\"},\"decidim/comments/comment_vote\":{\"one\":\"Głos\",\"few\":\"Głosów\",\"many\":\"Głosy\",\"other\":\"Głosy\"}}},\"decidim\":{\"comments\":{\"comments\":\"Komentarze\",\"comments_count\":\"Liczba komentarzy\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nowy komentarz do %{link}</span>\"},\"view\":\"Zobacz\",\"votes\":{\"create\":{\"error\":\"Podczas dodawania komentarza wystąpił błąd.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Zaloguj się na swoje konto</a> lub <a href=\\\"%{sign_up_url}\\\">zarejestruj się</a>, aby dodać komentarz.\",\"form\":{\"body\":{\"label\":\"Komentarz\",\"placeholder\":\"Co o tym myślisz?\"},\"form_error\":\"Tekst jest wymagany. Maksymalna liczba znaków to: %{length}.\",\"submit\":\"Wyślij\",\"user_group_id\":{\"label\":\"Komentuj jako\"}},\"opinion\":{\"neutral\":\"Neutralny\"},\"remaining_characters\":\"Pozostało %{count} znaków\",\"remaining_characters_1\":\"Pozostał %{count} znak\",\"title\":\"Dodaj swój komentarz\"},\"comment\":{\"alignment\":{\"against\":\"Negatywny\",\"in_favor\":\"Pozytywny\"},\"deleted_user\":\"Usunięty użytkownik\",\"hide_replies\":\"Ukryj odpowiedzi\",\"reply\":\"Odpowiedz\",\"report\":{\"action\":\"Zgłoś\",\"already_reported\":\"Ta treść została już zgłoszona i zostanie sprawdzona przez administratora.\",\"close\":\"Zamknij\",\"description\":\"Czy ta treść jest nieodpowiednia?\",\"details\":\"Dodatkowe komentarze\",\"reasons\":{\"does_not_belong\":\"Zawiera nielegalną działalność, groźby samobójcze, informacje osobiste lub coś innego, co według Ciebie nie powinno pojawić się w %{organization_name}.\",\"offensive\":\"Zawiera rasizm, seksizm, kłamstwa, ataki osobiste, groźby śmierci, prośby samobójcze lub jakąkolwiek formę mowy o nienawiści.\",\"spam\":\"Zawiera clickbaity, reklamy, oszustwa lub skrypty botów.\"},\"title\":\"Zgłoś niewłaściwą treść\"},\"show_replies\":\"Pokaż %{replies_count} odpowiedzi\",\"single_comment_link_title\":\"Pobierz link do pojedynczego komentarza\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Najlepiej oceniane\",\"most_discussed\":\"Najbardziej dyskutowane\",\"older\":\"Najstarsze\",\"recent\":\"Najnowsze\"},\"title\":\"Sortuj według:\"},\"comment_thread\":{\"title\":\"Rozmowa z %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Nie możesz teraz komentować, ale możesz przeczytać poprzednie komentarze.\",\"blocked_comments_warning\":\"Komentarze są w tej chwili wyłączone, ale możesz przeczytać poprzednie.\",\"comment_details_title\":\"Szczegóły komentarza\",\"loading\":\"Ładowanie komentarzy ...\",\"single_comment_warning\":\"Resztę komentarzy możesz sprawdzić <a href=\\\"%{url}\\\">tutaj</a>.\",\"single_comment_warning_title\":\"Wyświetlasz teraz pojedynczy komentarz\",\"title\":\"%{count} komentarzy\"},\"down_vote_button\":{\"text\":\"Nie zgadzam się z tym komentarzem\"},\"up_vote_button\":{\"text\":\"Zgadzam się z tym komentarzem\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} dodał(a) komentarz do %{resource_title}. Możesz przeczytać go na tej stronie:\",\"email_outro\":\"Otrzymałeś to powiadomienie, ponieważ obserwujesz %{author_name}. Możesz usunąć użytkownika z obserwowanych na jego stronie profilowej.\",\"email_subject\":\"Jest nowy komentarz dodany przez %{author_name} do %{resource_title}\",\"notification_title\":\"Pojawił się nowy komentarz dodany przez <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> do <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Grupa %{author_name} dodała komentarz do %{resource_title}. Możesz go przeczytać na tej stronie:\",\"email_outro\":\"Otrzymujesz to powiadomienie, ponieważ obserwujesz %{author_name}. Możesz przestać obserwować tę grupę z poziomu jej strony profilowej.\",\"email_subject\":\"Jest nowy komentarz dodany przez %{author_name} do %{resource_title}\",\"notification_title\":\"Pojawił się nowy komentarz <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> do <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"Nowy komentarz: %{resource_title}. Możesz go przeczytać na tej stronie:\",\"email_outro\":\"Otrzymujesz to powiadomienie, ponieważ obserwujesz \\\"%{resource_title}\\\" lub jego autora. Możesz przestać go obserwować po kliknięciu w poprzedni link.\",\"email_subject\":\"Jest nowy komentarz od %{author_name} do %{resource_title}\",\"notification_title\":\"Pojawił się nowy komentarz <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> do <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} odpowiedział na Twój komentarz do %{resource_title}. Możesz przeczytać go na tej stronie:\",\"email_outro\":\"Otrzymałeś to powiadomienie, ponieważ odpowiedziano na Twój komentarz.\",\"email_subject\":\"%{author_name} odpowiedział(a) na Twój komentarz do %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> odpowiedział(a) na Twój komentarz do <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Wspomniano o grupie, do której należysz\",\"email_outro\":\"Otrzymujesz to powiadomienie, ponieważ jesteś członkiem grupy %{group_name}, o której wspomniano w %{resource_title}.\",\"email_subject\":\"Wspomniano o Tobie w %{resource_title} jako o członku %{group_name}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> wspomniał(a) o Tobie w <a href=\\\"%{resource_path}\\\">%{resource_title}</a> jako o członku <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Wspomniano o Tobie\",\"email_outro\":\"Otrzymałeś to powiadomienie, ponieważ wspomniano o Tobie w %{resource_title}.\",\"email_subject\":\"Wspomniano o Tobie w %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> wspomniał(a) o Tobie w <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Liczba komentarzy wygenerowanych przez użytkowników\",\"object\":\"komentarze\",\"title\":\"Komentarze\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nie może mieć komentarzy\"}}}}","module.exports = {\"pt\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comente\",\"decidim/comments/comment_created_event\":\"Comentário\",\"decidim/comments/reply_created_event\":\"Resposta\",\"decidim/comments/user_group_mentioned_event\":\"Mencionar\",\"decidim/comments/user_mentioned_event\":\"Mencionar\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comentário\",\"other\":\"Comentários\"},\"decidim/comments/comment_vote\":{\"one\":\"Voto\",\"other\":\"Votos\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentários\",\"last_activity\":{\"new_comment_at_html\":\"<span>Novo comentário em %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Houve erros ao votar o comentário.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Inscreva-se com sua conta</a> ou <a href=\\\"%{sign_up_url}\\\">sign up</a> para adicionar seu comentário.\",\"form\":{\"body\":{\"label\":\"Comente\",\"placeholder\":\"O que você pensa sobre isso?\"},\"form_error\":\"O texto é obrigatório e não pode ser maior que %{length} caracteres.\",\"submit\":\"Enviar\",\"user_group_id\":{\"label\":\"Comente como\"}},\"opinion\":{\"neutral\":\"Neutro\"},\"remaining_characters\":\"%{count} caracteres restantes\",\"remaining_characters_1\":\"%{count} personagem à esquerda\",\"title\":\"Adicione seu comentário\"},\"comment\":{\"alignment\":{\"against\":\"Contra\",\"in_favor\":\"A favor\"},\"deleted_user\":\"Usuário excluído\",\"reply\":\"Resposta\",\"report\":{\"action\":\"Relatório\",\"already_reported\":\"Este conteúdo já foi relatado e será revisto por um administrador.\",\"close\":\"Fechar\",\"description\":\"Este conteúdo é impróprio?\",\"details\":\"Comentários adicionais\",\"reasons\":{\"does_not_belong\":\"Contém atividades ilegais, ameaças suicidas, informações pessoais ou qualquer outra coisa que você acha que não pertence ao %{organization_name}.\",\"offensive\":\"Contém racismo, sexismo, insultos, ataques pessoais, ameaças de morte, pedidos de suicídio ou qualquer tipo de discurso de ódio.\",\"spam\":\"Contém clickbait, publicidade, fraudes ou script bots.\"}}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Melhores avaliações\",\"most_discussed\":\"Mais Discutidos\",\"older\":\"Mais velho\",\"recent\":\"Recente\"},\"title\":\"Ordenar por:\"},\"comment_thread\":{\"title\":\"Conversa com %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Você não pode comentar neste momento, mas pode ler os anteriores.\",\"blocked_comments_warning\":\"Os comentários estão desativados neste momento, mas você pode ler os anteriores.\",\"loading\":\"Carregando comentários ...\",\"title\":\"%{count} comentários\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} deixou um comentário em %{resource_title}. Você pode lê-lo nesta página:\",\"email_outro\":\"Você recebeu esta notificação porque está seguindo %{author_name}. Você pode deixar de seguir esse usuário em sua página de perfil.\",\"email_subject\":\"Há um novo comentário por %{author_name} em %{resource_title}\",\"notification_title\":\"Há um novo comentário por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"Há um novo comentário por %{author_name} em %{resource_title}\",\"notification_title\":\"Há um novo comentário por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} foi comentado. Você pode ler o comentário nesta página:\",\"email_outro\":\"Você recebeu esta notificação porque você está seguindo \\\"%{resource_title}\\\" ou seu autor. Você pode ignorá-lo do link anterior.\",\"email_subject\":\"Há um novo comentário de %{author_name} em %{resource_title}\",\"notification_title\":\"Há um novo comentário de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} respondeu seu comentário em %{resource_title}. Você pode lê-lo nesta página:\",\"email_outro\":\"Você recebeu esta notificação porque o seu comentário foi respondido.\",\"email_subject\":\"%{author_name} respondeu seu comentário em %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> respondeu seu comentário em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Você foi mencionado\",\"email_outro\":\"Você recebeu esta notificação porque você foi mencionado em %{resource_title}.\",\"email_subject\":\"Você foi mencionado em %{resource_title}\",\"notification_title\":\"Você foi mencionado em <a href=\\\"%{resource_path}\\\">%{resource_title}</a> por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Número de comentários gerados pelos usuários\",\"object\":\"comentários\",\"title\":\"Comentários\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"não pode ter comentários\"}}}}","module.exports = {\"pt\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comentar\",\"decidim/comments/comment_created_event\":\"Comente\",\"decidim/comments/reply_created_event\":\"Comentário resposta\",\"decidim/comments/user_group_mentioned_event\":\"Menção\",\"decidim/comments/user_mentioned_event\":\"Menção\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comente\",\"other\":\"Comentários\"},\"decidim/comments/comment_vote\":{\"one\":\"Voto\",\"other\":\"Votos\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentários\",\"comments_count\":\"Contagem de comentários\",\"last_activity\":{\"new_comment_at_html\":\"<span>Novo comentário em %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Houve erros ao votar o comentário.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Inscreva-se com sua conta</a> ou <a href=\\\"%{sign_up_url}\\\">sign up</a> para adicionar seu comentário.\",\"form\":{\"body\":{\"label\":\"Comente\",\"placeholder\":\"O que você pensa sobre isso?\"},\"form_error\":\"O texto é obrigatório e não pode ser maior que %{length} caracteres.\",\"submit\":\"Enviar\",\"user_group_id\":{\"label\":\"Comente como\"}},\"opinion\":{\"neutral\":\"Neutro\"},\"remaining_characters\":\"%{count} caracteres restantes\",\"remaining_characters_1\":\"%{count} caracteres restantes\",\"title\":\"Adicione o seu comentário\"},\"comment\":{\"alignment\":{\"against\":\"Contra\",\"in_favor\":\"A favor\"},\"deleted_user\":\"Participante eliminado\",\"hide_replies\":\"Ocultar respostas\",\"reply\":\"Responder\",\"report\":{\"action\":\"Reportar\",\"already_reported\":\"Este conteúdo já foi reportado e será revisto por um administrador.\",\"close\":\"Fechar\",\"description\":\"Este conteúdo é impróprio?\",\"details\":\"Comentários adicionais\",\"reasons\":{\"does_not_belong\":\"Contém atividades ilegais, ameaças suicidas, informações pessoais ou qualquer outra coisa que você acha que não pertence a %{organization_name}.\",\"offensive\":\"Contém racismo, sexismo, insultos, ataques pessoais, ameaças de morte, pedidos de suicídio ou qualquer tipo de discurso de ódio.\",\"spam\":\"Contém clickbait, publicidade, fraudes ou robots de scripts.\"},\"title\":\"Reportar conteúdo impróprio\"},\"show_replies\":\"Mostrar %{replies_count} respostas\",\"single_comment_link_title\":\"Obter hiperligação para um único comentário\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Melhores avaliações\",\"most_discussed\":\"Mais discutidos\",\"older\":\"Mais velho\",\"recent\":\"Recente\"},\"title\":\"Ordenar por:\"},\"comment_thread\":{\"title\":\"Conversa com %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Não pode comentar neste momento, mas pode ler os anteriores.\",\"blocked_comments_warning\":\"Os comentários estão desativados neste momento, mas pode ler os anteriores.\",\"comment_details_title\":\"Detalhes do comentário\",\"loading\":\"A carregar comentários ...\",\"single_comment_warning\":\"Pode consultar os restantes comentários <a href=\\\"%{url}\\\">aqui</a>.\",\"single_comment_warning_title\":\"Está a ver um único comentário\",\"title\":\"%{count} comentários\"},\"down_vote_button\":{\"text\":\"Eu discordo deste comentário\"},\"up_vote_button\":{\"text\":\"Eu concordo com este comentário\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} deixou um comentário em %{resource_title}. Pode lê-lo nesta página:\",\"email_outro\":\"Recebeu esta notificação porque segue %{author_name}. pode deixar de seguir este utilizador a partir da respetiva página de perfil.\",\"email_subject\":\"Há um novo comentário por %{author_name} em %{resource_title}\",\"notification_title\":\"Há um novo comentário por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"O grupo %{author_name} deixou um comentário em %{resource_title}. Poderá lê-lo nesta página:\",\"email_outro\":\"Recebeu esta notificação porque segue %{author_name}. Pode deixar de seguir este grupo a partir da respetiva página de perfil.\",\"email_subject\":\"Há um novo comentário por %{author_name} em %{resource_title}\",\"notification_title\":\"Há um novo comentário por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} foi comentado. Você pode ler o comentário nesta página:\",\"email_outro\":\"Recebeu esta notificação porque segue \\\"%{resource_title}\\\" ou o seu autor. Pode deixar de segui-lo a partir da hiperligação anterior.\",\"email_subject\":\"Há um novo comentário de %{author_name} em %{resource_title}\",\"notification_title\":\"Há um novo comentário de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} respondeu ao seu comentário em %{resource_title}. Pode lê-lo nesta página:\",\"email_outro\":\"Recebeu esta notificação porque responderam ao seu comentário.\",\"email_subject\":\"%{author_name} respondeu ao seu comentário em %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> respondeu ao seu comentário em <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Um grupo ao qual pertence foi mencionado\",\"email_outro\":\"Recebeu esta notificação porque é membro do grupo %{group_name} que foi mencionado em %{resource_title}.\",\"email_subject\":\"Foi mencionado em %{resource_title} como membro de %{group_name}\",\"notification_title\":\"Foi mencionado em <a href=\\\"%{resource_path}\\\">%{resource_title}</a> por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> como membro de <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Foi mencionado(a)\",\"email_outro\":\"Recebeu esta notificação porque foi mencionado(a) em %{resource_title}.\",\"email_subject\":\"Foi mencionado(a) em %{resource_title}\",\"notification_title\":\"Você foi mencionado em <a href=\\\"%{resource_path}\\\">%{resource_title}</a> por <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Número de comentários gerados pelos participantes\",\"object\":\"comentários\",\"title\":\"Comentários\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"não pode ter comentários\"}}}}","module.exports = {\"ro\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Comentariu\",\"decidim/comments/comment_created_event\":\"Comentariu\",\"decidim/comments/reply_created_event\":\"Răspuns comentariu\",\"decidim/comments/user_group_mentioned_event\":\"Menționează\",\"decidim/comments/user_mentioned_event\":\"Menționează\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Comentariu\",\"few\":\"Comentarii\",\"other\":\"Comentarii\"},\"decidim/comments/comment_vote\":{\"one\":\"Votează\",\"few\":\"Voturi\",\"other\":\"Voturi\"}}},\"decidim\":{\"comments\":{\"comments\":\"Comentarii\",\"comments_count\":\"Numărul de comentarii\",\"last_activity\":{\"new_comment_at_html\":\"<span>Comentariu nou la %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"A apărut o problemă la votarea comentariului.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Autentifică-te cu contul tău</a> sau <a href=\\\"%{sign_up_url}\\\">înregistrează-te</a> pentru a adăuga comentariul tău.\",\"form\":{\"body\":{\"label\":\"Comentariu\",\"placeholder\":\"Ce părere aveţi despre asta?\"},\"form_error\":\"Textul este necesar și nu poate fi mai lung de %{length} caractere.\",\"submit\":\"Trimite\",\"user_group_id\":{\"label\":\"Comentează ca\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"%{count} caractere rămase\",\"remaining_characters_1\":\"%{count} caracter rămas\",\"title\":\"Adaugă comentariul tău\"},\"comment\":{\"alignment\":{\"against\":\"Împotriva\",\"in_favor\":\"În favoarea\"},\"deleted_user\":\"Participant șters\",\"hide_replies\":\"Ascunde răspunsurile\",\"reply\":\"Răspuns\",\"report\":{\"action\":\"Raport\",\"already_reported\":\"Acest conținut este deja raportat și va fi revizuit de către un administrator.\",\"close\":\"Inchide\",\"description\":\"Este acest conținut neadecvat?\",\"details\":\"Observaţii suplimentare\",\"reasons\":{\"does_not_belong\":\"Conține activitate ilegală, amenințări la sinucidere, informații personale sau altceva credeți că nu aparțin de %{organization_name}.\",\"offensive\":\"Conține rasism, sexism, slurbii, atacuri personale, amenințări cu moartea, cereri de sinucidere sau orice formă de discurs de incitare la ură.\",\"spam\":\"Conține clickbait, publicitate, escrocherii sau roboți script.\"},\"title\":\"Raportează conținut nepotrivit\"},\"show_replies\":\"Arată %{replies_count} răspunsuri\",\"single_comment_link_title\":\"Obțineți link-ul către un singur comentariu\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Cele mai apreciate\",\"most_discussed\":\"Cele mai discutate\",\"older\":\"Vechi\",\"recent\":\"Recente\"},\"title\":\"Ordonare după:\"},\"comment_thread\":{\"title\":\"Conversație cu %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Nu poți comenta în acest moment, dar le poți citi pe cele anterioare.\",\"blocked_comments_warning\":\"Comentariile sunt dezactivate în acest moment, dar le puteți citi pe cele anterioare.\",\"comment_details_title\":\"Detalii comentariu\",\"loading\":\"Se încarcă comentariile...\",\"single_comment_warning\":\"Puteţi verifica restul comentariilor <a href=\\\"%{url}\\\">aici</a>.\",\"single_comment_warning_title\":\"Vedeți un singur comentariu\",\"title\":\"%{count} comentarii\"},\"down_vote_button\":{\"text\":\"Nu sunt de acord cu acest comentariu\"},\"up_vote_button\":{\"text\":\"Sunt de acord cu acest comentariu\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} a lăsat un comentariu în %{resource_title}. Îl poți citi în această pagină:\",\"email_outro\":\"Ați primit această notificare deoarece urmăriți %{author_name}. Puteți să nu urmăriți acest utilizator de pe pagina lui de profil.\",\"email_subject\":\"Există un nou comentariu al lui %{author_name} în %{resource_title}\",\"notification_title\":\"Există un comentariu nou al <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> în <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Grupul %{author_name} a lăsat un comentariu în %{resource_title}. Îl poți citi în această pagină:\",\"email_outro\":\"Ați primit această notificare deoarece urmăriți %{author_name}. Puteți să nu urmăriți acest grup de pe pagina sa de profil.\",\"email_subject\":\"Există un nou comentariu al lui %{author_name} în %{resource_title}\",\"notification_title\":\"Există un comentariu nou al <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> în <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} a fost comentat. Poți citi comentariul din această pagină:\",\"email_outro\":\"Ați primit această notificare deoarece urmați \\\"\\\"%{resource_title}\\\" sau autorul său. O puteți anula de la link-ul anterior.\",\"email_subject\":\"Există un nou comentariu de la %{author_name} în %{resource_title}\",\"notification_title\":\"Există un nou comentariu de la <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> în <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} a răspuns comentariului tău în %{resource_title}. Îl poți citi în această pagină:\",\"email_outro\":\"Ați primit această notificare deoarece comentariul dvs. a fost răspuns.\",\"email_subject\":\"%{author_name} a răspuns comentariului tău în %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> a răspuns comentariul tău în <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Un grup căruia îi aparțineți a fost menționat\",\"email_outro\":\"Ați primit această notificare deoarece sunteți un membru al grupului %{group_name} care a fost menționat în %{resource_title}.\",\"email_subject\":\"Ai fost menționat în %{resource_title} ca membru al %{group_name}\",\"notification_title\":\"Ai fost menționat în <a href=\\\"%{resource_path}\\\">%{resource_title}</a> de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ca membru al <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Ați fost menționat\",\"email_outro\":\"Ați primit această notificare deoarece ați fost menționat în %{resource_title}.\",\"email_subject\":\"Ai fost menționat în %{resource_title}\",\"notification_title\":\"Ai fost menționat în <a href=\\\"%{resource_path}\\\">%{resource_title}</a> de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Numărul de comentarii generate de participanți\",\"object\":\"comentarii\",\"title\":\"Comentarii\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nu pot avea comentarii\"}}}}","module.exports = {\"ru\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Комментарий\",\"decidim/comments/comment_created_event\":\"Комментарий\",\"decidim/comments/reply_created_event\":\"Ответ на комментарий\",\"decidim/comments/user_group_mentioned_event\":\"Упоминание\",\"decidim/comments/user_mentioned_event\":\"Упоминание\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Комментарий\",\"few\":\"Комментария\",\"many\":\"Комментариев\",\"other\":\"Комментариев\"},\"decidim/comments/comment_vote\":{\"one\":\"Голос\",\"few\":\"Голоса\",\"many\":\"Голосов\",\"other\":\"Голосов\"}}},\"decidim\":{\"comments\":{\"comments\":\"Комментарии\",\"last_activity\":{\"new_comment_at_html\":\"<span>Новый комментарий в %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"При голосовании за комментарий произошли ошибки.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Войдите в систему через свою учетную запись</a> или <a href=\\\"%{sign_up_url}\\\">зарегистрируйтесь</a>, чтобы добавить свой комментарий.\",\"form\":{\"body\":{\"label\":\"Комментарий\",\"placeholder\":\"Что вы думаете об этом?\"},\"form_error\":\"Тут обязательно нужно ввести текст, но не больше %{length} символов.\",\"submit\":\"Отправить\",\"user_group_id\":{\"label\":\"Комментировать как\"}},\"opinion\":{\"neutral\":\"Безучастно\"},\"remaining_characters\":\"Осталось %{count} символов\",\"remaining_characters_1\":\"Остался %{count} символ\",\"title\":\"Добавьте свой комментарий\"},\"comment\":{\"alignment\":{\"against\":\"Против\",\"in_favor\":\"В поддержку\"},\"deleted_user\":\"Удаленный участник\",\"reply\":\"Ответить\",\"report\":{\"action\":\"Пожаловаться\",\"already_reported\":\"На это содержимое уже пожаловались, и жалобу рассмотрит администратор.\",\"close\":\"Закрыть\",\"description\":\"Это сообщение неприемлемо?\",\"details\":\"Дополнительные комментарии\",\"reasons\":{\"does_not_belong\":\"Содержит незаконную деятельность, угрозы самоубийства, личные сведения или что-то еще, недопустимое, на ваш взгляд, для %{organization_name}.\",\"offensive\":\"Содержит расизм, сексизм, оскорбления, личные нападки, угрозы убийства, заявления о самоубийстве, или любую форму разжигания ненависти.\",\"spam\":\"Содержит кликоловки (манипулятивно-сенсационные заголовки), рекламу, мошенничество или лохотроны.\"}}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"С наивысшим рейтингом\",\"most_discussed\":\"Самые обсуждаемые\",\"older\":\"Старые\",\"recent\":\"Недавние\"},\"title\":\"Упорядочить по:\"},\"comment_thread\":{\"title\":\"Беседа с %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Сейчас вам недоступно комментирование, но вы можете прочесть предыдущие комментарии.\",\"blocked_comments_warning\":\"Комментарии сейчас отключены, но вы можете прочитать предыдущие.\",\"loading\":\"Загрузка комментариев ...\",\"title\":\"%{count} комментариев\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} оставил комментарий в %{resource_title}. Вы можете прочитать его на странице:\",\"email_outro\":\"Вы получили это уведомление, потому что вы следите за %{author_name}. Вы можете отписаться от таких уведомлений, перейдя на страницу профиля этого участника.\",\"email_subject\":\"В %{resource_title} появился новый комментарий от %{author_name}\",\"notification_title\":\"В <a href=\\\"%{resource_path}\\\">%{resource_title}</a> появился новый комментарий от <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"В %{resource_title} появился новый комментарий от %{author_name}\",\"notification_title\":\"В <a href=\\\"%{resource_path}\\\">%{resource_title}</a> появился новый комментарий от <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} прокомментировали. Вы можете прочитать комментарий на странице:\",\"email_outro\":\"Вы получили это уведомление, потому что вы следите за «%{resource_title}». Вы можете перестать за ним следить, перейдя по приведенной выше ссылке.\",\"email_subject\":\"В %{resource_title} появился новый комментарий от %{author_name}\",\"notification_title\":\"В <a href=\\\"%{resource_path}\\\">%{resource_title}</a> появился новый комментарий от <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} ответил на ваш комментарий в %{resource_title}. Вы можете прочитать его на странице:\",\"email_outro\":\"Вы получили это уведомление, потому что на ваш комментарий был дан ответ.\",\"email_subject\":\"%{author_name} ответил на ваш комментарий в %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ответил на ваш комментарий в <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Вы были упомянуты\",\"email_outro\":\"Вы получили это уведомление, потому что вы были упомянуты в %{resource_title}.\",\"email_subject\":\"Вы были упомянуты в %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> упомянул вас в <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Количество комментариев, созданных участниками\",\"object\":\"коментарии\",\"title\":\"Комментарии\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"не подлежит комментированию\"}}}}","module.exports = {\"si\":null}","module.exports = {\"sk\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentár\",\"decidim/comments/comment_created_event\":\"Komentár\",\"decidim/comments/reply_created_event\":\"Odpoveď\",\"decidim/comments/user_group_mentioned_event\":\"Zmienka\",\"decidim/comments/user_mentioned_event\":\"Zmienka\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Komentár\",\"few\":\"Komentáre\",\"many\":\"Komentáre\",\"other\":\"Komentáre\"},\"decidim/comments/comment_vote\":{\"one\":\"Hlas\",\"few\":\"Hlasy\",\"many\":\"Hlasy\",\"other\":\"Hlasy\"}}},\"decidim\":{\"comments\":{\"comments\":\"Komentáre\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nový komentár na %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Pri hlasovaní za komentár sa vyskytol problém.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Prihláste sa so svojím účtom</a> alebo <a href=\\\"%{sign_up_url}\\\"> sa zaregistrujte</a>, aby ste pridali svoj komentár.\",\"form\":{\"body\":{\"label\":\"Komentár\",\"placeholder\":\"Čo si myslíte o tomto?\"},\"form_error\":\"Tento text je požadovaný a nesmie byť dlhší, než %{length} znakov.\",\"submit\":\"Odoslať\",\"user_group_id\":{\"label\":\"Komentovať ako\"}},\"opinion\":{\"neutral\":\"Neutrálne\"},\"remaining_characters\":\"Zostáva %{count} znakov\",\"remaining_characters_1\":\"Zostáva %{count} znakov\",\"title\":\"Pridajte svoj komentár\"},\"comment\":{\"alignment\":{\"against\":\"Proti\",\"in_favor\":\"Za\"},\"deleted_user\":\"Zmazaný účastník\",\"hide_replies\":\"Skryť odpovede\",\"reply\":\"Odpovedať\",\"report\":{\"action\":\"Nahlásiť\",\"already_reported\":\"Tento obsah už bol nahlásený, a je v procese kontroly.\",\"close\":\"Zavrieť\",\"description\":\"Je tento obsah nevhodný?\",\"details\":\"Ďalšie komentáre\",\"reasons\":{\"does_not_belong\":\"Obsahuje ilegálnu činnosť, vyhrážky, osobné informácie, alebo niečo ďalšie, o čom si myslíte, že nepatrí na %{organization_name}.\",\"offensive\":\"Obsahuje rasizmus, sexizmus, urážky, osobné útoky, vyhrážky alebo inú podobu nenávistného prejavu.\",\"spam\":\"Obsahuje clickbait, reklamy, scam alebo je to skriptovací robot.\"},\"title\":\"Nahlásenie problému\"},\"show_replies\":\"Zobraziť %{replies_count} odpovedí\",\"single_comment_link_title\":\"Odkaz na komentár\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Najlepšie hodnotené\",\"most_discussed\":\"Najviac diskutované\",\"older\":\"Staršie\",\"recent\":\"Nedávne\"},\"title\":\"Zoradiť podľa:\"},\"comment_thread\":{\"title\":\"Konverzácia s %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"V súčasnosti nemôžete komentovať, ale môžete si prečítať predchádzajúce komentáre.\",\"blocked_comments_warning\":\"Komentáre nie sú v súčasnosti povolené, ale môžete si prečítať predchádzajúce komentáre.\",\"comment_details_title\":\"Podrobnosti komentára\",\"loading\":\"Nahrávanie komentárov...\",\"single_comment_warning\":\"Zvyšné komentáre zobrazíte <a href=\\\"%{url}\\\">tu</a>.\",\"single_comment_warning_title\":\"Zobrazujete jeden komentár\",\"title\":\"%{count} komentárov\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} komentoval na %{resource_title}. Môžete si to prečítať na stránke:\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože sledujete autora \\\"%{author_name}\\\". Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.\",\"email_subject\":\"Je nový komentár od %{author_name} na %{resource_title}\",\"notification_title\":\"Je nový komentár od <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} bol okomentovaný. Komentár si môžete prečítať na stránke:\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože sledujete \\\"%{resource_title}\\\" alebo autora. Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.\",\"email_subject\":\"Je nový komentár od %{author_name} na %{resource_title}\",\"notification_title\":\"Je nový komentár od <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} odpovedal na váš komentár na %{resource_title}. Môžete si to prečítať na stránke:\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože niekto odpovedal na Váš komentár.\",\"email_subject\":\"%{author_name} odpovedal na Váš komentár na %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> odpovedal na váš komentár na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Skupina, do ktorej patríte, bola zmienená\",\"email_outro\":\"Dostali ste túto notifikáciu, pretože ste členom skupiny %{group_name}, ktorá bola spomenutá v %{resource_title}.\",\"email_subject\":\"Boli ste spomenutí v %{resource_title}, ako člen skupiny %{group_name}\",\"notification_title\":\"Boli ste zmienení v <a href=\\\"%{resource_path}\\\">%{resource_title}</a> autorom <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ako člen skupiny <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Niekto vás spomenul\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože ste boli spomenutí na %{resource_title}.\",\"email_subject\":\"Boli ste spomenutí na %{resource_title}\",\"notification_title\":\"Boli ste spomenutí <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Počet komentárov všetkých účastníkov\",\"object\":\"komentáre\",\"title\":\"Komentáre\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nie je možné komentovať\"}}}}","module.exports = {\"sk\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentár\",\"decidim/comments/comment_created_event\":\"Komentár\",\"decidim/comments/reply_created_event\":\"Odpoveď\",\"decidim/comments/user_group_mentioned_event\":\"Zmienka\",\"decidim/comments/user_mentioned_event\":\"Zmienka\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Komentár\",\"few\":\"Komentáre\",\"many\":\"Komentáre\",\"other\":\"Komentáre\"},\"decidim/comments/comment_vote\":{\"one\":\"Hlas\",\"few\":\"Hlasy\",\"many\":\"Hlasy\",\"other\":\"Hlasy\"}}},\"decidim\":{\"comments\":{\"comments\":\"Komentáre\",\"last_activity\":{\"new_comment_at_html\":\"<span>Nový komentár na %{link}</span>\"},\"votes\":{\"create\":{\"error\":\"Pri hlasovaní za komentár sa vyskytol problém.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Prihláste sa so svojím účtom</a> alebo <a href=\\\"%{sign_up_url}\\\"> sa zaregistrujte</a>, aby ste pridali svoj komentár.\",\"form\":{\"body\":{\"label\":\"Komentár\",\"placeholder\":\"Čo si myslíte o tomto?\"},\"form_error\":\"Tento text je požadovaný a nesmie byť dlhší, než %{length} znakov.\",\"submit\":\"Odoslať\",\"user_group_id\":{\"label\":\"Komentovať ako\"}},\"opinion\":{\"neutral\":\"Neutrálne\"},\"remaining_characters\":\"Zostáva %{count} znakov\",\"remaining_characters_1\":\"Zostáva %{count} znakov\",\"title\":\"Pridajte svoj komentár\"},\"comment\":{\"alignment\":{\"against\":\"Proti\",\"in_favor\":\"Za\"},\"deleted_user\":\"Zmazaný účastník\",\"hide_replies\":\"Skryť odpovede\",\"reply\":\"Odpovedať\",\"report\":{\"action\":\"Nahlásiť\",\"already_reported\":\"Tento obsah už bol nahlásený, a je v procese kontroly.\",\"close\":\"Zavrieť\",\"description\":\"Je tento obsah nevhodný?\",\"details\":\"Ďalšie komentáre\",\"reasons\":{\"does_not_belong\":\"Obsahuje ilegálnu činnosť, vyhrážky, osobné informácie, alebo niečo ďalšie, o čom si myslíte, že nepatrí na %{organization_name}.\",\"offensive\":\"Obsahuje rasizmus, sexizmus, urážky, osobné útoky, vyhrážky alebo inú podobu nenávistného prejavu.\",\"spam\":\"Obsahuje clickbait, reklamy, scam alebo je to skriptovací robot.\"}},\"show_replies\":\"Zobraziť %{replies_count} odpovedí\",\"single_comment_link_title\":\"Odkaz na komentár\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Najlepšie hodnotené\",\"most_discussed\":\"Najviac diskutované\",\"older\":\"Staršie\",\"recent\":\"Nedávne\"},\"title\":\"Zoradiť podľa:\"},\"comment_thread\":{\"title\":\"Konverzácia s %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"V súčasnosti nemôžete komentovať, ale môžete si prečítať predchádzajúce komentáre.\",\"blocked_comments_warning\":\"Komentáre nie sú v súčasnosti povolené, ale môžete si prečítať predchádzajúce komentáre.\",\"comment_details_title\":\"Podrobnosti komentára\",\"loading\":\"Nahrávanie komentárov...\",\"single_comment_warning\":\"Zvyšné komentáre zobrazíte <a href=\\\"%{url}\\\">tu</a>.\",\"single_comment_warning_title\":\"Zobrazujete jeden komentár\",\"title\":\"%{count} komentárov\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} komentoval na %{resource_title}. Môžete si to prečítať na stránke:\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože sledujete autora \\\"%{author_name}\\\". Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.\",\"email_subject\":\"Je nový komentár od %{author_name} na %{resource_title}\",\"notification_title\":\"Je nový komentár od <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Skupina %{author_name} komentovala na %{resource_title}. Môžete si to prečítať na stránke:\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože sledujete autora \\\"%{author_name}\\\". Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.\",\"email_subject\":\"Je nový komentár od %{author_name} na %{resource_title}\",\"notification_title\":\"Je nový komentár od <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} bol okomentovaný. Komentár si môžete prečítať na stránke:\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože sledujete \\\"%{resource_title}\\\" alebo autora. Notifikácie môžete zrušiť po kliknutí na predchádzajúci odkaz.\",\"email_subject\":\"Je nový komentár od %{author_name} na %{resource_title}\",\"notification_title\":\"Je nový komentár od <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} odpovedal na váš komentár na %{resource_title}. Môžete si to prečítať na stránke:\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože niekto odpovedal na Váš komentár.\",\"email_subject\":\"%{author_name} odpovedal na Váš komentár na %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> odpovedal na váš komentár na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"Skupina, do ktorej patríte, bola zmienená\",\"email_outro\":\"Dostali ste túto notifikáciu, pretože ste členom skupiny %{group_name}, ktorá bola spomenutá v %{resource_title}.\",\"email_subject\":\"Boli ste spomenutí v %{resource_title}, ako člen skupiny %{group_name}\",\"notification_title\":\"Boli ste zmienení v <a href=\\\"%{resource_path}\\\">%{resource_title}</a> autorom <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> ako člen skupiny <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Niekto vás spomenul\",\"email_outro\":\"Túto notifikáciu ste dostali, pretože ste boli spomenutí na %{resource_title}.\",\"email_subject\":\"Boli ste spomenutí na %{resource_title}\",\"notification_title\":\"Boli ste spomenutí <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> na <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Počet komentárov všetkých účastníkov\",\"object\":\"komentáre\",\"title\":\"Komentáre\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"nie je možné komentovať\"}}}}","module.exports = {\"sl\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Komentar\"}}}}","module.exports = {\"so\":null}","module.exports = {\"sr\":{\"decidim\":{\"components\":{\"comment\":{\"hide_replies\":\"Sakrij odgovore\",\"show_replies\":\"Prikaži %{replies_count} odgovora\",\"single_comment_link_title\":\"Nabavi vezu ka jednom komentaru\"},\"comments\":{\"comment_details_title\":\"Detalji o komentaru\",\"single_comment_warning\":\"Možete videti ostale komentare <a href=\\\"%{url}\\\">ovde</a>.\",\"single_comment_warning_title\":\"Vidite samo jedan komentar\"}},\"events\":{\"comments\":{\"comment_by_followed_user_group\":{\"email_intro\":\"Grupa %{author_name} je ostavila komentar na %{resource_title}. Možete ga pročitati na ovoj strani:\"},\"user_group_mentioned\":{\"email_intro\":\"Grupa kojoj pripadate je pomenuta\",\"email_outro\":\"Dobili ste ovo obaveštenje jer ste član grupe %{group_name} koja je pomenuta u %{resource_title}.\",\"email_subject\":\"Pomenuti ste u %{resource_title} kao član grupe %{group_name}\",\"notification_title\":\"Pomenuti ste u <a href=\\\"%{resource_path}\\\">%{resource_title}</a> od strane <a href=\\\"%{author_path}\\\">%{author_name}%{author_nickname}</a> kao član <a href=\\\"%{group_path}\\\">%{group_name}%{group_nickname}</a>\"}}}}}}","module.exports = {\"sv\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Kommentar\",\"decidim/comments/comment_created_event\":\"Kommentar\",\"decidim/comments/reply_created_event\":\"Svar till en kommentar\",\"decidim/comments/user_group_mentioned_event\":\"Nämn\",\"decidim/comments/user_mentioned_event\":\"Nämn\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Kommentar\",\"other\":\"Kommentarer\"},\"decidim/comments/comment_vote\":{\"one\":\"Röst\",\"other\":\"Röster\"}}},\"decidim\":{\"comments\":{\"comments\":\"Kommentarer\",\"comments_count\":\"Antal kommentarer\",\"last_activity\":{\"new_comment_at_html\":\"<span>Ny kommentar på %{link}</span>\"},\"view\":\"Visa\",\"votes\":{\"create\":{\"error\":\"Det gick inte att rösta om kommentaren.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Logga in med ditt konto</a> eller <a href=\\\"%{sign_up_url}\\\">registrera dig</a> för att lägga till din kommentar.\",\"form\":{\"body\":{\"label\":\"Kommentera\",\"placeholder\":\"Vad tycker du om detta?\"},\"form_error\":\"Texten är obligatorisk och den kan inte vara längre än %{length} tecken.\",\"submit\":\"Skicka\",\"user_group_id\":{\"label\":\"Kommentera som\"}},\"opinion\":{\"neutral\":\"Neutral\"},\"remaining_characters\":\"%{count} tecken kvar\",\"remaining_characters_1\":\"%{count} tecken kvar\",\"title\":\"Lägg till din kommentar\"},\"comment\":{\"alignment\":{\"against\":\"Mot\",\"in_favor\":\"För\"},\"deleted_user\":\"Raderad deltagare\",\"hide_replies\":\"Göm svar\",\"reply\":\"Svara\",\"report\":{\"action\":\"Rapportera\",\"already_reported\":\"Det här innehållet är redan rapporterat och det kommer att granskas av en administratör.\",\"close\":\"Stäng\",\"description\":\"Är detta innehåll olämpligt?\",\"details\":\"Ytterligare kommentarer\",\"reasons\":{\"does_not_belong\":\"Innehåller olaglig aktivitet, självmordshot, personlig information eller något annat du tycker inte hör hemma på %{organization_name}.\",\"offensive\":\"Innehåller rasism, sexism, skällsord, personliga attacker, dödshot, uppmaningar att begå självmord eller någon form av hatpropaganda.\",\"spam\":\"Innehåller clickbait, reklam, bedrägerier eller skriptrobotar.\"},\"title\":\"Rapportera olämpligt innehåll\"},\"show_replies\":\"Visa %{replies_count} svar\",\"single_comment_link_title\":\"Få länk till enstaka kommentar\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"Bästa betyg\",\"most_discussed\":\"Mest diskuterade\",\"older\":\"Äldre\",\"recent\":\"Senaste\"},\"title\":\"Sortera efter:\"},\"comment_thread\":{\"title\":\"Samtal med %{authorName}\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Du kan inte kommentera just nu, men du kan läsa tidigare kommentarer.\",\"blocked_comments_warning\":\"Kommentarer är inaktiverade just nu, men du kan läsa de föregående.\",\"comment_details_title\":\"Kommentarsdetaljer\",\"loading\":\"Laddar kommentarer...\",\"single_comment_warning\":\"Läs återstående <a href=\\\"%{url}\\\">kommentarer</a>.\",\"single_comment_warning_title\":\"Du visar en enda kommentar\",\"title\":\"%{count} kommentarer\"},\"down_vote_button\":{\"text\":\"Jag håller inte med om denna kommentar\"},\"up_vote_button\":{\"text\":\"Jag instämmer i denna kommentar\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} har lämnat en kommentar i %{resource_title}. Du kan läsa den på den här sidan:\",\"email_outro\":\"Du har fått den här notisen eftersom du följer %{author_name}. Du kan avfölja den här användaren från deras profilsida.\",\"email_subject\":\"Det finns en ny kommentar av %{author_name} i %{resource_title}\",\"notification_title\":\"Det finns en ny kommentar av <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"Gruppen %{author_name} har lämnat en kommentar i %{resource_title}. Du kan läsa den på denna sida:\",\"email_outro\":\"Du har fått det här meddelandet eftersom du följer %{author_name}. Du kan sluta följa den här gruppen från dess profilsida.\",\"email_subject\":\"Det finns en ny kommentar av %{author_name} i %{resource_title}\",\"notification_title\":\"Det finns en ny kommentar av <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} har kommenterats. Du kan läsa kommentaren på den här sidan:\",\"email_outro\":\"Du har fått det här meddelandet eftersom du följer \\\"%{resource_title}\\\" eller dess författare. Du kan avfölja det från föregående länk.\",\"email_subject\":\"Det finns en ny kommentar från %{author_name} i %{resource_title}\",\"notification_title\":\"Det finns en ny kommentar från <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} har svarat din kommentar i %{resource_title}. Du kan läsa den på den här sidan:\",\"email_outro\":\"Du har fått denna notis eftersom din kommentar blev besvarad.\",\"email_subject\":\"%{author_name} har svarat din kommentar i %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> har svarat din kommentar i <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"En grupp som du tillhör har nämnts\",\"email_outro\":\"Du har fått det här meddelandet eftersom du är medlem i gruppen %{group_name} som har nämnts i %{resource_title}.\",\"email_subject\":\"Du har nämnts i %{resource_title} som en medlem i %{group_name}\",\"notification_title\":\"Du har nämnts i <a href=\\\"%{resource_path}\\\">%{resource_title}</a> av <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> som medlem av <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"Du har nämnts\",\"email_outro\":\"Du har fått denna notis eftersom du har nämnts i %{resource_title}.\",\"email_subject\":\"Du har nämnts i %{resource_title}\",\"notification_title\":\"Du har nämnts i <a href=\\\"%{resource_path}\\\">%{resource_title}</a> av <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"Antal kommentarer från deltagare\",\"object\":\"kommentarer\",\"title\":\"Kommentarer\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"kan inte ha kommentarer\"}}}}","module.exports = {\"sw\":null}","module.exports = {\"ti\":null}","module.exports = {\"tr\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Yorum\",\"decidim/comments/comment_created_event\":\"Yorum\",\"decidim/comments/reply_created_event\":\"Yorum cevabı\",\"decidim/comments/user_group_mentioned_event\":\"Bahset\",\"decidim/comments/user_mentioned_event\":\"Bahset\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Yorum\",\"other\":\"Yorumlar\"},\"decidim/comments/comment_vote\":{\"one\":\"Oy ver\",\"other\":\"oy\"}}},\"decidim\":{\"comments\":{\"comments\":\"Yorumlar\",\"comments_count\":\"Yorum sayısı\",\"last_activity\":{\"new_comment_at_html\":\"<span> %{link}</span> yeni yorum\"},\"view\":\"Görünüm\",\"votes\":{\"create\":{\"error\":\"Yorum oylanırken bir sorun oluştu.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"Yorumunuzu eklemek için <a href=\\\"%{sign_in_url}\\\"> hesabınızla oturum açın </a> veya <a href=\\\"%{sign_up_url}\\\"> kaydolun </a>.\",\"form\":{\"body\":{\"label\":\"Yorum\",\"placeholder\":\"Bunun hakkında ne düşünüyorsun?\"},\"form_error\":\"Metin zorunludur ve %{length} karakterden uzun olamaz.\",\"submit\":\"Gönder\",\"user_group_id\":{\"label\":\"Olarak yorum yap\"}},\"opinion\":{\"neutral\":\"Tarafsız\"},\"remaining_characters\":\"%{count} karakter kaldı\",\"remaining_characters_1\":\"%{count} karakter kaldı\",\"title\":\"Yorum Ekle\"},\"comment\":{\"alignment\":{\"against\":\"Karşısında\",\"in_favor\":\"Lehine\"},\"deleted_user\":\"Silinmiş katılımcı\",\"hide_replies\":\"Yanıtları gizle\",\"reply\":\"Cevapla\",\"report\":{\"action\":\"Rapor\",\"already_reported\":\"Bu içerik zaten bildirildi ve bir yönetici tarafından incelenecek.\",\"close\":\"Kapat\",\"description\":\"Bu içerik uygunsuz mu?\",\"details\":\"Ek Yorumlar\",\"reasons\":{\"does_not_belong\":\"Yasadışı faaliyet, intihar tehditleri, kişisel bilgiler veya %{organization_name} kuruluşuna ait olmadığını düşündüğünüz başka bir şey içeriyor.\",\"offensive\":\"Irkçılık, cinsiyetçilik, hakaretler, kişisel saldırılar, ölüm tehditleri, intihar talepleri veya herhangi bir nefret söylemi içerir.\",\"spam\":\"Clickbait, reklam, dolandırıcılık veya script botları içerir.\"},\"title\":\"Uygunsuz içerik bildir\"},\"show_replies\":\"%{replies_count} yanıtı göster\",\"single_comment_link_title\":\"Tek yorumun bağlantısını al\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"En çok oy alan\",\"most_discussed\":\"En çok tartışılan\",\"older\":\"Daha eski\",\"recent\":\"Son\"},\"title\":\"Tarafından sipariş:\"},\"comment_thread\":{\"title\":\"%{authorName}ile sohbet\"},\"comments\":{\"blocked_comments_for_user_warning\":\"Şu anda yorum yapamıyorsunuz, ancak öncekileri okuyabilirsiniz.\",\"blocked_comments_warning\":\"Yorumlar şu anda devre dışı, ancak öncekileri okuyabilirsiniz.\",\"comment_details_title\":\"Yorum ayrıntıları\",\"loading\":\"Yorumlar yükleniyor ...\",\"single_comment_warning\":\"Yorumların geri kalanını <a href=\\\"%{url}\\\"> buradan </a> kontrol edebilirsiniz.\",\"single_comment_warning_title\":\"Tek bir yorum görüyorsunuz\",\"title\":\"%{count} yorum\"},\"down_vote_button\":{\"text\":\"Bu yoruma katılmıyorum\"},\"up_vote_button\":{\"text\":\"Bu yoruma katılıyorum\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} grubu %{resource_title} alanında bir yorum bıraktı. Bu sayfada okuyabilirsiniz:\",\"email_outro\":\"Bu bildirimi %{author_name} adlı yazarı takip ettiğiniz için aldınız. Bu grubu profil sayfasından takip etmeyi bırakabilirsiniz.\",\"email_subject\":\"%{author_name} %{resource_title} alanında yeni bir yorum yaptı\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title} </a> içinde <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname} </a> tarafından yeni bir yorum var.\"},\"comment_by_followed_user_group\":{\"email_intro\":\"%{author_name} grubu %{resource_title} alanında bir yorum bıraktı. Bu sayfada okuyabilirsiniz:\",\"email_outro\":\"Bu bildirimi %{author_name} adlı yazarı takip ettiğiniz için aldınız. Bu grubu profil sayfasından takip etmeyi bırakabilirsiniz.\",\"email_subject\":\"%{author_name}, %{resource_title} alanında yeni bir yorum yaptı\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title} </a> içinde <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname} </a> tarafından yeni bir yorum var.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} alanında yorum yapıldı. Bu sayfadaki yorumu okuyabilirsiniz:\",\"email_outro\":\"\\\"%{resource_title}\\\" alanında veya yazarı takip ettiğiniz için bu bildirimi aldınız. Bunu önceki linkten takip edebilirsiniz.\",\"email_subject\":\"%{author_name}, %{resource_title} alanında yeni bir yorum yaptı\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title} </a> içinde <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname} </a> tarafından yeni bir yorum var\"},\"reply_created\":{\"email_intro\":\"%{author_name}, yorumunuzu %{resource_title} alanında yanıtladı. Bu sayfada okuyabilirsiniz:\",\"email_outro\":\"Yorumunuz yanıtlandığı için bu bildirimi aldınız.\",\"email_subject\":\"%{author_name}, yorumunuzu %{resource_title} alanında yanıtladı\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> <a href=\\\"%{resource_path}\\\">%{resource_title}</a> alanında yorumunuzu yanıtladı\"},\"user_group_mentioned\":{\"email_intro\":\"Ait olduğunuz bir gruptan bahsedildi\",\"email_outro\":\"Bu bildirimi, %{resource_title} içinde adı geçen %{group_name} grubunun bir üyesi olduğunuz için aldınız.\",\"email_subject\":\"%{resource_title} içinde %{group_name} üyesi olarak bahsedildiniz\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title} </a> ’de <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname} </a> tarafından bir <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname} </a> üyesi\"},\"user_mentioned\":{\"email_intro\":\"Sen bahsedildin\",\"email_outro\":\"Bu bildirimi, sizden %{resource_title} alanında bahsedildiği için aldınız.\",\"email_subject\":\"%{resource_title} alanında bahsedildiniz\",\"notification_title\":\"<a href=\\\"%{resource_path}\\\">%{resource_title} </a> alanında <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname} </a> tarafından bahsedildi\"}}},\"metrics\":{\"comments\":{\"description\":\"Katılımcılar tarafından oluşturulan yorum sayısı\",\"object\":\"yorumlar\",\"title\":\"Yorumlar\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"yorum alamaz\"}}}}","module.exports = {\"uk\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"Коментар\",\"decidim/comments/comment_created_event\":\"Коментар\",\"decidim/comments/reply_created_event\":\"Відповідь на коментар\",\"decidim/comments/user_group_mentioned_event\":\"Згадка\",\"decidim/comments/user_mentioned_event\":\"Згадка\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"one\":\"Коментар\",\"few\":\"Коментаря\",\"many\":\"Коментарів\",\"other\":\"Коментарів\"},\"decidim/comments/comment_vote\":{\"one\":\"Голос\",\"few\":\"Голоси\",\"many\":\"Голосів\",\"other\":\"Голосів\"}}},\"decidim\":{\"comments\":{\"votes\":{\"create\":{\"error\":\"При голосуванні щодо коментаря сталися помилки.\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">Увійдіть за допомогою свого облікового запису</a> або <a href=\\\"%{sign_up_url}\\\">зареєструйтесь</a>, щоб додати свій коментар.\",\"form\":{\"body\":{\"label\":\"Коментар\",\"placeholder\":\"Що ви думаєте з цього приводу?\"},\"form_error\":\"Тут обов'язково потрібно ввести текст, але не більше, ніж %{length} символів.\",\"submit\":\"Надіслати\",\"user_group_id\":{\"label\":\"Коментувати як\"}},\"opinion\":{\"neutral\":\"Безсторонньо\"},\"remaining_characters\":\"Залишилось %{count} символів\",\"remaining_characters_1\":\"Залишився %{count} символ\",\"title\":\"Додати свій коментар\"},\"comment\":{\"alignment\":{\"against\":\"Проти\",\"in_favor\":\"На підтримку\"},\"deleted_user\":\"Видалений учасник\",\"reply\":\"Відповісти\",\"report\":{\"action\":\"Поскаржитись\",\"already_reported\":\"Про цей вміст вже передано скаргу, і її перегляне адміністратор.\",\"close\":\"Закрити\",\"description\":\"Чи цей вміст неприпустимий?\",\"details\":\"Додаткові коментарі\",\"reasons\":{\"does_not_belong\":\"Містить незаконну діяльність, загрози самогубства, особисті відомості чи ще щось, неприпустиме, на вашу думку, для %{organization_name}.\",\"offensive\":\"Містить расизм, сексизм, образи, особисті напади, погрози вбивства, заяви про самогубство або будь-які ненависницькі висловлювання.\",\"spam\":\"Містить клацоловки (маніпулятивно-сенсаційні заголовки), рекламу, афери або лохотрони.\"}}},\"comment_order_selector\":{\"order\":{\"best_rated\":\"З найкращим рейтингом\",\"most_discussed\":\"Найбільш обговорюване\",\"older\":\"Давніші\",\"recent\":\"Нещодавнє\"},\"title\":\"Впорядкувати за:\"},\"comment_thread\":{\"title\":\"Бесіда з %{authorName}\"},\"comments\":{\"blocked_comments_warning\":\"Коментарі зараз вимкнені, але ви можете прочитати попередні.\",\"loading\":\"Завантаження коментарів...\",\"title\":\"%{count} коментарів\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} залишив коментар у %{resource_title}. Ви можете прочитати його на сторінці:\",\"email_outro\":\"Ви отримали це сповіщення, тому що ви стежите за %{author_name}. Ви можете припинити стежити за ним на сторінці його профілю.\",\"email_subject\":\"У %{resource_title} з'явився новий коментар від %{author_name}\",\"notification_title\":\"У <a href=\\\"%{resource_path}\\\">%{resource_title}</a> з'явився новий коментар від <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>.\"},\"comment_by_followed_user_group\":{\"email_subject\":\"У %{resource_title} з'явився новий коментар від %{author_name}\",\"notification_title\":\"У <a href=\\\"%{resource_path}\\\">%{resource_title}</a> з'явився новий коментар від <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>.\"},\"comment_created\":{\"email_intro\":\"%{resource_title} прокоментували. Ви можете прочитати коментар на сторінці:\",\"email_outro\":\"Ви отримали це сповіщення, тому що ви стежите за \\\"%{resource_title}\\\". Ви можете припинити стежити за ним, перейшовши за наведеним вище посиланням.\",\"email_subject\":\"У %{resource_title} з'явився новий коментар від %{author_name}\",\"notification_title\":\"У <a href=\\\"%{resource_path}\\\">%{resource_title}</a> з'явився новий коментар від <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} відповів на ваш коментар у %{resource_title}. Ви можете прочитати його на сторінці:\",\"email_outro\":\"Ви отримали це сповіщення, оскільки на ваш коментар відповіли.\",\"email_subject\":\"%{author_name} відповів на ваш коментар у %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> відповів на ваш коментар у <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_mentioned\":{\"email_intro\":\"Вас згадали\",\"email_outro\":\"Ви отримали це сповіщення, оскільки вас згадали в %{resource_title}.\",\"email_subject\":\"Вас згадали у %{resource_title}\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> згадав вас у <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"}}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"не підлягає коментуванню\"}}}}","module.exports = {\"vi\":null}","module.exports = {\"vi\":null}","module.exports = {\"zh-CN\":{\"activemodel\":{\"models\":{\"decidim/comments/comment_by_followed_user_event\":\"评论\",\"decidim/comments/comment_created_event\":\"评论\",\"decidim/comments/reply_created_event\":\"评论回复\",\"decidim/comments/user_group_mentioned_event\":\"提到了\",\"decidim/comments/user_mentioned_event\":\"提到了\"}},\"activerecord\":{\"models\":{\"decidim/comments/comment\":{\"other\":\"评论\"},\"decidim/comments/comment_vote\":{\"other\":\"所得票数\"}}},\"decidim\":{\"comments\":{\"comments\":\"评论\",\"comments_count\":\"评论计数\",\"last_activity\":{\"new_comment_at_html\":\"<span>在 %{link}的新评论</span>\"},\"view\":\"查看\",\"votes\":{\"create\":{\"error\":\"在表决该评论时出现问题。\"}}},\"components\":{\"add_comment_form\":{\"account_message\":\"<a href=\\\"%{sign_in_url}\\\">使用您的帐户</a> 或 <a href=\\\"%{sign_up_url}\\\">注册</a> 来添加您的评论。\",\"form\":{\"body\":{\"label\":\"评论\",\"placeholder\":\"你对此有什么看法?\"},\"form_error\":\"文本是必需的,不能超过 %{length} 个字符。\",\"submit\":\"发送\",\"user_group_id\":{\"label\":\"评论为\"}},\"opinion\":{\"neutral\":\"中性的\"},\"remaining_characters\":\"剩余 %{count} 个字符\",\"remaining_characters_1\":\"剩余 %{count} 个字符\",\"title\":\"添加您的评论\"},\"comment\":{\"alignment\":{\"against\":\"反对的\",\"in_favor\":\"优惠的\"},\"deleted_user\":\"删除参与者\",\"hide_replies\":\"隐藏回复\",\"reply\":\"答复\",\"report\":{\"action\":\"报告\",\"already_reported\":\"此内容已经被报告,将由管理员审核。\",\"close\":\"关闭\",\"description\":\"这个内容是否不适当?\",\"details\":\"其他评论\",\"reasons\":{\"does_not_belong\":\"包含非法活动、自杀威胁、个人信息或你认为不属于 %{organization_name} 的其他东西。\",\"offensive\":\"包括种族主义、性别主义、污泥、个人攻击、死亡威胁、自杀请求或任何形式的仇恨言论。\",\"spam\":\"包含点击、广告、骗子或脚本机器人。\"},\"title\":\"报告不恰当的内容\"},\"show_replies\":\"显示 %{replies_count} 个回复\",\"single_comment_link_title\":\"获取单个评论的链接\"},\"comment_order_selector\":{\"order\":{\"best_rated\":\"最佳评分\",\"most_discussed\":\"最多讨论\",\"older\":\"更旧的\",\"recent\":\"最近的\"},\"title\":\"排序方式:\"},\"comment_thread\":{\"title\":\"与 %{authorName} 的对话\"},\"comments\":{\"blocked_comments_for_user_warning\":\"您此时无法评论,但您可以阅读前面的评论。\",\"blocked_comments_warning\":\"评论此时被禁用,但您可以阅读前面的评论。\",\"comment_details_title\":\"评论详情\",\"loading\":\"正在加载评论...\",\"single_comment_warning\":\"您可以在这里查看 <a href=\\\"%{url}\\\">的其余评论</a>。\",\"single_comment_warning_title\":\"您正在看到一个评论\",\"title\":\"%{count} 条评论\"},\"down_vote_button\":{\"text\":\"我不同意这个评论\"},\"up_vote_button\":{\"text\":\"我同意这个评论\"}},\"events\":{\"comments\":{\"comment_by_followed_user\":{\"email_intro\":\"%{author_name} 在 %{resource_title}留下了一条评论。您可以在这个页面阅读:\",\"email_outro\":\"您收到此通知是因为您正在关注 %{author_name}。您可以从其个人资料页面取消关注此用户。\",\"email_subject\":\"%{author_name} 在 %{resource_title} 有一个新评论\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> 在 <a href=\\\"%{resource_path}\\\">%{resource_title}</a> 有新的评论。\"},\"comment_by_followed_user_group\":{\"email_intro\":\"组 %{author_name} 在 %{resource_title}留下了一个评论。您可以在这个页面阅读它:\",\"email_outro\":\"您收到此通知是因为您正在关注 %{author_name}。您可以从其个人资料页面取消关注此组。\",\"email_subject\":\"%{author_name} 在 %{resource_title} 有一个新评论\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> 在 <a href=\\\"%{resource_path}\\\">%{resource_title}</a> 有新的评论。\"},\"comment_created\":{\"email_intro\":\"%{resource_title} 已被评论。您可以阅读此页面中的评论:\",\"email_outro\":\"您收到此通知是因为您正在关注\\\"%{resource_title}\\\"或其作者。您可以从上一个链接取消关注它。\",\"email_subject\":\"%{author_name} 在 %{resource_title} 有一个新评论\",\"notification_title\":\"来自 <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> 的新评论 <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"reply_created\":{\"email_intro\":\"%{author_name} 在 %{resource_title}回复了您的评论。您可以在这个页面阅读:\",\"email_outro\":\"您收到此通知是因为您的评论已被回复。\",\"email_subject\":\"%{author_name} 在 %{resource_title} 回复了您的评论\",\"notification_title\":\"<a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> 回复了您在 <a href=\\\"%{resource_path}\\\">%{resource_title}</a>\"},\"user_group_mentioned\":{\"email_intro\":\"已经提到您所属的组\",\"email_outro\":\"您收到此通知是因为您是在 %{group_name} 中提及的组 %{resource_title} 的成员。\",\"email_subject\":\"您已在 %{resource_title} 中被提及为 %{group_name} 的成员\",\"notification_title\":\"您在 <a href=\\\"%{resource_path}\\\">%{resource_title}中提到</a> <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a> 作为 <a href=\\\"%{group_path}\\\">%{group_name} %{group_nickname}</a>\"},\"user_mentioned\":{\"email_intro\":\"您已被提到。\",\"email_outro\":\"您收到此通知是因为您已在 %{resource_title} 中被提及。\",\"email_subject\":\"您已在 %{resource_title} 中被提及了\",\"notification_title\":\"您在 <a href=\\\"%{resource_path}\\\">%{resource_title}中提到</a> <a href=\\\"%{author_path}\\\">%{author_name} %{author_nickname}</a>\"}}},\"metrics\":{\"comments\":{\"description\":\"与会者生成的评论数\",\"object\":\"评论\",\"title\":\"评论\"}}},\"errors\":{\"messages\":{\"cannot_have_comments\":\"不能有评论\"}}}}","module.exports = {\"zh-TW\":null}","/* global window */\nimport ponyfill from './ponyfill.js';\n\nvar root;\n\nif (typeof self !== 'undefined') {\n root = self;\n} else if (typeof window !== 'undefined') {\n root = window;\n} else if (typeof global !== 'undefined') {\n root = global;\n} else if (typeof module !== 'undefined') {\n root = module;\n} else {\n root = Function('return this')();\n}\n\nvar result = ponyfill(root);\nexport default result;\n","export default function symbolObservablePonyfill(root) {\n\tvar result;\n\tvar Symbol = root.Symbol;\n\n\tif (typeof Symbol === 'function') {\n\t\tif (Symbol.observable) {\n\t\t\tresult = Symbol.observable;\n\t\t} else {\n\t\t\tresult = Symbol('observable');\n\t\t\tSymbol.observable = result;\n\t\t}\n\t} else {\n\t\tresult = '@@observable';\n\t}\n\n\treturn result;\n};\n","exports.version = \"2.2.5\"","import * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\n\nimport Comments, { CommentsApplicationProps } from \"./comments/comments.component\";\nimport loadTranslations from \"./support/load_translations\";\n\nwindow.DecidimComments = window.DecidimComments || {};\n\ninterface StorageDict {\n [key: string]: string;\n}\n\nwindow.DecidimComments.renderCommentsComponent = (nodeId: string, props: CommentsApplicationProps) => {\n const node = window.$(`#${nodeId}`)[0];\n const queryDict: StorageDict = {};\n window\n .location\n .search\n .substr(1)\n .split(\"&\")\n .forEach(item => queryDict[item.split(\"=\")[0]] = item.split(\"=\")[1]);\n\n props = { ...props, singleCommentId: queryDict.commentId };\n\n ReactDOM.render(\n React.createElement(Comments, props),\n node\n );\n\n if (queryDict.commentId) {\n $([document.documentElement, document.body]).animate({\n scrollTop: $(\"#comments\").offset()!.top\n }, 2000);\n }\n};\n\n// Load component locales from yaml files\nloadTranslations();\n","import * as React from \"react\";\nimport { graphql } from \"react-apollo\";\n\nconst PropTypes = require(\"prop-types\");\n\nimport Application from \"../application/application.component\";\n\nimport AddCommentForm from \"./add_comment_form.component\";\nimport CommentOrderSelector from \"./comment_order_selector.component\";\nimport CommentThread from \"./comment_thread.component\";\n\nimport {\n GetCommentsQuery,\n GetCommentsQueryVariables\n} from \"../support/schema\";\n\nconst { I18n, Translate } = require(\"react-i18nify\");\n\ninterface CommentsProps extends GetCommentsQuery {\n locale: string;\n toggleTranslations: boolean;\n loading?: boolean;\n orderBy: string;\n singleCommentId?: string;\n reorderComments: (orderBy: string) => void;\n commentsMaxLength: number;\n}\n\n/**\n * The core class of the Decidim Comments engine.\n * It renders a collection of comments given a commentable id and type.\n * @global\n * @class\n * @augments Component\n */\nexport class Comments extends React.Component<CommentsProps> {\n public static defaultProps: any = {\n loading: false,\n session: null,\n commentable: {\n comments: []\n }\n };\n\n public static childContextTypes: any = {\n locale: PropTypes.string,\n toggleTranslations: PropTypes.bool\n };\n\n public getChildContext() {\n return {\n locale: this.props.locale,\n toggleTranslations: this.props.toggleTranslations\n };\n }\n\n public render() {\n const { commentable: { totalCommentsCount = 0 }, singleCommentId, loading, commentsMaxLength } = this.props;\n let commentClasses = \"comments\";\n let commentHeader = I18n.t(\"components.comments.title\", { count: totalCommentsCount });\n if (singleCommentId && singleCommentId !== \"\") {\n commentHeader = I18n.t(\"components.comments.comment_details_title\");\n }\n\n if (loading) {\n commentClasses += \" loading-comments\";\n commentHeader = I18n.t(\"components.comments.loading\");\n }\n\n return (\n <div className=\"columns large-9\" id=\"comments\">\n <section className={commentClasses}>\n <div className=\"row collapse order-by\">\n <h2 className=\"order-by__text section-heading\">\n {commentHeader}\n </h2>\n {this._renderCommentOrderSelector()}\n </div>\n {this._renderSingleCommentWarning()}\n {this._renderBlockedCommentsWarning()}\n {this._renderCommentThreads()}\n {this._renderAddCommentForm()}\n {this._renderBlockedCommentsForUserWarning()}\n </section>\n </div>\n );\n }\n\n /**\n * Renders warning message when viewing a single comment.\n * @private\n * @returns {Void|DOMElement} - A warning message or nothing.\n */\n private _renderSingleCommentWarning() {\n const { singleCommentId, reorderComments, orderBy } = this.props;\n\n if (singleCommentId && singleCommentId !== \"\") {\n const newUrl = `${window.location.pathname}${window.location.search.replace(`commentId=${singleCommentId}`, \"\")}`;\n\n return (\n <div className=\"callout secondary\">\n <h5>{I18n.t(\"components.comments.single_comment_warning_title\")}</h5>\n <p>\n <Translate\n value=\"components.comments.single_comment_warning\"\n url={newUrl}\n dangerousHTML={true}\n />\n </p>\n </div>\n );\n }\n\n return null;\n }\n\n /**\n * Renders an order selector.\n * @private\n * @returns {Void|DOMElement} - A warning message or nothing.\n */\n private _renderCommentOrderSelector() {\n const { singleCommentId, reorderComments, orderBy } = this.props;\n\n if (singleCommentId && singleCommentId !== \"\") {\n return null;\n }\n\n return (\n <CommentOrderSelector\n reorderComments={reorderComments}\n defaultOrderBy={orderBy}\n />\n );\n }\n\n /**\n * Renders a warning message if the commentable doesn't accept new comments.\n * @private\n * @returns {Void|DOMElement} - A warning message or nothing.\n */\n private _renderBlockedCommentsWarning() {\n const { commentable: { acceptsNewComments, userAllowedToComment } } = this.props;\n\n if (!acceptsNewComments && !userAllowedToComment) {\n return (\n <div className=\"callout warning\">\n <p>{I18n.t(\"components.comments.blocked_comments_warning\")}</p>\n </div>\n );\n }\n\n return null;\n }\n\n /**\n * Renders a warning message if the participatory_space is private and users\n * don't have permissions.\n * @private\n * @returns {Void|DOMElement} - A warning message or nothing.\n */\n private _renderBlockedCommentsForUserWarning() {\n const { commentable: { acceptsNewComments, userAllowedToComment } } = this.props;\n\n if (acceptsNewComments) {\n if (!userAllowedToComment) {\n return (\n <div className=\"callout warning\">\n <p>{I18n.t(\"components.comments.blocked_comments_for_user_warning\")}</p>\n </div>\n );\n }\n }\n\n return null;\n }\n\n /**\n * Iterates the comment's collection and render a CommentThread for each one\n * @private\n * @returns {ReactComponent[]} - A collection of CommentThread components\n */\n private _renderCommentThreads() {\n const { session, commentable, orderBy, commentsMaxLength } = this.props;\n const { comments, commentsHaveVotes } = commentable;\n\n return comments.map((comment) => (\n <CommentThread\n key={comment.id}\n comment={comment}\n session={session}\n votable={commentsHaveVotes}\n rootCommentable={commentable}\n orderBy={orderBy}\n commentsMaxLength={commentsMaxLength}\n />\n ));\n }\n\n /**\n * If current user is present it renders the add comment form\n * @private\n * @returns {Void|ReactComponent} - A AddCommentForm component or nothing\n */\n private _renderAddCommentForm() {\n const { session, commentable, orderBy, singleCommentId, commentsMaxLength } = this.props;\n const { acceptsNewComments, commentsHaveAlignment, userAllowedToComment } = commentable;\n\n if (singleCommentId && singleCommentId !== \"\") {\n return null;\n }\n\n if (acceptsNewComments && userAllowedToComment) {\n return (\n <AddCommentForm\n session={session}\n commentable={commentable}\n arguable={commentsHaveAlignment}\n rootCommentable={commentable}\n orderBy={orderBy}\n commentsMaxLength={commentsMaxLength}\n />\n );\n }\n\n return null;\n }\n}\n\n/**\n * Wrap the Comments component with a GraphQL query and children\n * fragments.\n */\n\nwindow.Comments = Comments;\n\nexport const commentsQuery = require(\"../queries/comments.query.graphql\");\n\nconst CommentsWithData: any = graphql<GetCommentsQuery, CommentsProps>(commentsQuery, {\n options: {\n pollInterval: 15000\n },\n props: ({ ownProps, data }) => {\n if (data) {\n const { loading, session, commentable, refetch } = data;\n\n return {\n loading,\n session,\n commentable,\n orderBy: ownProps.orderBy,\n singleCommentId: ownProps.singleCommentId,\n reorderComments: (orderBy: string) => {\n return refetch({\n orderBy\n });\n }\n };\n }\n }\n})(Comments);\n\nexport interface CommentsApplicationProps extends GetCommentsQueryVariables {\n singleCommentId: string;\n locale: string;\n toggleTranslations: boolean;\n commentsMaxLength: number;\n}\n\n/**\n * Wrap the CommentsWithData component within an Application component to\n * connect it with Apollo client and store.\n * @returns {ReactComponent} - A component wrapped within an Application component\n */\nconst CommentsApplication: React.SFC<CommentsApplicationProps> = ({ locale, toggleTranslations, commentableId, commentableType, singleCommentId, commentsMaxLength }) => (\n <Application locale={locale}>\n <CommentsWithData\n commentsMaxLength={commentsMaxLength}\n commentableId={commentableId}\n commentableType={commentableType}\n locale={locale}\n toggleTranslations={toggleTranslations}\n orderBy=\"older\"\n singleCommentId={singleCommentId}\n />\n </Application>\n);\n\nexport default CommentsApplication;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as the `TypeError` message for \"Functions\" methods. */\nvar FUNC_ERROR_TEXT = 'Expected a function';\n\n/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\nfunction createFlow(fromRight) {\n return baseRest(function(funcs) {\n funcs = baseFlatten(funcs, 1);\n\n var length = funcs.length,\n index = length;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n if (typeof funcs[index] != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n }\n return function() {\n var index = 0,\n result = length ? funcs[index].apply(this, arguments) : arguments[0];\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n}\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * This method is like `_.flow` except that it creates a function that\n * invokes the given functions from right to left.\n *\n * @static\n * @since 3.0.0\n * @memberOf _\n * @category Util\n * @param {...(Function|Function[])} [funcs] The functions to invoke.\n * @returns {Function} Returns the new composite function.\n * @see _.flow\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var addSquare = _.flowRight([square, _.add]);\n * addSquare(1, 2);\n * // => 9\n */\nvar flowRight = createFlow(true);\n\nmodule.exports = flowRight;\n","/**\n * lodash (Custom Build) <https://lodash.com/>\n * Build: `lodash modularize exports=\"npm\" -o ./`\n * Copyright jQuery Foundation and other contributors <https://jquery.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n\n/** Used as references for various `Number` constants. */\nvar INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n symbolTag = '[object Symbol]';\n\n/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\n/**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\nfunction apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n}\n\n/**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\nfunction arrayMap(array, iteratee) {\n var index = -1,\n length = array ? array.length : 0,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n}\n\n/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar objectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar Symbol = root.Symbol,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeMax = Math.max;\n\n/**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\nfunction baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick.\n * @returns {Object} Returns the new object.\n */\nfunction basePick(object, props) {\n object = Object(object);\n return basePickBy(object, props, function(value, key) {\n return key in object;\n });\n}\n\n/**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} props The property identifiers to pick from.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\nfunction basePickBy(object, props, predicate) {\n var index = -1,\n length = props.length,\n result = {};\n\n while (++index < length) {\n var key = props[index],\n value = object[key];\n\n if (predicate(value, key)) {\n result[key] = value;\n }\n }\n return result;\n}\n\n/**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\nfunction baseRest(func, start) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = array;\n return apply(func, this, otherArgs);\n };\n}\n\n/**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\nfunction isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n}\n\n/**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\nfunction toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n}\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nfunction isArguments(value) {\n // Safari 8.1 makes `arguments.callee` enumerable in strict mode.\n return isArrayLikeObject(value) && hasOwnProperty.call(value, 'callee') &&\n (!propertyIsEnumerable.call(value, 'callee') || objectToString.call(value) == argsTag);\n}\n\n/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\n/**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\nfunction isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n}\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 8-9 which returns 'object' for typed array and other constructors.\n var tag = isObject(value) ? objectToString.call(value) : '';\n return tag == funcTag || tag == genTag;\n}\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\n/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return !!value && (type == 'object' || type == 'function');\n}\n\n/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return !!value && typeof value == 'object';\n}\n\n/**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\nfunction isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && objectToString.call(value) == symbolTag);\n}\n\n/**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [props] The property identifiers to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\nvar pick = baseRest(function(object, props) {\n return object == null ? {} : basePick(object, arrayMap(baseFlatten(props, 1), toKey));\n});\n\nmodule.exports = pick;\n","import * as React from \"react\";\nimport { ApolloProvider } from \"react-apollo\";\n\nimport apolloClient from \"./apollo_client\";\n\nconst { I18n } = require(\"react-i18nify\");\n\ninterface ApplicationProps {\n locale: string;\n}\n\n/**\n * Wrapper component for all React applications using Apollo\n * @class\n * @augments Component\n */\nexport default class Application extends React.Component<ApplicationProps> {\n constructor(props: ApplicationProps) {\n const { locale } = props;\n\n I18n.setLocale(locale);\n\n super(props);\n }\n\n public render() {\n const { children } = this.props;\n\n return (\n <ApolloProvider client={apolloClient}>\n {children}\n </ApolloProvider>\n );\n }\n}\n","import { InMemoryCache } from \"apollo-cache-inmemory\";\nimport { ApolloClient } from \"apollo-client\";\nimport { HttpLink } from \"apollo-link-http\";\n\nimport \"unfetch/polyfill\";\n\nconst client = new ApolloClient({\n link: new HttpLink({ uri: \"/api\", credentials: \"same-origin\", fetch }),\n cache: new InMemoryCache()\n});\n\nexport default client;\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.visit = visit;\nexports.visitInParallel = visitInParallel;\nexports.visitWithTypeInfo = visitWithTypeInfo;\nexports.getVisitFn = getVisitFn;\n\n\n/**\n * A visitor is comprised of visit functions, which are called on each node\n * during the visitor's traversal.\n */\n\n\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n/**\n * Copyright (c) 2015-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * strict\n */\n\nvar QueryDocumentKeys = exports.QueryDocumentKeys = {\n Name: [],\n\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name',\n // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n\n Directive: ['name', 'arguments'],\n\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n\n SchemaDefinition: ['directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields'],\n\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations']\n};\n\n/**\n * A KeyMap describes each the traversable properties of each kind of node.\n */\nvar BREAK = exports.BREAK = {};\n\n/**\n * visit() will walk through an AST using a depth first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\nfunction visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n for (var k in node) {\n if (node.hasOwnProperty(k)) {\n clone[k] = node[k];\n }\n }\n node = clone;\n }\n var editOffset = 0;\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n if (inArray) {\n editKey -= editOffset;\n }\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n if (node === null || node === undefined) {\n continue;\n }\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error('Invalid AST Node: ' + JSON.stringify(node));\n }\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n stack = { inArray: inArray, index: index, keys: keys, edits: edits, prev: stack };\n inArray = Array.isArray(node);\n keys = inArray ? node : visitorKeys[node.kind] || [];\n index = -1;\n edits = [];\n if (parent) {\n ancestors.push(parent);\n }\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n\nfunction isNode(maybeNode) {\n return Boolean(maybeNode && typeof maybeNode.kind === 'string');\n}\n\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\nfunction visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (!skipping[i]) {\n var fn = getVisitFn(visitors[i], node.kind, /* isLeaving */false);\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (!skipping[i]) {\n var fn = getVisitFn(visitors[i], node.kind, /* isLeaving */true);\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n\n/**\n * Creates a new visitor instance which maintains a provided TypeInfo instance\n * along with visiting visitor.\n */\nfunction visitWithTypeInfo(typeInfo, visitor) {\n return {\n enter: function enter(node) {\n typeInfo.enter(node);\n var fn = getVisitFn(visitor, node.kind, /* isLeaving */false);\n if (fn) {\n var result = fn.apply(visitor, arguments);\n if (result !== undefined) {\n typeInfo.leave(node);\n if (isNode(result)) {\n typeInfo.enter(result);\n }\n }\n return result;\n }\n },\n leave: function leave(node) {\n var fn = getVisitFn(visitor, node.kind, /* isLeaving */true);\n var result = void 0;\n if (fn) {\n result = fn.apply(visitor, arguments);\n }\n typeInfo.leave(node);\n return result;\n }\n };\n}\n\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\nfunction getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n var specificKindVisitor = specificVisitor[kind];\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}","module.exports = require(\"./zen-observable.js\").Observable;\n","'use strict'; (function(fn, name) { if (typeof exports !== \"undefined\") { fn(exports, module); } else if (typeof self !== \"undefined\") { var e = name === \"*\" ? self : (name ? self[name] = {} : {}); fn(e, { exports: e }); } })(function(exports, module) { // === Symbol Support ===\n\nfunction hasSymbol(name) {\n return typeof Symbol === \"function\" && Boolean(Symbol[name]);\n}\n\nfunction getSymbol(name) {\n return hasSymbol(name) ? Symbol[name] : \"@@\" + name;\n}\n\n// Ponyfill Symbol.observable for interoperability with other libraries\nif (typeof Symbol === \"function\" && !Symbol.observable) {\n Symbol.observable = Symbol(\"observable\");\n}\n\n// === Abstract Operations ===\n\nfunction hostReportError(e) {\n setTimeout(function() { throw e });\n}\n\nfunction getMethod(obj, key) {\n var value = obj[key];\n\n if (value == null)\n return undefined;\n\n if (typeof value !== \"function\")\n throw new TypeError(value + \" is not a function\");\n\n return value;\n}\n\nfunction getSpecies(obj) {\n var ctor = obj.constructor;\n if (ctor !== undefined) {\n ctor = ctor[getSymbol(\"species\")];\n if (ctor === null) {\n ctor = undefined;\n }\n }\n return ctor !== undefined ? ctor : Observable;\n}\n\nfunction addMethods(target, methods) {\n Object.keys(methods).forEach(function(k) {\n var desc = Object.getOwnPropertyDescriptor(methods, k);\n desc.enumerable = false;\n Object.defineProperty(target, k, desc);\n });\n}\n\nfunction cleanupSubscription(subscription) {\n // Assert: observer._observer is undefined\n\n var cleanup = subscription._cleanup;\n\n if (!cleanup)\n return;\n\n // Drop the reference to the cleanup function so that we won't call it\n // more than once\n subscription._cleanup = undefined;\n\n // Call the cleanup function\n try { cleanup() }\n catch (e) { hostReportError(e) }\n}\n\nfunction subscriptionClosed(subscription) {\n return subscription._observer === undefined;\n}\n\nfunction closeSubscription(subscription) {\n if (subscriptionClosed(subscription))\n return;\n\n subscription._observer = undefined;\n cleanupSubscription(subscription);\n}\n\nfunction cleanupFromSubscription(subscription) {\n return function() { subscription.unsubscribe() };\n}\n\nfunction Subscription(observer, subscriber) {\n // Assert: subscriber is callable\n\n // The observer must be an object\n if (Object(observer) !== observer)\n throw new TypeError(\"Observer must be an object\");\n\n this._cleanup = undefined;\n this._observer = observer;\n\n try {\n var start$0 = getMethod(observer, \"start\");\n if (start$0) start$0.call(observer, this);\n } catch (e) {\n hostReportError(e);\n }\n\n if (subscriptionClosed(this))\n return;\n\n observer = new SubscriptionObserver(this);\n\n try {\n // Call the subscriber function\n var cleanup$0 = subscriber.call(undefined, observer);\n\n // The return value must be undefined, null, a subscription object, or a function\n if (cleanup$0 != null) {\n if (typeof cleanup$0.unsubscribe === \"function\")\n cleanup$0 = cleanupFromSubscription(cleanup$0);\n else if (typeof cleanup$0 !== \"function\")\n throw new TypeError(cleanup$0 + \" is not a function\");\n\n this._cleanup = cleanup$0;\n }\n } catch (e) {\n // If an error occurs during startup, then attempt to send the error\n // to the observer\n observer.error(e);\n return;\n }\n\n // If the stream is already finished, then perform cleanup\n if (subscriptionClosed(this))\n cleanupSubscription(this);\n}\n\naddMethods(Subscription.prototype = {}, {\n get closed() { return subscriptionClosed(this) },\n unsubscribe: function() { closeSubscription(this) },\n});\n\nfunction SubscriptionObserver(subscription) {\n this._subscription = subscription;\n}\n\naddMethods(SubscriptionObserver.prototype = {}, {\n\n get closed() { return subscriptionClosed(this._subscription) },\n\n next: function(value) {\n var subscription = this._subscription;\n\n // If the stream is closed, then return undefined\n if (subscriptionClosed(subscription))\n return;\n\n var observer = subscription._observer;\n\n try {\n // If the observer has a \"next\" method, send the next value\n var m$0 = getMethod(observer, \"next\");\n if (m$0) m$0.call(observer, value);\n } catch (e) {\n hostReportError(e);\n }\n },\n\n error: function(value) {\n var subscription = this._subscription;\n\n // If the stream is closed, throw the error to the caller\n if (subscriptionClosed(subscription)) {\n hostReportError(value);\n return;\n }\n\n var observer = subscription._observer;\n subscription._observer = undefined;\n\n try {\n var m$1 = getMethod(observer, \"error\");\n if (m$1) m$1.call(observer, value);\n else throw value;\n } catch (e) {\n hostReportError(e);\n }\n\n cleanupSubscription(subscription);\n },\n\n complete: function() {\n var subscription = this._subscription;\n\n if (subscriptionClosed(subscription))\n return;\n\n var observer = subscription._observer;\n subscription._observer = undefined;\n\n try {\n var m$2 = getMethod(observer, \"complete\");\n if (m$2) m$2.call(observer);\n } catch (e) {\n hostReportError(e);\n }\n\n cleanupSubscription(subscription);\n },\n\n});\n\nfunction Observable(subscriber) {\n // Constructor cannot be called as a function\n if (!(this instanceof Observable))\n throw new TypeError(\"Observable cannot be called as a function\");\n\n // The stream subscriber must be a function\n if (typeof subscriber !== \"function\")\n throw new TypeError(\"Observable initializer must be a function\");\n\n this._subscriber = subscriber;\n}\n\naddMethods(Observable.prototype, {\n\n subscribe: function(observer) { for (var args = [], __$0 = 1; __$0 < arguments.length; ++__$0) args.push(arguments[__$0]); \n if (typeof observer === 'function') {\n observer = {\n next: observer,\n error: args[0],\n complete: args[1],\n };\n } else if (typeof observer !== 'object' || observer === null) {\n observer = {};\n }\n\n return new Subscription(observer, this._subscriber);\n },\n\n forEach: function(fn) { var __this = this; \n return new Promise(function(resolve, reject) {\n if (typeof fn !== \"function\")\n return Promise.reject(new TypeError(fn + \" is not a function\"));\n\n __this.subscribe({\n _subscription: null,\n\n start: function(subscription) {\n if (Object(subscription) !== subscription)\n throw new TypeError(subscription + \" is not an object\");\n\n this._subscription = subscription;\n },\n\n next: function(value) {\n var subscription = this._subscription;\n\n if (subscription.closed)\n return;\n\n try {\n fn(value);\n } catch (err) {\n reject(err);\n subscription.unsubscribe();\n }\n },\n\n error: reject,\n complete: resolve,\n });\n });\n },\n\n map: function(fn) { var __this = this; \n if (typeof fn !== \"function\")\n throw new TypeError(fn + \" is not a function\");\n\n var C = getSpecies(this);\n\n return new C(function(observer) { return __this.subscribe({\n next: function(value) {\n if (observer.closed)\n return;\n\n try { value = fn(value) }\n catch (e) { return observer.error(e) }\n\n observer.next(value);\n },\n\n error: function(e) { observer.error(e) },\n complete: function() { observer.complete() },\n }); });\n },\n\n filter: function(fn) { var __this = this; \n if (typeof fn !== \"function\")\n throw new TypeError(fn + \" is not a function\");\n\n var C = getSpecies(this);\n\n return new C(function(observer) { return __this.subscribe({\n next: function(value) {\n if (observer.closed)\n return;\n\n try { if (!fn(value)) return }\n catch (e) { return observer.error(e) }\n\n observer.next(value);\n },\n\n error: function(e) { observer.error(e) },\n complete: function() { observer.complete() },\n }); });\n },\n\n reduce: function(fn) { var __this = this; \n if (typeof fn !== \"function\")\n throw new TypeError(fn + \" is not a function\");\n\n var C = getSpecies(this);\n var hasSeed = arguments.length > 1;\n var hasValue = false;\n var seed = arguments[1];\n var acc = seed;\n\n return new C(function(observer) { return __this.subscribe({\n\n next: function(value) {\n if (observer.closed)\n return;\n\n var first = !hasValue;\n hasValue = true;\n\n if (!first || hasSeed) {\n try { acc = fn(acc, value) }\n catch (e) { return observer.error(e) }\n } else {\n acc = value;\n }\n },\n\n error: function(e) { observer.error(e) },\n\n complete: function() {\n if (!hasValue && !hasSeed) {\n return observer.error(new TypeError(\"Cannot reduce an empty sequence\"));\n }\n\n observer.next(acc);\n observer.complete();\n },\n\n }); });\n },\n\n});\n\nObject.defineProperty(Observable.prototype, getSymbol(\"observable\"), {\n value: function() { return this },\n writable: true,\n configurable: true,\n});\n\naddMethods(Observable, {\n\n from: function(x) {\n var C = typeof this === \"function\" ? this : Observable;\n\n if (x == null)\n throw new TypeError(x + \" is not an object\");\n\n var method = getMethod(x, getSymbol(\"observable\"));\n\n if (method) {\n var observable$0 = method.call(x);\n\n if (Object(observable$0) !== observable$0)\n throw new TypeError(observable$0 + \" is not an object\");\n\n if (observable$0.constructor === C)\n return observable$0;\n\n return new C(function(observer) { return observable$0.subscribe(observer); });\n }\n\n if (hasSymbol(\"iterator\") && (method = getMethod(x, getSymbol(\"iterator\")))) {\n return new C(function(observer) {\n for (var __$0 = (method.call(x))[Symbol.iterator](), __$1; __$1 = __$0.next(), !__$1.done;) { var item$0 = __$1.value; \n observer.next(item$0);\n if (observer.closed)\n return;\n }\n\n observer.complete();\n });\n }\n\n if (Array.isArray(x)) {\n return new C(function(observer) {\n for (var i$0 = 0; i$0 < x.length; ++i$0) {\n observer.next(x[i$0]);\n if (observer.closed)\n return;\n }\n\n observer.complete();\n });\n }\n\n throw new TypeError(x + \" is not observable\");\n },\n\n of: function() { for (var items = [], __$0 = 0; __$0 < arguments.length; ++__$0) items.push(arguments[__$0]); \n var C = typeof this === \"function\" ? this : Observable;\n\n return new C(function(observer) {\n for (var i$1 = 0; i$1 < items.length; ++i$1) {\n observer.next(items[i$1]);\n if (observer.closed)\n return;\n }\n\n observer.complete();\n });\n },\n\n});\n\nObject.defineProperty(Observable, getSymbol(\"species\"), {\n get: function() { return this },\n configurable: true,\n});\n\nObject.defineProperty(Observable, \"extensions\", {\n value: {\n observableSymbol: getSymbol(\"observable\"),\n setHostReportError: function(fn) { hostReportError = fn },\n },\n});\n\nexports.Observable = Observable;\n\n\n}, \"*\");","module.exports = function(originalModule) {\n\tif (!originalModule.webpackPolyfill) {\n\t\tvar module = Object.create(originalModule);\n\t\t// module.parent = undefined by default\n\t\tif (!module.children) module.children = [];\n\t\tObject.defineProperty(module, \"loaded\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.l;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"id\", {\n\t\t\tenumerable: true,\n\t\t\tget: function() {\n\t\t\t\treturn module.i;\n\t\t\t}\n\t\t});\n\t\tObject.defineProperty(module, \"exports\", {\n\t\t\tenumerable: true\n\t\t});\n\t\tmodule.webpackPolyfill = 1;\n\t}\n\treturn module;\n};\n","if (!window.fetch) window.fetch = require('.').default || require('.');\n","// Expose `IntlPolyfill` as global to add locale data into runtime later on.\nglobal.IntlPolyfill = require('./lib/core.js');\n\n// Require all locale data for `Intl`. This module will be\n// ignored when bundling for the browser with Browserify/Webpack.\nrequire('./locale-data/complete.js');\n\n// hack to export the polyfill as global Intl if needed\nif (!global.Intl) {\n global.Intl = global.IntlPolyfill;\n global.IntlPolyfill.__applyLocaleSensitivePrototypes();\n}\n\n// providing an idiomatic api for the nodejs version of this module\nmodule.exports = global.IntlPolyfill;\n","'use strict';\n\nvar _typeof = typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\" ? function (obj) {\n return typeof obj;\n} : function (obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol ? \"symbol\" : typeof obj;\n};\n\nvar jsx = function () {\n var REACT_ELEMENT_TYPE = typeof Symbol === \"function\" && Symbol.for && Symbol.for(\"react.element\") || 0xeac7;\n return function createRawReactElement(type, props, key, children) {\n var defaultProps = type && type.defaultProps;\n var childrenLength = arguments.length - 3;\n\n if (!props && childrenLength !== 0) {\n props = {};\n }\n\n if (props && defaultProps) {\n for (var propName in defaultProps) {\n if (props[propName] === void 0) {\n props[propName] = defaultProps[propName];\n }\n }\n } else if (!props) {\n props = defaultProps || {};\n }\n\n if (childrenLength === 1) {\n props.children = children;\n } else if (childrenLength > 1) {\n var childArray = Array(childrenLength);\n\n for (var i = 0; i < childrenLength; i++) {\n childArray[i] = arguments[i + 3];\n }\n\n props.children = childArray;\n }\n\n return {\n $$typeof: REACT_ELEMENT_TYPE,\n type: type,\n key: key === undefined ? null : '' + key,\n ref: null,\n props: props,\n _owner: null\n };\n };\n}();\n\nvar asyncToGenerator = function (fn) {\n return function () {\n var gen = fn.apply(this, arguments);\n return new Promise(function (resolve, reject) {\n function step(key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n return Promise.resolve(value).then(function (value) {\n return step(\"next\", value);\n }, function (err) {\n return step(\"throw\", err);\n });\n }\n }\n\n return step(\"next\");\n });\n };\n};\n\nvar classCallCheck = function (instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n};\n\nvar createClass = function () {\n function defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n }\n\n return function (Constructor, protoProps, staticProps) {\n if (protoProps) defineProperties(Constructor.prototype, protoProps);\n if (staticProps) defineProperties(Constructor, staticProps);\n return Constructor;\n };\n}();\n\nvar defineEnumerableProperties = function (obj, descs) {\n for (var key in descs) {\n var desc = descs[key];\n desc.configurable = desc.enumerable = true;\n if (\"value\" in desc) desc.writable = true;\n Object.defineProperty(obj, key, desc);\n }\n\n return obj;\n};\n\nvar defaults = function (obj, defaults) {\n var keys = Object.getOwnPropertyNames(defaults);\n\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n var value = Object.getOwnPropertyDescriptor(defaults, key);\n\n if (value && value.configurable && obj[key] === undefined) {\n Object.defineProperty(obj, key, value);\n }\n }\n\n return obj;\n};\n\nvar defineProperty$1 = function (obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n};\n\nvar _extends = Object.assign || function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n};\n\nvar get = function get(object, property, receiver) {\n if (object === null) object = Function.prototype;\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent === null) {\n return undefined;\n } else {\n return get(parent, property, receiver);\n }\n } else if (\"value\" in desc) {\n return desc.value;\n } else {\n var getter = desc.get;\n\n if (getter === undefined) {\n return undefined;\n }\n\n return getter.call(receiver);\n }\n};\n\nvar inherits = function (subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass);\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass;\n};\n\nvar _instanceof = function (left, right) {\n if (right != null && typeof Symbol !== \"undefined\" && right[Symbol.hasInstance]) {\n return right[Symbol.hasInstance](left);\n } else {\n return left instanceof right;\n }\n};\n\nvar interopRequireDefault = function (obj) {\n return obj && obj.__esModule ? obj : {\n default: obj\n };\n};\n\nvar interopRequireWildcard = function (obj) {\n if (obj && obj.__esModule) {\n return obj;\n } else {\n var newObj = {};\n\n if (obj != null) {\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) newObj[key] = obj[key];\n }\n }\n\n newObj.default = obj;\n return newObj;\n }\n};\n\nvar newArrowCheck = function (innerThis, boundThis) {\n if (innerThis !== boundThis) {\n throw new TypeError(\"Cannot instantiate an arrow function\");\n }\n};\n\nvar objectDestructuringEmpty = function (obj) {\n if (obj == null) throw new TypeError(\"Cannot destructure undefined\");\n};\n\nvar objectWithoutProperties = function (obj, keys) {\n var target = {};\n\n for (var i in obj) {\n if (keys.indexOf(i) >= 0) continue;\n if (!Object.prototype.hasOwnProperty.call(obj, i)) continue;\n target[i] = obj[i];\n }\n\n return target;\n};\n\nvar possibleConstructorReturn = function (self, call) {\n if (!self) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self;\n};\n\nvar selfGlobal = typeof global === \"undefined\" ? self : global;\n\nvar set = function set(object, property, value, receiver) {\n var desc = Object.getOwnPropertyDescriptor(object, property);\n\n if (desc === undefined) {\n var parent = Object.getPrototypeOf(object);\n\n if (parent !== null) {\n set(parent, property, value, receiver);\n }\n } else if (\"value\" in desc && desc.writable) {\n desc.value = value;\n } else {\n var setter = desc.set;\n\n if (setter !== undefined) {\n setter.call(receiver, value);\n }\n }\n\n return value;\n};\n\nvar slicedToArray = function () {\n function sliceIterator(arr, i) {\n var _arr = [];\n var _n = true;\n var _d = false;\n var _e = undefined;\n\n try {\n for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) {\n _arr.push(_s.value);\n\n if (i && _arr.length === i) break;\n }\n } catch (err) {\n _d = true;\n _e = err;\n } finally {\n try {\n if (!_n && _i[\"return\"]) _i[\"return\"]();\n } finally {\n if (_d) throw _e;\n }\n }\n\n return _arr;\n }\n\n return function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n return sliceIterator(arr, i);\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n };\n}();\n\nvar slicedToArrayLoose = function (arr, i) {\n if (Array.isArray(arr)) {\n return arr;\n } else if (Symbol.iterator in Object(arr)) {\n var _arr = [];\n\n for (var _iterator = arr[Symbol.iterator](), _step; !(_step = _iterator.next()).done;) {\n _arr.push(_step.value);\n\n if (i && _arr.length === i) break;\n }\n\n return _arr;\n } else {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance\");\n }\n};\n\nvar taggedTemplateLiteral = function (strings, raw) {\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n};\n\nvar taggedTemplateLiteralLoose = function (strings, raw) {\n strings.raw = raw;\n return strings;\n};\n\nvar temporalRef = function (val, name, undef) {\n if (val === undef) {\n throw new ReferenceError(name + \" is not defined - temporal dead zone\");\n } else {\n return val;\n }\n};\n\nvar temporalUndefined = {};\n\nvar toArray = function (arr) {\n return Array.isArray(arr) ? arr : Array.from(arr);\n};\n\nvar toConsumableArray = function (arr) {\n if (Array.isArray(arr)) {\n for (var i = 0, arr2 = Array(arr.length); i < arr.length; i++) arr2[i] = arr[i];\n\n return arr2;\n } else {\n return Array.from(arr);\n }\n};\n\n\n\nvar babelHelpers$1 = Object.freeze({\n jsx: jsx,\n asyncToGenerator: asyncToGenerator,\n classCallCheck: classCallCheck,\n createClass: createClass,\n defineEnumerableProperties: defineEnumerableProperties,\n defaults: defaults,\n defineProperty: defineProperty$1,\n get: get,\n inherits: inherits,\n interopRequireDefault: interopRequireDefault,\n interopRequireWildcard: interopRequireWildcard,\n newArrowCheck: newArrowCheck,\n objectDestructuringEmpty: objectDestructuringEmpty,\n objectWithoutProperties: objectWithoutProperties,\n possibleConstructorReturn: possibleConstructorReturn,\n selfGlobal: selfGlobal,\n set: set,\n slicedToArray: slicedToArray,\n slicedToArrayLoose: slicedToArrayLoose,\n taggedTemplateLiteral: taggedTemplateLiteral,\n taggedTemplateLiteralLoose: taggedTemplateLiteralLoose,\n temporalRef: temporalRef,\n temporalUndefined: temporalUndefined,\n toArray: toArray,\n toConsumableArray: toConsumableArray,\n typeof: _typeof,\n extends: _extends,\n instanceof: _instanceof\n});\n\nvar realDefineProp = function () {\n var sentinel = function sentinel() {};\n try {\n Object.defineProperty(sentinel, 'a', {\n get: function get() {\n return 1;\n }\n });\n Object.defineProperty(sentinel, 'prototype', { writable: false });\n return sentinel.a === 1 && sentinel.prototype instanceof Object;\n } catch (e) {\n return false;\n }\n}();\n\n// Need a workaround for getters in ES3\nvar es3 = !realDefineProp && !Object.prototype.__defineGetter__;\n\n// We use this a lot (and need it for proto-less objects)\nvar hop = Object.prototype.hasOwnProperty;\n\n// Naive defineProperty for compatibility\nvar defineProperty = realDefineProp ? Object.defineProperty : function (obj, name, desc) {\n if ('get' in desc && obj.__defineGetter__) obj.__defineGetter__(name, desc.get);else if (!hop.call(obj, name) || 'value' in desc) obj[name] = desc.value;\n};\n\n// Array.prototype.indexOf, as good as we need it to be\nvar arrIndexOf = Array.prototype.indexOf || function (search) {\n /*jshint validthis:true */\n var t = this;\n if (!t.length) return -1;\n\n for (var i = arguments[1] || 0, max = t.length; i < max; i++) {\n if (t[i] === search) return i;\n }\n\n return -1;\n};\n\n// Create an object with the specified prototype (2nd arg required for Record)\nvar objCreate = Object.create || function (proto, props) {\n var obj = void 0;\n\n function F() {}\n F.prototype = proto;\n obj = new F();\n\n for (var k in props) {\n if (hop.call(props, k)) defineProperty(obj, k, props[k]);\n }\n\n return obj;\n};\n\n// Snapshot some (hopefully still) native built-ins\nvar arrSlice = Array.prototype.slice;\nvar arrConcat = Array.prototype.concat;\nvar arrPush = Array.prototype.push;\nvar arrJoin = Array.prototype.join;\nvar arrShift = Array.prototype.shift;\n\n// Naive Function.prototype.bind for compatibility\nvar fnBind = Function.prototype.bind || function (thisObj) {\n var fn = this,\n args = arrSlice.call(arguments, 1);\n\n // All our (presently) bound functions have either 1 or 0 arguments. By returning\n // different function signatures, we can pass some tests in ES3 environments\n if (fn.length === 1) {\n return function () {\n return fn.apply(thisObj, arrConcat.call(args, arrSlice.call(arguments)));\n };\n }\n return function () {\n return fn.apply(thisObj, arrConcat.call(args, arrSlice.call(arguments)));\n };\n};\n\n// Object housing internal properties for constructors\nvar internals = objCreate(null);\n\n// Keep internal properties internal\nvar secret = Math.random();\n\n// Helper functions\n// ================\n\n/**\n * A function to deal with the inaccuracy of calculating log10 in pre-ES6\n * JavaScript environments. Math.log(num) / Math.LN10 was responsible for\n * causing issue #62.\n */\nfunction log10Floor(n) {\n // ES6 provides the more accurate Math.log10\n if (typeof Math.log10 === 'function') return Math.floor(Math.log10(n));\n\n var x = Math.round(Math.log(n) * Math.LOG10E);\n return x - (Number('1e' + x) > n);\n}\n\n/**\n * A map that doesn't contain Object in its prototype chain\n */\nfunction Record(obj) {\n // Copy only own properties over unless this object is already a Record instance\n for (var k in obj) {\n if (obj instanceof Record || hop.call(obj, k)) defineProperty(this, k, { value: obj[k], enumerable: true, writable: true, configurable: true });\n }\n}\nRecord.prototype = objCreate(null);\n\n/**\n * An ordered list\n */\nfunction List() {\n defineProperty(this, 'length', { writable: true, value: 0 });\n\n if (arguments.length) arrPush.apply(this, arrSlice.call(arguments));\n}\nList.prototype = objCreate(null);\n\n/**\n * Constructs a regular expression to restore tainted RegExp properties\n */\nfunction createRegExpRestore() {\n if (internals.disableRegExpRestore) {\n return function () {/* no-op */};\n }\n\n var regExpCache = {\n lastMatch: RegExp.lastMatch || '',\n leftContext: RegExp.leftContext,\n multiline: RegExp.multiline,\n input: RegExp.input\n },\n has = false;\n\n // Create a snapshot of all the 'captured' properties\n for (var i = 1; i <= 9; i++) {\n has = (regExpCache['$' + i] = RegExp['$' + i]) || has;\n }return function () {\n // Now we've snapshotted some properties, escape the lastMatch string\n var esc = /[.?*+^$[\\]\\\\(){}|-]/g,\n lm = regExpCache.lastMatch.replace(esc, '\\\\$&'),\n reg = new List();\n\n // If any of the captured strings were non-empty, iterate over them all\n if (has) {\n for (var _i = 1; _i <= 9; _i++) {\n var m = regExpCache['$' + _i];\n\n // If it's empty, add an empty capturing group\n if (!m) lm = '()' + lm;\n\n // Else find the string in lm and escape & wrap it to capture it\n else {\n m = m.replace(esc, '\\\\$&');\n lm = lm.replace(m, '(' + m + ')');\n }\n\n // Push it to the reg and chop lm to make sure further groups come after\n arrPush.call(reg, lm.slice(0, lm.indexOf('(') + 1));\n lm = lm.slice(lm.indexOf('(') + 1);\n }\n }\n\n var exprStr = arrJoin.call(reg, '') + lm;\n\n // Shorten the regex by replacing each part of the expression with a match\n // for a string of that exact length. This is safe for the type of\n // expressions generated above, because the expression matches the whole\n // match string, so we know each group and each segment between capturing\n // groups can be matched by its length alone.\n exprStr = exprStr.replace(/(\\\\\\(|\\\\\\)|[^()])+/g, function (match) {\n return '[\\\\s\\\\S]{' + match.replace('\\\\', '').length + '}';\n });\n\n // Create the regular expression that will reconstruct the RegExp properties\n var expr = new RegExp(exprStr, regExpCache.multiline ? 'gm' : 'g');\n\n // Set the lastIndex of the generated expression to ensure that the match\n // is found in the correct index.\n expr.lastIndex = regExpCache.leftContext.length;\n\n expr.exec(regExpCache.input);\n };\n}\n\n/**\n * Mimics ES5's abstract ToObject() function\n */\nfunction toObject(arg) {\n if (arg === null) throw new TypeError('Cannot convert null or undefined to object');\n\n if ((typeof arg === 'undefined' ? 'undefined' : babelHelpers$1['typeof'](arg)) === 'object') return arg;\n return Object(arg);\n}\n\nfunction toNumber(arg) {\n if (typeof arg === 'number') return arg;\n return Number(arg);\n}\n\nfunction toInteger(arg) {\n var number = toNumber(arg);\n if (isNaN(number)) return 0;\n if (number === +0 || number === -0 || number === +Infinity || number === -Infinity) return number;\n if (number < 0) return Math.floor(Math.abs(number)) * -1;\n return Math.floor(Math.abs(number));\n}\n\nfunction toLength(arg) {\n var len = toInteger(arg);\n if (len <= 0) return 0;\n if (len === Infinity) return Math.pow(2, 53) - 1;\n return Math.min(len, Math.pow(2, 53) - 1);\n}\n\n/**\n * Returns \"internal\" properties for an object\n */\nfunction getInternalProperties(obj) {\n if (hop.call(obj, '__getInternalProperties')) return obj.__getInternalProperties(secret);\n\n return objCreate(null);\n}\n\n/**\n* Defines regular expressions for various operations related to the BCP 47 syntax,\n* as defined at http://tools.ietf.org/html/bcp47#section-2.1\n*/\n\n// extlang = 3ALPHA ; selected ISO 639 codes\n// *2(\"-\" 3ALPHA) ; permanently reserved\nvar extlang = '[a-z]{3}(?:-[a-z]{3}){0,2}';\n\n// language = 2*3ALPHA ; shortest ISO 639 code\n// [\"-\" extlang] ; sometimes followed by\n// ; extended language subtags\n// / 4ALPHA ; or reserved for future use\n// / 5*8ALPHA ; or registered language subtag\nvar language = '(?:[a-z]{2,3}(?:-' + extlang + ')?|[a-z]{4}|[a-z]{5,8})';\n\n// script = 4ALPHA ; ISO 15924 code\nvar script = '[a-z]{4}';\n\n// region = 2ALPHA ; ISO 3166-1 code\n// / 3DIGIT ; UN M.49 code\nvar region = '(?:[a-z]{2}|\\\\d{3})';\n\n// variant = 5*8alphanum ; registered variants\n// / (DIGIT 3alphanum)\nvar variant = '(?:[a-z0-9]{5,8}|\\\\d[a-z0-9]{3})';\n\n// ; Single alphanumerics\n// ; \"x\" reserved for private use\n// singleton = DIGIT ; 0 - 9\n// / %x41-57 ; A - W\n// / %x59-5A ; Y - Z\n// / %x61-77 ; a - w\n// / %x79-7A ; y - z\nvar singleton = '[0-9a-wy-z]';\n\n// extension = singleton 1*(\"-\" (2*8alphanum))\nvar extension = singleton + '(?:-[a-z0-9]{2,8})+';\n\n// privateuse = \"x\" 1*(\"-\" (1*8alphanum))\nvar privateuse = 'x(?:-[a-z0-9]{1,8})+';\n\n// irregular = \"en-GB-oed\" ; irregular tags do not match\n// / \"i-ami\" ; the 'langtag' production and\n// / \"i-bnn\" ; would not otherwise be\n// / \"i-default\" ; considered 'well-formed'\n// / \"i-enochian\" ; These tags are all valid,\n// / \"i-hak\" ; but most are deprecated\n// / \"i-klingon\" ; in favor of more modern\n// / \"i-lux\" ; subtags or subtag\n// / \"i-mingo\" ; combination\n// / \"i-navajo\"\n// / \"i-pwn\"\n// / \"i-tao\"\n// / \"i-tay\"\n// / \"i-tsu\"\n// / \"sgn-BE-FR\"\n// / \"sgn-BE-NL\"\n// / \"sgn-CH-DE\"\nvar irregular = '(?:en-GB-oed' + '|i-(?:ami|bnn|default|enochian|hak|klingon|lux|mingo|navajo|pwn|tao|tay|tsu)' + '|sgn-(?:BE-FR|BE-NL|CH-DE))';\n\n// regular = \"art-lojban\" ; these tags match the 'langtag'\n// / \"cel-gaulish\" ; production, but their subtags\n// / \"no-bok\" ; are not extended language\n// / \"no-nyn\" ; or variant subtags: their meaning\n// / \"zh-guoyu\" ; is defined by their registration\n// / \"zh-hakka\" ; and all of these are deprecated\n// / \"zh-min\" ; in favor of a more modern\n// / \"zh-min-nan\" ; subtag or sequence of subtags\n// / \"zh-xiang\"\nvar regular = '(?:art-lojban|cel-gaulish|no-bok|no-nyn' + '|zh-(?:guoyu|hakka|min|min-nan|xiang))';\n\n// grandfathered = irregular ; non-redundant tags registered\n// / regular ; during the RFC 3066 era\nvar grandfathered = '(?:' + irregular + '|' + regular + ')';\n\n// langtag = language\n// [\"-\" script]\n// [\"-\" region]\n// *(\"-\" variant)\n// *(\"-\" extension)\n// [\"-\" privateuse]\nvar langtag = language + '(?:-' + script + ')?(?:-' + region + ')?(?:-' + variant + ')*(?:-' + extension + ')*(?:-' + privateuse + ')?';\n\n// Language-Tag = langtag ; normal language tags\n// / privateuse ; private use tag\n// / grandfathered ; grandfathered tags\nvar expBCP47Syntax = RegExp('^(?:' + langtag + '|' + privateuse + '|' + grandfathered + ')$', 'i');\n\n// Match duplicate variants in a language tag\nvar expVariantDupes = RegExp('^(?!x).*?-(' + variant + ')-(?:\\\\w{4,8}-(?!x-))*\\\\1\\\\b', 'i');\n\n// Match duplicate singletons in a language tag (except in private use)\nvar expSingletonDupes = RegExp('^(?!x).*?-(' + singleton + ')-(?:\\\\w+-(?!x-))*\\\\1\\\\b', 'i');\n\n// Match all extension sequences\nvar expExtSequences = RegExp('-' + extension, 'ig');\n\n// Default locale is the first-added locale data for us\nvar defaultLocale = void 0;\nfunction setDefaultLocale(locale) {\n defaultLocale = locale;\n}\n\n// IANA Subtag Registry redundant tag and subtag maps\nvar redundantTags = {\n tags: {\n \"art-lojban\": \"jbo\",\n \"i-ami\": \"ami\",\n \"i-bnn\": \"bnn\",\n \"i-hak\": \"hak\",\n \"i-klingon\": \"tlh\",\n \"i-lux\": \"lb\",\n \"i-navajo\": \"nv\",\n \"i-pwn\": \"pwn\",\n \"i-tao\": \"tao\",\n \"i-tay\": \"tay\",\n \"i-tsu\": \"tsu\",\n \"no-bok\": \"nb\",\n \"no-nyn\": \"nn\",\n \"sgn-BE-FR\": \"sfb\",\n \"sgn-BE-NL\": \"vgt\",\n \"sgn-CH-DE\": \"sgg\",\n \"zh-guoyu\": \"cmn\",\n \"zh-hakka\": \"hak\",\n \"zh-min-nan\": \"nan\",\n \"zh-xiang\": \"hsn\",\n \"sgn-BR\": \"bzs\",\n \"sgn-CO\": \"csn\",\n \"sgn-DE\": \"gsg\",\n \"sgn-DK\": \"dsl\",\n \"sgn-ES\": \"ssp\",\n \"sgn-FR\": \"fsl\",\n \"sgn-GB\": \"bfi\",\n \"sgn-GR\": \"gss\",\n \"sgn-IE\": \"isg\",\n \"sgn-IT\": \"ise\",\n \"sgn-JP\": \"jsl\",\n \"sgn-MX\": \"mfs\",\n \"sgn-NI\": \"ncs\",\n \"sgn-NL\": \"dse\",\n \"sgn-NO\": \"nsl\",\n \"sgn-PT\": \"psr\",\n \"sgn-SE\": \"swl\",\n \"sgn-US\": \"ase\",\n \"sgn-ZA\": \"sfs\",\n \"zh-cmn\": \"cmn\",\n \"zh-cmn-Hans\": \"cmn-Hans\",\n \"zh-cmn-Hant\": \"cmn-Hant\",\n \"zh-gan\": \"gan\",\n \"zh-wuu\": \"wuu\",\n \"zh-yue\": \"yue\"\n },\n subtags: {\n BU: \"MM\",\n DD: \"DE\",\n FX: \"FR\",\n TP: \"TL\",\n YD: \"YE\",\n ZR: \"CD\",\n heploc: \"alalc97\",\n 'in': \"id\",\n iw: \"he\",\n ji: \"yi\",\n jw: \"jv\",\n mo: \"ro\",\n ayx: \"nun\",\n bjd: \"drl\",\n ccq: \"rki\",\n cjr: \"mom\",\n cka: \"cmr\",\n cmk: \"xch\",\n drh: \"khk\",\n drw: \"prs\",\n gav: \"dev\",\n hrr: \"jal\",\n ibi: \"opa\",\n kgh: \"kml\",\n lcq: \"ppr\",\n mst: \"mry\",\n myt: \"mry\",\n sca: \"hle\",\n tie: \"ras\",\n tkk: \"twm\",\n tlw: \"weo\",\n tnf: \"prs\",\n ybd: \"rki\",\n yma: \"lrr\"\n },\n extLang: {\n aao: [\"aao\", \"ar\"],\n abh: [\"abh\", \"ar\"],\n abv: [\"abv\", \"ar\"],\n acm: [\"acm\", \"ar\"],\n acq: [\"acq\", \"ar\"],\n acw: [\"acw\", \"ar\"],\n acx: [\"acx\", \"ar\"],\n acy: [\"acy\", \"ar\"],\n adf: [\"adf\", \"ar\"],\n ads: [\"ads\", \"sgn\"],\n aeb: [\"aeb\", \"ar\"],\n aec: [\"aec\", \"ar\"],\n aed: [\"aed\", \"sgn\"],\n aen: [\"aen\", \"sgn\"],\n afb: [\"afb\", \"ar\"],\n afg: [\"afg\", \"sgn\"],\n ajp: [\"ajp\", \"ar\"],\n apc: [\"apc\", \"ar\"],\n apd: [\"apd\", \"ar\"],\n arb: [\"arb\", \"ar\"],\n arq: [\"arq\", \"ar\"],\n ars: [\"ars\", \"ar\"],\n ary: [\"ary\", \"ar\"],\n arz: [\"arz\", \"ar\"],\n ase: [\"ase\", \"sgn\"],\n asf: [\"asf\", \"sgn\"],\n asp: [\"asp\", \"sgn\"],\n asq: [\"asq\", \"sgn\"],\n asw: [\"asw\", \"sgn\"],\n auz: [\"auz\", \"ar\"],\n avl: [\"avl\", \"ar\"],\n ayh: [\"ayh\", \"ar\"],\n ayl: [\"ayl\", \"ar\"],\n ayn: [\"ayn\", \"ar\"],\n ayp: [\"ayp\", \"ar\"],\n bbz: [\"bbz\", \"ar\"],\n bfi: [\"bfi\", \"sgn\"],\n bfk: [\"bfk\", \"sgn\"],\n bjn: [\"bjn\", \"ms\"],\n bog: [\"bog\", \"sgn\"],\n bqn: [\"bqn\", \"sgn\"],\n bqy: [\"bqy\", \"sgn\"],\n btj: [\"btj\", \"ms\"],\n bve: [\"bve\", \"ms\"],\n bvl: [\"bvl\", \"sgn\"],\n bvu: [\"bvu\", \"ms\"],\n bzs: [\"bzs\", \"sgn\"],\n cdo: [\"cdo\", \"zh\"],\n cds: [\"cds\", \"sgn\"],\n cjy: [\"cjy\", \"zh\"],\n cmn: [\"cmn\", \"zh\"],\n coa: [\"coa\", \"ms\"],\n cpx: [\"cpx\", \"zh\"],\n csc: [\"csc\", \"sgn\"],\n csd: [\"csd\", \"sgn\"],\n cse: [\"cse\", \"sgn\"],\n csf: [\"csf\", \"sgn\"],\n csg: [\"csg\", \"sgn\"],\n csl: [\"csl\", \"sgn\"],\n csn: [\"csn\", \"sgn\"],\n csq: [\"csq\", \"sgn\"],\n csr: [\"csr\", \"sgn\"],\n czh: [\"czh\", \"zh\"],\n czo: [\"czo\", \"zh\"],\n doq: [\"doq\", \"sgn\"],\n dse: [\"dse\", \"sgn\"],\n dsl: [\"dsl\", \"sgn\"],\n dup: [\"dup\", \"ms\"],\n ecs: [\"ecs\", \"sgn\"],\n esl: [\"esl\", \"sgn\"],\n esn: [\"esn\", \"sgn\"],\n eso: [\"eso\", \"sgn\"],\n eth: [\"eth\", \"sgn\"],\n fcs: [\"fcs\", \"sgn\"],\n fse: [\"fse\", \"sgn\"],\n fsl: [\"fsl\", \"sgn\"],\n fss: [\"fss\", \"sgn\"],\n gan: [\"gan\", \"zh\"],\n gds: [\"gds\", \"sgn\"],\n gom: [\"gom\", \"kok\"],\n gse: [\"gse\", \"sgn\"],\n gsg: [\"gsg\", \"sgn\"],\n gsm: [\"gsm\", \"sgn\"],\n gss: [\"gss\", \"sgn\"],\n gus: [\"gus\", \"sgn\"],\n hab: [\"hab\", \"sgn\"],\n haf: [\"haf\", \"sgn\"],\n hak: [\"hak\", \"zh\"],\n hds: [\"hds\", \"sgn\"],\n hji: [\"hji\", \"ms\"],\n hks: [\"hks\", \"sgn\"],\n hos: [\"hos\", \"sgn\"],\n hps: [\"hps\", \"sgn\"],\n hsh: [\"hsh\", \"sgn\"],\n hsl: [\"hsl\", \"sgn\"],\n hsn: [\"hsn\", \"zh\"],\n icl: [\"icl\", \"sgn\"],\n ils: [\"ils\", \"sgn\"],\n inl: [\"inl\", \"sgn\"],\n ins: [\"ins\", \"sgn\"],\n ise: [\"ise\", \"sgn\"],\n isg: [\"isg\", \"sgn\"],\n isr: [\"isr\", \"sgn\"],\n jak: [\"jak\", \"ms\"],\n jax: [\"jax\", \"ms\"],\n jcs: [\"jcs\", \"sgn\"],\n jhs: [\"jhs\", \"sgn\"],\n jls: [\"jls\", \"sgn\"],\n jos: [\"jos\", \"sgn\"],\n jsl: [\"jsl\", \"sgn\"],\n jus: [\"jus\", \"sgn\"],\n kgi: [\"kgi\", \"sgn\"],\n knn: [\"knn\", \"kok\"],\n kvb: [\"kvb\", \"ms\"],\n kvk: [\"kvk\", \"sgn\"],\n kvr: [\"kvr\", \"ms\"],\n kxd: [\"kxd\", \"ms\"],\n lbs: [\"lbs\", \"sgn\"],\n lce: [\"lce\", \"ms\"],\n lcf: [\"lcf\", \"ms\"],\n liw: [\"liw\", \"ms\"],\n lls: [\"lls\", \"sgn\"],\n lsg: [\"lsg\", \"sgn\"],\n lsl: [\"lsl\", \"sgn\"],\n lso: [\"lso\", \"sgn\"],\n lsp: [\"lsp\", \"sgn\"],\n lst: [\"lst\", \"sgn\"],\n lsy: [\"lsy\", \"sgn\"],\n ltg: [\"ltg\", \"lv\"],\n lvs: [\"lvs\", \"lv\"],\n lzh: [\"lzh\", \"zh\"],\n max: [\"max\", \"ms\"],\n mdl: [\"mdl\", \"sgn\"],\n meo: [\"meo\", \"ms\"],\n mfa: [\"mfa\", \"ms\"],\n mfb: [\"mfb\", \"ms\"],\n mfs: [\"mfs\", \"sgn\"],\n min: [\"min\", \"ms\"],\n mnp: [\"mnp\", \"zh\"],\n mqg: [\"mqg\", \"ms\"],\n mre: [\"mre\", \"sgn\"],\n msd: [\"msd\", \"sgn\"],\n msi: [\"msi\", \"ms\"],\n msr: [\"msr\", \"sgn\"],\n mui: [\"mui\", \"ms\"],\n mzc: [\"mzc\", \"sgn\"],\n mzg: [\"mzg\", \"sgn\"],\n mzy: [\"mzy\", \"sgn\"],\n nan: [\"nan\", \"zh\"],\n nbs: [\"nbs\", \"sgn\"],\n ncs: [\"ncs\", \"sgn\"],\n nsi: [\"nsi\", \"sgn\"],\n nsl: [\"nsl\", \"sgn\"],\n nsp: [\"nsp\", \"sgn\"],\n nsr: [\"nsr\", \"sgn\"],\n nzs: [\"nzs\", \"sgn\"],\n okl: [\"okl\", \"sgn\"],\n orn: [\"orn\", \"ms\"],\n ors: [\"ors\", \"ms\"],\n pel: [\"pel\", \"ms\"],\n pga: [\"pga\", \"ar\"],\n pks: [\"pks\", \"sgn\"],\n prl: [\"prl\", \"sgn\"],\n prz: [\"prz\", \"sgn\"],\n psc: [\"psc\", \"sgn\"],\n psd: [\"psd\", \"sgn\"],\n pse: [\"pse\", \"ms\"],\n psg: [\"psg\", \"sgn\"],\n psl: [\"psl\", \"sgn\"],\n pso: [\"pso\", \"sgn\"],\n psp: [\"psp\", \"sgn\"],\n psr: [\"psr\", \"sgn\"],\n pys: [\"pys\", \"sgn\"],\n rms: [\"rms\", \"sgn\"],\n rsi: [\"rsi\", \"sgn\"],\n rsl: [\"rsl\", \"sgn\"],\n sdl: [\"sdl\", \"sgn\"],\n sfb: [\"sfb\", \"sgn\"],\n sfs: [\"sfs\", \"sgn\"],\n sgg: [\"sgg\", \"sgn\"],\n sgx: [\"sgx\", \"sgn\"],\n shu: [\"shu\", \"ar\"],\n slf: [\"slf\", \"sgn\"],\n sls: [\"sls\", \"sgn\"],\n sqk: [\"sqk\", \"sgn\"],\n sqs: [\"sqs\", \"sgn\"],\n ssh: [\"ssh\", \"ar\"],\n ssp: [\"ssp\", \"sgn\"],\n ssr: [\"ssr\", \"sgn\"],\n svk: [\"svk\", \"sgn\"],\n swc: [\"swc\", \"sw\"],\n swh: [\"swh\", \"sw\"],\n swl: [\"swl\", \"sgn\"],\n syy: [\"syy\", \"sgn\"],\n tmw: [\"tmw\", \"ms\"],\n tse: [\"tse\", \"sgn\"],\n tsm: [\"tsm\", \"sgn\"],\n tsq: [\"tsq\", \"sgn\"],\n tss: [\"tss\", \"sgn\"],\n tsy: [\"tsy\", \"sgn\"],\n tza: [\"tza\", \"sgn\"],\n ugn: [\"ugn\", \"sgn\"],\n ugy: [\"ugy\", \"sgn\"],\n ukl: [\"ukl\", \"sgn\"],\n uks: [\"uks\", \"sgn\"],\n urk: [\"urk\", \"ms\"],\n uzn: [\"uzn\", \"uz\"],\n uzs: [\"uzs\", \"uz\"],\n vgt: [\"vgt\", \"sgn\"],\n vkk: [\"vkk\", \"ms\"],\n vkt: [\"vkt\", \"ms\"],\n vsi: [\"vsi\", \"sgn\"],\n vsl: [\"vsl\", \"sgn\"],\n vsv: [\"vsv\", \"sgn\"],\n wuu: [\"wuu\", \"zh\"],\n xki: [\"xki\", \"sgn\"],\n xml: [\"xml\", \"sgn\"],\n xmm: [\"xmm\", \"ms\"],\n xms: [\"xms\", \"sgn\"],\n yds: [\"yds\", \"sgn\"],\n ysl: [\"ysl\", \"sgn\"],\n yue: [\"yue\", \"zh\"],\n zib: [\"zib\", \"sgn\"],\n zlm: [\"zlm\", \"ms\"],\n zmi: [\"zmi\", \"ms\"],\n zsl: [\"zsl\", \"sgn\"],\n zsm: [\"zsm\", \"ms\"]\n }\n};\n\n/**\n * Convert only a-z to uppercase as per section 6.1 of the spec\n */\nfunction toLatinUpperCase(str) {\n var i = str.length;\n\n while (i--) {\n var ch = str.charAt(i);\n\n if (ch >= \"a\" && ch <= \"z\") str = str.slice(0, i) + ch.toUpperCase() + str.slice(i + 1);\n }\n\n return str;\n}\n\n/**\n * The IsStructurallyValidLanguageTag abstract operation verifies that the locale\n * argument (which must be a String value)\n *\n * - represents a well-formed BCP 47 language tag as specified in RFC 5646 section\n * 2.1, or successor,\n * - does not include duplicate variant subtags, and\n * - does not include duplicate singleton subtags.\n *\n * The abstract operation returns true if locale can be generated from the ABNF\n * grammar in section 2.1 of the RFC, starting with Language-Tag, and does not\n * contain duplicate variant or singleton subtags (other than as a private use\n * subtag). It returns false otherwise. Terminal value characters in the grammar are\n * interpreted as the Unicode equivalents of the ASCII octet values given.\n */\nfunction /* 6.2.2 */IsStructurallyValidLanguageTag(locale) {\n // represents a well-formed BCP 47 language tag as specified in RFC 5646\n if (!expBCP47Syntax.test(locale)) return false;\n\n // does not include duplicate variant subtags, and\n if (expVariantDupes.test(locale)) return false;\n\n // does not include duplicate singleton subtags.\n if (expSingletonDupes.test(locale)) return false;\n\n return true;\n}\n\n/**\n * The CanonicalizeLanguageTag abstract operation returns the canonical and case-\n * regularized form of the locale argument (which must be a String value that is\n * a structurally valid BCP 47 language tag as verified by the\n * IsStructurallyValidLanguageTag abstract operation). It takes the steps\n * specified in RFC 5646 section 4.5, or successor, to bring the language tag\n * into canonical form, and to regularize the case of the subtags, but does not\n * take the steps to bring a language tag into “extlang form” and to reorder\n * variant subtags.\n\n * The specifications for extensions to BCP 47 language tags, such as RFC 6067,\n * may include canonicalization rules for the extension subtag sequences they\n * define that go beyond the canonicalization rules of RFC 5646 section 4.5.\n * Implementations are allowed, but not required, to apply these additional rules.\n */\nfunction /* 6.2.3 */CanonicalizeLanguageTag(locale) {\n var match = void 0,\n parts = void 0;\n\n // A language tag is in 'canonical form' when the tag is well-formed\n // according to the rules in Sections 2.1 and 2.2\n\n // Section 2.1 says all subtags use lowercase...\n locale = locale.toLowerCase();\n\n // ...with 2 exceptions: 'two-letter and four-letter subtags that neither\n // appear at the start of the tag nor occur after singletons. Such two-letter\n // subtags are all uppercase (as in the tags \"en-CA-x-ca\" or \"sgn-BE-FR\") and\n // four-letter subtags are titlecase (as in the tag \"az-Latn-x-latn\").\n parts = locale.split('-');\n for (var i = 1, max = parts.length; i < max; i++) {\n // Two-letter subtags are all uppercase\n if (parts[i].length === 2) parts[i] = parts[i].toUpperCase();\n\n // Four-letter subtags are titlecase\n else if (parts[i].length === 4) parts[i] = parts[i].charAt(0).toUpperCase() + parts[i].slice(1);\n\n // Is it a singleton?\n else if (parts[i].length === 1 && parts[i] !== 'x') break;\n }\n locale = arrJoin.call(parts, '-');\n\n // The steps laid out in RFC 5646 section 4.5 are as follows:\n\n // 1. Extension sequences are ordered into case-insensitive ASCII order\n // by singleton subtag.\n if ((match = locale.match(expExtSequences)) && match.length > 1) {\n // The built-in sort() sorts by ASCII order, so use that\n match.sort();\n\n // Replace all extensions with the joined, sorted array\n locale = locale.replace(RegExp('(?:' + expExtSequences.source + ')+', 'i'), arrJoin.call(match, ''));\n }\n\n // 2. Redundant or grandfathered tags are replaced by their 'Preferred-\n // Value', if there is one.\n if (hop.call(redundantTags.tags, locale)) locale = redundantTags.tags[locale];\n\n // 3. Subtags are replaced by their 'Preferred-Value', if there is one.\n // For extlangs, the original primary language subtag is also\n // replaced if there is a primary language subtag in the 'Preferred-\n // Value'.\n parts = locale.split('-');\n\n for (var _i = 1, _max = parts.length; _i < _max; _i++) {\n if (hop.call(redundantTags.subtags, parts[_i])) parts[_i] = redundantTags.subtags[parts[_i]];else if (hop.call(redundantTags.extLang, parts[_i])) {\n parts[_i] = redundantTags.extLang[parts[_i]][0];\n\n // For extlang tags, the prefix needs to be removed if it is redundant\n if (_i === 1 && redundantTags.extLang[parts[1]][1] === parts[0]) {\n parts = arrSlice.call(parts, _i++);\n _max -= 1;\n }\n }\n }\n\n return arrJoin.call(parts, '-');\n}\n\n/**\n * The DefaultLocale abstract operation returns a String value representing the\n * structurally valid (6.2.2) and canonicalized (6.2.3) BCP 47 language tag for the\n * host environment’s current locale.\n */\nfunction /* 6.2.4 */DefaultLocale() {\n return defaultLocale;\n}\n\n// Sect 6.3 Currency Codes\n// =======================\n\nvar expCurrencyCode = /^[A-Z]{3}$/;\n\n/**\n * The IsWellFormedCurrencyCode abstract operation verifies that the currency argument\n * (after conversion to a String value) represents a well-formed 3-letter ISO currency\n * code. The following steps are taken:\n */\nfunction /* 6.3.1 */IsWellFormedCurrencyCode(currency) {\n // 1. Let `c` be ToString(currency)\n var c = String(currency);\n\n // 2. Let `normalized` be the result of mapping c to upper case as described\n // in 6.1.\n var normalized = toLatinUpperCase(c);\n\n // 3. If the string length of normalized is not 3, return false.\n // 4. If normalized contains any character that is not in the range \"A\" to \"Z\"\n // (U+0041 to U+005A), return false.\n if (expCurrencyCode.test(normalized) === false) return false;\n\n // 5. Return true\n return true;\n}\n\nvar expUnicodeExSeq = /-u(?:-[0-9a-z]{2,8})+/gi; // See `extension` below\n\nfunction /* 9.2.1 */CanonicalizeLocaleList(locales) {\n // The abstract operation CanonicalizeLocaleList takes the following steps:\n\n // 1. If locales is undefined, then a. Return a new empty List\n if (locales === undefined) return new List();\n\n // 2. Let seen be a new empty List.\n var seen = new List();\n\n // 3. If locales is a String value, then\n // a. Let locales be a new array created as if by the expression new\n // Array(locales) where Array is the standard built-in constructor with\n // that name and locales is the value of locales.\n locales = typeof locales === 'string' ? [locales] : locales;\n\n // 4. Let O be ToObject(locales).\n var O = toObject(locales);\n\n // 5. Let lenValue be the result of calling the [[Get]] internal method of\n // O with the argument \"length\".\n // 6. Let len be ToUint32(lenValue).\n var len = toLength(O.length);\n\n // 7. Let k be 0.\n var k = 0;\n\n // 8. Repeat, while k < len\n while (k < len) {\n // a. Let Pk be ToString(k).\n var Pk = String(k);\n\n // b. Let kPresent be the result of calling the [[HasProperty]] internal\n // method of O with argument Pk.\n var kPresent = Pk in O;\n\n // c. If kPresent is true, then\n if (kPresent) {\n // i. Let kValue be the result of calling the [[Get]] internal\n // method of O with argument Pk.\n var kValue = O[Pk];\n\n // ii. If the type of kValue is not String or Object, then throw a\n // TypeError exception.\n if (kValue === null || typeof kValue !== 'string' && (typeof kValue === \"undefined\" ? \"undefined\" : babelHelpers$1[\"typeof\"](kValue)) !== 'object') throw new TypeError('String or Object type expected');\n\n // iii. Let tag be ToString(kValue).\n var tag = String(kValue);\n\n // iv. If the result of calling the abstract operation\n // IsStructurallyValidLanguageTag (defined in 6.2.2), passing tag as\n // the argument, is false, then throw a RangeError exception.\n if (!IsStructurallyValidLanguageTag(tag)) throw new RangeError(\"'\" + tag + \"' is not a structurally valid language tag\");\n\n // v. Let tag be the result of calling the abstract operation\n // CanonicalizeLanguageTag (defined in 6.2.3), passing tag as the\n // argument.\n tag = CanonicalizeLanguageTag(tag);\n\n // vi. If tag is not an element of seen, then append tag as the last\n // element of seen.\n if (arrIndexOf.call(seen, tag) === -1) arrPush.call(seen, tag);\n }\n\n // d. Increase k by 1.\n k++;\n }\n\n // 9. Return seen.\n return seen;\n}\n\n/**\n * The BestAvailableLocale abstract operation compares the provided argument\n * locale, which must be a String value with a structurally valid and\n * canonicalized BCP 47 language tag, against the locales in availableLocales and\n * returns either the longest non-empty prefix of locale that is an element of\n * availableLocales, or undefined if there is no such element. It uses the\n * fallback mechanism of RFC 4647, section 3.4. The following steps are taken:\n */\nfunction /* 9.2.2 */BestAvailableLocale(availableLocales, locale) {\n // 1. Let candidate be locale\n var candidate = locale;\n\n // 2. Repeat\n while (candidate) {\n // a. If availableLocales contains an element equal to candidate, then return\n // candidate.\n if (arrIndexOf.call(availableLocales, candidate) > -1) return candidate;\n\n // b. Let pos be the character index of the last occurrence of \"-\"\n // (U+002D) within candidate. If that character does not occur, return\n // undefined.\n var pos = candidate.lastIndexOf('-');\n\n if (pos < 0) return;\n\n // c. If pos ≥ 2 and the character \"-\" occurs at index pos-2 of candidate,\n // then decrease pos by 2.\n if (pos >= 2 && candidate.charAt(pos - 2) === '-') pos -= 2;\n\n // d. Let candidate be the substring of candidate from position 0, inclusive,\n // to position pos, exclusive.\n candidate = candidate.substring(0, pos);\n }\n}\n\n/**\n * The LookupMatcher abstract operation compares requestedLocales, which must be\n * a List as returned by CanonicalizeLocaleList, against the locales in\n * availableLocales and determines the best available language to meet the\n * request. The following steps are taken:\n */\nfunction /* 9.2.3 */LookupMatcher(availableLocales, requestedLocales) {\n // 1. Let i be 0.\n var i = 0;\n\n // 2. Let len be the number of elements in requestedLocales.\n var len = requestedLocales.length;\n\n // 3. Let availableLocale be undefined.\n var availableLocale = void 0;\n\n var locale = void 0,\n noExtensionsLocale = void 0;\n\n // 4. Repeat while i < len and availableLocale is undefined:\n while (i < len && !availableLocale) {\n // a. Let locale be the element of requestedLocales at 0-origined list\n // position i.\n locale = requestedLocales[i];\n\n // b. Let noExtensionsLocale be the String value that is locale with all\n // Unicode locale extension sequences removed.\n noExtensionsLocale = String(locale).replace(expUnicodeExSeq, '');\n\n // c. Let availableLocale be the result of calling the\n // BestAvailableLocale abstract operation (defined in 9.2.2) with\n // arguments availableLocales and noExtensionsLocale.\n availableLocale = BestAvailableLocale(availableLocales, noExtensionsLocale);\n\n // d. Increase i by 1.\n i++;\n }\n\n // 5. Let result be a new Record.\n var result = new Record();\n\n // 6. If availableLocale is not undefined, then\n if (availableLocale !== undefined) {\n // a. Set result.[[locale]] to availableLocale.\n result['[[locale]]'] = availableLocale;\n\n // b. If locale and noExtensionsLocale are not the same String value, then\n if (String(locale) !== String(noExtensionsLocale)) {\n // i. Let extension be the String value consisting of the first\n // substring of locale that is a Unicode locale extension sequence.\n var extension = locale.match(expUnicodeExSeq)[0];\n\n // ii. Let extensionIndex be the character position of the initial\n // \"-\" of the first Unicode locale extension sequence within locale.\n var extensionIndex = locale.indexOf('-u-');\n\n // iii. Set result.[[extension]] to extension.\n result['[[extension]]'] = extension;\n\n // iv. Set result.[[extensionIndex]] to extensionIndex.\n result['[[extensionIndex]]'] = extensionIndex;\n }\n }\n // 7. Else\n else\n // a. Set result.[[locale]] to the value returned by the DefaultLocale abstract\n // operation (defined in 6.2.4).\n result['[[locale]]'] = DefaultLocale();\n\n // 8. Return result\n return result;\n}\n\n/**\n * The BestFitMatcher abstract operation compares requestedLocales, which must be\n * a List as returned by CanonicalizeLocaleList, against the locales in\n * availableLocales and determines the best available language to meet the\n * request. The algorithm is implementation dependent, but should produce results\n * that a typical user of the requested locales would perceive as at least as\n * good as those produced by the LookupMatcher abstract operation. Options\n * specified through Unicode locale extension sequences must be ignored by the\n * algorithm. Information about such subsequences is returned separately.\n * The abstract operation returns a record with a [[locale]] field, whose value\n * is the language tag of the selected locale, which must be an element of\n * availableLocales. If the language tag of the request locale that led to the\n * selected locale contained a Unicode locale extension sequence, then the\n * returned record also contains an [[extension]] field whose value is the first\n * Unicode locale extension sequence, and an [[extensionIndex]] field whose value\n * is the index of the first Unicode locale extension sequence within the request\n * locale language tag.\n */\nfunction /* 9.2.4 */BestFitMatcher(availableLocales, requestedLocales) {\n return LookupMatcher(availableLocales, requestedLocales);\n}\n\n/**\n * The ResolveLocale abstract operation compares a BCP 47 language priority list\n * requestedLocales against the locales in availableLocales and determines the\n * best available language to meet the request. availableLocales and\n * requestedLocales must be provided as List values, options as a Record.\n */\nfunction /* 9.2.5 */ResolveLocale(availableLocales, requestedLocales, options, relevantExtensionKeys, localeData) {\n if (availableLocales.length === 0) {\n throw new ReferenceError('No locale data has been provided for this object yet.');\n }\n\n // The following steps are taken:\n // 1. Let matcher be the value of options.[[localeMatcher]].\n var matcher = options['[[localeMatcher]]'];\n\n var r = void 0;\n\n // 2. If matcher is \"lookup\", then\n if (matcher === 'lookup')\n // a. Let r be the result of calling the LookupMatcher abstract operation\n // (defined in 9.2.3) with arguments availableLocales and\n // requestedLocales.\n r = LookupMatcher(availableLocales, requestedLocales);\n\n // 3. Else\n else\n // a. Let r be the result of calling the BestFitMatcher abstract\n // operation (defined in 9.2.4) with arguments availableLocales and\n // requestedLocales.\n r = BestFitMatcher(availableLocales, requestedLocales);\n\n // 4. Let foundLocale be the value of r.[[locale]].\n var foundLocale = r['[[locale]]'];\n\n var extensionSubtags = void 0,\n extensionSubtagsLength = void 0;\n\n // 5. If r has an [[extension]] field, then\n if (hop.call(r, '[[extension]]')) {\n // a. Let extension be the value of r.[[extension]].\n var extension = r['[[extension]]'];\n // b. Let split be the standard built-in function object defined in ES5,\n // 15.5.4.14.\n var split = String.prototype.split;\n // c. Let extensionSubtags be the result of calling the [[Call]] internal\n // method of split with extension as the this value and an argument\n // list containing the single item \"-\".\n extensionSubtags = split.call(extension, '-');\n // d. Let extensionSubtagsLength be the result of calling the [[Get]]\n // internal method of extensionSubtags with argument \"length\".\n extensionSubtagsLength = extensionSubtags.length;\n }\n\n // 6. Let result be a new Record.\n var result = new Record();\n\n // 7. Set result.[[dataLocale]] to foundLocale.\n result['[[dataLocale]]'] = foundLocale;\n\n // 8. Let supportedExtension be \"-u\".\n var supportedExtension = '-u';\n // 9. Let i be 0.\n var i = 0;\n // 10. Let len be the result of calling the [[Get]] internal method of\n // relevantExtensionKeys with argument \"length\".\n var len = relevantExtensionKeys.length;\n\n // 11 Repeat while i < len:\n while (i < len) {\n // a. Let key be the result of calling the [[Get]] internal method of\n // relevantExtensionKeys with argument ToString(i).\n var key = relevantExtensionKeys[i];\n // b. Let foundLocaleData be the result of calling the [[Get]] internal\n // method of localeData with the argument foundLocale.\n var foundLocaleData = localeData[foundLocale];\n // c. Let keyLocaleData be the result of calling the [[Get]] internal\n // method of foundLocaleData with the argument key.\n var keyLocaleData = foundLocaleData[key];\n // d. Let value be the result of calling the [[Get]] internal method of\n // keyLocaleData with argument \"0\".\n var value = keyLocaleData['0'];\n // e. Let supportedExtensionAddition be \"\".\n var supportedExtensionAddition = '';\n // f. Let indexOf be the standard built-in function object defined in\n // ES5, 15.4.4.14.\n var indexOf = arrIndexOf;\n\n // g. If extensionSubtags is not undefined, then\n if (extensionSubtags !== undefined) {\n // i. Let keyPos be the result of calling the [[Call]] internal\n // method of indexOf with extensionSubtags as the this value and\n // an argument list containing the single item key.\n var keyPos = indexOf.call(extensionSubtags, key);\n\n // ii. If keyPos ≠ -1, then\n if (keyPos !== -1) {\n // 1. If keyPos + 1 < extensionSubtagsLength and the length of the\n // result of calling the [[Get]] internal method of\n // extensionSubtags with argument ToString(keyPos +1) is greater\n // than 2, then\n if (keyPos + 1 < extensionSubtagsLength && extensionSubtags[keyPos + 1].length > 2) {\n // a. Let requestedValue be the result of calling the [[Get]]\n // internal method of extensionSubtags with argument\n // ToString(keyPos + 1).\n var requestedValue = extensionSubtags[keyPos + 1];\n // b. Let valuePos be the result of calling the [[Call]]\n // internal method of indexOf with keyLocaleData as the\n // this value and an argument list containing the single\n // item requestedValue.\n var valuePos = indexOf.call(keyLocaleData, requestedValue);\n\n // c. If valuePos ≠ -1, then\n if (valuePos !== -1) {\n // i. Let value be requestedValue.\n value = requestedValue,\n // ii. Let supportedExtensionAddition be the\n // concatenation of \"-\", key, \"-\", and value.\n supportedExtensionAddition = '-' + key + '-' + value;\n }\n }\n // 2. Else\n else {\n // a. Let valuePos be the result of calling the [[Call]]\n // internal method of indexOf with keyLocaleData as the this\n // value and an argument list containing the single item\n // \"true\".\n var _valuePos = indexOf(keyLocaleData, 'true');\n\n // b. If valuePos ≠ -1, then\n if (_valuePos !== -1)\n // i. Let value be \"true\".\n value = 'true';\n }\n }\n }\n // h. If options has a field [[<key>]], then\n if (hop.call(options, '[[' + key + ']]')) {\n // i. Let optionsValue be the value of options.[[<key>]].\n var optionsValue = options['[[' + key + ']]'];\n\n // ii. If the result of calling the [[Call]] internal method of indexOf\n // with keyLocaleData as the this value and an argument list\n // containing the single item optionsValue is not -1, then\n if (indexOf.call(keyLocaleData, optionsValue) !== -1) {\n // 1. If optionsValue is not equal to value, then\n if (optionsValue !== value) {\n // a. Let value be optionsValue.\n value = optionsValue;\n // b. Let supportedExtensionAddition be \"\".\n supportedExtensionAddition = '';\n }\n }\n }\n // i. Set result.[[<key>]] to value.\n result['[[' + key + ']]'] = value;\n\n // j. Append supportedExtensionAddition to supportedExtension.\n supportedExtension += supportedExtensionAddition;\n\n // k. Increase i by 1.\n i++;\n }\n // 12. If the length of supportedExtension is greater than 2, then\n if (supportedExtension.length > 2) {\n // a.\n var privateIndex = foundLocale.indexOf(\"-x-\");\n // b.\n if (privateIndex === -1) {\n // i.\n foundLocale = foundLocale + supportedExtension;\n }\n // c.\n else {\n // i.\n var preExtension = foundLocale.substring(0, privateIndex);\n // ii.\n var postExtension = foundLocale.substring(privateIndex);\n // iii.\n foundLocale = preExtension + supportedExtension + postExtension;\n }\n // d. asserting - skipping\n // e.\n foundLocale = CanonicalizeLanguageTag(foundLocale);\n }\n // 13. Set result.[[locale]] to foundLocale.\n result['[[locale]]'] = foundLocale;\n\n // 14. Return result.\n return result;\n}\n\n/**\n * The LookupSupportedLocales abstract operation returns the subset of the\n * provided BCP 47 language priority list requestedLocales for which\n * availableLocales has a matching locale when using the BCP 47 Lookup algorithm.\n * Locales appear in the same order in the returned list as in requestedLocales.\n * The following steps are taken:\n */\nfunction /* 9.2.6 */LookupSupportedLocales(availableLocales, requestedLocales) {\n // 1. Let len be the number of elements in requestedLocales.\n var len = requestedLocales.length;\n // 2. Let subset be a new empty List.\n var subset = new List();\n // 3. Let k be 0.\n var k = 0;\n\n // 4. Repeat while k < len\n while (k < len) {\n // a. Let locale be the element of requestedLocales at 0-origined list\n // position k.\n var locale = requestedLocales[k];\n // b. Let noExtensionsLocale be the String value that is locale with all\n // Unicode locale extension sequences removed.\n var noExtensionsLocale = String(locale).replace(expUnicodeExSeq, '');\n // c. Let availableLocale be the result of calling the\n // BestAvailableLocale abstract operation (defined in 9.2.2) with\n // arguments availableLocales and noExtensionsLocale.\n var availableLocale = BestAvailableLocale(availableLocales, noExtensionsLocale);\n\n // d. If availableLocale is not undefined, then append locale to the end of\n // subset.\n if (availableLocale !== undefined) arrPush.call(subset, locale);\n\n // e. Increment k by 1.\n k++;\n }\n\n // 5. Let subsetArray be a new Array object whose elements are the same\n // values in the same order as the elements of subset.\n var subsetArray = arrSlice.call(subset);\n\n // 6. Return subsetArray.\n return subsetArray;\n}\n\n/**\n * The BestFitSupportedLocales abstract operation returns the subset of the\n * provided BCP 47 language priority list requestedLocales for which\n * availableLocales has a matching locale when using the Best Fit Matcher\n * algorithm. Locales appear in the same order in the returned list as in\n * requestedLocales. The steps taken are implementation dependent.\n */\nfunction /*9.2.7 */BestFitSupportedLocales(availableLocales, requestedLocales) {\n // ###TODO: implement this function as described by the specification###\n return LookupSupportedLocales(availableLocales, requestedLocales);\n}\n\n/**\n * The SupportedLocales abstract operation returns the subset of the provided BCP\n * 47 language priority list requestedLocales for which availableLocales has a\n * matching locale. Two algorithms are available to match the locales: the Lookup\n * algorithm described in RFC 4647 section 3.4, and an implementation dependent\n * best-fit algorithm. Locales appear in the same order in the returned list as\n * in requestedLocales. The following steps are taken:\n */\nfunction /*9.2.8 */SupportedLocales(availableLocales, requestedLocales, options) {\n var matcher = void 0,\n subset = void 0;\n\n // 1. If options is not undefined, then\n if (options !== undefined) {\n // a. Let options be ToObject(options).\n options = new Record(toObject(options));\n // b. Let matcher be the result of calling the [[Get]] internal method of\n // options with argument \"localeMatcher\".\n matcher = options.localeMatcher;\n\n // c. If matcher is not undefined, then\n if (matcher !== undefined) {\n // i. Let matcher be ToString(matcher).\n matcher = String(matcher);\n\n // ii. If matcher is not \"lookup\" or \"best fit\", then throw a RangeError\n // exception.\n if (matcher !== 'lookup' && matcher !== 'best fit') throw new RangeError('matcher should be \"lookup\" or \"best fit\"');\n }\n }\n // 2. If matcher is undefined or \"best fit\", then\n if (matcher === undefined || matcher === 'best fit')\n // a. Let subset be the result of calling the BestFitSupportedLocales\n // abstract operation (defined in 9.2.7) with arguments\n // availableLocales and requestedLocales.\n subset = BestFitSupportedLocales(availableLocales, requestedLocales);\n // 3. Else\n else\n // a. Let subset be the result of calling the LookupSupportedLocales\n // abstract operation (defined in 9.2.6) with arguments\n // availableLocales and requestedLocales.\n subset = LookupSupportedLocales(availableLocales, requestedLocales);\n\n // 4. For each named own property name P of subset,\n for (var P in subset) {\n if (!hop.call(subset, P)) continue;\n\n // a. Let desc be the result of calling the [[GetOwnProperty]] internal\n // method of subset with P.\n // b. Set desc.[[Writable]] to false.\n // c. Set desc.[[Configurable]] to false.\n // d. Call the [[DefineOwnProperty]] internal method of subset with P, desc,\n // and true as arguments.\n defineProperty(subset, P, {\n writable: false, configurable: false, value: subset[P]\n });\n }\n // \"Freeze\" the array so no new elements can be added\n defineProperty(subset, 'length', { writable: false });\n\n // 5. Return subset\n return subset;\n}\n\n/**\n * The GetOption abstract operation extracts the value of the property named\n * property from the provided options object, converts it to the required type,\n * checks whether it is one of a List of allowed values, and fills in a fallback\n * value if necessary.\n */\nfunction /*9.2.9 */GetOption(options, property, type, values, fallback) {\n // 1. Let value be the result of calling the [[Get]] internal method of\n // options with argument property.\n var value = options[property];\n\n // 2. If value is not undefined, then\n if (value !== undefined) {\n // a. Assert: type is \"boolean\" or \"string\".\n // b. If type is \"boolean\", then let value be ToBoolean(value).\n // c. If type is \"string\", then let value be ToString(value).\n value = type === 'boolean' ? Boolean(value) : type === 'string' ? String(value) : value;\n\n // d. If values is not undefined, then\n if (values !== undefined) {\n // i. If values does not contain an element equal to value, then throw a\n // RangeError exception.\n if (arrIndexOf.call(values, value) === -1) throw new RangeError(\"'\" + value + \"' is not an allowed value for `\" + property + '`');\n }\n\n // e. Return value.\n return value;\n }\n // Else return fallback.\n return fallback;\n}\n\n/**\n * The GetNumberOption abstract operation extracts a property value from the\n * provided options object, converts it to a Number value, checks whether it is\n * in the allowed range, and fills in a fallback value if necessary.\n */\nfunction /* 9.2.10 */GetNumberOption(options, property, minimum, maximum, fallback) {\n // 1. Let value be the result of calling the [[Get]] internal method of\n // options with argument property.\n var value = options[property];\n\n // 2. If value is not undefined, then\n if (value !== undefined) {\n // a. Let value be ToNumber(value).\n value = Number(value);\n\n // b. If value is NaN or less than minimum or greater than maximum, throw a\n // RangeError exception.\n if (isNaN(value) || value < minimum || value > maximum) throw new RangeError('Value is not a number or outside accepted range');\n\n // c. Return floor(value).\n return Math.floor(value);\n }\n // 3. Else return fallback.\n return fallback;\n}\n\n// 8 The Intl Object\nvar Intl = {};\n\n// 8.2 Function Properties of the Intl Object\n\n// 8.2.1\n// @spec[tc39/ecma402/master/spec/intl.html]\n// @clause[sec-intl.getcanonicallocales]\nfunction getCanonicalLocales(locales) {\n // 1. Let ll be ? CanonicalizeLocaleList(locales).\n var ll = CanonicalizeLocaleList(locales);\n // 2. Return CreateArrayFromList(ll).\n {\n var result = [];\n\n var len = ll.length;\n var k = 0;\n\n while (k < len) {\n result[k] = ll[k];\n k++;\n }\n return result;\n }\n}\n\nObject.defineProperty(Intl, 'getCanonicalLocales', {\n enumerable: false,\n configurable: true,\n writable: true,\n value: getCanonicalLocales\n});\n\n// Currency minor units output from get-4217 grunt task, formatted\nvar currencyMinorUnits = {\n BHD: 3, BYR: 0, XOF: 0, BIF: 0, XAF: 0, CLF: 4, CLP: 0, KMF: 0, DJF: 0,\n XPF: 0, GNF: 0, ISK: 0, IQD: 3, JPY: 0, JOD: 3, KRW: 0, KWD: 3, LYD: 3,\n OMR: 3, PYG: 0, RWF: 0, TND: 3, UGX: 0, UYI: 0, VUV: 0, VND: 0\n};\n\n// Define the NumberFormat constructor internally so it cannot be tainted\nfunction NumberFormatConstructor() {\n var locales = arguments[0];\n var options = arguments[1];\n\n if (!this || this === Intl) {\n return new Intl.NumberFormat(locales, options);\n }\n\n return InitializeNumberFormat(toObject(this), locales, options);\n}\n\ndefineProperty(Intl, 'NumberFormat', {\n configurable: true,\n writable: true,\n value: NumberFormatConstructor\n});\n\n// Must explicitly set prototypes as unwritable\ndefineProperty(Intl.NumberFormat, 'prototype', {\n writable: false\n});\n\n/**\n * The abstract operation InitializeNumberFormat accepts the arguments\n * numberFormat (which must be an object), locales, and options. It initializes\n * numberFormat as a NumberFormat object.\n */\nfunction /*11.1.1.1 */InitializeNumberFormat(numberFormat, locales, options) {\n // This will be a internal properties object if we're not already initialized\n var internal = getInternalProperties(numberFormat);\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore();\n\n // 1. If numberFormat has an [[initializedIntlObject]] internal property with\n // value true, throw a TypeError exception.\n if (internal['[[initializedIntlObject]]'] === true) throw new TypeError('`this` object has already been initialized as an Intl object');\n\n // Need this to access the `internal` object\n defineProperty(numberFormat, '__getInternalProperties', {\n value: function value() {\n // NOTE: Non-standard, for internal use only\n if (arguments[0] === secret) return internal;\n }\n });\n\n // 2. Set the [[initializedIntlObject]] internal property of numberFormat to true.\n internal['[[initializedIntlObject]]'] = true;\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n var requestedLocales = CanonicalizeLocaleList(locales);\n\n // 4. If options is undefined, then\n if (options === undefined)\n // a. Let options be the result of creating a new object as if by the\n // expression new Object() where Object is the standard built-in constructor\n // with that name.\n options = {};\n\n // 5. Else\n else\n // a. Let options be ToObject(options).\n options = toObject(options);\n\n // 6. Let opt be a new Record.\n var opt = new Record(),\n\n\n // 7. Let matcher be the result of calling the GetOption abstract operation\n // (defined in 9.2.9) with the arguments options, \"localeMatcher\", \"string\",\n // a List containing the two String values \"lookup\" and \"best fit\", and\n // \"best fit\".\n matcher = GetOption(options, 'localeMatcher', 'string', new List('lookup', 'best fit'), 'best fit');\n\n // 8. Set opt.[[localeMatcher]] to matcher.\n opt['[[localeMatcher]]'] = matcher;\n\n // 9. Let NumberFormat be the standard built-in object that is the initial value\n // of Intl.NumberFormat.\n // 10. Let localeData be the value of the [[localeData]] internal property of\n // NumberFormat.\n var localeData = internals.NumberFormat['[[localeData]]'];\n\n // 11. Let r be the result of calling the ResolveLocale abstract operation\n // (defined in 9.2.5) with the [[availableLocales]] internal property of\n // NumberFormat, requestedLocales, opt, the [[relevantExtensionKeys]]\n // internal property of NumberFormat, and localeData.\n var r = ResolveLocale(internals.NumberFormat['[[availableLocales]]'], requestedLocales, opt, internals.NumberFormat['[[relevantExtensionKeys]]'], localeData);\n\n // 12. Set the [[locale]] internal property of numberFormat to the value of\n // r.[[locale]].\n internal['[[locale]]'] = r['[[locale]]'];\n\n // 13. Set the [[numberingSystem]] internal property of numberFormat to the value\n // of r.[[nu]].\n internal['[[numberingSystem]]'] = r['[[nu]]'];\n\n // The specification doesn't tell us to do this, but it's helpful later on\n internal['[[dataLocale]]'] = r['[[dataLocale]]'];\n\n // 14. Let dataLocale be the value of r.[[dataLocale]].\n var dataLocale = r['[[dataLocale]]'];\n\n // 15. Let s be the result of calling the GetOption abstract operation with the\n // arguments options, \"style\", \"string\", a List containing the three String\n // values \"decimal\", \"percent\", and \"currency\", and \"decimal\".\n var s = GetOption(options, 'style', 'string', new List('decimal', 'percent', 'currency'), 'decimal');\n\n // 16. Set the [[style]] internal property of numberFormat to s.\n internal['[[style]]'] = s;\n\n // 17. Let c be the result of calling the GetOption abstract operation with the\n // arguments options, \"currency\", \"string\", undefined, and undefined.\n var c = GetOption(options, 'currency', 'string');\n\n // 18. If c is not undefined and the result of calling the\n // IsWellFormedCurrencyCode abstract operation (defined in 6.3.1) with\n // argument c is false, then throw a RangeError exception.\n if (c !== undefined && !IsWellFormedCurrencyCode(c)) throw new RangeError(\"'\" + c + \"' is not a valid currency code\");\n\n // 19. If s is \"currency\" and c is undefined, throw a TypeError exception.\n if (s === 'currency' && c === undefined) throw new TypeError('Currency code is required when style is currency');\n\n var cDigits = void 0;\n\n // 20. If s is \"currency\", then\n if (s === 'currency') {\n // a. Let c be the result of converting c to upper case as specified in 6.1.\n c = c.toUpperCase();\n\n // b. Set the [[currency]] internal property of numberFormat to c.\n internal['[[currency]]'] = c;\n\n // c. Let cDigits be the result of calling the CurrencyDigits abstract\n // operation (defined below) with argument c.\n cDigits = CurrencyDigits(c);\n }\n\n // 21. Let cd be the result of calling the GetOption abstract operation with the\n // arguments options, \"currencyDisplay\", \"string\", a List containing the\n // three String values \"code\", \"symbol\", and \"name\", and \"symbol\".\n var cd = GetOption(options, 'currencyDisplay', 'string', new List('code', 'symbol', 'name'), 'symbol');\n\n // 22. If s is \"currency\", then set the [[currencyDisplay]] internal property of\n // numberFormat to cd.\n if (s === 'currency') internal['[[currencyDisplay]]'] = cd;\n\n // 23. Let mnid be the result of calling the GetNumberOption abstract operation\n // (defined in 9.2.10) with arguments options, \"minimumIntegerDigits\", 1, 21,\n // and 1.\n var mnid = GetNumberOption(options, 'minimumIntegerDigits', 1, 21, 1);\n\n // 24. Set the [[minimumIntegerDigits]] internal property of numberFormat to mnid.\n internal['[[minimumIntegerDigits]]'] = mnid;\n\n // 25. If s is \"currency\", then let mnfdDefault be cDigits; else let mnfdDefault\n // be 0.\n var mnfdDefault = s === 'currency' ? cDigits : 0;\n\n // 26. Let mnfd be the result of calling the GetNumberOption abstract operation\n // with arguments options, \"minimumFractionDigits\", 0, 20, and mnfdDefault.\n var mnfd = GetNumberOption(options, 'minimumFractionDigits', 0, 20, mnfdDefault);\n\n // 27. Set the [[minimumFractionDigits]] internal property of numberFormat to mnfd.\n internal['[[minimumFractionDigits]]'] = mnfd;\n\n // 28. If s is \"currency\", then let mxfdDefault be max(mnfd, cDigits); else if s\n // is \"percent\", then let mxfdDefault be max(mnfd, 0); else let mxfdDefault\n // be max(mnfd, 3).\n var mxfdDefault = s === 'currency' ? Math.max(mnfd, cDigits) : s === 'percent' ? Math.max(mnfd, 0) : Math.max(mnfd, 3);\n\n // 29. Let mxfd be the result of calling the GetNumberOption abstract operation\n // with arguments options, \"maximumFractionDigits\", mnfd, 20, and mxfdDefault.\n var mxfd = GetNumberOption(options, 'maximumFractionDigits', mnfd, 20, mxfdDefault);\n\n // 30. Set the [[maximumFractionDigits]] internal property of numberFormat to mxfd.\n internal['[[maximumFractionDigits]]'] = mxfd;\n\n // 31. Let mnsd be the result of calling the [[Get]] internal method of options\n // with argument \"minimumSignificantDigits\".\n var mnsd = options.minimumSignificantDigits;\n\n // 32. Let mxsd be the result of calling the [[Get]] internal method of options\n // with argument \"maximumSignificantDigits\".\n var mxsd = options.maximumSignificantDigits;\n\n // 33. If mnsd is not undefined or mxsd is not undefined, then:\n if (mnsd !== undefined || mxsd !== undefined) {\n // a. Let mnsd be the result of calling the GetNumberOption abstract\n // operation with arguments options, \"minimumSignificantDigits\", 1, 21,\n // and 1.\n mnsd = GetNumberOption(options, 'minimumSignificantDigits', 1, 21, 1);\n\n // b. Let mxsd be the result of calling the GetNumberOption abstract\n // operation with arguments options, \"maximumSignificantDigits\", mnsd,\n // 21, and 21.\n mxsd = GetNumberOption(options, 'maximumSignificantDigits', mnsd, 21, 21);\n\n // c. Set the [[minimumSignificantDigits]] internal property of numberFormat\n // to mnsd, and the [[maximumSignificantDigits]] internal property of\n // numberFormat to mxsd.\n internal['[[minimumSignificantDigits]]'] = mnsd;\n internal['[[maximumSignificantDigits]]'] = mxsd;\n }\n // 34. Let g be the result of calling the GetOption abstract operation with the\n // arguments options, \"useGrouping\", \"boolean\", undefined, and true.\n var g = GetOption(options, 'useGrouping', 'boolean', undefined, true);\n\n // 35. Set the [[useGrouping]] internal property of numberFormat to g.\n internal['[[useGrouping]]'] = g;\n\n // 36. Let dataLocaleData be the result of calling the [[Get]] internal method of\n // localeData with argument dataLocale.\n var dataLocaleData = localeData[dataLocale];\n\n // 37. Let patterns be the result of calling the [[Get]] internal method of\n // dataLocaleData with argument \"patterns\".\n var patterns = dataLocaleData.patterns;\n\n // 38. Assert: patterns is an object (see 11.2.3)\n\n // 39. Let stylePatterns be the result of calling the [[Get]] internal method of\n // patterns with argument s.\n var stylePatterns = patterns[s];\n\n // 40. Set the [[positivePattern]] internal property of numberFormat to the\n // result of calling the [[Get]] internal method of stylePatterns with the\n // argument \"positivePattern\".\n internal['[[positivePattern]]'] = stylePatterns.positivePattern;\n\n // 41. Set the [[negativePattern]] internal property of numberFormat to the\n // result of calling the [[Get]] internal method of stylePatterns with the\n // argument \"negativePattern\".\n internal['[[negativePattern]]'] = stylePatterns.negativePattern;\n\n // 42. Set the [[boundFormat]] internal property of numberFormat to undefined.\n internal['[[boundFormat]]'] = undefined;\n\n // 43. Set the [[initializedNumberFormat]] internal property of numberFormat to\n // true.\n internal['[[initializedNumberFormat]]'] = true;\n\n // In ES3, we need to pre-bind the format() function\n if (es3) numberFormat.format = GetFormatNumber.call(numberFormat);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // Return the newly initialised object\n return numberFormat;\n}\n\nfunction CurrencyDigits(currency) {\n // When the CurrencyDigits abstract operation is called with an argument currency\n // (which must be an upper case String value), the following steps are taken:\n\n // 1. If the ISO 4217 currency and funds code list contains currency as an\n // alphabetic code, then return the minor unit value corresponding to the\n // currency from the list; else return 2.\n return currencyMinorUnits[currency] !== undefined ? currencyMinorUnits[currency] : 2;\n}\n\n/* 11.2.3 */internals.NumberFormat = {\n '[[availableLocales]]': [],\n '[[relevantExtensionKeys]]': ['nu'],\n '[[localeData]]': {}\n};\n\n/**\n * When the supportedLocalesOf method of Intl.NumberFormat is called, the\n * following steps are taken:\n */\n/* 11.2.2 */\ndefineProperty(Intl.NumberFormat, 'supportedLocalesOf', {\n configurable: true,\n writable: true,\n value: fnBind.call(function (locales) {\n // Bound functions only have the `this` value altered if being used as a constructor,\n // this lets us imitate a native function that has no constructor\n if (!hop.call(this, '[[availableLocales]]')) throw new TypeError('supportedLocalesOf() is not a constructor');\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore(),\n\n\n // 1. If options is not provided, then let options be undefined.\n options = arguments[1],\n\n\n // 2. Let availableLocales be the value of the [[availableLocales]] internal\n // property of the standard built-in object that is the initial value of\n // Intl.NumberFormat.\n\n availableLocales = this['[[availableLocales]]'],\n\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n requestedLocales = CanonicalizeLocaleList(locales);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // 4. Return the result of calling the SupportedLocales abstract operation\n // (defined in 9.2.8) with arguments availableLocales, requestedLocales,\n // and options.\n return SupportedLocales(availableLocales, requestedLocales, options);\n }, internals.NumberFormat)\n});\n\n/**\n * This named accessor property returns a function that formats a number\n * according to the effective locale and the formatting options of this\n * NumberFormat object.\n */\n/* 11.3.2 */defineProperty(Intl.NumberFormat.prototype, 'format', {\n configurable: true,\n get: GetFormatNumber\n});\n\nfunction GetFormatNumber() {\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 11.3_b\n if (!internal || !internal['[[initializedNumberFormat]]']) throw new TypeError('`this` value for format() is not an initialized Intl.NumberFormat object.');\n\n // The value of the [[Get]] attribute is a function that takes the following\n // steps:\n\n // 1. If the [[boundFormat]] internal property of this NumberFormat object\n // is undefined, then:\n if (internal['[[boundFormat]]'] === undefined) {\n // a. Let F be a Function object, with internal properties set as\n // specified for built-in functions in ES5, 15, or successor, and the\n // length property set to 1, that takes the argument value and\n // performs the following steps:\n var F = function F(value) {\n // i. If value is not provided, then let value be undefined.\n // ii. Let x be ToNumber(value).\n // iii. Return the result of calling the FormatNumber abstract\n // operation (defined below) with arguments this and x.\n return FormatNumber(this, /* x = */Number(value));\n };\n\n // b. Let bind be the standard built-in function object defined in ES5,\n // 15.3.4.5.\n // c. Let bf be the result of calling the [[Call]] internal method of\n // bind with F as the this value and an argument list containing\n // the single item this.\n var bf = fnBind.call(F, this);\n\n // d. Set the [[boundFormat]] internal property of this NumberFormat\n // object to bf.\n internal['[[boundFormat]]'] = bf;\n }\n // Return the value of the [[boundFormat]] internal property of this\n // NumberFormat object.\n return internal['[[boundFormat]]'];\n}\n\nfunction formatToParts() {\n var value = arguments.length <= 0 || arguments[0] === undefined ? undefined : arguments[0];\n\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n if (!internal || !internal['[[initializedNumberFormat]]']) throw new TypeError('`this` value for formatToParts() is not an initialized Intl.NumberFormat object.');\n\n var x = Number(value);\n return FormatNumberToParts(this, x);\n}\n\nObject.defineProperty(Intl.NumberFormat.prototype, 'formatToParts', {\n configurable: true,\n enumerable: false,\n writable: true,\n value: formatToParts\n});\n\n/*\n * @spec[stasm/ecma402/number-format-to-parts/spec/numberformat.html]\n * @clause[sec-formatnumbertoparts]\n */\nfunction FormatNumberToParts(numberFormat, x) {\n // 1. Let parts be ? PartitionNumberPattern(numberFormat, x).\n var parts = PartitionNumberPattern(numberFormat, x);\n // 2. Let result be ArrayCreate(0).\n var result = [];\n // 3. Let n be 0.\n var n = 0;\n // 4. For each part in parts, do:\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n // a. Let O be ObjectCreate(%ObjectPrototype%).\n var O = {};\n // a. Perform ? CreateDataPropertyOrThrow(O, \"type\", part.[[type]]).\n O.type = part['[[type]]'];\n // a. Perform ? CreateDataPropertyOrThrow(O, \"value\", part.[[value]]).\n O.value = part['[[value]]'];\n // a. Perform ? CreateDataPropertyOrThrow(result, ? ToString(n), O).\n result[n] = O;\n // a. Increment n by 1.\n n += 1;\n }\n // 5. Return result.\n return result;\n}\n\n/*\n * @spec[stasm/ecma402/number-format-to-parts/spec/numberformat.html]\n * @clause[sec-partitionnumberpattern]\n */\nfunction PartitionNumberPattern(numberFormat, x) {\n\n var internal = getInternalProperties(numberFormat),\n locale = internal['[[dataLocale]]'],\n nums = internal['[[numberingSystem]]'],\n data = internals.NumberFormat['[[localeData]]'][locale],\n ild = data.symbols[nums] || data.symbols.latn,\n pattern = void 0;\n\n // 1. If x is not NaN and x < 0, then:\n if (!isNaN(x) && x < 0) {\n // a. Let x be -x.\n x = -x;\n // a. Let pattern be the value of numberFormat.[[negativePattern]].\n pattern = internal['[[negativePattern]]'];\n }\n // 2. Else,\n else {\n // a. Let pattern be the value of numberFormat.[[positivePattern]].\n pattern = internal['[[positivePattern]]'];\n }\n // 3. Let result be a new empty List.\n var result = new List();\n // 4. Let beginIndex be Call(%StringProto_indexOf%, pattern, \"{\", 0).\n var beginIndex = pattern.indexOf('{', 0);\n // 5. Let endIndex be 0.\n var endIndex = 0;\n // 6. Let nextIndex be 0.\n var nextIndex = 0;\n // 7. Let length be the number of code units in pattern.\n var length = pattern.length;\n // 8. Repeat while beginIndex is an integer index into pattern:\n while (beginIndex > -1 && beginIndex < length) {\n // a. Set endIndex to Call(%StringProto_indexOf%, pattern, \"}\", beginIndex)\n endIndex = pattern.indexOf('}', beginIndex);\n // a. If endIndex = -1, throw new Error exception.\n if (endIndex === -1) throw new Error();\n // a. If beginIndex is greater than nextIndex, then:\n if (beginIndex > nextIndex) {\n // i. Let literal be a substring of pattern from position nextIndex, inclusive, to position beginIndex, exclusive.\n var literal = pattern.substring(nextIndex, beginIndex);\n // ii. Add new part record { [[type]]: \"literal\", [[value]]: literal } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': literal });\n }\n // a. Let p be the substring of pattern from position beginIndex, exclusive, to position endIndex, exclusive.\n var p = pattern.substring(beginIndex + 1, endIndex);\n // a. If p is equal \"number\", then:\n if (p === \"number\") {\n // i. If x is NaN,\n if (isNaN(x)) {\n // 1. Let n be an ILD String value indicating the NaN value.\n var n = ild.nan;\n // 2. Add new part record { [[type]]: \"nan\", [[value]]: n } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'nan', '[[value]]': n });\n }\n // ii. Else if isFinite(x) is false,\n else if (!isFinite(x)) {\n // 1. Let n be an ILD String value indicating infinity.\n var _n = ild.infinity;\n // 2. Add new part record { [[type]]: \"infinity\", [[value]]: n } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'infinity', '[[value]]': _n });\n }\n // iii. Else,\n else {\n // 1. If the value of numberFormat.[[style]] is \"percent\" and isFinite(x), let x be 100 × x.\n if (internal['[[style]]'] === 'percent' && isFinite(x)) x *= 100;\n\n var _n2 = void 0;\n // 2. If the numberFormat.[[minimumSignificantDigits]] and numberFormat.[[maximumSignificantDigits]] are present, then\n if (hop.call(internal, '[[minimumSignificantDigits]]') && hop.call(internal, '[[maximumSignificantDigits]]')) {\n // a. Let n be ToRawPrecision(x, numberFormat.[[minimumSignificantDigits]], numberFormat.[[maximumSignificantDigits]]).\n _n2 = ToRawPrecision(x, internal['[[minimumSignificantDigits]]'], internal['[[maximumSignificantDigits]]']);\n }\n // 3. Else,\n else {\n // a. Let n be ToRawFixed(x, numberFormat.[[minimumIntegerDigits]], numberFormat.[[minimumFractionDigits]], numberFormat.[[maximumFractionDigits]]).\n _n2 = ToRawFixed(x, internal['[[minimumIntegerDigits]]'], internal['[[minimumFractionDigits]]'], internal['[[maximumFractionDigits]]']);\n }\n // 4. If the value of the numberFormat.[[numberingSystem]] matches one of the values in the \"Numbering System\" column of Table 2 below, then\n if (numSys[nums]) {\n (function () {\n // a. Let digits be an array whose 10 String valued elements are the UTF-16 string representations of the 10 digits specified in the \"Digits\" column of the matching row in Table 2.\n var digits = numSys[nums];\n // a. Replace each digit in n with the value of digits[digit].\n _n2 = String(_n2).replace(/\\d/g, function (digit) {\n return digits[digit];\n });\n })();\n }\n // 5. Else use an implementation dependent algorithm to map n to the appropriate representation of n in the given numbering system.\n else _n2 = String(_n2); // ###TODO###\n\n var integer = void 0;\n var fraction = void 0;\n // 6. Let decimalSepIndex be Call(%StringProto_indexOf%, n, \".\", 0).\n var decimalSepIndex = _n2.indexOf('.', 0);\n // 7. If decimalSepIndex > 0, then:\n if (decimalSepIndex > 0) {\n // a. Let integer be the substring of n from position 0, inclusive, to position decimalSepIndex, exclusive.\n integer = _n2.substring(0, decimalSepIndex);\n // a. Let fraction be the substring of n from position decimalSepIndex, exclusive, to the end of n.\n fraction = _n2.substring(decimalSepIndex + 1, decimalSepIndex.length);\n }\n // 8. Else:\n else {\n // a. Let integer be n.\n integer = _n2;\n // a. Let fraction be undefined.\n fraction = undefined;\n }\n // 9. If the value of the numberFormat.[[useGrouping]] is true,\n if (internal['[[useGrouping]]'] === true) {\n // a. Let groupSepSymbol be the ILND String representing the grouping separator.\n var groupSepSymbol = ild.group;\n // a. Let groups be a List whose elements are, in left to right order, the substrings defined by ILND set of locations within the integer.\n var groups = [];\n // ----> implementation:\n // Primary group represents the group closest to the decimal\n var pgSize = data.patterns.primaryGroupSize || 3;\n // Secondary group is every other group\n var sgSize = data.patterns.secondaryGroupSize || pgSize;\n // Group only if necessary\n if (integer.length > pgSize) {\n // Index of the primary grouping separator\n var end = integer.length - pgSize;\n // Starting index for our loop\n var idx = end % sgSize;\n var start = integer.slice(0, idx);\n if (start.length) arrPush.call(groups, start);\n // Loop to separate into secondary grouping digits\n while (idx < end) {\n arrPush.call(groups, integer.slice(idx, idx + sgSize));\n idx += sgSize;\n }\n // Add the primary grouping digits\n arrPush.call(groups, integer.slice(end));\n } else {\n arrPush.call(groups, integer);\n }\n // a. Assert: The number of elements in groups List is greater than 0.\n if (groups.length === 0) throw new Error();\n // a. Repeat, while groups List is not empty:\n while (groups.length) {\n // i. Remove the first element from groups and let integerGroup be the value of that element.\n var integerGroup = arrShift.call(groups);\n // ii. Add new part record { [[type]]: \"integer\", [[value]]: integerGroup } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'integer', '[[value]]': integerGroup });\n // iii. If groups List is not empty, then:\n if (groups.length) {\n // 1. Add new part record { [[type]]: \"group\", [[value]]: groupSepSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'group', '[[value]]': groupSepSymbol });\n }\n }\n }\n // 10. Else,\n else {\n // a. Add new part record { [[type]]: \"integer\", [[value]]: integer } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'integer', '[[value]]': integer });\n }\n // 11. If fraction is not undefined, then:\n if (fraction !== undefined) {\n // a. Let decimalSepSymbol be the ILND String representing the decimal separator.\n var decimalSepSymbol = ild.decimal;\n // a. Add new part record { [[type]]: \"decimal\", [[value]]: decimalSepSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'decimal', '[[value]]': decimalSepSymbol });\n // a. Add new part record { [[type]]: \"fraction\", [[value]]: fraction } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'fraction', '[[value]]': fraction });\n }\n }\n }\n // a. Else if p is equal \"plusSign\", then:\n else if (p === \"plusSign\") {\n // i. Let plusSignSymbol be the ILND String representing the plus sign.\n var plusSignSymbol = ild.plusSign;\n // ii. Add new part record { [[type]]: \"plusSign\", [[value]]: plusSignSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'plusSign', '[[value]]': plusSignSymbol });\n }\n // a. Else if p is equal \"minusSign\", then:\n else if (p === \"minusSign\") {\n // i. Let minusSignSymbol be the ILND String representing the minus sign.\n var minusSignSymbol = ild.minusSign;\n // ii. Add new part record { [[type]]: \"minusSign\", [[value]]: minusSignSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'minusSign', '[[value]]': minusSignSymbol });\n }\n // a. Else if p is equal \"percentSign\" and numberFormat.[[style]] is \"percent\", then:\n else if (p === \"percentSign\" && internal['[[style]]'] === \"percent\") {\n // i. Let percentSignSymbol be the ILND String representing the percent sign.\n var percentSignSymbol = ild.percentSign;\n // ii. Add new part record { [[type]]: \"percentSign\", [[value]]: percentSignSymbol } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': percentSignSymbol });\n }\n // a. Else if p is equal \"currency\" and numberFormat.[[style]] is \"currency\", then:\n else if (p === \"currency\" && internal['[[style]]'] === \"currency\") {\n // i. Let currency be the value of numberFormat.[[currency]].\n var currency = internal['[[currency]]'];\n\n var cd = void 0;\n\n // ii. If numberFormat.[[currencyDisplay]] is \"code\", then\n if (internal['[[currencyDisplay]]'] === \"code\") {\n // 1. Let cd be currency.\n cd = currency;\n }\n // iii. Else if numberFormat.[[currencyDisplay]] is \"symbol\", then\n else if (internal['[[currencyDisplay]]'] === \"symbol\") {\n // 1. Let cd be an ILD string representing currency in short form. If the implementation does not have such a representation of currency, use currency itself.\n cd = data.currencies[currency] || currency;\n }\n // iv. Else if numberFormat.[[currencyDisplay]] is \"name\", then\n else if (internal['[[currencyDisplay]]'] === \"name\") {\n // 1. Let cd be an ILD string representing currency in long form. If the implementation does not have such a representation of currency, then use currency itself.\n cd = currency;\n }\n // v. Add new part record { [[type]]: \"currency\", [[value]]: cd } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'currency', '[[value]]': cd });\n }\n // a. Else,\n else {\n // i. Let literal be the substring of pattern from position beginIndex, inclusive, to position endIndex, inclusive.\n var _literal = pattern.substring(beginIndex, endIndex);\n // ii. Add new part record { [[type]]: \"literal\", [[value]]: literal } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': _literal });\n }\n // a. Set nextIndex to endIndex + 1.\n nextIndex = endIndex + 1;\n // a. Set beginIndex to Call(%StringProto_indexOf%, pattern, \"{\", nextIndex)\n beginIndex = pattern.indexOf('{', nextIndex);\n }\n // 9. If nextIndex is less than length, then:\n if (nextIndex < length) {\n // a. Let literal be the substring of pattern from position nextIndex, inclusive, to position length, exclusive.\n var _literal2 = pattern.substring(nextIndex, length);\n // a. Add new part record { [[type]]: \"literal\", [[value]]: literal } as a new element of the list result.\n arrPush.call(result, { '[[type]]': 'literal', '[[value]]': _literal2 });\n }\n // 10. Return result.\n return result;\n}\n\n/*\n * @spec[stasm/ecma402/number-format-to-parts/spec/numberformat.html]\n * @clause[sec-formatnumber]\n */\nfunction FormatNumber(numberFormat, x) {\n // 1. Let parts be ? PartitionNumberPattern(numberFormat, x).\n var parts = PartitionNumberPattern(numberFormat, x);\n // 2. Let result be an empty String.\n var result = '';\n // 3. For each part in parts, do:\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n // a. Set result to a String value produced by concatenating result and part.[[value]].\n result += part['[[value]]'];\n }\n // 4. Return result.\n return result;\n}\n\n/**\n * When the ToRawPrecision abstract operation is called with arguments x (which\n * must be a finite non-negative number), minPrecision, and maxPrecision (both\n * must be integers between 1 and 21) the following steps are taken:\n */\nfunction ToRawPrecision(x, minPrecision, maxPrecision) {\n // 1. Let p be maxPrecision.\n var p = maxPrecision;\n\n var m = void 0,\n e = void 0;\n\n // 2. If x = 0, then\n if (x === 0) {\n // a. Let m be the String consisting of p occurrences of the character \"0\".\n m = arrJoin.call(Array(p + 1), '0');\n // b. Let e be 0.\n e = 0;\n }\n // 3. Else\n else {\n // a. Let e and n be integers such that 10ᵖ⁻¹ ≤ n < 10ᵖ and for which the\n // exact mathematical value of n × 10ᵉ⁻ᵖ⁺¹ – x is as close to zero as\n // possible. If there are two such sets of e and n, pick the e and n for\n // which n × 10ᵉ⁻ᵖ⁺¹ is larger.\n e = log10Floor(Math.abs(x));\n\n // Easier to get to m from here\n var f = Math.round(Math.exp(Math.abs(e - p + 1) * Math.LN10));\n\n // b. Let m be the String consisting of the digits of the decimal\n // representation of n (in order, with no leading zeroes)\n m = String(Math.round(e - p + 1 < 0 ? x * f : x / f));\n }\n\n // 4. If e ≥ p, then\n if (e >= p)\n // a. Return the concatenation of m and e-p+1 occurrences of the character \"0\".\n return m + arrJoin.call(Array(e - p + 1 + 1), '0');\n\n // 5. If e = p-1, then\n else if (e === p - 1)\n // a. Return m.\n return m;\n\n // 6. If e ≥ 0, then\n else if (e >= 0)\n // a. Let m be the concatenation of the first e+1 characters of m, the character\n // \".\", and the remaining p–(e+1) characters of m.\n m = m.slice(0, e + 1) + '.' + m.slice(e + 1);\n\n // 7. If e < 0, then\n else if (e < 0)\n // a. Let m be the concatenation of the String \"0.\", –(e+1) occurrences of the\n // character \"0\", and the string m.\n m = '0.' + arrJoin.call(Array(-(e + 1) + 1), '0') + m;\n\n // 8. If m contains the character \".\", and maxPrecision > minPrecision, then\n if (m.indexOf(\".\") >= 0 && maxPrecision > minPrecision) {\n // a. Let cut be maxPrecision – minPrecision.\n var cut = maxPrecision - minPrecision;\n\n // b. Repeat while cut > 0 and the last character of m is \"0\":\n while (cut > 0 && m.charAt(m.length - 1) === '0') {\n // i. Remove the last character from m.\n m = m.slice(0, -1);\n\n // ii. Decrease cut by 1.\n cut--;\n }\n\n // c. If the last character of m is \".\", then\n if (m.charAt(m.length - 1) === '.')\n // i. Remove the last character from m.\n m = m.slice(0, -1);\n }\n // 9. Return m.\n return m;\n}\n\n/**\n * @spec[tc39/ecma402/master/spec/numberformat.html]\n * @clause[sec-torawfixed]\n * When the ToRawFixed abstract operation is called with arguments x (which must\n * be a finite non-negative number), minInteger (which must be an integer between\n * 1 and 21), minFraction, and maxFraction (which must be integers between 0 and\n * 20) the following steps are taken:\n */\nfunction ToRawFixed(x, minInteger, minFraction, maxFraction) {\n // 1. Let f be maxFraction.\n var f = maxFraction;\n // 2. Let n be an integer for which the exact mathematical value of n ÷ 10f – x is as close to zero as possible. If there are two such n, pick the larger n.\n var n = Math.pow(10, f) * x; // diverging...\n // 3. If n = 0, let m be the String \"0\". Otherwise, let m be the String consisting of the digits of the decimal representation of n (in order, with no leading zeroes).\n var m = n === 0 ? \"0\" : n.toFixed(0); // divering...\n\n {\n // this diversion is needed to take into consideration big numbers, e.g.:\n // 1.2344501e+37 -> 12344501000000000000000000000000000000\n var idx = void 0;\n var exp = (idx = m.indexOf('e')) > -1 ? m.slice(idx + 1) : 0;\n if (exp) {\n m = m.slice(0, idx).replace('.', '');\n m += arrJoin.call(Array(exp - (m.length - 1) + 1), '0');\n }\n }\n\n var int = void 0;\n // 4. If f ≠ 0, then\n if (f !== 0) {\n // a. Let k be the number of characters in m.\n var k = m.length;\n // a. If k ≤ f, then\n if (k <= f) {\n // i. Let z be the String consisting of f+1–k occurrences of the character \"0\".\n var z = arrJoin.call(Array(f + 1 - k + 1), '0');\n // ii. Let m be the concatenation of Strings z and m.\n m = z + m;\n // iii. Let k be f+1.\n k = f + 1;\n }\n // a. Let a be the first k–f characters of m, and let b be the remaining f characters of m.\n var a = m.substring(0, k - f),\n b = m.substring(k - f, m.length);\n // a. Let m be the concatenation of the three Strings a, \".\", and b.\n m = a + \".\" + b;\n // a. Let int be the number of characters in a.\n int = a.length;\n }\n // 5. Else, let int be the number of characters in m.\n else int = m.length;\n // 6. Let cut be maxFraction – minFraction.\n var cut = maxFraction - minFraction;\n // 7. Repeat while cut > 0 and the last character of m is \"0\":\n while (cut > 0 && m.slice(-1) === \"0\") {\n // a. Remove the last character from m.\n m = m.slice(0, -1);\n // a. Decrease cut by 1.\n cut--;\n }\n // 8. If the last character of m is \".\", then\n if (m.slice(-1) === \".\") {\n // a. Remove the last character from m.\n m = m.slice(0, -1);\n }\n // 9. If int < minInteger, then\n if (int < minInteger) {\n // a. Let z be the String consisting of minInteger–int occurrences of the character \"0\".\n var _z = arrJoin.call(Array(minInteger - int + 1), '0');\n // a. Let m be the concatenation of Strings z and m.\n m = _z + m;\n }\n // 10. Return m.\n return m;\n}\n\n// Sect 11.3.2 Table 2, Numbering systems\n// ======================================\nvar numSys = {\n arab: [\"٠\", \"١\", \"٢\", \"٣\", \"٤\", \"٥\", \"٦\", \"٧\", \"٨\", \"٩\"],\n arabext: [\"۰\", \"۱\", \"۲\", \"۳\", \"۴\", \"۵\", \"۶\", \"۷\", \"۸\", \"۹\"],\n bali: [\"᭐\", \"᭑\", \"᭒\", \"᭓\", \"᭔\", \"᭕\", \"᭖\", \"᭗\", \"᭘\", \"᭙\"],\n beng: [\"০\", \"১\", \"২\", \"৩\", \"৪\", \"৫\", \"৬\", \"৭\", \"৮\", \"৯\"],\n deva: [\"०\", \"१\", \"२\", \"३\", \"४\", \"५\", \"६\", \"७\", \"८\", \"९\"],\n fullwide: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n gujr: [\"૦\", \"૧\", \"૨\", \"૩\", \"૪\", \"૫\", \"૬\", \"૭\", \"૮\", \"૯\"],\n guru: [\"੦\", \"੧\", \"੨\", \"੩\", \"੪\", \"੫\", \"੬\", \"੭\", \"੮\", \"੯\"],\n hanidec: [\"〇\", \"一\", \"二\", \"三\", \"四\", \"五\", \"六\", \"七\", \"八\", \"九\"],\n khmr: [\"០\", \"១\", \"២\", \"៣\", \"៤\", \"៥\", \"៦\", \"៧\", \"៨\", \"៩\"],\n knda: [\"೦\", \"೧\", \"೨\", \"೩\", \"೪\", \"೫\", \"೬\", \"೭\", \"೮\", \"೯\"],\n laoo: [\"໐\", \"໑\", \"໒\", \"໓\", \"໔\", \"໕\", \"໖\", \"໗\", \"໘\", \"໙\"],\n latn: [\"0\", \"1\", \"2\", \"3\", \"4\", \"5\", \"6\", \"7\", \"8\", \"9\"],\n limb: [\"᥆\", \"᥇\", \"᥈\", \"᥉\", \"᥊\", \"᥋\", \"᥌\", \"᥍\", \"᥎\", \"᥏\"],\n mlym: [\"൦\", \"൧\", \"൨\", \"൩\", \"൪\", \"൫\", \"൬\", \"൭\", \"൮\", \"൯\"],\n mong: [\"᠐\", \"᠑\", \"᠒\", \"᠓\", \"᠔\", \"᠕\", \"᠖\", \"᠗\", \"᠘\", \"᠙\"],\n mymr: [\"၀\", \"၁\", \"၂\", \"၃\", \"၄\", \"၅\", \"၆\", \"၇\", \"၈\", \"၉\"],\n orya: [\"୦\", \"୧\", \"୨\", \"୩\", \"୪\", \"୫\", \"୬\", \"୭\", \"୮\", \"୯\"],\n tamldec: [\"௦\", \"௧\", \"௨\", \"௩\", \"௪\", \"௫\", \"௬\", \"௭\", \"௮\", \"௯\"],\n telu: [\"౦\", \"౧\", \"౨\", \"౩\", \"౪\", \"౫\", \"౬\", \"౭\", \"౮\", \"౯\"],\n thai: [\"๐\", \"๑\", \"๒\", \"๓\", \"๔\", \"๕\", \"๖\", \"๗\", \"๘\", \"๙\"],\n tibt: [\"༠\", \"༡\", \"༢\", \"༣\", \"༤\", \"༥\", \"༦\", \"༧\", \"༨\", \"༩\"]\n};\n\n/**\n * This function provides access to the locale and formatting options computed\n * during initialization of the object.\n *\n * The function returns a new object whose properties and attributes are set as\n * if constructed by an object literal assigning to each of the following\n * properties the value of the corresponding internal property of this\n * NumberFormat object (see 11.4): locale, numberingSystem, style, currency,\n * currencyDisplay, minimumIntegerDigits, minimumFractionDigits,\n * maximumFractionDigits, minimumSignificantDigits, maximumSignificantDigits, and\n * useGrouping. Properties whose corresponding internal properties are not present\n * are not assigned.\n */\n/* 11.3.3 */defineProperty(Intl.NumberFormat.prototype, 'resolvedOptions', {\n configurable: true,\n writable: true,\n value: function value() {\n var prop = void 0,\n descs = new Record(),\n props = ['locale', 'numberingSystem', 'style', 'currency', 'currencyDisplay', 'minimumIntegerDigits', 'minimumFractionDigits', 'maximumFractionDigits', 'minimumSignificantDigits', 'maximumSignificantDigits', 'useGrouping'],\n internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 11.3_b\n if (!internal || !internal['[[initializedNumberFormat]]']) throw new TypeError('`this` value for resolvedOptions() is not an initialized Intl.NumberFormat object.');\n\n for (var i = 0, max = props.length; i < max; i++) {\n if (hop.call(internal, prop = '[[' + props[i] + ']]')) descs[props[i]] = { value: internal[prop], writable: true, configurable: true, enumerable: true };\n }\n\n return objCreate({}, descs);\n }\n});\n\n/* jslint esnext: true */\n\n// Match these datetime components in a CLDR pattern, except those in single quotes\nvar expDTComponents = /(?:[Eec]{1,6}|G{1,5}|[Qq]{1,5}|(?:[yYur]+|U{1,5})|[ML]{1,5}|d{1,2}|D{1,3}|F{1}|[abB]{1,5}|[hkHK]{1,2}|w{1,2}|W{1}|m{1,2}|s{1,2}|[zZOvVxX]{1,4})(?=([^']*'[^']*')*[^']*$)/g;\n// trim patterns after transformations\nvar expPatternTrimmer = /^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g;\n// Skip over patterns with these datetime components because we don't have data\n// to back them up:\n// timezone, weekday, amoung others\nvar unwantedDTCs = /[rqQASjJgwWIQq]/; // xXVO were removed from this list in favor of computing matches with timeZoneName values but printing as empty string\n\nvar dtKeys = [\"era\", \"year\", \"month\", \"day\", \"weekday\", \"quarter\"];\nvar tmKeys = [\"hour\", \"minute\", \"second\", \"hour12\", \"timeZoneName\"];\n\nfunction isDateFormatOnly(obj) {\n for (var i = 0; i < tmKeys.length; i += 1) {\n if (obj.hasOwnProperty(tmKeys[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction isTimeFormatOnly(obj) {\n for (var i = 0; i < dtKeys.length; i += 1) {\n if (obj.hasOwnProperty(dtKeys[i])) {\n return false;\n }\n }\n return true;\n}\n\nfunction joinDateAndTimeFormats(dateFormatObj, timeFormatObj) {\n var o = { _: {} };\n for (var i = 0; i < dtKeys.length; i += 1) {\n if (dateFormatObj[dtKeys[i]]) {\n o[dtKeys[i]] = dateFormatObj[dtKeys[i]];\n }\n if (dateFormatObj._[dtKeys[i]]) {\n o._[dtKeys[i]] = dateFormatObj._[dtKeys[i]];\n }\n }\n for (var j = 0; j < tmKeys.length; j += 1) {\n if (timeFormatObj[tmKeys[j]]) {\n o[tmKeys[j]] = timeFormatObj[tmKeys[j]];\n }\n if (timeFormatObj._[tmKeys[j]]) {\n o._[tmKeys[j]] = timeFormatObj._[tmKeys[j]];\n }\n }\n return o;\n}\n\nfunction computeFinalPatterns(formatObj) {\n // From http://www.unicode.org/reports/tr35/tr35-dates.html#Date_Format_Patterns:\n // 'In patterns, two single quotes represents a literal single quote, either\n // inside or outside single quotes. Text within single quotes is not\n // interpreted in any way (except for two adjacent single quotes).'\n formatObj.pattern12 = formatObj.extendedPattern.replace(/'([^']*)'/g, function ($0, literal) {\n return literal ? literal : \"'\";\n });\n\n // pattern 12 is always the default. we can produce the 24 by removing {ampm}\n formatObj.pattern = formatObj.pattern12.replace('{ampm}', '').replace(expPatternTrimmer, '');\n return formatObj;\n}\n\nfunction expDTComponentsMeta($0, formatObj) {\n switch ($0.charAt(0)) {\n // --- Era\n case 'G':\n formatObj.era = ['short', 'short', 'short', 'long', 'narrow'][$0.length - 1];\n return '{era}';\n\n // --- Year\n case 'y':\n case 'Y':\n case 'u':\n case 'U':\n case 'r':\n formatObj.year = $0.length === 2 ? '2-digit' : 'numeric';\n return '{year}';\n\n // --- Quarter (not supported in this polyfill)\n case 'Q':\n case 'q':\n formatObj.quarter = ['numeric', '2-digit', 'short', 'long', 'narrow'][$0.length - 1];\n return '{quarter}';\n\n // --- Month\n case 'M':\n case 'L':\n formatObj.month = ['numeric', '2-digit', 'short', 'long', 'narrow'][$0.length - 1];\n return '{month}';\n\n // --- Week (not supported in this polyfill)\n case 'w':\n // week of the year\n formatObj.week = $0.length === 2 ? '2-digit' : 'numeric';\n return '{weekday}';\n case 'W':\n // week of the month\n formatObj.week = 'numeric';\n return '{weekday}';\n\n // --- Day\n case 'd':\n // day of the month\n formatObj.day = $0.length === 2 ? '2-digit' : 'numeric';\n return '{day}';\n case 'D': // day of the year\n case 'F': // day of the week\n case 'g':\n // 1..n: Modified Julian day\n formatObj.day = 'numeric';\n return '{day}';\n\n // --- Week Day\n case 'E':\n // day of the week\n formatObj.weekday = ['short', 'short', 'short', 'long', 'narrow', 'short'][$0.length - 1];\n return '{weekday}';\n case 'e':\n // local day of the week\n formatObj.weekday = ['numeric', '2-digit', 'short', 'long', 'narrow', 'short'][$0.length - 1];\n return '{weekday}';\n case 'c':\n // stand alone local day of the week\n formatObj.weekday = ['numeric', undefined, 'short', 'long', 'narrow', 'short'][$0.length - 1];\n return '{weekday}';\n\n // --- Period\n case 'a': // AM, PM\n case 'b': // am, pm, noon, midnight\n case 'B':\n // flexible day periods\n formatObj.hour12 = true;\n return '{ampm}';\n\n // --- Hour\n case 'h':\n case 'H':\n formatObj.hour = $0.length === 2 ? '2-digit' : 'numeric';\n return '{hour}';\n case 'k':\n case 'K':\n formatObj.hour12 = true; // 12-hour-cycle time formats (using h or K)\n formatObj.hour = $0.length === 2 ? '2-digit' : 'numeric';\n return '{hour}';\n\n // --- Minute\n case 'm':\n formatObj.minute = $0.length === 2 ? '2-digit' : 'numeric';\n return '{minute}';\n\n // --- Second\n case 's':\n formatObj.second = $0.length === 2 ? '2-digit' : 'numeric';\n return '{second}';\n case 'S':\n case 'A':\n formatObj.second = 'numeric';\n return '{second}';\n\n // --- Timezone\n case 'z': // 1..3, 4: specific non-location format\n case 'Z': // 1..3, 4, 5: The ISO8601 varios formats\n case 'O': // 1, 4: miliseconds in day short, long\n case 'v': // 1, 4: generic non-location format\n case 'V': // 1, 2, 3, 4: time zone ID or city\n case 'X': // 1, 2, 3, 4: The ISO8601 varios formats\n case 'x':\n // 1, 2, 3, 4: The ISO8601 varios formats\n // this polyfill only supports much, for now, we are just doing something dummy\n formatObj.timeZoneName = $0.length < 4 ? 'short' : 'long';\n return '{timeZoneName}';\n }\n}\n\n/**\n * Converts the CLDR availableFormats into the objects and patterns required by\n * the ECMAScript Internationalization API specification.\n */\nfunction createDateTimeFormat(skeleton, pattern) {\n // we ignore certain patterns that are unsupported to avoid this expensive op.\n if (unwantedDTCs.test(pattern)) return undefined;\n\n var formatObj = {\n originalPattern: pattern,\n _: {}\n };\n\n // Replace the pattern string with the one required by the specification, whilst\n // at the same time evaluating it for the subsets and formats\n formatObj.extendedPattern = pattern.replace(expDTComponents, function ($0) {\n // See which symbol we're dealing with\n return expDTComponentsMeta($0, formatObj._);\n });\n\n // Match the skeleton string with the one required by the specification\n // this implementation is based on the Date Field Symbol Table:\n // http://unicode.org/reports/tr35/tr35-dates.html#Date_Field_Symbol_Table\n // Note: we are adding extra data to the formatObject even though this polyfill\n // might not support it.\n skeleton.replace(expDTComponents, function ($0) {\n // See which symbol we're dealing with\n return expDTComponentsMeta($0, formatObj);\n });\n\n return computeFinalPatterns(formatObj);\n}\n\n/**\n * Processes DateTime formats from CLDR to an easier-to-parse format.\n * the result of this operation should be cached the first time a particular\n * calendar is analyzed.\n *\n * The specification requires we support at least the following subsets of\n * date/time components:\n *\n * - 'weekday', 'year', 'month', 'day', 'hour', 'minute', 'second'\n * - 'weekday', 'year', 'month', 'day'\n * - 'year', 'month', 'day'\n * - 'year', 'month'\n * - 'month', 'day'\n * - 'hour', 'minute', 'second'\n * - 'hour', 'minute'\n *\n * We need to cherry pick at least these subsets from the CLDR data and convert\n * them into the pattern objects used in the ECMA-402 API.\n */\nfunction createDateTimeFormats(formats) {\n var availableFormats = formats.availableFormats;\n var timeFormats = formats.timeFormats;\n var dateFormats = formats.dateFormats;\n var result = [];\n var skeleton = void 0,\n pattern = void 0,\n computed = void 0,\n i = void 0,\n j = void 0;\n var timeRelatedFormats = [];\n var dateRelatedFormats = [];\n\n // Map available (custom) formats into a pattern for createDateTimeFormats\n for (skeleton in availableFormats) {\n if (availableFormats.hasOwnProperty(skeleton)) {\n pattern = availableFormats[skeleton];\n computed = createDateTimeFormat(skeleton, pattern);\n if (computed) {\n result.push(computed);\n // in some cases, the format is only displaying date specific props\n // or time specific props, in which case we need to also produce the\n // combined formats.\n if (isDateFormatOnly(computed)) {\n dateRelatedFormats.push(computed);\n } else if (isTimeFormatOnly(computed)) {\n timeRelatedFormats.push(computed);\n }\n }\n }\n }\n\n // Map time formats into a pattern for createDateTimeFormats\n for (skeleton in timeFormats) {\n if (timeFormats.hasOwnProperty(skeleton)) {\n pattern = timeFormats[skeleton];\n computed = createDateTimeFormat(skeleton, pattern);\n if (computed) {\n result.push(computed);\n timeRelatedFormats.push(computed);\n }\n }\n }\n\n // Map date formats into a pattern for createDateTimeFormats\n for (skeleton in dateFormats) {\n if (dateFormats.hasOwnProperty(skeleton)) {\n pattern = dateFormats[skeleton];\n computed = createDateTimeFormat(skeleton, pattern);\n if (computed) {\n result.push(computed);\n dateRelatedFormats.push(computed);\n }\n }\n }\n\n // combine custom time and custom date formats when they are orthogonals to complete the\n // formats supported by CLDR.\n // This Algo is based on section \"Missing Skeleton Fields\" from:\n // http://unicode.org/reports/tr35/tr35-dates.html#availableFormats_appendItems\n for (i = 0; i < timeRelatedFormats.length; i += 1) {\n for (j = 0; j < dateRelatedFormats.length; j += 1) {\n if (dateRelatedFormats[j].month === 'long') {\n pattern = dateRelatedFormats[j].weekday ? formats.full : formats.long;\n } else if (dateRelatedFormats[j].month === 'short') {\n pattern = formats.medium;\n } else {\n pattern = formats.short;\n }\n computed = joinDateAndTimeFormats(dateRelatedFormats[j], timeRelatedFormats[i]);\n computed.originalPattern = pattern;\n computed.extendedPattern = pattern.replace('{0}', timeRelatedFormats[i].extendedPattern).replace('{1}', dateRelatedFormats[j].extendedPattern).replace(/^[,\\s]+|[,\\s]+$/gi, '');\n result.push(computeFinalPatterns(computed));\n }\n }\n\n return result;\n}\n\n// this represents the exceptions of the rule that are not covered by CLDR availableFormats\n// for single property configurations, they play no role when using multiple properties, and\n// those that are not in this table, are not exceptions or are not covered by the data we\n// provide.\nvar validSyntheticProps = {\n second: {\n numeric: 's',\n '2-digit': 'ss'\n },\n minute: {\n numeric: 'm',\n '2-digit': 'mm'\n },\n year: {\n numeric: 'y',\n '2-digit': 'yy'\n },\n day: {\n numeric: 'd',\n '2-digit': 'dd'\n },\n month: {\n numeric: 'L',\n '2-digit': 'LL',\n narrow: 'LLLLL',\n short: 'LLL',\n long: 'LLLL'\n },\n weekday: {\n narrow: 'ccccc',\n short: 'ccc',\n long: 'cccc'\n }\n};\n\nfunction generateSyntheticFormat(propName, propValue) {\n if (validSyntheticProps[propName] && validSyntheticProps[propName][propValue]) {\n var _ref2;\n\n return _ref2 = {\n originalPattern: validSyntheticProps[propName][propValue],\n _: defineProperty$1({}, propName, propValue),\n extendedPattern: \"{\" + propName + \"}\"\n }, defineProperty$1(_ref2, propName, propValue), defineProperty$1(_ref2, \"pattern12\", \"{\" + propName + \"}\"), defineProperty$1(_ref2, \"pattern\", \"{\" + propName + \"}\"), _ref2;\n }\n}\n\n// An object map of date component keys, saves using a regex later\nvar dateWidths = objCreate(null, { narrow: {}, short: {}, long: {} });\n\n/**\n * Returns a string for a date component, resolved using multiple inheritance as specified\n * as specified in the Unicode Technical Standard 35.\n */\nfunction resolveDateString(data, ca, component, width, key) {\n // From http://www.unicode.org/reports/tr35/tr35.html#Multiple_Inheritance:\n // 'In clearly specified instances, resources may inherit from within the same locale.\n // For example, ... the Buddhist calendar inherits from the Gregorian calendar.'\n var obj = data[ca] && data[ca][component] ? data[ca][component] : data.gregory[component],\n\n\n // \"sideways\" inheritance resolves strings when a key doesn't exist\n alts = {\n narrow: ['short', 'long'],\n short: ['long', 'narrow'],\n long: ['short', 'narrow']\n },\n\n\n //\n resolved = hop.call(obj, width) ? obj[width] : hop.call(obj, alts[width][0]) ? obj[alts[width][0]] : obj[alts[width][1]];\n\n // `key` wouldn't be specified for components 'dayPeriods'\n return key !== null ? resolved[key] : resolved;\n}\n\n// Define the DateTimeFormat constructor internally so it cannot be tainted\nfunction DateTimeFormatConstructor() {\n var locales = arguments[0];\n var options = arguments[1];\n\n if (!this || this === Intl) {\n return new Intl.DateTimeFormat(locales, options);\n }\n return InitializeDateTimeFormat(toObject(this), locales, options);\n}\n\ndefineProperty(Intl, 'DateTimeFormat', {\n configurable: true,\n writable: true,\n value: DateTimeFormatConstructor\n});\n\n// Must explicitly set prototypes as unwritable\ndefineProperty(DateTimeFormatConstructor, 'prototype', {\n writable: false\n});\n\n/**\n * The abstract operation InitializeDateTimeFormat accepts the arguments dateTimeFormat\n * (which must be an object), locales, and options. It initializes dateTimeFormat as a\n * DateTimeFormat object.\n */\nfunction /* 12.1.1.1 */InitializeDateTimeFormat(dateTimeFormat, locales, options) {\n // This will be a internal properties object if we're not already initialized\n var internal = getInternalProperties(dateTimeFormat);\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore();\n\n // 1. If dateTimeFormat has an [[initializedIntlObject]] internal property with\n // value true, throw a TypeError exception.\n if (internal['[[initializedIntlObject]]'] === true) throw new TypeError('`this` object has already been initialized as an Intl object');\n\n // Need this to access the `internal` object\n defineProperty(dateTimeFormat, '__getInternalProperties', {\n value: function value() {\n // NOTE: Non-standard, for internal use only\n if (arguments[0] === secret) return internal;\n }\n });\n\n // 2. Set the [[initializedIntlObject]] internal property of numberFormat to true.\n internal['[[initializedIntlObject]]'] = true;\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n var requestedLocales = CanonicalizeLocaleList(locales);\n\n // 4. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined below) with arguments options, \"any\", and \"date\".\n options = ToDateTimeOptions(options, 'any', 'date');\n\n // 5. Let opt be a new Record.\n var opt = new Record();\n\n // 6. Let matcher be the result of calling the GetOption abstract operation\n // (defined in 9.2.9) with arguments options, \"localeMatcher\", \"string\", a List\n // containing the two String values \"lookup\" and \"best fit\", and \"best fit\".\n var matcher = GetOption(options, 'localeMatcher', 'string', new List('lookup', 'best fit'), 'best fit');\n\n // 7. Set opt.[[localeMatcher]] to matcher.\n opt['[[localeMatcher]]'] = matcher;\n\n // 8. Let DateTimeFormat be the standard built-in object that is the initial\n // value of Intl.DateTimeFormat.\n var DateTimeFormat = internals.DateTimeFormat; // This is what we *really* need\n\n // 9. Let localeData be the value of the [[localeData]] internal property of\n // DateTimeFormat.\n var localeData = DateTimeFormat['[[localeData]]'];\n\n // 10. Let r be the result of calling the ResolveLocale abstract operation\n // (defined in 9.2.5) with the [[availableLocales]] internal property of\n // DateTimeFormat, requestedLocales, opt, the [[relevantExtensionKeys]]\n // internal property of DateTimeFormat, and localeData.\n var r = ResolveLocale(DateTimeFormat['[[availableLocales]]'], requestedLocales, opt, DateTimeFormat['[[relevantExtensionKeys]]'], localeData);\n\n // 11. Set the [[locale]] internal property of dateTimeFormat to the value of\n // r.[[locale]].\n internal['[[locale]]'] = r['[[locale]]'];\n\n // 12. Set the [[calendar]] internal property of dateTimeFormat to the value of\n // r.[[ca]].\n internal['[[calendar]]'] = r['[[ca]]'];\n\n // 13. Set the [[numberingSystem]] internal property of dateTimeFormat to the value of\n // r.[[nu]].\n internal['[[numberingSystem]]'] = r['[[nu]]'];\n\n // The specification doesn't tell us to do this, but it's helpful later on\n internal['[[dataLocale]]'] = r['[[dataLocale]]'];\n\n // 14. Let dataLocale be the value of r.[[dataLocale]].\n var dataLocale = r['[[dataLocale]]'];\n\n // 15. Let tz be the result of calling the [[Get]] internal method of options with\n // argument \"timeZone\".\n var tz = options.timeZone;\n\n // 16. If tz is not undefined, then\n if (tz !== undefined) {\n // a. Let tz be ToString(tz).\n // b. Convert tz to upper case as described in 6.1.\n // NOTE: If an implementation accepts additional time zone values, as permitted\n // under certain conditions by the Conformance clause, different casing\n // rules apply.\n tz = toLatinUpperCase(tz);\n\n // c. If tz is not \"UTC\", then throw a RangeError exception.\n // ###TODO: accept more time zones###\n if (tz !== 'UTC') throw new RangeError('timeZone is not supported.');\n }\n\n // 17. Set the [[timeZone]] internal property of dateTimeFormat to tz.\n internal['[[timeZone]]'] = tz;\n\n // 18. Let opt be a new Record.\n opt = new Record();\n\n // 19. For each row of Table 3, except the header row, do:\n for (var prop in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, prop)) continue;\n\n // 20. Let prop be the name given in the Property column of the row.\n // 21. Let value be the result of calling the GetOption abstract operation,\n // passing as argument options, the name given in the Property column of the\n // row, \"string\", a List containing the strings given in the Values column of\n // the row, and undefined.\n var value = GetOption(options, prop, 'string', dateTimeComponents[prop]);\n\n // 22. Set opt.[[<prop>]] to value.\n opt['[[' + prop + ']]'] = value;\n }\n\n // Assigned a value below\n var bestFormat = void 0;\n\n // 23. Let dataLocaleData be the result of calling the [[Get]] internal method of\n // localeData with argument dataLocale.\n var dataLocaleData = localeData[dataLocale];\n\n // 24. Let formats be the result of calling the [[Get]] internal method of\n // dataLocaleData with argument \"formats\".\n // Note: we process the CLDR formats into the spec'd structure\n var formats = ToDateTimeFormats(dataLocaleData.formats);\n\n // 25. Let matcher be the result of calling the GetOption abstract operation with\n // arguments options, \"formatMatcher\", \"string\", a List containing the two String\n // values \"basic\" and \"best fit\", and \"best fit\".\n matcher = GetOption(options, 'formatMatcher', 'string', new List('basic', 'best fit'), 'best fit');\n\n // Optimization: caching the processed formats as a one time operation by\n // replacing the initial structure from localeData\n dataLocaleData.formats = formats;\n\n // 26. If matcher is \"basic\", then\n if (matcher === 'basic') {\n // 27. Let bestFormat be the result of calling the BasicFormatMatcher abstract\n // operation (defined below) with opt and formats.\n bestFormat = BasicFormatMatcher(opt, formats);\n\n // 28. Else\n } else {\n {\n // diverging\n var _hr = GetOption(options, 'hour12', 'boolean' /*, undefined, undefined*/);\n opt.hour12 = _hr === undefined ? dataLocaleData.hour12 : _hr;\n }\n // 29. Let bestFormat be the result of calling the BestFitFormatMatcher\n // abstract operation (defined below) with opt and formats.\n bestFormat = BestFitFormatMatcher(opt, formats);\n }\n\n // 30. For each row in Table 3, except the header row, do\n for (var _prop in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, _prop)) continue;\n\n // a. Let prop be the name given in the Property column of the row.\n // b. Let pDesc be the result of calling the [[GetOwnProperty]] internal method of\n // bestFormat with argument prop.\n // c. If pDesc is not undefined, then\n if (hop.call(bestFormat, _prop)) {\n // i. Let p be the result of calling the [[Get]] internal method of bestFormat\n // with argument prop.\n var p = bestFormat[_prop];\n {\n // diverging\n p = bestFormat._ && hop.call(bestFormat._, _prop) ? bestFormat._[_prop] : p;\n }\n\n // ii. Set the [[<prop>]] internal property of dateTimeFormat to p.\n internal['[[' + _prop + ']]'] = p;\n }\n }\n\n var pattern = void 0; // Assigned a value below\n\n // 31. Let hr12 be the result of calling the GetOption abstract operation with\n // arguments options, \"hour12\", \"boolean\", undefined, and undefined.\n var hr12 = GetOption(options, 'hour12', 'boolean' /*, undefined, undefined*/);\n\n // 32. If dateTimeFormat has an internal property [[hour]], then\n if (internal['[[hour]]']) {\n // a. If hr12 is undefined, then let hr12 be the result of calling the [[Get]]\n // internal method of dataLocaleData with argument \"hour12\".\n hr12 = hr12 === undefined ? dataLocaleData.hour12 : hr12;\n\n // b. Set the [[hour12]] internal property of dateTimeFormat to hr12.\n internal['[[hour12]]'] = hr12;\n\n // c. If hr12 is true, then\n if (hr12 === true) {\n // i. Let hourNo0 be the result of calling the [[Get]] internal method of\n // dataLocaleData with argument \"hourNo0\".\n var hourNo0 = dataLocaleData.hourNo0;\n\n // ii. Set the [[hourNo0]] internal property of dateTimeFormat to hourNo0.\n internal['[[hourNo0]]'] = hourNo0;\n\n // iii. Let pattern be the result of calling the [[Get]] internal method of\n // bestFormat with argument \"pattern12\".\n pattern = bestFormat.pattern12;\n }\n\n // d. Else\n else\n // i. Let pattern be the result of calling the [[Get]] internal method of\n // bestFormat with argument \"pattern\".\n pattern = bestFormat.pattern;\n }\n\n // 33. Else\n else\n // a. Let pattern be the result of calling the [[Get]] internal method of\n // bestFormat with argument \"pattern\".\n pattern = bestFormat.pattern;\n\n // 34. Set the [[pattern]] internal property of dateTimeFormat to pattern.\n internal['[[pattern]]'] = pattern;\n\n // 35. Set the [[boundFormat]] internal property of dateTimeFormat to undefined.\n internal['[[boundFormat]]'] = undefined;\n\n // 36. Set the [[initializedDateTimeFormat]] internal property of dateTimeFormat to\n // true.\n internal['[[initializedDateTimeFormat]]'] = true;\n\n // In ES3, we need to pre-bind the format() function\n if (es3) dateTimeFormat.format = GetFormatDateTime.call(dateTimeFormat);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // Return the newly initialised object\n return dateTimeFormat;\n}\n\n/**\n * Several DateTimeFormat algorithms use values from the following table, which provides\n * property names and allowable values for the components of date and time formats:\n */\nvar dateTimeComponents = {\n weekday: [\"narrow\", \"short\", \"long\"],\n era: [\"narrow\", \"short\", \"long\"],\n year: [\"2-digit\", \"numeric\"],\n month: [\"2-digit\", \"numeric\", \"narrow\", \"short\", \"long\"],\n day: [\"2-digit\", \"numeric\"],\n hour: [\"2-digit\", \"numeric\"],\n minute: [\"2-digit\", \"numeric\"],\n second: [\"2-digit\", \"numeric\"],\n timeZoneName: [\"short\", \"long\"]\n};\n\n/**\n * When the ToDateTimeOptions abstract operation is called with arguments options,\n * required, and defaults, the following steps are taken:\n */\nfunction ToDateTimeFormats(formats) {\n if (Object.prototype.toString.call(formats) === '[object Array]') {\n return formats;\n }\n return createDateTimeFormats(formats);\n}\n\n/**\n * When the ToDateTimeOptions abstract operation is called with arguments options,\n * required, and defaults, the following steps are taken:\n */\nfunction ToDateTimeOptions(options, required, defaults) {\n // 1. If options is undefined, then let options be null, else let options be\n // ToObject(options).\n if (options === undefined) options = null;else {\n // (#12) options needs to be a Record, but it also needs to inherit properties\n var opt2 = toObject(options);\n options = new Record();\n\n for (var k in opt2) {\n options[k] = opt2[k];\n }\n }\n\n // 2. Let create be the standard built-in function object defined in ES5, 15.2.3.5.\n var create = objCreate;\n\n // 3. Let options be the result of calling the [[Call]] internal method of create with\n // undefined as the this value and an argument list containing the single item\n // options.\n options = create(options);\n\n // 4. Let needDefaults be true.\n var needDefaults = true;\n\n // 5. If required is \"date\" or \"any\", then\n if (required === 'date' || required === 'any') {\n // a. For each of the property names \"weekday\", \"year\", \"month\", \"day\":\n // i. If the result of calling the [[Get]] internal method of options with the\n // property name is not undefined, then let needDefaults be false.\n if (options.weekday !== undefined || options.year !== undefined || options.month !== undefined || options.day !== undefined) needDefaults = false;\n }\n\n // 6. If required is \"time\" or \"any\", then\n if (required === 'time' || required === 'any') {\n // a. For each of the property names \"hour\", \"minute\", \"second\":\n // i. If the result of calling the [[Get]] internal method of options with the\n // property name is not undefined, then let needDefaults be false.\n if (options.hour !== undefined || options.minute !== undefined || options.second !== undefined) needDefaults = false;\n }\n\n // 7. If needDefaults is true and defaults is either \"date\" or \"all\", then\n if (needDefaults && (defaults === 'date' || defaults === 'all'))\n // a. For each of the property names \"year\", \"month\", \"day\":\n // i. Call the [[DefineOwnProperty]] internal method of options with the\n // property name, Property Descriptor {[[Value]]: \"numeric\", [[Writable]]:\n // true, [[Enumerable]]: true, [[Configurable]]: true}, and false.\n options.year = options.month = options.day = 'numeric';\n\n // 8. If needDefaults is true and defaults is either \"time\" or \"all\", then\n if (needDefaults && (defaults === 'time' || defaults === 'all'))\n // a. For each of the property names \"hour\", \"minute\", \"second\":\n // i. Call the [[DefineOwnProperty]] internal method of options with the\n // property name, Property Descriptor {[[Value]]: \"numeric\", [[Writable]]:\n // true, [[Enumerable]]: true, [[Configurable]]: true}, and false.\n options.hour = options.minute = options.second = 'numeric';\n\n // 9. Return options.\n return options;\n}\n\n/**\n * When the BasicFormatMatcher abstract operation is called with two arguments options and\n * formats, the following steps are taken:\n */\nfunction BasicFormatMatcher(options, formats) {\n // 1. Let removalPenalty be 120.\n var removalPenalty = 120;\n\n // 2. Let additionPenalty be 20.\n var additionPenalty = 20;\n\n // 3. Let longLessPenalty be 8.\n var longLessPenalty = 8;\n\n // 4. Let longMorePenalty be 6.\n var longMorePenalty = 6;\n\n // 5. Let shortLessPenalty be 6.\n var shortLessPenalty = 6;\n\n // 6. Let shortMorePenalty be 3.\n var shortMorePenalty = 3;\n\n // 7. Let bestScore be -Infinity.\n var bestScore = -Infinity;\n\n // 8. Let bestFormat be undefined.\n var bestFormat = void 0;\n\n // 9. Let i be 0.\n var i = 0;\n\n // 10. Assert: formats is an Array object.\n\n // 11. Let len be the result of calling the [[Get]] internal method of formats with argument \"length\".\n var len = formats.length;\n\n // 12. Repeat while i < len:\n while (i < len) {\n // a. Let format be the result of calling the [[Get]] internal method of formats with argument ToString(i).\n var format = formats[i];\n\n // b. Let score be 0.\n var score = 0;\n\n // c. For each property shown in Table 3:\n for (var property in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, property)) continue;\n\n // i. Let optionsProp be options.[[<property>]].\n var optionsProp = options['[[' + property + ']]'];\n\n // ii. Let formatPropDesc be the result of calling the [[GetOwnProperty]] internal method of format\n // with argument property.\n // iii. If formatPropDesc is not undefined, then\n // 1. Let formatProp be the result of calling the [[Get]] internal method of format with argument property.\n var formatProp = hop.call(format, property) ? format[property] : undefined;\n\n // iv. If optionsProp is undefined and formatProp is not undefined, then decrease score by\n // additionPenalty.\n if (optionsProp === undefined && formatProp !== undefined) score -= additionPenalty;\n\n // v. Else if optionsProp is not undefined and formatProp is undefined, then decrease score by\n // removalPenalty.\n else if (optionsProp !== undefined && formatProp === undefined) score -= removalPenalty;\n\n // vi. Else\n else {\n // 1. Let values be the array [\"2-digit\", \"numeric\", \"narrow\", \"short\",\n // \"long\"].\n var values = ['2-digit', 'numeric', 'narrow', 'short', 'long'];\n\n // 2. Let optionsPropIndex be the index of optionsProp within values.\n var optionsPropIndex = arrIndexOf.call(values, optionsProp);\n\n // 3. Let formatPropIndex be the index of formatProp within values.\n var formatPropIndex = arrIndexOf.call(values, formatProp);\n\n // 4. Let delta be max(min(formatPropIndex - optionsPropIndex, 2), -2).\n var delta = Math.max(Math.min(formatPropIndex - optionsPropIndex, 2), -2);\n\n // 5. If delta = 2, decrease score by longMorePenalty.\n if (delta === 2) score -= longMorePenalty;\n\n // 6. Else if delta = 1, decrease score by shortMorePenalty.\n else if (delta === 1) score -= shortMorePenalty;\n\n // 7. Else if delta = -1, decrease score by shortLessPenalty.\n else if (delta === -1) score -= shortLessPenalty;\n\n // 8. Else if delta = -2, decrease score by longLessPenalty.\n else if (delta === -2) score -= longLessPenalty;\n }\n }\n\n // d. If score > bestScore, then\n if (score > bestScore) {\n // i. Let bestScore be score.\n bestScore = score;\n\n // ii. Let bestFormat be format.\n bestFormat = format;\n }\n\n // e. Increase i by 1.\n i++;\n }\n\n // 13. Return bestFormat.\n return bestFormat;\n}\n\n/**\n * When the BestFitFormatMatcher abstract operation is called with two arguments options\n * and formats, it performs implementation dependent steps, which should return a set of\n * component representations that a typical user of the selected locale would perceive as\n * at least as good as the one returned by BasicFormatMatcher.\n *\n * This polyfill defines the algorithm to be the same as BasicFormatMatcher,\n * with the addition of bonus points awarded where the requested format is of\n * the same data type as the potentially matching format.\n *\n * This algo relies on the concept of closest distance matching described here:\n * http://unicode.org/reports/tr35/tr35-dates.html#Matching_Skeletons\n * Typically a “best match” is found using a closest distance match, such as:\n *\n * Symbols requesting a best choice for the locale are replaced.\n * j → one of {H, k, h, K}; C → one of {a, b, B}\n * -> Covered by cldr.js matching process\n *\n * For fields with symbols representing the same type (year, month, day, etc):\n * Most symbols have a small distance from each other.\n * M ≅ L; E ≅ c; a ≅ b ≅ B; H ≅ k ≅ h ≅ K; ...\n * -> Covered by cldr.js matching process\n *\n * Width differences among fields, other than those marking text vs numeric, are given small distance from each other.\n * MMM ≅ MMMM\n * MM ≅ M\n * Numeric and text fields are given a larger distance from each other.\n * MMM ≈ MM\n * Symbols representing substantial differences (week of year vs week of month) are given much larger a distances from each other.\n * d ≋ D; ...\n * Missing or extra fields cause a match to fail. (But see Missing Skeleton Fields).\n *\n *\n * For example,\n *\n * { month: 'numeric', day: 'numeric' }\n *\n * should match\n *\n * { month: '2-digit', day: '2-digit' }\n *\n * rather than\n *\n * { month: 'short', day: 'numeric' }\n *\n * This makes sense because a user requesting a formatted date with numeric parts would\n * not expect to see the returned format containing narrow, short or long part names\n */\nfunction BestFitFormatMatcher(options, formats) {\n /** Diverging: this block implements the hack for single property configuration, eg.:\n *\n * `new Intl.DateTimeFormat('en', {day: 'numeric'})`\n *\n * should produce a single digit with the day of the month. This is needed because\n * CLDR `availableFormats` data structure doesn't cover these cases.\n */\n {\n var optionsPropNames = [];\n for (var property in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, property)) continue;\n\n if (options['[[' + property + ']]'] !== undefined) {\n optionsPropNames.push(property);\n }\n }\n if (optionsPropNames.length === 1) {\n var _bestFormat = generateSyntheticFormat(optionsPropNames[0], options['[[' + optionsPropNames[0] + ']]']);\n if (_bestFormat) {\n return _bestFormat;\n }\n }\n }\n\n // 1. Let removalPenalty be 120.\n var removalPenalty = 120;\n\n // 2. Let additionPenalty be 20.\n var additionPenalty = 20;\n\n // 3. Let longLessPenalty be 8.\n var longLessPenalty = 8;\n\n // 4. Let longMorePenalty be 6.\n var longMorePenalty = 6;\n\n // 5. Let shortLessPenalty be 6.\n var shortLessPenalty = 6;\n\n // 6. Let shortMorePenalty be 3.\n var shortMorePenalty = 3;\n\n var patternPenalty = 2;\n\n var hour12Penalty = 1;\n\n // 7. Let bestScore be -Infinity.\n var bestScore = -Infinity;\n\n // 8. Let bestFormat be undefined.\n var bestFormat = void 0;\n\n // 9. Let i be 0.\n var i = 0;\n\n // 10. Assert: formats is an Array object.\n\n // 11. Let len be the result of calling the [[Get]] internal method of formats with argument \"length\".\n var len = formats.length;\n\n // 12. Repeat while i < len:\n while (i < len) {\n // a. Let format be the result of calling the [[Get]] internal method of formats with argument ToString(i).\n var format = formats[i];\n\n // b. Let score be 0.\n var score = 0;\n\n // c. For each property shown in Table 3:\n for (var _property in dateTimeComponents) {\n if (!hop.call(dateTimeComponents, _property)) continue;\n\n // i. Let optionsProp be options.[[<property>]].\n var optionsProp = options['[[' + _property + ']]'];\n\n // ii. Let formatPropDesc be the result of calling the [[GetOwnProperty]] internal method of format\n // with argument property.\n // iii. If formatPropDesc is not undefined, then\n // 1. Let formatProp be the result of calling the [[Get]] internal method of format with argument property.\n var formatProp = hop.call(format, _property) ? format[_property] : undefined;\n\n // Diverging: using the default properties produced by the pattern/skeleton\n // to match it with user options, and apply a penalty\n var patternProp = hop.call(format._, _property) ? format._[_property] : undefined;\n if (optionsProp !== patternProp) {\n score -= patternPenalty;\n }\n\n // iv. If optionsProp is undefined and formatProp is not undefined, then decrease score by\n // additionPenalty.\n if (optionsProp === undefined && formatProp !== undefined) score -= additionPenalty;\n\n // v. Else if optionsProp is not undefined and formatProp is undefined, then decrease score by\n // removalPenalty.\n else if (optionsProp !== undefined && formatProp === undefined) score -= removalPenalty;\n\n // vi. Else\n else {\n // 1. Let values be the array [\"2-digit\", \"numeric\", \"narrow\", \"short\",\n // \"long\"].\n var values = ['2-digit', 'numeric', 'narrow', 'short', 'long'];\n\n // 2. Let optionsPropIndex be the index of optionsProp within values.\n var optionsPropIndex = arrIndexOf.call(values, optionsProp);\n\n // 3. Let formatPropIndex be the index of formatProp within values.\n var formatPropIndex = arrIndexOf.call(values, formatProp);\n\n // 4. Let delta be max(min(formatPropIndex - optionsPropIndex, 2), -2).\n var delta = Math.max(Math.min(formatPropIndex - optionsPropIndex, 2), -2);\n\n {\n // diverging from spec\n // When the bestFit argument is true, subtract additional penalty where data types are not the same\n if (formatPropIndex <= 1 && optionsPropIndex >= 2 || formatPropIndex >= 2 && optionsPropIndex <= 1) {\n // 5. If delta = 2, decrease score by longMorePenalty.\n if (delta > 0) score -= longMorePenalty;else if (delta < 0) score -= longLessPenalty;\n } else {\n // 5. If delta = 2, decrease score by longMorePenalty.\n if (delta > 1) score -= shortMorePenalty;else if (delta < -1) score -= shortLessPenalty;\n }\n }\n }\n }\n\n {\n // diverging to also take into consideration differences between 12 or 24 hours\n // which is special for the best fit only.\n if (format._.hour12 !== options.hour12) {\n score -= hour12Penalty;\n }\n }\n\n // d. If score > bestScore, then\n if (score > bestScore) {\n // i. Let bestScore be score.\n bestScore = score;\n // ii. Let bestFormat be format.\n bestFormat = format;\n }\n\n // e. Increase i by 1.\n i++;\n }\n\n // 13. Return bestFormat.\n return bestFormat;\n}\n\n/* 12.2.3 */internals.DateTimeFormat = {\n '[[availableLocales]]': [],\n '[[relevantExtensionKeys]]': ['ca', 'nu'],\n '[[localeData]]': {}\n};\n\n/**\n * When the supportedLocalesOf method of Intl.DateTimeFormat is called, the\n * following steps are taken:\n */\n/* 12.2.2 */\ndefineProperty(Intl.DateTimeFormat, 'supportedLocalesOf', {\n configurable: true,\n writable: true,\n value: fnBind.call(function (locales) {\n // Bound functions only have the `this` value altered if being used as a constructor,\n // this lets us imitate a native function that has no constructor\n if (!hop.call(this, '[[availableLocales]]')) throw new TypeError('supportedLocalesOf() is not a constructor');\n\n // Create an object whose props can be used to restore the values of RegExp props\n var regexpRestore = createRegExpRestore(),\n\n\n // 1. If options is not provided, then let options be undefined.\n options = arguments[1],\n\n\n // 2. Let availableLocales be the value of the [[availableLocales]] internal\n // property of the standard built-in object that is the initial value of\n // Intl.NumberFormat.\n\n availableLocales = this['[[availableLocales]]'],\n\n\n // 3. Let requestedLocales be the result of calling the CanonicalizeLocaleList\n // abstract operation (defined in 9.2.1) with argument locales.\n requestedLocales = CanonicalizeLocaleList(locales);\n\n // Restore the RegExp properties\n regexpRestore();\n\n // 4. Return the result of calling the SupportedLocales abstract operation\n // (defined in 9.2.8) with arguments availableLocales, requestedLocales,\n // and options.\n return SupportedLocales(availableLocales, requestedLocales, options);\n }, internals.NumberFormat)\n});\n\n/**\n * This named accessor property returns a function that formats a number\n * according to the effective locale and the formatting options of this\n * DateTimeFormat object.\n */\n/* 12.3.2 */defineProperty(Intl.DateTimeFormat.prototype, 'format', {\n configurable: true,\n get: GetFormatDateTime\n});\n\nfunction GetFormatDateTime() {\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 12.3_b\n if (!internal || !internal['[[initializedDateTimeFormat]]']) throw new TypeError('`this` value for format() is not an initialized Intl.DateTimeFormat object.');\n\n // The value of the [[Get]] attribute is a function that takes the following\n // steps:\n\n // 1. If the [[boundFormat]] internal property of this DateTimeFormat object\n // is undefined, then:\n if (internal['[[boundFormat]]'] === undefined) {\n // a. Let F be a Function object, with internal properties set as\n // specified for built-in functions in ES5, 15, or successor, and the\n // length property set to 0, that takes the argument date and\n // performs the following steps:\n var F = function F() {\n var date = arguments.length <= 0 || arguments[0] === undefined ? undefined : arguments[0];\n\n // i. If date is not provided or is undefined, then let x be the\n // result as if by the expression Date.now() where Date.now is\n // the standard built-in function defined in ES5, 15.9.4.4.\n // ii. Else let x be ToNumber(date).\n // iii. Return the result of calling the FormatDateTime abstract\n // operation (defined below) with arguments this and x.\n var x = date === undefined ? Date.now() : toNumber(date);\n return FormatDateTime(this, x);\n };\n // b. Let bind be the standard built-in function object defined in ES5,\n // 15.3.4.5.\n // c. Let bf be the result of calling the [[Call]] internal method of\n // bind with F as the this value and an argument list containing\n // the single item this.\n var bf = fnBind.call(F, this);\n // d. Set the [[boundFormat]] internal property of this NumberFormat\n // object to bf.\n internal['[[boundFormat]]'] = bf;\n }\n // Return the value of the [[boundFormat]] internal property of this\n // NumberFormat object.\n return internal['[[boundFormat]]'];\n}\n\nfunction formatToParts$1() {\n var date = arguments.length <= 0 || arguments[0] === undefined ? undefined : arguments[0];\n\n var internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n if (!internal || !internal['[[initializedDateTimeFormat]]']) throw new TypeError('`this` value for formatToParts() is not an initialized Intl.DateTimeFormat object.');\n\n var x = date === undefined ? Date.now() : toNumber(date);\n return FormatToPartsDateTime(this, x);\n}\n\nObject.defineProperty(Intl.DateTimeFormat.prototype, 'formatToParts', {\n enumerable: false,\n writable: true,\n configurable: true,\n value: formatToParts$1\n});\n\nfunction CreateDateTimeParts(dateTimeFormat, x) {\n // 1. If x is not a finite Number, then throw a RangeError exception.\n if (!isFinite(x)) throw new RangeError('Invalid valid date passed to format');\n\n var internal = dateTimeFormat.__getInternalProperties(secret);\n\n // Creating restore point for properties on the RegExp object... please wait\n /* let regexpRestore = */createRegExpRestore(); // ###TODO: review this\n\n // 2. Let locale be the value of the [[locale]] internal property of dateTimeFormat.\n var locale = internal['[[locale]]'];\n\n // 3. Let nf be the result of creating a new NumberFormat object as if by the\n // expression new Intl.NumberFormat([locale], {useGrouping: false}) where\n // Intl.NumberFormat is the standard built-in constructor defined in 11.1.3.\n var nf = new Intl.NumberFormat([locale], { useGrouping: false });\n\n // 4. Let nf2 be the result of creating a new NumberFormat object as if by the\n // expression new Intl.NumberFormat([locale], {minimumIntegerDigits: 2, useGrouping:\n // false}) where Intl.NumberFormat is the standard built-in constructor defined in\n // 11.1.3.\n var nf2 = new Intl.NumberFormat([locale], { minimumIntegerDigits: 2, useGrouping: false });\n\n // 5. Let tm be the result of calling the ToLocalTime abstract operation (defined\n // below) with x, the value of the [[calendar]] internal property of dateTimeFormat,\n // and the value of the [[timeZone]] internal property of dateTimeFormat.\n var tm = ToLocalTime(x, internal['[[calendar]]'], internal['[[timeZone]]']);\n\n // 6. Let result be the value of the [[pattern]] internal property of dateTimeFormat.\n var pattern = internal['[[pattern]]'];\n\n // 7.\n var result = new List();\n\n // 8.\n var index = 0;\n\n // 9.\n var beginIndex = pattern.indexOf('{');\n\n // 10.\n var endIndex = 0;\n\n // Need the locale minus any extensions\n var dataLocale = internal['[[dataLocale]]'];\n\n // Need the calendar data from CLDR\n var localeData = internals.DateTimeFormat['[[localeData]]'][dataLocale].calendars;\n var ca = internal['[[calendar]]'];\n\n // 11.\n while (beginIndex !== -1) {\n var fv = void 0;\n // a.\n endIndex = pattern.indexOf('}', beginIndex);\n // b.\n if (endIndex === -1) {\n throw new Error('Unclosed pattern');\n }\n // c.\n if (beginIndex > index) {\n arrPush.call(result, {\n type: 'literal',\n value: pattern.substring(index, beginIndex)\n });\n }\n // d.\n var p = pattern.substring(beginIndex + 1, endIndex);\n // e.\n if (dateTimeComponents.hasOwnProperty(p)) {\n // i. Let f be the value of the [[<p>]] internal property of dateTimeFormat.\n var f = internal['[[' + p + ']]'];\n // ii. Let v be the value of tm.[[<p>]].\n var v = tm['[[' + p + ']]'];\n // iii. If p is \"year\" and v ≤ 0, then let v be 1 - v.\n if (p === 'year' && v <= 0) {\n v = 1 - v;\n }\n // iv. If p is \"month\", then increase v by 1.\n else if (p === 'month') {\n v++;\n }\n // v. If p is \"hour\" and the value of the [[hour12]] internal property of\n // dateTimeFormat is true, then\n else if (p === 'hour' && internal['[[hour12]]'] === true) {\n // 1. Let v be v modulo 12.\n v = v % 12;\n // 2. If v is 0 and the value of the [[hourNo0]] internal property of\n // dateTimeFormat is true, then let v be 12.\n if (v === 0 && internal['[[hourNo0]]'] === true) {\n v = 12;\n }\n }\n\n // vi. If f is \"numeric\", then\n if (f === 'numeric') {\n // 1. Let fv be the result of calling the FormatNumber abstract operation\n // (defined in 11.3.2) with arguments nf and v.\n fv = FormatNumber(nf, v);\n }\n // vii. Else if f is \"2-digit\", then\n else if (f === '2-digit') {\n // 1. Let fv be the result of calling the FormatNumber abstract operation\n // with arguments nf2 and v.\n fv = FormatNumber(nf2, v);\n // 2. If the length of fv is greater than 2, let fv be the substring of fv\n // containing the last two characters.\n if (fv.length > 2) {\n fv = fv.slice(-2);\n }\n }\n // viii. Else if f is \"narrow\", \"short\", or \"long\", then let fv be a String\n // value representing f in the desired form; the String value depends upon\n // the implementation and the effective locale and calendar of\n // dateTimeFormat. If p is \"month\", then the String value may also depend\n // on whether dateTimeFormat has a [[day]] internal property. If p is\n // \"timeZoneName\", then the String value may also depend on the value of\n // the [[inDST]] field of tm.\n else if (f in dateWidths) {\n switch (p) {\n case 'month':\n fv = resolveDateString(localeData, ca, 'months', f, tm['[[' + p + ']]']);\n break;\n\n case 'weekday':\n try {\n fv = resolveDateString(localeData, ca, 'days', f, tm['[[' + p + ']]']);\n // fv = resolveDateString(ca.days, f)[tm['[['+ p +']]']];\n } catch (e) {\n throw new Error('Could not find weekday data for locale ' + locale);\n }\n break;\n\n case 'timeZoneName':\n fv = ''; // ###TODO\n break;\n\n case 'era':\n try {\n fv = resolveDateString(localeData, ca, 'eras', f, tm['[[' + p + ']]']);\n } catch (e) {\n throw new Error('Could not find era data for locale ' + locale);\n }\n break;\n\n default:\n fv = tm['[[' + p + ']]'];\n }\n }\n // ix\n arrPush.call(result, {\n type: p,\n value: fv\n });\n // f.\n } else if (p === 'ampm') {\n // i.\n var _v = tm['[[hour]]'];\n // ii./iii.\n fv = resolveDateString(localeData, ca, 'dayPeriods', _v > 11 ? 'pm' : 'am', null);\n // iv.\n arrPush.call(result, {\n type: 'dayPeriod',\n value: fv\n });\n // g.\n } else {\n arrPush.call(result, {\n type: 'literal',\n value: pattern.substring(beginIndex, endIndex + 1)\n });\n }\n // h.\n index = endIndex + 1;\n // i.\n beginIndex = pattern.indexOf('{', index);\n }\n // 12.\n if (endIndex < pattern.length - 1) {\n arrPush.call(result, {\n type: 'literal',\n value: pattern.substr(endIndex + 1)\n });\n }\n // 13.\n return result;\n}\n\n/**\n * When the FormatDateTime abstract operation is called with arguments dateTimeFormat\n * (which must be an object initialized as a DateTimeFormat) and x (which must be a Number\n * value), it returns a String value representing x (interpreted as a time value as\n * specified in ES5, 15.9.1.1) according to the effective locale and the formatting\n * options of dateTimeFormat.\n */\nfunction FormatDateTime(dateTimeFormat, x) {\n var parts = CreateDateTimeParts(dateTimeFormat, x);\n var result = '';\n\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n result += part.value;\n }\n return result;\n}\n\nfunction FormatToPartsDateTime(dateTimeFormat, x) {\n var parts = CreateDateTimeParts(dateTimeFormat, x);\n var result = [];\n for (var i = 0; parts.length > i; i++) {\n var part = parts[i];\n result.push({\n type: part.type,\n value: part.value\n });\n }\n return result;\n}\n\n/**\n * When the ToLocalTime abstract operation is called with arguments date, calendar, and\n * timeZone, the following steps are taken:\n */\nfunction ToLocalTime(date, calendar, timeZone) {\n // 1. Apply calendrical calculations on date for the given calendar and time zone to\n // produce weekday, era, year, month, day, hour, minute, second, and inDST values.\n // The calculations should use best available information about the specified\n // calendar and time zone. If the calendar is \"gregory\", then the calculations must\n // match the algorithms specified in ES5, 15.9.1, except that calculations are not\n // bound by the restrictions on the use of best available information on time zones\n // for local time zone adjustment and daylight saving time adjustment imposed by\n // ES5, 15.9.1.7 and 15.9.1.8.\n // ###TODO###\n var d = new Date(date),\n m = 'get' + (timeZone || '');\n\n // 2. Return a Record with fields [[weekday]], [[era]], [[year]], [[month]], [[day]],\n // [[hour]], [[minute]], [[second]], and [[inDST]], each with the corresponding\n // calculated value.\n return new Record({\n '[[weekday]]': d[m + 'Day'](),\n '[[era]]': +(d[m + 'FullYear']() >= 0),\n '[[year]]': d[m + 'FullYear'](),\n '[[month]]': d[m + 'Month'](),\n '[[day]]': d[m + 'Date'](),\n '[[hour]]': d[m + 'Hours'](),\n '[[minute]]': d[m + 'Minutes'](),\n '[[second]]': d[m + 'Seconds'](),\n '[[inDST]]': false // ###TODO###\n });\n}\n\n/**\n * The function returns a new object whose properties and attributes are set as if\n * constructed by an object literal assigning to each of the following properties the\n * value of the corresponding internal property of this DateTimeFormat object (see 12.4):\n * locale, calendar, numberingSystem, timeZone, hour12, weekday, era, year, month, day,\n * hour, minute, second, and timeZoneName. Properties whose corresponding internal\n * properties are not present are not assigned.\n */\n/* 12.3.3 */defineProperty(Intl.DateTimeFormat.prototype, 'resolvedOptions', {\n writable: true,\n configurable: true,\n value: function value() {\n var prop = void 0,\n descs = new Record(),\n props = ['locale', 'calendar', 'numberingSystem', 'timeZone', 'hour12', 'weekday', 'era', 'year', 'month', 'day', 'hour', 'minute', 'second', 'timeZoneName'],\n internal = this !== null && babelHelpers$1[\"typeof\"](this) === 'object' && getInternalProperties(this);\n\n // Satisfy test 12.3_b\n if (!internal || !internal['[[initializedDateTimeFormat]]']) throw new TypeError('`this` value for resolvedOptions() is not an initialized Intl.DateTimeFormat object.');\n\n for (var i = 0, max = props.length; i < max; i++) {\n if (hop.call(internal, prop = '[[' + props[i] + ']]')) descs[props[i]] = { value: internal[prop], writable: true, configurable: true, enumerable: true };\n }\n\n return objCreate({}, descs);\n }\n});\n\nvar ls = Intl.__localeSensitiveProtos = {\n Number: {},\n Date: {}\n};\n\n/**\n * When the toLocaleString method is called with optional arguments locales and options,\n * the following steps are taken:\n */\n/* 13.2.1 */ls.Number.toLocaleString = function () {\n // Satisfy test 13.2.1_1\n if (Object.prototype.toString.call(this) !== '[object Number]') throw new TypeError('`this` value must be a number for Number.prototype.toLocaleString()');\n\n // 1. Let x be this Number value (as defined in ES5, 15.7.4).\n // 2. If locales is not provided, then let locales be undefined.\n // 3. If options is not provided, then let options be undefined.\n // 4. Let numberFormat be the result of creating a new object as if by the\n // expression new Intl.NumberFormat(locales, options) where\n // Intl.NumberFormat is the standard built-in constructor defined in 11.1.3.\n // 5. Return the result of calling the FormatNumber abstract operation\n // (defined in 11.3.2) with arguments numberFormat and x.\n return FormatNumber(new NumberFormatConstructor(arguments[0], arguments[1]), this);\n};\n\n/**\n * When the toLocaleString method is called with optional arguments locales and options,\n * the following steps are taken:\n */\n/* 13.3.1 */ls.Date.toLocaleString = function () {\n // Satisfy test 13.3.0_1\n if (Object.prototype.toString.call(this) !== '[object Date]') throw new TypeError('`this` value must be a Date instance for Date.prototype.toLocaleString()');\n\n // 1. Let x be this time value (as defined in ES5, 15.9.5).\n var x = +this;\n\n // 2. If x is NaN, then return \"Invalid Date\".\n if (isNaN(x)) return 'Invalid Date';\n\n // 3. If locales is not provided, then let locales be undefined.\n var locales = arguments[0];\n\n // 4. If options is not provided, then let options be undefined.\n var options = arguments[1];\n\n // 5. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined in 12.1.1) with arguments options, \"any\", and \"all\".\n options = ToDateTimeOptions(options, 'any', 'all');\n\n // 6. Let dateTimeFormat be the result of creating a new object as if by the\n // expression new Intl.DateTimeFormat(locales, options) where\n // Intl.DateTimeFormat is the standard built-in constructor defined in 12.1.3.\n var dateTimeFormat = new DateTimeFormatConstructor(locales, options);\n\n // 7. Return the result of calling the FormatDateTime abstract operation (defined\n // in 12.3.2) with arguments dateTimeFormat and x.\n return FormatDateTime(dateTimeFormat, x);\n};\n\n/**\n * When the toLocaleDateString method is called with optional arguments locales and\n * options, the following steps are taken:\n */\n/* 13.3.2 */ls.Date.toLocaleDateString = function () {\n // Satisfy test 13.3.0_1\n if (Object.prototype.toString.call(this) !== '[object Date]') throw new TypeError('`this` value must be a Date instance for Date.prototype.toLocaleDateString()');\n\n // 1. Let x be this time value (as defined in ES5, 15.9.5).\n var x = +this;\n\n // 2. If x is NaN, then return \"Invalid Date\".\n if (isNaN(x)) return 'Invalid Date';\n\n // 3. If locales is not provided, then let locales be undefined.\n var locales = arguments[0],\n\n\n // 4. If options is not provided, then let options be undefined.\n options = arguments[1];\n\n // 5. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined in 12.1.1) with arguments options, \"date\", and \"date\".\n options = ToDateTimeOptions(options, 'date', 'date');\n\n // 6. Let dateTimeFormat be the result of creating a new object as if by the\n // expression new Intl.DateTimeFormat(locales, options) where\n // Intl.DateTimeFormat is the standard built-in constructor defined in 12.1.3.\n var dateTimeFormat = new DateTimeFormatConstructor(locales, options);\n\n // 7. Return the result of calling the FormatDateTime abstract operation (defined\n // in 12.3.2) with arguments dateTimeFormat and x.\n return FormatDateTime(dateTimeFormat, x);\n};\n\n/**\n * When the toLocaleTimeString method is called with optional arguments locales and\n * options, the following steps are taken:\n */\n/* 13.3.3 */ls.Date.toLocaleTimeString = function () {\n // Satisfy test 13.3.0_1\n if (Object.prototype.toString.call(this) !== '[object Date]') throw new TypeError('`this` value must be a Date instance for Date.prototype.toLocaleTimeString()');\n\n // 1. Let x be this time value (as defined in ES5, 15.9.5).\n var x = +this;\n\n // 2. If x is NaN, then return \"Invalid Date\".\n if (isNaN(x)) return 'Invalid Date';\n\n // 3. If locales is not provided, then let locales be undefined.\n var locales = arguments[0];\n\n // 4. If options is not provided, then let options be undefined.\n var options = arguments[1];\n\n // 5. Let options be the result of calling the ToDateTimeOptions abstract\n // operation (defined in 12.1.1) with arguments options, \"time\", and \"time\".\n options = ToDateTimeOptions(options, 'time', 'time');\n\n // 6. Let dateTimeFormat be the result of creating a new object as if by the\n // expression new Intl.DateTimeFormat(locales, options) where\n // Intl.DateTimeFormat is the standard built-in constructor defined in 12.1.3.\n var dateTimeFormat = new DateTimeFormatConstructor(locales, options);\n\n // 7. Return the result of calling the FormatDateTime abstract operation (defined\n // in 12.3.2) with arguments dateTimeFormat and x.\n return FormatDateTime(dateTimeFormat, x);\n};\n\ndefineProperty(Intl, '__applyLocaleSensitivePrototypes', {\n writable: true,\n configurable: true,\n value: function value() {\n defineProperty(Number.prototype, 'toLocaleString', { writable: true, configurable: true, value: ls.Number.toLocaleString });\n // Need this here for IE 8, to avoid the _DontEnum_ bug\n defineProperty(Date.prototype, 'toLocaleString', { writable: true, configurable: true, value: ls.Date.toLocaleString });\n\n for (var k in ls.Date) {\n if (hop.call(ls.Date, k)) defineProperty(Date.prototype, k, { writable: true, configurable: true, value: ls.Date[k] });\n }\n }\n});\n\n/**\n * Can't really ship a single script with data for hundreds of locales, so we provide\n * this __addLocaleData method as a means for the developer to add the data on an\n * as-needed basis\n */\ndefineProperty(Intl, '__addLocaleData', {\n value: function value(data) {\n if (!IsStructurallyValidLanguageTag(data.locale)) throw new Error(\"Object passed doesn't identify itself with a valid language tag\");\n\n addLocaleData(data, data.locale);\n }\n});\n\nfunction addLocaleData(data, tag) {\n // Both NumberFormat and DateTimeFormat require number data, so throw if it isn't present\n if (!data.number) throw new Error(\"Object passed doesn't contain locale data for Intl.NumberFormat\");\n\n var locale = void 0,\n locales = [tag],\n parts = tag.split('-');\n\n // Create fallbacks for locale data with scripts, e.g. Latn, Hans, Vaii, etc\n if (parts.length > 2 && parts[1].length === 4) arrPush.call(locales, parts[0] + '-' + parts[2]);\n\n while (locale = arrShift.call(locales)) {\n // Add to NumberFormat internal properties as per 11.2.3\n arrPush.call(internals.NumberFormat['[[availableLocales]]'], locale);\n internals.NumberFormat['[[localeData]]'][locale] = data.number;\n\n // ...and DateTimeFormat internal properties as per 12.2.3\n if (data.date) {\n data.date.nu = data.number.nu;\n arrPush.call(internals.DateTimeFormat['[[availableLocales]]'], locale);\n internals.DateTimeFormat['[[localeData]]'][locale] = data.date;\n }\n }\n\n // If this is the first set of locale data added, make it the default\n if (defaultLocale === undefined) setDefaultLocale(tag);\n}\n\ndefineProperty(Intl, '__disableRegExpRestore', {\n value: function value() {\n internals.disableRegExpRestore = true;\n }\n});\n\nmodule.exports = Intl;","var map = {\n\t\"./af\": 161,\n\t\"./af.js\": 161,\n\t\"./ar\": 162,\n\t\"./ar-dz\": 163,\n\t\"./ar-dz.js\": 163,\n\t\"./ar-kw\": 164,\n\t\"./ar-kw.js\": 164,\n\t\"./ar-ly\": 165,\n\t\"./ar-ly.js\": 165,\n\t\"./ar-ma\": 166,\n\t\"./ar-ma.js\": 166,\n\t\"./ar-sa\": 167,\n\t\"./ar-sa.js\": 167,\n\t\"./ar-tn\": 168,\n\t\"./ar-tn.js\": 168,\n\t\"./ar.js\": 162,\n\t\"./az\": 169,\n\t\"./az.js\": 169,\n\t\"./be\": 170,\n\t\"./be.js\": 170,\n\t\"./bg\": 171,\n\t\"./bg.js\": 171,\n\t\"./bm\": 172,\n\t\"./bm.js\": 172,\n\t\"./bn\": 173,\n\t\"./bn.js\": 173,\n\t\"./bo\": 174,\n\t\"./bo.js\": 174,\n\t\"./br\": 175,\n\t\"./br.js\": 175,\n\t\"./bs\": 176,\n\t\"./bs.js\": 176,\n\t\"./ca\": 177,\n\t\"./ca.js\": 177,\n\t\"./cs\": 178,\n\t\"./cs.js\": 178,\n\t\"./cv\": 179,\n\t\"./cv.js\": 179,\n\t\"./cy\": 180,\n\t\"./cy.js\": 180,\n\t\"./da\": 181,\n\t\"./da.js\": 181,\n\t\"./de\": 182,\n\t\"./de-at\": 183,\n\t\"./de-at.js\": 183,\n\t\"./de-ch\": 184,\n\t\"./de-ch.js\": 184,\n\t\"./de.js\": 182,\n\t\"./dv\": 185,\n\t\"./dv.js\": 185,\n\t\"./el\": 186,\n\t\"./el.js\": 186,\n\t\"./en-au\": 187,\n\t\"./en-au.js\": 187,\n\t\"./en-ca\": 188,\n\t\"./en-ca.js\": 188,\n\t\"./en-gb\": 189,\n\t\"./en-gb.js\": 189,\n\t\"./en-ie\": 190,\n\t\"./en-ie.js\": 190,\n\t\"./en-il\": 191,\n\t\"./en-il.js\": 191,\n\t\"./en-nz\": 192,\n\t\"./en-nz.js\": 192,\n\t\"./eo\": 193,\n\t\"./eo.js\": 193,\n\t\"./es\": 194,\n\t\"./es-do\": 195,\n\t\"./es-do.js\": 195,\n\t\"./es-us\": 196,\n\t\"./es-us.js\": 196,\n\t\"./es.js\": 194,\n\t\"./et\": 197,\n\t\"./et.js\": 197,\n\t\"./eu\": 198,\n\t\"./eu.js\": 198,\n\t\"./fa\": 199,\n\t\"./fa.js\": 199,\n\t\"./fi\": 200,\n\t\"./fi.js\": 200,\n\t\"./fo\": 201,\n\t\"./fo.js\": 201,\n\t\"./fr\": 202,\n\t\"./fr-ca\": 203,\n\t\"./fr-ca.js\": 203,\n\t\"./fr-ch\": 204,\n\t\"./fr-ch.js\": 204,\n\t\"./fr.js\": 202,\n\t\"./fy\": 205,\n\t\"./fy.js\": 205,\n\t\"./gd\": 206,\n\t\"./gd.js\": 206,\n\t\"./gl\": 207,\n\t\"./gl.js\": 207,\n\t\"./gom-latn\": 208,\n\t\"./gom-latn.js\": 208,\n\t\"./gu\": 209,\n\t\"./gu.js\": 209,\n\t\"./he\": 210,\n\t\"./he.js\": 210,\n\t\"./hi\": 211,\n\t\"./hi.js\": 211,\n\t\"./hr\": 212,\n\t\"./hr.js\": 212,\n\t\"./hu\": 213,\n\t\"./hu.js\": 213,\n\t\"./hy-am\": 214,\n\t\"./hy-am.js\": 214,\n\t\"./id\": 215,\n\t\"./id.js\": 215,\n\t\"./is\": 216,\n\t\"./is.js\": 216,\n\t\"./it\": 217,\n\t\"./it.js\": 217,\n\t\"./ja\": 218,\n\t\"./ja.js\": 218,\n\t\"./jv\": 219,\n\t\"./jv.js\": 219,\n\t\"./ka\": 220,\n\t\"./ka.js\": 220,\n\t\"./kk\": 221,\n\t\"./kk.js\": 221,\n\t\"./km\": 222,\n\t\"./km.js\": 222,\n\t\"./kn\": 223,\n\t\"./kn.js\": 223,\n\t\"./ko\": 224,\n\t\"./ko.js\": 224,\n\t\"./ky\": 225,\n\t\"./ky.js\": 225,\n\t\"./lb\": 226,\n\t\"./lb.js\": 226,\n\t\"./lo\": 227,\n\t\"./lo.js\": 227,\n\t\"./lt\": 228,\n\t\"./lt.js\": 228,\n\t\"./lv\": 229,\n\t\"./lv.js\": 229,\n\t\"./me\": 230,\n\t\"./me.js\": 230,\n\t\"./mi\": 231,\n\t\"./mi.js\": 231,\n\t\"./mk\": 232,\n\t\"./mk.js\": 232,\n\t\"./ml\": 233,\n\t\"./ml.js\": 233,\n\t\"./mr\": 234,\n\t\"./mr.js\": 234,\n\t\"./ms\": 235,\n\t\"./ms-my\": 236,\n\t\"./ms-my.js\": 236,\n\t\"./ms.js\": 235,\n\t\"./mt\": 237,\n\t\"./mt.js\": 237,\n\t\"./my\": 238,\n\t\"./my.js\": 238,\n\t\"./nb\": 239,\n\t\"./nb.js\": 239,\n\t\"./ne\": 240,\n\t\"./ne.js\": 240,\n\t\"./nl\": 241,\n\t\"./nl-be\": 242,\n\t\"./nl-be.js\": 242,\n\t\"./nl.js\": 241,\n\t\"./nn\": 243,\n\t\"./nn.js\": 243,\n\t\"./pa-in\": 244,\n\t\"./pa-in.js\": 244,\n\t\"./pl\": 245,\n\t\"./pl.js\": 245,\n\t\"./pt\": 246,\n\t\"./pt-br\": 247,\n\t\"./pt-br.js\": 247,\n\t\"./pt.js\": 246,\n\t\"./ro\": 248,\n\t\"./ro.js\": 248,\n\t\"./ru\": 249,\n\t\"./ru.js\": 249,\n\t\"./sd\": 250,\n\t\"./sd.js\": 250,\n\t\"./se\": 251,\n\t\"./se.js\": 251,\n\t\"./si\": 252,\n\t\"./si.js\": 252,\n\t\"./sk\": 253,\n\t\"./sk.js\": 253,\n\t\"./sl\": 254,\n\t\"./sl.js\": 254,\n\t\"./sq\": 255,\n\t\"./sq.js\": 255,\n\t\"./sr\": 256,\n\t\"./sr-cyrl\": 257,\n\t\"./sr-cyrl.js\": 257,\n\t\"./sr.js\": 256,\n\t\"./ss\": 258,\n\t\"./ss.js\": 258,\n\t\"./sv\": 259,\n\t\"./sv.js\": 259,\n\t\"./sw\": 260,\n\t\"./sw.js\": 260,\n\t\"./ta\": 261,\n\t\"./ta.js\": 261,\n\t\"./te\": 262,\n\t\"./te.js\": 262,\n\t\"./tet\": 263,\n\t\"./tet.js\": 263,\n\t\"./tg\": 264,\n\t\"./tg.js\": 264,\n\t\"./th\": 265,\n\t\"./th.js\": 265,\n\t\"./tl-ph\": 266,\n\t\"./tl-ph.js\": 266,\n\t\"./tlh\": 267,\n\t\"./tlh.js\": 267,\n\t\"./tr\": 268,\n\t\"./tr.js\": 268,\n\t\"./tzl\": 269,\n\t\"./tzl.js\": 269,\n\t\"./tzm\": 270,\n\t\"./tzm-latn\": 271,\n\t\"./tzm-latn.js\": 271,\n\t\"./tzm.js\": 270,\n\t\"./ug-cn\": 272,\n\t\"./ug-cn.js\": 272,\n\t\"./uk\": 273,\n\t\"./uk.js\": 273,\n\t\"./ur\": 274,\n\t\"./ur.js\": 274,\n\t\"./uz\": 275,\n\t\"./uz-latn\": 276,\n\t\"./uz-latn.js\": 276,\n\t\"./uz.js\": 275,\n\t\"./vi\": 277,\n\t\"./vi.js\": 277,\n\t\"./x-pseudo\": 278,\n\t\"./x-pseudo.js\": 278,\n\t\"./yo\": 279,\n\t\"./yo.js\": 279,\n\t\"./zh-cn\": 280,\n\t\"./zh-cn.js\": 280,\n\t\"./zh-hk\": 281,\n\t\"./zh-hk.js\": 281,\n\t\"./zh-tw\": 282,\n\t\"./zh-tw.js\": 282\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 564;",";(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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar 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\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar symbolMap$1 = {\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\nmoment.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$1[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar symbolMap$2 = {\n '1': '١',\n '2': '٢',\n '3': '٣',\n '4': '٤',\n '5': '٥',\n '6': '٦',\n '7': '٧',\n '8': '٨',\n '9': '٩',\n '0': '٠'\n}, numberMap$1 = {\n '١': '1',\n '٢': '2',\n '٣': '3',\n '٤': '4',\n '٥': '5',\n '٦': '6',\n '٧': '7',\n '٨': '8',\n '٩': '9',\n '٠': '0'\n}, pluralForm$1 = 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$1 = {\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$1 = function (u) {\n return function (number, withoutSuffix, string, isFuture) {\n var f = pluralForm$1(number),\n str = plurals$1[u][pluralForm$1(number)];\n if (f === 2) {\n str = str[withoutSuffix ? 0 : 1];\n }\n return str.replace(/%d/i, number);\n };\n}, months$1 = [\n 'يناير',\n 'فبراير',\n 'مارس',\n 'أبريل',\n 'مايو',\n 'يونيو',\n 'يوليو',\n 'أغسطس',\n 'سبتمبر',\n 'أكتوبر',\n 'نوفمبر',\n 'ديسمبر'\n];\n\nmoment.defineLocale('ar', {\n months : months$1,\n monthsShort : months$1,\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$1('s'),\n ss : pluralize$1('s'),\n m : pluralize$1('m'),\n mm : pluralize$1('m'),\n h : pluralize$1('h'),\n hh : pluralize$1('h'),\n d : pluralize$1('d'),\n dd : pluralize$1('d'),\n M : pluralize$1('M'),\n MM : pluralize$1('M'),\n y : pluralize$1('y'),\n yy : pluralize$1('y')\n },\n preparse: function (string) {\n return string.replace(/[١٢٣٤٥٦٧٨٩٠]/g, function (match) {\n return numberMap$1[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$2[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar 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\nmoment.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çə saniyyə',\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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nfunction 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}\nfunction 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\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar symbolMap$3 = {\n '1': '১',\n '2': '২',\n '3': '৩',\n '4': '৪',\n '5': '৫',\n '6': '৬',\n '7': '৭',\n '8': '৮',\n '9': '৯',\n '0': '০'\n},\nnumberMap$2 = {\n '১': '1',\n '২': '2',\n '৩': '3',\n '৪': '4',\n '৫': '5',\n '৬': '6',\n '৭': '7',\n '৮': '8',\n '৯': '9',\n '০': '0'\n};\n\nmoment.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$2[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$3[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar symbolMap$4 = {\n '1': '༡',\n '2': '༢',\n '3': '༣',\n '4': '༤',\n '5': '༥',\n '6': '༦',\n '7': '༧',\n '8': '༨',\n '9': '༩',\n '0': '༠'\n},\nnumberMap$3 = {\n '༡': '1',\n '༢': '2',\n '༣': '3',\n '༤': '4',\n '༥': '5',\n '༦': '6',\n '༧': '7',\n '༨': '8',\n '༩': '9',\n '༠': '0'\n};\n\nmoment.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$3[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$4[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nfunction 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}\nfunction 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}\nfunction lastNumber(number) {\n if (number > 9) {\n return lastNumber(number % 10);\n }\n return number;\n}\nfunction mutation(text, number) {\n if (number === 2) {\n return softMutation(text);\n }\n return text;\n}\nfunction 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\nmoment.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//! moment.js locale configuration\n\nfunction 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\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar months$2 = '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('_');\nfunction plural$1(n) {\n return (n > 1) && (n < 5) && (~~(n / 10) !== 1);\n}\nfunction translate$1(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$1(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$1(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$1(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$1(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$1(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$1(number) ? 'roky' : 'let');\n } else {\n return result + 'lety';\n }\n break;\n }\n}\n\nmoment.defineLocale('cs', {\n months : months$2,\n monthsShort : monthsShort,\n monthsParse : (function (months, monthsShort) {\n var i, _monthsParse = [];\n for (i = 0; i < 12; i++) {\n // use custom parser to solve problem with July (červenec)\n _monthsParse[i] = new RegExp('^' + months[i] + '$|^' + monthsShort[i] + '$', 'i');\n }\n return _monthsParse;\n }(months$2, monthsShort)),\n shortMonthsParse : (function (monthsShort) {\n var i, _shortMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _shortMonthsParse[i] = new RegExp('^' + monthsShort[i] + '$', 'i');\n }\n return _shortMonthsParse;\n }(monthsShort)),\n longMonthsParse : (function (months) {\n var i, _longMonthsParse = [];\n for (i = 0; i < 12; i++) {\n _longMonthsParse[i] = new RegExp('^' + months[i] + '$', 'i');\n }\n return _longMonthsParse;\n }(months$2)),\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$1,\n ss : translate$1,\n m : translate$1,\n mm : translate$1,\n h : translate$1,\n hh : translate$1,\n d : translate$1,\n dd : translate$1,\n M : translate$1,\n MM : translate$1,\n y : translate$1,\n yy : translate$1\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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nfunction 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\nmoment.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//! moment.js locale configuration\n\nfunction processRelativeTime$1(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\nmoment.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$1,\n mm : '%d Minuten',\n h : processRelativeTime$1,\n hh : '%d Stunden',\n d : processRelativeTime$1,\n dd : processRelativeTime$1,\n M : processRelativeTime$1,\n MM : processRelativeTime$1,\n y : processRelativeTime$1,\n yy : processRelativeTime$1\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//! moment.js locale configuration\n\nfunction processRelativeTime$2(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\nmoment.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$2,\n mm : '%d Minuten',\n h : processRelativeTime$2,\n hh : '%d Stunden',\n d : processRelativeTime$2,\n dd : processRelativeTime$2,\n M : processRelativeTime$2,\n MM : processRelativeTime$2,\n y : processRelativeTime$2,\n yy : processRelativeTime$2\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//! moment.js locale configuration\n\nvar months$3 = [\n 'ޖެނުއަރީ',\n 'ފެބްރުއަރީ',\n 'މާރިޗު',\n 'އޭޕްރީލު',\n 'މޭ',\n 'ޖޫން',\n 'ޖުލައި',\n 'އޯގަސްޓު',\n 'ސެޕްޓެމްބަރު',\n 'އޮކްޓޯބަރު',\n 'ނޮވެމްބަރު',\n 'ޑިސެމްބަރު'\n], weekdays = [\n 'އާދިއްތަ',\n 'ހޯމަ',\n 'އަންގާރަ',\n 'ބުދަ',\n 'ބުރާސްފަތި',\n 'ހުކުރު',\n 'ހޮނިހިރު'\n];\n\nmoment.defineLocale('dv', {\n months : months$3,\n monthsShort : months$3,\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 1st is the first week of the year.\n }\n});\n\nfunction isFunction(input) {\n return input instanceof Function || Object.prototype.toString.call(input) === '[object Function]';\n}\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar monthsShortDot = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort$1 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nvar 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];\nvar 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\nmoment.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$1[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//! moment.js locale configuration\n\nvar monthsShortDot$1 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort$2 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nmoment.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$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$2[m.month()];\n } else {\n return monthsShortDot$1[m.month()];\n }\n },\n monthsParseExact : true,\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 : 'MMMM [de] D [de] YYYY',\n LLL : 'MMMM [de] D [de] YYYY h:mm A',\n LLLL : 'dddd, MMMM [de] D [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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar monthsShortDot$2 = 'ene._feb._mar._abr._may._jun._jul._ago._sep._oct._nov._dic.'.split('_'),\n monthsShort$3 = 'ene_feb_mar_abr_may_jun_jul_ago_sep_oct_nov_dic'.split('_');\n\nvar monthsParse$1 = [/^ene/i, /^feb/i, /^mar/i, /^abr/i, /^may/i, /^jun/i, /^jul/i, /^ago/i, /^sep/i, /^oct/i, /^nov/i, /^dic/i];\nvar monthsRegex$1 = /^(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\nmoment.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$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShort$3[m.month()];\n } else {\n return monthsShortDot$2[m.month()];\n }\n },\n monthsRegex : monthsRegex$1,\n monthsShortRegex : monthsRegex$1,\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$1,\n longMonthsParse : monthsParse$1,\n shortMonthsParse : monthsParse$1,\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//! moment.js locale configuration\n\nfunction processRelativeTime$3(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\nmoment.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$3,\n ss : processRelativeTime$3,\n m : processRelativeTime$3,\n mm : processRelativeTime$3,\n h : processRelativeTime$3,\n hh : processRelativeTime$3,\n d : processRelativeTime$3,\n dd : '%d päeva',\n M : processRelativeTime$3,\n MM : processRelativeTime$3,\n y : processRelativeTime$3,\n yy : processRelativeTime$3\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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar symbolMap$5 = {\n '1': '۱',\n '2': '۲',\n '3': '۳',\n '4': '۴',\n '5': '۵',\n '6': '۶',\n '7': '۷',\n '8': '۸',\n '9': '۹',\n '0': '۰'\n}, numberMap$4 = {\n '۱': '1',\n '۲': '2',\n '۳': '3',\n '۴': '4',\n '۵': '5',\n '۶': '6',\n '۷': '7',\n '۸': '8',\n '۹': '9',\n '۰': '0'\n};\n\nmoment.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$4[match];\n }).replace(/،/g, ',');\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$5[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar 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 ];\nfunction translate$2(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}\nfunction verbalNumber(number, isFuture) {\n return number < 10 ? (isFuture ? numbersFuture[number] : numbersPast[number]) : number;\n}\n\nmoment.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$2,\n ss : translate$2,\n m : translate$2,\n mm : translate$2,\n h : translate$2,\n hh : translate$2,\n d : translate$2,\n dd : translate$2,\n M : translate$2,\n MM : translate$2,\n y : translate$2,\n yy : translate$2\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//! moment.js locale configuration\n\nmoment.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 minutt',\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ði',\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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar 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\nmoment.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//! moment.js locale configuration\n\nvar months$4 = [\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\nvar monthsShort$4 = ['Faoi', 'Gear', 'Màrt', 'Gibl', 'Cèit', 'Ògmh', 'Iuch', 'Lùn', 'Sult', 'Dàmh', 'Samh', 'Dùbh'];\n\nvar weekdays$1 = ['Didòmhnaich', 'Diluain', 'Dimàirt', 'Diciadain', 'Diardaoin', 'Dihaoine', 'Disathairne'];\n\nvar weekdaysShort = ['Did', 'Dil', 'Dim', 'Dic', 'Dia', 'Dih', 'Dis'];\n\nvar weekdaysMin = ['Dò', 'Lu', 'Mà', 'Ci', 'Ar', 'Ha', 'Sa'];\n\nmoment.defineLocale('gd', {\n months : months$4,\n monthsShort : monthsShort$4,\n monthsParseExact : true,\n weekdays : weekdays$1,\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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nfunction processRelativeTime$4(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 horan', 'ek hor'],\n 'hh': [number + ' horanim', number + ' hor'],\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\nmoment.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$4,\n ss : processRelativeTime$4,\n m : processRelativeTime$4,\n mm : processRelativeTime$4,\n h : processRelativeTime$4,\n hh : processRelativeTime$4,\n d : processRelativeTime$4,\n dd : processRelativeTime$4,\n M : processRelativeTime$4,\n MM : processRelativeTime$4,\n y : processRelativeTime$4,\n yy : processRelativeTime$4\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//! moment.js locale configuration\n\nvar symbolMap$6 = {\n '1': '૧',\n '2': '૨',\n '3': '૩',\n '4': '૪',\n '5': '૫',\n '6': '૬',\n '7': '૭',\n '8': '૮',\n '9': '૯',\n '0': '૦'\n },\n numberMap$5 = {\n '૧': '1',\n '૨': '2',\n '૩': '3',\n '૪': '4',\n '૫': '5',\n '૬': '6',\n '૭': '7',\n '૮': '8',\n '૯': '9',\n '૦': '0'\n };\n\nmoment.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$5[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$6[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar symbolMap$7 = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n},\nnumberMap$6 = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nmoment.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$6[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$7[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nfunction translate$3(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\nmoment.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$3,\n m : translate$3,\n mm : translate$3,\n h : translate$3,\n hh : translate$3,\n d : 'dan',\n dd : translate$3,\n M : 'mjesec',\n MM : translate$3,\n y : 'godinu',\n yy : translate$3\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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar weekEndings = 'vasárnap hétfőn kedden szerdán csütörtökön pénteken szombaton'.split(' ');\nfunction translate$4(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}\nfunction week(isFuture) {\n return (isFuture ? '' : '[múlt] ') + '[' + weekEndings[this.day()] + '] LT[-kor]';\n}\n\nmoment.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$4,\n ss : translate$4,\n m : translate$4,\n mm : translate$4,\n h : translate$4,\n hh : translate$4,\n d : translate$4,\n dd : translate$4,\n M : translate$4,\n MM : translate$4,\n y : translate$4,\n yy : translate$4\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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nfunction plural$2(n) {\n if (n % 100 === 11) {\n return true;\n } else if (n % 10 === 1) {\n return false;\n }\n return true;\n}\nfunction translate$5(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$2(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$2(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$2(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$2(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$2(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$2(number)) {\n return result + (withoutSuffix || isFuture ? 'ár' : 'árum');\n }\n return result + (withoutSuffix || isFuture ? 'ár' : 'ári');\n }\n}\n\nmoment.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$5,\n ss : translate$5,\n m : translate$5,\n mm : translate$5,\n h : 'klukkustund',\n hh : translate$5,\n d : translate$5,\n dd : translate$5,\n M : translate$5,\n MM : translate$5,\n y : translate$5,\n yy : translate$5\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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.defineLocale('ja', {\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 : '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日 HH:mm dddd',\n l : 'YYYY/MM/DD',\n ll : 'YYYY年M月D日',\n lll : 'YYYY年M月D日 HH:mm',\n llll : 'YYYY年M月D日 HH:mm dddd'\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 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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar suffixes$1 = {\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\nmoment.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$1[number] || suffixes$1[a] || suffixes$1[b]);\n },\n week : {\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//! moment.js locale configuration\n\nmoment.defineLocale('km', {\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 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//! moment.js locale configuration\n\nvar symbolMap$8 = {\n '1': '೧',\n '2': '೨',\n '3': '೩',\n '4': '೪',\n '5': '೫',\n '6': '೬',\n '7': '೭',\n '8': '೮',\n '9': '೯',\n '0': '೦'\n},\nnumberMap$7 = {\n '೧': '1',\n '೨': '2',\n '೩': '3',\n '೪': '4',\n '೫': '5',\n '೬': '6',\n '೭': '7',\n '೮': '8',\n '೯': '9',\n '೦': '0'\n};\n\nmoment.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$7[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$8[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar suffixes$2 = {\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\nmoment.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$2[number] || suffixes$2[a] || suffixes$2[b]);\n },\n week : {\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//! moment.js locale configuration\n\nfunction processRelativeTime$5(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}\nfunction processFutureTime(string) {\n var number = string.substr(0, string.indexOf(' '));\n if (eifelerRegelAppliesToNumber(number)) {\n return 'a ' + string;\n }\n return 'an ' + string;\n}\nfunction 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 */\nfunction 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\nmoment.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$5,\n mm : '%d Minutten',\n h : processRelativeTime$5,\n hh : '%d Stonnen',\n d : processRelativeTime$5,\n dd : '%d Deeg',\n M : processRelativeTime$5,\n MM : '%d Méint',\n y : processRelativeTime$5,\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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar 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};\nfunction 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}\nfunction translateSingular(number, withoutSuffix, key, isFuture) {\n return withoutSuffix ? forms(key)[0] : (isFuture ? forms(key)[1] : forms(key)[2]);\n}\nfunction special(number) {\n return number % 10 === 0 || (number > 10 && number < 20);\n}\nfunction forms(key) {\n return units[key].split('_');\n}\nfunction translate$6(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}\nmoment.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$6,\n m : translateSingular,\n mm : translate$6,\n h : translateSingular,\n hh : translate$6,\n d : translateSingular,\n dd : translate$6,\n M : translateSingular,\n MM : translate$6,\n y : translateSingular,\n yy : translate$6\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//! moment.js locale configuration\n\nvar units$1 = {\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 */\nfunction 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}\nfunction relativeTimeWithPlural$1(number, withoutSuffix, key) {\n return number + ' ' + format(units$1[key], number, withoutSuffix);\n}\nfunction relativeTimeWithSingular(number, withoutSuffix, key) {\n return format(units$1[key], number, withoutSuffix);\n}\nfunction relativeSeconds(number, withoutSuffix) {\n return withoutSuffix ? 'dažas sekundes' : 'dažām sekundēm';\n}\n\nmoment.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$1,\n m : relativeTimeWithSingular,\n mm : relativeTimeWithPlural$1,\n h : relativeTimeWithSingular,\n hh : relativeTimeWithPlural$1,\n d : relativeTimeWithSingular,\n dd : relativeTimeWithPlural$1,\n M : relativeTimeWithSingular,\n MM : relativeTimeWithPlural$1,\n y : relativeTimeWithSingular,\n yy : relativeTimeWithPlural$1\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//! moment.js locale configuration\n\nvar 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\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar symbolMap$9 = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n},\nnumberMap$8 = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nfunction 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\nmoment.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$8[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$9[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar symbolMap$10 = {\n '1': '၁',\n '2': '၂',\n '3': '၃',\n '4': '၄',\n '5': '၅',\n '6': '၆',\n '7': '၇',\n '8': '၈',\n '9': '၉',\n '0': '၀'\n}, numberMap$9 = {\n '၁': '1',\n '၂': '2',\n '၃': '3',\n '၄': '4',\n '၅': '5',\n '၆': '6',\n '၇': '7',\n '၈': '8',\n '၉': '9',\n '၀': '0'\n};\n\nmoment.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$9[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$10[match];\n });\n },\n week: {\n dow: 1, // Monday is the first day of the week.\n doy: 4 // The week that contains Jan 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar symbolMap$11 = {\n '1': '१',\n '2': '२',\n '3': '३',\n '4': '४',\n '5': '५',\n '6': '६',\n '7': '७',\n '8': '८',\n '9': '९',\n '0': '०'\n},\nnumberMap$10 = {\n '१': '1',\n '२': '2',\n '३': '3',\n '४': '4',\n '५': '5',\n '६': '6',\n '७': '7',\n '८': '8',\n '९': '9',\n '०': '0'\n};\n\nmoment.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$10[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$11[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar monthsShortWithDots$1 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$1 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\nvar monthsParse$2 = [/^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];\nvar monthsRegex$2 = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nmoment.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$1;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$1[m.month()];\n } else {\n return monthsShortWithDots$1[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$2,\n monthsShortRegex: monthsRegex$2,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|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$2,\n longMonthsParse : monthsParse$2,\n shortMonthsParse : monthsParse$2,\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//! moment.js locale configuration\n\nvar monthsShortWithDots$2 = 'jan._feb._mrt._apr._mei_jun._jul._aug._sep._okt._nov._dec.'.split('_'),\n monthsShortWithoutDots$2 = 'jan_feb_mrt_apr_mei_jun_jul_aug_sep_okt_nov_dec'.split('_');\n\nvar monthsParse$3 = [/^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];\nvar monthsRegex$3 = /^(januari|februari|maart|april|mei|april|ju[nl]i|augustus|september|oktober|november|december|jan\\.?|feb\\.?|mrt\\.?|apr\\.?|ju[nl]\\.?|aug\\.?|sep\\.?|okt\\.?|nov\\.?|dec\\.?)/i;\n\nmoment.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$2;\n } else if (/-MMM-/.test(format)) {\n return monthsShortWithoutDots$2[m.month()];\n } else {\n return monthsShortWithDots$2[m.month()];\n }\n },\n\n monthsRegex: monthsRegex$3,\n monthsShortRegex: monthsRegex$3,\n monthsStrictRegex: /^(januari|februari|maart|mei|ju[nl]i|april|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$3,\n longMonthsParse : monthsParse$3,\n shortMonthsParse : monthsParse$3,\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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar symbolMap$12 = {\n '1': '੧',\n '2': '੨',\n '3': '੩',\n '4': '੪',\n '5': '੫',\n '6': '੬',\n '7': '੭',\n '8': '੮',\n '9': '੯',\n '0': '੦'\n},\nnumberMap$11 = {\n '੧': '1',\n '੨': '2',\n '੩': '3',\n '੪': '4',\n '੫': '5',\n '੬': '6',\n '੭': '7',\n '੮': '8',\n '੯': '9',\n '੦': '0'\n};\n\nmoment.defineLocale('pa-in', {\n // There are months name as per Nanakshahi Calender 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$11[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$12[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar 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('_');\nfunction plural$3(n) {\n return (n % 10 < 5) && (n % 10 > 1) && ((~~(n / 10) % 10) !== 1);\n}\nfunction translate$7(number, withoutSuffix, key) {\n var result = number + ' ';\n switch (key) {\n case 'ss':\n return result + (plural$3(number) ? 'sekundy' : 'sekund');\n case 'm':\n return withoutSuffix ? 'minuta' : 'minutę';\n case 'mm':\n return result + (plural$3(number) ? 'minuty' : 'minut');\n case 'h':\n return withoutSuffix ? 'godzina' : 'godzinę';\n case 'hh':\n return result + (plural$3(number) ? 'godziny' : 'godzin');\n case 'MM':\n return result + (plural$3(number) ? 'miesiące' : 'miesięcy');\n case 'yy':\n return result + (plural$3(number) ? 'lata' : 'lat');\n }\n}\n\nmoment.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$7,\n m : translate$7,\n mm : translate$7,\n h : translate$7,\n hh : translate$7,\n d : '1 dzień',\n dd : '%d dni',\n M : 'miesiąc',\n MM : translate$7,\n y : 'rok',\n yy : translate$7\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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nfunction relativeTimeWithPlural$2(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\nmoment.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$2,\n m : 'un minut',\n mm : relativeTimeWithPlural$2,\n h : 'o oră',\n hh : relativeTimeWithPlural$2,\n d : 'o zi',\n dd : relativeTimeWithPlural$2,\n M : 'o lună',\n MM : relativeTimeWithPlural$2,\n y : 'un an',\n yy : relativeTimeWithPlural$2\n },\n week : {\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//! moment.js locale configuration\n\nfunction plural$4(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}\nfunction relativeTimeWithPlural$3(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$4(format[key], +number);\n }\n}\nvar monthsParse$4 = [/^янв/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\nmoment.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$4,\n longMonthsParse : monthsParse$4,\n shortMonthsParse : monthsParse$4,\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$3,\n m : relativeTimeWithPlural$3,\n mm : relativeTimeWithPlural$3,\n h : 'час',\n hh : relativeTimeWithPlural$3,\n d : 'день',\n dd : relativeTimeWithPlural$3,\n M : 'месяц',\n MM : relativeTimeWithPlural$3,\n y : 'год',\n yy : relativeTimeWithPlural$3\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//! moment.js locale configuration\n\nvar months$5 = [\n 'جنوري',\n 'فيبروري',\n 'مارچ',\n 'اپريل',\n 'مئي',\n 'جون',\n 'جولاءِ',\n 'آگسٽ',\n 'سيپٽمبر',\n 'آڪٽوبر',\n 'نومبر',\n 'ڊسمبر'\n];\nvar days = [\n 'آچر',\n 'سومر',\n 'اڱارو',\n 'اربع',\n 'خميس',\n 'جمع',\n 'ڇنڇر'\n];\n\nmoment.defineLocale('sd', {\n months : months$5,\n monthsShort : months$5,\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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\n/*jshint -W100*/\nmoment.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//! moment.js locale configuration\n\nvar months$6 = 'január_február_marec_apríl_máj_jún_júl_august_september_október_november_december'.split('_'),\n monthsShort$5 = 'jan_feb_mar_apr_máj_jún_júl_aug_sep_okt_nov_dec'.split('_');\nfunction plural$5(n) {\n return (n > 1) && (n < 5);\n}\nfunction translate$8(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$5(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$5(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$5(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$5(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$5(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$5(number) ? 'roky' : 'rokov');\n } else {\n return result + 'rokmi';\n }\n break;\n }\n}\n\nmoment.defineLocale('sk', {\n months : months$6,\n monthsShort : monthsShort$5,\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$8,\n ss : translate$8,\n m : translate$8,\n mm : translate$8,\n h : translate$8,\n hh : translate$8,\n d : translate$8,\n dd : translate$8,\n M : translate$8,\n MM : translate$8,\n y : translate$8,\n yy : translate$8\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//! moment.js locale configuration\n\nfunction processRelativeTime$6(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 += withoutSuffix || isFuture ? 'sekund' : '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\nmoment.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$6,\n ss : processRelativeTime$6,\n m : processRelativeTime$6,\n mm : processRelativeTime$6,\n h : processRelativeTime$6,\n hh : processRelativeTime$6,\n d : processRelativeTime$6,\n dd : processRelativeTime$6,\n M : processRelativeTime$6,\n MM : processRelativeTime$6,\n y : processRelativeTime$6,\n yy : processRelativeTime$6\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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar translator$1 = {\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$1.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator$1.correctGrammaticalCase(number, wordKey);\n }\n }\n};\n\nmoment.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$1.translate,\n m : translator$1.translate,\n mm : translator$1.translate,\n h : translator$1.translate,\n hh : translator$1.translate,\n d : 'дан',\n dd : translator$1.translate,\n M : 'месец',\n MM : translator$1.translate,\n y : 'годину',\n yy : translator$1.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar translator$2 = {\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$2.words[key];\n if (key.length === 1) {\n return withoutSuffix ? wordKey[0] : wordKey[1];\n } else {\n return number + ' ' + translator$2.correctGrammaticalCase(number, wordKey);\n }\n }\n};\n\nmoment.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$2.translate,\n m : translator$2.translate,\n mm : translator$2.translate,\n h : translator$2.translate,\n hh : translator$2.translate,\n d : 'dan',\n dd : translator$2.translate,\n M : 'mesec',\n MM : translator$2.translate,\n y : 'godinu',\n yy : translator$2.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar symbolMap$13 = {\n '1': '௧',\n '2': '௨',\n '3': '௩',\n '4': '௪',\n '5': '௫',\n '6': '௬',\n '7': '௭',\n '8': '௮',\n '9': '௯',\n '0': '௦'\n}, numberMap$12 = {\n '௧': '1',\n '௨': '2',\n '௩': '3',\n '௪': '4',\n '௫': '5',\n '௬': '6',\n '௭': '7',\n '௮': '8',\n '௯': '9',\n '௦': '0'\n};\n\nmoment.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$12[match];\n });\n },\n postformat: function (string) {\n return string.replace(/\\d/g, function (match) {\n return symbolMap$13[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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar suffixes$3 = {\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\nmoment.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$3[number] || suffixes$3[a] || suffixes$3[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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nvar numbersNouns = 'pagh_wa’_cha’_wej_loS_vagh_jav_Soch_chorgh_Hut'.split('_');\n\nfunction 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\nfunction 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\nfunction translate$9(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\nfunction 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\nmoment.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$9,\n m : 'wa’ tup',\n mm : translate$9,\n h : 'wa’ rep',\n hh : translate$9,\n d : 'wa’ jaj',\n dd : translate$9,\n M : 'wa’ jar',\n MM : translate$9,\n y : 'wa’ DIS',\n yy : translate$9\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\nvar suffixes$4 = {\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\nmoment.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$4[a] || suffixes$4[b] || suffixes$4[c]);\n }\n },\n week : {\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//! moment.js locale configuration\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.\nmoment.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$7,\n ss : processRelativeTime$7,\n m : processRelativeTime$7,\n mm : processRelativeTime$7,\n h : processRelativeTime$7,\n hh : processRelativeTime$7,\n d : processRelativeTime$7,\n dd : processRelativeTime$7,\n M : processRelativeTime$7,\n MM : processRelativeTime$7,\n y : processRelativeTime$7,\n yy : processRelativeTime$7\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\nfunction processRelativeTime$7(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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js language configuration\n\nmoment.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//! moment.js locale configuration\n\nfunction plural$6(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}\nfunction relativeTimeWithPlural$4(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$6(format[key], +number);\n }\n}\nfunction weekdaysCaseReplace(m, format) {\n var weekdays = {\n 'nominative': 'неділя_понеділок_вівторок_середа_четвер_п’ятниця_субота'.split('_'),\n 'accusative': 'неділю_понеділок_вівторок_середу_четвер_п’ятницю_суботу'.split('_'),\n 'genitive': 'неділі_понеділка_вівторка_середи_четверга_п’ятниці_суботи'.split('_')\n };\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}\nfunction processHoursFunction(str) {\n return function () {\n return str + 'о' + (this.hours() === 11 ? 'б' : '') + '] LT';\n };\n}\n\nmoment.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$4,\n m : relativeTimeWithPlural$4,\n mm : relativeTimeWithPlural$4,\n h : 'годину',\n hh : relativeTimeWithPlural$4,\n d : 'день',\n dd : relativeTimeWithPlural$4,\n M : 'місяць',\n MM : relativeTimeWithPlural$4,\n y : 'рік',\n yy : relativeTimeWithPlural$4\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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nvar months$7 = [\n 'جنوری',\n 'فروری',\n 'مارچ',\n 'اپریل',\n 'مئی',\n 'جون',\n 'جولائی',\n 'اگست',\n 'ستمبر',\n 'اکتوبر',\n 'نومبر',\n 'دسمبر'\n];\nvar days$1 = [\n 'اتوار',\n 'پیر',\n 'منگل',\n 'بدھ',\n 'جمعرات',\n 'جمعہ',\n 'ہفتہ'\n];\n\nmoment.defineLocale('ur', {\n months : months$7,\n monthsShort : months$7,\n weekdays : days$1,\n weekdaysShort : days$1,\n weekdaysMin : days$1,\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//! moment.js locale configuration\n\nmoment.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 1st is the first week of the year.\n }\n});\n\n//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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//! moment.js locale configuration\n\nmoment.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 : '[下]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\nmoment.locale('en');\n\nreturn moment;\n\n})));\n","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _I18n = require('./I18n');\n\nvar _I18n2 = _interopRequireDefault(_I18n);\n\nvar _Base = require('./Base');\n\nvar _Base2 = _interopRequireDefault(_Base);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Translate = function (_BaseComponent) {\n _inherits(Translate, _BaseComponent);\n\n function Translate() {\n _classCallCheck(this, Translate);\n\n return _possibleConstructorReturn(this, (Translate.__proto__ || Object.getPrototypeOf(Translate)).apply(this, arguments));\n }\n\n _createClass(Translate, [{\n key: 'otherProps',\n value: function otherProps() {\n var result = _extends({}, this.props);\n delete result.value;\n return result;\n }\n }, {\n key: 'render',\n value: function render() {\n var _props = this.props,\n Tag = _props.tag,\n value = _props.value,\n dangerousHTML = _props.dangerousHTML,\n style = _props.style,\n className = _props.className;\n\n var translation = _I18n2.default._translate(value, this.otherProps());\n\n if (dangerousHTML) {\n return _react2.default.createElement(Tag, {\n style: style,\n className: className,\n dangerouslySetInnerHTML: { __html: translation }\n });\n }\n return _react2.default.createElement(\n Tag,\n { style: style, className: className },\n translation\n );\n }\n }]);\n\n return Translate;\n}(_Base2.default);\n\nTranslate.propTypes = {\n tag: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.string]),\n value: _propTypes2.default.string.isRequired,\n dangerousHTML: _propTypes2.default.bool,\n className: _propTypes2.default.string,\n style: _propTypes2.default.objectOf(_propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]))\n};\nTranslate.defaultProps = {\n tag: 'span'\n};\nexports.default = Translate;","'use strict';\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\n\nvar _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; };\n\nvar _createClass = function () { function defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } } return function (Constructor, protoProps, staticProps) { if (protoProps) defineProperties(Constructor.prototype, protoProps); if (staticProps) defineProperties(Constructor, staticProps); return Constructor; }; }();\n\nvar _react = require('react');\n\nvar _react2 = _interopRequireDefault(_react);\n\nvar _propTypes = require('prop-types');\n\nvar _propTypes2 = _interopRequireDefault(_propTypes);\n\nvar _I18n = require('./I18n');\n\nvar _I18n2 = _interopRequireDefault(_I18n);\n\nvar _Base = require('./Base');\n\nvar _Base2 = _interopRequireDefault(_Base);\n\nfunction _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _possibleConstructorReturn(self, call) { if (!self) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return call && (typeof call === \"object\" || typeof call === \"function\") ? call : self; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function, not \" + typeof superClass); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, enumerable: false, writable: true, configurable: true } }); if (superClass) Object.setPrototypeOf ? Object.setPrototypeOf(subClass, superClass) : subClass.__proto__ = superClass; }\n\nvar Localize = function (_BaseComponent) {\n _inherits(Localize, _BaseComponent);\n\n function Localize() {\n _classCallCheck(this, Localize);\n\n return _possibleConstructorReturn(this, (Localize.__proto__ || Object.getPrototypeOf(Localize)).apply(this, arguments));\n }\n\n _createClass(Localize, [{\n key: 'render',\n value: function render() {\n var _props = this.props,\n Tag = _props.tag,\n value = _props.value,\n dateFormat = _props.dateFormat,\n _props$options = _props.options,\n options = _props$options === undefined ? {} : _props$options,\n dangerousHTML = _props.dangerousHTML,\n style = _props.style,\n className = _props.className;\n\n var localization = _I18n2.default._localize(value, _extends({}, options, { dateFormat: dateFormat }));\n\n if (dangerousHTML) {\n return _react2.default.createElement(Tag, {\n style: style,\n className: className,\n dangerouslySetInnerHTML: { __html: localization }\n });\n }\n return _react2.default.createElement(\n Tag,\n { style: style, className: className },\n localization\n );\n }\n }]);\n\n return Localize;\n}(_Base2.default);\n\nLocalize.propTypes = {\n tag: _propTypes2.default.oneOfType([_propTypes2.default.func, _propTypes2.default.string]),\n value: _propTypes2.default.oneOfType([_propTypes2.default.string, _propTypes2.default.number, _propTypes2.default.object]).isRequired,\n options: _propTypes2.default.object,\n dateFormat: _propTypes2.default.string,\n dangerousHTML: _propTypes2.default.bool,\n className: _propTypes2.default.string,\n style: _propTypes2.default.objectOf(_propTypes2.default.oneOfType([_propTypes2.default.number, _propTypes2.default.string]))\n};\nLocalize.defaultProps = {\n tag: 'span'\n};\nexports.default = Localize;","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/broofa/node-uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","const assetUrl = (name: string): string => {\n const url = window.DecidimComments.assets[name];\n\n if (!url) {\n throw new Error(`Asset \"${name}\" can't be found on decidim comments manifest.`);\n }\n\n return url;\n};\n\nexport default assetUrl;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"addComment\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableId\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableType\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"body\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"alignment\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Int\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userGroupId\"}},\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"commentable\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableId\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"commentableType\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"addComment\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"body\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"body\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"alignment\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"alignment\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"userGroupId\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"userGroupId\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentThread\"},\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":464}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/comment_thread.fragment.graphql\\\"\\n\\nmutation addComment($commentableId: String!, $commentableType: String!, $body: String!, $alignment: Int, $userGroupId: ID, $locale: String!, $toggleTranslations: Boolean!) {\\n commentable(id: $commentableId, type: $commentableType, locale: $locale, toggleTranslations: $toggleTranslations) {\\n addComment(body: $body, alignment: $alignment, userGroupId: $userGroupId) {\\n ...CommentThread\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/comment_thread.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n return doc.definitions.find(function(op) {\n return op.name ? op.name.value == name : false;\n });\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = Object.assign({}, doc);\n\n var op = findOperation(doc, operationName);\n newDoc.definitions = [op];\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set(opRefs);\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n\n module.exports = doc;\n \n module.exports[\"addComment\"] = oneQuery(doc, \"addComment\");\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"CommentData\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"sgid\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"body\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedBody\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"createdAt\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"formattedCreatedAt\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"author\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"nickname\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"avatarUrl\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"profilePath\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"deleted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"badge\"},\"arguments\":[],\"directives\":[]}]}},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"hasComments\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"acceptsNewComments\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"userAllowedToComment\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alignment\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"alreadyReported\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"UpVoteButton\"},\"directives\":[]},{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"DownVoteButton\"},\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":439}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/up_vote_button.fragment.graphql\\\"\\n#import \\\"../fragments/down_vote_button.fragment.graphql\\\"\\n\\nfragment CommentData on Comment {\\n id\\n sgid\\n type\\n body\\n formattedBody\\n createdAt\\n formattedCreatedAt\\n author {\\n name\\n nickname\\n avatarUrl\\n profilePath\\n deleted\\n badge\\n }\\n hasComments\\n acceptsNewComments\\n userAllowedToComment\\n alignment\\n alreadyReported\\n ...UpVoteButton\\n ...DownVoteButton\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/up_vote_button.fragment.graphql\").definitions));\ndoc.definitions = doc.definitions.concat(unique(require(\"../fragments/down_vote_button.fragment.graphql\").definitions));\n\n\n module.exports = doc;\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"UpVoteButton\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"upVotes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"upVoted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"downVoted\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":74}};\n doc.loc.source = {\"body\":\"fragment UpVoteButton on Comment {\\n id\\n upVotes\\n upVoted\\n downVoted\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n module.exports = doc;\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"DownVoteButton\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"downVotes\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"downVoted\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"upVoted\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":78}};\n doc.loc.source = {\"body\":\"fragment DownVoteButton on Comment {\\n id\\n downVotes\\n downVoted\\n upVoted\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n module.exports = doc;\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AddCommentFormSession\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Session\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"verifiedUserGroups\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"name\"},\"arguments\":[],\"directives\":[]}]}}]}}],\"loc\":{\"start\":0,\"end\":89}};\n doc.loc.source = {\"body\":\"fragment AddCommentFormSession on Session {\\n verifiedUserGroups {\\n id\\n name\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n module.exports = doc;\n \n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"FragmentDefinition\",\"name\":{\"kind\":\"Name\",\"value\":\"AddCommentFormCommentable\"},\"typeCondition\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Commentable\"}},\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"arguments\":[],\"directives\":[]},{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"type\"},\"arguments\":[],\"directives\":[]}]}}],\"loc\":{\"start\":0,\"end\":66}};\n doc.loc.source = {\"body\":\"fragment AddCommentFormCommentable on Commentable {\\n id\\n type\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n \n\n module.exports = doc;\n \n","import * as React from \"react\";\n\nconst { I18n } = require(\"react-i18nify\");\n\ninterface CommentOrderSelectorProps {\n defaultOrderBy: string;\n reorderComments: (orderBy: string) => void;\n}\n\ninterface CommentOrderSelectorState {\n orderBy: string;\n}\n\n/**\n * A simple static component with the comment's order selector markup\n * @class\n * @augments Component\n * @todo Needs a proper implementation\n */\nclass CommentOrderSelector extends React.Component<CommentOrderSelectorProps, CommentOrderSelectorState> {\n private dropdown: HTMLUListElement;\n\n constructor(props: CommentOrderSelectorProps) {\n super(props);\n\n this.state = {\n orderBy: this.props.defaultOrderBy\n };\n }\n\n public setDropdown = (dropdown: HTMLUListElement) => this.dropdown = dropdown;\n\n public componentDidMount() {\n window.$(this.dropdown).foundation();\n }\n\n public render() {\n const { orderBy } = this.state;\n\n return (\n <div className=\"order-by__dropdown order-by__dropdown--right\">\n <span className=\"order-by__text\">{I18n.t(\"components.comment_order_selector.title\")}</span>\n <ul\n className=\"dropdown menu\"\n data-dropdown-menu=\"data-dropdown-menu\"\n data-autoclose=\"false\"\n data-disable-hover=\"true\"\n data-click-open=\"true\"\n data-close-on-click=\"true\"\n tabIndex={-1}\n ref={this.setDropdown}\n >\n <li className=\"is-dropdown-submenu-parent\" tabIndex={-1}>\n <a\n href=\"#\"\n id=\"comments-order-menu-control\"\n aria-label={I18n.t(\"components.comment_order_selector.title\")}\n aria-controls=\"comments-order-menu\"\n aria-haspopup=\"true\"\n >\n {I18n.t(`components.comment_order_selector.order.${orderBy}`)}\n </a>\n <ul\n className=\"menu is-dropdown-submenu\"\n id=\"language-chooser-menu\"\n role=\"menu\"\n aria-labelledby=\"comments-order-menu-control\"\n tabIndex={-1}\n >\n <li>\n <a href=\"#\" className=\"test\" onClick={this.updateOrder(\"best_rated\")} tabIndex={-1}>\n {I18n.t(\"components.comment_order_selector.order.best_rated\")}\n </a>\n </li>\n <li>\n <a href=\"#\" onClick={this.updateOrder(\"recent\")} tabIndex={-1}>\n {I18n.t(\"components.comment_order_selector.order.recent\")}\n </a>\n </li>\n <li>\n <a href=\"#\" onClick={this.updateOrder(\"older\")} tabIndex={-1}>\n {I18n.t(\"components.comment_order_selector.order.older\")}\n </a>\n </li>\n <li>\n <a href=\"\" onClick={this.updateOrder(\"most_discussed\")} tabIndex={-1}>\n {I18n.t(\"components.comment_order_selector.order.most_discussed\")}\n </a>\n </li>\n </ul>\n </li>\n </ul>\n </div>\n );\n }\n\n private updateOrder = (orderBy: string) => {\n return (event: React.MouseEvent<HTMLAnchorElement>) => {\n event.preventDefault();\n this.setState({ orderBy });\n this.props.reorderComments(orderBy);\n };\n }\n}\n\nexport default CommentOrderSelector;\n","import * as React from \"react\";\n\nimport Comment from \"./comment.component\";\n\nimport {\n AddCommentFormCommentableFragment,\n AddCommentFormSessionFragment,\n CommentFragment\n} from \"../support/schema\";\n\nconst { I18n } = require(\"react-i18nify\");\n\ninterface CommentThreadProps {\n comment: CommentFragment;\n session: AddCommentFormSessionFragment & {\n user: any;\n } | null;\n votable?: boolean;\n rootCommentable: AddCommentFormCommentableFragment;\n orderBy: string;\n commentsMaxLength: number;\n}\n\n/**\n * Define a collection of comments. It represents a conversation with multiple users.\n * @class\n * @augments Component\n * @todo It doesn't handle multiple comments yet\n */\nclass CommentThread extends React.Component<CommentThreadProps> {\n public static defaultProps: any = {\n session: null,\n votable: false\n };\n\n public render() {\n const { comment, session, votable, rootCommentable, orderBy, commentsMaxLength } = this.props;\n\n return (\n <div>\n {this._renderTitle()}\n <div className=\"comment-thread\">\n <Comment\n comment={comment}\n session={session}\n votable={votable}\n isRootComment={true}\n rootCommentable={rootCommentable}\n orderBy={orderBy}\n commentsMaxLength={commentsMaxLength}\n />\n </div>\n </div>\n );\n }\n\n /**\n * Render conversation title if comment has commments\n * @private\n * @returns {Void|DOMElement} - The conversation's title\n */\n private _renderTitle() {\n const { comment: { author, hasComments } } = this.props;\n\n if (hasComments) {\n return (\n <h6 className=\"comment-thread__title\">\n {\n author.deleted ?\n I18n.t(\"components.comment_thread.title\", { authorName: I18n.t(\"components.comment.deleted_user\") }) :\n I18n.t(\"components.comment_thread.title\", { authorName: author.name })\n }\n </h6>\n );\n }\n\n return null;\n }\n}\n\nexport default CommentThread;\n","import * as classnames from \"classnames\";\nimport * as React from \"react\";\n\nimport Icon from \"../application/icon.component\";\n\nimport AddCommentForm from \"./add_comment_form.component\";\nimport DownVoteButton from \"./down_vote_button.component\";\nimport UpVoteButton from \"./up_vote_button.component\";\n\nimport {\n AddCommentFormCommentableFragment,\n AddCommentFormSessionFragment,\n CommentFragment\n} from \"../support/schema\";\n\nimport { NetworkStatus } from \"apollo-client\";\n\nconst { I18n } = require(\"react-i18nify\");\n\ninterface CommentProps {\n comment: CommentFragment;\n session:\n | AddCommentFormSessionFragment & {\n user: any;\n }\n | null;\n articleClassName?: string;\n isRootComment?: boolean;\n votable?: boolean;\n rootCommentable: AddCommentFormCommentableFragment;\n orderBy: string;\n commentsMaxLength: number;\n}\n\ninterface CommentState {\n showReplies: boolean;\n showReplyForm: boolean;\n}\n\ninterface Dict {\n [key: string]: boolean | undefined;\n}\n\n/**\n * A single comment component with the author info and the comment's body\n * @class\n * @augments Component\n */\nclass Comment extends React.Component<CommentProps, CommentState> {\n public static defaultProps: any = {\n articleClassName: \"comment\",\n isRootComment: false,\n session: null,\n votable: false\n };\n\n public commentNode: HTMLDivElement;\n\n constructor(props: CommentProps) {\n super(props);\n\n const {\n comment: { id }\n } = props;\n const isThreadHidden = !!this.getThreadsStorage()[id];\n\n this.state = {\n showReplies: !isThreadHidden,\n showReplyForm: false\n };\n }\n\n public componentDidMount() {\n const {\n comment: { id }\n } = this.props;\n const hash = document.location.hash;\n const regex = new RegExp(`#comment_${id}`);\n\n function scrollTo(element: Element, to: number, duration: number) {\n if (duration <= 0) {\n return;\n }\n const difference = to - element.scrollTop;\n const perTick = (difference / duration) * 10;\n\n setTimeout(() => {\n element.scrollTop = element.scrollTop + perTick;\n if (element.scrollTop === to) {\n return;\n }\n scrollTo(element, to, duration - 10);\n }, 10);\n }\n\n if (regex.test(hash)) {\n scrollTo(document.body, this.commentNode.offsetTop, 200);\n }\n\n if (window.$(document).foundation) {\n window.$(`#flagModalComment${id}`).foundation();\n }\n }\n\n public getNodeReference = (commentNode: HTMLDivElement) =>\n (this.commentNode = commentNode)\n\n public render(): JSX.Element {\n const {\n session,\n comment: { id, author, formattedBody, createdAt, formattedCreatedAt },\n articleClassName\n } = this.props;\n let modalName = \"loginModal\";\n\n if (session && session.user) {\n modalName = `flagModalComment${id}`;\n }\n\n let singleCommentUrl = `${window.location.pathname}?commentId=${id}`;\n\n if (window.location.search && window.location.search !== \"\") {\n singleCommentUrl = `${\n window.location.pathname\n }${window.location.search.replace(/commentId=\\d*/gi, `commentId=${id}`)}`;\n }\n\n return (\n <div\n id={`comment_${id}`}\n className={articleClassName}\n ref={this.getNodeReference}\n >\n <div className=\"comment__header\">\n <div className=\"author-data\">\n <div className=\"author-data__main\">\n {this._renderAuthorReference()}\n <span>\n <time dateTime={createdAt} title={createdAt}>\n {formattedCreatedAt}\n </time>\n </span>\n </div>\n <div className=\"author-data__extra\">\n <button\n type=\"button\"\n className=\"link-alt\"\n title={I18n.t(\"components.comment.report.title\")}\n data-open={modalName}\n >\n <Icon\n name=\"icon-flag\"\n iconExtraClassName=\"icon--small\"\n title={I18n.t(\"components.comment.report.title\")}\n role=\"img\"\n />\n </button>\n {this._renderFlagModal()}\n <a\n href={singleCommentUrl}\n title={I18n.t(\"components.comment.single_comment_link_title\")}\n >\n <Icon\n name=\"icon-link-intact\"\n iconExtraClassName=\"icon--small\"\n title={I18n.t(\"components.comment.single_comment_link_title\")}\n role=\"img\"\n />\n </a>\n </div>\n </div>\n </div>\n <div className=\"comment__content\">\n <div>\n {this._renderAlignmentBadge()}\n <div dangerouslySetInnerHTML={{ __html: formattedBody }} />\n </div>\n </div>\n <div className=\"comment__footer\">\n <div className=\"comment__actions\">\n {this._renderShowHideThreadButton()}\n {this._renderReplyButton()}\n </div>\n {this._renderVoteButtons()}\n </div>\n {this._renderReplies()}\n {this._renderAdditionalReplyButton()}\n {this._renderReplyForm()}\n </div>\n );\n }\n\n private toggleReplyForm = () => {\n const { showReplyForm } = this.state;\n this.setState({ showReplyForm: !showReplyForm });\n }\n\n private getThreadsStorage = (): Dict => {\n const storage: Dict =\n JSON.parse(localStorage.hiddenCommentThreads || null) || {};\n\n return storage;\n }\n\n private saveThreadsStorage = (id: string, state: boolean) => {\n const storage = this.getThreadsStorage();\n storage[parseInt(id, 10)] = state;\n localStorage.hiddenCommentThreads = JSON.stringify(storage);\n }\n\n private toggleReplies = () => {\n const {\n comment: { id }\n } = this.props;\n const { showReplies } = this.state;\n const newState = !showReplies;\n\n this.saveThreadsStorage(id, !newState);\n this.setState({ showReplies: newState });\n }\n\n private countReplies = (comment: CommentFragment): number => {\n const { comments } = comment;\n\n if (!comments) {\n return 0;\n }\n\n return (\n comments.length +\n comments.map(this.countReplies).reduce((a: number, b: number) => a + b, 0)\n );\n }\n\n /**\n * Render author information as a link to author's profile\n * @private\n * @returns {DOMElement} - Render a link with the author information\n */\n private _renderAuthorReference() {\n const {\n comment: { author }\n } = this.props;\n\n if (author.profilePath === \"\") {\n return this._renderAuthor();\n }\n\n return <a href={author.profilePath}>{this._renderAuthor()}</a>;\n }\n\n /**\n * Render author information\n * @private\n * @returns {DOMElement} - Render all the author information\n */\n private _renderAuthor() {\n const {\n comment: { author }\n } = this.props;\n\n if (author.deleted) {\n return this._renderDeletedAuthor();\n }\n\n return this._renderActiveAuthor();\n }\n\n /**\n * Render deleted author information\n * @private\n * @returns {DOMElement} - Render all the author information\n */\n private _renderDeletedAuthor() {\n const {\n comment: { author }\n } = this.props;\n\n return (\n <div className=\"author author--inline\">\n <span className=\"author__avatar\">\n <img src={author.avatarUrl} alt=\"author-avatar\" />\n </span>\n <span className=\"author__name\">\n <span className=\"label label--small label--basic\">\n {I18n.t(\"components.comment.deleted_user\")}\n </span>\n </span>\n </div>\n );\n }\n\n /**\n * Render active author information\n * @private\n * @returns {DOMElement} - Render all the author information\n */\n private _renderActiveAuthor() {\n const {\n comment: { author }\n } = this.props;\n\n return (\n <div className=\"author author--inline\">\n <span className=\"author__avatar\">\n <img src={author.avatarUrl} alt=\"author-avatar\" />\n </span>\n <span className=\"author__name\">{author.name}</span>\n {author.badge === \"\" || (\n <span className=\"author__badge\">\n <Icon name={`icon-${author.badge}`} />\n </span>\n )}\n <span className=\"author__nickname\">{author.nickname}</span>\n </div>\n );\n }\n\n /**\n * Render reply button if user can reply the comment\n * @private\n * @returns {Void|DOMElement} - Render the reply button or not if user can reply\n */\n private _renderReplyButton() {\n const {\n comment: { id, acceptsNewComments, userAllowedToComment },\n session\n } = this.props;\n\n if (session && acceptsNewComments && userAllowedToComment) {\n return (\n <button\n className=\"comment__reply muted-link\"\n aria-controls={`comment${id}-reply`}\n data-toggle={`comment${id}-reply`}\n onClick={this.toggleReplyForm}\n >\n <Icon name=\"icon-pencil\" iconExtraClassName=\"icon--small\" />\n &nbsp;\n {I18n.t(\"components.comment.reply\")}\n </button>\n );\n }\n\n return <span>&nbsp;</span>;\n }\n\n /**\n * Render additional reply button if user can reply the comment at the bottom of a conversation\n * @private\n * @returns {Void|DOMElement} - Render the reply button or not if user can reply\n */\n private _renderAdditionalReplyButton() {\n const {\n comment: { id, acceptsNewComments, hasComments, userAllowedToComment },\n session,\n isRootComment\n } = this.props;\n const { showReplies } = this.state;\n\n if (session && acceptsNewComments && userAllowedToComment) {\n if (hasComments && isRootComment && showReplies) {\n return (\n <div className=\"comment__additionalreply\">\n <button\n className=\"comment__reply muted-link\"\n aria-controls={`comment${id}-reply`}\n data-toggle={`comment${id}-reply`}\n onClick={this.toggleReplyForm}\n >\n <Icon name=\"icon-pencil\" iconExtraClassName=\"icon--small\" />\n &nbsp;\n {I18n.t(\"components.comment.reply\")}\n </button>\n </div>\n );\n }\n }\n return null;\n }\n\n /**\n * Render show/hide thread button if comment is top-level and has children.\n * @private\n * @returns {Void|DOMElement} - Render the reply button or not\n */\n private _renderShowHideThreadButton() {\n const { comment, isRootComment } = this.props;\n const { id, hasComments } = comment;\n const { showReplies } = this.state;\n\n if (hasComments && isRootComment) {\n return (\n <button\n className={`comment__reply muted-link ${\n showReplies ? \"comment__is-open\" : \"\"\n }`}\n onClick={this.toggleReplies}\n >\n <Icon name=\"icon-comment-square\" iconExtraClassName=\"icon--small\" />\n &nbsp;\n <span className=\"comment__text-is-closed\">\n {I18n.t(\"components.comment.show_replies\", {\n replies_count: this.countReplies(comment)\n })}\n </span>\n <span className=\"comment__text-is-open\">\n {I18n.t(\"components.comment.hide_replies\")}\n </span>\n </button>\n );\n }\n return null;\n }\n\n /**\n * Render upVote and downVote buttons when the comment is votable\n * @private\n * @returns {Void|DOMElement} - Render the upVote and downVote buttons or not\n */\n private _renderVoteButtons() {\n const { session, comment, votable, rootCommentable, orderBy } = this.props;\n const {\n comment: { userAllowedToComment }\n } = this.props;\n\n if (votable && userAllowedToComment) {\n return (\n <div className=\"comment__votes\">\n <UpVoteButton\n session={session}\n comment={comment}\n rootCommentable={rootCommentable}\n orderBy={orderBy}\n />\n <DownVoteButton\n session={session}\n comment={comment}\n rootCommentable={rootCommentable}\n orderBy={orderBy}\n />\n </div>\n );\n }\n\n return <span>&nbsp;</span>;\n }\n\n /**\n * Render comment's comments alternating the css class\n * @private\n * @returns {Void|DomElement} - A wrapper element with comment's comments inside\n */\n private _renderReplies() {\n const {\n comment: { id, hasComments, comments },\n session,\n votable,\n articleClassName,\n rootCommentable,\n orderBy,\n commentsMaxLength\n } = this.props;\n const { showReplies } = this.state;\n let replyArticleClassName = \"comment comment--nested\";\n\n if (articleClassName === \"comment comment--nested\") {\n replyArticleClassName = `${replyArticleClassName} comment--nested--alt`;\n }\n\n if (hasComments) {\n return (\n <div id={`comment-${id}-replies`} className={showReplies ? \"\" : \"hide\"}>\n {comments.map((reply: CommentFragment) => (\n <Comment\n key={`comment_${id}_reply_${reply.id}`}\n comment={reply}\n session={session}\n votable={votable}\n articleClassName={replyArticleClassName}\n rootCommentable={rootCommentable}\n orderBy={orderBy}\n commentsMaxLength={commentsMaxLength}\n />\n ))}\n </div>\n );\n }\n\n return null;\n }\n\n /**\n * Render reply form based on the current component state\n * @private\n * @returns {Void|ReactElement} - Render the AddCommentForm component or not\n */\n private _renderReplyForm() {\n const { session, comment, rootCommentable, orderBy, commentsMaxLength } = this.props;\n const { showReplyForm } = this.state;\n const {\n comment: { userAllowedToComment }\n } = this.props;\n\n if (session && showReplyForm && userAllowedToComment) {\n return (\n <AddCommentForm\n session={session}\n commentable={comment}\n showTitle={false}\n submitButtonClassName=\"button small hollow\"\n onCommentAdded={this.toggleReplyForm}\n autoFocus={true}\n rootCommentable={rootCommentable}\n orderBy={orderBy}\n commentsMaxLength={commentsMaxLength}\n />\n );\n }\n\n return null;\n }\n\n /**\n * Render alignment badge if comment's alignment is 0 or -1\n * @private\n * @returns {Void|DOMElement} - The alignment's badge or not\n */\n private _renderAlignmentBadge() {\n const {\n comment: { alignment }\n } = this.props;\n const spanClassName = classnames(\"label alignment\", {\n success: alignment === 1,\n alert: alignment === -1\n });\n\n let label = \"\";\n\n if (alignment === 1) {\n label = I18n.t(\"components.comment.alignment.in_favor\");\n } else {\n label = I18n.t(\"components.comment.alignment.against\");\n }\n\n if (alignment === 1 || alignment === -1) {\n return (\n <span>\n <span className={spanClassName}>{label}</span>\n &nbsp;\n </span>\n );\n }\n\n return null;\n }\n\n /**\n * Render a modal to report the comment.\n * @private\n * @return {Void|DOMElement} - The comment's report modal or not.\n */\n private _renderFlagModal() {\n const {\n session,\n comment: { id, sgid, alreadyReported, userAllowedToComment }\n } = this.props;\n const authenticityToken = this._getAuthenticityToken();\n\n const closeModal = () => {\n window.$(`#flagModalComment${id}`).foundation(\"close\");\n };\n\n if (session && session.user && userAllowedToComment) {\n return (\n <div\n className=\"reveal flag-modal\"\n id={`flagModalComment${id}`}\n data-reveal={true}\n >\n <div className=\"reveal__header\">\n <h3 className=\"reveal__title\">\n {I18n.t(\"components.comment.report.title\")}\n </h3>\n <button\n className=\"close-button\"\n aria-label={I18n.t(\"components.comment.report.close\")}\n type=\"button\"\n onClick={closeModal}\n >\n <span aria-hidden=\"true\">&times;</span>\n </button>\n </div>\n {(() => {\n if (alreadyReported) {\n return (\n <p key={`already-reported-comment-${id}`}>\n {I18n.t(\"components.comment.report.already_reported\")}\n </p>\n );\n }\n return [\n <p key={`report-description-comment-${id}`}>\n {I18n.t(\"components.comment.report.description\")}\n </p>,\n <form\n key={`report-form-comment-${id}`}\n method=\"post\"\n action={`/report?sgid=${sgid}`}\n >\n <input\n type=\"hidden\"\n name=\"authenticity_token\"\n value={authenticityToken}\n />\n <label htmlFor={`report_comment_${id}_reason_spam`}>\n <input\n type=\"radio\"\n value=\"spam\"\n name=\"report[reason]\"\n id={`report_comment_${id}_reason_spam`}\n defaultChecked={true}\n />\n {I18n.t(\"components.comment.report.reasons.spam\")}\n </label>\n <label htmlFor={`report_comment_${id}_reason_offensive`}>\n <input\n type=\"radio\"\n value=\"offensive\"\n name=\"report[reason]\"\n id={`report_comment_${id}_reason_offensive`}\n />\n {I18n.t(\"components.comment.report.reasons.offensive\")}\n </label>\n <label htmlFor={`report_comment_${id}_reason_does_not_belong`}>\n <input\n type=\"radio\"\n value=\"does_not_belong\"\n name=\"report[reason]\"\n id={`report_comment_${id}_reason_does_not_belong`}\n />\n {I18n.t(\"components.comment.report.reasons.does_not_belong\", {\n organization_name: session.user.organizationName\n })}\n </label>\n <label htmlFor={`report_comment_${id}_details`}>\n {I18n.t(\"components.comment.report.details\")}\n <textarea\n rows={4}\n name=\"report[details]\"\n id={`report_comment_${id}_details`}\n />\n </label>\n <button type=\"submit\" name=\"commit\" className=\"button\">\n {I18n.t(\"components.comment.report.action\")}\n </button>\n </form>\n ];\n })()}\n </div>\n );\n }\n\n return null;\n }\n\n /**\n * Get Rails authenticity token so we can send requests through the report forms.\n * @private\n * @return {string} - The current authenticity token.\n */\n private _getAuthenticityToken() {\n return window.$('meta[name=\"csrf-token\"]').attr(\"content\");\n }\n}\n\nexport default Comment;\n","import * as React from \"react\";\nimport { graphql, MutationFunc } from \"react-apollo\";\n\nconst PropTypes = require(\"prop-types\");\n\nimport VoteButton from \"./vote_button.component\";\n\nimport {\n AddCommentFormCommentableFragment,\n AddCommentFormSessionFragment,\n CommentFragment,\n DownVoteButtonFragment,\n DownVoteMutation,\n GetCommentsQuery\n} from \"../support/schema\";\n\nconst { I18n } = require(\"react-i18nify\");\n\ninterface DownVoteButtonProps {\n session: AddCommentFormSessionFragment & {\n user: any;\n } | null;\n comment: DownVoteButtonFragment;\n downVote?: (context: any) => void;\n rootCommentable: AddCommentFormCommentableFragment;\n orderBy: string;\n}\n\nexport const DownVoteButton: React.SFC<DownVoteButtonProps> = (\n {\n session,\n comment: { downVotes, upVoted, downVoted },\n downVote\n },\n context) => {\n let selectedClass = \"\";\n\n if (downVoted) {\n selectedClass = \"is-vote-selected\";\n } else if (upVoted) {\n selectedClass = \"is-vote-notselected\";\n }\n\n const userLoggedIn = session && session.user;\n const disabled = false;\n const voteAction = () => downVote && downVote(context);\n\n return (\n <VoteButton\n buttonClassName=\"comment__votes--down\"\n iconName=\"icon-chevron-bottom\"\n text={I18n.t(\"components.down_vote_button.text\")}\n votes={downVotes}\n voteAction={voteAction}\n disabled={disabled}\n selectedClass={selectedClass}\n userLoggedIn={userLoggedIn}\n />\n );\n};\n\nDownVoteButton.contextTypes = {\n locale: PropTypes.string,\n toggleTranslations: PropTypes.bool\n};\n\nconst downVoteMutation = require(\"../mutations/down_vote.mutation.graphql\");\nconst getCommentsQuery = require(\"../queries/comments.query.graphql\");\n\nconst DownVoteButtonWithMutation = graphql<DownVoteMutation, DownVoteButtonProps>(downVoteMutation, {\n props: ({ ownProps, mutate }: { ownProps: DownVoteButtonProps, mutate: MutationFunc<DownVoteMutation> }) => ({\n downVote: ({ locale, toggleTranslations }: any) => mutate({\n variables: {\n locale,\n toggleTranslations,\n id: ownProps.comment.id\n },\n optimisticResponse: {\n __typename: \"Mutation\",\n comment: {\n __typename: \"CommentMutation\",\n downVote: {\n __typename: \"Comment\",\n ...ownProps.comment,\n downVotes: ownProps.comment.downVotes + (ownProps.comment.downVoted ? -1 : 1),\n downVoted: true\n }\n }\n },\n update: (store, { data }: { data: DownVoteMutation }) => {\n const variables = {\n locale,\n toggleTranslations,\n commentableId: ownProps.rootCommentable.id,\n commentableType: ownProps.rootCommentable.type,\n orderBy: ownProps.orderBy,\n singleCommentId: null\n };\n\n const commentReducer = (comment: CommentFragment): CommentFragment => {\n const replies = comment.comments || [];\n\n if (comment.id === ownProps.comment.id && data.comment) {\n return data.comment.downVote;\n }\n\n return {\n ...comment,\n comments: replies.map(commentReducer)\n };\n };\n\n const prev = store.readQuery<GetCommentsQuery>({ query: getCommentsQuery, variables });\n\n if (prev) {\n store.writeQuery({\n query: getCommentsQuery,\n data: {\n ...prev,\n commentable: {\n ...prev.commentable,\n comments: prev.commentable.comments.map(commentReducer)\n }\n },\n variables\n });\n }\n }\n })\n })\n})(DownVoteButton);\n\nexport default DownVoteButtonWithMutation;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"DownVote\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"comment\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"downVote\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"},\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":251}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/comment.fragment.graphql\\\"\\n\\nmutation DownVote($id: ID!, $locale: String!, $toggleTranslations: Boolean!) {\\n comment(id: $id, locale: $locale, toggleTranslations: $toggleTranslations) {\\n downVote {\\n ...Comment\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/comment.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n return doc.definitions.find(function(op) {\n return op.name ? op.name.value == name : false;\n });\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = Object.assign({}, doc);\n\n var op = findOperation(doc, operationName);\n newDoc.definitions = [op];\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set(opRefs);\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n\n module.exports = doc;\n \n module.exports[\"DownVote\"] = oneQuery(doc, \"DownVote\");\n \n","import * as React from \"react\";\nimport { graphql, MutationFunc } from \"react-apollo\";\n\nconst PropTypes = require(\"prop-types\");\n\nimport VoteButton from \"./vote_button.component\";\n\nconst { I18n } = require(\"react-i18nify\");\n\nimport {\n AddCommentFormCommentableFragment,\n AddCommentFormSessionFragment,\n CommentFragment,\n GetCommentsQuery,\n UpVoteButtonFragment,\n UpVoteMutation\n} from \"../support/schema\";\n\ninterface UpVoteButtonProps {\n session: AddCommentFormSessionFragment & {\n user: any;\n } | null;\n comment: UpVoteButtonFragment;\n upVote?: (context: any) => void;\n rootCommentable: AddCommentFormCommentableFragment;\n orderBy: string;\n}\n\nexport const UpVoteButton: React.SFC<UpVoteButtonProps> = (\n {\n session,\n comment: { upVotes, upVoted, downVoted },\n upVote\n },\n context) => {\n let selectedClass = \"\";\n\n if (upVoted) {\n selectedClass = \"is-vote-selected\";\n } else if (downVoted) {\n selectedClass = \"is-vote-notselected\";\n }\n\n const userLoggedIn = session && session.user;\n const disabled = false;\n const voteAction = () => upVote && upVote(context);\n\n return (\n <VoteButton\n buttonClassName=\"comment__votes--up\"\n iconName=\"icon-chevron-top\"\n text={I18n.t(\"components.up_vote_button.text\")}\n votes={upVotes}\n voteAction={voteAction}\n disabled={disabled}\n selectedClass={selectedClass}\n userLoggedIn={userLoggedIn}\n />\n );\n};\n\nUpVoteButton.contextTypes = {\n locale: PropTypes.string,\n toggleTranslations: PropTypes.bool\n};\n\nconst upVoteMutation = require(\"../mutations/up_vote.mutation.graphql\");\nconst getCommentsQuery = require(\"../queries/comments.query.graphql\");\n\nconst UpVoteButtonWithMutation = graphql<UpVoteMutation, UpVoteButtonProps>(upVoteMutation, {\n props: ({ ownProps, mutate }: { ownProps: UpVoteButtonProps, mutate: MutationFunc<UpVoteMutation> }) => ({\n upVote: ({ locale, toggleTranslations }: any) => mutate({\n variables: {\n locale,\n toggleTranslations,\n id: ownProps.comment.id\n },\n optimisticResponse: {\n __typename: \"Mutation\",\n comment: {\n __typename: \"CommentMutation\",\n upVote: {\n __typename: \"Comment\",\n ...ownProps.comment,\n upVotes: ownProps.comment.upVotes + (ownProps.comment.upVoted ? -1 : 1),\n upVoted: true\n }\n }\n },\n update: (store, { data }: { data: UpVoteMutation }) => {\n const variables = {\n locale,\n toggleTranslations,\n commentableId: ownProps.rootCommentable.id,\n commentableType: ownProps.rootCommentable.type,\n orderBy: ownProps.orderBy,\n singleCommentId: null\n };\n\n const commentReducer = (comment: CommentFragment): CommentFragment => {\n const replies = comment.comments || [];\n\n if (comment.id === ownProps.comment.id && data.comment) {\n return data.comment.upVote;\n }\n\n return {\n ...comment,\n comments: replies.map(commentReducer)\n };\n };\n\n const prev = store.readQuery<GetCommentsQuery>({ query: getCommentsQuery, variables });\n\n if (prev) {\n store.writeQuery({\n query: getCommentsQuery,\n data: {\n ...prev,\n commentable: {\n ...prev.commentable,\n comments: prev.commentable.comments.map(commentReducer)\n }\n },\n variables\n });\n }\n }\n })\n })\n})(UpVoteButton);\n\nexport default UpVoteButtonWithMutation;\n","\n var doc = {\"kind\":\"Document\",\"definitions\":[{\"kind\":\"OperationDefinition\",\"operation\":\"mutation\",\"name\":{\"kind\":\"Name\",\"value\":\"UpVote\"},\"variableDefinitions\":[{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"ID\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"String\"}}}},{\"kind\":\"VariableDefinition\",\"variable\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}},\"type\":{\"kind\":\"NonNullType\",\"type\":{\"kind\":\"NamedType\",\"name\":{\"kind\":\"Name\",\"value\":\"Boolean\"}}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"comment\"},\"arguments\":[{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"id\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"locale\"}}},{\"kind\":\"Argument\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"},\"value\":{\"kind\":\"Variable\",\"name\":{\"kind\":\"Name\",\"value\":\"toggleTranslations\"}}}],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"Field\",\"name\":{\"kind\":\"Name\",\"value\":\"upVote\"},\"arguments\":[],\"directives\":[],\"selectionSet\":{\"kind\":\"SelectionSet\",\"selections\":[{\"kind\":\"FragmentSpread\",\"name\":{\"kind\":\"Name\",\"value\":\"Comment\"},\"directives\":[]}]}}]}}]}}],\"loc\":{\"start\":0,\"end\":247}};\n doc.loc.source = {\"body\":\"#import \\\"../fragments/comment.fragment.graphql\\\"\\n\\nmutation UpVote($id: ID!, $locale: String!, $toggleTranslations: Boolean!) {\\n comment(id: $id, locale: $locale, toggleTranslations: $toggleTranslations) {\\n upVote {\\n ...Comment\\n }\\n }\\n}\\n\",\"name\":\"GraphQL request\",\"locationOffset\":{\"line\":1,\"column\":1}};\n \n\n var names = {};\n function unique(defs) {\n return defs.filter(\n function(def) {\n if (def.kind !== 'FragmentDefinition') return true;\n var name = def.name.value\n if (names[name]) {\n return false;\n } else {\n names[name] = true;\n return true;\n }\n }\n )\n }\n doc.definitions = doc.definitions.concat(unique(require(\"../fragments/comment.fragment.graphql\").definitions));\n\n\n // Collect any fragment/type references from a node, adding them to the refs Set\n function collectFragmentReferences(node, refs) {\n if (node.kind === \"FragmentSpread\") {\n refs.add(node.name.value);\n } else if (node.kind === \"VariableDefinition\") {\n var type = node.type;\n if (type.kind === \"NamedType\") {\n refs.add(type.name.value);\n }\n }\n\n if (node.selectionSet) {\n node.selectionSet.selections.forEach(function(selection) {\n collectFragmentReferences(selection, refs);\n });\n }\n\n if (node.variableDefinitions) {\n node.variableDefinitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n\n if (node.definitions) {\n node.definitions.forEach(function(def) {\n collectFragmentReferences(def, refs);\n });\n }\n }\n\n var definitionRefs = {};\n (function extractReferences() {\n doc.definitions.forEach(function(def) {\n if (def.name) {\n var refs = new Set();\n collectFragmentReferences(def, refs);\n definitionRefs[def.name.value] = refs;\n }\n });\n })();\n\n function findOperation(doc, name) {\n return doc.definitions.find(function(op) {\n return op.name ? op.name.value == name : false;\n });\n }\n\n function oneQuery(doc, operationName) {\n // Copy the DocumentNode, but clear out the definitions\n var newDoc = Object.assign({}, doc);\n\n var op = findOperation(doc, operationName);\n newDoc.definitions = [op];\n\n // Now, for the operation we're running, find any fragments referenced by\n // it or the fragments it references\n var opRefs = definitionRefs[operationName] || new Set();\n var allRefs = new Set();\n var newRefs = new Set(opRefs);\n while (newRefs.size > 0) {\n var prevRefs = newRefs;\n newRefs = new Set();\n\n prevRefs.forEach(function(refName) {\n if (!allRefs.has(refName)) {\n allRefs.add(refName);\n var childRefs = definitionRefs[refName] || new Set();\n childRefs.forEach(function(childRef) {\n newRefs.add(childRef);\n });\n }\n });\n }\n\n allRefs.forEach(function(refName) {\n var op = findOperation(doc, refName);\n if (op) {\n newDoc.definitions.push(op);\n }\n });\n\n return newDoc;\n }\n\n module.exports = doc;\n \n module.exports[\"UpVote\"] = oneQuery(doc, \"UpVote\");\n \n","/* eslint-disable no-param-reassign */\nimport requireAll from \"./require_all\";\n\nconst { I18n } = require(\"react-i18nify\");\n\n/**\n * Load components translations from yaml files and import them into\n * react-i18ify system so they can be used via `I18n.t` method.\n * @returns {Void} - Nothing\n */\nconst loadTranslations = () => {\n const translationsContext = (require as any).context(\"../../../config/locales/\", true, /\\.yml$/);\n const translationFiles = requireAll(translationsContext);\n\n const translations = translationsContext.keys().reduce((acc: any, key: string, index: number) => {\n const match = key.match(/\\.\\/(.*)\\.yml/);\n\n if (match) {\n const locale = match[1];\n const translationKeys = translationFiles[index][locale];\n\n if (translationKeys && translationKeys.decidim) {\n acc[locale] = translationKeys.decidim;\n }\n }\n\n return acc;\n }, {});\n\n I18n.setTranslations(translations);\n};\n\n/**\n * Load components translations from a locale files and import them into\n * react-i18ify system so they can be used via `I18n.t` method.\n * @returns {Void} - Nothing\n */\nexport const loadLocaleTranslations = (locale: string) => {\n const translationFile = require(`./../../../config/locales/${locale}.yml`);\n const translations = Object.keys(translationFile).reduce((acc: any, key: string) => {\n acc[locale] = translationFile[locale].decidim;\n return acc;\n }, {});\n\n I18n.setTranslations(translations);\n};\n\nexport default loadTranslations;\n","/**\n * Given a webpack require context it require all the files\n * @param {Object} requireContext - A webpack require context\n * @returns {Object[]} - An array of webpack modules\n */\nconst requireAll = (requireContext: any) => {\n return requireContext.keys().map(requireContext);\n};\n\nexport default requireAll;\n","var map = {\n\t\"./am-ET.yml\": 288,\n\t\"./ar-SA.yml\": 289,\n\t\"./ar.yml\": 290,\n\t\"./bg-BG.yml\": 291,\n\t\"./bg.yml\": 292,\n\t\"./ca.yml\": 293,\n\t\"./cs-CZ.yml\": 294,\n\t\"./cs.yml\": 295,\n\t\"./da-DK.yml\": 296,\n\t\"./da.yml\": 297,\n\t\"./de.yml\": 298,\n\t\"./el-GR.yml\": 299,\n\t\"./el.yml\": 300,\n\t\"./en.yml\": 301,\n\t\"./eo-UY.yml\": 302,\n\t\"./eo.yml\": 303,\n\t\"./es-MX.yml\": 304,\n\t\"./es-PY.yml\": 305,\n\t\"./es.yml\": 306,\n\t\"./et-EE.yml\": 307,\n\t\"./et.yml\": 308,\n\t\"./eu.yml\": 309,\n\t\"./fi-pl.yml\": 310,\n\t\"./fi-plain.yml\": 311,\n\t\"./fi.yml\": 312,\n\t\"./fr-CA.yml\": 313,\n\t\"./fr.yml\": 314,\n\t\"./ga-IE.yml\": 315,\n\t\"./gl.yml\": 316,\n\t\"./hr-HR.yml\": 317,\n\t\"./hr.yml\": 318,\n\t\"./hu.yml\": 319,\n\t\"./id-ID.yml\": 320,\n\t\"./is-IS.yml\": 321,\n\t\"./is.yml\": 322,\n\t\"./it.yml\": 323,\n\t\"./ja-JP.yml\": 324,\n\t\"./ja.yml\": 325,\n\t\"./ko-KR.yml\": 326,\n\t\"./ko.yml\": 327,\n\t\"./lt-LT.yml\": 328,\n\t\"./lt.yml\": 329,\n\t\"./lv.yml\": 330,\n\t\"./mt-MT.yml\": 331,\n\t\"./mt.yml\": 332,\n\t\"./nl.yml\": 333,\n\t\"./no.yml\": 334,\n\t\"./om-ET.yml\": 335,\n\t\"./pl.yml\": 336,\n\t\"./pt-BR.yml\": 337,\n\t\"./pt.yml\": 338,\n\t\"./ro-RO.yml\": 339,\n\t\"./ru.yml\": 340,\n\t\"./si-LK.yml\": 341,\n\t\"./sk-SK.yml\": 342,\n\t\"./sk.yml\": 343,\n\t\"./sl.yml\": 344,\n\t\"./so-SO.yml\": 345,\n\t\"./sr-CS.yml\": 346,\n\t\"./sv.yml\": 347,\n\t\"./sw-KE.yml\": 348,\n\t\"./ti-ER.yml\": 349,\n\t\"./tr-TR.yml\": 350,\n\t\"./uk.yml\": 351,\n\t\"./vi-VN.yml\": 352,\n\t\"./vi.yml\": 353,\n\t\"./zh-CN.yml\": 354,\n\t\"./zh-TW.yml\": 355\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 587;","var map = {\n\t\"./am-ET.yml\": 288,\n\t\"./ar-SA.yml\": 289,\n\t\"./ar.yml\": 290,\n\t\"./bg-BG.yml\": 291,\n\t\"./bg.yml\": 292,\n\t\"./ca.yml\": 293,\n\t\"./cs-CZ.yml\": 294,\n\t\"./cs.yml\": 295,\n\t\"./da-DK.yml\": 296,\n\t\"./da.yml\": 297,\n\t\"./de.yml\": 298,\n\t\"./el-GR.yml\": 299,\n\t\"./el.yml\": 300,\n\t\"./en.yml\": 301,\n\t\"./eo-UY.yml\": 302,\n\t\"./eo.yml\": 303,\n\t\"./es-MX.yml\": 304,\n\t\"./es-PY.yml\": 305,\n\t\"./es.yml\": 306,\n\t\"./et-EE.yml\": 307,\n\t\"./et.yml\": 308,\n\t\"./eu.yml\": 309,\n\t\"./fi-pl.yml\": 310,\n\t\"./fi-plain.yml\": 311,\n\t\"./fi.yml\": 312,\n\t\"./fr-CA.yml\": 313,\n\t\"./fr.yml\": 314,\n\t\"./ga-IE.yml\": 315,\n\t\"./gl.yml\": 316,\n\t\"./hr-HR.yml\": 317,\n\t\"./hr.yml\": 318,\n\t\"./hu.yml\": 319,\n\t\"./id-ID.yml\": 320,\n\t\"./is-IS.yml\": 321,\n\t\"./is.yml\": 322,\n\t\"./it.yml\": 323,\n\t\"./ja-JP.yml\": 324,\n\t\"./ja.yml\": 325,\n\t\"./ko-KR.yml\": 326,\n\t\"./ko.yml\": 327,\n\t\"./lt-LT.yml\": 328,\n\t\"./lt.yml\": 329,\n\t\"./lv.yml\": 330,\n\t\"./mt-MT.yml\": 331,\n\t\"./mt.yml\": 332,\n\t\"./nl.yml\": 333,\n\t\"./no.yml\": 334,\n\t\"./om-ET.yml\": 335,\n\t\"./pl.yml\": 336,\n\t\"./pt-BR.yml\": 337,\n\t\"./pt.yml\": 338,\n\t\"./ro-RO.yml\": 339,\n\t\"./ru.yml\": 340,\n\t\"./si-LK.yml\": 341,\n\t\"./sk-SK.yml\": 342,\n\t\"./sk.yml\": 343,\n\t\"./sl.yml\": 344,\n\t\"./so-SO.yml\": 345,\n\t\"./sr-CS.yml\": 346,\n\t\"./sv.yml\": 347,\n\t\"./sw-KE.yml\": 348,\n\t\"./ti-ER.yml\": 349,\n\t\"./tr-TR.yml\": 350,\n\t\"./uk.yml\": 351,\n\t\"./vi-VN.yml\": 352,\n\t\"./vi.yml\": 353,\n\t\"./zh-CN.yml\": 354,\n\t\"./zh-TW.yml\": 355\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = 588;","export function queryFromPojo(obj) {\n var op = {\n kind: 'OperationDefinition',\n operation: 'query',\n name: {\n kind: 'Name',\n value: 'GeneratedClientQuery',\n },\n selectionSet: selectionSetFromObj(obj),\n };\n var out = {\n kind: 'Document',\n definitions: [op],\n };\n return out;\n}\nexport function fragmentFromPojo(obj, typename) {\n var frag = {\n kind: 'FragmentDefinition',\n typeCondition: {\n kind: 'NamedType',\n name: {\n kind: 'Name',\n value: typename || '__FakeType',\n },\n },\n name: {\n kind: 'Name',\n value: 'GeneratedClientQuery',\n },\n selectionSet: selectionSetFromObj(obj),\n };\n var out = {\n kind: 'Document',\n definitions: [frag],\n };\n return out;\n}\nfunction selectionSetFromObj(obj) {\n if (typeof obj === 'number' ||\n typeof obj === 'boolean' ||\n typeof obj === 'string' ||\n typeof obj === 'undefined' ||\n obj === null) {\n return null;\n }\n if (Array.isArray(obj)) {\n return selectionSetFromObj(obj[0]);\n }\n var selections = [];\n Object.keys(obj).forEach(function (key) {\n var field = {\n kind: 'Field',\n name: {\n kind: 'Name',\n value: key,\n },\n };\n var nestedSelSet = selectionSetFromObj(obj[key]);\n if (nestedSelSet) {\n field.selectionSet = nestedSelSet;\n }\n selections.push(field);\n });\n var selectionSet = {\n kind: 'SelectionSet',\n selections: selections,\n };\n return selectionSet;\n}\nexport var justTypenameQuery = {\n kind: 'Document',\n definitions: [\n {\n kind: 'OperationDefinition',\n operation: 'query',\n name: null,\n variableDefinitions: null,\n directives: [],\n selectionSet: {\n kind: 'SelectionSet',\n selections: [\n {\n kind: 'Field',\n alias: null,\n name: {\n kind: 'Name',\n value: '__typename',\n },\n arguments: [],\n directives: [],\n selectionSet: null,\n },\n ],\n },\n },\n ],\n};\n//# sourceMappingURL=utils.js.map","export var Cache;\n(function (Cache) {\n})(Cache || (Cache = {}));\n//# sourceMappingURL=Cache.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { getFragmentQueryDocument } from 'apollo-utilities';\nimport { justTypenameQuery, queryFromPojo, fragmentFromPojo } from './utils';\nvar ApolloCache = (function () {\n function ApolloCache() {\n }\n ApolloCache.prototype.transformDocument = function (document) {\n return document;\n };\n ApolloCache.prototype.transformForLink = function (document) {\n return document;\n };\n ApolloCache.prototype.readQuery = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.read({\n query: options.query,\n variables: options.variables,\n optimistic: optimistic,\n });\n };\n ApolloCache.prototype.readFragment = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.read({\n query: getFragmentQueryDocument(options.fragment, options.fragmentName),\n variables: options.variables,\n rootId: options.id,\n optimistic: optimistic,\n });\n };\n ApolloCache.prototype.writeQuery = function (options) {\n this.write({\n dataId: 'ROOT_QUERY',\n result: options.data,\n query: options.query,\n variables: options.variables,\n });\n };\n ApolloCache.prototype.writeFragment = function (options) {\n this.write({\n dataId: options.id,\n result: options.data,\n variables: options.variables,\n query: getFragmentQueryDocument(options.fragment, options.fragmentName),\n });\n };\n ApolloCache.prototype.writeData = function (_a) {\n var id = _a.id, data = _a.data;\n if (id) {\n var typenameResult = null;\n try {\n typenameResult = this.read({\n rootId: id,\n optimistic: false,\n query: justTypenameQuery,\n });\n }\n catch (e) {\n }\n var __typename = (typenameResult && typenameResult.__typename) || '__ClientData';\n var dataToWrite = __assign({ __typename: __typename }, data);\n this.writeFragment({\n id: id,\n fragment: fragmentFromPojo(dataToWrite, __typename),\n data: dataToWrite,\n });\n }\n else {\n this.writeQuery({ query: queryFromPojo(data), data: data });\n }\n };\n return ApolloCache;\n}());\nexport { ApolloCache };\n//# sourceMappingURL=cache.js.map","import { isTest, warnOnceInDevelopment } from 'apollo-utilities';\nvar haveWarned = false;\nvar HeuristicFragmentMatcher = (function () {\n function HeuristicFragmentMatcher() {\n }\n HeuristicFragmentMatcher.prototype.ensureReady = function () {\n return Promise.resolve();\n };\n HeuristicFragmentMatcher.prototype.canBypassInit = function () {\n return true;\n };\n HeuristicFragmentMatcher.prototype.match = function (idValue, typeCondition, context) {\n var obj = context.store.get(idValue.id);\n if (!obj) {\n return false;\n }\n if (!obj.__typename) {\n if (!haveWarned) {\n console.warn(\"You're using fragments in your queries, but either don't have the addTypename:\\n true option set in Apollo Client, or you are trying to write a fragment to the store without the __typename.\\n Please turn on the addTypename option and include __typename when writing fragments so that Apollo Client\\n can accurately match fragments.\");\n console.warn('Could not find __typename on Fragment ', typeCondition, obj);\n console.warn(\"DEPRECATION WARNING: using fragments without __typename is unsupported behavior \" +\n \"and will be removed in future versions of Apollo client. You should fix this and set addTypename to true now.\");\n if (!isTest()) {\n haveWarned = true;\n }\n }\n context.returnPartialData = true;\n return true;\n }\n if (obj.__typename === typeCondition) {\n return true;\n }\n warnOnceInDevelopment(\"You are using the simple (heuristic) fragment matcher, but your queries contain union or interface types.\\n Apollo Client will not be able to able to accurately map fragments.\" +\n \"To make this error go away, use the IntrospectionFragmentMatcher as described in the docs: \" +\n \"https://www.apollographql.com/docs/react/recipes/fragment-matching.html\", 'error');\n context.returnPartialData = true;\n return true;\n };\n return HeuristicFragmentMatcher;\n}());\nexport { HeuristicFragmentMatcher };\nvar IntrospectionFragmentMatcher = (function () {\n function IntrospectionFragmentMatcher(options) {\n if (options && options.introspectionQueryResultData) {\n this.possibleTypesMap = this.parseIntrospectionResult(options.introspectionQueryResultData);\n this.isReady = true;\n }\n else {\n this.isReady = false;\n }\n this.match = this.match.bind(this);\n }\n IntrospectionFragmentMatcher.prototype.match = function (idValue, typeCondition, context) {\n if (!this.isReady) {\n throw new Error('FragmentMatcher.match() was called before FragmentMatcher.init()');\n }\n var obj = context.store.get(idValue.id);\n if (!obj) {\n return false;\n }\n if (!obj.__typename) {\n throw new Error(\"Cannot match fragment because __typename property is missing: \" + JSON.stringify(obj));\n }\n if (obj.__typename === typeCondition) {\n return true;\n }\n var implementingTypes = this.possibleTypesMap[typeCondition];\n if (implementingTypes && implementingTypes.indexOf(obj.__typename) > -1) {\n return true;\n }\n return false;\n };\n IntrospectionFragmentMatcher.prototype.parseIntrospectionResult = function (introspectionResultData) {\n var typeMap = {};\n introspectionResultData.__schema.types.forEach(function (type) {\n if (type.kind === 'UNION' || type.kind === 'INTERFACE') {\n typeMap[type.name] = type.possibleTypes.map(function (implementingType) { return implementingType.name; });\n }\n });\n return typeMap;\n };\n return IntrospectionFragmentMatcher;\n}());\nexport { IntrospectionFragmentMatcher };\n//# sourceMappingURL=fragmentMatcher.js.map","var ObjectCache = (function () {\n function ObjectCache(data) {\n if (data === void 0) { data = {}; }\n this.data = data;\n }\n ObjectCache.prototype.toObject = function () {\n return this.data;\n };\n ObjectCache.prototype.get = function (dataId) {\n return this.data[dataId];\n };\n ObjectCache.prototype.set = function (dataId, value) {\n this.data[dataId] = value;\n };\n ObjectCache.prototype.delete = function (dataId) {\n this.data[dataId] = undefined;\n };\n ObjectCache.prototype.clear = function () {\n this.data = {};\n };\n ObjectCache.prototype.replace = function (newData) {\n this.data = newData || {};\n };\n return ObjectCache;\n}());\nexport { ObjectCache };\nexport function defaultNormalizedCacheFactory(seed) {\n return new ObjectCache(seed);\n}\n//# sourceMappingURL=objectCache.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { print } from 'graphql/language/printer';\nimport { assign, createFragmentMap, getDefaultValues, getFragmentDefinitions, getOperationDefinition, isField, isIdValue, isInlineFragment, isProduction, resultKeyNameFromField, shouldInclude, storeKeyNameFromField, getQueryDefinition, } from 'apollo-utilities';\nimport { defaultNormalizedCacheFactory, ObjectCache } from './objectCache';\nvar WriteError = (function (_super) {\n __extends(WriteError, _super);\n function WriteError() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.type = 'WriteError';\n return _this;\n }\n return WriteError;\n}(Error));\nexport { WriteError };\nexport function enhanceErrorWithDocument(error, document) {\n var enhancedError = new WriteError(\"Error writing result to store for query:\\n \" + print(document));\n enhancedError.message += '\\n' + error.message;\n enhancedError.stack = error.stack;\n return enhancedError;\n}\nexport function writeQueryToStore(_a) {\n var result = _a.result, query = _a.query, _b = _a.storeFactory, storeFactory = _b === void 0 ? defaultNormalizedCacheFactory : _b, _c = _a.store, store = _c === void 0 ? storeFactory() : _c, variables = _a.variables, dataIdFromObject = _a.dataIdFromObject, _d = _a.fragmentMap, fragmentMap = _d === void 0 ? {} : _d, fragmentMatcherFunction = _a.fragmentMatcherFunction;\n var queryDefinition = getQueryDefinition(query);\n variables = assign({}, getDefaultValues(queryDefinition), variables);\n try {\n return writeSelectionSetToStore({\n dataId: 'ROOT_QUERY',\n result: result,\n selectionSet: queryDefinition.selectionSet,\n context: {\n store: store,\n storeFactory: storeFactory,\n processedData: {},\n variables: variables,\n dataIdFromObject: dataIdFromObject,\n fragmentMap: fragmentMap,\n fragmentMatcherFunction: fragmentMatcherFunction,\n },\n });\n }\n catch (e) {\n throw enhanceErrorWithDocument(e, query);\n }\n}\nexport function writeResultToStore(_a) {\n var dataId = _a.dataId, result = _a.result, document = _a.document, _b = _a.storeFactory, storeFactory = _b === void 0 ? defaultNormalizedCacheFactory : _b, _c = _a.store, store = _c === void 0 ? storeFactory() : _c, variables = _a.variables, dataIdFromObject = _a.dataIdFromObject, fragmentMatcherFunction = _a.fragmentMatcherFunction;\n var operationDefinition = getOperationDefinition(document);\n var selectionSet = operationDefinition.selectionSet;\n var fragmentMap = createFragmentMap(getFragmentDefinitions(document));\n variables = assign({}, getDefaultValues(operationDefinition), variables);\n try {\n return writeSelectionSetToStore({\n result: result,\n dataId: dataId,\n selectionSet: selectionSet,\n context: {\n store: store,\n storeFactory: storeFactory,\n processedData: {},\n variables: variables,\n dataIdFromObject: dataIdFromObject,\n fragmentMap: fragmentMap,\n fragmentMatcherFunction: fragmentMatcherFunction,\n },\n });\n }\n catch (e) {\n throw enhanceErrorWithDocument(e, document);\n }\n}\nexport function writeSelectionSetToStore(_a) {\n var result = _a.result, dataId = _a.dataId, selectionSet = _a.selectionSet, context = _a.context;\n var variables = context.variables, store = context.store, fragmentMap = context.fragmentMap;\n selectionSet.selections.forEach(function (selection) {\n var included = shouldInclude(selection, variables);\n if (isField(selection)) {\n var resultFieldKey = resultKeyNameFromField(selection);\n var value = result[resultFieldKey];\n if (included) {\n if (typeof value !== 'undefined') {\n writeFieldToStore({\n dataId: dataId,\n value: value,\n field: selection,\n context: context,\n });\n }\n else {\n var isDefered = selection.directives &&\n selection.directives.length &&\n selection.directives.some(function (directive) { return directive.name && directive.name.value === 'defer'; });\n if (!isDefered && context.fragmentMatcherFunction) {\n if (!isProduction()) {\n console.warn(\"Missing field \" + resultFieldKey + \" in \" + JSON.stringify(result, null, 2).substring(0, 100));\n }\n }\n }\n }\n }\n else {\n var fragment = void 0;\n if (isInlineFragment(selection)) {\n fragment = selection;\n }\n else {\n fragment = (fragmentMap || {})[selection.name.value];\n if (!fragment) {\n throw new Error(\"No fragment named \" + selection.name.value + \".\");\n }\n }\n var matches = true;\n if (context.fragmentMatcherFunction && fragment.typeCondition) {\n var idValue = { type: 'id', id: 'self', generated: false };\n var fakeContext = {\n store: new ObjectCache({ self: result }),\n returnPartialData: false,\n hasMissingField: false,\n cacheRedirects: {},\n };\n matches = context.fragmentMatcherFunction(idValue, fragment.typeCondition.name.value, fakeContext);\n if (!isProduction() && fakeContext.returnPartialData) {\n console.error('WARNING: heuristic fragment matching going on!');\n }\n }\n if (included && matches) {\n writeSelectionSetToStore({\n result: result,\n selectionSet: fragment.selectionSet,\n dataId: dataId,\n context: context,\n });\n }\n }\n });\n return store;\n}\nfunction isGeneratedId(id) {\n return id[0] === '$';\n}\nfunction mergeWithGenerated(generatedKey, realKey, cache) {\n var generated = cache.get(generatedKey);\n var real = cache.get(realKey);\n Object.keys(generated).forEach(function (key) {\n var value = generated[key];\n var realValue = real[key];\n if (isIdValue(value) && isGeneratedId(value.id) && isIdValue(realValue)) {\n mergeWithGenerated(value.id, realValue.id, cache);\n }\n cache.delete(generatedKey);\n cache.set(realKey, __assign({}, generated, real));\n });\n}\nfunction isDataProcessed(dataId, field, processedData) {\n if (!processedData) {\n return false;\n }\n if (processedData[dataId]) {\n if (processedData[dataId].indexOf(field) >= 0) {\n return true;\n }\n else {\n processedData[dataId].push(field);\n }\n }\n else {\n processedData[dataId] = [field];\n }\n return false;\n}\nfunction writeFieldToStore(_a) {\n var field = _a.field, value = _a.value, dataId = _a.dataId, context = _a.context;\n var variables = context.variables, dataIdFromObject = context.dataIdFromObject, store = context.store;\n var storeValue;\n var storeObject;\n var storeFieldName = storeKeyNameFromField(field, variables);\n var shouldMerge = false;\n var generatedKey = '';\n if (!field.selectionSet || value === null) {\n storeValue =\n value != null && typeof value === 'object'\n ?\n { type: 'json', json: value }\n :\n value;\n }\n else if (Array.isArray(value)) {\n var generatedId = dataId + \".\" + storeFieldName;\n storeValue = processArrayValue(value, generatedId, field.selectionSet, context);\n }\n else {\n var valueDataId = dataId + \".\" + storeFieldName;\n var generated = true;\n if (!isGeneratedId(valueDataId)) {\n valueDataId = '$' + valueDataId;\n }\n if (dataIdFromObject) {\n var semanticId = dataIdFromObject(value);\n if (semanticId && isGeneratedId(semanticId)) {\n throw new Error('IDs returned by dataIdFromObject cannot begin with the \"$\" character.');\n }\n if (semanticId) {\n valueDataId = semanticId;\n generated = false;\n }\n }\n if (!isDataProcessed(valueDataId, field, context.processedData)) {\n writeSelectionSetToStore({\n dataId: valueDataId,\n result: value,\n selectionSet: field.selectionSet,\n context: context,\n });\n }\n storeValue = {\n type: 'id',\n id: valueDataId,\n generated: generated,\n };\n storeObject = store.get(dataId);\n if (storeObject && storeObject[storeFieldName] !== storeValue) {\n var escapedId = storeObject[storeFieldName];\n if (isIdValue(storeValue) &&\n storeValue.generated &&\n isIdValue(escapedId) &&\n !escapedId.generated) {\n throw new Error(\"Store error: the application attempted to write an object with no provided id\" +\n (\" but the store already contains an id of \" + escapedId.id + \" for this object. The selectionSet\") +\n \" that was trying to be written is:\\n\" +\n print(field));\n }\n if (isIdValue(escapedId) && escapedId.generated) {\n generatedKey = escapedId.id;\n shouldMerge = true;\n }\n }\n }\n var newStoreObj = __assign({}, store.get(dataId), (_b = {}, _b[storeFieldName] = storeValue, _b));\n if (shouldMerge) {\n mergeWithGenerated(generatedKey, storeValue.id, store);\n }\n storeObject = store.get(dataId);\n if (!storeObject || storeValue !== storeObject[storeFieldName]) {\n store.set(dataId, newStoreObj);\n }\n var _b;\n}\nfunction processArrayValue(value, generatedId, selectionSet, context) {\n return value.map(function (item, index) {\n if (item === null) {\n return null;\n }\n var itemDataId = generatedId + \".\" + index;\n if (Array.isArray(item)) {\n return processArrayValue(item, itemDataId, selectionSet, context);\n }\n var generated = true;\n if (context.dataIdFromObject) {\n var semanticId = context.dataIdFromObject(item);\n if (semanticId) {\n itemDataId = semanticId;\n generated = false;\n }\n }\n if (!isDataProcessed(itemDataId, selectionSet, context.processedData)) {\n writeSelectionSetToStore({\n dataId: itemDataId,\n result: item,\n selectionSet: selectionSet,\n context: context,\n });\n }\n var idStoreValue = {\n type: 'id',\n id: itemDataId,\n generated: generated,\n };\n return idStoreValue;\n });\n}\n//# sourceMappingURL=writeToStore.js.map","import { getMainDefinition, getFragmentDefinitions, createFragmentMap, shouldInclude, getDirectiveInfoFromField, isField, isInlineFragment, resultKeyNameFromField, argumentsObjectFromField, } from 'apollo-utilities';\nexport function graphql(resolver, document, rootValue, contextValue, variableValues, execOptions) {\n if (execOptions === void 0) { execOptions = {}; }\n var mainDefinition = getMainDefinition(document);\n var fragments = getFragmentDefinitions(document);\n var fragmentMap = createFragmentMap(fragments);\n var resultMapper = execOptions.resultMapper;\n var fragmentMatcher = execOptions.fragmentMatcher || (function () { return true; });\n var execContext = {\n fragmentMap: fragmentMap,\n contextValue: contextValue,\n variableValues: variableValues,\n resultMapper: resultMapper,\n resolver: resolver,\n fragmentMatcher: fragmentMatcher,\n };\n return executeSelectionSet(mainDefinition.selectionSet, rootValue, execContext);\n}\nfunction executeSelectionSet(selectionSet, rootValue, execContext) {\n var fragmentMap = execContext.fragmentMap, contextValue = execContext.contextValue, variables = execContext.variableValues;\n var result = {};\n selectionSet.selections.forEach(function (selection) {\n if (!shouldInclude(selection, variables)) {\n return;\n }\n if (isField(selection)) {\n var fieldResult = executeField(selection, rootValue, execContext);\n var resultFieldKey = resultKeyNameFromField(selection);\n if (fieldResult !== undefined) {\n if (result[resultFieldKey] === undefined) {\n result[resultFieldKey] = fieldResult;\n }\n else {\n merge(result[resultFieldKey], fieldResult);\n }\n }\n }\n else {\n var fragment = void 0;\n if (isInlineFragment(selection)) {\n fragment = selection;\n }\n else {\n fragment = fragmentMap[selection.name.value];\n if (!fragment) {\n throw new Error(\"No fragment named \" + selection.name.value);\n }\n }\n var typeCondition = fragment.typeCondition.name.value;\n if (execContext.fragmentMatcher(rootValue, typeCondition, contextValue)) {\n var fragmentResult = executeSelectionSet(fragment.selectionSet, rootValue, execContext);\n merge(result, fragmentResult);\n }\n }\n });\n if (execContext.resultMapper) {\n return execContext.resultMapper(result, rootValue);\n }\n return result;\n}\nfunction executeField(field, rootValue, execContext) {\n var variables = execContext.variableValues, contextValue = execContext.contextValue, resolver = execContext.resolver;\n var fieldName = field.name.value;\n var args = argumentsObjectFromField(field, variables);\n var info = {\n isLeaf: !field.selectionSet,\n resultKey: resultKeyNameFromField(field),\n directives: getDirectiveInfoFromField(field, variables),\n };\n var result = resolver(fieldName, rootValue, args, contextValue, info);\n if (!field.selectionSet) {\n return result;\n }\n if (result == null) {\n return result;\n }\n if (Array.isArray(result)) {\n return executeSubSelectedArray(field, result, execContext);\n }\n return executeSelectionSet(field.selectionSet, result, execContext);\n}\nfunction executeSubSelectedArray(field, result, execContext) {\n return result.map(function (item) {\n if (item === null) {\n return null;\n }\n if (Array.isArray(item)) {\n return executeSubSelectedArray(field, item, execContext);\n }\n return executeSelectionSet(field.selectionSet, item, execContext);\n });\n}\nexport function merge(dest, src) {\n if (src === null || typeof src !== 'object') {\n return src;\n }\n Object.keys(dest).forEach(function (destKey) {\n if (src.hasOwnProperty(destKey)) {\n merge(dest[destKey], src[destKey]);\n }\n });\n Object.keys(src).forEach(function (srcKey) {\n if (!dest.hasOwnProperty(srcKey)) {\n dest[srcKey] = src[srcKey];\n }\n });\n}\n//# sourceMappingURL=graphql.js.map","import { graphql } from './graphql';\nexport function filter(doc, data) {\n var resolver = function (fieldName, root, args, context, info) {\n return root[info.resultKey];\n };\n return graphql(resolver, doc, data);\n}\nexport function check(doc, data) {\n var resolver = function (fieldName, root, args, context, info) {\n if (!{}.hasOwnProperty.call(root, info.resultKey)) {\n throw new Error(info.resultKey + \" missing on \" + root);\n }\n return root[info.resultKey];\n };\n graphql(resolver, doc, data, {}, {}, {\n fragmentMatcher: function () { return false; },\n });\n}\nvar ANONYMOUS = '<<anonymous>>';\nfunction PropTypeError(message) {\n this.message = message;\n this.stack = '';\n}\nPropTypeError.prototype = Error.prototype;\nvar reactPropTypeLocationNames = {\n prop: 'prop',\n context: 'context',\n childContext: 'child context',\n};\nfunction createChainableTypeChecker(validate) {\n function checkType(isRequired, props, propName, componentName, location, propFullName) {\n componentName = componentName || ANONYMOUS;\n propFullName = propFullName || propName;\n if (props[propName] == null) {\n var locationName = reactPropTypeLocationNames[location];\n if (isRequired) {\n if (props[propName] === null) {\n return new PropTypeError(\"The \" + locationName + \" `\" + propFullName + \"` is marked as required \" +\n (\"in `\" + componentName + \"`, but its value is `null`.\"));\n }\n return new PropTypeError(\"The \" + locationName + \" `\" + propFullName + \"` is marked as required in \" +\n (\"`\" + componentName + \"`, but its value is `undefined`.\"));\n }\n return null;\n }\n else {\n return validate(props, propName, componentName, location, propFullName);\n }\n }\n var chainedCheckType = checkType.bind(null, false);\n chainedCheckType.isRequired = checkType.bind(null, true);\n return chainedCheckType;\n}\nexport function propType(doc) {\n return createChainableTypeChecker(function (props, propName) {\n var prop = props[propName];\n try {\n check(doc, prop);\n return null;\n }\n catch (e) {\n return e;\n }\n });\n}\n//# sourceMappingURL=utilities.js.map","export { filter, check, propType } from './utilities';\nimport { graphql } from './graphql';\nexport default graphql;\n//# sourceMappingURL=index.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport graphqlAnywhere from 'graphql-anywhere';\nimport { assign, isEqual, getDefaultValues, getQueryDefinition, isJsonValue, isIdValue, toIdValue, getStoreKeyName, } from 'apollo-utilities';\nexport var ID_KEY = typeof Symbol !== 'undefined' ? Symbol('id') : '@@id';\nexport function readQueryFromStore(options) {\n var optsPatch = { returnPartialData: false };\n return diffQueryAgainstStore(__assign({}, options, optsPatch)).result;\n}\nvar readStoreResolver = function (fieldName, idValue, args, context, _a) {\n var resultKey = _a.resultKey, directives = _a.directives;\n assertIdValue(idValue);\n var objId = idValue.id;\n var obj = context.store.get(objId);\n var storeKeyName = getStoreKeyName(fieldName, args, directives);\n var fieldValue = (obj || {})[storeKeyName];\n if (typeof fieldValue === 'undefined') {\n if (context.cacheRedirects &&\n obj &&\n (obj.__typename || objId === 'ROOT_QUERY')) {\n var typename = obj.__typename || 'Query';\n var type = context.cacheRedirects[typename];\n if (type) {\n var resolver = type[fieldName];\n if (resolver) {\n fieldValue = resolver(obj, args, {\n getCacheKey: function (obj) {\n return toIdValue(context.dataIdFromObject(obj));\n },\n });\n }\n }\n }\n }\n if (typeof fieldValue === 'undefined') {\n if (!context.returnPartialData) {\n throw new Error(\"Can't find field \" + storeKeyName + \" on object (\" + objId + \") \" + JSON.stringify(obj, null, 2) + \".\");\n }\n context.hasMissingField = true;\n return fieldValue;\n }\n if (isJsonValue(fieldValue)) {\n if (idValue.previousResult &&\n isEqual(idValue.previousResult[resultKey], fieldValue.json)) {\n return idValue.previousResult[resultKey];\n }\n return fieldValue.json;\n }\n if (idValue.previousResult) {\n fieldValue = addPreviousResultToIdValues(fieldValue, idValue.previousResult[resultKey]);\n }\n return fieldValue;\n};\nexport function diffQueryAgainstStore(_a) {\n var store = _a.store, query = _a.query, variables = _a.variables, previousResult = _a.previousResult, _b = _a.returnPartialData, returnPartialData = _b === void 0 ? true : _b, _c = _a.rootId, rootId = _c === void 0 ? 'ROOT_QUERY' : _c, fragmentMatcherFunction = _a.fragmentMatcherFunction, config = _a.config;\n var queryDefinition = getQueryDefinition(query);\n variables = assign({}, getDefaultValues(queryDefinition), variables);\n var context = {\n store: store,\n returnPartialData: returnPartialData,\n dataIdFromObject: (config && config.dataIdFromObject) || null,\n cacheRedirects: (config && config.cacheRedirects) || {},\n hasMissingField: false,\n };\n var rootIdValue = {\n type: 'id',\n id: rootId,\n previousResult: previousResult,\n };\n var result = graphqlAnywhere(readStoreResolver, query, rootIdValue, context, variables, {\n fragmentMatcher: fragmentMatcherFunction,\n resultMapper: resultMapper,\n });\n return {\n result: result,\n complete: !context.hasMissingField,\n };\n}\nexport function assertIdValue(idValue) {\n if (!isIdValue(idValue)) {\n throw new Error(\"Encountered a sub-selection on the query, but the store doesn't have an object reference. This should never happen during normal use unless you have custom code that is directly manipulating the store; please file an issue.\");\n }\n}\nfunction addPreviousResultToIdValues(value, previousResult) {\n if (isIdValue(value)) {\n return __assign({}, value, { previousResult: previousResult });\n }\n else if (Array.isArray(value)) {\n var idToPreviousResult_1 = new Map();\n if (Array.isArray(previousResult)) {\n previousResult.forEach(function (item) {\n if (item && item[ID_KEY]) {\n idToPreviousResult_1.set(item[ID_KEY], item);\n }\n });\n }\n return value.map(function (item, i) {\n var itemPreviousResult = previousResult && previousResult[i];\n if (isIdValue(item)) {\n itemPreviousResult =\n idToPreviousResult_1.get(item.id) || itemPreviousResult;\n }\n return addPreviousResultToIdValues(item, itemPreviousResult);\n });\n }\n return value;\n}\nfunction resultMapper(resultFields, idValue) {\n if (idValue.previousResult) {\n var currentResultKeys_1 = Object.keys(resultFields);\n var sameAsPreviousResult = Object.keys(idValue.previousResult).reduce(function (sameKeys, key) { return sameKeys && currentResultKeys_1.indexOf(key) > -1; }, true) &&\n currentResultKeys_1.every(function (key) {\n return areNestedArrayItemsStrictlyEqual(resultFields[key], idValue.previousResult[key]);\n });\n if (sameAsPreviousResult) {\n return idValue.previousResult;\n }\n }\n Object.defineProperty(resultFields, ID_KEY, {\n enumerable: false,\n configurable: false,\n writable: false,\n value: idValue.id,\n });\n return resultFields;\n}\nfunction areNestedArrayItemsStrictlyEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (!Array.isArray(a) || !Array.isArray(b) || a.length !== b.length) {\n return false;\n }\n return a.every(function (item, i) { return areNestedArrayItemsStrictlyEqual(item, b[i]); });\n}\n//# sourceMappingURL=readFromStore.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nvar RecordingCache = (function () {\n function RecordingCache(data) {\n if (data === void 0) { data = {}; }\n this.data = data;\n this.recordedData = {};\n }\n RecordingCache.prototype.record = function (transaction) {\n transaction(this);\n var recordedData = this.recordedData;\n this.recordedData = {};\n return recordedData;\n };\n RecordingCache.prototype.toObject = function () {\n return __assign({}, this.data, this.recordedData);\n };\n RecordingCache.prototype.get = function (dataId) {\n if (this.recordedData.hasOwnProperty(dataId)) {\n return this.recordedData[dataId];\n }\n return this.data[dataId];\n };\n RecordingCache.prototype.set = function (dataId, value) {\n if (this.get(dataId) !== value) {\n this.recordedData[dataId] = value;\n }\n };\n RecordingCache.prototype.delete = function (dataId) {\n this.recordedData[dataId] = undefined;\n };\n RecordingCache.prototype.clear = function () {\n var _this = this;\n Object.keys(this.data).forEach(function (dataId) { return _this.delete(dataId); });\n this.recordedData = {};\n };\n RecordingCache.prototype.replace = function (newData) {\n this.clear();\n this.recordedData = __assign({}, newData);\n };\n return RecordingCache;\n}());\nexport { RecordingCache };\nexport function record(startingState, transaction) {\n var recordingCache = new RecordingCache(startingState);\n return recordingCache.record(transaction);\n}\n//# sourceMappingURL=recordingCache.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { ApolloCache } from 'apollo-cache';\nimport { getFragmentQueryDocument, addTypenameToDocument, } from 'apollo-utilities';\nimport { HeuristicFragmentMatcher } from './fragmentMatcher';\nimport { writeResultToStore } from './writeToStore';\nimport { readQueryFromStore, diffQueryAgainstStore } from './readFromStore';\nimport { defaultNormalizedCacheFactory } from './objectCache';\nimport { record } from './recordingCache';\nvar defaultConfig = {\n fragmentMatcher: new HeuristicFragmentMatcher(),\n dataIdFromObject: defaultDataIdFromObject,\n addTypename: true,\n storeFactory: defaultNormalizedCacheFactory,\n};\nexport function defaultDataIdFromObject(result) {\n if (result.__typename) {\n if (result.id !== undefined) {\n return result.__typename + \":\" + result.id;\n }\n if (result._id !== undefined) {\n return result.__typename + \":\" + result._id;\n }\n }\n return null;\n}\nvar InMemoryCache = (function (_super) {\n __extends(InMemoryCache, _super);\n function InMemoryCache(config) {\n if (config === void 0) { config = {}; }\n var _this = _super.call(this) || this;\n _this.optimistic = [];\n _this.watches = [];\n _this.silenceBroadcast = false;\n _this.config = __assign({}, defaultConfig, config);\n if (_this.config.customResolvers) {\n console.warn('customResolvers have been renamed to cacheRedirects. Please update your config as we will be deprecating customResolvers in the next major version.');\n _this.config.cacheRedirects = _this.config.customResolvers;\n }\n if (_this.config.cacheResolvers) {\n console.warn('cacheResolvers have been renamed to cacheRedirects. Please update your config as we will be deprecating cacheResolvers in the next major version.');\n _this.config.cacheRedirects = _this.config.cacheResolvers;\n }\n _this.addTypename = _this.config.addTypename;\n _this.data = _this.config.storeFactory();\n return _this;\n }\n InMemoryCache.prototype.restore = function (data) {\n if (data)\n this.data.replace(data);\n return this;\n };\n InMemoryCache.prototype.extract = function (optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n if (optimistic && this.optimistic.length > 0) {\n var patches = this.optimistic.map(function (opt) { return opt.data; });\n return Object.assign.apply(Object, [{}, this.data.toObject()].concat(patches));\n }\n return this.data.toObject();\n };\n InMemoryCache.prototype.read = function (query) {\n if (query.rootId && this.data.get(query.rootId) === undefined) {\n return null;\n }\n return readQueryFromStore({\n store: this.config.storeFactory(this.extract(query.optimistic)),\n query: this.transformDocument(query.query),\n variables: query.variables,\n rootId: query.rootId,\n fragmentMatcherFunction: this.config.fragmentMatcher.match,\n previousResult: query.previousResult,\n config: this.config,\n });\n };\n InMemoryCache.prototype.write = function (write) {\n writeResultToStore({\n dataId: write.dataId,\n result: write.result,\n variables: write.variables,\n document: this.transformDocument(write.query),\n store: this.data,\n dataIdFromObject: this.config.dataIdFromObject,\n fragmentMatcherFunction: this.config.fragmentMatcher.match,\n });\n this.broadcastWatches();\n };\n InMemoryCache.prototype.diff = function (query) {\n return diffQueryAgainstStore({\n store: this.config.storeFactory(this.extract(query.optimistic)),\n query: this.transformDocument(query.query),\n variables: query.variables,\n returnPartialData: query.returnPartialData,\n previousResult: query.previousResult,\n fragmentMatcherFunction: this.config.fragmentMatcher.match,\n config: this.config,\n });\n };\n InMemoryCache.prototype.watch = function (watch) {\n var _this = this;\n this.watches.push(watch);\n return function () {\n _this.watches = _this.watches.filter(function (c) { return c !== watch; });\n };\n };\n InMemoryCache.prototype.evict = function (query) {\n throw new Error(\"eviction is not implemented on InMemory Cache\");\n };\n InMemoryCache.prototype.reset = function () {\n this.data.clear();\n this.broadcastWatches();\n return Promise.resolve();\n };\n InMemoryCache.prototype.removeOptimistic = function (id) {\n var _this = this;\n var toPerform = this.optimistic.filter(function (item) { return item.id !== id; });\n this.optimistic = [];\n toPerform.forEach(function (change) {\n _this.recordOptimisticTransaction(change.transaction, change.id);\n });\n this.broadcastWatches();\n };\n InMemoryCache.prototype.performTransaction = function (transaction) {\n var alreadySilenced = this.silenceBroadcast;\n this.silenceBroadcast = true;\n transaction(this);\n if (!alreadySilenced) {\n this.silenceBroadcast = false;\n }\n this.broadcastWatches();\n };\n InMemoryCache.prototype.recordOptimisticTransaction = function (transaction, id) {\n var _this = this;\n this.silenceBroadcast = true;\n var patch = record(this.extract(true), function (recordingCache) {\n var dataCache = _this.data;\n _this.data = recordingCache;\n _this.performTransaction(transaction);\n _this.data = dataCache;\n });\n this.optimistic.push({\n id: id,\n transaction: transaction,\n data: patch,\n });\n this.silenceBroadcast = false;\n this.broadcastWatches();\n };\n InMemoryCache.prototype.transformDocument = function (document) {\n if (this.addTypename)\n return addTypenameToDocument(document);\n return document;\n };\n InMemoryCache.prototype.readQuery = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.read({\n query: options.query,\n variables: options.variables,\n optimistic: optimistic,\n });\n };\n InMemoryCache.prototype.readFragment = function (options, optimistic) {\n if (optimistic === void 0) { optimistic = false; }\n return this.read({\n query: this.transformDocument(getFragmentQueryDocument(options.fragment, options.fragmentName)),\n variables: options.variables,\n rootId: options.id,\n optimistic: optimistic,\n });\n };\n InMemoryCache.prototype.writeQuery = function (options) {\n this.write({\n dataId: 'ROOT_QUERY',\n result: options.data,\n query: this.transformDocument(options.query),\n variables: options.variables,\n });\n };\n InMemoryCache.prototype.writeFragment = function (options) {\n this.write({\n dataId: options.id,\n result: options.data,\n query: this.transformDocument(getFragmentQueryDocument(options.fragment, options.fragmentName)),\n variables: options.variables,\n });\n };\n InMemoryCache.prototype.broadcastWatches = function () {\n var _this = this;\n if (this.silenceBroadcast)\n return;\n this.watches.forEach(function (c) {\n var newData = _this.diff({\n query: c.query,\n variables: c.variables,\n previousResult: c.previousResult && c.previousResult(),\n optimistic: c.optimistic,\n });\n c.callback(newData);\n });\n };\n return InMemoryCache;\n}(ApolloCache));\nexport { InMemoryCache };\n//# sourceMappingURL=inMemoryCache.js.map","export var NetworkStatus;\n(function (NetworkStatus) {\n NetworkStatus[NetworkStatus[\"loading\"] = 1] = \"loading\";\n NetworkStatus[NetworkStatus[\"setVariables\"] = 2] = \"setVariables\";\n NetworkStatus[NetworkStatus[\"fetchMore\"] = 3] = \"fetchMore\";\n NetworkStatus[NetworkStatus[\"refetch\"] = 4] = \"refetch\";\n NetworkStatus[NetworkStatus[\"poll\"] = 6] = \"poll\";\n NetworkStatus[NetworkStatus[\"ready\"] = 7] = \"ready\";\n NetworkStatus[NetworkStatus[\"error\"] = 8] = \"error\";\n})(NetworkStatus || (NetworkStatus = {}));\nexport function isNetworkRequestInFlight(networkStatus) {\n return networkStatus < 7;\n}\n//# sourceMappingURL=networkStatus.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { Observable as LinkObservable } from 'apollo-link';\nimport $$observable from 'symbol-observable';\nvar Observable = (function (_super) {\n __extends(Observable, _super);\n function Observable() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n Observable.prototype[$$observable] = function () {\n return this;\n };\n return Observable;\n}(LinkObservable));\nexport { Observable };\n//# sourceMappingURL=Observable.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nexport function isApolloError(err) {\n return err.hasOwnProperty('graphQLErrors');\n}\nvar generateErrorMessage = function (err) {\n var message = '';\n if (Array.isArray(err.graphQLErrors) && err.graphQLErrors.length !== 0) {\n err.graphQLErrors.forEach(function (graphQLError) {\n var errorMessage = graphQLError\n ? graphQLError.message\n : 'Error message not found.';\n message += \"GraphQL error: \" + errorMessage + \"\\n\";\n });\n }\n if (err.networkError) {\n message += 'Network error: ' + err.networkError.message + '\\n';\n }\n message = message.replace(/\\n$/, '');\n return message;\n};\nvar ApolloError = (function (_super) {\n __extends(ApolloError, _super);\n function ApolloError(_a) {\n var graphQLErrors = _a.graphQLErrors, networkError = _a.networkError, errorMessage = _a.errorMessage, extraInfo = _a.extraInfo;\n var _this = _super.call(this, errorMessage) || this;\n _this.graphQLErrors = graphQLErrors || [];\n _this.networkError = networkError || null;\n if (!errorMessage) {\n _this.message = generateErrorMessage(_this);\n }\n else {\n _this.message = errorMessage;\n }\n _this.extraInfo = extraInfo;\n return _this;\n }\n return ApolloError;\n}(Error));\nexport { ApolloError };\n//# sourceMappingURL=ApolloError.js.map","export var FetchType;\n(function (FetchType) {\n FetchType[FetchType[\"normal\"] = 1] = \"normal\";\n FetchType[FetchType[\"refetch\"] = 2] = \"refetch\";\n FetchType[FetchType[\"poll\"] = 3] = \"poll\";\n})(FetchType || (FetchType = {}));\n//# sourceMappingURL=types.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { isEqual, tryFunctionOrLogError, maybeDeepFreeze, } from 'apollo-utilities';\nimport { NetworkStatus, isNetworkRequestInFlight } from './networkStatus';\nimport { Observable } from '../util/Observable';\nimport { ApolloError } from '../errors/ApolloError';\nimport { FetchType } from './types';\nexport var hasError = function (storeValue, policy) {\n if (policy === void 0) { policy = 'none'; }\n return storeValue &&\n ((storeValue.graphQLErrors &&\n storeValue.graphQLErrors.length > 0 &&\n policy === 'none') ||\n storeValue.networkError);\n};\nvar ObservableQuery = (function (_super) {\n __extends(ObservableQuery, _super);\n function ObservableQuery(_a) {\n var scheduler = _a.scheduler, options = _a.options, _b = _a.shouldSubscribe, shouldSubscribe = _b === void 0 ? true : _b;\n var _this = _super.call(this, function (observer) {\n return _this.onSubscribe(observer);\n }) || this;\n _this.isCurrentlyPolling = false;\n _this.isTornDown = false;\n _this.options = options;\n _this.variables = options.variables || {};\n _this.queryId = scheduler.queryManager.generateQueryId();\n _this.shouldSubscribe = shouldSubscribe;\n _this.scheduler = scheduler;\n _this.queryManager = scheduler.queryManager;\n _this.observers = [];\n _this.subscriptionHandles = [];\n return _this;\n }\n ObservableQuery.prototype.result = function () {\n var that = this;\n return new Promise(function (resolve, reject) {\n var subscription;\n var observer = {\n next: function (result) {\n resolve(result);\n if (!that.observers.some(function (obs) { return obs !== observer; })) {\n that.queryManager.removeQuery(that.queryId);\n }\n setTimeout(function () {\n subscription.unsubscribe();\n }, 0);\n },\n error: function (error) {\n reject(error);\n },\n };\n subscription = that.subscribe(observer);\n });\n };\n ObservableQuery.prototype.currentResult = function () {\n if (this.isTornDown) {\n return {\n data: this.lastError ? {} : this.lastResult ? this.lastResult.data : {},\n error: this.lastError,\n loading: false,\n networkStatus: NetworkStatus.error,\n };\n }\n var queryStoreValue = this.queryManager.queryStore.get(this.queryId);\n if (hasError(queryStoreValue, this.options.errorPolicy)) {\n return {\n data: {},\n loading: false,\n networkStatus: queryStoreValue.networkStatus,\n error: new ApolloError({\n graphQLErrors: queryStoreValue.graphQLErrors,\n networkError: queryStoreValue.networkError,\n }),\n };\n }\n var _a = this.queryManager.getCurrentQueryResult(this), data = _a.data, partial = _a.partial;\n var queryLoading = !queryStoreValue ||\n queryStoreValue.networkStatus === NetworkStatus.loading;\n var loading = (this.options.fetchPolicy === 'network-only' && queryLoading) ||\n (partial && this.options.fetchPolicy !== 'cache-only');\n var networkStatus;\n if (queryStoreValue) {\n networkStatus = queryStoreValue.networkStatus;\n }\n else {\n networkStatus = loading ? NetworkStatus.loading : NetworkStatus.ready;\n }\n var result = {\n data: data,\n loading: isNetworkRequestInFlight(networkStatus),\n networkStatus: networkStatus,\n };\n if (queryStoreValue &&\n queryStoreValue.graphQLErrors &&\n this.options.errorPolicy === 'all') {\n result.errors = queryStoreValue.graphQLErrors;\n }\n if (!partial) {\n var stale = false;\n this.lastResult = __assign({}, result, { stale: stale });\n }\n return __assign({}, result, { partial: partial });\n };\n ObservableQuery.prototype.getLastResult = function () {\n return this.lastResult;\n };\n ObservableQuery.prototype.getLastError = function () {\n return this.lastError;\n };\n ObservableQuery.prototype.resetLastResults = function () {\n delete this.lastResult;\n delete this.lastError;\n this.isTornDown = false;\n };\n ObservableQuery.prototype.refetch = function (variables) {\n if (this.options.fetchPolicy === 'cache-only') {\n return Promise.reject(new Error('cache-only fetchPolicy option should not be used together with query refetch.'));\n }\n if (!isEqual(this.variables, variables)) {\n this.variables = __assign({}, this.variables, variables);\n }\n if (!isEqual(this.options.variables, this.variables)) {\n this.options.variables = __assign({}, this.options.variables, this.variables);\n }\n var combinedOptions = __assign({}, this.options, { fetchPolicy: 'network-only' });\n return this.queryManager\n .fetchQuery(this.queryId, combinedOptions, FetchType.refetch)\n .then(function (result) { return maybeDeepFreeze(result); });\n };\n ObservableQuery.prototype.fetchMore = function (fetchMoreOptions) {\n var _this = this;\n if (!fetchMoreOptions.updateQuery) {\n throw new Error('updateQuery option is required. This function defines how to update the query data with the new results.');\n }\n return Promise.resolve()\n .then(function () {\n var qid = _this.queryManager.generateQueryId();\n var combinedOptions;\n if (fetchMoreOptions.query) {\n combinedOptions = fetchMoreOptions;\n }\n else {\n combinedOptions = __assign({}, _this.options, fetchMoreOptions, { variables: __assign({}, _this.variables, fetchMoreOptions.variables) });\n }\n combinedOptions.fetchPolicy = 'network-only';\n return _this.queryManager.fetchQuery(qid, combinedOptions, FetchType.normal, _this.queryId);\n })\n .then(function (fetchMoreResult) {\n _this.updateQuery(function (previousResult, _a) {\n var variables = _a.variables;\n return fetchMoreOptions.updateQuery(previousResult, {\n fetchMoreResult: fetchMoreResult.data,\n variables: variables,\n });\n });\n return fetchMoreResult;\n });\n };\n ObservableQuery.prototype.subscribeToMore = function (options) {\n var _this = this;\n var subscription = this.queryManager\n .startGraphQLSubscription({\n query: options.document,\n variables: options.variables,\n })\n .subscribe({\n next: function (data) {\n if (options.updateQuery) {\n _this.updateQuery(function (previous, _a) {\n var variables = _a.variables;\n return options.updateQuery(previous, {\n subscriptionData: data,\n variables: variables,\n });\n });\n }\n },\n error: function (err) {\n if (options.onError) {\n options.onError(err);\n return;\n }\n console.error('Unhandled GraphQL subscription error', err);\n },\n });\n this.subscriptionHandles.push(subscription);\n return function () {\n var i = _this.subscriptionHandles.indexOf(subscription);\n if (i >= 0) {\n _this.subscriptionHandles.splice(i, 1);\n subscription.unsubscribe();\n }\n };\n };\n ObservableQuery.prototype.setOptions = function (opts) {\n var oldOptions = this.options;\n this.options = __assign({}, this.options, opts);\n if (opts.pollInterval) {\n this.startPolling(opts.pollInterval);\n }\n else if (opts.pollInterval === 0) {\n this.stopPolling();\n }\n var tryFetch = (oldOptions.fetchPolicy !== 'network-only' &&\n opts.fetchPolicy === 'network-only') ||\n (oldOptions.fetchPolicy === 'cache-only' &&\n opts.fetchPolicy !== 'cache-only') ||\n (oldOptions.fetchPolicy === 'standby' &&\n opts.fetchPolicy !== 'standby') ||\n false;\n return this.setVariables(this.options.variables, tryFetch, opts.fetchResults);\n };\n ObservableQuery.prototype.setVariables = function (variables, tryFetch, fetchResults) {\n if (tryFetch === void 0) { tryFetch = false; }\n if (fetchResults === void 0) { fetchResults = true; }\n this.isTornDown = false;\n var newVariables = __assign({}, this.variables, variables);\n if (isEqual(newVariables, this.variables) && !tryFetch) {\n if (this.observers.length === 0 || !fetchResults) {\n return new Promise(function (resolve) { return resolve(); });\n }\n return this.result();\n }\n else {\n this.lastVariables = this.variables;\n this.variables = newVariables;\n this.options.variables = newVariables;\n if (this.observers.length === 0) {\n return new Promise(function (resolve) { return resolve(); });\n }\n return this.queryManager\n .fetchQuery(this.queryId, __assign({}, this.options, { variables: this.variables }))\n .then(function (result) { return maybeDeepFreeze(result); });\n }\n };\n ObservableQuery.prototype.updateQuery = function (mapFn) {\n var _a = this.queryManager.getQueryWithPreviousResult(this.queryId), previousResult = _a.previousResult, variables = _a.variables, document = _a.document;\n var newResult = tryFunctionOrLogError(function () {\n return mapFn(previousResult, { variables: variables });\n });\n if (newResult) {\n this.queryManager.dataStore.markUpdateQueryResult(document, variables, newResult);\n this.queryManager.broadcastQueries();\n }\n };\n ObservableQuery.prototype.stopPolling = function () {\n if (this.isCurrentlyPolling) {\n this.scheduler.stopPollingQuery(this.queryId);\n this.options.pollInterval = undefined;\n this.isCurrentlyPolling = false;\n }\n };\n ObservableQuery.prototype.startPolling = function (pollInterval) {\n if (this.options.fetchPolicy === 'cache-first' ||\n this.options.fetchPolicy === 'cache-only') {\n throw new Error('Queries that specify the cache-first and cache-only fetchPolicies cannot also be polling queries.');\n }\n if (this.isCurrentlyPolling) {\n this.scheduler.stopPollingQuery(this.queryId);\n this.isCurrentlyPolling = false;\n }\n this.options.pollInterval = pollInterval;\n this.isCurrentlyPolling = true;\n this.scheduler.startPollingQuery(this.options, this.queryId);\n };\n ObservableQuery.prototype.onSubscribe = function (observer) {\n var _this = this;\n if (observer._subscription &&\n observer._subscription._observer &&\n !observer._subscription._observer.error) {\n observer._subscription._observer.error = function (error) {\n console.error('Unhandled error', error.message, error.stack);\n };\n }\n this.observers.push(observer);\n if (observer.next && this.lastResult)\n observer.next(this.lastResult);\n if (observer.error && this.lastError)\n observer.error(this.lastError);\n if (this.observers.length === 1)\n this.setUpQuery();\n return function () {\n _this.observers = _this.observers.filter(function (obs) { return obs !== observer; });\n if (_this.observers.length === 0) {\n _this.tearDownQuery();\n }\n };\n };\n ObservableQuery.prototype.setUpQuery = function () {\n var _this = this;\n if (this.shouldSubscribe) {\n this.queryManager.addObservableQuery(this.queryId, this);\n }\n if (!!this.options.pollInterval) {\n if (this.options.fetchPolicy === 'cache-first' ||\n this.options.fetchPolicy === 'cache-only') {\n throw new Error('Queries that specify the cache-first and cache-only fetchPolicies cannot also be polling queries.');\n }\n this.isCurrentlyPolling = true;\n this.scheduler.startPollingQuery(this.options, this.queryId);\n }\n var observer = {\n next: function (result) {\n _this.lastResult = result;\n _this.observers.forEach(function (obs) { return obs.next && obs.next(result); });\n },\n error: function (error) {\n _this.lastError = error;\n _this.observers.forEach(function (obs) { return obs.error && obs.error(error); });\n },\n };\n this.queryManager.startQuery(this.queryId, this.options, this.queryManager.queryListenerForObserver(this.queryId, this.options, observer));\n };\n ObservableQuery.prototype.tearDownQuery = function () {\n this.isTornDown = true;\n if (this.isCurrentlyPolling) {\n this.scheduler.stopPollingQuery(this.queryId);\n this.isCurrentlyPolling = false;\n }\n this.subscriptionHandles.forEach(function (sub) { return sub.unsubscribe(); });\n this.subscriptionHandles = [];\n this.queryManager.removeObservableQuery(this.queryId);\n this.queryManager.stopQuery(this.queryId);\n this.observers = [];\n };\n return ObservableQuery;\n}(Observable));\nexport { ObservableQuery };\n//# sourceMappingURL=ObservableQuery.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nimport { ApolloLink, Observable, } from 'apollo-link';\nvar DedupLink = (function (_super) {\n __extends(DedupLink, _super);\n function DedupLink() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this.inFlightRequestObservables = new Map();\n _this.subscribers = new Map();\n return _this;\n }\n DedupLink.prototype.request = function (operation, forward) {\n var _this = this;\n if (operation.getContext().forceFetch) {\n return forward(operation);\n }\n var key = operation.toKey();\n var cleanup = function (key) {\n _this.inFlightRequestObservables.delete(key);\n var prev = _this.subscribers.get(key);\n return prev;\n };\n if (!this.inFlightRequestObservables.get(key)) {\n var singleObserver_1 = forward(operation);\n var subscription_1;\n var sharedObserver = new Observable(function (observer) {\n var prev = _this.subscribers.get(key);\n if (!prev)\n prev = { next: [], error: [], complete: [] };\n _this.subscribers.set(key, {\n next: prev.next.concat([observer.next.bind(observer)]),\n error: prev.error.concat([observer.error.bind(observer)]),\n complete: prev.complete.concat([observer.complete.bind(observer)]),\n });\n if (!subscription_1) {\n subscription_1 = singleObserver_1.subscribe({\n next: function (result) {\n var prev = cleanup(key);\n _this.subscribers.delete(key);\n if (prev) {\n prev.next.forEach(function (next) { return next(result); });\n prev.complete.forEach(function (complete) { return complete(); });\n }\n },\n error: function (error) {\n var prev = cleanup(key);\n _this.subscribers.delete(key);\n if (prev)\n prev.error.forEach(function (err) { return err(error); });\n },\n });\n }\n return function () {\n if (subscription_1)\n subscription_1.unsubscribe();\n _this.inFlightRequestObservables.delete(key);\n };\n });\n this.inFlightRequestObservables.set(key, sharedObserver);\n }\n return this.inFlightRequestObservables.get(key);\n };\n return DedupLink;\n}(ApolloLink));\nexport { DedupLink };\n//# sourceMappingURL=dedupLink.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { FetchType } from '../core/types';\nimport { ObservableQuery } from '../core/ObservableQuery';\nimport { NetworkStatus } from '../core/networkStatus';\nvar QueryScheduler = (function () {\n function QueryScheduler(_a) {\n var queryManager = _a.queryManager, ssrMode = _a.ssrMode;\n this.inFlightQueries = {};\n this.registeredQueries = {};\n this.intervalQueries = {};\n this.pollingTimers = {};\n this.ssrMode = false;\n this.queryManager = queryManager;\n this.ssrMode = ssrMode || false;\n }\n QueryScheduler.prototype.checkInFlight = function (queryId) {\n var query = this.queryManager.queryStore.get(queryId);\n return (query &&\n query.networkStatus !== NetworkStatus.ready &&\n query.networkStatus !== NetworkStatus.error);\n };\n QueryScheduler.prototype.fetchQuery = function (queryId, options, fetchType) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n _this.queryManager\n .fetchQuery(queryId, options, fetchType)\n .then(function (result) {\n resolve(result);\n })\n .catch(function (error) {\n reject(error);\n });\n });\n };\n QueryScheduler.prototype.startPollingQuery = function (options, queryId, listener) {\n if (!options.pollInterval) {\n throw new Error('Attempted to start a polling query without a polling interval.');\n }\n if (this.ssrMode)\n return queryId;\n this.registeredQueries[queryId] = options;\n if (listener) {\n this.queryManager.addQueryListener(queryId, listener);\n }\n this.addQueryOnInterval(queryId, options);\n return queryId;\n };\n QueryScheduler.prototype.stopPollingQuery = function (queryId) {\n delete this.registeredQueries[queryId];\n };\n QueryScheduler.prototype.fetchQueriesOnInterval = function (interval) {\n var _this = this;\n this.intervalQueries[interval] = this.intervalQueries[interval].filter(function (queryId) {\n if (!(_this.registeredQueries.hasOwnProperty(queryId) &&\n _this.registeredQueries[queryId].pollInterval === interval)) {\n return false;\n }\n if (_this.checkInFlight(queryId)) {\n return true;\n }\n var queryOptions = _this.registeredQueries[queryId];\n var pollingOptions = __assign({}, queryOptions);\n pollingOptions.fetchPolicy = 'network-only';\n _this.fetchQuery(queryId, pollingOptions, FetchType.poll).catch(function () { });\n return true;\n });\n if (this.intervalQueries[interval].length === 0) {\n clearInterval(this.pollingTimers[interval]);\n delete this.intervalQueries[interval];\n }\n };\n QueryScheduler.prototype.addQueryOnInterval = function (queryId, queryOptions) {\n var _this = this;\n var interval = queryOptions.pollInterval;\n if (!interval) {\n throw new Error(\"A poll interval is required to start polling query with id '\" + queryId + \"'.\");\n }\n if (this.intervalQueries.hasOwnProperty(interval.toString()) &&\n this.intervalQueries[interval].length > 0) {\n this.intervalQueries[interval].push(queryId);\n }\n else {\n this.intervalQueries[interval] = [queryId];\n this.pollingTimers[interval] = setInterval(function () {\n _this.fetchQueriesOnInterval(interval);\n }, interval);\n }\n };\n QueryScheduler.prototype.registerPollingQuery = function (queryOptions) {\n if (!queryOptions.pollInterval) {\n throw new Error('Attempted to register a non-polling query with the scheduler.');\n }\n return new ObservableQuery({\n scheduler: this,\n options: queryOptions,\n });\n };\n return QueryScheduler;\n}());\nexport { QueryScheduler };\n//# sourceMappingURL=scheduler.js.map","var MutationStore = (function () {\n function MutationStore() {\n this.store = {};\n }\n MutationStore.prototype.getStore = function () {\n return this.store;\n };\n MutationStore.prototype.get = function (mutationId) {\n return this.store[mutationId];\n };\n MutationStore.prototype.initMutation = function (mutationId, mutationString, variables) {\n this.store[mutationId] = {\n mutationString: mutationString,\n variables: variables || {},\n loading: true,\n error: null,\n };\n };\n MutationStore.prototype.markMutationError = function (mutationId, error) {\n var mutation = this.store[mutationId];\n if (!mutation) {\n return;\n }\n mutation.loading = false;\n mutation.error = error;\n };\n MutationStore.prototype.markMutationResult = function (mutationId) {\n var mutation = this.store[mutationId];\n if (!mutation) {\n return;\n }\n mutation.loading = false;\n mutation.error = null;\n };\n MutationStore.prototype.reset = function () {\n this.store = {};\n };\n return MutationStore;\n}());\nexport { MutationStore };\n//# sourceMappingURL=mutations.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { isEqual } from 'apollo-utilities';\nimport { NetworkStatus } from '../core/networkStatus';\nvar QueryStore = (function () {\n function QueryStore() {\n this.store = {};\n }\n QueryStore.prototype.getStore = function () {\n return this.store;\n };\n QueryStore.prototype.get = function (queryId) {\n return this.store[queryId];\n };\n QueryStore.prototype.initQuery = function (query) {\n var previousQuery = this.store[query.queryId];\n if (previousQuery && previousQuery.queryString !== query.queryString) {\n throw new Error('Internal Error: may not update existing query string in store');\n }\n var isSetVariables = false;\n var previousVariables = null;\n if (query.storePreviousVariables &&\n previousQuery &&\n previousQuery.networkStatus !== NetworkStatus.loading) {\n if (!isEqual(previousQuery.variables, query.variables)) {\n isSetVariables = true;\n previousVariables = previousQuery.variables;\n }\n }\n var networkStatus;\n if (isSetVariables) {\n networkStatus = NetworkStatus.setVariables;\n }\n else if (query.isPoll) {\n networkStatus = NetworkStatus.poll;\n }\n else if (query.isRefetch) {\n networkStatus = NetworkStatus.refetch;\n }\n else {\n networkStatus = NetworkStatus.loading;\n }\n var graphQLErrors = [];\n if (previousQuery && previousQuery.graphQLErrors) {\n graphQLErrors = previousQuery.graphQLErrors;\n }\n this.store[query.queryId] = {\n queryString: query.queryString,\n document: query.document,\n variables: query.variables,\n previousVariables: previousVariables,\n networkError: null,\n graphQLErrors: graphQLErrors,\n networkStatus: networkStatus,\n metadata: query.metadata,\n };\n if (typeof query.fetchMoreForQueryId === 'string') {\n this.store[query.fetchMoreForQueryId].networkStatus =\n NetworkStatus.fetchMore;\n }\n };\n QueryStore.prototype.markQueryResult = function (queryId, result, fetchMoreForQueryId) {\n if (!this.store[queryId])\n return;\n this.store[queryId].networkError = null;\n this.store[queryId].graphQLErrors =\n result.errors && result.errors.length ? result.errors : [];\n this.store[queryId].previousVariables = null;\n this.store[queryId].networkStatus = NetworkStatus.ready;\n if (typeof fetchMoreForQueryId === 'string') {\n this.store[fetchMoreForQueryId].networkStatus = NetworkStatus.ready;\n }\n };\n QueryStore.prototype.markQueryError = function (queryId, error, fetchMoreForQueryId) {\n if (!this.store[queryId])\n return;\n this.store[queryId].networkError = error;\n this.store[queryId].networkStatus = NetworkStatus.error;\n if (typeof fetchMoreForQueryId === 'string') {\n this.markQueryError(fetchMoreForQueryId, error, undefined);\n }\n };\n QueryStore.prototype.markQueryResultClient = function (queryId, complete) {\n if (!this.store[queryId])\n return;\n this.store[queryId].networkError = null;\n this.store[queryId].previousVariables = null;\n this.store[queryId].networkStatus = complete\n ? NetworkStatus.ready\n : NetworkStatus.loading;\n };\n QueryStore.prototype.stopQuery = function (queryId) {\n delete this.store[queryId];\n };\n QueryStore.prototype.reset = function (observableQueryIds) {\n var _this = this;\n this.store = Object.keys(this.store)\n .filter(function (queryId) {\n return observableQueryIds.indexOf(queryId) > -1;\n })\n .reduce(function (res, key) {\n res[key] = __assign({}, _this.store[key], { networkStatus: NetworkStatus.loading });\n return res;\n }, {});\n };\n return QueryStore;\n}());\nexport { QueryStore };\n//# sourceMappingURL=queries.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { execute, ApolloLink } from 'apollo-link';\nimport { print } from 'graphql/language/printer';\nimport { DedupLink as Deduplicator } from 'apollo-link-dedup';\nimport { assign, getDefaultValues, getMutationDefinition, getOperationDefinition, getOperationName, getQueryDefinition, isProduction, maybeDeepFreeze, hasDirectives, } from 'apollo-utilities';\nimport { QueryScheduler } from '../scheduler/scheduler';\nimport { isApolloError, ApolloError } from '../errors/ApolloError';\nimport { Observable } from '../util/Observable';\nimport { MutationStore } from '../data/mutations';\nimport { QueryStore } from '../data/queries';\nimport { ObservableQuery } from './ObservableQuery';\nimport { NetworkStatus, isNetworkRequestInFlight } from './networkStatus';\nimport { FetchType } from './types';\nvar defaultQueryInfo = {\n listeners: [],\n invalidated: false,\n document: null,\n newData: null,\n lastRequestId: null,\n observableQuery: null,\n subscriptions: [],\n};\nvar QueryManager = (function () {\n function QueryManager(_a) {\n var link = _a.link, _b = _a.queryDeduplication, queryDeduplication = _b === void 0 ? false : _b, store = _a.store, _c = _a.onBroadcast, onBroadcast = _c === void 0 ? function () { return undefined; } : _c, _d = _a.ssrMode, ssrMode = _d === void 0 ? false : _d;\n this.mutationStore = new MutationStore();\n this.queryStore = new QueryStore();\n this.idCounter = 1;\n this.queries = new Map();\n this.fetchQueryPromises = new Map();\n this.queryIdsByName = {};\n this.link = link;\n this.deduplicator = ApolloLink.from([new Deduplicator(), link]);\n this.queryDeduplication = queryDeduplication;\n this.dataStore = store;\n this.onBroadcast = onBroadcast;\n this.scheduler = new QueryScheduler({ queryManager: this, ssrMode: ssrMode });\n }\n QueryManager.prototype.mutate = function (_a) {\n var _this = this;\n var mutation = _a.mutation, variables = _a.variables, optimisticResponse = _a.optimisticResponse, updateQueriesByName = _a.updateQueries, _b = _a.refetchQueries, refetchQueries = _b === void 0 ? [] : _b, updateWithProxyFn = _a.update, _c = _a.errorPolicy, errorPolicy = _c === void 0 ? 'none' : _c, fetchPolicy = _a.fetchPolicy, _d = _a.context, context = _d === void 0 ? {} : _d;\n if (!mutation) {\n throw new Error('mutation option is required. You must specify your GraphQL document in the mutation option.');\n }\n if (fetchPolicy && fetchPolicy !== 'no-cache') {\n throw new Error(\"fetchPolicy for mutations currently only supports the 'no-cache' policy\");\n }\n var mutationId = this.generateQueryId();\n var cache = this.dataStore.getCache();\n (mutation = cache.transformDocument(mutation)),\n (variables = assign({}, getDefaultValues(getMutationDefinition(mutation)), variables));\n var mutationString = print(mutation);\n this.setQuery(mutationId, function () { return ({ document: mutation }); });\n var generateUpdateQueriesInfo = function () {\n var ret = {};\n if (updateQueriesByName) {\n Object.keys(updateQueriesByName).forEach(function (queryName) {\n return (_this.queryIdsByName[queryName] || []).forEach(function (queryId) {\n ret[queryId] = {\n updater: updateQueriesByName[queryName],\n query: _this.queryStore.get(queryId),\n };\n });\n });\n }\n return ret;\n };\n this.mutationStore.initMutation(mutationId, mutationString, variables);\n this.dataStore.markMutationInit({\n mutationId: mutationId,\n document: mutation,\n variables: variables || {},\n updateQueries: generateUpdateQueriesInfo(),\n update: updateWithProxyFn,\n optimisticResponse: optimisticResponse,\n });\n this.broadcastQueries();\n return new Promise(function (resolve, reject) {\n var storeResult;\n var error;\n var operation = _this.buildOperationForLink(mutation, variables, __assign({}, context, { optimisticResponse: optimisticResponse }));\n execute(_this.link, operation).subscribe({\n next: function (result) {\n if (result.errors && errorPolicy === 'none') {\n error = new ApolloError({\n graphQLErrors: result.errors,\n });\n return;\n }\n _this.mutationStore.markMutationResult(mutationId);\n if (fetchPolicy !== 'no-cache') {\n _this.dataStore.markMutationResult({\n mutationId: mutationId,\n result: result,\n document: mutation,\n variables: variables || {},\n updateQueries: generateUpdateQueriesInfo(),\n update: updateWithProxyFn,\n });\n }\n storeResult = result;\n },\n error: function (err) {\n _this.mutationStore.markMutationError(mutationId, err);\n _this.dataStore.markMutationComplete({\n mutationId: mutationId,\n optimisticResponse: optimisticResponse,\n });\n _this.broadcastQueries();\n _this.setQuery(mutationId, function () { return ({ document: undefined }); });\n reject(new ApolloError({\n networkError: err,\n }));\n },\n complete: function () {\n if (error) {\n _this.mutationStore.markMutationError(mutationId, error);\n }\n _this.dataStore.markMutationComplete({\n mutationId: mutationId,\n optimisticResponse: optimisticResponse,\n });\n _this.broadcastQueries();\n if (error) {\n reject(error);\n return;\n }\n if (typeof refetchQueries === 'function')\n refetchQueries = refetchQueries(storeResult);\n refetchQueries.forEach(function (refetchQuery) {\n if (typeof refetchQuery === 'string') {\n _this.refetchQueryByName(refetchQuery);\n return;\n }\n _this.query({\n query: refetchQuery.query,\n variables: refetchQuery.variables,\n fetchPolicy: 'network-only',\n });\n });\n _this.setQuery(mutationId, function () { return ({ document: undefined }); });\n if (errorPolicy === 'ignore' && storeResult && storeResult.errors) {\n delete storeResult.errors;\n }\n resolve(storeResult);\n },\n });\n });\n };\n QueryManager.prototype.fetchQuery = function (queryId, options, fetchType, fetchMoreForQueryId) {\n var _this = this;\n var _a = options.variables, variables = _a === void 0 ? {} : _a, _b = options.metadata, metadata = _b === void 0 ? null : _b, _c = options.fetchPolicy, fetchPolicy = _c === void 0 ? 'cache-first' : _c;\n var cache = this.dataStore.getCache();\n var query = cache.transformDocument(options.query);\n var storeResult;\n var needToFetch = fetchPolicy === 'network-only' || fetchPolicy === 'no-cache';\n if (fetchType !== FetchType.refetch &&\n fetchPolicy !== 'network-only' &&\n fetchPolicy !== 'no-cache') {\n var _d = this.dataStore.getCache().diff({\n query: query,\n variables: variables,\n returnPartialData: true,\n optimistic: false,\n }), complete = _d.complete, result = _d.result;\n needToFetch = !complete || fetchPolicy === 'cache-and-network';\n storeResult = result;\n }\n var shouldFetch = needToFetch && fetchPolicy !== 'cache-only' && fetchPolicy !== 'standby';\n if (hasDirectives(['live'], query))\n shouldFetch = true;\n var requestId = this.generateRequestId();\n var cancel = this.updateQueryWatch(queryId, query, options);\n this.setQuery(queryId, function () { return ({\n document: query,\n lastRequestId: requestId,\n invalidated: true,\n cancel: cancel,\n }); });\n this.invalidate(true, fetchMoreForQueryId);\n this.queryStore.initQuery({\n queryId: queryId,\n queryString: print(query),\n document: query,\n storePreviousVariables: shouldFetch,\n variables: variables,\n isPoll: fetchType === FetchType.poll,\n isRefetch: fetchType === FetchType.refetch,\n metadata: metadata,\n fetchMoreForQueryId: fetchMoreForQueryId,\n });\n this.broadcastQueries();\n var shouldDispatchClientResult = !shouldFetch || fetchPolicy === 'cache-and-network';\n if (shouldDispatchClientResult) {\n this.queryStore.markQueryResultClient(queryId, !shouldFetch);\n this.invalidate(true, queryId, fetchMoreForQueryId);\n this.broadcastQueries();\n }\n if (shouldFetch) {\n var networkResult = this.fetchRequest({\n requestId: requestId,\n queryId: queryId,\n document: query,\n options: options,\n fetchMoreForQueryId: fetchMoreForQueryId,\n }).catch(function (error) {\n if (isApolloError(error)) {\n throw error;\n }\n else {\n var lastRequestId = _this.getQuery(queryId).lastRequestId;\n if (requestId >= (lastRequestId || 1)) {\n _this.queryStore.markQueryError(queryId, error, fetchMoreForQueryId);\n _this.invalidate(true, queryId, fetchMoreForQueryId);\n _this.broadcastQueries();\n }\n _this.removeFetchQueryPromise(requestId);\n throw new ApolloError({ networkError: error });\n }\n });\n if (fetchPolicy !== 'cache-and-network') {\n return networkResult;\n }\n else {\n networkResult.catch(function () { });\n }\n }\n return Promise.resolve({ data: storeResult });\n };\n QueryManager.prototype.queryListenerForObserver = function (queryId, options, observer) {\n var _this = this;\n var previouslyHadError = false;\n return function (queryStoreValue, newData) {\n _this.invalidate(false, queryId);\n if (!queryStoreValue)\n return;\n var observableQuery = _this.getQuery(queryId).observableQuery;\n var fetchPolicy = observableQuery\n ? observableQuery.options.fetchPolicy\n : options.fetchPolicy;\n if (fetchPolicy === 'standby')\n return;\n var errorPolicy = observableQuery\n ? observableQuery.options.errorPolicy\n : options.errorPolicy;\n var lastResult = observableQuery\n ? observableQuery.getLastResult()\n : null;\n var lastError = observableQuery ? observableQuery.getLastError() : null;\n var shouldNotifyIfLoading = (!newData && queryStoreValue.previousVariables != null) ||\n fetchPolicy === 'cache-only' ||\n fetchPolicy === 'cache-and-network';\n var networkStatusChanged = Boolean(lastResult &&\n queryStoreValue.networkStatus !== lastResult.networkStatus);\n var errorStatusChanged = errorPolicy &&\n (lastError && lastError.graphQLErrors) !==\n queryStoreValue.graphQLErrors &&\n errorPolicy !== 'none';\n if (!isNetworkRequestInFlight(queryStoreValue.networkStatus) ||\n (networkStatusChanged && options.notifyOnNetworkStatusChange) ||\n shouldNotifyIfLoading) {\n if (((!errorPolicy || errorPolicy === 'none') &&\n queryStoreValue.graphQLErrors &&\n queryStoreValue.graphQLErrors.length > 0) ||\n queryStoreValue.networkError) {\n var apolloError_1 = new ApolloError({\n graphQLErrors: queryStoreValue.graphQLErrors,\n networkError: queryStoreValue.networkError,\n });\n previouslyHadError = true;\n if (observer.error) {\n try {\n observer.error(apolloError_1);\n }\n catch (e) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n else {\n setTimeout(function () {\n throw apolloError_1;\n }, 0);\n if (!isProduction()) {\n console.info('An unhandled error was thrown because no error handler is registered ' +\n 'for the query ' +\n queryStoreValue.queryString);\n }\n }\n return;\n }\n try {\n var data = void 0;\n var isMissing = void 0;\n if (newData) {\n _this.setQuery(queryId, function () { return ({ newData: null }); });\n data = newData.result;\n isMissing = !newData.complete ? !newData.complete : false;\n }\n else {\n if (lastResult && lastResult.data && !errorStatusChanged) {\n data = lastResult.data;\n isMissing = false;\n }\n else {\n var document_1 = _this.getQuery(queryId).document;\n var readResult = _this.dataStore.getCache().diff({\n query: document_1,\n variables: queryStoreValue.previousVariables ||\n queryStoreValue.variables,\n optimistic: true,\n });\n data = readResult.result;\n isMissing = !readResult.complete;\n }\n }\n var resultFromStore = void 0;\n if (isMissing && fetchPolicy !== 'cache-only') {\n resultFromStore = {\n data: lastResult && lastResult.data,\n loading: isNetworkRequestInFlight(queryStoreValue.networkStatus),\n networkStatus: queryStoreValue.networkStatus,\n stale: true,\n };\n }\n else {\n resultFromStore = {\n data: data,\n loading: isNetworkRequestInFlight(queryStoreValue.networkStatus),\n networkStatus: queryStoreValue.networkStatus,\n stale: false,\n };\n }\n if (errorPolicy === 'all' &&\n queryStoreValue.graphQLErrors &&\n queryStoreValue.graphQLErrors.length > 0) {\n resultFromStore.errors = queryStoreValue.graphQLErrors;\n }\n if (observer.next) {\n var isDifferentResult = !(lastResult &&\n resultFromStore &&\n lastResult.networkStatus === resultFromStore.networkStatus &&\n lastResult.stale === resultFromStore.stale &&\n lastResult.data === resultFromStore.data);\n if (isDifferentResult || previouslyHadError) {\n try {\n observer.next(maybeDeepFreeze(resultFromStore));\n }\n catch (e) {\n setTimeout(function () {\n throw e;\n }, 0);\n }\n }\n }\n previouslyHadError = false;\n }\n catch (error) {\n previouslyHadError = true;\n if (observer.error)\n observer.error(new ApolloError({ networkError: error }));\n return;\n }\n }\n };\n };\n QueryManager.prototype.watchQuery = function (options, shouldSubscribe) {\n if (shouldSubscribe === void 0) { shouldSubscribe = true; }\n if (options.fetchPolicy === 'standby') {\n throw new Error('client.watchQuery cannot be called with fetchPolicy set to \"standby\"');\n }\n var queryDefinition = getQueryDefinition(options.query);\n if (queryDefinition.variableDefinitions &&\n queryDefinition.variableDefinitions.length) {\n var defaultValues = getDefaultValues(queryDefinition);\n options.variables = assign({}, defaultValues, options.variables);\n }\n if (typeof options.notifyOnNetworkStatusChange === 'undefined') {\n options.notifyOnNetworkStatusChange = false;\n }\n var transformedOptions = __assign({}, options);\n return new ObservableQuery({\n scheduler: this.scheduler,\n options: transformedOptions,\n shouldSubscribe: shouldSubscribe,\n });\n };\n QueryManager.prototype.query = function (options) {\n var _this = this;\n if (!options.query) {\n throw new Error('query option is required. You must specify your GraphQL document in the query option.');\n }\n if (options.query.kind !== 'Document') {\n throw new Error('You must wrap the query string in a \"gql\" tag.');\n }\n if (options.returnPartialData) {\n throw new Error('returnPartialData option only supported on watchQuery.');\n }\n if (options.pollInterval) {\n throw new Error('pollInterval option only supported on watchQuery.');\n }\n if (typeof options.notifyOnNetworkStatusChange !== 'undefined') {\n throw new Error('Cannot call \"query\" with \"notifyOnNetworkStatusChange\" option. Only \"watchQuery\" has that option.');\n }\n options.notifyOnNetworkStatusChange = false;\n var requestId = this.idCounter;\n var resPromise = new Promise(function (resolve, reject) {\n _this.addFetchQueryPromise(requestId, resPromise, resolve, reject);\n return _this.watchQuery(options, false)\n .result()\n .then(function (result) {\n _this.removeFetchQueryPromise(requestId);\n resolve(result);\n })\n .catch(function (error) {\n _this.removeFetchQueryPromise(requestId);\n reject(error);\n });\n });\n return resPromise;\n };\n QueryManager.prototype.generateQueryId = function () {\n var queryId = this.idCounter.toString();\n this.idCounter++;\n return queryId;\n };\n QueryManager.prototype.stopQueryInStore = function (queryId) {\n this.queryStore.stopQuery(queryId);\n this.invalidate(true, queryId);\n this.broadcastQueries();\n };\n QueryManager.prototype.addQueryListener = function (queryId, listener) {\n this.setQuery(queryId, function (_a) {\n var _b = _a.listeners, listeners = _b === void 0 ? [] : _b;\n return ({\n listeners: listeners.concat([listener]),\n invalidate: false,\n });\n });\n };\n QueryManager.prototype.updateQueryWatch = function (queryId, document, options) {\n var _this = this;\n var cancel = this.getQuery(queryId).cancel;\n if (cancel)\n cancel();\n var previousResult = function () {\n var previousResult = null;\n var observableQuery = _this.getQuery(queryId).observableQuery;\n if (observableQuery) {\n var lastResult = observableQuery.getLastResult();\n if (lastResult) {\n previousResult = lastResult.data;\n }\n }\n return previousResult;\n };\n return this.dataStore.getCache().watch({\n query: document,\n variables: options.variables,\n optimistic: true,\n previousResult: previousResult,\n callback: function (newData) {\n _this.setQuery(queryId, function () { return ({ invalidated: true, newData: newData }); });\n },\n });\n };\n QueryManager.prototype.addFetchQueryPromise = function (requestId, promise, resolve, reject) {\n this.fetchQueryPromises.set(requestId.toString(), {\n promise: promise,\n resolve: resolve,\n reject: reject,\n });\n };\n QueryManager.prototype.removeFetchQueryPromise = function (requestId) {\n this.fetchQueryPromises.delete(requestId.toString());\n };\n QueryManager.prototype.addObservableQuery = function (queryId, observableQuery) {\n this.setQuery(queryId, function () { return ({ observableQuery: observableQuery }); });\n var queryDef = getQueryDefinition(observableQuery.options.query);\n if (queryDef.name && queryDef.name.value) {\n var queryName = queryDef.name.value;\n this.queryIdsByName[queryName] = this.queryIdsByName[queryName] || [];\n this.queryIdsByName[queryName].push(observableQuery.queryId);\n }\n };\n QueryManager.prototype.removeObservableQuery = function (queryId) {\n var _a = this.getQuery(queryId), observableQuery = _a.observableQuery, cancel = _a.cancel;\n if (cancel)\n cancel();\n if (!observableQuery)\n return;\n var definition = getQueryDefinition(observableQuery.options.query);\n var queryName = definition.name ? definition.name.value : null;\n this.setQuery(queryId, function () { return ({ observableQuery: null }); });\n if (queryName) {\n this.queryIdsByName[queryName] = this.queryIdsByName[queryName].filter(function (val) {\n return !(observableQuery.queryId === val);\n });\n }\n };\n QueryManager.prototype.resetStore = function () {\n this.fetchQueryPromises.forEach(function (_a) {\n var reject = _a.reject;\n reject(new Error('Store reset while query was in flight.'));\n });\n var resetIds = [];\n this.queries.forEach(function (_a, queryId) {\n var observableQuery = _a.observableQuery;\n if (observableQuery)\n resetIds.push(queryId);\n });\n this.queryStore.reset(resetIds);\n this.mutationStore.reset();\n var dataStoreReset = this.dataStore.reset();\n var observableQueryPromises = this.getObservableQueryPromises();\n this.broadcastQueries();\n return dataStoreReset.then(function () { return Promise.all(observableQueryPromises); });\n };\n QueryManager.prototype.getObservableQueryPromises = function (includeStandby) {\n var _this = this;\n var observableQueryPromises = [];\n this.queries.forEach(function (_a, queryId) {\n var observableQuery = _a.observableQuery;\n if (!observableQuery)\n return;\n var fetchPolicy = observableQuery.options.fetchPolicy;\n observableQuery.resetLastResults();\n if (fetchPolicy !== 'cache-only' &&\n (includeStandby || fetchPolicy !== 'standby')) {\n observableQueryPromises.push(observableQuery.refetch());\n }\n _this.setQuery(queryId, function () { return ({ newData: null }); });\n _this.invalidate(true, queryId);\n });\n return observableQueryPromises;\n };\n QueryManager.prototype.reFetchObservableQueries = function (includeStandby) {\n var observableQueryPromises = this.getObservableQueryPromises(includeStandby);\n this.broadcastQueries();\n return Promise.all(observableQueryPromises);\n };\n QueryManager.prototype.startQuery = function (queryId, options, listener) {\n this.addQueryListener(queryId, listener);\n this.fetchQuery(queryId, options)\n .catch(function () { return undefined; });\n return queryId;\n };\n QueryManager.prototype.startGraphQLSubscription = function (options) {\n var _this = this;\n var query = options.query;\n var cache = this.dataStore.getCache();\n var transformedDoc = cache.transformDocument(query);\n var variables = assign({}, getDefaultValues(getOperationDefinition(query)), options.variables);\n var sub;\n var observers = [];\n return new Observable(function (observer) {\n observers.push(observer);\n if (observers.length === 1) {\n var handler = {\n next: function (result) {\n _this.dataStore.markSubscriptionResult(result, transformedDoc, variables);\n _this.broadcastQueries();\n observers.forEach(function (obs) {\n if (obs.next)\n obs.next(result);\n });\n },\n error: function (error) {\n observers.forEach(function (obs) {\n if (obs.error)\n obs.error(error);\n });\n },\n };\n var operation = _this.buildOperationForLink(transformedDoc, variables);\n sub = execute(_this.link, operation).subscribe(handler);\n }\n return function () {\n observers = observers.filter(function (obs) { return obs !== observer; });\n if (observers.length === 0 && sub) {\n sub.unsubscribe();\n }\n };\n });\n };\n QueryManager.prototype.stopQuery = function (queryId) {\n this.removeQuery(queryId);\n this.stopQueryInStore(queryId);\n };\n QueryManager.prototype.removeQuery = function (queryId) {\n var subscriptions = this.getQuery(queryId).subscriptions;\n subscriptions.forEach(function (x) { return x.unsubscribe(); });\n this.queries.delete(queryId);\n };\n QueryManager.prototype.getCurrentQueryResult = function (observableQuery) {\n var _a = observableQuery.options, variables = _a.variables, query = _a.query;\n var lastResult = observableQuery.getLastResult();\n var newData = this.getQuery(observableQuery.queryId).newData;\n if (newData) {\n return maybeDeepFreeze({ data: newData.result, partial: false });\n }\n else {\n try {\n var data = this.dataStore.getCache().read({\n query: query,\n variables: variables,\n previousResult: lastResult ? lastResult.data : undefined,\n optimistic: true,\n });\n return maybeDeepFreeze({ data: data, partial: false });\n }\n catch (e) {\n return maybeDeepFreeze({ data: {}, partial: true });\n }\n }\n };\n QueryManager.prototype.getQueryWithPreviousResult = function (queryIdOrObservable) {\n var observableQuery;\n if (typeof queryIdOrObservable === 'string') {\n var foundObserveableQuery = this.getQuery(queryIdOrObservable).observableQuery;\n if (!foundObserveableQuery) {\n throw new Error(\"ObservableQuery with this id doesn't exist: \" + queryIdOrObservable);\n }\n observableQuery = foundObserveableQuery;\n }\n else {\n observableQuery = queryIdOrObservable;\n }\n var _a = observableQuery.options, variables = _a.variables, query = _a.query;\n var data = this.getCurrentQueryResult(observableQuery).data;\n return {\n previousResult: data,\n variables: variables,\n document: query,\n };\n };\n QueryManager.prototype.broadcastQueries = function () {\n var _this = this;\n this.onBroadcast();\n this.queries.forEach(function (info, id) {\n if (!info.invalidated || !info.listeners)\n return;\n info.listeners\n .filter(function (x) { return !!x; })\n .forEach(function (listener) {\n listener(_this.queryStore.get(id), info.newData);\n });\n });\n };\n QueryManager.prototype.fetchRequest = function (_a) {\n var _this = this;\n var requestId = _a.requestId, queryId = _a.queryId, document = _a.document, options = _a.options, fetchMoreForQueryId = _a.fetchMoreForQueryId;\n var variables = options.variables, context = options.context, _b = options.errorPolicy, errorPolicy = _b === void 0 ? 'none' : _b, fetchPolicy = options.fetchPolicy;\n var operation = this.buildOperationForLink(document, variables, __assign({}, context, { forceFetch: !this.queryDeduplication }));\n var resultFromStore;\n var errorsFromStore;\n var retPromise = new Promise(function (resolve, reject) {\n _this.addFetchQueryPromise(requestId, retPromise, resolve, reject);\n var subscription = execute(_this.deduplicator, operation).subscribe({\n next: function (result) {\n var lastRequestId = _this.getQuery(queryId).lastRequestId;\n if (requestId >= (lastRequestId || 1)) {\n if (fetchPolicy !== 'no-cache') {\n try {\n _this.dataStore.markQueryResult(result, document, variables, fetchMoreForQueryId, errorPolicy === 'ignore' || errorPolicy === 'all');\n }\n catch (e) {\n reject(e);\n return;\n }\n }\n _this.queryStore.markQueryResult(queryId, result, fetchMoreForQueryId);\n _this.invalidate(true, queryId, fetchMoreForQueryId);\n _this.broadcastQueries();\n }\n if (result.errors && errorPolicy === 'none') {\n reject(new ApolloError({\n graphQLErrors: result.errors,\n }));\n return;\n }\n else if (errorPolicy === 'all') {\n errorsFromStore = result.errors;\n }\n if (fetchMoreForQueryId) {\n resultFromStore = result.data;\n }\n else {\n try {\n resultFromStore = _this.dataStore.getCache().read({\n variables: variables,\n query: document,\n optimistic: false,\n });\n }\n catch (e) { }\n }\n },\n error: function (error) {\n _this.removeFetchQueryPromise(requestId);\n _this.setQuery(queryId, function (_a) {\n var subscriptions = _a.subscriptions;\n return ({\n subscriptions: subscriptions.filter(function (x) { return x !== subscription; }),\n });\n });\n reject(error);\n },\n complete: function () {\n _this.removeFetchQueryPromise(requestId);\n _this.setQuery(queryId, function (_a) {\n var subscriptions = _a.subscriptions;\n return ({\n subscriptions: subscriptions.filter(function (x) { return x !== subscription; }),\n });\n });\n resolve({\n data: resultFromStore,\n errors: errorsFromStore,\n loading: false,\n networkStatus: NetworkStatus.ready,\n stale: false,\n });\n },\n });\n _this.setQuery(queryId, function (_a) {\n var subscriptions = _a.subscriptions;\n return ({\n subscriptions: subscriptions.concat([subscription]),\n });\n });\n });\n return retPromise;\n };\n QueryManager.prototype.refetchQueryByName = function (queryName) {\n var _this = this;\n var refetchedQueries = this.queryIdsByName[queryName];\n if (refetchedQueries === undefined)\n return;\n return Promise.all(refetchedQueries\n .map(function (id) { return _this.getQuery(id).observableQuery; })\n .filter(function (x) { return !!x; })\n .map(function (x) { return x.refetch(); }));\n };\n QueryManager.prototype.generateRequestId = function () {\n var requestId = this.idCounter;\n this.idCounter++;\n return requestId;\n };\n QueryManager.prototype.getQuery = function (queryId) {\n return this.queries.get(queryId) || __assign({}, defaultQueryInfo);\n };\n QueryManager.prototype.setQuery = function (queryId, updater) {\n var prev = this.getQuery(queryId);\n var newInfo = __assign({}, prev, updater(prev));\n this.queries.set(queryId, newInfo);\n };\n QueryManager.prototype.invalidate = function (invalidated, queryId, fetchMoreForQueryId) {\n if (queryId)\n this.setQuery(queryId, function () { return ({ invalidated: invalidated }); });\n if (fetchMoreForQueryId) {\n this.setQuery(fetchMoreForQueryId, function () { return ({ invalidated: invalidated }); });\n }\n };\n QueryManager.prototype.buildOperationForLink = function (document, variables, extraContext) {\n var cache = this.dataStore.getCache();\n return {\n query: cache.transformForLink\n ? cache.transformForLink(document)\n : document,\n variables: variables,\n operationName: getOperationName(document) || undefined,\n context: __assign({}, extraContext, { cache: cache, getCacheKey: function (obj) {\n if (cache.config) {\n return cache.config.dataIdFromObject(obj);\n }\n else {\n throw new Error('To use context.getCacheKey, you need to use a cache that has a configurable dataIdFromObject, like apollo-cache-inmemory.');\n }\n } }),\n };\n };\n return QueryManager;\n}());\nexport { QueryManager };\n//# sourceMappingURL=QueryManager.js.map","import { getOperationName, tryFunctionOrLogError, graphQLResultHasError, } from 'apollo-utilities';\nvar DataStore = (function () {\n function DataStore(initialCache) {\n this.cache = initialCache;\n }\n DataStore.prototype.getCache = function () {\n return this.cache;\n };\n DataStore.prototype.markQueryResult = function (result, document, variables, fetchMoreForQueryId, ignoreErrors) {\n if (ignoreErrors === void 0) { ignoreErrors = false; }\n var writeWithErrors = !graphQLResultHasError(result);\n if (ignoreErrors && graphQLResultHasError(result) && result.data) {\n writeWithErrors = true;\n }\n if (!fetchMoreForQueryId && writeWithErrors) {\n this.cache.write({\n result: result.data,\n dataId: 'ROOT_QUERY',\n query: document,\n variables: variables,\n });\n }\n };\n DataStore.prototype.markSubscriptionResult = function (result, document, variables) {\n if (!graphQLResultHasError(result)) {\n this.cache.write({\n result: result.data,\n dataId: 'ROOT_SUBSCRIPTION',\n query: document,\n variables: variables,\n });\n }\n };\n DataStore.prototype.markMutationInit = function (mutation) {\n var _this = this;\n if (mutation.optimisticResponse) {\n var optimistic_1;\n if (typeof mutation.optimisticResponse === 'function') {\n optimistic_1 = mutation.optimisticResponse(mutation.variables);\n }\n else {\n optimistic_1 = mutation.optimisticResponse;\n }\n var changeFn_1 = function () {\n _this.markMutationResult({\n mutationId: mutation.mutationId,\n result: { data: optimistic_1 },\n document: mutation.document,\n variables: mutation.variables,\n updateQueries: mutation.updateQueries,\n update: mutation.update,\n });\n };\n this.cache.recordOptimisticTransaction(function (c) {\n var orig = _this.cache;\n _this.cache = c;\n try {\n changeFn_1();\n }\n finally {\n _this.cache = orig;\n }\n }, mutation.mutationId);\n }\n };\n DataStore.prototype.markMutationResult = function (mutation) {\n var _this = this;\n if (!graphQLResultHasError(mutation.result)) {\n var cacheWrites_1 = [];\n cacheWrites_1.push({\n result: mutation.result.data,\n dataId: 'ROOT_MUTATION',\n query: mutation.document,\n variables: mutation.variables,\n });\n if (mutation.updateQueries) {\n Object.keys(mutation.updateQueries)\n .filter(function (id) { return mutation.updateQueries[id]; })\n .forEach(function (queryId) {\n var _a = mutation.updateQueries[queryId], query = _a.query, updater = _a.updater;\n var _b = _this.cache.diff({\n query: query.document,\n variables: query.variables,\n returnPartialData: true,\n optimistic: false,\n }), currentQueryResult = _b.result, complete = _b.complete;\n if (!complete) {\n return;\n }\n var nextQueryResult = tryFunctionOrLogError(function () {\n return updater(currentQueryResult, {\n mutationResult: mutation.result,\n queryName: getOperationName(query.document) || undefined,\n queryVariables: query.variables,\n });\n });\n if (nextQueryResult) {\n cacheWrites_1.push({\n result: nextQueryResult,\n dataId: 'ROOT_QUERY',\n query: query.document,\n variables: query.variables,\n });\n }\n });\n }\n this.cache.performTransaction(function (c) {\n cacheWrites_1.forEach(function (write) { return c.write(write); });\n });\n var update_1 = mutation.update;\n if (update_1) {\n this.cache.performTransaction(function (c) {\n tryFunctionOrLogError(function () { return update_1(c, mutation.result); });\n });\n }\n }\n };\n DataStore.prototype.markMutationComplete = function (_a) {\n var mutationId = _a.mutationId, optimisticResponse = _a.optimisticResponse;\n if (!optimisticResponse)\n return;\n this.cache.removeOptimistic(mutationId);\n };\n DataStore.prototype.markUpdateQueryResult = function (document, variables, newResult) {\n this.cache.write({\n result: newResult,\n dataId: 'ROOT_QUERY',\n variables: variables,\n query: document,\n });\n };\n DataStore.prototype.reset = function () {\n return this.cache.reset();\n };\n return DataStore;\n}());\nexport { DataStore };\n//# sourceMappingURL=store.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { ApolloLink, execute, } from 'apollo-link';\nimport { isProduction, removeConnectionDirectiveFromDocument, } from 'apollo-utilities';\nimport { QueryManager } from './core/QueryManager';\nimport { DataStore } from './data/store';\nimport { version } from './version';\nvar hasSuggestedDevtools = false;\nvar supportedDirectives = new ApolloLink(function (operation, forward) {\n operation.query = removeConnectionDirectiveFromDocument(operation.query);\n return forward(operation);\n});\nvar ApolloClient = (function () {\n function ApolloClient(options) {\n var _this = this;\n this.defaultOptions = {};\n this.resetStoreCallbacks = [];\n var link = options.link, cache = options.cache, _a = options.ssrMode, ssrMode = _a === void 0 ? false : _a, _b = options.ssrForceFetchDelay, ssrForceFetchDelay = _b === void 0 ? 0 : _b, connectToDevTools = options.connectToDevTools, _c = options.queryDeduplication, queryDeduplication = _c === void 0 ? true : _c, defaultOptions = options.defaultOptions;\n if (!link || !cache) {\n throw new Error(\"\\n In order to initialize Apollo Client, you must specify link & cache properties on the config object.\\n This is part of the required upgrade when migrating from Apollo Client 1.0 to Apollo Client 2.0.\\n For more information, please visit:\\n https://www.apollographql.com/docs/react/basics/setup.html\\n to help you get started.\\n \");\n }\n this.link = supportedDirectives.concat(link);\n this.cache = cache;\n this.store = new DataStore(cache);\n this.disableNetworkFetches = ssrMode || ssrForceFetchDelay > 0;\n this.queryDeduplication = queryDeduplication;\n this.ssrMode = ssrMode;\n this.defaultOptions = defaultOptions || {};\n if (ssrForceFetchDelay) {\n setTimeout(function () { return (_this.disableNetworkFetches = false); }, ssrForceFetchDelay);\n }\n this.watchQuery = this.watchQuery.bind(this);\n this.query = this.query.bind(this);\n this.mutate = this.mutate.bind(this);\n this.resetStore = this.resetStore.bind(this);\n this.reFetchObservableQueries = this.reFetchObservableQueries.bind(this);\n var defaultConnectToDevTools = !isProduction() &&\n typeof window !== 'undefined' &&\n !window.__APOLLO_CLIENT__;\n if (typeof connectToDevTools === 'undefined'\n ? defaultConnectToDevTools\n : connectToDevTools && typeof window !== 'undefined') {\n window.__APOLLO_CLIENT__ = this;\n }\n if (!hasSuggestedDevtools && !isProduction()) {\n hasSuggestedDevtools = true;\n if (typeof window !== 'undefined' &&\n window.document &&\n window.top === window.self) {\n if (typeof window.__APOLLO_DEVTOOLS_GLOBAL_HOOK__ === 'undefined') {\n if (navigator.userAgent.indexOf('Chrome') > -1) {\n console.debug('Download the Apollo DevTools ' +\n 'for a better development experience: ' +\n 'https://chrome.google.com/webstore/detail/apollo-client-developer-t/jdkknkkbebbapilgoeccciglkfbmbnfm');\n }\n }\n }\n }\n this.version = version;\n }\n ApolloClient.prototype.watchQuery = function (options) {\n this.initQueryManager();\n if (this.defaultOptions.watchQuery) {\n options = __assign({}, this.defaultOptions.watchQuery, options);\n }\n if (this.disableNetworkFetches && options.fetchPolicy === 'network-only') {\n options = __assign({}, options, { fetchPolicy: 'cache-first' });\n }\n return this.queryManager.watchQuery(options);\n };\n ApolloClient.prototype.query = function (options) {\n this.initQueryManager();\n if (this.defaultOptions.query) {\n options = __assign({}, this.defaultOptions.query, options);\n }\n if (options.fetchPolicy === 'cache-and-network') {\n throw new Error('cache-and-network fetchPolicy can only be used with watchQuery');\n }\n if (this.disableNetworkFetches && options.fetchPolicy === 'network-only') {\n options = __assign({}, options, { fetchPolicy: 'cache-first' });\n }\n return this.queryManager.query(options);\n };\n ApolloClient.prototype.mutate = function (options) {\n this.initQueryManager();\n if (this.defaultOptions.mutate) {\n options = __assign({}, this.defaultOptions.mutate, options);\n }\n return this.queryManager.mutate(options);\n };\n ApolloClient.prototype.subscribe = function (options) {\n this.initQueryManager();\n return this.queryManager.startGraphQLSubscription(options);\n };\n ApolloClient.prototype.readQuery = function (options) {\n return this.initProxy().readQuery(options);\n };\n ApolloClient.prototype.readFragment = function (options) {\n return this.initProxy().readFragment(options);\n };\n ApolloClient.prototype.writeQuery = function (options) {\n var result = this.initProxy().writeQuery(options);\n this.queryManager.broadcastQueries();\n return result;\n };\n ApolloClient.prototype.writeFragment = function (options) {\n var result = this.initProxy().writeFragment(options);\n this.queryManager.broadcastQueries();\n return result;\n };\n ApolloClient.prototype.writeData = function (options) {\n var result = this.initProxy().writeData(options);\n this.queryManager.broadcastQueries();\n return result;\n };\n ApolloClient.prototype.__actionHookForDevTools = function (cb) {\n this.devToolsHookCb = cb;\n };\n ApolloClient.prototype.__requestRaw = function (payload) {\n return execute(this.link, payload);\n };\n ApolloClient.prototype.initQueryManager = function () {\n var _this = this;\n if (this.queryManager)\n return;\n this.queryManager = new QueryManager({\n link: this.link,\n store: this.store,\n queryDeduplication: this.queryDeduplication,\n ssrMode: this.ssrMode,\n onBroadcast: function () {\n if (_this.devToolsHookCb) {\n _this.devToolsHookCb({\n action: {},\n state: {\n queries: _this.queryManager.queryStore.getStore(),\n mutations: _this.queryManager.mutationStore.getStore(),\n },\n dataWithOptimisticResults: _this.cache.extract(true),\n });\n }\n },\n });\n };\n ApolloClient.prototype.resetStore = function () {\n var _this = this;\n return Promise.resolve()\n .then(function () {\n _this.queryManager\n ? _this.queryManager.resetStore()\n : Promise.resolve(null);\n })\n .then(function () { return Promise.all(_this.resetStoreCallbacks.map(function (fn) { return fn(); })); });\n };\n ApolloClient.prototype.onResetStore = function (cb) {\n var _this = this;\n this.resetStoreCallbacks.push(cb);\n return function () {\n _this.resetStoreCallbacks = _this.resetStoreCallbacks.filter(function (c) { return c !== cb; });\n };\n };\n ApolloClient.prototype.reFetchObservableQueries = function (includeStandby) {\n return this.queryManager\n ? this.queryManager.reFetchObservableQueries(includeStandby)\n : Promise.resolve(null);\n };\n ApolloClient.prototype.extract = function (optimistic) {\n return this.initProxy().extract(optimistic);\n };\n ApolloClient.prototype.restore = function (serializedState) {\n return this.initProxy().restore(serializedState);\n };\n ApolloClient.prototype.initProxy = function () {\n if (!this.proxy) {\n this.initQueryManager();\n this.proxy = this.cache;\n }\n return this.proxy;\n };\n return ApolloClient;\n}());\nexport default ApolloClient;\n//# sourceMappingURL=ApolloClient.js.map","export { print as printAST } from 'graphql/language/printer';\nexport { ObservableQuery, } from './core/ObservableQuery';\nexport { NetworkStatus } from './core/networkStatus';\nexport * from './core/types';\nexport { ApolloError } from './errors/ApolloError';\nimport ApolloClient from './ApolloClient';\nexport { ApolloClient };\nexport default ApolloClient;\n//# sourceMappingURL=index.js.map","var __extends = (this && this.__extends) || (function () {\n var extendStatics = Object.setPrototypeOf ||\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\n return function (d, b) {\n extendStatics(d, b);\n function __() { this.constructor = d; }\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\n };\n})();\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) if (e.indexOf(p[i]) < 0)\n t[p[i]] = s[p[i]];\n return t;\n};\nimport { ApolloLink, Observable, fromError } from 'apollo-link';\nimport { serializeFetchParameter, selectURI, parseAndCheckHttpResponse, checkFetcher, selectHttpOptionsAndBody, createSignalIfSupported, fallbackHttpConfig, } from 'apollo-link-http-common';\nexport var createHttpLink = function (linkOptions) {\n if (linkOptions === void 0) { linkOptions = {}; }\n var _a = linkOptions.uri, uri = _a === void 0 ? '/graphql' : _a, fetcher = linkOptions.fetch, includeExtensions = linkOptions.includeExtensions, useGETForQueries = linkOptions.useGETForQueries, requestOptions = __rest(linkOptions, [\"uri\", \"fetch\", \"includeExtensions\", \"useGETForQueries\"]);\n checkFetcher(fetcher);\n if (!fetcher) {\n fetcher = fetch;\n }\n var linkConfig = {\n http: { includeExtensions: includeExtensions },\n options: requestOptions.fetchOptions,\n credentials: requestOptions.credentials,\n headers: requestOptions.headers,\n };\n return new ApolloLink(function (operation) {\n var chosenURI = selectURI(operation, uri);\n var context = operation.getContext();\n var contextConfig = {\n http: context.http,\n options: context.fetchOptions,\n credentials: context.credentials,\n headers: context.headers,\n };\n var _a = selectHttpOptionsAndBody(operation, fallbackHttpConfig, linkConfig, contextConfig), options = _a.options, body = _a.body;\n var _b = createSignalIfSupported(), controller = _b.controller, signal = _b.signal;\n if (controller)\n options.signal = signal;\n var definitionIsMutation = function (d) {\n return d.kind === 'OperationDefinition' && d.operation === 'mutation';\n };\n if (useGETForQueries &&\n !operation.query.definitions.some(definitionIsMutation)) {\n options.method = 'GET';\n }\n if (options.method === 'GET') {\n var _c = rewriteURIForGET(chosenURI, body), newURI = _c.newURI, parseError = _c.parseError;\n if (parseError) {\n return fromError(parseError);\n }\n chosenURI = newURI;\n }\n else {\n try {\n options.body = serializeFetchParameter(body, 'Payload');\n }\n catch (parseError) {\n return fromError(parseError);\n }\n }\n return new Observable(function (observer) {\n fetcher(chosenURI, options)\n .then(function (response) {\n operation.setContext({ response: response });\n return response;\n })\n .then(parseAndCheckHttpResponse(operation))\n .then(function (result) {\n observer.next(result);\n observer.complete();\n return result;\n })\n .catch(function (err) {\n if (err.name === 'AbortError')\n return;\n if (err.result && err.result.errors && err.result.data) {\n observer.next(err.result);\n }\n observer.error(err);\n });\n return function () {\n if (controller)\n controller.abort();\n };\n });\n });\n};\nfunction rewriteURIForGET(chosenURI, body) {\n var queryParams = [];\n var addQueryParam = function (key, value) {\n queryParams.push(key + \"=\" + encodeURIComponent(value));\n };\n if ('query' in body) {\n addQueryParam('query', body.query);\n }\n if (body.operationName) {\n addQueryParam('operationName', body.operationName);\n }\n if (body.variables) {\n var serializedVariables = void 0;\n try {\n serializedVariables = serializeFetchParameter(body.variables, 'Variables map');\n }\n catch (parseError) {\n return { parseError: parseError };\n }\n addQueryParam('variables', serializedVariables);\n }\n if (body.extensions) {\n var serializedExtensions = void 0;\n try {\n serializedExtensions = serializeFetchParameter(body.extensions, 'Extensions map');\n }\n catch (parseError) {\n return { parseError: parseError };\n }\n addQueryParam('extensions', serializedExtensions);\n }\n var fragment = '', preFragment = chosenURI;\n var fragmentStart = chosenURI.indexOf('#');\n if (fragmentStart !== -1) {\n fragment = chosenURI.substr(fragmentStart);\n preFragment = chosenURI.substr(0, fragmentStart);\n }\n var queryParamsPrefix = preFragment.indexOf('?') === -1 ? '?' : '&';\n var newURI = preFragment + queryParamsPrefix + queryParams.join('&') + fragment;\n return { newURI: newURI };\n}\nvar HttpLink = (function (_super) {\n __extends(HttpLink, _super);\n function HttpLink(opts) {\n return _super.call(this, createHttpLink(opts).request) || this;\n }\n return HttpLink;\n}(ApolloLink));\nexport { HttpLink };\n//# sourceMappingURL=httpLink.js.map","var __assign = (this && this.__assign) || Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n};\nimport { print } from 'graphql/language/printer';\nvar defaultHttpOptions = {\n includeQuery: true,\n includeExtensions: false,\n};\nvar defaultHeaders = {\n accept: '*/*',\n 'content-type': 'application/json',\n};\nvar defaultOptions = {\n method: 'POST',\n};\nexport var fallbackHttpConfig = {\n http: defaultHttpOptions,\n headers: defaultHeaders,\n options: defaultOptions,\n};\nexport var throwServerError = function (response, result, message) {\n var error = new Error(message);\n error.response = response;\n error.statusCode = response.status;\n error.result = result;\n throw error;\n};\nexport var parseAndCheckHttpResponse = function (operations) { return function (response) {\n return (response\n .text()\n .then(function (bodyText) {\n try {\n return JSON.parse(bodyText);\n }\n catch (err) {\n var parseError = err;\n parseError.response = response;\n parseError.statusCode = response.status;\n parseError.bodyText = bodyText;\n return Promise.reject(parseError);\n }\n })\n .then(function (result) {\n if (response.status >= 300) {\n throwServerError(response, result, \"Response not successful: Received status code \" + response.status);\n }\n if (!Array.isArray(result) &&\n !result.hasOwnProperty('data') &&\n !result.hasOwnProperty('errors')) {\n throwServerError(response, result, \"Server response was missing for query '\" + (Array.isArray(operations)\n ? operations.map(function (op) { return op.operationName; })\n : operations.operationName) + \"'.\");\n }\n return result;\n }));\n}; };\nexport var checkFetcher = function (fetcher) {\n if (!fetcher && typeof fetch === 'undefined') {\n var library = 'unfetch';\n if (typeof window === 'undefined')\n library = 'node-fetch';\n throw new Error(\"\\nfetch is not found globally and no fetcher passed, to fix pass a fetch for\\nyour environment like https://www.npmjs.com/package/\" + library + \".\\n\\nFor example:\\nimport fetch from '\" + library + \"';\\nimport { createHttpLink } from 'apollo-link-http';\\n\\nconst link = createHttpLink({ uri: '/graphql', fetch: fetch });\");\n }\n};\nexport var createSignalIfSupported = function () {\n if (typeof AbortController === 'undefined')\n return { controller: false, signal: false };\n var controller = new AbortController();\n var signal = controller.signal;\n return { controller: controller, signal: signal };\n};\nexport var selectHttpOptionsAndBody = function (operation, fallbackConfig) {\n var configs = [];\n for (var _i = 2; _i < arguments.length; _i++) {\n configs[_i - 2] = arguments[_i];\n }\n var options = __assign({}, fallbackConfig.options, { headers: fallbackConfig.headers, credentials: fallbackConfig.credentials });\n var http = fallbackConfig.http;\n configs.forEach(function (config) {\n options = __assign({}, options, config.options, { headers: __assign({}, options.headers, config.headers) });\n if (config.credentials)\n options.credentials = config.credentials;\n http = __assign({}, http, config.http);\n });\n var operationName = operation.operationName, extensions = operation.extensions, variables = operation.variables, query = operation.query;\n var body = { operationName: operationName, variables: variables };\n if (http.includeExtensions)\n body.extensions = extensions;\n if (http.includeQuery)\n body.query = print(query);\n return {\n options: options,\n body: body,\n };\n};\nexport var serializeFetchParameter = function (p, label) {\n var serialized;\n try {\n serialized = JSON.stringify(p);\n }\n catch (e) {\n var parseError = new Error(\"Network request failed. \" + label + \" is not serializable: \" + e.message);\n parseError.parseError = e;\n throw parseError;\n }\n return serialized;\n};\nexport var selectURI = function (operation, fallbackURI) {\n var context = operation.getContext();\n var contextURI = context.uri;\n if (contextURI) {\n return contextURI;\n }\n else if (typeof fallbackURI === 'function') {\n return fallbackURI(operation);\n }\n else {\n return fallbackURI || '/graphql';\n }\n};\n//# sourceMappingURL=index.js.map"],"sourceRoot":""} \ No newline at end of file