{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./node_modules/core-js/internals/global.js","webpack:///./node_modules/core-js/internals/well-known-symbol.js","webpack:///./node_modules/core-js/internals/fails.js","webpack:///./node_modules/core-js/internals/is-object.js","webpack:///./node_modules/core-js/internals/has.js","webpack:///./node_modules/core-js/internals/an-object.js","webpack:///./node_modules/core-js/internals/descriptors.js","webpack:///./node_modules/core-js/internals/object-define-property.js","webpack:///./node_modules/core-js/internals/create-non-enumerable-property.js","webpack:///./node_modules/core-js/internals/export.js","webpack:///./node_modules/core-js/internals/to-length.js","webpack:///./node_modules/core-js/internals/redefine.js","webpack:///./node_modules/core-js/internals/to-indexed-object.js","webpack:///./node_modules/core-js/internals/to-object.js","webpack:///./node_modules/core-js/internals/classof-raw.js","webpack:///./node_modules/core-js/internals/get-built-in.js","webpack:///./node_modules/es6-promise/dist/es6-promise.js","webpack:///./node_modules/core-js/internals/require-object-coercible.js","webpack:///./node_modules/core-js/internals/create-property-descriptor.js","webpack:///./node_modules/core-js/internals/to-integer.js","webpack:///./node_modules/core-js/internals/object-get-own-property-descriptor.js","webpack:///./node_modules/core-js/internals/to-primitive.js","webpack:///./node_modules/core-js/internals/is-pure.js","webpack:///./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack:///./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack:///./node_modules/@babel/runtime/helpers/esm/objectSpread.js","webpack:///./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack:///./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack:///./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack:///./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack:///./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack:///./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack:///./node_modules/i18next/dist/esm/i18next.js","webpack:///./app/javascript/packs/locales/i18next.ts","webpack:///./app/javascript/packs/locales/ja.ts","webpack:///./app/javascript/packs/locales/en.ts","webpack:///./node_modules/core-js/internals/shared-store.js","webpack:///./node_modules/core-js/internals/hidden-keys.js","webpack:///./node_modules/core-js/internals/set-global.js","webpack:///./node_modules/core-js/internals/internal-state.js","webpack:///./node_modules/core-js/internals/engine-v8-version.js","webpack:///./node_modules/core-js/internals/shared.js","webpack:///./node_modules/core-js/internals/a-function.js","webpack:///./node_modules/core-js/internals/shared-key.js","webpack:///./node_modules/core-js/internals/inspect-source.js","webpack:///./node_modules/core-js/internals/function-bind-context.js","webpack:///(webpack)/buildin/global.js","webpack:///./node_modules/core-js/internals/uid.js","webpack:///./node_modules/core-js/internals/enum-bug-keys.js","webpack:///./node_modules/core-js/internals/native-symbol.js","webpack:///./node_modules/core-js/internals/document-create-element.js","webpack:///./node_modules/core-js/internals/is-array.js","webpack:///./node_modules/core-js/internals/indexed-object.js","webpack:///./node_modules/core-js/internals/engine-user-agent.js","webpack:///./node_modules/core-js/internals/ie8-dom-define.js","webpack:///./node_modules/core-js/internals/object-get-own-property-names.js","webpack:///./node_modules/core-js/internals/array-iteration.js","webpack:///./node_modules/core-js/internals/is-forced.js","webpack:///./node_modules/core-js/internals/object-create.js","webpack:///./node_modules/core-js/internals/object-keys-internal.js","webpack:///./node_modules/core-js/internals/object-property-is-enumerable.js","webpack:///./node_modules/core-js/internals/array-method-has-species-support.js","webpack:///./node_modules/core-js/internals/object-get-own-property-symbols.js","webpack:///./node_modules/core-js/internals/to-absolute-index.js","webpack:///./node_modules/core-js/internals/path.js","webpack:///./node_modules/core-js/internals/array-species-create.js","webpack:///./node_modules/core-js/internals/create-property.js","webpack:///./node_modules/core-js/internals/use-symbol-as-uid.js","webpack:///./node_modules/core-js/internals/object-set-prototype-of.js","webpack:///./node_modules/core-js/internals/copy-constructor-properties.js","webpack:///./node_modules/core-js/internals/object-keys.js","webpack:///./node_modules/process/browser.js","webpack:///./node_modules/core-js/internals/html.js","webpack:///./node_modules/core-js/internals/array-includes.js","webpack:///./node_modules/core-js/internals/native-weak-map.js","webpack:///./node_modules/core-js/internals/own-keys.js","webpack:///./node_modules/core-js/internals/a-possible-prototype.js","webpack:///./node_modules/core-js/internals/object-define-properties.js","webpack:///./node_modules/core-js/internals/array-method-is-strict.js","webpack:///./node_modules/core-js/modules/es.array.concat.js","webpack:///./node_modules/@babel/runtime/helpers/typeof.js","webpack:///./node_modules/core-js/internals/whitespaces.js","webpack:///./node_modules/core-js/internals/string-trim.js","webpack:///./node_modules/core-js/modules/es.array.map.js","webpack:///./node_modules/core-js/internals/inherit-if-required.js","webpack:///./node_modules/core-js/modules/es.array.filter.js","webpack:///./node_modules/core-js/modules/es.number.constructor.js","webpack:///./node_modules/core-js/internals/object-assign.js","webpack:///./node_modules/core-js/modules/es.object.assign.js","webpack:///./node_modules/core-js/modules/es.array.join.js","webpack:///./app/javascript/packs/entries/embed/StockChart.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","it","Math","check","globalThis","window","self","global","this","Function","shared","has","uid","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","exec","error","toObject","hasOwn","isObject","TypeError","String","fails","DESCRIPTORS","IE8_DOM_DEFINE","anObject","toPrimitive","$defineProperty","f","O","P","Attributes","definePropertyModule","createPropertyDescriptor","getOwnPropertyDescriptor","createNonEnumerableProperty","redefine","setGlobal","copyConstructorProperties","isForced","options","source","target","targetProperty","sourceProperty","descriptor","TARGET","GLOBAL","STATIC","stat","noTargetGet","forced","undefined","sham","toInteger","min","argument","inspectSource","InternalStateModule","getInternalState","enforceInternalState","enforce","TEMPLATE","split","state","unsafe","simple","join","IndexedObject","requireObjectCoercible","toString","slice","path","aFunction","variable","namespace","method","arguments","length","factory","_typeof","iterator","obj","constructor","isFunction","x","isArray","Array","len","vertxNext","customSchedulerFn","asap","callback","arg","queue","flush","scheduleFlush","browserWindow","browserGlobal","BrowserMutationObserver","MutationObserver","WebKitMutationObserver","isNode","process","isWorker","Uint8ClampedArray","importScripts","MessageChannel","useSetTimeout","globalSetTimeout","setTimeout","channel","iterations","observer","node","then","onFulfillment","onRejection","parent","child","noop","PROMISE_ID","makePromise","_state","invokeCallback","_result","subscribe","resolve$1","promise","resolve","nextTick","document","createTextNode","observe","characterData","data","port1","onmessage","port2","postMessage","vertx","require","runOnLoop","runOnContext","e","attemptVertx","random","substring","PENDING","handleMaybeThenable","maybeThenable","then$$1","thenable","fulfill","reject","reason","handleOwnThenable","sealed","fulfillmentHandler","rejectionHandler","tryThen","_label","handleForeignThenable","type","publishRejection","_onerror","publish","_subscribers","subscribers","settled","detail","hasCallback","succeeded","id","Enumerator","Constructor","input","_instanceConstructor","_remaining","_enumerate","Error","_eachEntry","entry","resolve$$1","_then","didError","_settledAt","Promise$1","_willSettleAt","enumerator","Promise","resolver","needsResolver","initializePromise","needsNew","catch","finally","all","entries","race","_","_setScheduler","scheduleFn","_setAsap","asapFn","_asap","polyfill","local","promiseToString","cast","bitmap","configurable","writable","ceil","floor","isNaN","propertyIsEnumerableModule","toIndexedObject","$getOwnPropertyDescriptor","PREFERRED_STRING","fn","val","valueOf","_defineProperty","_objectSpread","ownKeys","keys","getOwnPropertySymbols","concat","filter","sym","forEach","_classCallCheck","instance","_defineProperties","props","_createClass","protoProps","staticProps","_assertThisInitialized","ReferenceError","_possibleConstructorReturn","_getPrototypeOf","setPrototypeOf","getPrototypeOf","__proto__","_setPrototypeOf","_inherits","subClass","superClass","_Promise","consoleLogger","log","args","output","warn","console","apply","baseLogger","Logger","concreteLogger","init","prefix","logger","debug","bool","_len","_key","forward","_len2","_key2","_len3","_key3","_len4","_key4","lvl","debugOnly","moduleName","EventEmitter","observers","events","listener","_this","event","push","cloned","_cloned","defer","res","rej","makeString","a","getLastOfPath","Empty","cleanKey","indexOf","replace","canNotTraverseDeeper","stack","shift","k","setPath","newValue","_getLastOfPath","getPath","_getLastOfPath3","getPathWithDefaults","defaultData","deepExtend","overwrite","prop","regexEscape","str","_entityMap","isIE10","navigator","userAgent","deepFind","keySeparator","paths","current","j","mix","joinedPath","_EventEmitter","ResourceStore","defaultNS","ignoreJSONStructure","index","splice","lng","result","silent","addNamespaces","emit","resources","addResource","deep","pack","hasResourceBundle","removeNamespaces","getResource","compatibilityAPI","postProcessor","processors","addPostProcessor","handle","translator","processor","checkedLoadedFor","Translator","services","language","interpolation","resolved","nsSeparator","namespaces","match","interpolator","nestingRegexp","parts","lastKey","_this2","overloadTranslationOptionHandler","_this$extractFromKey","extractFromKey","appendNamespaceToCIMode","toLowerCase","resUsedKey","usedKey","resExactUsedKey","exactUsedKey","resType","noObject","joinArrays","handleAsObjectInI18nFormat","i18nFormat","handleAsObject","returnObjects","returnedObjectHandler","resTypeIsArray","copy","newKeyToUse","deepKey","translate","extendTranslation","usedDefault","needsPluralHandling","count","hasDefaultValue","defaultValueSuffix","pluralResolver","getSuffix","defaultValue","isValidLookup","updateMissing","fk","lngs","fallbackLngs","languageUtils","getFallbackCodes","fallbackLng","saveMissingTo","toResolveHierarchy","send","fallbackValue","missingKeyHandler","backendConnector","saveMissing","saveMissingPlurals","getSuffixes","suffix","appendNamespaceToMissingKey","parseMissingKeyHandler","_this3","parse","usedLng","usedNS","skipInterpolation","nestBef","skipOnVariables","nb","defaultVariables","interpolate","na","nest","context","reset","postProcess","postProcessorNames","applyPostProcessor","postProcessPassResolved","i18nResolved","found","_this4","extracted","fallbackNS","needsContextHandling","codes","utils","hasLoadedNamespace","code","pluralSuffix","possibleKey","finalKey","finalKeys","addLookupKeys","contextSeparator","pop","returnNull","returnEmptyString","resourceStore","option","capitalize","string","charAt","toUpperCase","LanguageUtil","whitelist","supportedLngs","formatLanguageCode","specialCases","lowerCaseLng","map","part","cleanCode","deprecate","isSupportedCode","load","nonExplicitSupportedLngs","getLanguagePartFromCode","cleanedLng","lngOnly","find","supportedLng","fallbacks","getScriptPartFromCode","fallbackCode","fallbackCodes","addCode","fc","sets","nr","_rulesPluralsTypes","1","Number","2","3","4","5","6","7","8","9","10","11","12","13","14","15","16","17","18","19","20","21","22","createRules","rules","set","numbers","plurals","PluralResolver","rule","getRule","number","idx","noAbs","abs","simplifyPluralSuffix","returnSuffix","prepend","compatibilityJSON","Interpolator","format","escapeValue","iOpts","escape","useRawValueToEscape","prefixEscaped","suffixEscaped","formatSeparator","unescapePrefix","unescapeSuffix","nestingPrefix","nestingPrefixEscaped","nestingSuffix","nestingSuffixEscaped","nestingOptionsSeparator","maxReplaces","alwaysFormat","resetRegExp","regexpStr","regexp","RegExp","regexpUnescapeStr","regexpUnescape","nestingRegexpStr","replaces","regexSafe","handleFormat","interpolationkey","trim","missingInterpolationHandler","regex","safeValue","todo","temp","lastIndex","clonedOptions","handleHasOptions","inheritedOptions","sep","optionsString","JSON","formatters","doReduce","test","elem","reduce","v","Connector","backend","store","languages","toLoad","pending","toLoadLanguages","toLoadNamespaces","hasAllNamespaces","reload","loaded","errors","err","addResourceBundle","q","_getLastOfPath2","arr","what","remove","done","fcName","tried","wait","read","queueLoad","loadOne","prepareLoading","_this5","isUpdate","initImmediate","nonExplicitWhitelist","preload","pluralSeparator","partialBundledLanguages","ret","tDescription","_format","transformOptions","I18n","external","isInitialized","isClone","createClassOnDemand","ClassOrObject","lu","on","languageDetector","detection","storeApi","_this2$store","storeApiChained","_this2$store2","deferred","finish","changeLanguage","usedCallback","append","isLanguageChangingTo","setLng","getBestMatchFromCodes","cacheUserLanguage","loadResources","async","detect","fixedT","opts","rest","_this$translator","_this$translator2","exists","_this6","lastLng","loadNotPending","loadState","precheck","preResult","_this7","preloaded","newLngs","_this8","mergedOptions","clone","membersToCopy","i18next","documentElement","lang","ja","translation","memo","draftRevived","draftRevived2","save","draft_save","title","title_blank","message","memo_tag","brand","investment","sign","redIncrease","redDecrease","changeRed","changeBlack","histogram","yourEst","consensus","alertText","chat","banner","placeHolder","submitBtn","BBS","DM","follow","follower","createChannel","promptMsg","alert","channelUser","addChannelUser","deleteChannel","deleteMessage","transmissionTime","aFewSecondAgo","secondsAgo","withinOneMinute","minutesAgo","withinOneHour","hoursAgo","yesterday","daysAgo","ticker","targetPrice","addTickerToCoverage","alreadyAdded","notExist","stockChart","titleUs","yAxis","label","JP","US","billion","yen","barType","revenue","gp","op","ebt","income","dps","targetStockList","targetDate","stock","tpHi","tpLow","btn","saved","delete","eitherOneHasValue","maximumGreaterThanMinimum","moreMinorityOrLess","blankTargetData","afterToday","upToFiveYears","alreadyExist","failedToSave","failedToDelete","trackerChart","actual","guidance","fix","estimation","published_at","rp","eps","relativeChart","blank","takingLonger","customIndex","calculating","update","selectBox","added","deleted","flash","finishCalculation","failedCalucualtion","graph","xAxis","tooltip","embed","sc","profitType","financials","thHover","close","open","longTermEstimation","saving","failed","validation","blankTerm","team","team_members","team_name","privilege","gyoseki_id","status","lock","show_members","showing_members","en","SHARED","NATIVE_WEAK_MAP","objectHas","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","wmget","wmhas","wmset","metadata","facade","STATE","getterFor","TYPE","version","versions","v8","IS_PURE","copyright","functionToString","that","b","g","postfix","V8_VERSION","symbol","EXISTS","createElement","classof","propertyIsEnumerable","getBuiltIn","internalObjectKeys","getOwnPropertyNames","toLength","arraySpeciesCreate","createMethod","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_OUT","NO_HOLES","$this","callbackfn","specificCreate","boundFunction","some","every","findIndex","filterOut","replacement","feature","normalize","POLYFILL","NATIVE","activeXDocument","defineProperties","enumBugKeys","html","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObject","domain","ActiveXObject","iframeDocument","iframe","write","parentWindow","NullProtoObjectViaActiveX","style","display","appendChild","src","contentWindow","F","Properties","names","$propertyIsEnumerable","NASHORN_BUG","V","wellKnownSymbol","SPECIES","METHOD_NAME","array","foo","Boolean","max","integer","originalArray","C","propertyKey","aPossiblePrototype","setter","CORRECT_SETTER","proto","getOwnPropertyDescriptorModule","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","clearTimeout","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","timeout","run","marker","runClearTimeout","Item","browser","env","argv","addListener","once","off","removeListener","removeAllListeners","prependListener","prependOnceListener","listeners","binding","cwd","chdir","dir","umask","toAbsoluteIndex","IS_INCLUDES","el","fromIndex","includes","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","objectKeys","$","createProperty","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","E","A","whitespace","ltrim","rtrim","start","end","$map","dummy","Wrapper","NewTarget","NewTargetPrototype","$filter","inheritIfRequired","NUMBER","NativeNumber","NumberPrototype","BROKEN_CLASSOF","toNumber","first","third","radix","maxCode","digits","charCodeAt","NaN","parseInt","NumberWrapper","$assign","assign","B","alphabet","chr","T","argumentsLength","S","arrayMethodIsStrict","nativeJoin","ES3_STRINGS","STRICT_METHOD","separator","dateTimeParser","d3","timeParse","dateParser","datasets","gon","stock_chart","stock_values","date","profit","bar_data","start_date","end_date","profit_type","bar_type","beforeDataset","wrapperElem","getElementById","calcFontSize","width","renderChart","baseDatasets","clientWidth","margin","top","right","bottom","left","calcMargin","height","clientHeight","y2label","y","y2","x2","defined","curve","curveLinear","marginTop","marginRight","marginBottom","marginLeft","xType","scaleUtc","xDomain","xRange","yType","scaleLinear","yDomain","y2Domain","yRange","y2Range","chartBgColor","lineColor","barActColor","barEstColor","barMinusColor","axisStringColor","axisFontSize","strokeWidth","strokeLinejoin","strokeLinecap","yFormat","yLabel","y2Label","X","X2","Y","Y2","I","D","checkMin","minNum","minY","maxY","xScale","yScale","y2Scale","axisBottom","ticks","tickSizeOuter","axisLeft","y2Axis","axisRight","stockLine","line","svg","attr","select","text","barTooltip","timeFormat","barPointerMoved","pageY","pageX","selectAll","LineChart","addEventListener","querySelector"],"mappings":"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","file":"js/embed/StockChart-269fb79565a475e5d29d.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 = \"/packs/\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 288);\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/*!\n * @overview es6-promise - a tiny implementation of Promises/A+.\n * @copyright Copyright (c) 2014 Yehuda Katz, Tom Dale, Stefan Penner and contributors (Conversion to ES6 API by Jake Archibald)\n * @license Licensed under MIT license\n * See https://raw.githubusercontent.com/stefanpenner/es6-promise/master/LICENSE\n * @version v4.2.8+1e68dce6\n */\n(function (global, factory) {\n (typeof exports === \"undefined\" ? \"undefined\" : _typeof(exports)) === 'object' && typeof module !== 'undefined' ? module.exports = factory() : typeof define === 'function' && define.amd ? define(factory) : global.ES6Promise = factory();\n})(this, function () {\n 'use strict';\n\n function objectOrFunction(x) {\n var type = _typeof(x);\n\n return x !== null && (type === 'object' || type === 'function');\n }\n\n function isFunction(x) {\n return typeof x === 'function';\n }\n\n var _isArray = void 0;\n\n if (Array.isArray) {\n _isArray = Array.isArray;\n } else {\n _isArray = function _isArray(x) {\n return Object.prototype.toString.call(x) === '[object Array]';\n };\n }\n\n var isArray = _isArray;\n var len = 0;\n var vertxNext = void 0;\n var customSchedulerFn = void 0;\n\n var asap = function asap(callback, arg) {\n queue[len] = callback;\n queue[len + 1] = arg;\n len += 2;\n\n if (len === 2) {\n // If len is 2, that means that we need to schedule an async flush.\n // If additional callbacks are queued before the queue is flushed, they\n // will be processed by this flush that we are scheduling.\n if (customSchedulerFn) {\n customSchedulerFn(flush);\n } else {\n scheduleFlush();\n }\n }\n };\n\n function setScheduler(scheduleFn) {\n customSchedulerFn = scheduleFn;\n }\n\n function setAsap(asapFn) {\n asap = asapFn;\n }\n\n var browserWindow = typeof window !== 'undefined' ? window : undefined;\n var browserGlobal = browserWindow || {};\n var BrowserMutationObserver = browserGlobal.MutationObserver || browserGlobal.WebKitMutationObserver;\n var isNode = typeof self === 'undefined' && typeof process !== 'undefined' && {}.toString.call(process) === '[object process]'; // test for web worker but not in IE10\n\n var isWorker = typeof Uint8ClampedArray !== 'undefined' && typeof importScripts !== 'undefined' && typeof MessageChannel !== 'undefined'; // node\n\n function useNextTick() {\n // node version 0.10.x displays a deprecation warning when nextTick is used recursively\n // see https://github.com/cujojs/when/issues/410 for details\n return function () {\n return process.nextTick(flush);\n };\n } // vertx\n\n\n function useVertxTimer() {\n if (typeof vertxNext !== 'undefined') {\n return function () {\n vertxNext(flush);\n };\n }\n\n return useSetTimeout();\n }\n\n function useMutationObserver() {\n var iterations = 0;\n var observer = new BrowserMutationObserver(flush);\n var node = document.createTextNode('');\n observer.observe(node, {\n characterData: true\n });\n return function () {\n node.data = iterations = ++iterations % 2;\n };\n } // web worker\n\n\n function useMessageChannel() {\n var channel = new MessageChannel();\n channel.port1.onmessage = flush;\n return function () {\n return channel.port2.postMessage(0);\n };\n }\n\n function useSetTimeout() {\n // Store setTimeout reference so es6-promise will be unaffected by\n // other code modifying setTimeout (like sinon.useFakeTimers())\n var globalSetTimeout = setTimeout;\n return function () {\n return globalSetTimeout(flush, 1);\n };\n }\n\n var queue = new Array(1000);\n\n function flush() {\n for (var i = 0; i < len; i += 2) {\n var callback = queue[i];\n var arg = queue[i + 1];\n callback(arg);\n queue[i] = undefined;\n queue[i + 1] = undefined;\n }\n\n len = 0;\n }\n\n function attemptVertx() {\n try {\n var vertx = Function('return this')().require('vertx');\n\n vertxNext = vertx.runOnLoop || vertx.runOnContext;\n return useVertxTimer();\n } catch (e) {\n return useSetTimeout();\n }\n }\n\n var scheduleFlush = void 0; // Decide what async method to use to triggering processing of queued callbacks:\n\n if (isNode) {\n scheduleFlush = useNextTick();\n } else if (BrowserMutationObserver) {\n scheduleFlush = useMutationObserver();\n } else if (isWorker) {\n scheduleFlush = useMessageChannel();\n } else if (browserWindow === undefined && typeof require === 'function') {\n scheduleFlush = attemptVertx();\n } else {\n scheduleFlush = useSetTimeout();\n }\n\n function then(onFulfillment, onRejection) {\n var parent = this;\n var child = new this.constructor(noop);\n\n if (child[PROMISE_ID] === undefined) {\n makePromise(child);\n }\n\n var _state = parent._state;\n\n if (_state) {\n var callback = arguments[_state - 1];\n asap(function () {\n return invokeCallback(_state, child, callback, parent._result);\n });\n } else {\n subscribe(parent, child, onFulfillment, onRejection);\n }\n\n return child;\n }\n /**\n `Promise.resolve` returns a promise that will become resolved with the\n passed `value`. It is shorthand for the following:\n \n ```javascript\n let promise = new Promise(function(resolve, reject){\n resolve(1);\n });\n \n promise.then(function(value){\n // value === 1\n });\n ```\n \n Instead of writing the above, your code now simply becomes the following:\n \n ```javascript\n let promise = Promise.resolve(1);\n \n promise.then(function(value){\n // value === 1\n });\n ```\n \n @method resolve\n @static\n @param {Any} value value that the returned promise will be resolved with\n Useful for tooling.\n @return {Promise} a promise that will become fulfilled with the given\n `value`\n */\n\n\n function resolve$1(object) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (object && _typeof(object) === 'object' && object.constructor === Constructor) {\n return object;\n }\n\n var promise = new Constructor(noop);\n resolve(promise, object);\n return promise;\n }\n\n var PROMISE_ID = Math.random().toString(36).substring(2);\n\n function noop() {}\n\n var PENDING = void 0;\n var FULFILLED = 1;\n var REJECTED = 2;\n\n function selfFulfillment() {\n return new TypeError(\"You cannot resolve a promise with itself\");\n }\n\n function cannotReturnOwn() {\n return new TypeError('A promises callback cannot return that same promise.');\n }\n\n function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {\n try {\n then$$1.call(value, fulfillmentHandler, rejectionHandler);\n } catch (e) {\n return e;\n }\n }\n\n function handleForeignThenable(promise, thenable, then$$1) {\n asap(function (promise) {\n var sealed = false;\n var error = tryThen(then$$1, thenable, function (value) {\n if (sealed) {\n return;\n }\n\n sealed = true;\n\n if (thenable !== value) {\n resolve(promise, value);\n } else {\n fulfill(promise, value);\n }\n }, function (reason) {\n if (sealed) {\n return;\n }\n\n sealed = true;\n reject(promise, reason);\n }, 'Settle: ' + (promise._label || ' unknown promise'));\n\n if (!sealed && error) {\n sealed = true;\n reject(promise, error);\n }\n }, promise);\n }\n\n function handleOwnThenable(promise, thenable) {\n if (thenable._state === FULFILLED) {\n fulfill(promise, thenable._result);\n } else if (thenable._state === REJECTED) {\n reject(promise, thenable._result);\n } else {\n subscribe(thenable, undefined, function (value) {\n return resolve(promise, value);\n }, function (reason) {\n return reject(promise, reason);\n });\n }\n }\n\n function handleMaybeThenable(promise, maybeThenable, then$$1) {\n if (maybeThenable.constructor === promise.constructor && then$$1 === then && maybeThenable.constructor.resolve === resolve$1) {\n handleOwnThenable(promise, maybeThenable);\n } else {\n if (then$$1 === undefined) {\n fulfill(promise, maybeThenable);\n } else if (isFunction(then$$1)) {\n handleForeignThenable(promise, maybeThenable, then$$1);\n } else {\n fulfill(promise, maybeThenable);\n }\n }\n }\n\n function resolve(promise, value) {\n if (promise === value) {\n reject(promise, selfFulfillment());\n } else if (objectOrFunction(value)) {\n var then$$1 = void 0;\n\n try {\n then$$1 = value.then;\n } catch (error) {\n reject(promise, error);\n return;\n }\n\n handleMaybeThenable(promise, value, then$$1);\n } else {\n fulfill(promise, value);\n }\n }\n\n function publishRejection(promise) {\n if (promise._onerror) {\n promise._onerror(promise._result);\n }\n\n publish(promise);\n }\n\n function fulfill(promise, value) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._result = value;\n promise._state = FULFILLED;\n\n if (promise._subscribers.length !== 0) {\n asap(publish, promise);\n }\n }\n\n function reject(promise, reason) {\n if (promise._state !== PENDING) {\n return;\n }\n\n promise._state = REJECTED;\n promise._result = reason;\n asap(publishRejection, promise);\n }\n\n function subscribe(parent, child, onFulfillment, onRejection) {\n var _subscribers = parent._subscribers;\n var length = _subscribers.length;\n parent._onerror = null;\n _subscribers[length] = child;\n _subscribers[length + FULFILLED] = onFulfillment;\n _subscribers[length + REJECTED] = onRejection;\n\n if (length === 0 && parent._state) {\n asap(publish, parent);\n }\n }\n\n function publish(promise) {\n var subscribers = promise._subscribers;\n var settled = promise._state;\n\n if (subscribers.length === 0) {\n return;\n }\n\n var child = void 0,\n callback = void 0,\n detail = promise._result;\n\n for (var i = 0; i < subscribers.length; i += 3) {\n child = subscribers[i];\n callback = subscribers[i + settled];\n\n if (child) {\n invokeCallback(settled, child, callback, detail);\n } else {\n callback(detail);\n }\n }\n\n promise._subscribers.length = 0;\n }\n\n function invokeCallback(settled, promise, callback, detail) {\n var hasCallback = isFunction(callback),\n value = void 0,\n error = void 0,\n succeeded = true;\n\n if (hasCallback) {\n try {\n value = callback(detail);\n } catch (e) {\n succeeded = false;\n error = e;\n }\n\n if (promise === value) {\n reject(promise, cannotReturnOwn());\n return;\n }\n } else {\n value = detail;\n }\n\n if (promise._state !== PENDING) {// noop\n } else if (hasCallback && succeeded) {\n resolve(promise, value);\n } else if (succeeded === false) {\n reject(promise, error);\n } else if (settled === FULFILLED) {\n fulfill(promise, value);\n } else if (settled === REJECTED) {\n reject(promise, value);\n }\n }\n\n function initializePromise(promise, resolver) {\n try {\n resolver(function resolvePromise(value) {\n resolve(promise, value);\n }, function rejectPromise(reason) {\n reject(promise, reason);\n });\n } catch (e) {\n reject(promise, e);\n }\n }\n\n var id = 0;\n\n function nextId() {\n return id++;\n }\n\n function makePromise(promise) {\n promise[PROMISE_ID] = id++;\n promise._state = undefined;\n promise._result = undefined;\n promise._subscribers = [];\n }\n\n function validationError() {\n return new Error('Array Methods must be provided an Array');\n }\n\n var Enumerator = function () {\n function Enumerator(Constructor, input) {\n this._instanceConstructor = Constructor;\n this.promise = new Constructor(noop);\n\n if (!this.promise[PROMISE_ID]) {\n makePromise(this.promise);\n }\n\n if (isArray(input)) {\n this.length = input.length;\n this._remaining = input.length;\n this._result = new Array(this.length);\n\n if (this.length === 0) {\n fulfill(this.promise, this._result);\n } else {\n this.length = this.length || 0;\n\n this._enumerate(input);\n\n if (this._remaining === 0) {\n fulfill(this.promise, this._result);\n }\n }\n } else {\n reject(this.promise, validationError());\n }\n }\n\n Enumerator.prototype._enumerate = function _enumerate(input) {\n for (var i = 0; this._state === PENDING && i < input.length; i++) {\n this._eachEntry(input[i], i);\n }\n };\n\n Enumerator.prototype._eachEntry = function _eachEntry(entry, i) {\n var c = this._instanceConstructor;\n var resolve$$1 = c.resolve;\n\n if (resolve$$1 === resolve$1) {\n var _then = void 0;\n\n var error = void 0;\n var didError = false;\n\n try {\n _then = entry.then;\n } catch (e) {\n didError = true;\n error = e;\n }\n\n if (_then === then && entry._state !== PENDING) {\n this._settledAt(entry._state, i, entry._result);\n } else if (typeof _then !== 'function') {\n this._remaining--;\n this._result[i] = entry;\n } else if (c === Promise$1) {\n var promise = new c(noop);\n\n if (didError) {\n reject(promise, error);\n } else {\n handleMaybeThenable(promise, entry, _then);\n }\n\n this._willSettleAt(promise, i);\n } else {\n this._willSettleAt(new c(function (resolve$$1) {\n return resolve$$1(entry);\n }), i);\n }\n } else {\n this._willSettleAt(resolve$$1(entry), i);\n }\n };\n\n Enumerator.prototype._settledAt = function _settledAt(state, i, value) {\n var promise = this.promise;\n\n if (promise._state === PENDING) {\n this._remaining--;\n\n if (state === REJECTED) {\n reject(promise, value);\n } else {\n this._result[i] = value;\n }\n }\n\n if (this._remaining === 0) {\n fulfill(promise, this._result);\n }\n };\n\n Enumerator.prototype._willSettleAt = function _willSettleAt(promise, i) {\n var enumerator = this;\n subscribe(promise, undefined, function (value) {\n return enumerator._settledAt(FULFILLED, i, value);\n }, function (reason) {\n return enumerator._settledAt(REJECTED, i, reason);\n });\n };\n\n return Enumerator;\n }();\n /**\n `Promise.all` accepts an array of promises, and returns a new promise which\n is fulfilled with an array of fulfillment values for the passed promises, or\n rejected with the reason of the first passed promise to be rejected. It casts all\n elements of the passed iterable to promises as it runs this algorithm.\n \n Example:\n \n ```javascript\n let promise1 = resolve(1);\n let promise2 = resolve(2);\n let promise3 = resolve(3);\n let promises = [ promise1, promise2, promise3 ];\n \n Promise.all(promises).then(function(array){\n // The array here would be [ 1, 2, 3 ];\n });\n ```\n \n If any of the `promises` given to `all` are rejected, the first promise\n that is rejected will be given as an argument to the returned promises's\n rejection handler. For example:\n \n Example:\n \n ```javascript\n let promise1 = resolve(1);\n let promise2 = reject(new Error(\"2\"));\n let promise3 = reject(new Error(\"3\"));\n let promises = [ promise1, promise2, promise3 ];\n \n Promise.all(promises).then(function(array){\n // Code here never runs because there are rejected promises!\n }, function(error) {\n // error.message === \"2\"\n });\n ```\n \n @method all\n @static\n @param {Array} entries array of promises\n @param {String} label optional string for labeling the promise.\n Useful for tooling.\n @return {Promise} promise that is fulfilled when all `promises` have been\n fulfilled, or rejected if any of them become rejected.\n @static\n */\n\n\n function all(entries) {\n return new Enumerator(this, entries).promise;\n }\n /**\n `Promise.race` returns a new promise which is settled in the same way as the\n first passed promise to settle.\n \n Example:\n \n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n \n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 2');\n }, 100);\n });\n \n Promise.race([promise1, promise2]).then(function(result){\n // result === 'promise 2' because it was resolved before promise1\n // was resolved.\n });\n ```\n \n `Promise.race` is deterministic in that only the state of the first\n settled promise matters. For example, even if other promises given to the\n `promises` array argument are resolved, but the first settled promise has\n become rejected before the other promises became fulfilled, the returned\n promise will become rejected:\n \n ```javascript\n let promise1 = new Promise(function(resolve, reject){\n setTimeout(function(){\n resolve('promise 1');\n }, 200);\n });\n \n let promise2 = new Promise(function(resolve, reject){\n setTimeout(function(){\n reject(new Error('promise 2'));\n }, 100);\n });\n \n Promise.race([promise1, promise2]).then(function(result){\n // Code here never runs\n }, function(reason){\n // reason.message === 'promise 2' because promise 2 became rejected before\n // promise 1 became fulfilled\n });\n ```\n \n An example real-world use case is implementing timeouts:\n \n ```javascript\n Promise.race([ajax('foo.json'), timeout(5000)])\n ```\n \n @method race\n @static\n @param {Array} promises array of promises to observe\n Useful for tooling.\n @return {Promise} a promise which settles in the same way as the first passed\n promise to settle.\n */\n\n\n function race(entries) {\n /*jshint validthis:true */\n var Constructor = this;\n\n if (!isArray(entries)) {\n return new Constructor(function (_, reject) {\n return reject(new TypeError('You must pass an array to race.'));\n });\n } else {\n return new Constructor(function (resolve, reject) {\n var length = entries.length;\n\n for (var i = 0; i < length; i++) {\n Constructor.resolve(entries[i]).then(resolve, reject);\n }\n });\n }\n }\n /**\n `Promise.reject` returns a promise rejected with the passed `reason`.\n It is shorthand for the following:\n \n ```javascript\n let promise = new Promise(function(resolve, reject){\n reject(new Error('WHOOPS'));\n });\n \n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n \n Instead of writing the above, your code now simply becomes the following:\n \n ```javascript\n let promise = Promise.reject(new Error('WHOOPS'));\n \n promise.then(function(value){\n // Code here doesn't run because the promise is rejected!\n }, function(reason){\n // reason.message === 'WHOOPS'\n });\n ```\n \n @method reject\n @static\n @param {Any} reason value that the returned promise will be rejected with.\n Useful for tooling.\n @return {Promise} a promise rejected with the given `reason`.\n */\n\n\n function reject$1(reason) {\n /*jshint validthis:true */\n var Constructor = this;\n var promise = new Constructor(noop);\n reject(promise, reason);\n return promise;\n }\n\n function needsResolver() {\n throw new TypeError('You must pass a resolver function as the first argument to the promise constructor');\n }\n\n function needsNew() {\n throw new TypeError(\"Failed to construct 'Promise': Please use the 'new' operator, this object constructor cannot be called as a function.\");\n }\n /**\n Promise objects represent the eventual result of an asynchronous operation. The\n primary way of interacting with a promise is through its `then` method, which\n registers callbacks to receive either a promise's eventual value or the reason\n why the promise cannot be fulfilled.\n \n Terminology\n -----------\n \n - `promise` is an object or function with a `then` method whose behavior conforms to this specification.\n - `thenable` is an object or function that defines a `then` method.\n - `value` is any legal JavaScript value (including undefined, a thenable, or a promise).\n - `exception` is a value that is thrown using the throw statement.\n - `reason` is a value that indicates why a promise was rejected.\n - `settled` the final resting state of a promise, fulfilled or rejected.\n \n A promise can be in one of three states: pending, fulfilled, or rejected.\n \n Promises that are fulfilled have a fulfillment value and are in the fulfilled\n state. Promises that are rejected have a rejection reason and are in the\n rejected state. A fulfillment value is never a thenable.\n \n Promises can also be said to *resolve* a value. If this value is also a\n promise, then the original promise's settled state will match the value's\n settled state. So a promise that *resolves* a promise that rejects will\n itself reject, and a promise that *resolves* a promise that fulfills will\n itself fulfill.\n \n \n Basic Usage:\n ------------\n \n ```js\n let promise = new Promise(function(resolve, reject) {\n // on success\n resolve(value);\n \n // on failure\n reject(reason);\n });\n \n promise.then(function(value) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n \n Advanced Usage:\n ---------------\n \n Promises shine when abstracting away asynchronous interactions such as\n `XMLHttpRequest`s.\n \n ```js\n function getJSON(url) {\n return new Promise(function(resolve, reject){\n let xhr = new XMLHttpRequest();\n \n xhr.open('GET', url);\n xhr.onreadystatechange = handler;\n xhr.responseType = 'json';\n xhr.setRequestHeader('Accept', 'application/json');\n xhr.send();\n \n function handler() {\n if (this.readyState === this.DONE) {\n if (this.status === 200) {\n resolve(this.response);\n } else {\n reject(new Error('getJSON: `' + url + '` failed with status: [' + this.status + ']'));\n }\n }\n };\n });\n }\n \n getJSON('/posts.json').then(function(json) {\n // on fulfillment\n }, function(reason) {\n // on rejection\n });\n ```\n \n Unlike callbacks, promises are great composable primitives.\n \n ```js\n Promise.all([\n getJSON('/posts'),\n getJSON('/comments')\n ]).then(function(values){\n values[0] // => postsJSON\n values[1] // => commentsJSON\n \n return values;\n });\n ```\n \n @class Promise\n @param {Function} resolver\n Useful for tooling.\n @constructor\n */\n\n\n var Promise$1 = function () {\n function Promise(resolver) {\n this[PROMISE_ID] = nextId();\n this._result = this._state = undefined;\n this._subscribers = [];\n\n if (noop !== resolver) {\n typeof resolver !== 'function' && needsResolver();\n this instanceof Promise ? initializePromise(this, resolver) : needsNew();\n }\n }\n /**\n The primary way of interacting with a promise is through its `then` method,\n which registers callbacks to receive either a promise's eventual value or the\n reason why the promise cannot be fulfilled.\n ```js\n findUser().then(function(user){\n // user is available\n }, function(reason){\n // user is unavailable, and you are given the reason why\n });\n ```\n Chaining\n --------\n The return value of `then` is itself a promise. This second, 'downstream'\n promise is resolved with the return value of the first promise's fulfillment\n or rejection handler, or rejected if the handler throws an exception.\n ```js\n findUser().then(function (user) {\n return user.name;\n }, function (reason) {\n return 'default name';\n }).then(function (userName) {\n // If `findUser` fulfilled, `userName` will be the user's name, otherwise it\n // will be `'default name'`\n });\n findUser().then(function (user) {\n throw new Error('Found user, but still unhappy');\n }, function (reason) {\n throw new Error('`findUser` rejected and we're unhappy');\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // if `findUser` fulfilled, `reason` will be 'Found user, but still unhappy'.\n // If `findUser` rejected, `reason` will be '`findUser` rejected and we're unhappy'.\n });\n ```\n If the downstream promise does not specify a rejection handler, rejection reasons will be propagated further downstream.\n ```js\n findUser().then(function (user) {\n throw new PedagogicalException('Upstream error');\n }).then(function (value) {\n // never reached\n }).then(function (value) {\n // never reached\n }, function (reason) {\n // The `PedgagocialException` is propagated all the way down to here\n });\n ```\n Assimilation\n ------------\n Sometimes the value you want to propagate to a downstream promise can only be\n retrieved asynchronously. This can be achieved by returning a promise in the\n fulfillment or rejection handler. The downstream promise will then be pending\n until the returned promise is settled. This is called *assimilation*.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // The user's comments are now available\n });\n ```\n If the assimliated promise rejects, then the downstream promise will also reject.\n ```js\n findUser().then(function (user) {\n return findCommentsByAuthor(user);\n }).then(function (comments) {\n // If `findCommentsByAuthor` fulfills, we'll have the value here\n }, function (reason) {\n // If `findCommentsByAuthor` rejects, we'll have the reason here\n });\n ```\n Simple Example\n --------------\n Synchronous Example\n ```javascript\n let result;\n try {\n result = findResult();\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n findResult(function(result, err){\n if (err) {\n // failure\n } else {\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findResult().then(function(result){\n // success\n }, function(reason){\n // failure\n });\n ```\n Advanced Example\n --------------\n Synchronous Example\n ```javascript\n let author, books;\n try {\n author = findAuthor();\n books = findBooksByAuthor(author);\n // success\n } catch(reason) {\n // failure\n }\n ```\n Errback Example\n ```js\n function foundBooks(books) {\n }\n function failure(reason) {\n }\n findAuthor(function(author, err){\n if (err) {\n failure(err);\n // failure\n } else {\n try {\n findBoooksByAuthor(author, function(books, err) {\n if (err) {\n failure(err);\n } else {\n try {\n foundBooks(books);\n } catch(reason) {\n failure(reason);\n }\n }\n });\n } catch(error) {\n failure(err);\n }\n // success\n }\n });\n ```\n Promise Example;\n ```javascript\n findAuthor().\n then(findBooksByAuthor).\n then(function(books){\n // found books\n }).catch(function(reason){\n // something went wrong\n });\n ```\n @method then\n @param {Function} onFulfilled\n @param {Function} onRejected\n Useful for tooling.\n @return {Promise}\n */\n\n /**\n `catch` is simply sugar for `then(undefined, onRejection)` which makes it the same\n as the catch block of a try/catch statement.\n ```js\n function findAuthor(){\n throw new Error('couldn't find that author');\n }\n // synchronous\n try {\n findAuthor();\n } catch(reason) {\n // something went wrong\n }\n // async with promises\n findAuthor().catch(function(reason){\n // something went wrong\n });\n ```\n @method catch\n @param {Function} onRejection\n Useful for tooling.\n @return {Promise}\n */\n\n\n Promise.prototype.catch = function _catch(onRejection) {\n return this.then(null, onRejection);\n };\n /**\n `finally` will be invoked regardless of the promise's fate just as native\n try/catch/finally behaves\n \n Synchronous example:\n \n ```js\n findAuthor() {\n if (Math.random() > 0.5) {\n throw new Error();\n }\n return new Author();\n }\n \n try {\n return findAuthor(); // succeed or fail\n } catch(error) {\n return findOtherAuther();\n } finally {\n // always runs\n // doesn't affect the return value\n }\n ```\n \n Asynchronous example:\n \n ```js\n findAuthor().catch(function(reason){\n return findOtherAuther();\n }).finally(function(){\n // author was either found, or not\n });\n ```\n \n @method finally\n @param {Function} callback\n @return {Promise}\n */\n\n\n Promise.prototype.finally = function _finally(callback) {\n var promise = this;\n var constructor = promise.constructor;\n\n if (isFunction(callback)) {\n return promise.then(function (value) {\n return constructor.resolve(callback()).then(function () {\n return value;\n });\n }, function (reason) {\n return constructor.resolve(callback()).then(function () {\n throw reason;\n });\n });\n }\n\n return promise.then(callback, callback);\n };\n\n return Promise;\n }();\n\n Promise$1.prototype.then = then;\n Promise$1.all = all;\n Promise$1.race = race;\n Promise$1.resolve = resolve$1;\n Promise$1.reject = reject$1;\n Promise$1._setScheduler = setScheduler;\n Promise$1._setAsap = setAsap;\n Promise$1._asap = asap;\n /*global self*/\n\n function polyfill() {\n var local = void 0;\n\n if (typeof global !== 'undefined') {\n local = global;\n } else if (typeof self !== 'undefined') {\n local = self;\n } else {\n try {\n local = Function('return this')();\n } catch (e) {\n throw new Error('polyfill failed because global object is unavailable in this environment');\n }\n }\n\n var P = local.Promise;\n\n if (P) {\n var promiseToString = null;\n\n try {\n promiseToString = Object.prototype.toString.call(P.resolve());\n } catch (e) {// silently ignored\n }\n\n if (promiseToString === '[object Promise]' && !P.cast) {\n return;\n }\n }\n\n local.Promise = Promise$1;\n } // Strange compat..\n\n\n Promise$1.polyfill = polyfill;\n Promise$1.Promise = Promise$1;\n return Promise$1;\n});","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","module.exports = false;\n","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n _typeof = function _typeof(obj) {\n return typeof obj;\n };\n } else {\n _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n }\n\n return _typeof(obj);\n}","export default function _defineProperty(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}","import defineProperty from \"./defineProperty.js\";\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? Object(arguments[i]) : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\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\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n\n return self;\n}","import _typeof from \"@babel/runtime/helpers/typeof\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n }\n\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","var _Promise = typeof Promise === 'undefined' ? require('es6-promise').Promise : Promise;\n\nimport _typeof from '@babel/runtime/helpers/esm/typeof';\nimport _objectSpread from '@babel/runtime/helpers/esm/objectSpread';\nimport _classCallCheck from '@babel/runtime/helpers/esm/classCallCheck';\nimport _createClass from '@babel/runtime/helpers/esm/createClass';\nimport _possibleConstructorReturn from '@babel/runtime/helpers/esm/possibleConstructorReturn';\nimport _getPrototypeOf from '@babel/runtime/helpers/esm/getPrototypeOf';\nimport _assertThisInitialized from '@babel/runtime/helpers/esm/assertThisInitialized';\nimport _inherits from '@babel/runtime/helpers/esm/inherits';\nvar consoleLogger = {\n type: 'logger',\n log: function log(args) {\n this.output('log', args);\n },\n warn: function warn(args) {\n this.output('warn', args);\n },\n error: function error(args) {\n this.output('error', args);\n },\n output: function output(type, args) {\n if (console && console[type]) console[type].apply(console, args);\n }\n};\n\nvar Logger = function () {\n function Logger(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Logger);\n\n this.init(concreteLogger, options);\n }\n\n _createClass(Logger, [{\n key: \"init\",\n value: function init(concreteLogger) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n this.prefix = options.prefix || 'i18next:';\n this.logger = concreteLogger || consoleLogger;\n this.options = options;\n this.debug = options.debug;\n }\n }, {\n key: \"setDebug\",\n value: function setDebug(bool) {\n this.debug = bool;\n }\n }, {\n key: \"log\",\n value: function log() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n return this.forward(args, 'log', '', true);\n }\n }, {\n key: \"warn\",\n value: function warn() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return this.forward(args, 'warn', '', true);\n }\n }, {\n key: \"error\",\n value: function error() {\n for (var _len3 = arguments.length, args = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n args[_key3] = arguments[_key3];\n }\n\n return this.forward(args, 'error', '');\n }\n }, {\n key: \"deprecate\",\n value: function deprecate() {\n for (var _len4 = arguments.length, args = new Array(_len4), _key4 = 0; _key4 < _len4; _key4++) {\n args[_key4] = arguments[_key4];\n }\n\n return this.forward(args, 'warn', 'WARNING DEPRECATED: ', true);\n }\n }, {\n key: \"forward\",\n value: function forward(args, lvl, prefix, debugOnly) {\n if (debugOnly && !this.debug) return null;\n if (typeof args[0] === 'string') args[0] = \"\".concat(prefix).concat(this.prefix, \" \").concat(args[0]);\n return this.logger[lvl](args);\n }\n }, {\n key: \"create\",\n value: function create(moduleName) {\n return new Logger(this.logger, _objectSpread({}, {\n prefix: \"\".concat(this.prefix, \":\").concat(moduleName, \":\")\n }, this.options));\n }\n }]);\n\n return Logger;\n}();\n\nvar baseLogger = new Logger();\n\nvar EventEmitter = function () {\n function EventEmitter() {\n _classCallCheck(this, EventEmitter);\n\n this.observers = {};\n }\n\n _createClass(EventEmitter, [{\n key: \"on\",\n value: function on(events, listener) {\n var _this = this;\n\n events.split(' ').forEach(function (event) {\n _this.observers[event] = _this.observers[event] || [];\n\n _this.observers[event].push(listener);\n });\n return this;\n }\n }, {\n key: \"off\",\n value: function off(event, listener) {\n if (!this.observers[event]) return;\n\n if (!listener) {\n delete this.observers[event];\n return;\n }\n\n this.observers[event] = this.observers[event].filter(function (l) {\n return l !== listener;\n });\n }\n }, {\n key: \"emit\",\n value: function emit(event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n if (this.observers[event]) {\n var cloned = [].concat(this.observers[event]);\n cloned.forEach(function (observer) {\n observer.apply(void 0, args);\n });\n }\n\n if (this.observers['*']) {\n var _cloned = [].concat(this.observers['*']);\n\n _cloned.forEach(function (observer) {\n observer.apply(observer, [event].concat(args));\n });\n }\n }\n }]);\n\n return EventEmitter;\n}();\n\nfunction defer() {\n var res;\n var rej;\n var promise = new _Promise(function (resolve, reject) {\n res = resolve;\n rej = reject;\n });\n promise.resolve = res;\n promise.reject = rej;\n return promise;\n}\n\nfunction makeString(object) {\n if (object == null) return '';\n return '' + object;\n}\n\nfunction copy(a, s, t) {\n a.forEach(function (m) {\n if (s[m]) t[m] = s[m];\n });\n}\n\nfunction getLastOfPath(object, path, Empty) {\n function cleanKey(key) {\n return key && key.indexOf('###') > -1 ? key.replace(/###/g, '.') : key;\n }\n\n function canNotTraverseDeeper() {\n return !object || typeof object === 'string';\n }\n\n var stack = typeof path !== 'string' ? [].concat(path) : path.split('.');\n\n while (stack.length > 1) {\n if (canNotTraverseDeeper()) return {};\n var key = cleanKey(stack.shift());\n if (!object[key] && Empty) object[key] = new Empty();\n\n if (Object.prototype.hasOwnProperty.call(object, key)) {\n object = object[key];\n } else {\n object = {};\n }\n }\n\n if (canNotTraverseDeeper()) return {};\n return {\n obj: object,\n k: cleanKey(stack.shift())\n };\n}\n\nfunction setPath(object, path, newValue) {\n var _getLastOfPath = getLastOfPath(object, path, Object),\n obj = _getLastOfPath.obj,\n k = _getLastOfPath.k;\n\n obj[k] = newValue;\n}\n\nfunction pushPath(object, path, newValue, concat) {\n var _getLastOfPath2 = getLastOfPath(object, path, Object),\n obj = _getLastOfPath2.obj,\n k = _getLastOfPath2.k;\n\n obj[k] = obj[k] || [];\n if (concat) obj[k] = obj[k].concat(newValue);\n if (!concat) obj[k].push(newValue);\n}\n\nfunction getPath(object, path) {\n var _getLastOfPath3 = getLastOfPath(object, path),\n obj = _getLastOfPath3.obj,\n k = _getLastOfPath3.k;\n\n if (!obj) return undefined;\n return obj[k];\n}\n\nfunction getPathWithDefaults(data, defaultData, key) {\n var value = getPath(data, key);\n\n if (value !== undefined) {\n return value;\n }\n\n return getPath(defaultData, key);\n}\n\nfunction deepExtend(target, source, overwrite) {\n for (var prop in source) {\n if (prop !== '__proto__' && prop !== 'constructor') {\n if (prop in target) {\n if (typeof target[prop] === 'string' || target[prop] instanceof String || typeof source[prop] === 'string' || source[prop] instanceof String) {\n if (overwrite) target[prop] = source[prop];\n } else {\n deepExtend(target[prop], source[prop], overwrite);\n }\n } else {\n target[prop] = source[prop];\n }\n }\n }\n\n return target;\n}\n\nfunction regexEscape(str) {\n return str.replace(/[\\-\\[\\]\\/\\{\\}\\(\\)\\*\\+\\?\\.\\\\\\^\\$\\|]/g, '\\\\$&');\n}\n\nvar _entityMap = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": ''',\n '/': '/'\n};\n\nfunction escape(data) {\n if (typeof data === 'string') {\n return data.replace(/[&<>\"'\\/]/g, function (s) {\n return _entityMap[s];\n });\n }\n\n return data;\n}\n\nvar isIE10 = typeof window !== 'undefined' && window.navigator && window.navigator.userAgent && window.navigator.userAgent.indexOf('MSIE') > -1;\n\nfunction deepFind(obj, path) {\n var keySeparator = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '.';\n if (!obj) return undefined;\n if (obj[path]) return obj[path];\n var paths = path.split(keySeparator);\n var current = obj;\n\n for (var i = 0; i < paths.length; ++i) {\n if (typeof current[paths[i]] === 'string' && i + 1 < paths.length) {\n return undefined;\n }\n\n if (current[paths[i]] === undefined) {\n var j = 2;\n var p = paths.slice(i, i + j).join(keySeparator);\n var mix = current[p];\n\n while (mix === undefined && paths.length > i + j) {\n j++;\n p = paths.slice(i, i + j).join(keySeparator);\n mix = current[p];\n }\n\n if (mix === undefined) return undefined;\n if (typeof mix === 'string') return mix;\n if (p && typeof mix[p] === 'string') return mix[p];\n var joinedPath = paths.slice(i + j).join(keySeparator);\n if (joinedPath) return deepFind(mix, joinedPath, keySeparator);\n return undefined;\n }\n\n current = current[paths[i]];\n }\n\n return current;\n}\n\nvar ResourceStore = function (_EventEmitter) {\n _inherits(ResourceStore, _EventEmitter);\n\n function ResourceStore(data) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n ns: ['translation'],\n defaultNS: 'translation'\n };\n\n _classCallCheck(this, ResourceStore);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(ResourceStore).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.data = data || {};\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n if (_this.options.ignoreJSONStructure === undefined) {\n _this.options.ignoreJSONStructure = true;\n }\n\n return _this;\n }\n\n _createClass(ResourceStore, [{\n key: \"addNamespaces\",\n value: function addNamespaces(ns) {\n if (this.options.ns.indexOf(ns) < 0) {\n this.options.ns.push(ns);\n }\n }\n }, {\n key: \"removeNamespaces\",\n value: function removeNamespaces(ns) {\n var index = this.options.ns.indexOf(ns);\n\n if (index > -1) {\n this.options.ns.splice(index, 1);\n }\n }\n }, {\n key: \"getResource\",\n value: function getResource(lng, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var ignoreJSONStructure = options.ignoreJSONStructure !== undefined ? options.ignoreJSONStructure : this.options.ignoreJSONStructure;\n var path = [lng, ns];\n if (key && typeof key !== 'string') path = path.concat(key);\n if (key && typeof key === 'string') path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n }\n\n var result = getPath(this.data, path);\n if (result || !ignoreJSONStructure || typeof key !== 'string') return result;\n return deepFind(this.data && this.data[lng] && this.data[lng][ns], key, keySeparator);\n }\n }, {\n key: \"addResource\",\n value: function addResource(lng, ns, key, value) {\n var options = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : {\n silent: false\n };\n var keySeparator = this.options.keySeparator;\n if (keySeparator === undefined) keySeparator = '.';\n var path = [lng, ns];\n if (key) path = path.concat(keySeparator ? key.split(keySeparator) : key);\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n value = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n setPath(this.data, path, value);\n if (!options.silent) this.emit('added', lng, ns, key, value);\n }\n }, {\n key: \"addResources\",\n value: function addResources(lng, ns, resources) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {\n silent: false\n };\n\n for (var m in resources) {\n if (typeof resources[m] === 'string' || Object.prototype.toString.apply(resources[m]) === '[object Array]') this.addResource(lng, ns, m, resources[m], {\n silent: true\n });\n }\n\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"addResourceBundle\",\n value: function addResourceBundle(lng, ns, resources, deep, overwrite) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {\n silent: false\n };\n var path = [lng, ns];\n\n if (lng.indexOf('.') > -1) {\n path = lng.split('.');\n deep = resources;\n resources = ns;\n ns = path[1];\n }\n\n this.addNamespaces(ns);\n var pack = getPath(this.data, path) || {};\n\n if (deep) {\n deepExtend(pack, resources, overwrite);\n } else {\n pack = _objectSpread({}, pack, resources);\n }\n\n setPath(this.data, path, pack);\n if (!options.silent) this.emit('added', lng, ns, resources);\n }\n }, {\n key: \"removeResourceBundle\",\n value: function removeResourceBundle(lng, ns) {\n if (this.hasResourceBundle(lng, ns)) {\n delete this.data[lng][ns];\n }\n\n this.removeNamespaces(ns);\n this.emit('removed', lng, ns);\n }\n }, {\n key: \"hasResourceBundle\",\n value: function hasResourceBundle(lng, ns) {\n return this.getResource(lng, ns) !== undefined;\n }\n }, {\n key: \"getResourceBundle\",\n value: function getResourceBundle(lng, ns) {\n if (!ns) ns = this.options.defaultNS;\n if (this.options.compatibilityAPI === 'v1') return _objectSpread({}, {}, this.getResource(lng, ns));\n return this.getResource(lng, ns);\n }\n }, {\n key: \"getDataByLanguage\",\n value: function getDataByLanguage(lng) {\n return this.data[lng];\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return this.data;\n }\n }]);\n\n return ResourceStore;\n}(EventEmitter);\n\nvar postProcessor = {\n processors: {},\n addPostProcessor: function addPostProcessor(module) {\n this.processors[module.name] = module;\n },\n handle: function handle(processors, value, key, options, translator) {\n var _this = this;\n\n processors.forEach(function (processor) {\n if (_this.processors[processor]) value = _this.processors[processor].process(value, key, options, translator);\n });\n return value;\n }\n};\nvar checkedLoadedFor = {};\n\nvar Translator = function (_EventEmitter) {\n _inherits(Translator, _EventEmitter);\n\n function Translator(services) {\n var _this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, Translator);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Translator).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n copy(['resourceStore', 'languageUtils', 'pluralResolver', 'interpolator', 'backendConnector', 'i18nFormat', 'utils'], services, _assertThisInitialized(_this));\n _this.options = options;\n\n if (_this.options.keySeparator === undefined) {\n _this.options.keySeparator = '.';\n }\n\n _this.logger = baseLogger.create('translator');\n return _this;\n }\n\n _createClass(Translator, [{\n key: \"changeLanguage\",\n value: function changeLanguage(lng) {\n if (lng) this.language = lng;\n }\n }, {\n key: \"exists\",\n value: function exists(key) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {\n interpolation: {}\n };\n var resolved = this.resolve(key, options);\n return resolved && resolved.res !== undefined;\n }\n }, {\n key: \"extractFromKey\",\n value: function extractFromKey(key, options) {\n var nsSeparator = options.nsSeparator !== undefined ? options.nsSeparator : this.options.nsSeparator;\n if (nsSeparator === undefined) nsSeparator = ':';\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n var namespaces = options.ns || this.options.defaultNS;\n\n if (nsSeparator && key.indexOf(nsSeparator) > -1) {\n var m = key.match(this.interpolator.nestingRegexp);\n\n if (m && m.length > 0) {\n return {\n key: key,\n namespaces: namespaces\n };\n }\n\n var parts = key.split(nsSeparator);\n if (nsSeparator !== keySeparator || nsSeparator === keySeparator && this.options.ns.indexOf(parts[0]) > -1) namespaces = parts.shift();\n key = parts.join(keySeparator);\n }\n\n if (typeof namespaces === 'string') namespaces = [namespaces];\n return {\n key: key,\n namespaces: namespaces\n };\n }\n }, {\n key: \"translate\",\n value: function translate(keys, options, lastKey) {\n var _this2 = this;\n\n if (_typeof(options) !== 'object' && this.options.overloadTranslationOptionHandler) {\n options = this.options.overloadTranslationOptionHandler(arguments);\n }\n\n if (!options) options = {};\n if (keys === undefined || keys === null) return '';\n if (!Array.isArray(keys)) keys = [String(keys)];\n var keySeparator = options.keySeparator !== undefined ? options.keySeparator : this.options.keySeparator;\n\n var _this$extractFromKey = this.extractFromKey(keys[keys.length - 1], options),\n key = _this$extractFromKey.key,\n namespaces = _this$extractFromKey.namespaces;\n\n var namespace = namespaces[namespaces.length - 1];\n var lng = options.lng || this.language;\n var appendNamespaceToCIMode = options.appendNamespaceToCIMode || this.options.appendNamespaceToCIMode;\n\n if (lng && lng.toLowerCase() === 'cimode') {\n if (appendNamespaceToCIMode) {\n var nsSeparator = options.nsSeparator || this.options.nsSeparator;\n return namespace + nsSeparator + key;\n }\n\n return key;\n }\n\n var resolved = this.resolve(keys, options);\n var res = resolved && resolved.res;\n var resUsedKey = resolved && resolved.usedKey || key;\n var resExactUsedKey = resolved && resolved.exactUsedKey || key;\n var resType = Object.prototype.toString.apply(res);\n var noObject = ['[object Number]', '[object Function]', '[object RegExp]'];\n var joinArrays = options.joinArrays !== undefined ? options.joinArrays : this.options.joinArrays;\n var handleAsObjectInI18nFormat = !this.i18nFormat || this.i18nFormat.handleAsObject;\n var handleAsObject = typeof res !== 'string' && typeof res !== 'boolean' && typeof res !== 'number';\n\n if (handleAsObjectInI18nFormat && res && handleAsObject && noObject.indexOf(resType) < 0 && !(typeof joinArrays === 'string' && resType === '[object Array]')) {\n if (!options.returnObjects && !this.options.returnObjects) {\n if (!this.options.returnedObjectHandler) {\n this.logger.warn('accessing an object - but returnObjects options is not enabled!');\n }\n\n return this.options.returnedObjectHandler ? this.options.returnedObjectHandler(resUsedKey, res, _objectSpread({}, options, {\n ns: namespaces\n })) : \"key '\".concat(key, \" (\").concat(this.language, \")' returned an object instead of string.\");\n }\n\n if (keySeparator) {\n var resTypeIsArray = resType === '[object Array]';\n var copy = resTypeIsArray ? [] : {};\n var newKeyToUse = resTypeIsArray ? resExactUsedKey : resUsedKey;\n\n for (var m in res) {\n if (Object.prototype.hasOwnProperty.call(res, m)) {\n var deepKey = \"\".concat(newKeyToUse).concat(keySeparator).concat(m);\n copy[m] = this.translate(deepKey, _objectSpread({}, options, {\n joinArrays: false,\n ns: namespaces\n }));\n if (copy[m] === deepKey) copy[m] = res[m];\n }\n }\n\n res = copy;\n }\n } else if (handleAsObjectInI18nFormat && typeof joinArrays === 'string' && resType === '[object Array]') {\n res = res.join(joinArrays);\n if (res) res = this.extendTranslation(res, keys, options, lastKey);\n } else {\n var usedDefault = false;\n var usedKey = false;\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var hasDefaultValue = Translator.hasDefaultValue(options);\n var defaultValueSuffix = needsPluralHandling ? this.pluralResolver.getSuffix(lng, options.count) : '';\n var defaultValue = options[\"defaultValue\".concat(defaultValueSuffix)] || options.defaultValue;\n\n if (!this.isValidLookup(res) && hasDefaultValue) {\n usedDefault = true;\n res = defaultValue;\n }\n\n if (!this.isValidLookup(res)) {\n usedKey = true;\n res = key;\n }\n\n var updateMissing = hasDefaultValue && defaultValue !== res && this.options.updateMissing;\n\n if (usedKey || usedDefault || updateMissing) {\n this.logger.log(updateMissing ? 'updateKey' : 'missingKey', lng, namespace, key, updateMissing ? defaultValue : res);\n\n if (keySeparator) {\n var fk = this.resolve(key, _objectSpread({}, options, {\n keySeparator: false\n }));\n if (fk && fk.res) this.logger.warn('Seems the loaded translations were in flat JSON format instead of nested. Either set keySeparator: false on init or make sure your translations are published in nested format.');\n }\n\n var lngs = [];\n var fallbackLngs = this.languageUtils.getFallbackCodes(this.options.fallbackLng, options.lng || this.language);\n\n if (this.options.saveMissingTo === 'fallback' && fallbackLngs && fallbackLngs[0]) {\n for (var i = 0; i < fallbackLngs.length; i++) {\n lngs.push(fallbackLngs[i]);\n }\n } else if (this.options.saveMissingTo === 'all') {\n lngs = this.languageUtils.toResolveHierarchy(options.lng || this.language);\n } else {\n lngs.push(options.lng || this.language);\n }\n\n var send = function send(l, k, fallbackValue) {\n if (_this2.options.missingKeyHandler) {\n _this2.options.missingKeyHandler(l, namespace, k, updateMissing ? fallbackValue : res, updateMissing, options);\n } else if (_this2.backendConnector && _this2.backendConnector.saveMissing) {\n _this2.backendConnector.saveMissing(l, namespace, k, updateMissing ? fallbackValue : res, updateMissing, options);\n }\n\n _this2.emit('missingKey', l, namespace, k, res);\n };\n\n if (this.options.saveMissing) {\n if (this.options.saveMissingPlurals && needsPluralHandling) {\n lngs.forEach(function (language) {\n _this2.pluralResolver.getSuffixes(language).forEach(function (suffix) {\n send([language], key + suffix, options[\"defaultValue\".concat(suffix)] || defaultValue);\n });\n });\n } else {\n send(lngs, key, defaultValue);\n }\n }\n }\n\n res = this.extendTranslation(res, keys, options, resolved, lastKey);\n if (usedKey && res === key && this.options.appendNamespaceToMissingKey) res = \"\".concat(namespace, \":\").concat(key);\n if (usedKey && this.options.parseMissingKeyHandler) res = this.options.parseMissingKeyHandler(res);\n }\n\n return res;\n }\n }, {\n key: \"extendTranslation\",\n value: function extendTranslation(res, key, options, resolved, lastKey) {\n var _this3 = this;\n\n if (this.i18nFormat && this.i18nFormat.parse) {\n res = this.i18nFormat.parse(res, options, resolved.usedLng, resolved.usedNS, resolved.usedKey, {\n resolved: resolved\n });\n } else if (!options.skipInterpolation) {\n if (options.interpolation) this.interpolator.init(_objectSpread({}, options, {\n interpolation: _objectSpread({}, this.options.interpolation, options.interpolation)\n }));\n var skipOnVariables = options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var nestBef;\n\n if (skipOnVariables) {\n var nb = res.match(this.interpolator.nestingRegexp);\n nestBef = nb && nb.length;\n }\n\n var data = options.replace && typeof options.replace !== 'string' ? options.replace : options;\n if (this.options.interpolation.defaultVariables) data = _objectSpread({}, this.options.interpolation.defaultVariables, data);\n res = this.interpolator.interpolate(res, data, options.lng || this.language, options);\n\n if (skipOnVariables) {\n var na = res.match(this.interpolator.nestingRegexp);\n var nestAft = na && na.length;\n if (nestBef < nestAft) options.nest = false;\n }\n\n if (options.nest !== false) res = this.interpolator.nest(res, function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n if (lastKey && lastKey[0] === args[0] && !options.context) {\n _this3.logger.warn(\"It seems you are nesting recursively key: \".concat(args[0], \" in key: \").concat(key[0]));\n\n return null;\n }\n\n return _this3.translate.apply(_this3, args.concat([key]));\n }, options);\n if (options.interpolation) this.interpolator.reset();\n }\n\n var postProcess = options.postProcess || this.options.postProcess;\n var postProcessorNames = typeof postProcess === 'string' ? [postProcess] : postProcess;\n\n if (res !== undefined && res !== null && postProcessorNames && postProcessorNames.length && options.applyPostProcessor !== false) {\n res = postProcessor.handle(postProcessorNames, res, key, this.options && this.options.postProcessPassResolved ? _objectSpread({\n i18nResolved: resolved\n }, options) : options, this);\n }\n\n return res;\n }\n }, {\n key: \"resolve\",\n value: function resolve(keys) {\n var _this4 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var found;\n var usedKey;\n var exactUsedKey;\n var usedLng;\n var usedNS;\n if (typeof keys === 'string') keys = [keys];\n keys.forEach(function (k) {\n if (_this4.isValidLookup(found)) return;\n\n var extracted = _this4.extractFromKey(k, options);\n\n var key = extracted.key;\n usedKey = key;\n var namespaces = extracted.namespaces;\n if (_this4.options.fallbackNS) namespaces = namespaces.concat(_this4.options.fallbackNS);\n var needsPluralHandling = options.count !== undefined && typeof options.count !== 'string';\n var needsContextHandling = options.context !== undefined && typeof options.context === 'string' && options.context !== '';\n var codes = options.lngs ? options.lngs : _this4.languageUtils.toResolveHierarchy(options.lng || _this4.language, options.fallbackLng);\n namespaces.forEach(function (ns) {\n if (_this4.isValidLookup(found)) return;\n usedNS = ns;\n\n if (!checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] && _this4.utils && _this4.utils.hasLoadedNamespace && !_this4.utils.hasLoadedNamespace(usedNS)) {\n checkedLoadedFor[\"\".concat(codes[0], \"-\").concat(ns)] = true;\n\n _this4.logger.warn(\"key \\\"\".concat(usedKey, \"\\\" for languages \\\"\").concat(codes.join(', '), \"\\\" won't get resolved as namespace \\\"\").concat(usedNS, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n }\n\n codes.forEach(function (code) {\n if (_this4.isValidLookup(found)) return;\n usedLng = code;\n var finalKey = key;\n var finalKeys = [finalKey];\n\n if (_this4.i18nFormat && _this4.i18nFormat.addLookupKeys) {\n _this4.i18nFormat.addLookupKeys(finalKeys, key, code, ns, options);\n } else {\n var pluralSuffix;\n if (needsPluralHandling) pluralSuffix = _this4.pluralResolver.getSuffix(code, options.count);\n if (needsPluralHandling && needsContextHandling) finalKeys.push(finalKey + pluralSuffix);\n if (needsContextHandling) finalKeys.push(finalKey += \"\".concat(_this4.options.contextSeparator).concat(options.context));\n if (needsPluralHandling) finalKeys.push(finalKey += pluralSuffix);\n }\n\n var possibleKey;\n\n while (possibleKey = finalKeys.pop()) {\n if (!_this4.isValidLookup(found)) {\n exactUsedKey = possibleKey;\n found = _this4.getResource(code, ns, possibleKey, options);\n }\n }\n });\n });\n });\n return {\n res: found,\n usedKey: usedKey,\n exactUsedKey: exactUsedKey,\n usedLng: usedLng,\n usedNS: usedNS\n };\n }\n }, {\n key: \"isValidLookup\",\n value: function isValidLookup(res) {\n return res !== undefined && !(!this.options.returnNull && res === null) && !(!this.options.returnEmptyString && res === '');\n }\n }, {\n key: \"getResource\",\n value: function getResource(code, ns, key) {\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n if (this.i18nFormat && this.i18nFormat.getResource) return this.i18nFormat.getResource(code, ns, key, options);\n return this.resourceStore.getResource(code, ns, key, options);\n }\n }], [{\n key: \"hasDefaultValue\",\n value: function hasDefaultValue(options) {\n var prefix = 'defaultValue';\n\n for (var option in options) {\n if (Object.prototype.hasOwnProperty.call(options, option) && prefix === option.substring(0, prefix.length) && undefined !== options[option]) {\n return true;\n }\n }\n\n return false;\n }\n }]);\n\n return Translator;\n}(EventEmitter);\n\nfunction capitalize(string) {\n return string.charAt(0).toUpperCase() + string.slice(1);\n}\n\nvar LanguageUtil = function () {\n function LanguageUtil(options) {\n _classCallCheck(this, LanguageUtil);\n\n this.options = options;\n this.whitelist = this.options.supportedLngs || false;\n this.supportedLngs = this.options.supportedLngs || false;\n this.logger = baseLogger.create('languageUtils');\n }\n\n _createClass(LanguageUtil, [{\n key: \"getScriptPartFromCode\",\n value: function getScriptPartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return null;\n var p = code.split('-');\n if (p.length === 2) return null;\n p.pop();\n if (p[p.length - 1].toLowerCase() === 'x') return null;\n return this.formatLanguageCode(p.join('-'));\n }\n }, {\n key: \"getLanguagePartFromCode\",\n value: function getLanguagePartFromCode(code) {\n if (!code || code.indexOf('-') < 0) return code;\n var p = code.split('-');\n return this.formatLanguageCode(p[0]);\n }\n }, {\n key: \"formatLanguageCode\",\n value: function formatLanguageCode(code) {\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n var specialCases = ['hans', 'hant', 'latn', 'cyrl', 'cans', 'mong', 'arab'];\n var p = code.split('-');\n\n if (this.options.lowerCaseLng) {\n p = p.map(function (part) {\n return part.toLowerCase();\n });\n } else if (p.length === 2) {\n p[0] = p[0].toLowerCase();\n p[1] = p[1].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n } else if (p.length === 3) {\n p[0] = p[0].toLowerCase();\n if (p[1].length === 2) p[1] = p[1].toUpperCase();\n if (p[0] !== 'sgn' && p[2].length === 2) p[2] = p[2].toUpperCase();\n if (specialCases.indexOf(p[1].toLowerCase()) > -1) p[1] = capitalize(p[1].toLowerCase());\n if (specialCases.indexOf(p[2].toLowerCase()) > -1) p[2] = capitalize(p[2].toLowerCase());\n }\n\n return p.join('-');\n }\n\n return this.options.cleanCode || this.options.lowerCaseLng ? code.toLowerCase() : code;\n }\n }, {\n key: \"isWhitelisted\",\n value: function isWhitelisted(code) {\n this.logger.deprecate('languageUtils.isWhitelisted', 'function \"isWhitelisted\" will be renamed to \"isSupportedCode\" in the next major - please make sure to rename it\\'s usage asap.');\n return this.isSupportedCode(code);\n }\n }, {\n key: \"isSupportedCode\",\n value: function isSupportedCode(code) {\n if (this.options.load === 'languageOnly' || this.options.nonExplicitSupportedLngs) {\n code = this.getLanguagePartFromCode(code);\n }\n\n return !this.supportedLngs || !this.supportedLngs.length || this.supportedLngs.indexOf(code) > -1;\n }\n }, {\n key: \"getBestMatchFromCodes\",\n value: function getBestMatchFromCodes(codes) {\n var _this = this;\n\n if (!codes) return null;\n var found;\n codes.forEach(function (code) {\n if (found) return;\n\n var cleanedLng = _this.formatLanguageCode(code);\n\n if (!_this.options.supportedLngs || _this.isSupportedCode(cleanedLng)) found = cleanedLng;\n });\n\n if (!found && this.options.supportedLngs) {\n codes.forEach(function (code) {\n if (found) return;\n\n var lngOnly = _this.getLanguagePartFromCode(code);\n\n if (_this.isSupportedCode(lngOnly)) return found = lngOnly;\n found = _this.options.supportedLngs.find(function (supportedLng) {\n if (supportedLng.indexOf(lngOnly) === 0) return supportedLng;\n });\n });\n }\n\n if (!found) found = this.getFallbackCodes(this.options.fallbackLng)[0];\n return found;\n }\n }, {\n key: \"getFallbackCodes\",\n value: function getFallbackCodes(fallbacks, code) {\n if (!fallbacks) return [];\n if (typeof fallbacks === 'function') fallbacks = fallbacks(code);\n if (typeof fallbacks === 'string') fallbacks = [fallbacks];\n if (Object.prototype.toString.apply(fallbacks) === '[object Array]') return fallbacks;\n if (!code) return fallbacks[\"default\"] || [];\n var found = fallbacks[code];\n if (!found) found = fallbacks[this.getScriptPartFromCode(code)];\n if (!found) found = fallbacks[this.formatLanguageCode(code)];\n if (!found) found = fallbacks[this.getLanguagePartFromCode(code)];\n if (!found) found = fallbacks[\"default\"];\n return found || [];\n }\n }, {\n key: \"toResolveHierarchy\",\n value: function toResolveHierarchy(code, fallbackCode) {\n var _this2 = this;\n\n var fallbackCodes = this.getFallbackCodes(fallbackCode || this.options.fallbackLng || [], code);\n var codes = [];\n\n var addCode = function addCode(c) {\n if (!c) return;\n\n if (_this2.isSupportedCode(c)) {\n codes.push(c);\n } else {\n _this2.logger.warn(\"rejecting language code not found in supportedLngs: \".concat(c));\n }\n };\n\n if (typeof code === 'string' && code.indexOf('-') > -1) {\n if (this.options.load !== 'languageOnly') addCode(this.formatLanguageCode(code));\n if (this.options.load !== 'languageOnly' && this.options.load !== 'currentOnly') addCode(this.getScriptPartFromCode(code));\n if (this.options.load !== 'currentOnly') addCode(this.getLanguagePartFromCode(code));\n } else if (typeof code === 'string') {\n addCode(this.formatLanguageCode(code));\n }\n\n fallbackCodes.forEach(function (fc) {\n if (codes.indexOf(fc) < 0) addCode(_this2.formatLanguageCode(fc));\n });\n return codes;\n }\n }]);\n\n return LanguageUtil;\n}();\n\nvar sets = [{\n lngs: ['ach', 'ak', 'am', 'arn', 'br', 'fil', 'gun', 'ln', 'mfe', 'mg', 'mi', 'oc', 'pt', 'pt-BR', 'tg', 'tl', 'ti', 'tr', 'uz', 'wa'],\n nr: [1, 2],\n fc: 1\n}, {\n lngs: ['af', 'an', 'ast', 'az', 'bg', 'bn', 'ca', 'da', 'de', 'dev', 'el', 'en', 'eo', 'es', 'et', 'eu', 'fi', 'fo', 'fur', 'fy', 'gl', 'gu', 'ha', 'hi', 'hu', 'hy', 'ia', 'it', 'kk', 'kn', 'ku', 'lb', 'mai', 'ml', 'mn', 'mr', 'nah', 'nap', 'nb', 'ne', 'nl', 'nn', 'no', 'nso', 'pa', 'pap', 'pms', 'ps', 'pt-PT', 'rm', 'sco', 'se', 'si', 'so', 'son', 'sq', 'sv', 'sw', 'ta', 'te', 'tk', 'ur', 'yo'],\n nr: [1, 2],\n fc: 2\n}, {\n lngs: ['ay', 'bo', 'cgg', 'fa', 'ht', 'id', 'ja', 'jbo', 'ka', 'km', 'ko', 'ky', 'lo', 'ms', 'sah', 'su', 'th', 'tt', 'ug', 'vi', 'wo', 'zh'],\n nr: [1],\n fc: 3\n}, {\n lngs: ['be', 'bs', 'cnr', 'dz', 'hr', 'ru', 'sr', 'uk'],\n nr: [1, 2, 5],\n fc: 4\n}, {\n lngs: ['ar'],\n nr: [0, 1, 2, 3, 11, 100],\n fc: 5\n}, {\n lngs: ['cs', 'sk'],\n nr: [1, 2, 5],\n fc: 6\n}, {\n lngs: ['csb', 'pl'],\n nr: [1, 2, 5],\n fc: 7\n}, {\n lngs: ['cy'],\n nr: [1, 2, 3, 8],\n fc: 8\n}, {\n lngs: ['fr'],\n nr: [1, 2],\n fc: 9\n}, {\n lngs: ['ga'],\n nr: [1, 2, 3, 7, 11],\n fc: 10\n}, {\n lngs: ['gd'],\n nr: [1, 2, 3, 20],\n fc: 11\n}, {\n lngs: ['is'],\n nr: [1, 2],\n fc: 12\n}, {\n lngs: ['jv'],\n nr: [0, 1],\n fc: 13\n}, {\n lngs: ['kw'],\n nr: [1, 2, 3, 4],\n fc: 14\n}, {\n lngs: ['lt'],\n nr: [1, 2, 10],\n fc: 15\n}, {\n lngs: ['lv'],\n nr: [1, 2, 0],\n fc: 16\n}, {\n lngs: ['mk'],\n nr: [1, 2],\n fc: 17\n}, {\n lngs: ['mnk'],\n nr: [0, 1, 2],\n fc: 18\n}, {\n lngs: ['mt'],\n nr: [1, 2, 11, 20],\n fc: 19\n}, {\n lngs: ['or'],\n nr: [2, 1],\n fc: 2\n}, {\n lngs: ['ro'],\n nr: [1, 2, 20],\n fc: 20\n}, {\n lngs: ['sl'],\n nr: [5, 1, 2, 3],\n fc: 21\n}, {\n lngs: ['he', 'iw'],\n nr: [1, 2, 20, 21],\n fc: 22\n}];\nvar _rulesPluralsTypes = {\n 1: function _(n) {\n return Number(n > 1);\n },\n 2: function _(n) {\n return Number(n != 1);\n },\n 3: function _(n) {\n return 0;\n },\n 4: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 5: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : n == 2 ? 2 : n % 100 >= 3 && n % 100 <= 10 ? 3 : n % 100 >= 11 ? 4 : 5);\n },\n 6: function _(n) {\n return Number(n == 1 ? 0 : n >= 2 && n <= 4 ? 1 : 2);\n },\n 7: function _(n) {\n return Number(n == 1 ? 0 : n % 10 >= 2 && n % 10 <= 4 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 8: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n != 8 && n != 11 ? 2 : 3);\n },\n 9: function _(n) {\n return Number(n >= 2);\n },\n 10: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n < 7 ? 2 : n < 11 ? 3 : 4);\n },\n 11: function _(n) {\n return Number(n == 1 || n == 11 ? 0 : n == 2 || n == 12 ? 1 : n > 2 && n < 20 ? 2 : 3);\n },\n 12: function _(n) {\n return Number(n % 10 != 1 || n % 100 == 11);\n },\n 13: function _(n) {\n return Number(n !== 0);\n },\n 14: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : n == 3 ? 2 : 3);\n },\n 15: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n % 10 >= 2 && (n % 100 < 10 || n % 100 >= 20) ? 1 : 2);\n },\n 16: function _(n) {\n return Number(n % 10 == 1 && n % 100 != 11 ? 0 : n !== 0 ? 1 : 2);\n },\n 17: function _(n) {\n return Number(n == 1 || n % 10 == 1 && n % 100 != 11 ? 0 : 1);\n },\n 18: function _(n) {\n return Number(n == 0 ? 0 : n == 1 ? 1 : 2);\n },\n 19: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 1 && n % 100 < 11 ? 1 : n % 100 > 10 && n % 100 < 20 ? 2 : 3);\n },\n 20: function _(n) {\n return Number(n == 1 ? 0 : n == 0 || n % 100 > 0 && n % 100 < 20 ? 1 : 2);\n },\n 21: function _(n) {\n return Number(n % 100 == 1 ? 1 : n % 100 == 2 ? 2 : n % 100 == 3 || n % 100 == 4 ? 3 : 0);\n },\n 22: function _(n) {\n return Number(n == 1 ? 0 : n == 2 ? 1 : (n < 0 || n > 10) && n % 10 == 0 ? 2 : 3);\n }\n};\n\nfunction createRules() {\n var rules = {};\n sets.forEach(function (set) {\n set.lngs.forEach(function (l) {\n rules[l] = {\n numbers: set.nr,\n plurals: _rulesPluralsTypes[set.fc]\n };\n });\n });\n return rules;\n}\n\nvar PluralResolver = function () {\n function PluralResolver(languageUtils) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n _classCallCheck(this, PluralResolver);\n\n this.languageUtils = languageUtils;\n this.options = options;\n this.logger = baseLogger.create('pluralResolver');\n this.rules = createRules();\n }\n\n _createClass(PluralResolver, [{\n key: \"addRule\",\n value: function addRule(lng, obj) {\n this.rules[lng] = obj;\n }\n }, {\n key: \"getRule\",\n value: function getRule(code) {\n return this.rules[code] || this.rules[this.languageUtils.getLanguagePartFromCode(code)];\n }\n }, {\n key: \"needsPlural\",\n value: function needsPlural(code) {\n var rule = this.getRule(code);\n return rule && rule.numbers.length > 1;\n }\n }, {\n key: \"getPluralFormsOfKey\",\n value: function getPluralFormsOfKey(code, key) {\n return this.getSuffixes(code).map(function (suffix) {\n return key + suffix;\n });\n }\n }, {\n key: \"getSuffixes\",\n value: function getSuffixes(code) {\n var _this = this;\n\n var rule = this.getRule(code);\n\n if (!rule) {\n return [];\n }\n\n return rule.numbers.map(function (number) {\n return _this.getSuffix(code, number);\n });\n }\n }, {\n key: \"getSuffix\",\n value: function getSuffix(code, count) {\n var _this2 = this;\n\n var rule = this.getRule(code);\n\n if (rule) {\n var idx = rule.noAbs ? rule.plurals(count) : rule.plurals(Math.abs(count));\n var suffix = rule.numbers[idx];\n\n if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n if (suffix === 2) {\n suffix = 'plural';\n } else if (suffix === 1) {\n suffix = '';\n }\n }\n\n var returnSuffix = function returnSuffix() {\n return _this2.options.prepend && suffix.toString() ? _this2.options.prepend + suffix.toString() : suffix.toString();\n };\n\n if (this.options.compatibilityJSON === 'v1') {\n if (suffix === 1) return '';\n if (typeof suffix === 'number') return \"_plural_\".concat(suffix.toString());\n return returnSuffix();\n } else if (this.options.compatibilityJSON === 'v2') {\n return returnSuffix();\n } else if (this.options.simplifyPluralSuffix && rule.numbers.length === 2 && rule.numbers[0] === 1) {\n return returnSuffix();\n }\n\n return this.options.prepend && idx.toString() ? this.options.prepend + idx.toString() : idx.toString();\n }\n\n this.logger.warn(\"no plural rule found for: \".concat(code));\n return '';\n }\n }]);\n\n return PluralResolver;\n}();\n\nvar Interpolator = function () {\n function Interpolator() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Interpolator);\n\n this.logger = baseLogger.create('interpolator');\n this.options = options;\n\n this.format = options.interpolation && options.interpolation.format || function (value) {\n return value;\n };\n\n this.init(options);\n }\n\n _createClass(Interpolator, [{\n key: \"init\",\n value: function init() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n if (!options.interpolation) options.interpolation = {\n escapeValue: true\n };\n var iOpts = options.interpolation;\n this.escape = iOpts.escape !== undefined ? iOpts.escape : escape;\n this.escapeValue = iOpts.escapeValue !== undefined ? iOpts.escapeValue : true;\n this.useRawValueToEscape = iOpts.useRawValueToEscape !== undefined ? iOpts.useRawValueToEscape : false;\n this.prefix = iOpts.prefix ? regexEscape(iOpts.prefix) : iOpts.prefixEscaped || '{{';\n this.suffix = iOpts.suffix ? regexEscape(iOpts.suffix) : iOpts.suffixEscaped || '}}';\n this.formatSeparator = iOpts.formatSeparator ? iOpts.formatSeparator : iOpts.formatSeparator || ',';\n this.unescapePrefix = iOpts.unescapeSuffix ? '' : iOpts.unescapePrefix || '-';\n this.unescapeSuffix = this.unescapePrefix ? '' : iOpts.unescapeSuffix || '';\n this.nestingPrefix = iOpts.nestingPrefix ? regexEscape(iOpts.nestingPrefix) : iOpts.nestingPrefixEscaped || regexEscape('$t(');\n this.nestingSuffix = iOpts.nestingSuffix ? regexEscape(iOpts.nestingSuffix) : iOpts.nestingSuffixEscaped || regexEscape(')');\n this.nestingOptionsSeparator = iOpts.nestingOptionsSeparator ? iOpts.nestingOptionsSeparator : iOpts.nestingOptionsSeparator || ',';\n this.maxReplaces = iOpts.maxReplaces ? iOpts.maxReplaces : 1000;\n this.alwaysFormat = iOpts.alwaysFormat !== undefined ? iOpts.alwaysFormat : false;\n this.resetRegExp();\n }\n }, {\n key: \"reset\",\n value: function reset() {\n if (this.options) this.init(this.options);\n }\n }, {\n key: \"resetRegExp\",\n value: function resetRegExp() {\n var regexpStr = \"\".concat(this.prefix, \"(.+?)\").concat(this.suffix);\n this.regexp = new RegExp(regexpStr, 'g');\n var regexpUnescapeStr = \"\".concat(this.prefix).concat(this.unescapePrefix, \"(.+?)\").concat(this.unescapeSuffix).concat(this.suffix);\n this.regexpUnescape = new RegExp(regexpUnescapeStr, 'g');\n var nestingRegexpStr = \"\".concat(this.nestingPrefix, \"(.+?)\").concat(this.nestingSuffix);\n this.nestingRegexp = new RegExp(nestingRegexpStr, 'g');\n }\n }, {\n key: \"interpolate\",\n value: function interpolate(str, data, lng, options) {\n var _this = this;\n\n var match;\n var value;\n var replaces;\n var defaultData = this.options && this.options.interpolation && this.options.interpolation.defaultVariables || {};\n\n function regexSafe(val) {\n return val.replace(/\\$/g, '$$$$');\n }\n\n var handleFormat = function handleFormat(key) {\n if (key.indexOf(_this.formatSeparator) < 0) {\n var path = getPathWithDefaults(data, defaultData, key);\n return _this.alwaysFormat ? _this.format(path, undefined, lng, _objectSpread({}, options, data, {\n interpolationkey: key\n })) : path;\n }\n\n var p = key.split(_this.formatSeparator);\n var k = p.shift().trim();\n var f = p.join(_this.formatSeparator).trim();\n return _this.format(getPathWithDefaults(data, defaultData, k), f, lng, _objectSpread({}, options, data, {\n interpolationkey: k\n }));\n };\n\n this.resetRegExp();\n var missingInterpolationHandler = options && options.missingInterpolationHandler || this.options.missingInterpolationHandler;\n var skipOnVariables = options && options.interpolation && options.interpolation.skipOnVariables || this.options.interpolation.skipOnVariables;\n var todos = [{\n regex: this.regexpUnescape,\n safeValue: function safeValue(val) {\n return regexSafe(val);\n }\n }, {\n regex: this.regexp,\n safeValue: function safeValue(val) {\n return _this.escapeValue ? regexSafe(_this.escape(val)) : regexSafe(val);\n }\n }];\n todos.forEach(function (todo) {\n replaces = 0;\n\n while (match = todo.regex.exec(str)) {\n value = handleFormat(match[1].trim());\n\n if (value === undefined) {\n if (typeof missingInterpolationHandler === 'function') {\n var temp = missingInterpolationHandler(str, match, options);\n value = typeof temp === 'string' ? temp : '';\n } else if (skipOnVariables) {\n value = match[0];\n continue;\n } else {\n _this.logger.warn(\"missed to pass in variable \".concat(match[1], \" for interpolating \").concat(str));\n\n value = '';\n }\n } else if (typeof value !== 'string' && !_this.useRawValueToEscape) {\n value = makeString(value);\n }\n\n var safeValue = todo.safeValue(value);\n str = str.replace(match[0], safeValue);\n\n if (skipOnVariables) {\n todo.regex.lastIndex += safeValue.length;\n todo.regex.lastIndex -= match[0].length;\n } else {\n todo.regex.lastIndex = 0;\n }\n\n replaces++;\n\n if (replaces >= _this.maxReplaces) {\n break;\n }\n }\n });\n return str;\n }\n }, {\n key: \"nest\",\n value: function nest(str, fc) {\n var _this2 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var match;\n var value;\n\n var clonedOptions = _objectSpread({}, options);\n\n clonedOptions.applyPostProcessor = false;\n delete clonedOptions.defaultValue;\n\n function handleHasOptions(key, inheritedOptions) {\n var sep = this.nestingOptionsSeparator;\n if (key.indexOf(sep) < 0) return key;\n var c = key.split(new RegExp(\"\".concat(sep, \"[ ]*{\")));\n var optionsString = \"{\".concat(c[1]);\n key = c[0];\n optionsString = this.interpolate(optionsString, clonedOptions);\n optionsString = optionsString.replace(/'/g, '\"');\n\n try {\n clonedOptions = JSON.parse(optionsString);\n if (inheritedOptions) clonedOptions = _objectSpread({}, inheritedOptions, clonedOptions);\n } catch (e) {\n this.logger.warn(\"failed parsing options string in nesting for key \".concat(key), e);\n return \"\".concat(key).concat(sep).concat(optionsString);\n }\n\n delete clonedOptions.defaultValue;\n return key;\n }\n\n while (match = this.nestingRegexp.exec(str)) {\n var formatters = [];\n var doReduce = false;\n\n if (match[0].indexOf(this.formatSeparator) !== -1 && !/{.*}/.test(match[1])) {\n var r = match[1].split(this.formatSeparator).map(function (elem) {\n return elem.trim();\n });\n match[1] = r.shift();\n formatters = r;\n doReduce = true;\n }\n\n value = fc(handleHasOptions.call(this, match[1].trim(), clonedOptions), clonedOptions);\n if (value && match[0] === str && typeof value !== 'string') return value;\n if (typeof value !== 'string') value = makeString(value);\n\n if (!value) {\n this.logger.warn(\"missed to resolve \".concat(match[1], \" for nesting \").concat(str));\n value = '';\n }\n\n if (doReduce) {\n value = formatters.reduce(function (v, f) {\n return _this2.format(v, f, options.lng, _objectSpread({}, options, {\n interpolationkey: match[1].trim()\n }));\n }, value.trim());\n }\n\n str = str.replace(match[0], value);\n this.regexp.lastIndex = 0;\n }\n\n return str;\n }\n }]);\n\n return Interpolator;\n}();\n\nfunction remove(arr, what) {\n var found = arr.indexOf(what);\n\n while (found !== -1) {\n arr.splice(found, 1);\n found = arr.indexOf(what);\n }\n}\n\nvar Connector = function (_EventEmitter) {\n _inherits(Connector, _EventEmitter);\n\n function Connector(backend, store, services) {\n var _this;\n\n var options = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};\n\n _classCallCheck(this, Connector);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(Connector).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.backend = backend;\n _this.store = store;\n _this.services = services;\n _this.languageUtils = services.languageUtils;\n _this.options = options;\n _this.logger = baseLogger.create('backendConnector');\n _this.state = {};\n _this.queue = [];\n\n if (_this.backend && _this.backend.init) {\n _this.backend.init(services, options.backend, options);\n }\n\n return _this;\n }\n\n _createClass(Connector, [{\n key: \"queueLoad\",\n value: function queueLoad(languages, namespaces, options, callback) {\n var _this2 = this;\n\n var toLoad = [];\n var pending = [];\n var toLoadLanguages = [];\n var toLoadNamespaces = [];\n languages.forEach(function (lng) {\n var hasAllNamespaces = true;\n namespaces.forEach(function (ns) {\n var name = \"\".concat(lng, \"|\").concat(ns);\n\n if (!options.reload && _this2.store.hasResourceBundle(lng, ns)) {\n _this2.state[name] = 2;\n } else if (_this2.state[name] < 0) ;else if (_this2.state[name] === 1) {\n if (pending.indexOf(name) < 0) pending.push(name);\n } else {\n _this2.state[name] = 1;\n hasAllNamespaces = false;\n if (pending.indexOf(name) < 0) pending.push(name);\n if (toLoad.indexOf(name) < 0) toLoad.push(name);\n if (toLoadNamespaces.indexOf(ns) < 0) toLoadNamespaces.push(ns);\n }\n });\n if (!hasAllNamespaces) toLoadLanguages.push(lng);\n });\n\n if (toLoad.length || pending.length) {\n this.queue.push({\n pending: pending,\n loaded: {},\n errors: [],\n callback: callback\n });\n }\n\n return {\n toLoad: toLoad,\n pending: pending,\n toLoadLanguages: toLoadLanguages,\n toLoadNamespaces: toLoadNamespaces\n };\n }\n }, {\n key: \"loaded\",\n value: function loaded(name, err, data) {\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n if (err) this.emit('failedLoading', lng, ns, err);\n\n if (data) {\n this.store.addResourceBundle(lng, ns, data);\n }\n\n this.state[name] = err ? -1 : 2;\n var loaded = {};\n this.queue.forEach(function (q) {\n pushPath(q.loaded, [lng], ns);\n remove(q.pending, name);\n if (err) q.errors.push(err);\n\n if (q.pending.length === 0 && !q.done) {\n Object.keys(q.loaded).forEach(function (l) {\n if (!loaded[l]) loaded[l] = [];\n\n if (q.loaded[l].length) {\n q.loaded[l].forEach(function (ns) {\n if (loaded[l].indexOf(ns) < 0) loaded[l].push(ns);\n });\n }\n });\n q.done = true;\n\n if (q.errors.length) {\n q.callback(q.errors);\n } else {\n q.callback();\n }\n }\n });\n this.emit('loaded', loaded);\n this.queue = this.queue.filter(function (q) {\n return !q.done;\n });\n }\n }, {\n key: \"read\",\n value: function read(lng, ns, fcName) {\n var _this3 = this;\n\n var tried = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n var wait = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 350;\n var callback = arguments.length > 5 ? arguments[5] : undefined;\n if (!lng.length) return callback(null, {});\n return this.backend[fcName](lng, ns, function (err, data) {\n if (err && data && tried < 5) {\n setTimeout(function () {\n _this3.read.call(_this3, lng, ns, fcName, tried + 1, wait * 2, callback);\n }, wait);\n return;\n }\n\n callback(err, data);\n });\n }\n }, {\n key: \"prepareLoading\",\n value: function prepareLoading(languages, namespaces) {\n var _this4 = this;\n\n var options = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var callback = arguments.length > 3 ? arguments[3] : undefined;\n\n if (!this.backend) {\n this.logger.warn('No backend was added via i18next.use. Will not load resources.');\n return callback && callback();\n }\n\n if (typeof languages === 'string') languages = this.languageUtils.toResolveHierarchy(languages);\n if (typeof namespaces === 'string') namespaces = [namespaces];\n var toLoad = this.queueLoad(languages, namespaces, options, callback);\n\n if (!toLoad.toLoad.length) {\n if (!toLoad.pending.length) callback();\n return null;\n }\n\n toLoad.toLoad.forEach(function (name) {\n _this4.loadOne(name);\n });\n }\n }, {\n key: \"load\",\n value: function load(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {}, callback);\n }\n }, {\n key: \"reload\",\n value: function reload(languages, namespaces, callback) {\n this.prepareLoading(languages, namespaces, {\n reload: true\n }, callback);\n }\n }, {\n key: \"loadOne\",\n value: function loadOne(name) {\n var _this5 = this;\n\n var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var s = name.split('|');\n var lng = s[0];\n var ns = s[1];\n this.read(lng, ns, 'read', undefined, undefined, function (err, data) {\n if (err) _this5.logger.warn(\"\".concat(prefix, \"loading namespace \").concat(ns, \" for language \").concat(lng, \" failed\"), err);\n if (!err && data) _this5.logger.log(\"\".concat(prefix, \"loaded namespace \").concat(ns, \" for language \").concat(lng), data);\n\n _this5.loaded(name, err, data);\n });\n }\n }, {\n key: \"saveMissing\",\n value: function saveMissing(languages, namespace, key, fallbackValue, isUpdate) {\n var options = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : {};\n\n if (this.services.utils && this.services.utils.hasLoadedNamespace && !this.services.utils.hasLoadedNamespace(namespace)) {\n this.logger.warn(\"did not save key \\\"\".concat(key, \"\\\" as the namespace \\\"\").concat(namespace, \"\\\" was not yet loaded\"), 'This means something IS WRONG in your setup. You access the t function before i18next.init / i18next.loadNamespace / i18next.changeLanguage was done. Wait for the callback or Promise to resolve before accessing it!!!');\n return;\n }\n\n if (key === undefined || key === null || key === '') return;\n\n if (this.backend && this.backend.create) {\n this.backend.create(languages, namespace, key, fallbackValue, null, _objectSpread({}, options, {\n isUpdate: isUpdate\n }));\n }\n\n if (!languages || !languages[0]) return;\n this.store.addResource(languages[0], namespace, key, fallbackValue);\n }\n }]);\n\n return Connector;\n}(EventEmitter);\n\nfunction get() {\n return {\n debug: false,\n initImmediate: true,\n ns: ['translation'],\n defaultNS: ['translation'],\n fallbackLng: ['dev'],\n fallbackNS: false,\n whitelist: false,\n nonExplicitWhitelist: false,\n supportedLngs: false,\n nonExplicitSupportedLngs: false,\n load: 'all',\n preload: false,\n simplifyPluralSuffix: true,\n keySeparator: '.',\n nsSeparator: ':',\n pluralSeparator: '_',\n contextSeparator: '_',\n partialBundledLanguages: false,\n saveMissing: false,\n updateMissing: false,\n saveMissingTo: 'fallback',\n saveMissingPlurals: true,\n missingKeyHandler: false,\n missingInterpolationHandler: false,\n postProcess: false,\n postProcessPassResolved: false,\n returnNull: true,\n returnEmptyString: true,\n returnObjects: false,\n joinArrays: false,\n returnedObjectHandler: false,\n parseMissingKeyHandler: false,\n appendNamespaceToMissingKey: false,\n appendNamespaceToCIMode: false,\n overloadTranslationOptionHandler: function handle(args) {\n var ret = {};\n if (_typeof(args[1]) === 'object') ret = args[1];\n if (typeof args[1] === 'string') ret.defaultValue = args[1];\n if (typeof args[2] === 'string') ret.tDescription = args[2];\n\n if (_typeof(args[2]) === 'object' || _typeof(args[3]) === 'object') {\n var options = args[3] || args[2];\n Object.keys(options).forEach(function (key) {\n ret[key] = options[key];\n });\n }\n\n return ret;\n },\n interpolation: {\n escapeValue: true,\n format: function format(value, _format, lng, options) {\n return value;\n },\n prefix: '{{',\n suffix: '}}',\n formatSeparator: ',',\n unescapePrefix: '-',\n nestingPrefix: '$t(',\n nestingSuffix: ')',\n nestingOptionsSeparator: ',',\n maxReplaces: 1000,\n skipOnVariables: false\n }\n };\n}\n\nfunction transformOptions(options) {\n if (typeof options.ns === 'string') options.ns = [options.ns];\n if (typeof options.fallbackLng === 'string') options.fallbackLng = [options.fallbackLng];\n if (typeof options.fallbackNS === 'string') options.fallbackNS = [options.fallbackNS];\n\n if (options.whitelist) {\n if (options.whitelist && options.whitelist.indexOf('cimode') < 0) {\n options.whitelist = options.whitelist.concat(['cimode']);\n }\n\n options.supportedLngs = options.whitelist;\n }\n\n if (options.nonExplicitWhitelist) {\n options.nonExplicitSupportedLngs = options.nonExplicitWhitelist;\n }\n\n if (options.supportedLngs && options.supportedLngs.indexOf('cimode') < 0) {\n options.supportedLngs = options.supportedLngs.concat(['cimode']);\n }\n\n return options;\n}\n\nfunction noop() {}\n\nvar I18n = function (_EventEmitter) {\n _inherits(I18n, _EventEmitter);\n\n function I18n() {\n var _this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n _classCallCheck(this, I18n);\n\n _this = _possibleConstructorReturn(this, _getPrototypeOf(I18n).call(this));\n\n if (isIE10) {\n EventEmitter.call(_assertThisInitialized(_this));\n }\n\n _this.options = transformOptions(options);\n _this.services = {};\n _this.logger = baseLogger;\n _this.modules = {\n external: []\n };\n\n if (callback && !_this.isInitialized && !options.isClone) {\n if (!_this.options.initImmediate) {\n _this.init(options, callback);\n\n return _possibleConstructorReturn(_this, _assertThisInitialized(_this));\n }\n\n setTimeout(function () {\n _this.init(options, callback);\n }, 0);\n }\n\n return _this;\n }\n\n _createClass(I18n, [{\n key: \"init\",\n value: function init() {\n var _this2 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (options.whitelist && !options.supportedLngs) {\n this.logger.deprecate('whitelist', 'option \"whitelist\" will be renamed to \"supportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n if (options.nonExplicitWhitelist && !options.nonExplicitSupportedLngs) {\n this.logger.deprecate('whitelist', 'options \"nonExplicitWhitelist\" will be renamed to \"nonExplicitSupportedLngs\" in the next major - please make sure to rename this option asap.');\n }\n\n this.options = _objectSpread({}, get(), this.options, transformOptions(options));\n this.format = this.options.interpolation.format;\n if (!callback) callback = noop;\n\n function createClassOnDemand(ClassOrObject) {\n if (!ClassOrObject) return null;\n if (typeof ClassOrObject === 'function') return new ClassOrObject();\n return ClassOrObject;\n }\n\n if (!this.options.isClone) {\n if (this.modules.logger) {\n baseLogger.init(createClassOnDemand(this.modules.logger), this.options);\n } else {\n baseLogger.init(null, this.options);\n }\n\n var lu = new LanguageUtil(this.options);\n this.store = new ResourceStore(this.options.resources, this.options);\n var s = this.services;\n s.logger = baseLogger;\n s.resourceStore = this.store;\n s.languageUtils = lu;\n s.pluralResolver = new PluralResolver(lu, {\n prepend: this.options.pluralSeparator,\n compatibilityJSON: this.options.compatibilityJSON,\n simplifyPluralSuffix: this.options.simplifyPluralSuffix\n });\n s.interpolator = new Interpolator(this.options);\n s.utils = {\n hasLoadedNamespace: this.hasLoadedNamespace.bind(this)\n };\n s.backendConnector = new Connector(createClassOnDemand(this.modules.backend), s.resourceStore, s, this.options);\n s.backendConnector.on('*', function (event) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n\n if (this.modules.languageDetector) {\n s.languageDetector = createClassOnDemand(this.modules.languageDetector);\n s.languageDetector.init(s, this.options.detection, this.options);\n }\n\n if (this.modules.i18nFormat) {\n s.i18nFormat = createClassOnDemand(this.modules.i18nFormat);\n if (s.i18nFormat.init) s.i18nFormat.init(this);\n }\n\n this.translator = new Translator(this.services, this.options);\n this.translator.on('*', function (event) {\n for (var _len2 = arguments.length, args = new Array(_len2 > 1 ? _len2 - 1 : 0), _key2 = 1; _key2 < _len2; _key2++) {\n args[_key2 - 1] = arguments[_key2];\n }\n\n _this2.emit.apply(_this2, [event].concat(args));\n });\n this.modules.external.forEach(function (m) {\n if (m.init) m.init(_this2);\n });\n }\n\n if (this.options.fallbackLng && !this.services.languageDetector && !this.options.lng) {\n var codes = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n if (codes.length > 0 && codes[0] !== 'dev') this.options.lng = codes[0];\n }\n\n if (!this.services.languageDetector && !this.options.lng) {\n this.logger.warn('init: no languageDetector is used and no lng is defined');\n }\n\n var storeApi = ['getResource', 'hasResourceBundle', 'getResourceBundle', 'getDataByLanguage'];\n storeApi.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store;\n\n return (_this2$store = _this2.store)[fcName].apply(_this2$store, arguments);\n };\n });\n var storeApiChained = ['addResource', 'addResources', 'addResourceBundle', 'removeResourceBundle'];\n storeApiChained.forEach(function (fcName) {\n _this2[fcName] = function () {\n var _this2$store2;\n\n (_this2$store2 = _this2.store)[fcName].apply(_this2$store2, arguments);\n\n return _this2;\n };\n });\n var deferred = defer();\n\n var load = function load() {\n var finish = function finish(err, t) {\n if (_this2.isInitialized) _this2.logger.warn('init: i18next is already initialized. You should call init just once!');\n _this2.isInitialized = true;\n if (!_this2.options.isClone) _this2.logger.log('initialized', _this2.options);\n\n _this2.emit('initialized', _this2.options);\n\n deferred.resolve(t);\n callback(err, t);\n };\n\n if (_this2.languages && _this2.options.compatibilityAPI !== 'v1' && !_this2.isInitialized) return finish(null, _this2.t.bind(_this2));\n\n _this2.changeLanguage(_this2.options.lng, finish);\n };\n\n if (this.options.resources || !this.options.initImmediate) {\n load();\n } else {\n setTimeout(load, 0);\n }\n\n return deferred;\n }\n }, {\n key: \"loadResources\",\n value: function loadResources(language) {\n var _this3 = this;\n\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n var usedCallback = callback;\n var usedLng = typeof language === 'string' ? language : this.language;\n if (typeof language === 'function') usedCallback = language;\n\n if (!this.options.resources || this.options.partialBundledLanguages) {\n if (usedLng && usedLng.toLowerCase() === 'cimode') return usedCallback();\n var toLoad = [];\n\n var append = function append(lng) {\n if (!lng) return;\n\n var lngs = _this3.services.languageUtils.toResolveHierarchy(lng);\n\n lngs.forEach(function (l) {\n if (toLoad.indexOf(l) < 0) toLoad.push(l);\n });\n };\n\n if (!usedLng) {\n var fallbacks = this.services.languageUtils.getFallbackCodes(this.options.fallbackLng);\n fallbacks.forEach(function (l) {\n return append(l);\n });\n } else {\n append(usedLng);\n }\n\n if (this.options.preload) {\n this.options.preload.forEach(function (l) {\n return append(l);\n });\n }\n\n this.services.backendConnector.load(toLoad, this.options.ns, usedCallback);\n } else {\n usedCallback(null);\n }\n }\n }, {\n key: \"reloadResources\",\n value: function reloadResources(lngs, ns, callback) {\n var deferred = defer();\n if (!lngs) lngs = this.languages;\n if (!ns) ns = this.options.ns;\n if (!callback) callback = noop;\n this.services.backendConnector.reload(lngs, ns, function (err) {\n deferred.resolve();\n callback(err);\n });\n return deferred;\n }\n }, {\n key: \"use\",\n value: function use(module) {\n if (!module) throw new Error('You are passing an undefined module! Please check the object you are passing to i18next.use()');\n if (!module.type) throw new Error('You are passing a wrong module! Please check the object you are passing to i18next.use()');\n\n if (module.type === 'backend') {\n this.modules.backend = module;\n }\n\n if (module.type === 'logger' || module.log && module.warn && module.error) {\n this.modules.logger = module;\n }\n\n if (module.type === 'languageDetector') {\n this.modules.languageDetector = module;\n }\n\n if (module.type === 'i18nFormat') {\n this.modules.i18nFormat = module;\n }\n\n if (module.type === 'postProcessor') {\n postProcessor.addPostProcessor(module);\n }\n\n if (module.type === '3rdParty') {\n this.modules.external.push(module);\n }\n\n return this;\n }\n }, {\n key: \"changeLanguage\",\n value: function changeLanguage(lng, callback) {\n var _this4 = this;\n\n this.isLanguageChangingTo = lng;\n var deferred = defer();\n this.emit('languageChanging', lng);\n\n var done = function done(err, l) {\n if (l) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n\n _this4.translator.changeLanguage(l);\n\n _this4.isLanguageChangingTo = undefined;\n\n _this4.emit('languageChanged', l);\n\n _this4.logger.log('languageChanged', l);\n } else {\n _this4.isLanguageChangingTo = undefined;\n }\n\n deferred.resolve(function () {\n return _this4.t.apply(_this4, arguments);\n });\n if (callback) callback(err, function () {\n return _this4.t.apply(_this4, arguments);\n });\n };\n\n var setLng = function setLng(lngs) {\n if (!lng && !lngs && _this4.services.languageDetector) lngs = [];\n var l = typeof lngs === 'string' ? lngs : _this4.services.languageUtils.getBestMatchFromCodes(lngs);\n\n if (l) {\n if (!_this4.language) {\n _this4.language = l;\n _this4.languages = _this4.services.languageUtils.toResolveHierarchy(l);\n }\n\n if (!_this4.translator.language) _this4.translator.changeLanguage(l);\n if (_this4.services.languageDetector) _this4.services.languageDetector.cacheUserLanguage(l);\n }\n\n _this4.loadResources(l, function (err) {\n done(err, l);\n });\n };\n\n if (!lng && this.services.languageDetector && !this.services.languageDetector.async) {\n setLng(this.services.languageDetector.detect());\n } else if (!lng && this.services.languageDetector && this.services.languageDetector.async) {\n this.services.languageDetector.detect(setLng);\n } else {\n setLng(lng);\n }\n\n return deferred;\n }\n }, {\n key: \"getFixedT\",\n value: function getFixedT(lng, ns) {\n var _this5 = this;\n\n var fixedT = function fixedT(key, opts) {\n var options;\n\n if (_typeof(opts) !== 'object') {\n for (var _len3 = arguments.length, rest = new Array(_len3 > 2 ? _len3 - 2 : 0), _key3 = 2; _key3 < _len3; _key3++) {\n rest[_key3 - 2] = arguments[_key3];\n }\n\n options = _this5.options.overloadTranslationOptionHandler([key, opts].concat(rest));\n } else {\n options = _objectSpread({}, opts);\n }\n\n options.lng = options.lng || fixedT.lng;\n options.lngs = options.lngs || fixedT.lngs;\n options.ns = options.ns || fixedT.ns;\n return _this5.t(key, options);\n };\n\n if (typeof lng === 'string') {\n fixedT.lng = lng;\n } else {\n fixedT.lngs = lng;\n }\n\n fixedT.ns = ns;\n return fixedT;\n }\n }, {\n key: \"t\",\n value: function t() {\n var _this$translator;\n\n return this.translator && (_this$translator = this.translator).translate.apply(_this$translator, arguments);\n }\n }, {\n key: \"exists\",\n value: function exists() {\n var _this$translator2;\n\n return this.translator && (_this$translator2 = this.translator).exists.apply(_this$translator2, arguments);\n }\n }, {\n key: \"setDefaultNamespace\",\n value: function setDefaultNamespace(ns) {\n this.options.defaultNS = ns;\n }\n }, {\n key: \"hasLoadedNamespace\",\n value: function hasLoadedNamespace(ns) {\n var _this6 = this;\n\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n\n if (!this.isInitialized) {\n this.logger.warn('hasLoadedNamespace: i18next was not initialized', this.languages);\n return false;\n }\n\n if (!this.languages || !this.languages.length) {\n this.logger.warn('hasLoadedNamespace: i18n.languages were undefined or empty', this.languages);\n return false;\n }\n\n var lng = this.languages[0];\n var fallbackLng = this.options ? this.options.fallbackLng : false;\n var lastLng = this.languages[this.languages.length - 1];\n if (lng.toLowerCase() === 'cimode') return true;\n\n var loadNotPending = function loadNotPending(l, n) {\n var loadState = _this6.services.backendConnector.state[\"\".concat(l, \"|\").concat(n)];\n\n return loadState === -1 || loadState === 2;\n };\n\n if (options.precheck) {\n var preResult = options.precheck(this, loadNotPending);\n if (preResult !== undefined) return preResult;\n }\n\n if (this.hasResourceBundle(lng, ns)) return true;\n if (!this.services.backendConnector.backend) return true;\n if (loadNotPending(lng, ns) && (!fallbackLng || loadNotPending(lastLng, ns))) return true;\n return false;\n }\n }, {\n key: \"loadNamespaces\",\n value: function loadNamespaces(ns, callback) {\n var _this7 = this;\n\n var deferred = defer();\n\n if (!this.options.ns) {\n callback && callback();\n return _Promise.resolve();\n }\n\n if (typeof ns === 'string') ns = [ns];\n ns.forEach(function (n) {\n if (_this7.options.ns.indexOf(n) < 0) _this7.options.ns.push(n);\n });\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"loadLanguages\",\n value: function loadLanguages(lngs, callback) {\n var deferred = defer();\n if (typeof lngs === 'string') lngs = [lngs];\n var preloaded = this.options.preload || [];\n var newLngs = lngs.filter(function (lng) {\n return preloaded.indexOf(lng) < 0;\n });\n\n if (!newLngs.length) {\n if (callback) callback();\n return _Promise.resolve();\n }\n\n this.options.preload = preloaded.concat(newLngs);\n this.loadResources(function (err) {\n deferred.resolve();\n if (callback) callback(err);\n });\n return deferred;\n }\n }, {\n key: \"dir\",\n value: function dir(lng) {\n if (!lng) lng = this.languages && this.languages.length > 0 ? this.languages[0] : this.language;\n if (!lng) return 'rtl';\n var rtlLngs = ['ar', 'shu', 'sqr', 'ssh', 'xaa', 'yhd', 'yud', 'aao', 'abh', 'abv', 'acm', 'acq', 'acw', 'acx', 'acy', 'adf', 'ads', 'aeb', 'aec', 'afb', 'ajp', 'apc', 'apd', 'arb', 'arq', 'ars', 'ary', 'arz', 'auz', 'avl', 'ayh', 'ayl', 'ayn', 'ayp', 'bbz', 'pga', 'he', 'iw', 'ps', 'pbt', 'pbu', 'pst', 'prp', 'prd', 'ug', 'ur', 'ydd', 'yds', 'yih', 'ji', 'yi', 'hbo', 'men', 'xmn', 'fa', 'jpr', 'peo', 'pes', 'prs', 'dv', 'sam'];\n return rtlLngs.indexOf(this.services.languageUtils.getLanguagePartFromCode(lng)) >= 0 ? 'rtl' : 'ltr';\n }\n }, {\n key: \"createInstance\",\n value: function createInstance() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 ? arguments[1] : undefined;\n return new I18n(options, callback);\n }\n }, {\n key: \"cloneInstance\",\n value: function cloneInstance() {\n var _this8 = this;\n\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var callback = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : noop;\n\n var mergedOptions = _objectSpread({}, this.options, options, {\n isClone: true\n });\n\n var clone = new I18n(mergedOptions);\n var membersToCopy = ['store', 'services', 'language'];\n membersToCopy.forEach(function (m) {\n clone[m] = _this8[m];\n });\n clone.services = _objectSpread({}, this.services);\n clone.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n clone.translator = new Translator(clone.services, clone.options);\n clone.translator.on('*', function (event) {\n for (var _len4 = arguments.length, args = new Array(_len4 > 1 ? _len4 - 1 : 0), _key4 = 1; _key4 < _len4; _key4++) {\n args[_key4 - 1] = arguments[_key4];\n }\n\n clone.emit.apply(clone, [event].concat(args));\n });\n clone.init(mergedOptions, callback);\n clone.translator.options = clone.options;\n clone.translator.backendConnector.services.utils = {\n hasLoadedNamespace: clone.hasLoadedNamespace.bind(clone)\n };\n return clone;\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n return {\n options: this.options,\n store: this.store,\n language: this.language,\n languages: this.languages\n };\n }\n }]);\n\n return I18n;\n}(EventEmitter);\n\nvar i18next = new I18n();\nexport default i18next;","import i18next from \"i18next\";\nimport {LocaleJa as ja} from '../locales/ja'\nimport {LocaleEn as en} from '../locales/en'\n\ni18next.init({\n fallbackLng: 'ja',\n lng: document.documentElement.lang,\n resources: {\n ja: {translation: ja},\n en: {translation: en}\n }\n});\n\nexport default i18next;\n","export const LocaleJa = {\n memo: {\n draftRevived: '下書きを復元しますか?',\n draftRevived2: '編集中のメモのバックアップを復元しますか?',\n save: 'メモを保存します。よろしいですか?',\n draft_save: '下書きを保存します。よろしいですか?',\n title: 'タイトル',\n title_blank: 'タイトル未設定',\n message: '本文',\n memo_tag: 'タグ',\n brand: '銘柄',\n investment: 'レーティング・メモ',\n },\n sign: {\n redIncrease: '赤増',\n redDecrease: '赤減',\n changeRed: '赤転',\n changeBlack: '黒転',\n },\n histogram: {\n yourEst: '予想',\n consensus: '市場',\n alertText: '検索したい年度の予想値を再度保存していただいてから、もう一度検索してください。'\n },\n chat: {\n banner: 'チャット',\n placeHolder: 'メッセージをどうぞ... (Ctrl+Enterキーで送信) ※記名投稿',\n submitBtn: '送信',\n BBS: '掲示板',\n channel: 'チャンネル',\n DM: 'DM',\n follow: 'フォロー',\n follower: 'フォロワー',\n createChannel: {\n promptMsg: '作成するチャンネル名を入力してください...(最大20文字)',\n alert: 'チャンネル名は1~20文字以内で入力下さい',\n },\n channelUser: 'メンバー',\n addChannelUser: 'チャンネルに追加しますか?',\n deleteChannel: 'グループチャット {{channelName}} を削除しますか?',\n deleteMessage: 'メッセージを削除しますか?',\n transmissionTime: {\n aFewSecondAgo: '数秒前',\n secondsAgo: '秒前',\n withinOneMinute: '1分以内',\n minutesAgo: '分前',\n withinOneHour: '1時間以内',\n hoursAgo: '時間前',\n yesterday: '昨日',\n daysAgo: '日前',\n }\n },\n ticker: {\n targetPrice: {\n alertText: '目標株価を更新できませんでした',\n }\n },\n addTickerToCoverage: {\n error: {\n alreadyAdded: '既に追加されています。',\n notExist: '追加しようとしたグループは存在しません。'\n }\n },\n stockChart: {\n title: '株価・{{ bar }}・PER',\n titleUs: '株価',\n yAxis: {\n label: {\n JP: '株価(円)',\n US: '株価(USD)'\n },\n billion: '(十億円)',\n yen: '(円)'\n },\n barType: {\n revenue: '売上高',\n gp: '売上総利益',\n op: '営業利益',\n ebt: '税前利益',\n income: '純利益',\n dps: 'DPS',\n }\n },\n targetStockList: {\n label: {\n targetDate: '予想対象日',\n stock: '株価 ',\n tpHi: '目標株価',\n tpLow: 'リスク値'\n },\n btn: {\n save: '保存',\n saved: '保存済',\n delete: '削除'\n },\n errors: {\n eitherOneHasValue: '株価(高)は必須項目です。*リスク値は未入力でも保存できます',\n maximumGreaterThanMinimum: '目標株価 >= リスク値となるように値を入力してください',\n moreMinorityOrLess: '小数点以下は2桁までかつ、1以上の数値を入力してください',\n blankTargetData: '予想対象日を入力してください',\n afterToday: '予想対象日は本日以降を選択してください。*本日より前のデータは削除のみ可能です',\n upToFiveYears: '5年後まで予想可能です',\n alreadyExist: '{{ targetDate }}はすでに存在します',\n failedToSave: '保存できませんでした',\n failedToDelete: '削除できませんでした'\n }\n },\n trackerChart: {\n actual: '実績値',\n guidance: '計画値',\n fix: '計画値',\n estimation: '予想値',\n published_at: '発表日',\n type: {\n revenue: '売上高(十億円)',\n op: '営業利益(十億円)',\n rp: '経常利益(十億円)',\n ebt: '税前利益(十億円)',\n income: '純利益(十億円)',\n eps: '一株益(円)',\n dps: '一株配(円)'\n }\n },\n relativeChart: {\n yAxis: {\n label: '変化率',\n },\n error: {\n blank: '比較したい銘柄 or カスタム指数を2つ選んでください。',\n takingLonger: '通常より時間がかかっています。時間を置いて再度アクセスしてください。'\n }\n },\n customIndex: {\n btn: {\n calculating: '計算中...',\n update: 'カスタムインデックスを計算してグラフを更新'\n },\n selectBox: {\n added: '追加',\n deleted: '削除',\n },\n flash: {\n finishCalculation: '計算が完了しました',\n error: '計算中にエラーが発生しました',\n takingLonger: '通常より時間がかかっています。時間を置いて再度アクセスしてください。'\n },\n error: {\n failedCalucualtion: '計算中にエラーが発生しました。contact@gyoseki.comまでご連絡ください。'\n },\n graph: {\n xAxis: '日付',\n yAxis: 'インデックス',\n tooltip: {\n label: '変化率',\n }\n }\n },\n embed: {\n sc: {\n yAxis: {\n label: '株価(円)',\n billion: '(十億円)'\n },\n profitType: {\n op: '営業利益',\n rp: '経常利益',\n ebt: '税前利益'\n }\n }\n },\n financials: {\n thHover: {\n close: 'クリックして四半期を閉じる',\n open: 'クリックして四半期を開く'\n }\n },\n longTermEstimation: {\n btn: {\n save: '保存する',\n saving: '保存中...',\n saved: '保存しました',\n },\n error: {\n failed: '保存に失敗しました'\n },\n validation: {\n blankTerm: '{{dateStr}} の数値を入力してください'\n }\n },\n team: {\n team_members: 'メンバー',\n team_name: 'ユーザー名',\n privilege: '権限',\n gyoseki_id: 'Gyoseki ID',\n status: 'ステータス',\n lock: '操作',\n show_members: 'メンバーを表示',\n showing_members: '表示中',\n }\n};\n","export const LocaleEn = {\n memo: {\n draftRevived: 'Do you want to retrieve draft?',\n draftRevived2: 'Do you want to retrieve autosaved draft?',\n save: 'Will save and Send your Memo',\n draft_save: 'Save as DRAFT',\n title: 'Title',\n title_blank: 'Title empty',\n message: 'Text',\n memo_tag: 'Tags',\n brand: 'Company name',\n investment: 'Rating',\n },\n sign: {\n redIncrease: 'L-widen',\n redDecrease: 'L-shrank',\n changeRed: 'Turn Loss',\n changeBlack: 'Turn Prof',\n },\n histogram: {\n yourEst: 'Est',\n consensus: 'Con',\n alertText: 'Please re-enter your forecast for the period you want to display'\n },\n chat: {\n banner: 'Chat',\n placeHolder: 'Enter message here... (Ctrl+Enter to send) *Name registration',\n submitBtn: 'Send',\n BBS: 'Public',\n channel: 'Channel',\n DM: 'DM',\n follow: 'Follow',\n follower: 'Follower',\n createChannel: {\n promptMsg: 'Enter new Channel Name...(Max 20 chars)',\n alert: 'Please limit Channel name within 20 characters',\n },\n channelUser: 'Members',\n addChannelUser: 'Add to Channel?',\n deleteChannel: 'Delete {{channelName}} channel?',\n deleteMessage: 'Delete message?',\n transmissionTime: {\n aFewSecondAgo: 'few sec ago',\n secondsAgo: 'sec ago',\n withinOneMinute: 'within 1min',\n minutesAgo: 'min ago',\n withinOneHour: 'within 1hr',\n hoursAgo: 'hours ago',\n yesterday: 'yesterday',\n daysAgo: 'days ago',\n },\n },\n ticker: {\n targetPrice: {\n alertText: 'Failed to update the target price',\n }\n },\n addTickerToCoverage: {\n error: {\n alreadyAdded: 'Already added.',\n notExist: 'The targeted group does not exist.'\n }\n },\n stockChart: {\n title: 'Share Price・{{ bar }}・PER',\n titleUs: 'Share Price',\n yAxis: {\n label: { \n JP: 'Stock Price(JPY)',\n US: 'Stock Price(USD)'\n },\n billion: '(JPY bn)',\n yen: '(JPY)'\n },\n barType: {\n revenue: 'Revenues',\n gp: 'Gross Profit',\n op: 'OP',\n ebt: 'EBT',\n income: 'NP',\n dps: 'DPS',\n }\n },\n targetStockList: {\n label: {\n targetDate: 'Target Date',\n stock: 'Price',\n tpHi: 'Target',\n tpLow: 'Risk'\n },\n btn: {\n save: 'Save',\n saved: 'Saved',\n delete: 'Delete'\n },\n errors: {\n eitherOneHasValue: 'Please enter value in Target&Risk *Risk can be blank',\n maximumGreaterThanMinimum: 'Enter values as follows: Target >= Risk',\n moreMinorityOrLess: 'TP is limited to 2 decimal place and should be higher than 1',\n blankTargetData: 'Please enter Target Date',\n afterToday: 'Please enter future date *You can only delete past entries',\n upToFiveYears: 'You may set TP upto 5 years',\n alreadyExist: '{{ targetDate }} already exists',\n failedToSave: 'Could NOT be saved',\n failedToDelete: 'Could NOT be deleted'\n }\n },\n trackerChart: {\n actual: 'Actual',\n guidance: 'Guidance',\n fix: 'Guidance',\n estimation: 'Forecast',\n published_at: 'Report date',\n type: {\n revenue: 'Revenues (bn JPY)',\n op: 'OP (bn JPY)',\n rp: 'RP (bn JPY)',\n ebt: 'EBT (bn JPY)',\n income: 'NP (bn JPY)',\n eps: 'EPS (JPY)',\n dps: 'DPS (JPY)'\n }\n },\n relativeChart: {\n yAxis: {\n label: '% Change',\n },\n error: {\n blank: 'Choose two companies or custom indices to compare',\n takingLonger: 'It is taking longer than usual. Please come back later'\n }\n },\n customIndex: {\n btn: {\n calculating: 'Calculating...',\n update: 'Recalculate and Update Graph'\n },\n selectBox: {\n added: 'Add',\n deleted: 'Remove',\n },\n flash: {\n finishCalculation: 'Finished calculation',\n error: 'There was an error during calculation',\n takingLonger: 'It is taking longer than usual. Please come back later'\n },\n error: {\n failedCalucualtion: 'There was an error during calculation. Please contact us at contact@gyoseki.com'\n },\n graph: {\n xAxis: 'Date',\n yAxis: 'Index',\n tooltip: {\n label: '% Change',\n }\n }\n },\n embed: {\n sc: {\n yAxis: {\n label: 'Stock Price(JPY)',\n billion: '(JPY bn)'\n },\n profitType: {\n op: 'OP',\n rp: 'RP',\n ebt: 'EBT'\n }\n }\n },\n financials: {\n thHover: {\n close: 'Click to hide quarterly data',\n open: 'Click to display quarterly data'\n }\n },\n longTermEstimation: {\n btn: {\n save: 'Save',\n saving: 'Saving...',\n saved: 'Saved',\n },\n error: {\n failed: 'Failed to save'\n },\n validation: {\n blankTerm: 'Please complete {{ dateStr }} projections.'\n }\n },\n team: {\n team_members: 'Members...',\n team_name: 'User Name',\n privilege: 'Privilege',\n gyoseki_id: 'Gyoseki ID',\n status: 'Status',\n lock: 'Lock',\n show_members: 'Show Members',\n showing_members: 'Showing',\n }\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","module.exports = {};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.13.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nvar g; // This works in non-strict mode\n\ng = function () {\n return this;\n}();\n\ntry {\n // This works if eval is allowed (see CSP)\n g = g || new Function(\"return this\")();\n} catch (e) {\n // This works if the window reference is available\n if ((typeof window === \"undefined\" ? \"undefined\" : _typeof(window)) === \"object\") g = window;\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\n\nmodule.exports = g;","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_OUT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","// shim for using process in browser\nvar process = module.exports = {}; // 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}\n\nfunction defaultClearTimeout() {\n throw new Error('clearTimeout has not been defined');\n}\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\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n})();\n\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n } // if setTimeout wasn't available but was latter defined\n\n\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\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\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n } // if clearTimeout wasn't available but was latter defined\n\n\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\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\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n\n draining = false;\n\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n var len = queue.length;\n\n while (len) {\n currentQueue = queue;\n queue = [];\n\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n\n queueIndex = -1;\n len = queue.length;\n }\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\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n\n queue.push(new Item(fun, args));\n\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n}; // v8 likes predictible objects\n\n\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\n\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\n\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\n\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) {\n return [];\n};\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () {\n return '/';\n};\n\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\n\nprocess.umask = function () {\n return 0;\n};","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") {\n module.exports = _typeof = function _typeof(obj) {\n return typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n } else {\n module.exports = _typeof = function _typeof(obj) {\n return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n };\n\n module.exports[\"default\"] = module.exports, module.exports.__esModule = true;\n }\n\n return _typeof(obj);\n}\n\nmodule.exports = _typeof;\nmodule.exports[\"default\"] = module.exports, module.exports.__esModule = true;","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var isObject = require('../internals/is-object');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\n\n// makes subclassing work correct for wrapped built-ins\nmodule.exports = function ($this, dummy, Wrapper) {\n var NewTarget, NewTargetPrototype;\n if (\n // it can work only with native `setPrototypeOf`\n setPrototypeOf &&\n // we haven't completely correct pre-ES6 way for getting `new.target`, so use this\n typeof (NewTarget = dummy.constructor) == 'function' &&\n NewTarget !== Wrapper &&\n isObject(NewTargetPrototype = NewTarget.prototype) &&\n NewTargetPrototype !== Wrapper.prototype\n ) setPrototypeOf($this, NewTargetPrototype);\n return $this;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar isForced = require('../internals/is-forced');\nvar redefine = require('../internals/redefine');\nvar has = require('../internals/has');\nvar classof = require('../internals/classof-raw');\nvar inheritIfRequired = require('../internals/inherit-if-required');\nvar toPrimitive = require('../internals/to-primitive');\nvar fails = require('../internals/fails');\nvar create = require('../internals/object-create');\nvar getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar defineProperty = require('../internals/object-define-property').f;\nvar trim = require('../internals/string-trim').trim;\n\nvar NUMBER = 'Number';\nvar NativeNumber = global[NUMBER];\nvar NumberPrototype = NativeNumber.prototype;\n\n// Opera ~12 has broken Object#toString\nvar BROKEN_CLASSOF = classof(create(NumberPrototype)) == NUMBER;\n\n// `ToNumber` abstract operation\n// https://tc39.es/ecma262/#sec-tonumber\nvar toNumber = function (argument) {\n var it = toPrimitive(argument, false);\n var first, third, radix, maxCode, digits, length, index, code;\n if (typeof it == 'string' && it.length > 2) {\n it = trim(it);\n first = it.charCodeAt(0);\n if (first === 43 || first === 45) {\n third = it.charCodeAt(2);\n if (third === 88 || third === 120) return NaN; // Number('+0x1') should be NaN, old V8 fix\n } else if (first === 48) {\n switch (it.charCodeAt(1)) {\n case 66: case 98: radix = 2; maxCode = 49; break; // fast equal of /^0b[01]+$/i\n case 79: case 111: radix = 8; maxCode = 55; break; // fast equal of /^0o[0-7]+$/i\n default: return +it;\n }\n digits = it.slice(2);\n length = digits.length;\n for (index = 0; index < length; index++) {\n code = digits.charCodeAt(index);\n // parseInt parses a string to a first unavailable symbol\n // but ToNumber should return NaN if a string contains unavailable symbols\n if (code < 48 || code > maxCode) return NaN;\n } return parseInt(digits, radix);\n }\n } return +it;\n};\n\n// `Number` constructor\n// https://tc39.es/ecma262/#sec-number-constructor\nif (isForced(NUMBER, !NativeNumber(' 0o1') || !NativeNumber('0b1') || NativeNumber('+0x1'))) {\n var NumberWrapper = function Number(value) {\n var it = arguments.length < 1 ? 0 : value;\n var dummy = this;\n return dummy instanceof NumberWrapper\n // check on 1..constructor(foo) case\n && (BROKEN_CLASSOF ? fails(function () { NumberPrototype.valueOf.call(dummy); }) : classof(dummy) != NUMBER)\n ? inheritIfRequired(new NativeNumber(toNumber(it)), dummy, NumberWrapper) : toNumber(it);\n };\n for (var keys = DESCRIPTORS ? getOwnPropertyNames(NativeNumber) : (\n // ES3:\n 'MAX_VALUE,MIN_VALUE,NaN,NEGATIVE_INFINITY,POSITIVE_INFINITY,' +\n // ES2015 (in case, if modules with ES2015 Number statics required before):\n 'EPSILON,isFinite,isInteger,isNaN,isSafeInteger,MAX_SAFE_INTEGER,' +\n 'MIN_SAFE_INTEGER,parseFloat,parseInt,isInteger,' +\n // ESNext\n 'fromString,range'\n ).split(','), j = 0, key; keys.length > j; j++) {\n if (has(NativeNumber, key = keys[j]) && !has(NumberWrapper, key)) {\n defineProperty(NumberWrapper, key, getOwnPropertyDescriptor(NativeNumber, key));\n }\n }\n NumberWrapper.prototype = NumberPrototype;\n NumberPrototype.constructor = NumberWrapper;\n redefine(global, NUMBER, NumberWrapper);\n}\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? objectKeys(S).concat(getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || propertyIsEnumerable.call(S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, forced: Object.assign !== assign }, {\n assign: assign\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","import i18next from \"../../locales/i18next\";\n\n/* eslint-disable no-undef */\nfunction LineChart(datasets, {\n y = (data) => data.close,\n y2 = (data) => data.profit,\n x = (data) => data.date,\n x2 = (data) => data.end_date,\n defined, // for gaps in data\n curve = d3.curveLinear, // method of interpolation between points\n marginTop = 40, // top margin, in pixels\n marginRight = 80, // right margin, in pixels\n marginBottom = 30, // bottom margin, in pixels\n marginLeft = 80, // left margin, in pixels\n width, // outer width, in pixels\n height, // outer height, in pixels\n xType = d3.scaleUtc, // type of x-scale\n xDomain, // [xmin, xmax]\n xRange = [marginLeft, width - marginRight], // [left, right]\n yType = d3.scaleLinear, // type of y-scale\n yDomain, // [ymin, ymax]\n y2Domain, // [y2min, y2max]\n yRange = [height - marginBottom, marginTop], // [bottom, top]\n y2Range = [height - marginBottom, (height - marginBottom) / 2], // [bottom, top]\n chartBgColor = \"#222\",\n lineColor = '#0D70D5',\n barActColor = '#87CEFA',\n barEstColor = 'orange',\n barMinusColor = 'pink',\n axisStringColor = '#fff',\n axisFontSize = '14px',\n strokeWidth = 1.5, // stroke width of line, in pixels\n strokeLinejoin = \"round\", // stroke line join of line\n strokeLinecap = \"round\", // stroke line cap of line\n yFormat, // a format specifier string for the y-axis\n yLabel, // a label for the y-axis\n y2Label\n} = {}) {\n /** X軸のみのデータ配列(株価日付) @type {String[]} */\n const X = d3.map(datasets.stock, x);\n /** X軸のみのデータ配列(利益日付) @type {String[]} */\n const X2 = d3.map(datasets.profit, x2);\n /** Y軸のみのデータ配列(終値) @type {Number[]} */\n const Y = d3.map(datasets.stock, y);\n\n /** Y軸2のデータ配列(profitの値) @type {Number[]} */\n const Y2 = d3.map(datasets.profit, y2);\n /** indexのみのデータ配列[1, 2 ... 100, 101] @type {Number[]} */\n const I = d3.map(datasets.stock, (_, i) => i);\n\n // defined = datasetの中で値にNaNが含まれていないものだけを判定する\n // _ => {date, close}, i => d3.mapでのindex\n if (defined === undefined) defined = (_, i) => !isNaN(X[i]) && !isNaN(Y[i]);\n\n /** defined変数内に保存された、日付と終値のどちらもデータが存在するもののみ集めた配列 @type {(string | number)[]} */\n const D = d3.map(datasets.stock, defined);\n\n /** 最小値が0以上の場合は基準値を0とする(負の数値の時のみ0以下を基準線とする) */\n const checkMin = (minNum) => (minNum < 0) ? minNum : 0;\n\n // domainに最大最小値を代入\n if (xDomain === undefined) xDomain = [d3.min(X), d3.max([d3.max(X2), d3.max(X)])];\n // const minY = d3.min([d3.min(Y), d3.min(TMIN)]);\n const minY = d3.min(Y);\n // const maxY = d3.max([d3.max(Y), d3.max(TMAX)]);\n const maxY = d3.max(Y);\n // 株価と目標株価の中で最小値を抜き出し、さらにそこから−10%したものをグラフの最小値とする。(-10%するのは軸に値がくっつかないようにするため)\n if (yDomain === undefined) yDomain = [minY * 0.5, maxY * 1.1];\n if (y2Domain === undefined) y2Domain = [checkMin(d3.min(Y2)), d3.max(Y2)];\n\n // domainでグラフの最大最小値、rangeで描画範囲を決定\n const xScale = xType(xDomain, xRange);\n const yScale = yType(yDomain, yRange);\n const y2Scale = yType(y2Domain, y2Range);\n const xAxis = d3.axisBottom(xScale).ticks(width / 100).tickSizeOuter(0);\n const yAxis = d3.axisLeft(yScale).ticks(height / 80, yFormat);\n const y2Axis = d3.axisRight(y2Scale).ticks(height / 80, yFormat);\n\n // lineを描画\n const stockLine = d3.line()\n .defined(i => D[i])\n .curve(curve)\n .x(i => xScale(X[i]))\n .y(i => yScale(Y[i]));\n\n // グラフの大元svgを作成\n const svg = d3.create(\"svg\")\n .attr(\"width\", width)\n .attr(\"height\", height)\n .attr(\"id\", \"stock-chart-svg\")\n .attr(\"style\", `max-width: 100%; background-color: ${chartBgColor};`)\n .attr(\"font-size\", 12)\n .attr(\"color\", axisStringColor)\n .style(\"-webkit-tap-highlight-color\", \"transparent\");\n\n // y軸2(右)を表示\n svg.append(\"g\")\n .attr(\"transform\", `translate(${xRange[1]},0)`)\n .call(y2Axis)\n .style(\"font-size\", axisFontSize)\n .call(g => g.select(\".domain\").remove())\n .call(g => g.append(\"text\")\n .attr(\"x\", marginRight)\n .attr(\"y\", 10)\n .attr(\"text-anchor\", \"end\")\n .text(y2Label)\n .style(\"fill\", axisStringColor)\n .attr(\"dx\", -5)\n .attr(\"dy\", 5));\n\n // 株価チャートを表示\n svg.append(\"path\")\n .attr(\"fill\", \"none\")\n .attr(\"stroke\", lineColor)\n .attr(\"stroke-width\", strokeWidth)\n .attr(\"stroke-linejoin\", strokeLinejoin)\n .attr(\"stroke-linecap\", strokeLinecap)\n .attr(\"d\", stockLine(I));\n\n // 株価チャートの歯抜け部分を表示\n svg.append(\"path\")\n .attr(\"fill\", \"none\")\n .attr(\"stroke\", lineColor)\n .attr(\"d\", stockLine(I.filter(i => D[i])));\n\n const barTooltip = d3.select(\"body\").append(\"div\").attr(\"class\", \"bar-tooltip\").style(\"pointer-events\", \"none\");\n const timeFormat = d3.timeFormat(\"%y.%m\");\n const barPointerMoved = (e, data) => {\n barTooltip.style(\"visibility\", \"visible\")\n .html(`
FY${timeFormat(data.end_date)}
${i18next.t(`embed.sc.profitType.${data.profit_type}`)}: ${data.profit}`)\n .style(\"top\", (e.pageY - 60) + \"px\")\n .style(\"left\", (e.pageX - 110) + \"px\");\n };\n\n // 利益グラフを表示\n svg.append(\"g\")\n .attr(\"fill\", \"none\")\n .attr(\"fill-opacity\", 0.5)\n .selectAll(\"rect\")\n .data(datasets.profit)\n .join(\"rect\")\n .attr(\"x\", (d) => xScale(d.start_date))\n .attr(\"width\", d => xScale(d.end_date) - xScale(d.start_date))\n .attr(\"y\", d => {\n return (d3.min(Y2) < 0) ? y2Scale(Math.max(0, d.profit)) : y2Scale(d.profit);\n })\n .attr(\"class\", \"profit-bar\")\n .attr(\"height\", d => {\n return (d3.min(Y2) < 0) ? Math.abs(y2Scale(d.profit) - y2Scale(0)) : y2Scale(0) - y2Scale(d.profit);\n })\n .attr(\"fill\", d => {\n if (d.type === 'form') return barEstColor;\n\n return (d.profit < 0) ? barMinusColor : barActColor;\n })\n .attr('opacity', '0.7')\n .on(\"pointerenter pointermove\", barPointerMoved)\n .on(\"pointerleave\", ()=> {\n barTooltip.style(\"visibility\", \"hidden\");\n });\n\n // x軸にpeバンドが描画されないよう、一枚レイヤーを重ねる\n svg.append(\"rect\")\n .attr(\"x\", marginLeft)\n .attr(\"y\", height - marginBottom)\n .attr(\"width\", width - marginRight - marginLeft)\n .attr(\"height\",\"100%\")\n .attr(\"fill\", chartBgColor);\n // Y軸にグラフが重ならないよう、一枚レイヤーを重ねる\n svg.append(\"rect\")\n .attr(\"x\", 0)\n .attr(\"y\", 0)\n .attr(\"width\", marginLeft)\n .attr(\"height\",\"100%\")\n .attr(\"fill\", chartBgColor);\n // x軸を描画\n svg.append(\"g\")\n .attr(\"transform\", `translate(0,${height - marginBottom})`)\n .call(xAxis)\n .style(\"font-size\", axisFontSize);\n // y軸を描画\n svg.append(\"g\")\n .attr(\"transform\", `translate(${marginLeft},0)`)\n .call(yAxis)\n .style(\"font-size\", axisFontSize)\n .call(g => g.select(\".domain\").remove())\n .call(g => g.selectAll(\".tick line\").clone()\n .attr(\"x2\", width - marginLeft - marginRight)\n .attr(\"stroke-opacity\", 0.1))\n .call(g => g.append(\"text\")\n .attr(\"x\", -marginLeft)\n .attr(\"y\", 10)\n .attr(\"fill\", \"currentColor\")\n .attr(\"text-anchor\", \"start\")\n .text(yLabel)\n .attr(\"dx\", 5)\n .attr(\"dy\", 5));\n\n return Object.assign(svg.node(), {value: null});\n}\n\n{\n // d3のX軸日付用にデータをparse\n const dateTimeParser = d3.timeParse(\"%Y/%m/%d %H:%M\");\n const dateParser = d3.timeParse(\"%Y/%m/%d\");\n\n const setDataset = (data, beforeDataset)=> {\n const dataset = data.stock_chart.stock_values.map(data => {\n return { \n date: dateTimeParser(data.date),\n close: data.close || Number.NaN,\n };\n });\n\n const profitDataset = data.stock_chart.bar_data.map(data => {\n return { \n start_date: dateParser(data.start_date),\n end_date: dateParser(data.end_date),\n profit: data.value,\n profit_type: data.bar_type,\n type: data.type\n };\n });\n\n const get_est_profit = () => {\n if (!beforeDataset) return [];\n\n return beforeDataset.profit.filter(b=> b.type === 'form');\n };\n\n return {\n stock: dataset,\n profit: profitDataset.concat(get_est_profit()),\n profitType: data.stock_chart.profit_type\n };\n };\n\n const datasets = setDataset(gon);\n\n const wrapperElem = document.getElementById('stock-chart-wrapper');\n\n const deleteChart = () => {\n document.getElementById('stock-chart-svg')?.remove();\n document.querySelector('.bar-tooltip')?.remove();\n };\n\n const calcMargin = (width) => {\n if (width < 500) {\n return { top: 40, right: 40, bottom: 30, left: 50 };\n } else {\n return { top: 40, right: 80, bottom: 30, left: 80 };\n }\n };\n\n const calcFontSize = (width) => {\n return width < 500 ? '10px' : '14px';\n };\n\n const renderChart = (datasets)=> {\n const baseDatasets = datasets;\n const width = wrapperElem.clientWidth;\n const margin = calcMargin(width);\n const height = wrapperElem.clientHeight;\n const y2label = baseDatasets.profitType != null ? `${i18next.t(`embed.sc.profitType.${baseDatasets.profitType}`)}${i18next.t('embed.sc.yAxis.billion')}` : '';\n const stockChart = LineChart(baseDatasets, {\n yLabel: i18next.t('embed.sc.yAxis.label'),\n y2Label: y2label,\n width: width,\n height: height,\n marginTop: margin.top,\n marginRight: margin.right,\n marginBottom: margin.bottom,\n marginLeft: margin.left,\n axisFontSize: calcFontSize(width)\n });\n wrapperElem.append(stockChart);\n };\n\n renderChart(datasets);\n\n const resize = ()=> {\n deleteChart();\n renderChart(datasets);\n };\n\n window.addEventListener(\"resize\", resize);\n}\n/* eslint-enable no-undef */\n"],"sourceRoot":""}