summaryrefslogtreecommitdiff
path: root/ext/lib/wanakana.min.js.map
diff options
context:
space:
mode:
authorDarius Jahandarie <djahandarie@gmail.com>2023-11-04 18:45:57 +0900
committerDarius Jahandarie <djahandarie@gmail.com>2023-11-04 18:45:57 +0900
commitef79eab44bfd000792c610b968b5ceefd41e76a0 (patch)
tree48b04f30f6248caedbd880801aa49402a9e8066a /ext/lib/wanakana.min.js.map
parent376151096431d4362e4baaacf0cef4a534e169f7 (diff)
Modernize codebase
- Use ES modules - Remove vendored libs and build them from npm using esbuild - Switch from JSZip to zip.js
Diffstat (limited to 'ext/lib/wanakana.min.js.map')
-rw-r--r--ext/lib/wanakana.min.js.map1
1 files changed, 0 insertions, 1 deletions
diff --git a/ext/lib/wanakana.min.js.map b/ext/lib/wanakana.min.js.map
deleted file mode 100644
index 518174e1..00000000
--- a/ext/lib/wanakana.min.js.map
+++ /dev/null
@@ -1 +0,0 @@
-{"version":3,"file":"wanakana.min.js","sources":["../../node_modules/core-js/modules/_global.js","../../node_modules/core-js/modules/_core.js","../../node_modules/core-js/modules/_is-object.js","../../node_modules/core-js/modules/_an-object.js","../../node_modules/core-js/modules/_fails.js","../../node_modules/core-js/modules/_descriptors.js","../../node_modules/core-js/modules/_dom-create.js","../../node_modules/core-js/modules/_ie8-dom-define.js","../../node_modules/core-js/modules/_to-primitive.js","../../node_modules/core-js/modules/_object-dp.js","../../node_modules/core-js/modules/_property-desc.js","../../node_modules/core-js/modules/_hide.js","../../node_modules/core-js/modules/_has.js","../../node_modules/core-js/modules/_uid.js","../../node_modules/core-js/modules/_redefine.js","../../node_modules/core-js/modules/_a-function.js","../../node_modules/core-js/modules/_ctx.js","../../node_modules/core-js/modules/_export.js","../../node_modules/core-js/modules/_typed.js","../../node_modules/core-js/modules/_library.js","../../node_modules/core-js/modules/_redefine-all.js","../../node_modules/core-js/modules/_an-instance.js","../../node_modules/core-js/modules/_to-integer.js","../../node_modules/core-js/modules/_to-length.js","../../node_modules/core-js/modules/_to-index.js","../../node_modules/core-js/modules/_cof.js","../../node_modules/core-js/modules/_iobject.js","../../node_modules/core-js/modules/_defined.js","../../node_modules/core-js/modules/_to-iobject.js","../../node_modules/core-js/modules/_to-absolute-index.js","../../node_modules/core-js/modules/_array-includes.js","../../node_modules/core-js/modules/_shared.js","../../node_modules/core-js/modules/_shared-key.js","../../node_modules/core-js/modules/_object-keys-internal.js","../../node_modules/core-js/modules/_enum-bug-keys.js","../../node_modules/core-js/modules/_object-gopn.js","../../node_modules/core-js/modules/_to-object.js","../../node_modules/core-js/modules/_array-fill.js","../../node_modules/core-js/modules/_wks.js","../../node_modules/core-js/modules/_set-to-string-tag.js","../../node_modules/core-js/modules/_typed-buffer.js","../../node_modules/core-js/modules/_species-constructor.js","../../node_modules/core-js/modules/_set-species.js","../../node_modules/core-js/modules/es6.typed.array-buffer.js","../../node_modules/core-js/modules/_classof.js","../../node_modules/core-js/modules/_is-array-iter.js","../../node_modules/core-js/modules/_object-keys.js","../../node_modules/core-js/modules/_object-dps.js","../../node_modules/core-js/modules/_html.js","../../node_modules/core-js/modules/_object-create.js","../../node_modules/core-js/modules/_object-gpo.js","../../node_modules/core-js/modules/core.get-iterator-method.js","../../node_modules/core-js/modules/_is-array.js","../../node_modules/core-js/modules/_array-species-constructor.js","../../node_modules/core-js/modules/_array-species-create.js","../../node_modules/core-js/modules/_array-methods.js","../../node_modules/core-js/modules/_add-to-unscopables.js","../../node_modules/core-js/modules/_iter-step.js","../../node_modules/core-js/modules/_iter-create.js","../../node_modules/core-js/modules/_iter-define.js","../../node_modules/core-js/modules/es6.array.iterator.js","../../node_modules/core-js/modules/_iter-detect.js","../../node_modules/core-js/modules/_array-copy-within.js","../../node_modules/core-js/modules/_object-pie.js","../../node_modules/core-js/modules/_object-gopd.js","../../node_modules/core-js/modules/_typed-array.js","../../node_modules/core-js/modules/es6.typed.int8-array.js","../../node_modules/core-js/modules/es6.typed.uint8-array.js","../../node_modules/core-js/modules/es6.typed.uint8-clamped-array.js","../../node_modules/core-js/modules/es6.typed.int16-array.js","../../node_modules/core-js/modules/es6.typed.uint16-array.js","../../node_modules/core-js/modules/es6.typed.int32-array.js","../../node_modules/core-js/modules/es6.typed.uint32-array.js","../../node_modules/core-js/modules/es6.typed.float32-array.js","../../node_modules/core-js/modules/es6.typed.float64-array.js","../../node_modules/core-js/modules/_iter-call.js","../../node_modules/core-js/modules/_for-of.js","../../node_modules/core-js/modules/_meta.js","../../node_modules/core-js/modules/_validate-collection.js","../../node_modules/core-js/modules/_collection-strong.js","../../node_modules/core-js/modules/_set-proto.js","../../node_modules/core-js/modules/_inherit-if-required.js","../../node_modules/core-js/modules/_collection.js","../../node_modules/core-js/modules/es6.map.js","../../node_modules/core-js/modules/es6.set.js","../../node_modules/core-js/modules/_object-gops.js","../../node_modules/core-js/modules/_object-assign.js","../../node_modules/core-js/modules/_collection-weak.js","../../node_modules/core-js/modules/es6.weak-map.js","../../node_modules/core-js/modules/es6.weak-set.js","../../node_modules/core-js/modules/es6.reflect.apply.js","../../node_modules/core-js/modules/_invoke.js","../../node_modules/core-js/modules/_bind.js","../../node_modules/core-js/modules/es6.reflect.construct.js","../../node_modules/core-js/modules/es6.reflect.define-property.js","../../node_modules/core-js/modules/es6.reflect.delete-property.js","../../node_modules/core-js/modules/es6.reflect.get.js","../../node_modules/core-js/modules/es6.reflect.get-own-property-descriptor.js","../../node_modules/core-js/modules/es6.reflect.get-prototype-of.js","../../node_modules/core-js/modules/es6.reflect.has.js","../../node_modules/core-js/modules/es6.reflect.is-extensible.js","../../node_modules/core-js/modules/_own-keys.js","../../node_modules/core-js/modules/es6.reflect.own-keys.js","../../node_modules/core-js/modules/es6.reflect.prevent-extensions.js","../../node_modules/core-js/modules/es6.reflect.set.js","../../node_modules/core-js/modules/es6.reflect.set-prototype-of.js","../../node_modules/core-js/modules/_task.js","../../node_modules/core-js/modules/_microtask.js","../../node_modules/core-js/modules/_new-promise-capability.js","../../node_modules/core-js/modules/es6.promise.js","../../node_modules/core-js/modules/_perform.js","../../node_modules/core-js/modules/_promise-resolve.js","../../node_modules/core-js/modules/_wks-ext.js","../../node_modules/core-js/modules/_wks-define.js","../../node_modules/core-js/modules/_enum-keys.js","../../node_modules/core-js/modules/_object-gopn-ext.js","../../node_modules/core-js/modules/es6.symbol.js","../../node_modules/core-js/modules/_object-sap.js","../../node_modules/core-js/modules/es6.object.freeze.js","../../node_modules/core-js/modules/es6.object.seal.js","../../node_modules/core-js/modules/es6.object.prevent-extensions.js","../../node_modules/core-js/modules/es6.object.is-frozen.js","../../node_modules/core-js/modules/es6.object.is-sealed.js","../../node_modules/core-js/modules/es6.object.is-extensible.js","../../node_modules/core-js/modules/es6.object.get-own-property-descriptor.js","../../node_modules/core-js/modules/es6.object.get-prototype-of.js","../../node_modules/core-js/modules/es6.object.keys.js","../../node_modules/core-js/modules/es6.object.get-own-property-names.js","../../node_modules/core-js/modules/es6.object.assign.js","../../node_modules/core-js/modules/_same-value.js","../../node_modules/core-js/modules/es6.object.is.js","../../node_modules/core-js/modules/es6.object.set-prototype-of.js","../../node_modules/core-js/modules/es6.function.name.js","../../node_modules/core-js/modules/es6.string.raw.js","../../node_modules/core-js/modules/es6.string.from-code-point.js","../../node_modules/core-js/modules/_string-at.js","../../node_modules/core-js/modules/es6.string.code-point-at.js","../../node_modules/core-js/modules/_string-repeat.js","../../node_modules/core-js/modules/es6.string.repeat.js","../../node_modules/core-js/modules/_is-regexp.js","../../node_modules/core-js/modules/_string-context.js","../../node_modules/core-js/modules/_fails-is-regexp.js","../../node_modules/core-js/modules/es6.string.starts-with.js","../../node_modules/core-js/modules/es6.string.ends-with.js","../../node_modules/core-js/modules/es6.string.includes.js","../../node_modules/core-js/modules/_flags.js","../../node_modules/core-js/modules/es6.regexp.flags.js","../../node_modules/core-js/modules/_fix-re-wks.js","../../node_modules/core-js/modules/es6.regexp.match.js","../../node_modules/core-js/modules/es6.regexp.replace.js","../../node_modules/core-js/modules/es6.regexp.split.js","../../node_modules/core-js/modules/es6.regexp.search.js","../../node_modules/core-js/modules/_create-property.js","../../node_modules/core-js/modules/es6.array.from.js","../../node_modules/core-js/modules/es6.array.of.js","../../node_modules/core-js/modules/es6.array.copy-within.js","../../node_modules/core-js/modules/es6.array.find.js","../../node_modules/core-js/modules/es6.array.find-index.js","../../node_modules/core-js/modules/es6.array.fill.js","../../node_modules/core-js/modules/es6.number.is-finite.js","../../node_modules/core-js/modules/_is-integer.js","../../node_modules/core-js/modules/es6.number.is-integer.js","../../node_modules/core-js/modules/es6.number.is-safe-integer.js","../../node_modules/core-js/modules/es6.number.is-nan.js","../../node_modules/core-js/modules/es6.number.epsilon.js","../../node_modules/core-js/modules/es6.number.min-safe-integer.js","../../node_modules/core-js/modules/es6.number.max-safe-integer.js","../../node_modules/core-js/modules/_math-log1p.js","../../node_modules/core-js/modules/es6.math.acosh.js","../../node_modules/core-js/modules/es6.math.asinh.js","../../node_modules/core-js/modules/es6.math.atanh.js","../../node_modules/core-js/modules/_math-sign.js","../../node_modules/core-js/modules/es6.math.cbrt.js","../../node_modules/core-js/modules/es6.math.clz32.js","../../node_modules/core-js/modules/es6.math.cosh.js","../../node_modules/core-js/modules/_math-expm1.js","../../node_modules/core-js/modules/es6.math.expm1.js","../../node_modules/core-js/modules/_math-fround.js","../../node_modules/core-js/modules/es6.math.fround.js","../../node_modules/core-js/modules/es6.math.hypot.js","../../node_modules/core-js/modules/es6.math.imul.js","../../node_modules/core-js/modules/es6.math.log1p.js","../../node_modules/core-js/modules/es6.math.log10.js","../../node_modules/core-js/modules/es6.math.log2.js","../../node_modules/core-js/modules/es6.math.sign.js","../../node_modules/core-js/modules/es6.math.sinh.js","../../node_modules/core-js/modules/es6.math.tanh.js","../../node_modules/core-js/modules/es6.math.trunc.js","../../node_modules/core-js/modules/es7.array.includes.js","../../node_modules/core-js/modules/_object-to-array.js","../../node_modules/core-js/modules/es7.object.values.js","../../node_modules/core-js/modules/es7.object.entries.js","../../node_modules/core-js/modules/es7.object.get-own-property-descriptors.js","../../node_modules/core-js/modules/_string-pad.js","../../node_modules/core-js/modules/_user-agent.js","../../node_modules/core-js/modules/es7.string.pad-start.js","../../node_modules/core-js/modules/es7.string.pad-end.js","../../node_modules/core-js/modules/web.timers.js","../../node_modules/core-js/modules/web.immediate.js","../../node_modules/core-js/modules/web.dom.iterable.js","../../node_modules/regenerator-runtime/runtime.js","../../src/utils/typeOf.js","../../src/utils/isEmpty.js","../../src/utils/isCharInRange.js","../../src/constants.js","../../src/utils/isCharJapanese.js","../../src/isJapanese.js","../../src/utils/mergeWithDefaultOptions.js","../../src/utils/kanaMapping.js","../../src/utils/romajiToKanaMap.js","../../src/utils/isCharUpperCase.js","../../src/utils/isCharLongDash.js","../../src/utils/isCharSlashDot.js","../../src/utils/isCharHiragana.js","../../src/utils/hiraganaToKatakana.js","../../src/toKana.js","../../src/utils/dom.js","../../src/utils/logInputEvents.js","../../src/bind.js","../../src/utils/isCharRomaji.js","../../src/isRomaji.js","../../src/utils/isCharKatakana.js","../../src/utils/isCharKana.js","../../src/isKana.js","../../src/isHiragana.js","../../src/isKatakana.js","../../src/utils/isCharKanji.js","../../src/isKanji.js","../../src/isMixed.js","../../src/utils/katakanaToHiragana.js","../../src/utils/kanaToRomajiMap.js","../../src/toRomaji.js","../../src/utils/isCharEnglishPunctuation.js","../../src/utils/isCharJapanesePunctuation.js","../../src/tokenize.js","../../src/stripOkurigana.js","../../src/unbind.js","../../src/toHiragana.js","../../src/toKatakana.js"],"sourcesContent":["// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nvar global = module.exports = typeof window != 'undefined' && window.Math == Math\n ? window : typeof self != 'undefined' && self.Math == Math ? self\n // eslint-disable-next-line no-new-func\n : Function('return this')();\nif (typeof __g == 'number') __g = global; // eslint-disable-line no-undef\n","var core = module.exports = { version: '2.5.5' };\nif (typeof __e == 'number') __e = core; // eslint-disable-line no-undef\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it) {\n if (!isObject(it)) throw TypeError(it + ' is not an object!');\n return it;\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (e) {\n return true;\n }\n};\n","// Thank's IE8 for his funny defineProperty\nmodule.exports = !require('./_fails')(function () {\n return Object.defineProperty({}, 'a', { get: function () { return 7; } }).a != 7;\n});\n","var isObject = require('./_is-object');\nvar document = require('./_global').document;\n// typeof document.createElement is 'object' in old IE\nvar is = isObject(document) && isObject(document.createElement);\nmodule.exports = function (it) {\n return is ? document.createElement(it) : {};\n};\n","module.exports = !require('./_descriptors') && !require('./_fails')(function () {\n return Object.defineProperty(require('./_dom-create')('div'), 'a', { get: function () { return 7; } }).a != 7;\n});\n","// 7.1.1 ToPrimitive(input [, PreferredType])\nvar isObject = require('./_is-object');\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 (it, S) {\n if (!isObject(it)) return it;\n var fn, val;\n if (S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n if (typeof (fn = it.valueOf) == 'function' && !isObject(val = fn.call(it))) return val;\n if (!S && typeof (fn = it.toString) == 'function' && !isObject(val = fn.call(it))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var anObject = require('./_an-object');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar toPrimitive = require('./_to-primitive');\nvar dP = Object.defineProperty;\n\nexports.f = require('./_descriptors') ? Object.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 dP(O, P, Attributes);\n } catch (e) { /* 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","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 dP = require('./_object-dp');\nvar createDesc = require('./_property-desc');\nmodule.exports = require('./_descriptors') ? function (object, key, value) {\n return dP.f(object, key, createDesc(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var hasOwnProperty = {}.hasOwnProperty;\nmodule.exports = function (it, key) {\n return hasOwnProperty.call(it, key);\n};\n","var id = 0;\nvar px = Math.random();\nmodule.exports = function (key) {\n return 'Symbol('.concat(key === undefined ? '' : key, ')_', (++id + px).toString(36));\n};\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar has = require('./_has');\nvar SRC = require('./_uid')('src');\nvar TO_STRING = 'toString';\nvar $toString = Function[TO_STRING];\nvar TPL = ('' + $toString).split(TO_STRING);\n\nrequire('./_core').inspectSource = function (it) {\n return $toString.call(it);\n};\n\n(module.exports = function (O, key, val, safe) {\n var isFunction = typeof val == 'function';\n if (isFunction) has(val, 'name') || hide(val, 'name', key);\n if (O[key] === val) return;\n if (isFunction) has(val, SRC) || hide(val, SRC, O[key] ? '' + O[key] : TPL.join(String(key)));\n if (O === global) {\n O[key] = val;\n } else if (!safe) {\n delete O[key];\n hide(O, key, val);\n } else if (O[key]) {\n O[key] = val;\n } else {\n hide(O, key, val);\n }\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, TO_STRING, function toString() {\n return typeof this == 'function' && this[SRC] || $toString.call(this);\n});\n","module.exports = function (it) {\n if (typeof it != 'function') throw TypeError(it + ' is not a function!');\n return it;\n};\n","// optional / simple context binding\nvar aFunction = require('./_a-function');\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\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","var global = require('./_global');\nvar core = require('./_core');\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar ctx = require('./_ctx');\nvar PROTOTYPE = 'prototype';\n\nvar $export = function (type, name, source) {\n var IS_FORCED = type & $export.F;\n var IS_GLOBAL = type & $export.G;\n var IS_STATIC = type & $export.S;\n var IS_PROTO = type & $export.P;\n var IS_BIND = type & $export.B;\n var target = IS_GLOBAL ? global : IS_STATIC ? global[name] || (global[name] = {}) : (global[name] || {})[PROTOTYPE];\n var exports = IS_GLOBAL ? core : core[name] || (core[name] = {});\n var expProto = exports[PROTOTYPE] || (exports[PROTOTYPE] = {});\n var key, own, out, exp;\n if (IS_GLOBAL) source = name;\n for (key in source) {\n // contains in native\n own = !IS_FORCED && target && target[key] !== undefined;\n // export native or passed\n out = (own ? target : source)[key];\n // bind timers to global for call from export context\n exp = IS_BIND && own ? ctx(out, global) : IS_PROTO && typeof out == 'function' ? ctx(Function.call, out) : out;\n // extend global\n if (target) redefine(target, key, out, type & $export.U);\n // export\n if (exports[key] != out) hide(exports, key, exp);\n if (IS_PROTO && expProto[key] != out) expProto[key] = out;\n }\n};\nglobal.core = core;\n// type bitmap\n$export.F = 1; // forced\n$export.G = 2; // global\n$export.S = 4; // static\n$export.P = 8; // proto\n$export.B = 16; // bind\n$export.W = 32; // wrap\n$export.U = 64; // safe\n$export.R = 128; // real proto method for `library`\nmodule.exports = $export;\n","var global = require('./_global');\nvar hide = require('./_hide');\nvar uid = require('./_uid');\nvar TYPED = uid('typed_array');\nvar VIEW = uid('view');\nvar ABV = !!(global.ArrayBuffer && global.DataView);\nvar CONSTR = ABV;\nvar i = 0;\nvar l = 9;\nvar Typed;\n\nvar TypedArrayConstructors = (\n 'Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array'\n).split(',');\n\nwhile (i < l) {\n if (Typed = global[TypedArrayConstructors[i++]]) {\n hide(Typed.prototype, TYPED, true);\n hide(Typed.prototype, VIEW, true);\n } else CONSTR = false;\n}\n\nmodule.exports = {\n ABV: ABV,\n CONSTR: CONSTR,\n TYPED: TYPED,\n VIEW: VIEW\n};\n","module.exports = false;\n","var redefine = require('./_redefine');\nmodule.exports = function (target, src, safe) {\n for (var key in src) redefine(target, key, src[key], safe);\n return target;\n};\n","module.exports = function (it, Constructor, name, forbiddenField) {\n if (!(it instanceof Constructor) || (forbiddenField !== undefined && forbiddenField in it)) {\n throw TypeError(name + ': incorrect invocation!');\n } return it;\n};\n","// 7.1.4 ToInteger\nvar ceil = Math.ceil;\nvar floor = Math.floor;\nmodule.exports = function (it) {\n return isNaN(it = +it) ? 0 : (it > 0 ? floor : ceil)(it);\n};\n","// 7.1.15 ToLength\nvar toInteger = require('./_to-integer');\nvar min = Math.min;\nmodule.exports = function (it) {\n return it > 0 ? min(toInteger(it), 0x1fffffffffffff) : 0; // pow(2, 53) - 1 == 9007199254740991\n};\n","// https://tc39.github.io/ecma262/#sec-toindex\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nmodule.exports = function (it) {\n if (it === undefined) return 0;\n var number = toInteger(it);\n var length = toLength(number);\n if (number !== length) throw RangeError('Wrong length!');\n return length;\n};\n","var toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","// fallback for non-array-like ES3 and non-enumerable old V8 strings\nvar cof = require('./_cof');\n// eslint-disable-next-line no-prototype-builtins\nmodule.exports = Object('z').propertyIsEnumerable(0) ? Object : function (it) {\n return cof(it) == 'String' ? it.split('') : Object(it);\n};\n","// 7.2.1 RequireObjectCoercible(argument)\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// to indexed object, toObject with fallback for non-array-like ES3 strings\nvar IObject = require('./_iobject');\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return IObject(defined(it));\n};\n","var toInteger = require('./_to-integer');\nvar max = Math.max;\nvar min = Math.min;\nmodule.exports = function (index, length) {\n index = toInteger(index);\n return index < 0 ? max(index + length, 0) : min(index, length);\n};\n","// false -> Array#indexOf\n// true -> Array#includes\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nmodule.exports = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIObject($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\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) if (IS_INCLUDES || index in O) {\n if (O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n","var global = require('./_global');\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || (global[SHARED] = {});\nmodule.exports = function (key) {\n return store[key] || (store[key] = {});\n};\n","var shared = require('./_shared')('keys');\nvar uid = require('./_uid');\nmodule.exports = function (key) {\n return shared[key] || (shared[key] = uid(key));\n};\n","var has = require('./_has');\nvar toIObject = require('./_to-iobject');\nvar arrayIndexOf = require('./_array-includes')(false);\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\n\nmodule.exports = function (object, names) {\n var O = toIObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) if (key != IE_PROTO) 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 ~arrayIndexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE 8- don't enum bug keys\nmodule.exports = (\n 'constructor,hasOwnProperty,isPrototypeOf,propertyIsEnumerable,toLocaleString,toString,valueOf'\n).split(',');\n","// 19.1.2.7 / 15.2.3.4 Object.getOwnPropertyNames(O)\nvar $keys = require('./_object-keys-internal');\nvar hiddenKeys = require('./_enum-bug-keys').concat('length', 'prototype');\n\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return $keys(O, hiddenKeys);\n};\n","// 7.1.13 ToObject(argument)\nvar defined = require('./_defined');\nmodule.exports = function (it) {\n return Object(defined(it));\n};\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nmodule.exports = function fill(value /* , start = 0, end = @length */) {\n var O = toObject(this);\n var length = toLength(O.length);\n var aLen = arguments.length;\n var index = toAbsoluteIndex(aLen > 1 ? arguments[1] : undefined, length);\n var end = aLen > 2 ? arguments[2] : undefined;\n var endPos = end === undefined ? length : toAbsoluteIndex(end, length);\n while (endPos > index) O[index++] = value;\n return O;\n};\n","var store = require('./_shared')('wks');\nvar uid = require('./_uid');\nvar Symbol = require('./_global').Symbol;\nvar USE_SYMBOL = typeof Symbol == 'function';\n\nvar $exports = module.exports = function (name) {\n return store[name] || (store[name] =\n USE_SYMBOL && Symbol[name] || (USE_SYMBOL ? Symbol : uid)('Symbol.' + name));\n};\n\n$exports.store = store;\n","var def = require('./_object-dp').f;\nvar has = require('./_has');\nvar TAG = require('./_wks')('toStringTag');\n\nmodule.exports = function (it, tag, stat) {\n if (it && !has(it = stat ? it : it.prototype, TAG)) def(it, TAG, { configurable: true, value: tag });\n};\n","'use strict';\nvar global = require('./_global');\nvar DESCRIPTORS = require('./_descriptors');\nvar LIBRARY = require('./_library');\nvar $typed = require('./_typed');\nvar hide = require('./_hide');\nvar redefineAll = require('./_redefine-all');\nvar fails = require('./_fails');\nvar anInstance = require('./_an-instance');\nvar toInteger = require('./_to-integer');\nvar toLength = require('./_to-length');\nvar toIndex = require('./_to-index');\nvar gOPN = require('./_object-gopn').f;\nvar dP = require('./_object-dp').f;\nvar arrayFill = require('./_array-fill');\nvar setToStringTag = require('./_set-to-string-tag');\nvar ARRAY_BUFFER = 'ArrayBuffer';\nvar DATA_VIEW = 'DataView';\nvar PROTOTYPE = 'prototype';\nvar WRONG_LENGTH = 'Wrong length!';\nvar WRONG_INDEX = 'Wrong index!';\nvar $ArrayBuffer = global[ARRAY_BUFFER];\nvar $DataView = global[DATA_VIEW];\nvar Math = global.Math;\nvar RangeError = global.RangeError;\n// eslint-disable-next-line no-shadow-restricted-names\nvar Infinity = global.Infinity;\nvar BaseBuffer = $ArrayBuffer;\nvar abs = Math.abs;\nvar pow = Math.pow;\nvar floor = Math.floor;\nvar log = Math.log;\nvar LN2 = Math.LN2;\nvar BUFFER = 'buffer';\nvar BYTE_LENGTH = 'byteLength';\nvar BYTE_OFFSET = 'byteOffset';\nvar $BUFFER = DESCRIPTORS ? '_b' : BUFFER;\nvar $LENGTH = DESCRIPTORS ? '_l' : BYTE_LENGTH;\nvar $OFFSET = DESCRIPTORS ? '_o' : BYTE_OFFSET;\n\n// IEEE754 conversions based on https://github.com/feross/ieee754\nfunction packIEEE754(value, mLen, nBytes) {\n var buffer = new Array(nBytes);\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var rt = mLen === 23 ? pow(2, -24) - pow(2, -77) : 0;\n var i = 0;\n var s = value < 0 || value === 0 && 1 / value < 0 ? 1 : 0;\n var e, m, c;\n value = abs(value);\n // eslint-disable-next-line no-self-compare\n if (value != value || value === Infinity) {\n // eslint-disable-next-line no-self-compare\n m = value != value ? 1 : 0;\n e = eMax;\n } else {\n e = floor(log(value) / LN2);\n if (value * (c = pow(2, -e)) < 1) {\n e--;\n c *= 2;\n }\n if (e + eBias >= 1) {\n value += rt / c;\n } else {\n value += rt * pow(2, 1 - eBias);\n }\n if (value * c >= 2) {\n e++;\n c /= 2;\n }\n if (e + eBias >= eMax) {\n m = 0;\n e = eMax;\n } else if (e + eBias >= 1) {\n m = (value * c - 1) * pow(2, mLen);\n e = e + eBias;\n } else {\n m = value * pow(2, eBias - 1) * pow(2, mLen);\n e = 0;\n }\n }\n for (; mLen >= 8; buffer[i++] = m & 255, m /= 256, mLen -= 8);\n e = e << mLen | m;\n eLen += mLen;\n for (; eLen > 0; buffer[i++] = e & 255, e /= 256, eLen -= 8);\n buffer[--i] |= s * 128;\n return buffer;\n}\nfunction unpackIEEE754(buffer, mLen, nBytes) {\n var eLen = nBytes * 8 - mLen - 1;\n var eMax = (1 << eLen) - 1;\n var eBias = eMax >> 1;\n var nBits = eLen - 7;\n var i = nBytes - 1;\n var s = buffer[i--];\n var e = s & 127;\n var m;\n s >>= 7;\n for (; nBits > 0; e = e * 256 + buffer[i], i--, nBits -= 8);\n m = e & (1 << -nBits) - 1;\n e >>= -nBits;\n nBits += mLen;\n for (; nBits > 0; m = m * 256 + buffer[i], i--, nBits -= 8);\n if (e === 0) {\n e = 1 - eBias;\n } else if (e === eMax) {\n return m ? NaN : s ? -Infinity : Infinity;\n } else {\n m = m + pow(2, mLen);\n e = e - eBias;\n } return (s ? -1 : 1) * m * pow(2, e - mLen);\n}\n\nfunction unpackI32(bytes) {\n return bytes[3] << 24 | bytes[2] << 16 | bytes[1] << 8 | bytes[0];\n}\nfunction packI8(it) {\n return [it & 0xff];\n}\nfunction packI16(it) {\n return [it & 0xff, it >> 8 & 0xff];\n}\nfunction packI32(it) {\n return [it & 0xff, it >> 8 & 0xff, it >> 16 & 0xff, it >> 24 & 0xff];\n}\nfunction packF64(it) {\n return packIEEE754(it, 52, 8);\n}\nfunction packF32(it) {\n return packIEEE754(it, 23, 4);\n}\n\nfunction addGetter(C, key, internal) {\n dP(C[PROTOTYPE], key, { get: function () { return this[internal]; } });\n}\n\nfunction get(view, bytes, index, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = store.slice(start, start + bytes);\n return isLittleEndian ? pack : pack.reverse();\n}\nfunction set(view, bytes, index, conversion, value, isLittleEndian) {\n var numIndex = +index;\n var intIndex = toIndex(numIndex);\n if (intIndex + bytes > view[$LENGTH]) throw RangeError(WRONG_INDEX);\n var store = view[$BUFFER]._b;\n var start = intIndex + view[$OFFSET];\n var pack = conversion(+value);\n for (var i = 0; i < bytes; i++) store[start + i] = pack[isLittleEndian ? i : bytes - i - 1];\n}\n\nif (!$typed.ABV) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer, ARRAY_BUFFER);\n var byteLength = toIndex(length);\n this._b = arrayFill.call(new Array(byteLength), 0);\n this[$LENGTH] = byteLength;\n };\n\n $DataView = function DataView(buffer, byteOffset, byteLength) {\n anInstance(this, $DataView, DATA_VIEW);\n anInstance(buffer, $ArrayBuffer, DATA_VIEW);\n var bufferLength = buffer[$LENGTH];\n var offset = toInteger(byteOffset);\n if (offset < 0 || offset > bufferLength) throw RangeError('Wrong offset!');\n byteLength = byteLength === undefined ? bufferLength - offset : toLength(byteLength);\n if (offset + byteLength > bufferLength) throw RangeError(WRONG_LENGTH);\n this[$BUFFER] = buffer;\n this[$OFFSET] = offset;\n this[$LENGTH] = byteLength;\n };\n\n if (DESCRIPTORS) {\n addGetter($ArrayBuffer, BYTE_LENGTH, '_l');\n addGetter($DataView, BUFFER, '_b');\n addGetter($DataView, BYTE_LENGTH, '_l');\n addGetter($DataView, BYTE_OFFSET, '_o');\n }\n\n redefineAll($DataView[PROTOTYPE], {\n getInt8: function getInt8(byteOffset) {\n return get(this, 1, byteOffset)[0] << 24 >> 24;\n },\n getUint8: function getUint8(byteOffset) {\n return get(this, 1, byteOffset)[0];\n },\n getInt16: function getInt16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return (bytes[1] << 8 | bytes[0]) << 16 >> 16;\n },\n getUint16: function getUint16(byteOffset /* , littleEndian */) {\n var bytes = get(this, 2, byteOffset, arguments[1]);\n return bytes[1] << 8 | bytes[0];\n },\n getInt32: function getInt32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1]));\n },\n getUint32: function getUint32(byteOffset /* , littleEndian */) {\n return unpackI32(get(this, 4, byteOffset, arguments[1])) >>> 0;\n },\n getFloat32: function getFloat32(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 4, byteOffset, arguments[1]), 23, 4);\n },\n getFloat64: function getFloat64(byteOffset /* , littleEndian */) {\n return unpackIEEE754(get(this, 8, byteOffset, arguments[1]), 52, 8);\n },\n setInt8: function setInt8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setUint8: function setUint8(byteOffset, value) {\n set(this, 1, byteOffset, packI8, value);\n },\n setInt16: function setInt16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setUint16: function setUint16(byteOffset, value /* , littleEndian */) {\n set(this, 2, byteOffset, packI16, value, arguments[2]);\n },\n setInt32: function setInt32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setUint32: function setUint32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packI32, value, arguments[2]);\n },\n setFloat32: function setFloat32(byteOffset, value /* , littleEndian */) {\n set(this, 4, byteOffset, packF32, value, arguments[2]);\n },\n setFloat64: function setFloat64(byteOffset, value /* , littleEndian */) {\n set(this, 8, byteOffset, packF64, value, arguments[2]);\n }\n });\n} else {\n if (!fails(function () {\n $ArrayBuffer(1);\n }) || !fails(function () {\n new $ArrayBuffer(-1); // eslint-disable-line no-new\n }) || fails(function () {\n new $ArrayBuffer(); // eslint-disable-line no-new\n new $ArrayBuffer(1.5); // eslint-disable-line no-new\n new $ArrayBuffer(NaN); // eslint-disable-line no-new\n return $ArrayBuffer.name != ARRAY_BUFFER;\n })) {\n $ArrayBuffer = function ArrayBuffer(length) {\n anInstance(this, $ArrayBuffer);\n return new BaseBuffer(toIndex(length));\n };\n var ArrayBufferProto = $ArrayBuffer[PROTOTYPE] = BaseBuffer[PROTOTYPE];\n for (var keys = gOPN(BaseBuffer), j = 0, key; keys.length > j;) {\n if (!((key = keys[j++]) in $ArrayBuffer)) hide($ArrayBuffer, key, BaseBuffer[key]);\n }\n if (!LIBRARY) ArrayBufferProto.constructor = $ArrayBuffer;\n }\n // iOS Safari 7.x bug\n var view = new $DataView(new $ArrayBuffer(2));\n var $setInt8 = $DataView[PROTOTYPE].setInt8;\n view.setInt8(0, 2147483648);\n view.setInt8(1, 2147483649);\n if (view.getInt8(0) || !view.getInt8(1)) redefineAll($DataView[PROTOTYPE], {\n setInt8: function setInt8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n },\n setUint8: function setUint8(byteOffset, value) {\n $setInt8.call(this, byteOffset, value << 24 >> 24);\n }\n }, true);\n}\nsetToStringTag($ArrayBuffer, ARRAY_BUFFER);\nsetToStringTag($DataView, DATA_VIEW);\nhide($DataView[PROTOTYPE], $typed.VIEW, true);\nexports[ARRAY_BUFFER] = $ArrayBuffer;\nexports[DATA_VIEW] = $DataView;\n","// 7.3.20 SpeciesConstructor(O, defaultConstructor)\nvar anObject = require('./_an-object');\nvar aFunction = require('./_a-function');\nvar SPECIES = require('./_wks')('species');\nmodule.exports = function (O, D) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? D : aFunction(S);\n};\n","'use strict';\nvar global = require('./_global');\nvar dP = require('./_object-dp');\nvar DESCRIPTORS = require('./_descriptors');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (KEY) {\n var C = global[KEY];\n if (DESCRIPTORS && C && !C[SPECIES]) dP.f(C, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n};\n","'use strict';\nvar $export = require('./_export');\nvar $typed = require('./_typed');\nvar buffer = require('./_typed-buffer');\nvar anObject = require('./_an-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\nvar isObject = require('./_is-object');\nvar ArrayBuffer = require('./_global').ArrayBuffer;\nvar speciesConstructor = require('./_species-constructor');\nvar $ArrayBuffer = buffer.ArrayBuffer;\nvar $DataView = buffer.DataView;\nvar $isView = $typed.ABV && ArrayBuffer.isView;\nvar $slice = $ArrayBuffer.prototype.slice;\nvar VIEW = $typed.VIEW;\nvar ARRAY_BUFFER = 'ArrayBuffer';\n\n$export($export.G + $export.W + $export.F * (ArrayBuffer !== $ArrayBuffer), { ArrayBuffer: $ArrayBuffer });\n\n$export($export.S + $export.F * !$typed.CONSTR, ARRAY_BUFFER, {\n // 24.1.3.1 ArrayBuffer.isView(arg)\n isView: function isView(it) {\n return $isView && $isView(it) || isObject(it) && VIEW in it;\n }\n});\n\n$export($export.P + $export.U + $export.F * require('./_fails')(function () {\n return !new $ArrayBuffer(2).slice(1, undefined).byteLength;\n}), ARRAY_BUFFER, {\n // 24.1.4.3 ArrayBuffer.prototype.slice(start, end)\n slice: function slice(start, end) {\n if ($slice !== undefined && end === undefined) return $slice.call(anObject(this), start); // FF fix\n var len = anObject(this).byteLength;\n var first = toAbsoluteIndex(start, len);\n var final = toAbsoluteIndex(end === undefined ? len : end, len);\n var result = new (speciesConstructor(this, $ArrayBuffer))(toLength(final - first));\n var viewS = new $DataView(this);\n var viewT = new $DataView(result);\n var index = 0;\n while (first < final) {\n viewT.setUint8(index++, viewS.getUint8(first++));\n } return result;\n }\n});\n\nrequire('./_set-species')(ARRAY_BUFFER);\n","// getting tag from 19.1.3.6 Object.prototype.toString()\nvar cof = require('./_cof');\nvar TAG = require('./_wks')('toStringTag');\n// ES3 wrong here\nvar ARG = cof(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (e) { /* empty */ }\n};\n\nmodule.exports = function (it) {\n var O, T, B;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (T = tryGet(O = Object(it), TAG)) == 'string' ? T\n // builtinTag case\n : ARG ? cof(O)\n // ES3 arguments fallback\n : (B = cof(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : B;\n};\n","// check on default Array iterator\nvar Iterators = require('./_iterators');\nvar ITERATOR = require('./_wks')('iterator');\nvar ArrayProto = Array.prototype;\n\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayProto[ITERATOR] === it);\n};\n","// 19.1.2.14 / 15.2.3.14 Object.keys(O)\nvar $keys = require('./_object-keys-internal');\nvar enumBugKeys = require('./_enum-bug-keys');\n\nmodule.exports = Object.keys || function keys(O) {\n return $keys(O, enumBugKeys);\n};\n","var dP = require('./_object-dp');\nvar anObject = require('./_an-object');\nvar getKeys = require('./_object-keys');\n\nmodule.exports = require('./_descriptors') ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = getKeys(Properties);\n var length = keys.length;\n var i = 0;\n var P;\n while (length > i) dP.f(O, P = keys[i++], Properties[P]);\n return O;\n};\n","var document = require('./_global').document;\nmodule.exports = document && document.documentElement;\n","// 19.1.2.2 / 15.2.3.5 Object.create(O [, Properties])\nvar anObject = require('./_an-object');\nvar dPs = require('./_object-dps');\nvar enumBugKeys = require('./_enum-bug-keys');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar Empty = function () { /* empty */ };\nvar PROTOTYPE = 'prototype';\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar createDict = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = require('./_dom-create')('iframe');\n var i = enumBugKeys.length;\n var lt = '<';\n var gt = '>';\n var iframeDocument;\n iframe.style.display = 'none';\n require('./_html').appendChild(iframe);\n iframe.src = 'javascript:'; // eslint-disable-line no-script-url\n // createDict = iframe.contentWindow.Object;\n // html.removeChild(iframe);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(lt + 'script' + gt + 'document.F=Object' + lt + '/script' + gt);\n iframeDocument.close();\n createDict = iframeDocument.F;\n while (i--) delete createDict[PROTOTYPE][enumBugKeys[i]];\n return createDict();\n};\n\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n Empty[PROTOTYPE] = anObject(O);\n result = new Empty();\n Empty[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = createDict();\n return Properties === undefined ? result : dPs(result, Properties);\n};\n","// 19.1.2.9 / 15.2.3.2 Object.getPrototypeOf(O)\nvar has = require('./_has');\nvar toObject = require('./_to-object');\nvar IE_PROTO = require('./_shared-key')('IE_PROTO');\nvar ObjectProto = Object.prototype;\n\nmodule.exports = Object.getPrototypeOf || function (O) {\n O = toObject(O);\n if (has(O, IE_PROTO)) return O[IE_PROTO];\n if (typeof O.constructor == 'function' && O instanceof O.constructor) {\n return O.constructor.prototype;\n } return O instanceof Object ? ObjectProto : null;\n};\n","var classof = require('./_classof');\nvar ITERATOR = require('./_wks')('iterator');\nvar Iterators = require('./_iterators');\nmodule.exports = require('./_core').getIteratorMethod = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","// 7.2.2 IsArray(argument)\nvar cof = require('./_cof');\nmodule.exports = Array.isArray || function isArray(arg) {\n return cof(arg) == 'Array';\n};\n","var isObject = require('./_is-object');\nvar isArray = require('./_is-array');\nvar SPECIES = require('./_wks')('species');\n\nmodule.exports = function (original) {\n var C;\n if (isArray(original)) {\n C = original.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? Array : C;\n};\n","// 9.4.2.3 ArraySpeciesCreate(originalArray, length)\nvar speciesConstructor = require('./_array-species-constructor');\n\nmodule.exports = function (original, length) {\n return new (speciesConstructor(original))(length);\n};\n","// 0 -> Array#forEach\n// 1 -> Array#map\n// 2 -> Array#filter\n// 3 -> Array#some\n// 4 -> Array#every\n// 5 -> Array#find\n// 6 -> Array#findIndex\nvar ctx = require('./_ctx');\nvar IObject = require('./_iobject');\nvar toObject = require('./_to-object');\nvar toLength = require('./_to-length');\nvar asc = require('./_array-species-create');\nmodule.exports = function (TYPE, $create) {\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 NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n var create = $create || asc;\n return function ($this, callbackfn, that) {\n var O = toObject($this);\n var self = IObject(O);\n var f = ctx(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var result = IS_MAP ? create($this, length) : IS_FILTER ? create($this, 0) : undefined;\n var val, res;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n val = self[index];\n res = f(val, index, O);\n if (TYPE) {\n if (IS_MAP) result[index] = res; // map\n else if (res) switch (TYPE) {\n case 3: return true; // some\n case 5: return val; // find\n case 6: return index; // findIndex\n case 2: result.push(val); // filter\n } else if (IS_EVERY) return false; // every\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : result;\n };\n};\n","// 22.1.3.31 Array.prototype[@@unscopables]\nvar UNSCOPABLES = require('./_wks')('unscopables');\nvar ArrayProto = Array.prototype;\nif (ArrayProto[UNSCOPABLES] == undefined) require('./_hide')(ArrayProto, UNSCOPABLES, {});\nmodule.exports = function (key) {\n ArrayProto[UNSCOPABLES][key] = true;\n};\n","module.exports = function (done, value) {\n return { value: value, done: !!done };\n};\n","'use strict';\nvar create = require('./_object-create');\nvar descriptor = require('./_property-desc');\nvar setToStringTag = require('./_set-to-string-tag');\nvar IteratorPrototype = {};\n\n// 25.1.2.1.1 %IteratorPrototype%[@@iterator]()\nrequire('./_hide')(IteratorPrototype, require('./_wks')('iterator'), function () { return this; });\n\nmodule.exports = function (Constructor, NAME, next) {\n Constructor.prototype = create(IteratorPrototype, { next: descriptor(1, next) });\n setToStringTag(Constructor, NAME + ' Iterator');\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar $iterCreate = require('./_iter-create');\nvar setToStringTag = require('./_set-to-string-tag');\nvar getPrototypeOf = require('./_object-gpo');\nvar ITERATOR = require('./_wks')('iterator');\nvar BUGGY = !([].keys && 'next' in [].keys()); // Safari has buggy iterators w/o `next`\nvar FF_ITERATOR = '@@iterator';\nvar KEYS = 'keys';\nvar VALUES = 'values';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Base, NAME, Constructor, next, DEFAULT, IS_SET, FORCED) {\n $iterCreate(Constructor, NAME, next);\n var getMethod = function (kind) {\n if (!BUGGY && kind in proto) return proto[kind];\n switch (kind) {\n case KEYS: return function keys() { return new Constructor(this, kind); };\n case VALUES: return function values() { return new Constructor(this, kind); };\n } return function entries() { return new Constructor(this, kind); };\n };\n var TAG = NAME + ' Iterator';\n var DEF_VALUES = DEFAULT == VALUES;\n var VALUES_BUG = false;\n var proto = Base.prototype;\n var $native = proto[ITERATOR] || proto[FF_ITERATOR] || DEFAULT && proto[DEFAULT];\n var $default = $native || getMethod(DEFAULT);\n var $entries = DEFAULT ? !DEF_VALUES ? $default : getMethod('entries') : undefined;\n var $anyNative = NAME == 'Array' ? proto.entries || $native : $native;\n var methods, key, IteratorPrototype;\n // Fix native\n if ($anyNative) {\n IteratorPrototype = getPrototypeOf($anyNative.call(new Base()));\n if (IteratorPrototype !== Object.prototype && IteratorPrototype.next) {\n // Set @@toStringTag to native iterators\n setToStringTag(IteratorPrototype, TAG, true);\n // fix for some old engines\n if (!LIBRARY && typeof IteratorPrototype[ITERATOR] != 'function') hide(IteratorPrototype, ITERATOR, returnThis);\n }\n }\n // fix Array#{values, @@iterator}.name in V8 / FF\n if (DEF_VALUES && $native && $native.name !== VALUES) {\n VALUES_BUG = true;\n $default = function values() { return $native.call(this); };\n }\n // Define iterator\n if ((!LIBRARY || FORCED) && (BUGGY || VALUES_BUG || !proto[ITERATOR])) {\n hide(proto, ITERATOR, $default);\n }\n // Plug for library\n Iterators[NAME] = $default;\n Iterators[TAG] = returnThis;\n if (DEFAULT) {\n methods = {\n values: DEF_VALUES ? $default : getMethod(VALUES),\n keys: IS_SET ? $default : getMethod(KEYS),\n entries: $entries\n };\n if (FORCED) for (key in methods) {\n if (!(key in proto)) redefine(proto, key, methods[key]);\n } else $export($export.P + $export.F * (BUGGY || VALUES_BUG), NAME, methods);\n }\n return methods;\n};\n","'use strict';\nvar addToUnscopables = require('./_add-to-unscopables');\nvar step = require('./_iter-step');\nvar Iterators = require('./_iterators');\nvar toIObject = require('./_to-iobject');\n\n// 22.1.3.4 Array.prototype.entries()\n// 22.1.3.13 Array.prototype.keys()\n// 22.1.3.29 Array.prototype.values()\n// 22.1.3.30 Array.prototype[@@iterator]()\nmodule.exports = require('./_iter-define')(Array, 'Array', function (iterated, kind) {\n this._t = toIObject(iterated); // target\n this._i = 0; // next index\n this._k = kind; // kind\n// 22.1.5.2.1 %ArrayIteratorPrototype%.next()\n}, function () {\n var O = this._t;\n var kind = this._k;\n var index = this._i++;\n if (!O || index >= O.length) {\n this._t = undefined;\n return step(1);\n }\n if (kind == 'keys') return step(0, index);\n if (kind == 'values') return step(0, O[index]);\n return step(0, [index, O[index]]);\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values% (9.4.4.6, 9.4.4.7)\nIterators.Arguments = Iterators.Array;\n\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","var ITERATOR = require('./_wks')('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var riter = [7][ITERATOR]();\n riter['return'] = function () { SAFE_CLOSING = true; };\n // eslint-disable-next-line no-throw-literal\n Array.from(riter, function () { throw 2; });\n} catch (e) { /* empty */ }\n\nmodule.exports = function (exec, skipClosing) {\n if (!skipClosing && !SAFE_CLOSING) return false;\n var safe = false;\n try {\n var arr = [7];\n var iter = arr[ITERATOR]();\n iter.next = function () { return { done: safe = true }; };\n arr[ITERATOR] = function () { return iter; };\n exec(arr);\n } catch (e) { /* empty */ }\n return safe;\n};\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\n'use strict';\nvar toObject = require('./_to-object');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar toLength = require('./_to-length');\n\nmodule.exports = [].copyWithin || function copyWithin(target /* = 0 */, start /* = 0, end = @length */) {\n var O = toObject(this);\n var len = toLength(O.length);\n var to = toAbsoluteIndex(target, len);\n var from = toAbsoluteIndex(start, len);\n var end = arguments.length > 2 ? arguments[2] : undefined;\n var count = Math.min((end === undefined ? len : toAbsoluteIndex(end, len)) - from, len - to);\n var inc = 1;\n if (from < to && to < from + count) {\n inc = -1;\n from += count - 1;\n to += count - 1;\n }\n while (count-- > 0) {\n if (from in O) O[to] = O[from];\n else delete O[to];\n to += inc;\n from += inc;\n } return O;\n};\n","exports.f = {}.propertyIsEnumerable;\n","var pIE = require('./_object-pie');\nvar createDesc = require('./_property-desc');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar has = require('./_has');\nvar IE8_DOM_DEFINE = require('./_ie8-dom-define');\nvar gOPD = Object.getOwnPropertyDescriptor;\n\nexports.f = require('./_descriptors') ? gOPD : function getOwnPropertyDescriptor(O, P) {\n O = toIObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return gOPD(O, P);\n } catch (e) { /* empty */ }\n if (has(O, P)) return createDesc(!pIE.f.call(O, P), O[P]);\n};\n","'use strict';\nif (require('./_descriptors')) {\n var LIBRARY = require('./_library');\n var global = require('./_global');\n var fails = require('./_fails');\n var $export = require('./_export');\n var $typed = require('./_typed');\n var $buffer = require('./_typed-buffer');\n var ctx = require('./_ctx');\n var anInstance = require('./_an-instance');\n var propertyDesc = require('./_property-desc');\n var hide = require('./_hide');\n var redefineAll = require('./_redefine-all');\n var toInteger = require('./_to-integer');\n var toLength = require('./_to-length');\n var toIndex = require('./_to-index');\n var toAbsoluteIndex = require('./_to-absolute-index');\n var toPrimitive = require('./_to-primitive');\n var has = require('./_has');\n var classof = require('./_classof');\n var isObject = require('./_is-object');\n var toObject = require('./_to-object');\n var isArrayIter = require('./_is-array-iter');\n var create = require('./_object-create');\n var getPrototypeOf = require('./_object-gpo');\n var gOPN = require('./_object-gopn').f;\n var getIterFn = require('./core.get-iterator-method');\n var uid = require('./_uid');\n var wks = require('./_wks');\n var createArrayMethod = require('./_array-methods');\n var createArrayIncludes = require('./_array-includes');\n var speciesConstructor = require('./_species-constructor');\n var ArrayIterators = require('./es6.array.iterator');\n var Iterators = require('./_iterators');\n var $iterDetect = require('./_iter-detect');\n var setSpecies = require('./_set-species');\n var arrayFill = require('./_array-fill');\n var arrayCopyWithin = require('./_array-copy-within');\n var $DP = require('./_object-dp');\n var $GOPD = require('./_object-gopd');\n var dP = $DP.f;\n var gOPD = $GOPD.f;\n var RangeError = global.RangeError;\n var TypeError = global.TypeError;\n var Uint8Array = global.Uint8Array;\n var ARRAY_BUFFER = 'ArrayBuffer';\n var SHARED_BUFFER = 'Shared' + ARRAY_BUFFER;\n var BYTES_PER_ELEMENT = 'BYTES_PER_ELEMENT';\n var PROTOTYPE = 'prototype';\n var ArrayProto = Array[PROTOTYPE];\n var $ArrayBuffer = $buffer.ArrayBuffer;\n var $DataView = $buffer.DataView;\n var arrayForEach = createArrayMethod(0);\n var arrayFilter = createArrayMethod(2);\n var arraySome = createArrayMethod(3);\n var arrayEvery = createArrayMethod(4);\n var arrayFind = createArrayMethod(5);\n var arrayFindIndex = createArrayMethod(6);\n var arrayIncludes = createArrayIncludes(true);\n var arrayIndexOf = createArrayIncludes(false);\n var arrayValues = ArrayIterators.values;\n var arrayKeys = ArrayIterators.keys;\n var arrayEntries = ArrayIterators.entries;\n var arrayLastIndexOf = ArrayProto.lastIndexOf;\n var arrayReduce = ArrayProto.reduce;\n var arrayReduceRight = ArrayProto.reduceRight;\n var arrayJoin = ArrayProto.join;\n var arraySort = ArrayProto.sort;\n var arraySlice = ArrayProto.slice;\n var arrayToString = ArrayProto.toString;\n var arrayToLocaleString = ArrayProto.toLocaleString;\n var ITERATOR = wks('iterator');\n var TAG = wks('toStringTag');\n var TYPED_CONSTRUCTOR = uid('typed_constructor');\n var DEF_CONSTRUCTOR = uid('def_constructor');\n var ALL_CONSTRUCTORS = $typed.CONSTR;\n var TYPED_ARRAY = $typed.TYPED;\n var VIEW = $typed.VIEW;\n var WRONG_LENGTH = 'Wrong length!';\n\n var $map = createArrayMethod(1, function (O, length) {\n return allocate(speciesConstructor(O, O[DEF_CONSTRUCTOR]), length);\n });\n\n var LITTLE_ENDIAN = fails(function () {\n // eslint-disable-next-line no-undef\n return new Uint8Array(new Uint16Array([1]).buffer)[0] === 1;\n });\n\n var FORCED_SET = !!Uint8Array && !!Uint8Array[PROTOTYPE].set && fails(function () {\n new Uint8Array(1).set({});\n });\n\n var toOffset = function (it, BYTES) {\n var offset = toInteger(it);\n if (offset < 0 || offset % BYTES) throw RangeError('Wrong offset!');\n return offset;\n };\n\n var validate = function (it) {\n if (isObject(it) && TYPED_ARRAY in it) return it;\n throw TypeError(it + ' is not a typed array!');\n };\n\n var allocate = function (C, length) {\n if (!(isObject(C) && TYPED_CONSTRUCTOR in C)) {\n throw TypeError('It is not a typed array constructor!');\n } return new C(length);\n };\n\n var speciesFromList = function (O, list) {\n return fromList(speciesConstructor(O, O[DEF_CONSTRUCTOR]), list);\n };\n\n var fromList = function (C, list) {\n var index = 0;\n var length = list.length;\n var result = allocate(C, length);\n while (length > index) result[index] = list[index++];\n return result;\n };\n\n var addGetter = function (it, key, internal) {\n dP(it, key, { get: function () { return this._d[internal]; } });\n };\n\n var $from = function from(source /* , mapfn, thisArg */) {\n var O = toObject(source);\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var iterFn = getIterFn(O);\n var i, length, values, result, step, iterator;\n if (iterFn != undefined && !isArrayIter(iterFn)) {\n for (iterator = iterFn.call(O), values = [], i = 0; !(step = iterator.next()).done; i++) {\n values.push(step.value);\n } O = values;\n }\n if (mapping && aLen > 2) mapfn = ctx(mapfn, arguments[2], 2);\n for (i = 0, length = toLength(O.length), result = allocate(this, length); length > i; i++) {\n result[i] = mapping ? mapfn(O[i], i) : O[i];\n }\n return result;\n };\n\n var $of = function of(/* ...items */) {\n var index = 0;\n var length = arguments.length;\n var result = allocate(this, length);\n while (length > index) result[index] = arguments[index++];\n return result;\n };\n\n // iOS Safari 6.x fails here\n var TO_LOCALE_BUG = !!Uint8Array && fails(function () { arrayToLocaleString.call(new Uint8Array(1)); });\n\n var $toLocaleString = function toLocaleString() {\n return arrayToLocaleString.apply(TO_LOCALE_BUG ? arraySlice.call(validate(this)) : validate(this), arguments);\n };\n\n var proto = {\n copyWithin: function copyWithin(target, start /* , end */) {\n return arrayCopyWithin.call(validate(this), target, start, arguments.length > 2 ? arguments[2] : undefined);\n },\n every: function every(callbackfn /* , thisArg */) {\n return arrayEvery(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n fill: function fill(value /* , start, end */) { // eslint-disable-line no-unused-vars\n return arrayFill.apply(validate(this), arguments);\n },\n filter: function filter(callbackfn /* , thisArg */) {\n return speciesFromList(this, arrayFilter(validate(this), callbackfn,\n arguments.length > 1 ? arguments[1] : undefined));\n },\n find: function find(predicate /* , thisArg */) {\n return arrayFind(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n findIndex: function findIndex(predicate /* , thisArg */) {\n return arrayFindIndex(validate(this), predicate, arguments.length > 1 ? arguments[1] : undefined);\n },\n forEach: function forEach(callbackfn /* , thisArg */) {\n arrayForEach(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n indexOf: function indexOf(searchElement /* , fromIndex */) {\n return arrayIndexOf(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n includes: function includes(searchElement /* , fromIndex */) {\n return arrayIncludes(validate(this), searchElement, arguments.length > 1 ? arguments[1] : undefined);\n },\n join: function join(separator) { // eslint-disable-line no-unused-vars\n return arrayJoin.apply(validate(this), arguments);\n },\n lastIndexOf: function lastIndexOf(searchElement /* , fromIndex */) { // eslint-disable-line no-unused-vars\n return arrayLastIndexOf.apply(validate(this), arguments);\n },\n map: function map(mapfn /* , thisArg */) {\n return $map(validate(this), mapfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n reduce: function reduce(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduce.apply(validate(this), arguments);\n },\n reduceRight: function reduceRight(callbackfn /* , initialValue */) { // eslint-disable-line no-unused-vars\n return arrayReduceRight.apply(validate(this), arguments);\n },\n reverse: function reverse() {\n var that = this;\n var length = validate(that).length;\n var middle = Math.floor(length / 2);\n var index = 0;\n var value;\n while (index < middle) {\n value = that[index];\n that[index++] = that[--length];\n that[length] = value;\n } return that;\n },\n some: function some(callbackfn /* , thisArg */) {\n return arraySome(validate(this), callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n },\n sort: function sort(comparefn) {\n return arraySort.call(validate(this), comparefn);\n },\n subarray: function subarray(begin, end) {\n var O = validate(this);\n var length = O.length;\n var $begin = toAbsoluteIndex(begin, length);\n return new (speciesConstructor(O, O[DEF_CONSTRUCTOR]))(\n O.buffer,\n O.byteOffset + $begin * O.BYTES_PER_ELEMENT,\n toLength((end === undefined ? length : toAbsoluteIndex(end, length)) - $begin)\n );\n }\n };\n\n var $slice = function slice(start, end) {\n return speciesFromList(this, arraySlice.call(validate(this), start, end));\n };\n\n var $set = function set(arrayLike /* , offset */) {\n validate(this);\n var offset = toOffset(arguments[1], 1);\n var length = this.length;\n var src = toObject(arrayLike);\n var len = toLength(src.length);\n var index = 0;\n if (len + offset > length) throw RangeError(WRONG_LENGTH);\n while (index < len) this[offset + index] = src[index++];\n };\n\n var $iterators = {\n entries: function entries() {\n return arrayEntries.call(validate(this));\n },\n keys: function keys() {\n return arrayKeys.call(validate(this));\n },\n values: function values() {\n return arrayValues.call(validate(this));\n }\n };\n\n var isTAIndex = function (target, key) {\n return isObject(target)\n && target[TYPED_ARRAY]\n && typeof key != 'symbol'\n && key in target\n && String(+key) == String(key);\n };\n var $getDesc = function getOwnPropertyDescriptor(target, key) {\n return isTAIndex(target, key = toPrimitive(key, true))\n ? propertyDesc(2, target[key])\n : gOPD(target, key);\n };\n var $setDesc = function defineProperty(target, key, desc) {\n if (isTAIndex(target, key = toPrimitive(key, true))\n && isObject(desc)\n && has(desc, 'value')\n && !has(desc, 'get')\n && !has(desc, 'set')\n // TODO: add validation descriptor w/o calling accessors\n && !desc.configurable\n && (!has(desc, 'writable') || desc.writable)\n && (!has(desc, 'enumerable') || desc.enumerable)\n ) {\n target[key] = desc.value;\n return target;\n } return dP(target, key, desc);\n };\n\n if (!ALL_CONSTRUCTORS) {\n $GOPD.f = $getDesc;\n $DP.f = $setDesc;\n }\n\n $export($export.S + $export.F * !ALL_CONSTRUCTORS, 'Object', {\n getOwnPropertyDescriptor: $getDesc,\n defineProperty: $setDesc\n });\n\n if (fails(function () { arrayToString.call({}); })) {\n arrayToString = arrayToLocaleString = function toString() {\n return arrayJoin.call(this);\n };\n }\n\n var $TypedArrayPrototype$ = redefineAll({}, proto);\n redefineAll($TypedArrayPrototype$, $iterators);\n hide($TypedArrayPrototype$, ITERATOR, $iterators.values);\n redefineAll($TypedArrayPrototype$, {\n slice: $slice,\n set: $set,\n constructor: function () { /* noop */ },\n toString: arrayToString,\n toLocaleString: $toLocaleString\n });\n addGetter($TypedArrayPrototype$, 'buffer', 'b');\n addGetter($TypedArrayPrototype$, 'byteOffset', 'o');\n addGetter($TypedArrayPrototype$, 'byteLength', 'l');\n addGetter($TypedArrayPrototype$, 'length', 'e');\n dP($TypedArrayPrototype$, TAG, {\n get: function () { return this[TYPED_ARRAY]; }\n });\n\n // eslint-disable-next-line max-statements\n module.exports = function (KEY, BYTES, wrapper, CLAMPED) {\n CLAMPED = !!CLAMPED;\n var NAME = KEY + (CLAMPED ? 'Clamped' : '') + 'Array';\n var GETTER = 'get' + KEY;\n var SETTER = 'set' + KEY;\n var TypedArray = global[NAME];\n var Base = TypedArray || {};\n var TAC = TypedArray && getPrototypeOf(TypedArray);\n var FORCED = !TypedArray || !$typed.ABV;\n var O = {};\n var TypedArrayPrototype = TypedArray && TypedArray[PROTOTYPE];\n var getter = function (that, index) {\n var data = that._d;\n return data.v[GETTER](index * BYTES + data.o, LITTLE_ENDIAN);\n };\n var setter = function (that, index, value) {\n var data = that._d;\n if (CLAMPED) value = (value = Math.round(value)) < 0 ? 0 : value > 0xff ? 0xff : value & 0xff;\n data.v[SETTER](index * BYTES + data.o, value, LITTLE_ENDIAN);\n };\n var addElement = function (that, index) {\n dP(that, index, {\n get: function () {\n return getter(this, index);\n },\n set: function (value) {\n return setter(this, index, value);\n },\n enumerable: true\n });\n };\n if (FORCED) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME, '_d');\n var index = 0;\n var offset = 0;\n var buffer, byteLength, length, klass;\n if (!isObject(data)) {\n length = toIndex(data);\n byteLength = length * BYTES;\n buffer = new $ArrayBuffer(byteLength);\n } else if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n buffer = data;\n offset = toOffset($offset, BYTES);\n var $len = data.byteLength;\n if ($length === undefined) {\n if ($len % BYTES) throw RangeError(WRONG_LENGTH);\n byteLength = $len - offset;\n if (byteLength < 0) throw RangeError(WRONG_LENGTH);\n } else {\n byteLength = toLength($length) * BYTES;\n if (byteLength + offset > $len) throw RangeError(WRONG_LENGTH);\n }\n length = byteLength / BYTES;\n } else if (TYPED_ARRAY in data) {\n return fromList(TypedArray, data);\n } else {\n return $from.call(TypedArray, data);\n }\n hide(that, '_d', {\n b: buffer,\n o: offset,\n l: byteLength,\n e: length,\n v: new $DataView(buffer)\n });\n while (index < length) addElement(that, index++);\n });\n TypedArrayPrototype = TypedArray[PROTOTYPE] = create($TypedArrayPrototype$);\n hide(TypedArrayPrototype, 'constructor', TypedArray);\n } else if (!fails(function () {\n TypedArray(1);\n }) || !fails(function () {\n new TypedArray(-1); // eslint-disable-line no-new\n }) || !$iterDetect(function (iter) {\n new TypedArray(); // eslint-disable-line no-new\n new TypedArray(null); // eslint-disable-line no-new\n new TypedArray(1.5); // eslint-disable-line no-new\n new TypedArray(iter); // eslint-disable-line no-new\n }, true)) {\n TypedArray = wrapper(function (that, data, $offset, $length) {\n anInstance(that, TypedArray, NAME);\n var klass;\n // `ws` module bug, temporarily remove validation length for Uint8Array\n // https://github.com/websockets/ws/pull/645\n if (!isObject(data)) return new Base(toIndex(data));\n if (data instanceof $ArrayBuffer || (klass = classof(data)) == ARRAY_BUFFER || klass == SHARED_BUFFER) {\n return $length !== undefined\n ? new Base(data, toOffset($offset, BYTES), $length)\n : $offset !== undefined\n ? new Base(data, toOffset($offset, BYTES))\n : new Base(data);\n }\n if (TYPED_ARRAY in data) return fromList(TypedArray, data);\n return $from.call(TypedArray, data);\n });\n arrayForEach(TAC !== Function.prototype ? gOPN(Base).concat(gOPN(TAC)) : gOPN(Base), function (key) {\n if (!(key in TypedArray)) hide(TypedArray, key, Base[key]);\n });\n TypedArray[PROTOTYPE] = TypedArrayPrototype;\n if (!LIBRARY) TypedArrayPrototype.constructor = TypedArray;\n }\n var $nativeIterator = TypedArrayPrototype[ITERATOR];\n var CORRECT_ITER_NAME = !!$nativeIterator\n && ($nativeIterator.name == 'values' || $nativeIterator.name == undefined);\n var $iterator = $iterators.values;\n hide(TypedArray, TYPED_CONSTRUCTOR, true);\n hide(TypedArrayPrototype, TYPED_ARRAY, NAME);\n hide(TypedArrayPrototype, VIEW, true);\n hide(TypedArrayPrototype, DEF_CONSTRUCTOR, TypedArray);\n\n if (CLAMPED ? new TypedArray(1)[TAG] != NAME : !(TAG in TypedArrayPrototype)) {\n dP(TypedArrayPrototype, TAG, {\n get: function () { return NAME; }\n });\n }\n\n O[NAME] = TypedArray;\n\n $export($export.G + $export.W + $export.F * (TypedArray != Base), O);\n\n $export($export.S, NAME, {\n BYTES_PER_ELEMENT: BYTES\n });\n\n $export($export.S + $export.F * fails(function () { Base.of.call(TypedArray, 1); }), NAME, {\n from: $from,\n of: $of\n });\n\n if (!(BYTES_PER_ELEMENT in TypedArrayPrototype)) hide(TypedArrayPrototype, BYTES_PER_ELEMENT, BYTES);\n\n $export($export.P, NAME, proto);\n\n setSpecies(NAME);\n\n $export($export.P + $export.F * FORCED_SET, NAME, { set: $set });\n\n $export($export.P + $export.F * !CORRECT_ITER_NAME, NAME, $iterators);\n\n if (!LIBRARY && TypedArrayPrototype.toString != arrayToString) TypedArrayPrototype.toString = arrayToString;\n\n $export($export.P + $export.F * fails(function () {\n new TypedArray(1).slice();\n }), NAME, { slice: $slice });\n\n $export($export.P + $export.F * (fails(function () {\n return [1, 2].toLocaleString() != new TypedArray([1, 2]).toLocaleString();\n }) || !fails(function () {\n TypedArrayPrototype.toLocaleString.call([1, 2]);\n })), NAME, { toLocaleString: $toLocaleString });\n\n Iterators[NAME] = CORRECT_ITER_NAME ? $nativeIterator : $iterator;\n if (!LIBRARY && !CORRECT_ITER_NAME) hide(TypedArrayPrototype, ITERATOR, $iterator);\n };\n} else module.exports = function () { /* empty */ };\n","require('./_typed-array')('Int8', 1, function (init) {\n return function Int8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint8', 1, function (init) {\n return function Uint8ClampedArray(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n}, true);\n","require('./_typed-array')('Int16', 2, function (init) {\n return function Int16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint16', 2, function (init) {\n return function Uint16Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Int32', 4, function (init) {\n return function Int32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Uint32', 4, function (init) {\n return function Uint32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float32', 4, function (init) {\n return function Float32Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","require('./_typed-array')('Float64', 8, function (init) {\n return function Float64Array(data, byteOffset, length) {\n return init(this, data, byteOffset, length);\n };\n});\n","// call something on iterator step with safe closing on error\nvar anObject = require('./_an-object');\nmodule.exports = function (iterator, fn, value, entries) {\n try {\n return entries ? fn(anObject(value)[0], value[1]) : fn(value);\n // 7.4.6 IteratorClose(iterator, completion)\n } catch (e) {\n var ret = iterator['return'];\n if (ret !== undefined) anObject(ret.call(iterator));\n throw e;\n }\n};\n","var ctx = require('./_ctx');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar anObject = require('./_an-object');\nvar toLength = require('./_to-length');\nvar getIterFn = require('./core.get-iterator-method');\nvar BREAK = {};\nvar RETURN = {};\nvar exports = module.exports = function (iterable, entries, fn, that, ITERATOR) {\n var iterFn = ITERATOR ? function () { return iterable; } : getIterFn(iterable);\n var f = ctx(fn, that, entries ? 2 : 1);\n var index = 0;\n var length, step, iterator, result;\n if (typeof iterFn != 'function') throw TypeError(iterable + ' is not iterable!');\n // fast case for arrays with default iterator\n if (isArrayIter(iterFn)) for (length = toLength(iterable.length); length > index; index++) {\n result = entries ? f(anObject(step = iterable[index])[0], step[1]) : f(iterable[index]);\n if (result === BREAK || result === RETURN) return result;\n } else for (iterator = iterFn.call(iterable); !(step = iterator.next()).done;) {\n result = call(iterator, f, step.value, entries);\n if (result === BREAK || result === RETURN) return result;\n }\n};\nexports.BREAK = BREAK;\nexports.RETURN = RETURN;\n","var META = require('./_uid')('meta');\nvar isObject = require('./_is-object');\nvar has = require('./_has');\nvar setDesc = require('./_object-dp').f;\nvar id = 0;\nvar isExtensible = Object.isExtensible || function () {\n return true;\n};\nvar FREEZE = !require('./_fails')(function () {\n return isExtensible(Object.preventExtensions({}));\n});\nvar setMeta = function (it) {\n setDesc(it, META, { value: {\n i: 'O' + ++id, // object ID\n w: {} // weak collections IDs\n } });\n};\nvar fastKey = function (it, create) {\n // return primitive with prefix\n if (!isObject(it)) return typeof it == 'symbol' ? it : (typeof it == 'string' ? 'S' : 'P') + it;\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return 'F';\n // not necessary to add metadata\n if (!create) return 'E';\n // add missing metadata\n setMeta(it);\n // return object ID\n } return it[META].i;\n};\nvar getWeak = function (it, create) {\n if (!has(it, META)) {\n // can't set metadata to uncaught frozen object\n if (!isExtensible(it)) return true;\n // not necessary to add metadata\n if (!create) return false;\n // add missing metadata\n setMeta(it);\n // return hash weak collections IDs\n } return it[META].w;\n};\n// add metadata on freeze-family methods calling\nvar onFreeze = function (it) {\n if (FREEZE && meta.NEED && isExtensible(it) && !has(it, META)) setMeta(it);\n return it;\n};\nvar meta = module.exports = {\n KEY: META,\n NEED: false,\n fastKey: fastKey,\n getWeak: getWeak,\n onFreeze: onFreeze\n};\n","var isObject = require('./_is-object');\nmodule.exports = function (it, TYPE) {\n if (!isObject(it) || it._t !== TYPE) throw TypeError('Incompatible receiver, ' + TYPE + ' required!');\n return it;\n};\n","'use strict';\nvar dP = require('./_object-dp').f;\nvar create = require('./_object-create');\nvar redefineAll = require('./_redefine-all');\nvar ctx = require('./_ctx');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar $iterDefine = require('./_iter-define');\nvar step = require('./_iter-step');\nvar setSpecies = require('./_set-species');\nvar DESCRIPTORS = require('./_descriptors');\nvar fastKey = require('./_meta').fastKey;\nvar validate = require('./_validate-collection');\nvar SIZE = DESCRIPTORS ? '_s' : 'size';\n\nvar getEntry = function (that, key) {\n // fast case\n var index = fastKey(key);\n var entry;\n if (index !== 'F') return that._i[index];\n // frozen object case\n for (entry = that._f; entry; entry = entry.n) {\n if (entry.k == key) return entry;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = create(null); // index\n that._f = undefined; // first entry\n that._l = undefined; // last entry\n that[SIZE] = 0; // size\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.1.3.1 Map.prototype.clear()\n // 23.2.3.2 Set.prototype.clear()\n clear: function clear() {\n for (var that = validate(this, NAME), data = that._i, entry = that._f; entry; entry = entry.n) {\n entry.r = true;\n if (entry.p) entry.p = entry.p.n = undefined;\n delete data[entry.i];\n }\n that._f = that._l = undefined;\n that[SIZE] = 0;\n },\n // 23.1.3.3 Map.prototype.delete(key)\n // 23.2.3.4 Set.prototype.delete(value)\n 'delete': function (key) {\n var that = validate(this, NAME);\n var entry = getEntry(that, key);\n if (entry) {\n var next = entry.n;\n var prev = entry.p;\n delete that._i[entry.i];\n entry.r = true;\n if (prev) prev.n = next;\n if (next) next.p = prev;\n if (that._f == entry) that._f = next;\n if (that._l == entry) that._l = prev;\n that[SIZE]--;\n } return !!entry;\n },\n // 23.2.3.6 Set.prototype.forEach(callbackfn, thisArg = undefined)\n // 23.1.3.5 Map.prototype.forEach(callbackfn, thisArg = undefined)\n forEach: function forEach(callbackfn /* , that = undefined */) {\n validate(this, NAME);\n var f = ctx(callbackfn, arguments.length > 1 ? arguments[1] : undefined, 3);\n var entry;\n while (entry = entry ? entry.n : this._f) {\n f(entry.v, entry.k, this);\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n }\n },\n // 23.1.3.7 Map.prototype.has(key)\n // 23.2.3.7 Set.prototype.has(value)\n has: function has(key) {\n return !!getEntry(validate(this, NAME), key);\n }\n });\n if (DESCRIPTORS) dP(C.prototype, 'size', {\n get: function () {\n return validate(this, NAME)[SIZE];\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var entry = getEntry(that, key);\n var prev, index;\n // change existing entry\n if (entry) {\n entry.v = value;\n // create new entry\n } else {\n that._l = entry = {\n i: index = fastKey(key, true), // <- index\n k: key, // <- key\n v: value, // <- value\n p: prev = that._l, // <- previous entry\n n: undefined, // <- next entry\n r: false // <- removed\n };\n if (!that._f) that._f = entry;\n if (prev) prev.n = entry;\n that[SIZE]++;\n // add to index\n if (index !== 'F') that._i[index] = entry;\n } return that;\n },\n getEntry: getEntry,\n setStrong: function (C, NAME, IS_MAP) {\n // add .keys, .values, .entries, [@@iterator]\n // 23.1.3.4, 23.1.3.8, 23.1.3.11, 23.1.3.12, 23.2.3.5, 23.2.3.8, 23.2.3.10, 23.2.3.11\n $iterDefine(C, NAME, function (iterated, kind) {\n this._t = validate(iterated, NAME); // target\n this._k = kind; // kind\n this._l = undefined; // previous\n }, function () {\n var that = this;\n var kind = that._k;\n var entry = that._l;\n // revert to the last existing entry\n while (entry && entry.r) entry = entry.p;\n // get next entry\n if (!that._t || !(that._l = entry = entry ? entry.n : that._t._f)) {\n // or finish the iteration\n that._t = undefined;\n return step(1);\n }\n // return step by kind\n if (kind == 'keys') return step(0, entry.k);\n if (kind == 'values') return step(0, entry.v);\n return step(0, [entry.k, entry.v]);\n }, IS_MAP ? 'entries' : 'values', !IS_MAP, true);\n\n // add [@@species], 23.1.2.2, 23.2.2.2\n setSpecies(NAME);\n }\n};\n","// Works with __proto__ only. Old v8 can't work with null proto objects.\n/* eslint-disable no-proto */\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\nvar check = function (O, proto) {\n anObject(O);\n if (!isObject(proto) && proto !== null) throw TypeError(proto + \": can't set as prototype!\");\n};\nmodule.exports = {\n set: Object.setPrototypeOf || ('__proto__' in {} ? // eslint-disable-line\n function (test, buggy, set) {\n try {\n set = require('./_ctx')(Function.call, require('./_object-gopd').f(Object.prototype, '__proto__').set, 2);\n set(test, []);\n buggy = !(test instanceof Array);\n } catch (e) { buggy = true; }\n return function setPrototypeOf(O, proto) {\n check(O, proto);\n if (buggy) O.__proto__ = proto;\n else set(O, proto);\n return O;\n };\n }({}, false) : undefined),\n check: check\n};\n","var isObject = require('./_is-object');\nvar setPrototypeOf = require('./_set-proto').set;\nmodule.exports = function (that, target, C) {\n var S = target.constructor;\n var P;\n if (S !== C && typeof S == 'function' && (P = S.prototype) !== C.prototype && isObject(P) && setPrototypeOf) {\n setPrototypeOf(that, P);\n } return that;\n};\n","'use strict';\nvar global = require('./_global');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar redefineAll = require('./_redefine-all');\nvar meta = require('./_meta');\nvar forOf = require('./_for-of');\nvar anInstance = require('./_an-instance');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar $iterDetect = require('./_iter-detect');\nvar setToStringTag = require('./_set-to-string-tag');\nvar inheritIfRequired = require('./_inherit-if-required');\n\nmodule.exports = function (NAME, wrapper, methods, common, IS_MAP, IS_WEAK) {\n var Base = global[NAME];\n var C = Base;\n var ADDER = IS_MAP ? 'set' : 'add';\n var proto = C && C.prototype;\n var O = {};\n var fixMethod = function (KEY) {\n var fn = proto[KEY];\n redefine(proto, KEY,\n KEY == 'delete' ? function (a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'has' ? function has(a) {\n return IS_WEAK && !isObject(a) ? false : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'get' ? function get(a) {\n return IS_WEAK && !isObject(a) ? undefined : fn.call(this, a === 0 ? 0 : a);\n } : KEY == 'add' ? function add(a) { fn.call(this, a === 0 ? 0 : a); return this; }\n : function set(a, b) { fn.call(this, a === 0 ? 0 : a, b); return this; }\n );\n };\n if (typeof C != 'function' || !(IS_WEAK || proto.forEach && !fails(function () {\n new C().entries().next();\n }))) {\n // create collection constructor\n C = common.getConstructor(wrapper, NAME, IS_MAP, ADDER);\n redefineAll(C.prototype, methods);\n meta.NEED = true;\n } else {\n var instance = new C();\n // early implementations not supports chaining\n var HASNT_CHAINING = instance[ADDER](IS_WEAK ? {} : -0, 1) != instance;\n // V8 ~ Chromium 40- weak-collections throws on primitives, but should return false\n var THROWS_ON_PRIMITIVES = fails(function () { instance.has(1); });\n // most early implementations doesn't supports iterables, most modern - not close it correctly\n var ACCEPT_ITERABLES = $iterDetect(function (iter) { new C(iter); }); // eslint-disable-line no-new\n // for early implementations -0 and +0 not the same\n var BUGGY_ZERO = !IS_WEAK && fails(function () {\n // V8 ~ Chromium 42- fails only with 5+ elements\n var $instance = new C();\n var index = 5;\n while (index--) $instance[ADDER](index, index);\n return !$instance.has(-0);\n });\n if (!ACCEPT_ITERABLES) {\n C = wrapper(function (target, iterable) {\n anInstance(target, C, NAME);\n var that = inheritIfRequired(new Base(), target, C);\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n return that;\n });\n C.prototype = proto;\n proto.constructor = C;\n }\n if (THROWS_ON_PRIMITIVES || BUGGY_ZERO) {\n fixMethod('delete');\n fixMethod('has');\n IS_MAP && fixMethod('get');\n }\n if (BUGGY_ZERO || HASNT_CHAINING) fixMethod(ADDER);\n // weak collections should not contains .clear method\n if (IS_WEAK && proto.clear) delete proto.clear;\n }\n\n setToStringTag(C, NAME);\n\n O[NAME] = C;\n $export($export.G + $export.W + $export.F * (C != Base), O);\n\n if (!IS_WEAK) common.setStrong(C, NAME, IS_MAP);\n\n return C;\n};\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar MAP = 'Map';\n\n// 23.1 Map Objects\nmodule.exports = require('./_collection')(MAP, function (get) {\n return function Map() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.1.3.6 Map.prototype.get(key)\n get: function get(key) {\n var entry = strong.getEntry(validate(this, MAP), key);\n return entry && entry.v;\n },\n // 23.1.3.9 Map.prototype.set(key, value)\n set: function set(key, value) {\n return strong.def(validate(this, MAP), key === 0 ? 0 : key, value);\n }\n}, strong, true);\n","'use strict';\nvar strong = require('./_collection-strong');\nvar validate = require('./_validate-collection');\nvar SET = 'Set';\n\n// 23.2 Set Objects\nmodule.exports = require('./_collection')(SET, function (get) {\n return function Set() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.2.3.1 Set.prototype.add(value)\n add: function add(value) {\n return strong.def(validate(this, SET), value = value === 0 ? 0 : value, value);\n }\n}, strong);\n","exports.f = Object.getOwnPropertySymbols;\n","'use strict';\n// 19.1.2.1 Object.assign(target, source, ...)\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nvar toObject = require('./_to-object');\nvar IObject = require('./_iobject');\nvar $assign = Object.assign;\n\n// should work with symbols and should have deterministic property order (V8 bug)\nmodule.exports = !$assign || require('./_fails')(function () {\n var A = {};\n var B = {};\n // eslint-disable-next-line no-undef\n var S = Symbol();\n var K = 'abcdefghijklmnopqrst';\n A[S] = 7;\n K.split('').forEach(function (k) { B[k] = k; });\n return $assign({}, A)[S] != 7 || Object.keys($assign({}, B)).join('') != K;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars\n var T = toObject(target);\n var aLen = arguments.length;\n var index = 1;\n var getSymbols = gOPS.f;\n var isEnum = pIE.f;\n while (aLen > index) {\n var S = IObject(arguments[index++]);\n var keys = getSymbols ? getKeys(S).concat(getSymbols(S)) : getKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) if (isEnum.call(S, key = keys[j++])) T[key] = S[key];\n } return T;\n} : $assign;\n","'use strict';\nvar redefineAll = require('./_redefine-all');\nvar getWeak = require('./_meta').getWeak;\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar createArrayMethod = require('./_array-methods');\nvar $has = require('./_has');\nvar validate = require('./_validate-collection');\nvar arrayFind = createArrayMethod(5);\nvar arrayFindIndex = createArrayMethod(6);\nvar id = 0;\n\n// fallback for uncaught frozen keys\nvar uncaughtFrozenStore = function (that) {\n return that._l || (that._l = new UncaughtFrozenStore());\n};\nvar UncaughtFrozenStore = function () {\n this.a = [];\n};\nvar findUncaughtFrozen = function (store, key) {\n return arrayFind(store.a, function (it) {\n return it[0] === key;\n });\n};\nUncaughtFrozenStore.prototype = {\n get: function (key) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) return entry[1];\n },\n has: function (key) {\n return !!findUncaughtFrozen(this, key);\n },\n set: function (key, value) {\n var entry = findUncaughtFrozen(this, key);\n if (entry) entry[1] = value;\n else this.a.push([key, value]);\n },\n 'delete': function (key) {\n var index = arrayFindIndex(this.a, function (it) {\n return it[0] === key;\n });\n if (~index) this.a.splice(index, 1);\n return !!~index;\n }\n};\n\nmodule.exports = {\n getConstructor: function (wrapper, NAME, IS_MAP, ADDER) {\n var C = wrapper(function (that, iterable) {\n anInstance(that, C, NAME, '_i');\n that._t = NAME; // collection type\n that._i = id++; // collection id\n that._l = undefined; // leak store for uncaught frozen objects\n if (iterable != undefined) forOf(iterable, IS_MAP, that[ADDER], that);\n });\n redefineAll(C.prototype, {\n // 23.3.3.2 WeakMap.prototype.delete(key)\n // 23.4.3.3 WeakSet.prototype.delete(value)\n 'delete': function (key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME))['delete'](key);\n return data && $has(data, this._i) && delete data[this._i];\n },\n // 23.3.3.4 WeakMap.prototype.has(key)\n // 23.4.3.4 WeakSet.prototype.has(value)\n has: function has(key) {\n if (!isObject(key)) return false;\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, NAME)).has(key);\n return data && $has(data, this._i);\n }\n });\n return C;\n },\n def: function (that, key, value) {\n var data = getWeak(anObject(key), true);\n if (data === true) uncaughtFrozenStore(that).set(key, value);\n else data[that._i] = value;\n return that;\n },\n ufstore: uncaughtFrozenStore\n};\n","'use strict';\nvar each = require('./_array-methods')(0);\nvar redefine = require('./_redefine');\nvar meta = require('./_meta');\nvar assign = require('./_object-assign');\nvar weak = require('./_collection-weak');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar validate = require('./_validate-collection');\nvar WEAK_MAP = 'WeakMap';\nvar getWeak = meta.getWeak;\nvar isExtensible = Object.isExtensible;\nvar uncaughtFrozenStore = weak.ufstore;\nvar tmp = {};\nvar InternalMap;\n\nvar wrapper = function (get) {\n return function WeakMap() {\n return get(this, arguments.length > 0 ? arguments[0] : undefined);\n };\n};\n\nvar methods = {\n // 23.3.3.3 WeakMap.prototype.get(key)\n get: function get(key) {\n if (isObject(key)) {\n var data = getWeak(key);\n if (data === true) return uncaughtFrozenStore(validate(this, WEAK_MAP)).get(key);\n return data ? data[this._i] : undefined;\n }\n },\n // 23.3.3.5 WeakMap.prototype.set(key, value)\n set: function set(key, value) {\n return weak.def(validate(this, WEAK_MAP), key, value);\n }\n};\n\n// 23.3 WeakMap Objects\nvar $WeakMap = module.exports = require('./_collection')(WEAK_MAP, wrapper, methods, weak, true, true);\n\n// IE11 WeakMap frozen keys fix\nif (fails(function () { return new $WeakMap().set((Object.freeze || Object)(tmp), 7).get(tmp) != 7; })) {\n InternalMap = weak.getConstructor(wrapper, WEAK_MAP);\n assign(InternalMap.prototype, methods);\n meta.NEED = true;\n each(['delete', 'has', 'get', 'set'], function (key) {\n var proto = $WeakMap.prototype;\n var method = proto[key];\n redefine(proto, key, function (a, b) {\n // store frozen objects on internal weakmap shim\n if (isObject(a) && !isExtensible(a)) {\n if (!this._f) this._f = new InternalMap();\n var result = this._f[key](a, b);\n return key == 'set' ? this : result;\n // store all the rest on native weakmap\n } return method.call(this, a, b);\n });\n });\n}\n","'use strict';\nvar weak = require('./_collection-weak');\nvar validate = require('./_validate-collection');\nvar WEAK_SET = 'WeakSet';\n\n// 23.4 WeakSet Objects\nrequire('./_collection')(WEAK_SET, function (get) {\n return function WeakSet() { return get(this, arguments.length > 0 ? arguments[0] : undefined); };\n}, {\n // 23.4.3.1 WeakSet.prototype.add(value)\n add: function add(value) {\n return weak.def(validate(this, WEAK_SET), value, true);\n }\n}, weak, false, true);\n","// 26.1.1 Reflect.apply(target, thisArgument, argumentsList)\nvar $export = require('./_export');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar rApply = (require('./_global').Reflect || {}).apply;\nvar fApply = Function.apply;\n// MS Edge argumentsList argument is optional\n$export($export.S + $export.F * !require('./_fails')(function () {\n rApply(function () { /* empty */ });\n}), 'Reflect', {\n apply: function apply(target, thisArgument, argumentsList) {\n var T = aFunction(target);\n var L = anObject(argumentsList);\n return rApply ? rApply(T, thisArgument, L) : fApply.call(T, thisArgument, L);\n }\n});\n","// fast apply, http://jsperf.lnkit.com/fast-apply/5\nmodule.exports = function (fn, args, that) {\n var un = that === undefined;\n switch (args.length) {\n case 0: return un ? fn()\n : fn.call(that);\n case 1: return un ? fn(args[0])\n : fn.call(that, args[0]);\n case 2: return un ? fn(args[0], args[1])\n : fn.call(that, args[0], args[1]);\n case 3: return un ? fn(args[0], args[1], args[2])\n : fn.call(that, args[0], args[1], args[2]);\n case 4: return un ? fn(args[0], args[1], args[2], args[3])\n : fn.call(that, args[0], args[1], args[2], args[3]);\n } return fn.apply(that, args);\n};\n","'use strict';\nvar aFunction = require('./_a-function');\nvar isObject = require('./_is-object');\nvar invoke = require('./_invoke');\nvar arraySlice = [].slice;\nvar factories = {};\n\nvar construct = function (F, len, args) {\n if (!(len in factories)) {\n for (var n = [], i = 0; i < len; i++) n[i] = 'a[' + i + ']';\n // eslint-disable-next-line no-new-func\n factories[len] = Function('F,a', 'return new F(' + n.join(',') + ')');\n } return factories[len](F, args);\n};\n\nmodule.exports = Function.bind || function bind(that /* , ...args */) {\n var fn = aFunction(this);\n var partArgs = arraySlice.call(arguments, 1);\n var bound = function (/* args... */) {\n var args = partArgs.concat(arraySlice.call(arguments));\n return this instanceof bound ? construct(fn, args.length, args) : invoke(fn, args, that);\n };\n if (isObject(fn.prototype)) bound.prototype = fn.prototype;\n return bound;\n};\n","// 26.1.2 Reflect.construct(target, argumentsList [, newTarget])\nvar $export = require('./_export');\nvar create = require('./_object-create');\nvar aFunction = require('./_a-function');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar fails = require('./_fails');\nvar bind = require('./_bind');\nvar rConstruct = (require('./_global').Reflect || {}).construct;\n\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(rConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\nvar ARGS_BUG = !fails(function () {\n rConstruct(function () { /* empty */ });\n});\n\n$export($export.S + $export.F * (NEW_TARGET_BUG || ARGS_BUG), 'Reflect', {\n construct: function construct(Target, args /* , newTarget */) {\n aFunction(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aFunction(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return rConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n $args.push.apply($args, args);\n return new (bind.apply(Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : Object.prototype);\n var result = Function.apply.call(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","// 26.1.3 Reflect.defineProperty(target, propertyKey, attributes)\nvar dP = require('./_object-dp');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar toPrimitive = require('./_to-primitive');\n\n// MS Edge has broken Reflect.defineProperty - throwing instead of returning false\n$export($export.S + $export.F * require('./_fails')(function () {\n // eslint-disable-next-line no-undef\n Reflect.defineProperty(dP.f({}, 1, { value: 1 }), 1, { value: 2 });\n}), 'Reflect', {\n defineProperty: function defineProperty(target, propertyKey, attributes) {\n anObject(target);\n propertyKey = toPrimitive(propertyKey, true);\n anObject(attributes);\n try {\n dP.f(target, propertyKey, attributes);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.4 Reflect.deleteProperty(target, propertyKey)\nvar $export = require('./_export');\nvar gOPD = require('./_object-gopd').f;\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n deleteProperty: function deleteProperty(target, propertyKey) {\n var desc = gOPD(anObject(target), propertyKey);\n return desc && !desc.configurable ? false : delete target[propertyKey];\n }\n});\n","// 26.1.6 Reflect.get(target, propertyKey [, receiver])\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar anObject = require('./_an-object');\n\nfunction get(target, propertyKey /* , receiver */) {\n var receiver = arguments.length < 3 ? target : arguments[2];\n var desc, proto;\n if (anObject(target) === receiver) return target[propertyKey];\n if (desc = gOPD.f(target, propertyKey)) return has(desc, 'value')\n ? desc.value\n : desc.get !== undefined\n ? desc.get.call(receiver)\n : undefined;\n if (isObject(proto = getPrototypeOf(target))) return get(proto, propertyKey, receiver);\n}\n\n$export($export.S, 'Reflect', { get: get });\n","// 26.1.7 Reflect.getOwnPropertyDescriptor(target, propertyKey)\nvar gOPD = require('./_object-gopd');\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(target, propertyKey) {\n return gOPD.f(anObject(target), propertyKey);\n }\n});\n","// 26.1.8 Reflect.getPrototypeOf(target)\nvar $export = require('./_export');\nvar getProto = require('./_object-gpo');\nvar anObject = require('./_an-object');\n\n$export($export.S, 'Reflect', {\n getPrototypeOf: function getPrototypeOf(target) {\n return getProto(anObject(target));\n }\n});\n","// 26.1.9 Reflect.has(target, propertyKey)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', {\n has: function has(target, propertyKey) {\n return propertyKey in target;\n }\n});\n","// 26.1.10 Reflect.isExtensible(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $isExtensible = Object.isExtensible;\n\n$export($export.S, 'Reflect', {\n isExtensible: function isExtensible(target) {\n anObject(target);\n return $isExtensible ? $isExtensible(target) : true;\n }\n});\n","// all object keys, includes non-enumerable and symbols\nvar gOPN = require('./_object-gopn');\nvar gOPS = require('./_object-gops');\nvar anObject = require('./_an-object');\nvar Reflect = require('./_global').Reflect;\nmodule.exports = Reflect && Reflect.ownKeys || function ownKeys(it) {\n var keys = gOPN.f(anObject(it));\n var getSymbols = gOPS.f;\n return getSymbols ? keys.concat(getSymbols(it)) : keys;\n};\n","// 26.1.11 Reflect.ownKeys(target)\nvar $export = require('./_export');\n\n$export($export.S, 'Reflect', { ownKeys: require('./_own-keys') });\n","// 26.1.12 Reflect.preventExtensions(target)\nvar $export = require('./_export');\nvar anObject = require('./_an-object');\nvar $preventExtensions = Object.preventExtensions;\n\n$export($export.S, 'Reflect', {\n preventExtensions: function preventExtensions(target) {\n anObject(target);\n try {\n if ($preventExtensions) $preventExtensions(target);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","// 26.1.13 Reflect.set(target, propertyKey, V [, receiver])\nvar dP = require('./_object-dp');\nvar gOPD = require('./_object-gopd');\nvar getPrototypeOf = require('./_object-gpo');\nvar has = require('./_has');\nvar $export = require('./_export');\nvar createDesc = require('./_property-desc');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\n\nfunction set(target, propertyKey, V /* , receiver */) {\n var receiver = arguments.length < 4 ? target : arguments[3];\n var ownDesc = gOPD.f(anObject(target), propertyKey);\n var existingDescriptor, proto;\n if (!ownDesc) {\n if (isObject(proto = getPrototypeOf(target))) {\n return set(proto, propertyKey, V, receiver);\n }\n ownDesc = createDesc(0);\n }\n if (has(ownDesc, 'value')) {\n if (ownDesc.writable === false || !isObject(receiver)) return false;\n if (existingDescriptor = gOPD.f(receiver, propertyKey)) {\n if (existingDescriptor.get || existingDescriptor.set || existingDescriptor.writable === false) return false;\n existingDescriptor.value = V;\n dP.f(receiver, propertyKey, existingDescriptor);\n } else dP.f(receiver, propertyKey, createDesc(0, V));\n return true;\n }\n return ownDesc.set === undefined ? false : (ownDesc.set.call(receiver, V), true);\n}\n\n$export($export.S, 'Reflect', { set: set });\n","// 26.1.14 Reflect.setPrototypeOf(target, proto)\nvar $export = require('./_export');\nvar setProto = require('./_set-proto');\n\nif (setProto) $export($export.S, 'Reflect', {\n setPrototypeOf: function setPrototypeOf(target, proto) {\n setProto.check(target, proto);\n try {\n setProto.set(target, proto);\n return true;\n } catch (e) {\n return false;\n }\n }\n});\n","var ctx = require('./_ctx');\nvar invoke = require('./_invoke');\nvar html = require('./_html');\nvar cel = require('./_dom-create');\nvar global = require('./_global');\nvar process = global.process;\nvar setTask = global.setImmediate;\nvar clearTask = global.clearImmediate;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\nvar run = function () {\n var id = +this;\n // eslint-disable-next-line no-prototype-builtins\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\nvar listener = function (event) {\n run.call(event.data);\n};\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!setTask || !clearTask) {\n setTask = function setImmediate(fn) {\n var args = [];\n var i = 1;\n while (arguments.length > i) args.push(arguments[i++]);\n queue[++counter] = function () {\n // eslint-disable-next-line no-new-func\n invoke(typeof fn == 'function' ? fn : Function(fn), args);\n };\n defer(counter);\n return counter;\n };\n clearTask = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (require('./_cof')(process) == 'process') {\n defer = function (id) {\n process.nextTick(ctx(run, id, 1));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(ctx(run, id, 1));\n };\n // Browsers with MessageChannel, includes WebWorkers\n } else if (MessageChannel) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = ctx(port.postMessage, port, 1);\n // Browsers with postMessage, skip WebWorkers\n // IE8 has postMessage, but it's sync & typeof its postMessage is 'object'\n } else if (global.addEventListener && typeof postMessage == 'function' && !global.importScripts) {\n defer = function (id) {\n global.postMessage(id + '', '*');\n };\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in cel('script')) {\n defer = function (id) {\n html.appendChild(cel('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run.call(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(ctx(run, id, 1), 0);\n };\n }\n}\nmodule.exports = {\n set: setTask,\n clear: clearTask\n};\n","var global = require('./_global');\nvar macrotask = require('./_task').set;\nvar Observer = global.MutationObserver || global.WebKitMutationObserver;\nvar process = global.process;\nvar Promise = global.Promise;\nvar isNode = require('./_cof')(process) == 'process';\n\nmodule.exports = function () {\n var head, last, notify;\n\n var flush = function () {\n var parent, fn;\n if (isNode && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (e) {\n if (head) notify();\n else last = undefined;\n throw e;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // Node.js\n if (isNode) {\n notify = function () {\n process.nextTick(flush);\n };\n // browsers with MutationObserver, except iOS Safari - https://github.com/zloirock/core-js/issues/339\n } else if (Observer && !(global.navigator && global.navigator.standalone)) {\n var toggle = true;\n var node = document.createTextNode('');\n new Observer(flush).observe(node, { characterData: true }); // eslint-disable-line no-new\n notify = function () {\n node.data = toggle = !toggle;\n };\n // environments with maybe non-completely correct, but existent Promise\n } else if (Promise && Promise.resolve) {\n var promise = Promise.resolve();\n notify = function () {\n promise.then(flush);\n };\n // for other environments - macrotask based on:\n // - setImmediate\n // - MessageChannel\n // - window.postMessag\n // - onreadystatechange\n // - setTimeout\n } else {\n notify = function () {\n // strange IE + webpack dev server bug - use .call(global)\n macrotask.call(global, flush);\n };\n }\n\n return function (fn) {\n var task = { fn: fn, next: undefined };\n if (last) last.next = task;\n if (!head) {\n head = task;\n notify();\n } last = task;\n };\n};\n","'use strict';\n// 25.4.1.5 NewPromiseCapability(C)\nvar aFunction = require('./_a-function');\n\nfunction PromiseCapability(C) {\n var resolve, reject;\n this.promise = new C(function ($$resolve, $$reject) {\n if (resolve !== undefined || reject !== undefined) throw TypeError('Bad Promise constructor');\n resolve = $$resolve;\n reject = $$reject;\n });\n this.resolve = aFunction(resolve);\n this.reject = aFunction(reject);\n}\n\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","'use strict';\nvar LIBRARY = require('./_library');\nvar global = require('./_global');\nvar ctx = require('./_ctx');\nvar classof = require('./_classof');\nvar $export = require('./_export');\nvar isObject = require('./_is-object');\nvar aFunction = require('./_a-function');\nvar anInstance = require('./_an-instance');\nvar forOf = require('./_for-of');\nvar speciesConstructor = require('./_species-constructor');\nvar task = require('./_task').set;\nvar microtask = require('./_microtask')();\nvar newPromiseCapabilityModule = require('./_new-promise-capability');\nvar perform = require('./_perform');\nvar promiseResolve = require('./_promise-resolve');\nvar PROMISE = 'Promise';\nvar TypeError = global.TypeError;\nvar process = global.process;\nvar $Promise = global[PROMISE];\nvar isNode = classof(process) == 'process';\nvar empty = function () { /* empty */ };\nvar Internal, newGenericPromiseCapability, OwnPromiseCapability, Wrapper;\nvar newPromiseCapability = newGenericPromiseCapability = newPromiseCapabilityModule.f;\n\nvar USE_NATIVE = !!function () {\n try {\n // correct subclassing with @@species support\n var promise = $Promise.resolve(1);\n var FakePromise = (promise.constructor = {})[require('./_wks')('species')] = function (exec) {\n exec(empty, empty);\n };\n // unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return (isNode || typeof PromiseRejectionEvent == 'function') && promise.then(empty) instanceof FakePromise;\n } catch (e) { /* empty */ }\n}();\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\nvar notify = function (promise, isReject) {\n if (promise._n) return;\n promise._n = true;\n var chain = promise._c;\n microtask(function () {\n var value = promise._v;\n var ok = promise._s == 1;\n var i = 0;\n var run = function (reaction) {\n var handler = ok ? reaction.ok : reaction.fail;\n var resolve = reaction.resolve;\n var reject = reaction.reject;\n var domain = reaction.domain;\n var result, then, exited;\n try {\n if (handler) {\n if (!ok) {\n if (promise._h == 2) onHandleUnhandled(promise);\n promise._h = 1;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // may throw\n if (domain) {\n domain.exit();\n exited = true;\n }\n }\n if (result === reaction.promise) {\n reject(TypeError('Promise-chain cycle'));\n } else if (then = isThenable(result)) {\n then.call(result, resolve, reject);\n } else resolve(result);\n } else reject(value);\n } catch (e) {\n if (domain && !exited) domain.exit();\n reject(e);\n }\n };\n while (chain.length > i) run(chain[i++]); // variable length - can't use forEach\n promise._c = [];\n promise._n = false;\n if (isReject && !promise._h) onUnhandled(promise);\n });\n};\nvar onUnhandled = function (promise) {\n task.call(global, function () {\n var value = promise._v;\n var unhandled = isUnhandled(promise);\n var result, handler, console;\n if (unhandled) {\n result = perform(function () {\n if (isNode) {\n process.emit('unhandledRejection', value, promise);\n } else if (handler = global.onunhandledrejection) {\n handler({ promise: promise, reason: value });\n } else if ((console = global.console) && console.error) {\n console.error('Unhandled promise rejection', value);\n }\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n promise._h = isNode || isUnhandled(promise) ? 2 : 1;\n } promise._a = undefined;\n if (unhandled && result.e) throw result.v;\n });\n};\nvar isUnhandled = function (promise) {\n return promise._h !== 1 && (promise._a || promise._c).length === 0;\n};\nvar onHandleUnhandled = function (promise) {\n task.call(global, function () {\n var handler;\n if (isNode) {\n process.emit('rejectionHandled', promise);\n } else if (handler = global.onrejectionhandled) {\n handler({ promise: promise, reason: promise._v });\n }\n });\n};\nvar $reject = function (value) {\n var promise = this;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n promise._v = value;\n promise._s = 2;\n if (!promise._a) promise._a = promise._c.slice();\n notify(promise, true);\n};\nvar $resolve = function (value) {\n var promise = this;\n var then;\n if (promise._d) return;\n promise._d = true;\n promise = promise._w || promise; // unwrap\n try {\n if (promise === value) throw TypeError(\"Promise can't be resolved itself\");\n if (then = isThenable(value)) {\n microtask(function () {\n var wrapper = { _w: promise, _d: false }; // wrap\n try {\n then.call(value, ctx($resolve, wrapper, 1), ctx($reject, wrapper, 1));\n } catch (e) {\n $reject.call(wrapper, e);\n }\n });\n } else {\n promise._v = value;\n promise._s = 1;\n notify(promise, false);\n }\n } catch (e) {\n $reject.call({ _w: promise, _d: false }, e); // wrap\n }\n};\n\n// constructor polyfill\nif (!USE_NATIVE) {\n // 25.4.3.1 Promise(executor)\n $Promise = function Promise(executor) {\n anInstance(this, $Promise, PROMISE, '_h');\n aFunction(executor);\n Internal.call(this);\n try {\n executor(ctx($resolve, this, 1), ctx($reject, this, 1));\n } catch (err) {\n $reject.call(this, err);\n }\n };\n // eslint-disable-next-line no-unused-vars\n Internal = function Promise(executor) {\n this._c = []; // <- awaiting reactions\n this._a = undefined; // <- checked in isUnhandled reactions\n this._s = 0; // <- state\n this._d = false; // <- done\n this._v = undefined; // <- value\n this._h = 0; // <- rejection state, 0 - default, 1 - handled, 2 - unhandled\n this._n = false; // <- notify\n };\n Internal.prototype = require('./_redefine-all')($Promise.prototype, {\n // 25.4.5.3 Promise.prototype.then(onFulfilled, onRejected)\n then: function then(onFulfilled, onRejected) {\n var reaction = newPromiseCapability(speciesConstructor(this, $Promise));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = isNode ? process.domain : undefined;\n this._c.push(reaction);\n if (this._a) this._a.push(reaction);\n if (this._s) notify(this, false);\n return reaction.promise;\n },\n // 25.4.5.1 Promise.prototype.catch(onRejected)\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n this.promise = promise;\n this.resolve = ctx($resolve, promise, 1);\n this.reject = ctx($reject, promise, 1);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === $Promise || C === Wrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Promise: $Promise });\nrequire('./_set-to-string-tag')($Promise, PROMISE);\nrequire('./_set-species')(PROMISE);\nWrapper = require('./_core')[PROMISE];\n\n// statics\n$export($export.S + $export.F * !USE_NATIVE, PROMISE, {\n // 25.4.4.5 Promise.reject(r)\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n var $$reject = capability.reject;\n $$reject(r);\n return capability.promise;\n }\n});\n$export($export.S + $export.F * (LIBRARY || !USE_NATIVE), PROMISE, {\n // 25.4.4.6 Promise.resolve(x)\n resolve: function resolve(x) {\n return promiseResolve(LIBRARY && this === Wrapper ? $Promise : this, x);\n }\n});\n$export($export.S + $export.F * !(USE_NATIVE && require('./_iter-detect')(function (iter) {\n $Promise.all(iter)['catch'](empty);\n})), PROMISE, {\n // 25.4.4.1 Promise.all(iterable)\n all: function all(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var resolve = capability.resolve;\n var reject = capability.reject;\n var result = perform(function () {\n var values = [];\n var index = 0;\n var remaining = 1;\n forOf(iterable, false, function (promise) {\n var $index = index++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n C.resolve(promise).then(function (value) {\n if (alreadyCalled) return;\n alreadyCalled = true;\n values[$index] = value;\n --remaining || resolve(values);\n }, reject);\n });\n --remaining || resolve(values);\n });\n if (result.e) reject(result.v);\n return capability.promise;\n },\n // 25.4.4.4 Promise.race(iterable)\n race: function race(iterable) {\n var C = this;\n var capability = newPromiseCapability(C);\n var reject = capability.reject;\n var result = perform(function () {\n forOf(iterable, false, function (promise) {\n C.resolve(promise).then(capability.resolve, reject);\n });\n });\n if (result.e) reject(result.v);\n return capability.promise;\n }\n});\n","module.exports = function (exec) {\n try {\n return { e: false, v: exec() };\n } catch (e) {\n return { e: true, v: e };\n }\n};\n","var anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar newPromiseCapability = require('./_new-promise-capability');\n\nmodule.exports = function (C, x) {\n anObject(C);\n if (isObject(x) && x.constructor === C) return x;\n var promiseCapability = newPromiseCapability.f(C);\n var resolve = promiseCapability.resolve;\n resolve(x);\n return promiseCapability.promise;\n};\n","exports.f = require('./_wks');\n","var global = require('./_global');\nvar core = require('./_core');\nvar LIBRARY = require('./_library');\nvar wksExt = require('./_wks-ext');\nvar defineProperty = require('./_object-dp').f;\nmodule.exports = function (name) {\n var $Symbol = core.Symbol || (core.Symbol = LIBRARY ? {} : global.Symbol || {});\n if (name.charAt(0) != '_' && !(name in $Symbol)) defineProperty($Symbol, name, { value: wksExt.f(name) });\n};\n","// all enumerable object keys, includes symbols\nvar getKeys = require('./_object-keys');\nvar gOPS = require('./_object-gops');\nvar pIE = require('./_object-pie');\nmodule.exports = function (it) {\n var result = getKeys(it);\n var getSymbols = gOPS.f;\n if (getSymbols) {\n var symbols = getSymbols(it);\n var isEnum = pIE.f;\n var i = 0;\n var key;\n while (symbols.length > i) if (isEnum.call(it, key = symbols[i++])) result.push(key);\n } return result;\n};\n","// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nvar toIObject = require('./_to-iobject');\nvar gOPN = require('./_object-gopn').f;\nvar toString = {}.toString;\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return gOPN(it);\n } catch (e) {\n return windowNames.slice();\n }\n};\n\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]' ? getWindowNames(it) : gOPN(toIObject(it));\n};\n","'use strict';\n// ECMAScript 6 symbols shim\nvar global = require('./_global');\nvar has = require('./_has');\nvar DESCRIPTORS = require('./_descriptors');\nvar $export = require('./_export');\nvar redefine = require('./_redefine');\nvar META = require('./_meta').KEY;\nvar $fails = require('./_fails');\nvar shared = require('./_shared');\nvar setToStringTag = require('./_set-to-string-tag');\nvar uid = require('./_uid');\nvar wks = require('./_wks');\nvar wksExt = require('./_wks-ext');\nvar wksDefine = require('./_wks-define');\nvar enumKeys = require('./_enum-keys');\nvar isArray = require('./_is-array');\nvar anObject = require('./_an-object');\nvar isObject = require('./_is-object');\nvar toIObject = require('./_to-iobject');\nvar toPrimitive = require('./_to-primitive');\nvar createDesc = require('./_property-desc');\nvar _create = require('./_object-create');\nvar gOPNExt = require('./_object-gopn-ext');\nvar $GOPD = require('./_object-gopd');\nvar $DP = require('./_object-dp');\nvar $keys = require('./_object-keys');\nvar gOPD = $GOPD.f;\nvar dP = $DP.f;\nvar gOPN = gOPNExt.f;\nvar $Symbol = global.Symbol;\nvar $JSON = global.JSON;\nvar _stringify = $JSON && $JSON.stringify;\nvar PROTOTYPE = 'prototype';\nvar HIDDEN = wks('_hidden');\nvar TO_PRIMITIVE = wks('toPrimitive');\nvar isEnum = {}.propertyIsEnumerable;\nvar SymbolRegistry = shared('symbol-registry');\nvar AllSymbols = shared('symbols');\nvar OPSymbols = shared('op-symbols');\nvar ObjectProto = Object[PROTOTYPE];\nvar USE_NATIVE = typeof $Symbol == 'function';\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar setter = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDesc = DESCRIPTORS && $fails(function () {\n return _create(dP({}, 'a', {\n get: function () { return dP(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (it, key, D) {\n var protoDesc = gOPD(ObjectProto, key);\n if (protoDesc) delete ObjectProto[key];\n dP(it, key, D);\n if (protoDesc && it !== ObjectProto) dP(ObjectProto, key, protoDesc);\n} : dP;\n\nvar wrap = function (tag) {\n var sym = AllSymbols[tag] = _create($Symbol[PROTOTYPE]);\n sym._k = tag;\n return sym;\n};\n\nvar isSymbol = USE_NATIVE && typeof $Symbol.iterator == 'symbol' ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return it instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(it, key, D) {\n if (it === ObjectProto) $defineProperty(OPSymbols, key, D);\n anObject(it);\n key = toPrimitive(key, true);\n anObject(D);\n if (has(AllSymbols, key)) {\n if (!D.enumerable) {\n if (!has(it, HIDDEN)) dP(it, HIDDEN, createDesc(1, {}));\n it[HIDDEN][key] = true;\n } else {\n if (has(it, HIDDEN) && it[HIDDEN][key]) it[HIDDEN][key] = false;\n D = _create(D, { enumerable: createDesc(0, false) });\n } return setSymbolDesc(it, key, D);\n } return dP(it, key, D);\n};\nvar $defineProperties = function defineProperties(it, P) {\n anObject(it);\n var keys = enumKeys(P = toIObject(P));\n var i = 0;\n var l = keys.length;\n var key;\n while (l > i) $defineProperty(it, key = keys[i++], P[key]);\n return it;\n};\nvar $create = function create(it, P) {\n return P === undefined ? _create(it) : $defineProperties(_create(it), P);\n};\nvar $propertyIsEnumerable = function propertyIsEnumerable(key) {\n var E = isEnum.call(this, key = toPrimitive(key, true));\n if (this === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return false;\n return E || !has(this, key) || !has(AllSymbols, key) || has(this, HIDDEN) && this[HIDDEN][key] ? E : true;\n};\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(it, key) {\n it = toIObject(it);\n key = toPrimitive(key, true);\n if (it === ObjectProto && has(AllSymbols, key) && !has(OPSymbols, key)) return;\n var D = gOPD(it, key);\n if (D && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) D.enumerable = true;\n return D;\n};\nvar $getOwnPropertyNames = function getOwnPropertyNames(it) {\n var names = gOPN(toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (!has(AllSymbols, key = names[i++]) && key != HIDDEN && key != META) result.push(key);\n } return result;\n};\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(it) {\n var IS_OP = it === ObjectProto;\n var names = gOPN(IS_OP ? OPSymbols : toIObject(it));\n var result = [];\n var i = 0;\n var key;\n while (names.length > i) {\n if (has(AllSymbols, key = names[i++]) && (IS_OP ? has(ObjectProto, key) : true)) result.push(AllSymbols[key]);\n } return result;\n};\n\n// 19.4.1.1 Symbol([description])\nif (!USE_NATIVE) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor!');\n var tag = uid(arguments.length > 0 ? arguments[0] : undefined);\n var $set = function (value) {\n if (this === ObjectProto) $set.call(OPSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDesc(this, tag, createDesc(1, value));\n };\n if (DESCRIPTORS && setter) setSymbolDesc(ObjectProto, tag, { configurable: true, set: $set });\n return wrap(tag);\n };\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return this._k;\n });\n\n $GOPD.f = $getOwnPropertyDescriptor;\n $DP.f = $defineProperty;\n require('./_object-gopn').f = gOPNExt.f = $getOwnPropertyNames;\n require('./_object-pie').f = $propertyIsEnumerable;\n require('./_object-gops').f = $getOwnPropertySymbols;\n\n if (DESCRIPTORS && !require('./_library')) {\n redefine(ObjectProto, 'propertyIsEnumerable', $propertyIsEnumerable, true);\n }\n\n wksExt.f = function (name) {\n return wrap(wks(name));\n };\n}\n\n$export($export.G + $export.W + $export.F * !USE_NATIVE, { Symbol: $Symbol });\n\nfor (var es6Symbols = (\n // 19.4.2.2, 19.4.2.3, 19.4.2.4, 19.4.2.6, 19.4.2.8, 19.4.2.9, 19.4.2.10, 19.4.2.11, 19.4.2.12, 19.4.2.13, 19.4.2.14\n 'hasInstance,isConcatSpreadable,iterator,match,replace,search,species,split,toPrimitive,toStringTag,unscopables'\n).split(','), j = 0; es6Symbols.length > j;)wks(es6Symbols[j++]);\n\nfor (var wellKnownSymbols = $keys(wks.store), k = 0; wellKnownSymbols.length > k;) wksDefine(wellKnownSymbols[k++]);\n\n$export($export.S + $export.F * !USE_NATIVE, 'Symbol', {\n // 19.4.2.1 Symbol.for(key)\n 'for': function (key) {\n return has(SymbolRegistry, key += '')\n ? SymbolRegistry[key]\n : SymbolRegistry[key] = $Symbol(key);\n },\n // 19.4.2.5 Symbol.keyFor(sym)\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol!');\n for (var key in SymbolRegistry) if (SymbolRegistry[key] === sym) return key;\n },\n useSetter: function () { setter = true; },\n useSimple: function () { setter = false; }\n});\n\n$export($export.S + $export.F * !USE_NATIVE, 'Object', {\n // 19.1.2.2 Object.create(O [, Properties])\n create: $create,\n // 19.1.2.4 Object.defineProperty(O, P, Attributes)\n defineProperty: $defineProperty,\n // 19.1.2.3 Object.defineProperties(O, Properties)\n defineProperties: $defineProperties,\n // 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor,\n // 19.1.2.7 Object.getOwnPropertyNames(O)\n getOwnPropertyNames: $getOwnPropertyNames,\n // 19.1.2.8 Object.getOwnPropertySymbols(O)\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// 24.3.2 JSON.stringify(value [, replacer [, space]])\n$JSON && $export($export.S + $export.F * (!USE_NATIVE || $fails(function () {\n var S = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n // WebKit converts symbol values to JSON as null\n // V8 throws on boxed symbols\n return _stringify([S]) != '[null]' || _stringify({ a: S }) != '{}' || _stringify(Object(S)) != '{}';\n})), 'JSON', {\n stringify: function stringify(it) {\n var args = [it];\n var i = 1;\n var replacer, $replacer;\n while (arguments.length > i) args.push(arguments[i++]);\n $replacer = replacer = args[1];\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (typeof $replacer == 'function') value = $replacer.call(this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return _stringify.apply($JSON, args);\n }\n});\n\n// 19.4.3.4 Symbol.prototype[@@toPrimitive](hint)\n$Symbol[PROTOTYPE][TO_PRIMITIVE] || require('./_hide')($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n// 19.4.3.5 Symbol.prototype[@@toStringTag]\nsetToStringTag($Symbol, 'Symbol');\n// 20.2.1.9 Math[@@toStringTag]\nsetToStringTag(Math, 'Math', true);\n// 24.3.3 JSON[@@toStringTag]\nsetToStringTag(global.JSON, 'JSON', true);\n","// most Object methods by ES6 should accept primitives\nvar $export = require('./_export');\nvar core = require('./_core');\nvar fails = require('./_fails');\nmodule.exports = function (KEY, exec) {\n var fn = (core.Object || {})[KEY] || Object[KEY];\n var exp = {};\n exp[KEY] = exec(fn);\n $export($export.S + $export.F * fails(function () { fn(1); }), 'Object', exp);\n};\n","// 19.1.2.5 Object.freeze(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('freeze', function ($freeze) {\n return function freeze(it) {\n return $freeze && isObject(it) ? $freeze(meta(it)) : it;\n };\n});\n","// 19.1.2.17 Object.seal(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('seal', function ($seal) {\n return function seal(it) {\n return $seal && isObject(it) ? $seal(meta(it)) : it;\n };\n});\n","// 19.1.2.15 Object.preventExtensions(O)\nvar isObject = require('./_is-object');\nvar meta = require('./_meta').onFreeze;\n\nrequire('./_object-sap')('preventExtensions', function ($preventExtensions) {\n return function preventExtensions(it) {\n return $preventExtensions && isObject(it) ? $preventExtensions(meta(it)) : it;\n };\n});\n","// 19.1.2.12 Object.isFrozen(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isFrozen', function ($isFrozen) {\n return function isFrozen(it) {\n return isObject(it) ? $isFrozen ? $isFrozen(it) : false : true;\n };\n});\n","// 19.1.2.13 Object.isSealed(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isSealed', function ($isSealed) {\n return function isSealed(it) {\n return isObject(it) ? $isSealed ? $isSealed(it) : false : true;\n };\n});\n","// 19.1.2.11 Object.isExtensible(O)\nvar isObject = require('./_is-object');\n\nrequire('./_object-sap')('isExtensible', function ($isExtensible) {\n return function isExtensible(it) {\n return isObject(it) ? $isExtensible ? $isExtensible(it) : true : false;\n };\n});\n","// 19.1.2.6 Object.getOwnPropertyDescriptor(O, P)\nvar toIObject = require('./_to-iobject');\nvar $getOwnPropertyDescriptor = require('./_object-gopd').f;\n\nrequire('./_object-sap')('getOwnPropertyDescriptor', function () {\n return function getOwnPropertyDescriptor(it, key) {\n return $getOwnPropertyDescriptor(toIObject(it), key);\n };\n});\n","// 19.1.2.9 Object.getPrototypeOf(O)\nvar toObject = require('./_to-object');\nvar $getPrototypeOf = require('./_object-gpo');\n\nrequire('./_object-sap')('getPrototypeOf', function () {\n return function getPrototypeOf(it) {\n return $getPrototypeOf(toObject(it));\n };\n});\n","// 19.1.2.14 Object.keys(O)\nvar toObject = require('./_to-object');\nvar $keys = require('./_object-keys');\n\nrequire('./_object-sap')('keys', function () {\n return function keys(it) {\n return $keys(toObject(it));\n };\n});\n","// 19.1.2.7 Object.getOwnPropertyNames(O)\nrequire('./_object-sap')('getOwnPropertyNames', function () {\n return require('./_object-gopn-ext').f;\n});\n","// 19.1.3.1 Object.assign(target, source)\nvar $export = require('./_export');\n\n$export($export.S + $export.F, 'Object', { assign: require('./_object-assign') });\n","// 7.2.9 SameValue(x, y)\nmodule.exports = Object.is || function is(x, y) {\n // eslint-disable-next-line no-self-compare\n return x === y ? x !== 0 || 1 / x === 1 / y : x != x && y != y;\n};\n","// 19.1.3.10 Object.is(value1, value2)\nvar $export = require('./_export');\n$export($export.S, 'Object', { is: require('./_same-value') });\n","// 19.1.3.19 Object.setPrototypeOf(O, proto)\nvar $export = require('./_export');\n$export($export.S, 'Object', { setPrototypeOf: require('./_set-proto').set });\n","var dP = require('./_object-dp').f;\nvar FProto = Function.prototype;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// 19.2.4.2 name\nNAME in FProto || require('./_descriptors') && dP(FProto, NAME, {\n configurable: true,\n get: function () {\n try {\n return ('' + this).match(nameRE)[1];\n } catch (e) {\n return '';\n }\n }\n});\n","var $export = require('./_export');\nvar toIObject = require('./_to-iobject');\nvar toLength = require('./_to-length');\n\n$export($export.S, 'String', {\n // 21.1.2.4 String.raw(callSite, ...substitutions)\n raw: function raw(callSite) {\n var tpl = toIObject(callSite.raw);\n var len = toLength(tpl.length);\n var aLen = arguments.length;\n var res = [];\n var i = 0;\n while (len > i) {\n res.push(String(tpl[i++]));\n if (i < aLen) res.push(String(arguments[i]));\n } return res.join('');\n }\n});\n","var $export = require('./_export');\nvar toAbsoluteIndex = require('./_to-absolute-index');\nvar fromCharCode = String.fromCharCode;\nvar $fromCodePoint = String.fromCodePoint;\n\n// length should be 1, old FF problem\n$export($export.S + $export.F * (!!$fromCodePoint && $fromCodePoint.length != 1), 'String', {\n // 21.1.2.2 String.fromCodePoint(...codePoints)\n fromCodePoint: function fromCodePoint(x) { // eslint-disable-line no-unused-vars\n var res = [];\n var aLen = arguments.length;\n var i = 0;\n var code;\n while (aLen > i) {\n code = +arguments[i++];\n if (toAbsoluteIndex(code, 0x10ffff) !== code) throw RangeError(code + ' is not a valid code point');\n res.push(code < 0x10000\n ? fromCharCode(code)\n : fromCharCode(((code -= 0x10000) >> 10) + 0xd800, code % 0x400 + 0xdc00)\n );\n } return res.join('');\n }\n});\n","var toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n// true -> String#at\n// false -> String#codePointAt\nmodule.exports = function (TO_STRING) {\n return function (that, pos) {\n var s = String(defined(that));\n var i = toInteger(pos);\n var l = s.length;\n var a, b;\n if (i < 0 || i >= l) return TO_STRING ? '' : undefined;\n a = s.charCodeAt(i);\n return a < 0xd800 || a > 0xdbff || i + 1 === l || (b = s.charCodeAt(i + 1)) < 0xdc00 || b > 0xdfff\n ? TO_STRING ? s.charAt(i) : a\n : TO_STRING ? s.slice(i, i + 2) : (a - 0xd800 << 10) + (b - 0xdc00) + 0x10000;\n };\n};\n","'use strict';\nvar $export = require('./_export');\nvar $at = require('./_string-at')(false);\n$export($export.P, 'String', {\n // 21.1.3.3 String.prototype.codePointAt(pos)\n codePointAt: function codePointAt(pos) {\n return $at(this, pos);\n }\n});\n","'use strict';\nvar toInteger = require('./_to-integer');\nvar defined = require('./_defined');\n\nmodule.exports = function repeat(count) {\n var str = String(defined(this));\n var res = '';\n var n = toInteger(count);\n if (n < 0 || n == Infinity) throw RangeError(\"Count can't be negative\");\n for (;n > 0; (n >>>= 1) && (str += str)) if (n & 1) res += str;\n return res;\n};\n","var $export = require('./_export');\n\n$export($export.P, 'String', {\n // 21.1.3.13 String.prototype.repeat(count)\n repeat: require('./_string-repeat')\n});\n","// 7.2.8 IsRegExp(argument)\nvar isObject = require('./_is-object');\nvar cof = require('./_cof');\nvar MATCH = require('./_wks')('match');\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : cof(it) == 'RegExp');\n};\n","// helper for String#{startsWith, endsWith, includes}\nvar isRegExp = require('./_is-regexp');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, searchString, NAME) {\n if (isRegExp(searchString)) throw TypeError('String#' + NAME + \" doesn't accept regex!\");\n return String(defined(that));\n};\n","var MATCH = require('./_wks')('match');\nmodule.exports = function (KEY) {\n var re = /./;\n try {\n '/./'[KEY](re);\n } catch (e) {\n try {\n re[MATCH] = false;\n return !'/./'[KEY](re);\n } catch (f) { /* empty */ }\n } return true;\n};\n","// 21.1.3.18 String.prototype.startsWith(searchString [, position ])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar STARTS_WITH = 'startsWith';\nvar $startsWith = ''[STARTS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(STARTS_WITH), 'String', {\n startsWith: function startsWith(searchString /* , position = 0 */) {\n var that = context(this, searchString, STARTS_WITH);\n var index = toLength(Math.min(arguments.length > 1 ? arguments[1] : undefined, that.length));\n var search = String(searchString);\n return $startsWith\n ? $startsWith.call(that, search, index)\n : that.slice(index, index + search.length) === search;\n }\n});\n","// 21.1.3.6 String.prototype.endsWith(searchString [, endPosition])\n'use strict';\nvar $export = require('./_export');\nvar toLength = require('./_to-length');\nvar context = require('./_string-context');\nvar ENDS_WITH = 'endsWith';\nvar $endsWith = ''[ENDS_WITH];\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(ENDS_WITH), 'String', {\n endsWith: function endsWith(searchString /* , endPosition = @length */) {\n var that = context(this, searchString, ENDS_WITH);\n var endPosition = arguments.length > 1 ? arguments[1] : undefined;\n var len = toLength(that.length);\n var end = endPosition === undefined ? len : Math.min(toLength(endPosition), len);\n var search = String(searchString);\n return $endsWith\n ? $endsWith.call(that, search, end)\n : that.slice(end - search.length, end) === search;\n }\n});\n","// 21.1.3.7 String.prototype.includes(searchString, position = 0)\n'use strict';\nvar $export = require('./_export');\nvar context = require('./_string-context');\nvar INCLUDES = 'includes';\n\n$export($export.P + $export.F * require('./_fails-is-regexp')(INCLUDES), 'String', {\n includes: function includes(searchString /* , position = 0 */) {\n return !!~context(this, searchString, INCLUDES)\n .indexOf(searchString, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\n// 21.2.5.3 get RegExp.prototype.flags\nvar anObject = require('./_an-object');\nmodule.exports = function () {\n var that = anObject(this);\n var result = '';\n if (that.global) result += 'g';\n if (that.ignoreCase) result += 'i';\n if (that.multiline) result += 'm';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","// 21.2.5.3 get RegExp.prototype.flags()\nif (require('./_descriptors') && /./g.flags != 'g') require('./_object-dp').f(RegExp.prototype, 'flags', {\n configurable: true,\n get: require('./_flags')\n});\n","'use strict';\nvar hide = require('./_hide');\nvar redefine = require('./_redefine');\nvar fails = require('./_fails');\nvar defined = require('./_defined');\nvar wks = require('./_wks');\n\nmodule.exports = function (KEY, length, exec) {\n var SYMBOL = wks(KEY);\n var fns = exec(defined, SYMBOL, ''[KEY]);\n var strfn = fns[0];\n var rxfn = fns[1];\n if (fails(function () {\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n })) {\n redefine(String.prototype, KEY, strfn);\n hide(RegExp.prototype, SYMBOL, length == 2\n // 21.2.5.8 RegExp.prototype[@@replace](string, replaceValue)\n // 21.2.5.11 RegExp.prototype[@@split](string, limit)\n ? function (string, arg) { return rxfn.call(string, this, arg); }\n // 21.2.5.6 RegExp.prototype[@@match](string)\n // 21.2.5.9 RegExp.prototype[@@search](string)\n : function (string) { return rxfn.call(string, this); }\n );\n }\n};\n","// @@match logic\nrequire('./_fix-re-wks')('match', 1, function (defined, MATCH, $match) {\n // 21.1.3.11 String.prototype.match(regexp)\n return [function match(regexp) {\n 'use strict';\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[MATCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[MATCH](String(O));\n }, $match];\n});\n","// @@replace logic\nrequire('./_fix-re-wks')('replace', 2, function (defined, REPLACE, $replace) {\n // 21.1.3.14 String.prototype.replace(searchValue, replaceValue)\n return [function replace(searchValue, replaceValue) {\n 'use strict';\n var O = defined(this);\n var fn = searchValue == undefined ? undefined : searchValue[REPLACE];\n return fn !== undefined\n ? fn.call(searchValue, O, replaceValue)\n : $replace.call(String(O), searchValue, replaceValue);\n }, $replace];\n});\n","// @@split logic\nrequire('./_fix-re-wks')('split', 2, function (defined, SPLIT, $split) {\n 'use strict';\n var isRegExp = require('./_is-regexp');\n var _split = $split;\n var $push = [].push;\n var $SPLIT = 'split';\n var LENGTH = 'length';\n var LAST_INDEX = 'lastIndex';\n if (\n 'abbc'[$SPLIT](/(b)*/)[1] == 'c' ||\n 'test'[$SPLIT](/(?:)/, -1)[LENGTH] != 4 ||\n 'ab'[$SPLIT](/(?:ab)*/)[LENGTH] != 2 ||\n '.'[$SPLIT](/(.?)(.?)/)[LENGTH] != 4 ||\n '.'[$SPLIT](/()()/)[LENGTH] > 1 ||\n ''[$SPLIT](/.?/)[LENGTH]\n ) {\n var NPCG = /()??/.exec('')[1] === undefined; // nonparticipating capturing group\n // based on es5-shim implementation, need to rework it\n $split = function (separator, limit) {\n var string = String(this);\n if (separator === undefined && limit === 0) return [];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) return _split.call(string, separator, limit);\n var output = [];\n var flags = (separator.ignoreCase ? 'i' : '') +\n (separator.multiline ? 'm' : '') +\n (separator.unicode ? 'u' : '') +\n (separator.sticky ? 'y' : '');\n var lastLastIndex = 0;\n var splitLimit = limit === undefined ? 4294967295 : limit >>> 0;\n // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var separator2, match, lastIndex, lastLength, i;\n // Doesn't need flags gy, but they don't hurt\n if (!NPCG) separator2 = new RegExp('^' + separatorCopy.source + '$(?!\\\\s)', flags);\n while (match = separatorCopy.exec(string)) {\n // `separatorCopy.lastIndex` is not reliable cross-browser\n lastIndex = match.index + match[0][LENGTH];\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n // Fix browsers whose `exec` methods don't consistently return `undefined` for NPCG\n // eslint-disable-next-line no-loop-func\n if (!NPCG && match[LENGTH] > 1) match[0].replace(separator2, function () {\n for (i = 1; i < arguments[LENGTH] - 2; i++) if (arguments[i] === undefined) match[i] = undefined;\n });\n if (match[LENGTH] > 1 && match.index < string[LENGTH]) $push.apply(output, match.slice(1));\n lastLength = match[0][LENGTH];\n lastLastIndex = lastIndex;\n if (output[LENGTH] >= splitLimit) break;\n }\n if (separatorCopy[LAST_INDEX] === match.index) separatorCopy[LAST_INDEX]++; // Avoid an infinite loop\n }\n if (lastLastIndex === string[LENGTH]) {\n if (lastLength || !separatorCopy.test('')) output.push('');\n } else output.push(string.slice(lastLastIndex));\n return output[LENGTH] > splitLimit ? output.slice(0, splitLimit) : output;\n };\n // Chakra, V8\n } else if ('0'[$SPLIT](undefined, 0)[LENGTH]) {\n $split = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : _split.call(this, separator, limit);\n };\n }\n // 21.1.3.17 String.prototype.split(separator, limit)\n return [function split(separator, limit) {\n var O = defined(this);\n var fn = separator == undefined ? undefined : separator[SPLIT];\n return fn !== undefined ? fn.call(separator, O, limit) : $split.call(String(O), separator, limit);\n }, $split];\n});\n","// @@search logic\nrequire('./_fix-re-wks')('search', 1, function (defined, SEARCH, $search) {\n // 21.1.3.15 String.prototype.search(regexp)\n return [function search(regexp) {\n 'use strict';\n var O = defined(this);\n var fn = regexp == undefined ? undefined : regexp[SEARCH];\n return fn !== undefined ? fn.call(regexp, O) : new RegExp(regexp)[SEARCH](String(O));\n }, $search];\n});\n","'use strict';\nvar $defineProperty = require('./_object-dp');\nvar createDesc = require('./_property-desc');\n\nmodule.exports = function (object, index, value) {\n if (index in object) $defineProperty.f(object, index, createDesc(0, value));\n else object[index] = value;\n};\n","'use strict';\nvar ctx = require('./_ctx');\nvar $export = require('./_export');\nvar toObject = require('./_to-object');\nvar call = require('./_iter-call');\nvar isArrayIter = require('./_is-array-iter');\nvar toLength = require('./_to-length');\nvar createProperty = require('./_create-property');\nvar getIterFn = require('./core.get-iterator-method');\n\n$export($export.S + $export.F * !require('./_iter-detect')(function (iter) { Array.from(iter); }), 'Array', {\n // 22.1.2.1 Array.from(arrayLike, mapfn = undefined, thisArg = undefined)\n from: function from(arrayLike /* , mapfn = undefined, thisArg = undefined */) {\n var O = toObject(arrayLike);\n var C = typeof this == 'function' ? this : Array;\n var aLen = arguments.length;\n var mapfn = aLen > 1 ? arguments[1] : undefined;\n var mapping = mapfn !== undefined;\n var index = 0;\n var iterFn = getIterFn(O);\n var length, result, step, iterator;\n if (mapping) mapfn = ctx(mapfn, aLen > 2 ? arguments[2] : undefined, 2);\n // if object isn't iterable or it's array with default iterator - use simple case\n if (iterFn != undefined && !(C == Array && isArrayIter(iterFn))) {\n for (iterator = iterFn.call(O), result = new C(); !(step = iterator.next()).done; index++) {\n createProperty(result, index, mapping ? call(iterator, mapfn, [step.value, index], true) : step.value);\n }\n } else {\n length = toLength(O.length);\n for (result = new C(length); length > index; index++) {\n createProperty(result, index, mapping ? mapfn(O[index], index) : O[index]);\n }\n }\n result.length = index;\n return result;\n }\n});\n","'use strict';\nvar $export = require('./_export');\nvar createProperty = require('./_create-property');\n\n// WebKit Array.of isn't generic\n$export($export.S + $export.F * require('./_fails')(function () {\n function F() { /* empty */ }\n return !(Array.of.call(F) instanceof F);\n}), 'Array', {\n // 22.1.2.3 Array.of( ...items)\n of: function of(/* ...args */) {\n var index = 0;\n var aLen = arguments.length;\n var result = new (typeof this == 'function' ? this : Array)(aLen);\n while (aLen > index) createProperty(result, index, arguments[index++]);\n result.length = aLen;\n return result;\n }\n});\n","// 22.1.3.3 Array.prototype.copyWithin(target, start, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { copyWithin: require('./_array-copy-within') });\n\nrequire('./_add-to-unscopables')('copyWithin');\n","'use strict';\n// 22.1.3.8 Array.prototype.find(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(5);\nvar KEY = 'find';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n find: function find(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","'use strict';\n// 22.1.3.9 Array.prototype.findIndex(predicate, thisArg = undefined)\nvar $export = require('./_export');\nvar $find = require('./_array-methods')(6);\nvar KEY = 'findIndex';\nvar forced = true;\n// Shouldn't skip holes\nif (KEY in []) Array(1)[KEY](function () { forced = false; });\n$export($export.P + $export.F * forced, 'Array', {\n findIndex: function findIndex(callbackfn /* , that = undefined */) {\n return $find(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\nrequire('./_add-to-unscopables')(KEY);\n","// 22.1.3.6 Array.prototype.fill(value, start = 0, end = this.length)\nvar $export = require('./_export');\n\n$export($export.P, 'Array', { fill: require('./_array-fill') });\n\nrequire('./_add-to-unscopables')('fill');\n","// 20.1.2.2 Number.isFinite(number)\nvar $export = require('./_export');\nvar _isFinite = require('./_global').isFinite;\n\n$export($export.S, 'Number', {\n isFinite: function isFinite(it) {\n return typeof it == 'number' && _isFinite(it);\n }\n});\n","// 20.1.2.3 Number.isInteger(number)\nvar isObject = require('./_is-object');\nvar floor = Math.floor;\nmodule.exports = function isInteger(it) {\n return !isObject(it) && isFinite(it) && floor(it) === it;\n};\n","// 20.1.2.3 Number.isInteger(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { isInteger: require('./_is-integer') });\n","// 20.1.2.5 Number.isSafeInteger(number)\nvar $export = require('./_export');\nvar isInteger = require('./_is-integer');\nvar abs = Math.abs;\n\n$export($export.S, 'Number', {\n isSafeInteger: function isSafeInteger(number) {\n return isInteger(number) && abs(number) <= 0x1fffffffffffff;\n }\n});\n","// 20.1.2.4 Number.isNaN(number)\nvar $export = require('./_export');\n\n$export($export.S, 'Number', {\n isNaN: function isNaN(number) {\n // eslint-disable-next-line no-self-compare\n return number != number;\n }\n});\n","// 20.1.2.1 Number.EPSILON\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { EPSILON: Math.pow(2, -52) });\n","// 20.1.2.10 Number.MIN_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MIN_SAFE_INTEGER: -0x1fffffffffffff });\n","// 20.1.2.6 Number.MAX_SAFE_INTEGER\nvar $export = require('./_export');\n\n$export($export.S, 'Number', { MAX_SAFE_INTEGER: 0x1fffffffffffff });\n","// 20.2.2.20 Math.log1p(x)\nmodule.exports = Math.log1p || function log1p(x) {\n return (x = +x) > -1e-8 && x < 1e-8 ? x - x * x / 2 : Math.log(1 + x);\n};\n","// 20.2.2.3 Math.acosh(x)\nvar $export = require('./_export');\nvar log1p = require('./_math-log1p');\nvar sqrt = Math.sqrt;\nvar $acosh = Math.acosh;\n\n$export($export.S + $export.F * !($acosh\n // V8 bug: https://code.google.com/p/v8/issues/detail?id=3509\n && Math.floor($acosh(Number.MAX_VALUE)) == 710\n // Tor Browser bug: Math.acosh(Infinity) -> NaN\n && $acosh(Infinity) == Infinity\n), 'Math', {\n acosh: function acosh(x) {\n return (x = +x) < 1 ? NaN : x > 94906265.62425156\n ? Math.log(x) + Math.LN2\n : log1p(x - 1 + sqrt(x - 1) * sqrt(x + 1));\n }\n});\n","// 20.2.2.5 Math.asinh(x)\nvar $export = require('./_export');\nvar $asinh = Math.asinh;\n\nfunction asinh(x) {\n return !isFinite(x = +x) || x == 0 ? x : x < 0 ? -asinh(-x) : Math.log(x + Math.sqrt(x * x + 1));\n}\n\n// Tor Browser bug: Math.asinh(0) -> -0\n$export($export.S + $export.F * !($asinh && 1 / $asinh(0) > 0), 'Math', { asinh: asinh });\n","// 20.2.2.7 Math.atanh(x)\nvar $export = require('./_export');\nvar $atanh = Math.atanh;\n\n// Tor Browser bug: Math.atanh(-0) -> 0\n$export($export.S + $export.F * !($atanh && 1 / $atanh(-0) < 0), 'Math', {\n atanh: function atanh(x) {\n return (x = +x) == 0 ? x : Math.log((1 + x) / (1 - x)) / 2;\n }\n});\n","// 20.2.2.28 Math.sign(x)\nmodule.exports = Math.sign || function sign(x) {\n // eslint-disable-next-line no-self-compare\n return (x = +x) == 0 || x != x ? x : x < 0 ? -1 : 1;\n};\n","// 20.2.2.9 Math.cbrt(x)\nvar $export = require('./_export');\nvar sign = require('./_math-sign');\n\n$export($export.S, 'Math', {\n cbrt: function cbrt(x) {\n return sign(x = +x) * Math.pow(Math.abs(x), 1 / 3);\n }\n});\n","// 20.2.2.11 Math.clz32(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n clz32: function clz32(x) {\n return (x >>>= 0) ? 31 - Math.floor(Math.log(x + 0.5) * Math.LOG2E) : 32;\n }\n});\n","// 20.2.2.12 Math.cosh(x)\nvar $export = require('./_export');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n cosh: function cosh(x) {\n return (exp(x = +x) + exp(-x)) / 2;\n }\n});\n","// 20.2.2.14 Math.expm1(x)\nvar $expm1 = Math.expm1;\nmodule.exports = (!$expm1\n // Old FF bug\n || $expm1(10) > 22025.465794806719 || $expm1(10) < 22025.4657948067165168\n // Tor Browser bug\n || $expm1(-2e-17) != -2e-17\n) ? function expm1(x) {\n return (x = +x) == 0 ? x : x > -1e-6 && x < 1e-6 ? x + x * x / 2 : Math.exp(x) - 1;\n} : $expm1;\n","// 20.2.2.14 Math.expm1(x)\nvar $export = require('./_export');\nvar $expm1 = require('./_math-expm1');\n\n$export($export.S + $export.F * ($expm1 != Math.expm1), 'Math', { expm1: $expm1 });\n","// 20.2.2.16 Math.fround(x)\nvar sign = require('./_math-sign');\nvar pow = Math.pow;\nvar EPSILON = pow(2, -52);\nvar EPSILON32 = pow(2, -23);\nvar MAX32 = pow(2, 127) * (2 - EPSILON32);\nvar MIN32 = pow(2, -126);\n\nvar roundTiesToEven = function (n) {\n return n + 1 / EPSILON - 1 / EPSILON;\n};\n\nmodule.exports = Math.fround || function fround(x) {\n var $abs = Math.abs(x);\n var $sign = sign(x);\n var a, result;\n if ($abs < MIN32) return $sign * roundTiesToEven($abs / MIN32 / EPSILON32) * MIN32 * EPSILON32;\n a = (1 + EPSILON32 / EPSILON) * $abs;\n result = a - (a - $abs);\n // eslint-disable-next-line no-self-compare\n if (result > MAX32 || result != result) return $sign * Infinity;\n return $sign * result;\n};\n","// 20.2.2.16 Math.fround(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { fround: require('./_math-fround') });\n","// 20.2.2.17 Math.hypot([value1[, value2[, … ]]])\nvar $export = require('./_export');\nvar abs = Math.abs;\n\n$export($export.S, 'Math', {\n hypot: function hypot(value1, value2) { // eslint-disable-line no-unused-vars\n var sum = 0;\n var i = 0;\n var aLen = arguments.length;\n var larg = 0;\n var arg, div;\n while (i < aLen) {\n arg = abs(arguments[i++]);\n if (larg < arg) {\n div = larg / arg;\n sum = sum * div * div + 1;\n larg = arg;\n } else if (arg > 0) {\n div = arg / larg;\n sum += div * div;\n } else sum += arg;\n }\n return larg === Infinity ? Infinity : larg * Math.sqrt(sum);\n }\n});\n","// 20.2.2.18 Math.imul(x, y)\nvar $export = require('./_export');\nvar $imul = Math.imul;\n\n// some WebKit versions fails with big numbers, some has wrong arity\n$export($export.S + $export.F * require('./_fails')(function () {\n return $imul(0xffffffff, 5) != -5 || $imul.length != 2;\n}), 'Math', {\n imul: function imul(x, y) {\n var UINT16 = 0xffff;\n var xn = +x;\n var yn = +y;\n var xl = UINT16 & xn;\n var yl = UINT16 & yn;\n return 0 | xl * yl + ((UINT16 & xn >>> 16) * yl + xl * (UINT16 & yn >>> 16) << 16 >>> 0);\n }\n});\n","// 20.2.2.20 Math.log1p(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { log1p: require('./_math-log1p') });\n","// 20.2.2.21 Math.log10(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log10: function log10(x) {\n return Math.log(x) * Math.LOG10E;\n }\n});\n","// 20.2.2.22 Math.log2(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n log2: function log2(x) {\n return Math.log(x) / Math.LN2;\n }\n});\n","// 20.2.2.28 Math.sign(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', { sign: require('./_math-sign') });\n","// 20.2.2.30 Math.sinh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n// V8 near Chromium 38 has a problem with very small numbers\n$export($export.S + $export.F * require('./_fails')(function () {\n return !Math.sinh(-2e-17) != -2e-17;\n}), 'Math', {\n sinh: function sinh(x) {\n return Math.abs(x = +x) < 1\n ? (expm1(x) - expm1(-x)) / 2\n : (exp(x - 1) - exp(-x - 1)) * (Math.E / 2);\n }\n});\n","// 20.2.2.33 Math.tanh(x)\nvar $export = require('./_export');\nvar expm1 = require('./_math-expm1');\nvar exp = Math.exp;\n\n$export($export.S, 'Math', {\n tanh: function tanh(x) {\n var a = expm1(x = +x);\n var b = expm1(-x);\n return a == Infinity ? 1 : b == Infinity ? -1 : (a - b) / (exp(x) + exp(-x));\n }\n});\n","// 20.2.2.34 Math.trunc(x)\nvar $export = require('./_export');\n\n$export($export.S, 'Math', {\n trunc: function trunc(it) {\n return (it > 0 ? Math.floor : Math.ceil)(it);\n }\n});\n","'use strict';\n// https://github.com/tc39/Array.prototype.includes\nvar $export = require('./_export');\nvar $includes = require('./_array-includes')(true);\n\n$export($export.P, 'Array', {\n includes: function includes(el /* , fromIndex = 0 */) {\n return $includes(this, el, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n\nrequire('./_add-to-unscopables')('includes');\n","var getKeys = require('./_object-keys');\nvar toIObject = require('./_to-iobject');\nvar isEnum = require('./_object-pie').f;\nmodule.exports = function (isEntries) {\n return function (it) {\n var O = toIObject(it);\n var keys = getKeys(O);\n var length = keys.length;\n var i = 0;\n var result = [];\n var key;\n while (length > i) if (isEnum.call(O, key = keys[i++])) {\n result.push(isEntries ? [key, O[key]] : O[key]);\n } return result;\n };\n};\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $values = require('./_object-to-array')(false);\n\n$export($export.S, 'Object', {\n values: function values(it) {\n return $values(it);\n }\n});\n","// https://github.com/tc39/proposal-object-values-entries\nvar $export = require('./_export');\nvar $entries = require('./_object-to-array')(true);\n\n$export($export.S, 'Object', {\n entries: function entries(it) {\n return $entries(it);\n }\n});\n","// https://github.com/tc39/proposal-object-getownpropertydescriptors\nvar $export = require('./_export');\nvar ownKeys = require('./_own-keys');\nvar toIObject = require('./_to-iobject');\nvar gOPD = require('./_object-gopd');\nvar createProperty = require('./_create-property');\n\n$export($export.S, 'Object', {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIObject(object);\n var getDesc = gOPD.f;\n var keys = ownKeys(O);\n var result = {};\n var i = 0;\n var key, desc;\n while (keys.length > i) {\n desc = getDesc(O, key = keys[i++]);\n if (desc !== undefined) createProperty(result, key, desc);\n }\n return result;\n }\n});\n","// https://github.com/tc39/proposal-string-pad-start-end\nvar toLength = require('./_to-length');\nvar repeat = require('./_string-repeat');\nvar defined = require('./_defined');\n\nmodule.exports = function (that, maxLength, fillString, left) {\n var S = String(defined(that));\n var stringLength = S.length;\n var fillStr = fillString === undefined ? ' ' : String(fillString);\n var intMaxLength = toLength(maxLength);\n if (intMaxLength <= stringLength || fillStr == '') return S;\n var fillLen = intMaxLength - stringLength;\n var stringFiller = repeat.call(fillStr, Math.ceil(fillLen / fillStr.length));\n if (stringFiller.length > fillLen) stringFiller = stringFiller.slice(0, fillLen);\n return left ? stringFiller + S : S + stringFiller;\n};\n","var global = require('./_global');\nvar navigator = global.navigator;\n\nmodule.exports = navigator && navigator.userAgent || '';\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padStart: function padStart(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, true);\n }\n});\n","'use strict';\n// https://github.com/tc39/proposal-string-pad-start-end\nvar $export = require('./_export');\nvar $pad = require('./_string-pad');\nvar userAgent = require('./_user-agent');\n\n// https://github.com/zloirock/core-js/issues/280\n$export($export.P + $export.F * /Version\\/10\\.\\d+(\\.\\d+)? Safari\\//.test(userAgent), 'String', {\n padEnd: function padEnd(maxLength /* , fillString = ' ' */) {\n return $pad(this, maxLength, arguments.length > 1 ? arguments[1] : undefined, false);\n }\n});\n","// ie9- setTimeout & setInterval additional parameters fix\nvar global = require('./_global');\nvar $export = require('./_export');\nvar userAgent = require('./_user-agent');\nvar slice = [].slice;\nvar MSIE = /MSIE .\\./.test(userAgent); // <- dirty ie9- check\nvar wrap = function (set) {\n return function (fn, time /* , ...args */) {\n var boundArgs = arguments.length > 2;\n var args = boundArgs ? slice.call(arguments, 2) : false;\n return set(boundArgs ? function () {\n // eslint-disable-next-line no-new-func\n (typeof fn == 'function' ? fn : Function(fn)).apply(this, args);\n } : fn, time);\n };\n};\n$export($export.G + $export.B + $export.F * MSIE, {\n setTimeout: wrap(global.setTimeout),\n setInterval: wrap(global.setInterval)\n});\n","var $export = require('./_export');\nvar $task = require('./_task');\n$export($export.G + $export.B, {\n setImmediate: $task.set,\n clearImmediate: $task.clear\n});\n","var $iterators = require('./es6.array.iterator');\nvar getKeys = require('./_object-keys');\nvar redefine = require('./_redefine');\nvar global = require('./_global');\nvar hide = require('./_hide');\nvar Iterators = require('./_iterators');\nvar wks = require('./_wks');\nvar ITERATOR = wks('iterator');\nvar TO_STRING_TAG = wks('toStringTag');\nvar ArrayValues = Iterators.Array;\n\nvar DOMIterables = {\n CSSRuleList: true, // TODO: Not spec compliant, should be false.\n CSSStyleDeclaration: false,\n CSSValueList: false,\n ClientRectList: false,\n DOMRectList: false,\n DOMStringList: false,\n DOMTokenList: true,\n DataTransferItemList: false,\n FileList: false,\n HTMLAllCollection: false,\n HTMLCollection: false,\n HTMLFormElement: false,\n HTMLSelectElement: false,\n MediaList: true, // TODO: Not spec compliant, should be false.\n MimeTypeArray: false,\n NamedNodeMap: false,\n NodeList: true,\n PaintRequestList: false,\n Plugin: false,\n PluginArray: false,\n SVGLengthList: false,\n SVGNumberList: false,\n SVGPathSegList: false,\n SVGPointList: false,\n SVGStringList: false,\n SVGTransformList: false,\n SourceBufferList: false,\n StyleSheetList: true, // TODO: Not spec compliant, should be false.\n TextTrackCueList: false,\n TextTrackList: false,\n TouchList: false\n};\n\nfor (var collections = getKeys(DOMIterables), i = 0; i < collections.length; i++) {\n var NAME = collections[i];\n var explicit = DOMIterables[NAME];\n var Collection = global[NAME];\n var proto = Collection && Collection.prototype;\n var key;\n if (proto) {\n if (!proto[ITERATOR]) hide(proto, ITERATOR, ArrayValues);\n if (!proto[TO_STRING_TAG]) hide(proto, TO_STRING_TAG, NAME);\n Iterators[NAME] = ArrayValues;\n if (explicit) for (key in $iterators) if (!proto[key]) redefine(proto, key, $iterators[key], true);\n }\n}\n","/**\n * Copyright (c) 2014, Facebook, Inc.\n * All rights reserved.\n *\n * This source code is licensed under the BSD-style license found in the\n * https://raw.github.com/facebook/regenerator/master/LICENSE file. An\n * additional grant of patent rights can be found in the PATENTS file in\n * the same directory.\n */\n\n!(function(global) {\n \"use strict\";\n\n var Op = Object.prototype;\n var hasOwn = Op.hasOwnProperty;\n var undefined; // More compressible than void 0.\n var $Symbol = typeof Symbol === \"function\" ? Symbol : {};\n var iteratorSymbol = $Symbol.iterator || \"@@iterator\";\n var asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\";\n var toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n\n var inModule = typeof module === \"object\";\n var runtime = global.regeneratorRuntime;\n if (runtime) {\n if (inModule) {\n // If regeneratorRuntime is defined globally and we're in a module,\n // make the exports object identical to regeneratorRuntime.\n module.exports = runtime;\n }\n // Don't bother evaluating the rest of this file if the runtime was\n // already defined globally.\n return;\n }\n\n // Define the runtime globally (as expected by generated code) as either\n // module.exports (if we're in a module) or a new, empty object.\n runtime = global.regeneratorRuntime = inModule ? module.exports : {};\n\n function wrap(innerFn, outerFn, self, tryLocsList) {\n // If outerFn provided and outerFn.prototype is a Generator, then outerFn.prototype instanceof Generator.\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator;\n var generator = Object.create(protoGenerator.prototype);\n var context = new Context(tryLocsList || []);\n\n // The ._invoke method unifies the implementations of the .next,\n // .throw, and .return methods.\n generator._invoke = makeInvokeMethod(innerFn, self, context);\n\n return generator;\n }\n runtime.wrap = wrap;\n\n // Try/catch helper to minimize deoptimizations. Returns a completion\n // record like context.tryEntries[i].completion. This interface could\n // have been (and was previously) designed to take a closure to be\n // invoked without arguments, but in all the cases we care about we\n // already have an existing method we want to call, so there's no need\n // to create a new function object. We can even get away with assuming\n // the method takes exactly one argument, since that happens to be true\n // in every case, so we don't have to touch the arguments object. The\n // only additional allocation required is the completion record, which\n // has a stable shape and so hopefully should be cheap to allocate.\n function tryCatch(fn, obj, arg) {\n try {\n return { type: \"normal\", arg: fn.call(obj, arg) };\n } catch (err) {\n return { type: \"throw\", arg: err };\n }\n }\n\n var GenStateSuspendedStart = \"suspendedStart\";\n var GenStateSuspendedYield = \"suspendedYield\";\n var GenStateExecuting = \"executing\";\n var GenStateCompleted = \"completed\";\n\n // Returning this object from the innerFn has the same effect as\n // breaking out of the dispatch switch statement.\n var ContinueSentinel = {};\n\n // Dummy constructor functions that we use as the .constructor and\n // .constructor.prototype properties for functions that return Generator\n // objects. For full spec compliance, you may wish to configure your\n // minifier not to mangle the names of these two functions.\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n\n // This is a polyfill for %IteratorPrototype% for environments that\n // don't natively support it.\n var IteratorPrototype = {};\n IteratorPrototype[iteratorSymbol] = function () {\n return this;\n };\n\n var getProto = Object.getPrototypeOf;\n var NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n if (NativeIteratorPrototype &&\n NativeIteratorPrototype !== Op &&\n hasOwn.call(NativeIteratorPrototype, iteratorSymbol)) {\n // This environment has a native %IteratorPrototype%; use it instead\n // of the polyfill.\n IteratorPrototype = NativeIteratorPrototype;\n }\n\n var Gp = GeneratorFunctionPrototype.prototype =\n Generator.prototype = Object.create(IteratorPrototype);\n GeneratorFunction.prototype = Gp.constructor = GeneratorFunctionPrototype;\n GeneratorFunctionPrototype.constructor = GeneratorFunction;\n GeneratorFunctionPrototype[toStringTagSymbol] =\n GeneratorFunction.displayName = \"GeneratorFunction\";\n\n // Helper for defining the .next, .throw, and .return methods of the\n // Iterator interface in terms of a single ._invoke method.\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function(method) {\n prototype[method] = function(arg) {\n return this._invoke(method, arg);\n };\n });\n }\n\n runtime.isGeneratorFunction = function(genFun) {\n var ctor = typeof genFun === \"function\" && genFun.constructor;\n return ctor\n ? ctor === GeneratorFunction ||\n // For the native GeneratorFunction constructor, the best we can\n // do is to check its .name property.\n (ctor.displayName || ctor.name) === \"GeneratorFunction\"\n : false;\n };\n\n runtime.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n if (!(toStringTagSymbol in genFun)) {\n genFun[toStringTagSymbol] = \"GeneratorFunction\";\n }\n }\n genFun.prototype = Object.create(Gp);\n return genFun;\n };\n\n // Within the body of any async function, `await x` is transformed to\n // `yield regeneratorRuntime.awrap(x)`, so that the runtime can test\n // `hasOwn.call(value, \"__await\")` to determine if the yielded value is\n // meant to be awaited.\n runtime.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (record.type === \"throw\") {\n reject(record.arg);\n } else {\n var result = record.arg;\n var value = result.value;\n if (value &&\n typeof value === \"object\" &&\n hasOwn.call(value, \"__await\")) {\n return Promise.resolve(value.__await).then(function(value) {\n invoke(\"next\", value, resolve, reject);\n }, function(err) {\n invoke(\"throw\", err, resolve, reject);\n });\n }\n\n return Promise.resolve(value).then(function(unwrapped) {\n // When a yielded Promise is resolved, its final value becomes\n // the .value of the Promise<{value,done}> result for the\n // current iteration. If the Promise is rejected, however, the\n // result for this iteration will be rejected with the same\n // reason. Note that rejections of yielded Promises are not\n // thrown back into the generator function, as is the case\n // when an awaited Promise is rejected. This difference in\n // behavior between yield and await is important, because it\n // allows the consumer to decide what to do with the yielded\n // rejection (swallow it and continue, manually .throw it back\n // into the generator, abandon iteration, whatever). With\n // await, by contrast, there is no opportunity to examine the\n // rejection reason outside the generator function, so the\n // only option is to throw it from the await expression, and\n // let the generator function handle the exception.\n result.value = unwrapped;\n resolve(result);\n }, reject);\n }\n }\n\n if (typeof global.process === \"object\" && global.process.domain) {\n invoke = global.process.domain.bind(invoke);\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new Promise(function(resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n\n return previousPromise =\n // If enqueue has been called before, then we want to wait until\n // all previous Promises have been resolved before calling invoke,\n // so that results are always delivered in the correct order. If\n // enqueue has not been called before, then it is important to\n // call invoke immediately, without waiting on a callback to fire,\n // so that the async generator function has the opportunity to do\n // any necessary setup in a predictable way. This predictability\n // is why the Promise constructor synchronously invokes its\n // executor callback, and why async functions synchronously\n // execute code before the first await. Since we implement simple\n // async functions in terms of async generators, it is especially\n // important to get this right, even though it requires care.\n previousPromise ? previousPromise.then(\n callInvokeWithMethodAndArg,\n // Avoid propagating failures to Promises returned by later\n // invocations of the iterator.\n callInvokeWithMethodAndArg\n ) : callInvokeWithMethodAndArg();\n }\n\n // Define the unified helper method that is used to implement .next,\n // .throw, and .return (see defineIteratorMethods).\n this._invoke = enqueue;\n }\n\n defineIteratorMethods(AsyncIterator.prototype);\n AsyncIterator.prototype[asyncIteratorSymbol] = function () {\n return this;\n };\n runtime.AsyncIterator = AsyncIterator;\n\n // Note that simple async functions are implemented on top of\n // AsyncIterator objects; they just return a Promise for the value of\n // the final result produced by the iterator.\n runtime.async = function(innerFn, outerFn, self, tryLocsList) {\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList)\n );\n\n return runtime.isGeneratorFunction(outerFn)\n ? iter // If outerFn is a generator, return the full iterator.\n : iter.next().then(function(result) {\n return result.done ? result.value : iter.next();\n });\n };\n\n function makeInvokeMethod(innerFn, self, context) {\n var state = GenStateSuspendedStart;\n\n return function invoke(method, arg) {\n if (state === GenStateExecuting) {\n throw new Error(\"Generator is already running\");\n }\n\n if (state === GenStateCompleted) {\n if (method === \"throw\") {\n throw arg;\n }\n\n // Be forgiving, per 25.3.3.3.3 of the spec:\n // https://people.mozilla.org/~jorendorff/es6-draft.html#sec-generatorresume\n return doneResult();\n }\n\n context.method = method;\n context.arg = arg;\n\n while (true) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n\n if (context.method === \"next\") {\n // Setting context._sent for legacy support of Babel's\n // function.sent implementation.\n context.sent = context._sent = context.arg;\n\n } else if (context.method === \"throw\") {\n if (state === GenStateSuspendedStart) {\n state = GenStateCompleted;\n throw context.arg;\n }\n\n context.dispatchException(context.arg);\n\n } else if (context.method === \"return\") {\n context.abrupt(\"return\", context.arg);\n }\n\n state = GenStateExecuting;\n\n var record = tryCatch(innerFn, self, context);\n if (record.type === \"normal\") {\n // If an exception is thrown from innerFn, we leave state ===\n // GenStateExecuting and loop back for another invocation.\n state = context.done\n ? GenStateCompleted\n : GenStateSuspendedYield;\n\n if (record.arg === ContinueSentinel) {\n continue;\n }\n\n return {\n value: record.arg,\n done: context.done\n };\n\n } else if (record.type === \"throw\") {\n state = GenStateCompleted;\n // Dispatch the exception by looping back around to the\n // context.dispatchException(context.arg) call above.\n context.method = \"throw\";\n context.arg = record.arg;\n }\n }\n };\n }\n\n // Call delegate.iterator[context.method](context.arg) and handle the\n // result, either by returning a { value, done } result from the\n // delegate iterator, or by modifying context.method and context.arg,\n // setting context.delegate to null, and returning the ContinueSentinel.\n function maybeInvokeDelegate(delegate, context) {\n var method = delegate.iterator[context.method];\n if (method === undefined) {\n // A .throw or .return when the delegate iterator has no .throw\n // method always terminates the yield* loop.\n context.delegate = null;\n\n if (context.method === \"throw\") {\n if (delegate.iterator.return) {\n // If the delegate iterator has a return method, give it a\n // chance to clean up.\n context.method = \"return\";\n context.arg = undefined;\n maybeInvokeDelegate(delegate, context);\n\n if (context.method === \"throw\") {\n // If maybeInvokeDelegate(context) changed context.method from\n // \"return\" to \"throw\", let that override the TypeError below.\n return ContinueSentinel;\n }\n }\n\n context.method = \"throw\";\n context.arg = new TypeError(\n \"The iterator does not provide a 'throw' method\");\n }\n\n return ContinueSentinel;\n }\n\n var record = tryCatch(method, delegate.iterator, context.arg);\n\n if (record.type === \"throw\") {\n context.method = \"throw\";\n context.arg = record.arg;\n context.delegate = null;\n return ContinueSentinel;\n }\n\n var info = record.arg;\n\n if (! info) {\n context.method = \"throw\";\n context.arg = new TypeError(\"iterator result is not an object\");\n context.delegate = null;\n return ContinueSentinel;\n }\n\n if (info.done) {\n // Assign the result of the finished delegate to the temporary\n // variable specified by delegate.resultName (see delegateYield).\n context[delegate.resultName] = info.value;\n\n // Resume execution at the desired location (see delegateYield).\n context.next = delegate.nextLoc;\n\n // If context.method was \"throw\" but the delegate handled the\n // exception, let the outer generator proceed normally. If\n // context.method was \"next\", forget context.arg since it has been\n // \"consumed\" by the delegate iterator. If context.method was\n // \"return\", allow the original .return call to continue in the\n // outer generator.\n if (context.method !== \"return\") {\n context.method = \"next\";\n context.arg = undefined;\n }\n\n } else {\n // Re-yield the result returned by the delegate method.\n return info;\n }\n\n // The delegate iterator is finished, so forget it and continue with\n // the outer generator.\n context.delegate = null;\n return ContinueSentinel;\n }\n\n // Define Generator.prototype.{next,throw,return} in terms of the\n // unified ._invoke helper method.\n defineIteratorMethods(Gp);\n\n Gp[toStringTagSymbol] = \"Generator\";\n\n // A Generator should always return itself as the iterator object when the\n // @@iterator function is called on it. Some browsers' implementations of the\n // iterator prototype chain incorrectly implement this, causing the Generator\n // object to not be returned from this call. This ensures that doesn't happen.\n // See https://github.com/facebook/regenerator/issues/274 for more details.\n Gp[iteratorSymbol] = function() {\n return this;\n };\n\n Gp.toString = function() {\n return \"[object Generator]\";\n };\n\n function pushTryEntry(locs) {\n var entry = { tryLoc: locs[0] };\n\n if (1 in locs) {\n entry.catchLoc = locs[1];\n }\n\n if (2 in locs) {\n entry.finallyLoc = locs[2];\n entry.afterLoc = locs[3];\n }\n\n this.tryEntries.push(entry);\n }\n\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\";\n delete record.arg;\n entry.completion = record;\n }\n\n function Context(tryLocsList) {\n // The root entry object (effectively a try statement without a catch\n // or a finally block) gives us a place to store values thrown from\n // locations where there is no enclosing try statement.\n this.tryEntries = [{ tryLoc: \"root\" }];\n tryLocsList.forEach(pushTryEntry, this);\n this.reset(true);\n }\n\n runtime.keys = function(object) {\n var keys = [];\n for (var key in object) {\n keys.push(key);\n }\n keys.reverse();\n\n // Rather than returning an object with a next method, we keep\n // things simple and return the next function itself.\n return function next() {\n while (keys.length) {\n var key = keys.pop();\n if (key in object) {\n next.value = key;\n next.done = false;\n return next;\n }\n }\n\n // To avoid creating an additional object, we just hang the .value\n // and .done properties off the next function object itself. This\n // also ensures that the minifier will not anonymize the function.\n next.done = true;\n return next;\n };\n };\n\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) {\n return iteratorMethod.call(iterable);\n }\n\n if (typeof iterable.next === \"function\") {\n return iterable;\n }\n\n if (!isNaN(iterable.length)) {\n var i = -1, next = function next() {\n while (++i < iterable.length) {\n if (hasOwn.call(iterable, i)) {\n next.value = iterable[i];\n next.done = false;\n return next;\n }\n }\n\n next.value = undefined;\n next.done = true;\n\n return next;\n };\n\n return next.next = next;\n }\n }\n\n // Return an iterator with no values.\n return { next: doneResult };\n }\n runtime.values = values;\n\n function doneResult() {\n return { value: undefined, done: true };\n }\n\n Context.prototype = {\n constructor: Context,\n\n reset: function(skipTempReset) {\n this.prev = 0;\n this.next = 0;\n // Resetting context._sent for legacy support of Babel's\n // function.sent implementation.\n this.sent = this._sent = undefined;\n this.done = false;\n this.delegate = null;\n\n this.method = \"next\";\n this.arg = undefined;\n\n this.tryEntries.forEach(resetTryEntry);\n\n if (!skipTempReset) {\n for (var name in this) {\n // Not sure about the optimal order of these conditions:\n if (name.charAt(0) === \"t\" &&\n hasOwn.call(this, name) &&\n !isNaN(+name.slice(1))) {\n this[name] = undefined;\n }\n }\n }\n },\n\n stop: function() {\n this.done = true;\n\n var rootEntry = this.tryEntries[0];\n var rootRecord = rootEntry.completion;\n if (rootRecord.type === \"throw\") {\n throw rootRecord.arg;\n }\n\n return this.rval;\n },\n\n dispatchException: function(exception) {\n if (this.done) {\n throw exception;\n }\n\n var context = this;\n function handle(loc, caught) {\n record.type = \"throw\";\n record.arg = exception;\n context.next = loc;\n\n if (caught) {\n // If the dispatched exception was caught by a catch block,\n // then let that catch block handle the exception normally.\n context.method = \"next\";\n context.arg = undefined;\n }\n\n return !! caught;\n }\n\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n var record = entry.completion;\n\n if (entry.tryLoc === \"root\") {\n // Exception thrown outside of any try block that could handle\n // it, so set the completion value of the entire function to\n // throw the exception.\n return handle(\"end\");\n }\n\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\");\n var hasFinally = hasOwn.call(entry, \"finallyLoc\");\n\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n } else if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) {\n return handle(entry.catchLoc, true);\n }\n\n } else if (hasFinally) {\n if (this.prev < entry.finallyLoc) {\n return handle(entry.finallyLoc);\n }\n\n } else {\n throw new Error(\"try statement without catch or finally\");\n }\n }\n }\n },\n\n abrupt: function(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev &&\n hasOwn.call(entry, \"finallyLoc\") &&\n this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n\n if (finallyEntry &&\n (type === \"break\" ||\n type === \"continue\") &&\n finallyEntry.tryLoc <= arg &&\n arg <= finallyEntry.finallyLoc) {\n // Ignore the finally entry if control is not jumping to a\n // location outside the try/catch block.\n finallyEntry = null;\n }\n\n var record = finallyEntry ? finallyEntry.completion : {};\n record.type = type;\n record.arg = arg;\n\n if (finallyEntry) {\n this.method = \"next\";\n this.next = finallyEntry.finallyLoc;\n return ContinueSentinel;\n }\n\n return this.complete(record);\n },\n\n complete: function(record, afterLoc) {\n if (record.type === \"throw\") {\n throw record.arg;\n }\n\n if (record.type === \"break\" ||\n record.type === \"continue\") {\n this.next = record.arg;\n } else if (record.type === \"return\") {\n this.rval = this.arg = record.arg;\n this.method = \"return\";\n this.next = \"end\";\n } else if (record.type === \"normal\" && afterLoc) {\n this.next = afterLoc;\n }\n\n return ContinueSentinel;\n },\n\n finish: function(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) {\n this.complete(entry.completion, entry.afterLoc);\n resetTryEntry(entry);\n return ContinueSentinel;\n }\n }\n },\n\n \"catch\": function(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (record.type === \"throw\") {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n\n // The context.catch method must only be called with a location\n // argument that corresponds to a known catch block.\n throw new Error(\"illegal catch attempt\");\n },\n\n delegateYield: function(iterable, resultName, nextLoc) {\n this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n };\n\n if (this.method === \"next\") {\n // Deliberately forget the last sent value so that we don't\n // accidentally pass it on to the delegate.\n this.arg = undefined;\n }\n\n return ContinueSentinel;\n }\n };\n})(\n // Among the various tricks for obtaining a reference to the global\n // object, this seems to be the most reliable technique that does not\n // use indirect eval (which violates Content Security Policy).\n typeof global === \"object\" ? global :\n typeof window === \"object\" ? window :\n typeof self === \"object\" ? self : this\n);\n","/**\n * Returns detailed type as string (instead of just 'object' for arrays etc)\n * @private\n * @param {any} value js value\n * @returns {String} type of value\n * @example\n * typeOf({}); // 'object'\n * typeOf([]); // 'array'\n * typeOf(function() {}); // 'function'\n * typeOf(/a/); // 'regexp'\n * typeOf(new Date()); // 'date'\n * typeOf(null); // 'null'\n * typeOf(undefined); // 'undefined'\n * typeOf('a'); // 'string'\n * typeOf(1); // 'number'\n * typeOf(true); // 'boolean'\n * typeOf(new Map()); // 'map'\n * typeOf(new Set()); // 'map'\n */\nfunction typeOf(value) {\n if (value === null) {\n return 'null';\n }\n if (value !== Object(value)) {\n return typeof value;\n }\n return {}.toString\n .call(value)\n .slice(8, -1)\n .toLowerCase();\n}\n\nexport default typeOf;\n","import typeOf from './typeOf';\n/**\n * Checks if input string is empty\n * @param {String} input text input\n * @return {Boolean} true if no input\n */\nfunction isEmpty(input) {\n if (typeOf(input) !== 'string') {\n return true;\n }\n return !input.length;\n}\n\nexport default isEmpty;\n","import isEmpty from './isEmpty';\n\n/**\n * Takes a character and a unicode range. Returns true if the char is in the range.\n * @param {String} char unicode character\n * @param {Number} start unicode start range\n * @param {Number} end unicode end range\n * @return {Boolean}\n */\nfunction isCharInRange(char = '', start, end) {\n if (isEmpty(char)) return false;\n const code = char.charCodeAt(0);\n return start <= code && code <= end;\n}\n\nexport default isCharInRange;\n","export const VERSION = '4.0.2';\n\nexport const TO_KANA_METHODS = {\n HIRAGANA: 'toHiragana',\n KATAKANA: 'toKatakana',\n};\n\nexport const ROMANIZATIONS = {\n HEPBURN: 'hepburn',\n};\n\n/**\n * Default config for WanaKana, user passed options will be merged with these\n * @type {DefaultOptions}\n * @name defaultOptions\n * @property {Boolean} [useObsoleteKana=false] - Set to true to use obsolete characters, such as ゐ and ゑ.\n * @example\n * toHiragana('we', { useObsoleteKana: true })\n * // => 'ゑ'\n * @property {Boolean} [passRomaji=false] - Set to true to pass romaji when using mixed syllabaries with toKatakana() or toHiragana()\n * @example\n * toHiragana('only convert the katakana: ヒラガナ', { passRomaji: true })\n * // => \"only convert the katakana: ひらがな\"\n * @property {Boolean} [upcaseKatakana=false] - Set to true to convert katakana to uppercase using toRomaji()\n * @example\n * toRomaji('ひらがな カタカナ', { upcaseKatakana: true })\n * // => \"hiragana KATAKANA\"\n * @property {Boolean|String} [IMEMode=false] - Set to true, 'toHiragana', or 'toKatakana' to handle conversion while it is being typed.\n * @property {String} [romanization='hepburn'] - choose toRomaji() romanization map (currently only 'hepburn')\n * @property {Object} [customKanaMapping] - custom map will be merged with default conversion\n * @example\n * toKana('wanakana', { customKanaMapping: { na: 'に', ka: 'Bana' }) };\n * // => 'わにBanaに'\n * @property {Object} [customRomajiMapping] - custom map will be merged with default conversion\n * @example\n * toRomaji('つじぎり', { customRomajiMapping: { じ: 'zi', つ: 'tu', り: 'li' }) };\n * // => 'tuzigili'\n */\nexport const DEFAULT_OPTIONS = {\n useObsoleteKana: false,\n passRomaji: false,\n upcaseKatakana: false,\n ignoreCase: false,\n IMEMode: false,\n romanization: ROMANIZATIONS.HEPBURN,\n};\n\n// CharCode References\n// http://www.rikai.com/library/kanjitables/kanji_codes.unicode.shtml\n// http://unicode-table.com\n\nexport const LATIN_LOWERCASE_START = 0x61;\nexport const LATIN_LOWERCASE_END = 0x7a;\nexport const LATIN_UPPERCASE_START = 0x41;\nexport const LATIN_UPPERCASE_END = 0x5a;\nexport const LOWERCASE_ZENKAKU_START = 0xff41;\nexport const LOWERCASE_ZENKAKU_END = 0xff5a;\nexport const UPPERCASE_ZENKAKU_START = 0xff21;\nexport const UPPERCASE_ZENKAKU_END = 0xff3a;\nexport const HIRAGANA_START = 0x3041;\nexport const HIRAGANA_END = 0x3096;\nexport const KATAKANA_START = 0x30a1;\nexport const KATAKANA_END = 0x30fc;\nexport const KANJI_START = 0x4e00;\nexport const KANJI_END = 0x9faf;\nexport const PROLONGED_SOUND_MARK = 0x30fc;\nexport const KANA_SLASH_DOT = 0x30fb;\n\nconst ZENKAKU_NUMBERS = [0xff10, 0xff19];\nconst ZENKAKU_UPPERCASE = [UPPERCASE_ZENKAKU_START, UPPERCASE_ZENKAKU_END];\nconst ZENKAKU_LOWERCASE = [LOWERCASE_ZENKAKU_START, LOWERCASE_ZENKAKU_END];\nconst ZENKAKU_PUNCTUATION_1 = [0xff01, 0xff0f];\nconst ZENKAKU_PUNCTUATION_2 = [0xff1a, 0xff1f];\nconst ZENKAKU_PUNCTUATION_3 = [0xff3b, 0xff3f];\nconst ZENKAKU_PUNCTUATION_4 = [0xff5b, 0xff60];\nconst ZENKAKU_SYMBOLS_CURRENCY = [0xffe0, 0xffee];\n\nconst HIRAGANA_CHARS = [0x3040, 0x309f];\nconst KATAKANA_CHARS = [0x30a0, 0x30ff];\nconst HANKAKU_KATAKANA = [0xff66, 0xff9f];\nconst KATAKANA_PUNCTUATION = [0x30fb, 0x30fc];\nconst KANA_PUNCTUATION = [0xff61, 0xff65];\nconst CJK_SYMBOLS_PUNCTUATION = [0x3000, 0x303f];\nconst COMMON_CJK = [0x4e00, 0x9fff];\nconst RARE_CJK = [0x3400, 0x4dbf];\n\nexport const KANA_RANGES = [HIRAGANA_CHARS, KATAKANA_CHARS, KANA_PUNCTUATION, HANKAKU_KATAKANA];\n\nexport const JA_PUNCTUATION_RANGES = [\n CJK_SYMBOLS_PUNCTUATION,\n KANA_PUNCTUATION,\n KATAKANA_PUNCTUATION,\n ZENKAKU_PUNCTUATION_1,\n ZENKAKU_PUNCTUATION_2,\n ZENKAKU_PUNCTUATION_3,\n ZENKAKU_PUNCTUATION_4,\n ZENKAKU_SYMBOLS_CURRENCY,\n];\n\n// All Japanese unicode start and end ranges\n// Includes kanji, kana, zenkaku latin chars, punctuation, and number ranges.\nexport const JAPANESE_RANGES = [\n ...KANA_RANGES,\n ...JA_PUNCTUATION_RANGES,\n ZENKAKU_UPPERCASE,\n ZENKAKU_LOWERCASE,\n ZENKAKU_NUMBERS,\n COMMON_CJK,\n RARE_CJK,\n];\n\nconst MODERN_ENGLISH = [0x0000, 0x007f];\nconst HEPBURN_MACRON_RANGES = [\n [0x0100, 0x0101], // Ā ā\n [0x0112, 0x0113], // Ē ē\n [0x012a, 0x012b], // Ī ī\n [0x014c, 0x014d], // Ō ō\n [0x016a, 0x016b], // Ū ū\n];\nconst SMART_QUOTE_RANGES = [\n [0x2018, 0x2019], // ‘ ’\n [0x201c, 0x201d], // “ ”\n];\n\nexport const ROMAJI_RANGES = [MODERN_ENGLISH, ...HEPBURN_MACRON_RANGES];\n\nexport const EN_PUNCTUATION_RANGES = [\n [0x20, 0x2f],\n [0x3a, 0x3f],\n [0x5b, 0x60],\n [0x7b, 0x7e],\n ...SMART_QUOTE_RANGES,\n];\n","import isCharInRange from './isCharInRange';\nimport { JAPANESE_RANGES } from '../constants';\n\n/**\n * Tests a character. Returns true if the character is [Katakana](https://en.wikipedia.org/wiki/Katakana).\n * @param {String} char character string to test\n * @return {Boolean}\n */\nfunction isCharJapanese(char = '') {\n return JAPANESE_RANGES.some(([start, end]) => isCharInRange(char, start, end));\n}\n\nexport default isCharJapanese;\n","import typeOf from './utils/typeOf';\nimport isEmpty from './utils/isEmpty';\nimport isCharJapanese from './utils/isCharJapanese';\n\n/**\n * Test if `input` only includes [Kanji](https://en.wikipedia.org/wiki/Kanji), [Kana](https://en.wikipedia.org/wiki/Kana), zenkaku numbers, and JA punctuation/symbols.”\n * @param {String} [input=''] text\n * @param {Regexp} [allowed] additional test allowed to pass for each char\n * @return {Boolean} true if passes checks\n * @example\n * isJapanese('泣き虫')\n * // => true\n * isJapanese('あア')\n * // => true\n * isJapanese('2月') // Zenkaku numbers allowed\n * // => true\n * isJapanese('泣き虫。!〜$') // Zenkaku/JA punctuation\n * // => true\n * isJapanese('泣き虫.!~$') // Latin punctuation fails\n * // => false\n * isJapanese('A泣き虫')\n * // => false\n * isJapanese('≪偽括弧≫', /[≪≫]/);\n * // => true\n */\nfunction isJapanese(input = '', allowed) {\n const augmented = typeOf(allowed) === 'regexp';\n return isEmpty(input)\n ? false\n : [...input].every((char) => {\n const isJa = isCharJapanese(char);\n return !augmented ? isJa : isJa || allowed.test(char);\n });\n}\n\nexport default isJapanese;\n","import { DEFAULT_OPTIONS } from '../constants';\n/**\n * Easy re-use of merging with default options\n * @param {Object} opts user options\n * @returns user options merged over default options\n */\nconst mergeWithDefaultOptions = (opts = {}) => Object.assign({}, DEFAULT_OPTIONS, opts);\n\nexport default mergeWithDefaultOptions;\n","import typeOf from './typeOf';\n\nexport function applyMapping(string, mapping, convertEnding) {\n const root = mapping;\n\n function nextSubtree(tree, nextChar) {\n const subtree = tree[nextChar];\n if (subtree === undefined) {\n return undefined;\n }\n // if the next child node does not have a node value, set its node value to the input\n return Object.assign({ '': tree[''] + nextChar }, tree[nextChar]);\n }\n\n function newChunk(remaining, currentCursor) {\n // start parsing a new chunk\n const firstChar = remaining.charAt(0);\n\n return parse(\n Object.assign({ '': firstChar }, root[firstChar]),\n remaining.slice(1),\n currentCursor,\n currentCursor + 1\n );\n }\n\n function parse(tree, remaining, lastCursor, currentCursor) {\n if (!remaining) {\n if (convertEnding || Object.keys(tree).length === 1) {\n // nothing more to consume, just commit the last chunk and return it\n // so as to not have an empty element at the end of the result\n return tree[''] ? [[lastCursor, currentCursor, tree['']]] : [];\n }\n // if we don't want to convert the ending, because there are still possible continuations\n // return null as the final node value\n return [[lastCursor, currentCursor, null]];\n }\n\n if (Object.keys(tree).length === 1) {\n return [[lastCursor, currentCursor, tree['']]].concat(newChunk(remaining, currentCursor));\n }\n\n const subtree = nextSubtree(tree, remaining.charAt(0));\n\n if (subtree === undefined) {\n return [[lastCursor, currentCursor, tree['']]].concat(newChunk(remaining, currentCursor));\n }\n // continue current branch\n return parse(subtree, remaining.slice(1), lastCursor, currentCursor + 1);\n }\n\n return newChunk(string, 0);\n}\n\n// transform the tree, so that for example hepburnTree['ゔ']['ぁ'][''] === 'va'\n// or kanaTree['k']['y']['a'][''] === 'きゃ'\nexport function transform(tree) {\n return Object.entries(tree).reduce((map, [char, subtree]) => {\n const endOfBranch = typeOf(subtree) === 'string';\n map[char] = endOfBranch ? { '': subtree } : transform(subtree);\n return map;\n }, {});\n}\n\nexport function getSubTreeOf(tree, string) {\n return string.split('').reduce((correctSubTree, char) => {\n if (correctSubTree[char] === undefined) {\n correctSubTree[char] = {};\n }\n return correctSubTree[char];\n }, tree);\n}\n\n/**\n * Creates a custom mapping tree, returns a function that accepts a defaultMap which the newly created customMapping will be merged with and returned\n * (customMap) => (defaultMap) => mergedMap\n * @param {Object} customMap { 'ka' : 'な' }\n * @return {Function} (defaultMap) => defaultMergedWithCustomMap\n * @example\n * const sillyMap = createCustomMapping({ 'ちゃ': 'time', '茎': 'cookie' });\n * // sillyMap is passed defaultMapping to merge with when called in toRomaji()\n * toRomaji(\"It's 茎 ちゃ よ\", { customRomajiMapping: sillyMap });\n * // => 'It's cookie time yo';\n */\nexport function createCustomMapping(customMap = {}) {\n const customTree = {};\n\n if (typeOf(customMap) === 'object') {\n Object.entries(customMap).forEach(([roma, kana]) => {\n let subTree = customTree;\n roma.split('').forEach((char) => {\n if (subTree[char] === undefined) {\n subTree[char] = {};\n }\n subTree = subTree[char];\n });\n subTree[''] = kana;\n });\n }\n\n return function makeMap(map) {\n const mapCopy = JSON.parse(JSON.stringify(map));\n\n function transformMap(mapSubtree, customSubtree) {\n if (mapSubtree === undefined || typeOf(mapSubtree) === 'string') {\n return customSubtree;\n }\n return Object.entries(customSubtree).reduce((newSubtree, [char, subtree]) => {\n newSubtree[char] = transformMap(mapSubtree[char], subtree);\n return newSubtree;\n }, mapSubtree);\n }\n\n return transformMap(mapCopy, customTree);\n };\n}\n\n// allow consumer to pass either function or object as customMapping\nexport function mergeCustomMapping(map, customMapping) {\n if (!customMapping) {\n return map;\n }\n return typeOf(customMapping) === 'function'\n ? customMapping(map)\n : createCustomMapping(customMapping)(map);\n}\n","import { transform, getSubTreeOf, createCustomMapping } from './kanaMapping';\n\n// NOTE: not exactly kunrei shiki, for example ぢゃ -> dya instead of zya, to avoid name clashing\n/* eslint-disable */\n// prettier-ignore\nconst BASIC_KUNREI = {\n a: 'あ', i: 'い', u: 'う', e: 'え', o: 'お',\n k: { a: 'か', i: 'き', u: 'く', e: 'け', o: 'こ', },\n s: { a: 'さ', i: 'し', u: 'す', e: 'せ', o: 'そ', },\n t: { a: 'た', i: 'ち', u: 'つ', e: 'て', o: 'と', },\n n: { a: 'な', i: 'に', u: 'ぬ', e: 'ね', o: 'の', },\n h: { a: 'は', i: 'ひ', u: 'ふ', e: 'へ', o: 'ほ', },\n m: { a: 'ま', i: 'み', u: 'む', e: 'め', o: 'も', },\n y: { a: 'や', u: 'ゆ', o: 'よ' },\n r: { a: 'ら', i: 'り', u: 'る', e: 'れ', o: 'ろ', },\n w: { a: 'わ', i: 'ゐ', e: 'ゑ', o: 'を', },\n g: { a: 'が', i: 'ぎ', u: 'ぐ', e: 'げ', o: 'ご', },\n z: { a: 'ざ', i: 'じ', u: 'ず', e: 'ぜ', o: 'ぞ', },\n d: { a: 'だ', i: 'ぢ', u: 'づ', e: 'で', o: 'ど', },\n b: { a: 'ば', i: 'び', u: 'ぶ', e: 'べ', o: 'ぼ', },\n p: { a: 'ぱ', i: 'ぴ', u: 'ぷ', e: 'ぺ', o: 'ぽ', },\n v: { a: 'ゔぁ', i: 'ゔぃ', u: 'ゔ', e: 'ゔぇ', o: 'ゔぉ', },\n};\n\nconst SPECIAL_SYMBOLS = {\n '.': '。',\n ',': '、',\n ':': ':',\n '/': '・',\n '!': '!',\n '?': '?',\n '~': '〜',\n '-': 'ー',\n '‘': '「',\n '’': '」',\n '“': '『',\n '”': '』',\n '[': '[',\n ']': ']',\n '(': '(',\n ')': ')',\n '{': '{',\n '}': '}',\n};\n\nconst CONSONANTS = {\n k: 'き',\n s: 'し',\n t: 'ち',\n n: 'に',\n h: 'ひ',\n m: 'み',\n r: 'り',\n g: 'ぎ',\n z: 'じ',\n d: 'ぢ',\n b: 'び',\n p: 'ぴ',\n v: 'ゔ',\n q: 'く',\n f: 'ふ',\n};\nconst SMALL_Y = { ya: 'ゃ', yi: 'ぃ', yu: 'ゅ', ye: 'ぇ', yo: 'ょ' };\nconst SMALL_VOWELS = { a: 'ぁ', i: 'ぃ', u: 'ぅ', e: 'ぇ', o: 'ぉ' };\n\n// typing one should be the same as having typed the other instead\nconst ALIASES = {\n sh: 'sy', // sha -> sya\n ch: 'ty', // cho -> tyo\n cy: 'ty', // cyo -> tyo\n chy: 'ty', // chyu -> tyu\n shy: 'sy', // shya -> sya\n j: 'zy', // ja -> zya\n jy: 'zy', // jye -> zye\n\n // exceptions to above rules\n shi: 'si',\n chi: 'ti',\n tsu: 'tu',\n ji: 'zi',\n fu: 'hu',\n};\n\n// xtu -> っ\nconst SMALL_LETTERS = Object.assign(\n {\n tu: 'っ',\n wa: 'ゎ',\n ka: 'ヵ',\n ke: 'ヶ',\n },\n SMALL_VOWELS,\n SMALL_Y\n);\n\n// don't follow any notable patterns\nconst SPECIAL_CASES = {\n yi: 'い',\n wu: 'う',\n ye: 'いぇ',\n wi: 'うぃ',\n we: 'うぇ',\n kwa: 'くぁ',\n whu: 'う',\n // because it's not thya for てゃ but tha\n // and tha is not てぁ, but てゃ\n tha: 'てゃ',\n thu: 'てゅ',\n tho: 'てょ',\n dha: 'でゃ',\n dhu: 'でゅ',\n dho: 'でょ',\n};\n\nconst AIUEO_CONSTRUCTIONS = {\n wh: 'う',\n qw: 'く',\n q: 'く',\n gw: 'ぐ',\n sw: 'す',\n ts: 'つ',\n th: 'て',\n tw: 'と',\n dh: 'で',\n dw: 'ど',\n fw: 'ふ',\n f: 'ふ',\n};\n\n/* eslint-enable */\nfunction createRomajiToKanaMap() {\n const kanaTree = transform(BASIC_KUNREI);\n // pseudo partial application\n const subtreeOf = (string) => getSubTreeOf(kanaTree, string);\n\n // add tya, sya, etc.\n Object.entries(CONSONANTS).forEach(([consonant, yKana]) => {\n Object.entries(SMALL_Y).forEach(([roma, kana]) => {\n // for example kyo -> き + ょ\n subtreeOf(consonant + roma)[''] = yKana + kana;\n });\n });\n\n Object.entries(SPECIAL_SYMBOLS).forEach(([symbol, jsymbol]) => {\n subtreeOf(symbol)[''] = jsymbol;\n });\n\n // things like うぃ, くぃ, etc.\n Object.entries(AIUEO_CONSTRUCTIONS).forEach(([consonant, aiueoKana]) => {\n Object.entries(SMALL_VOWELS).forEach(([vowel, kana]) => {\n const subtree = subtreeOf(consonant + vowel);\n subtree[''] = aiueoKana + kana;\n });\n });\n\n // different ways to write ん\n ['n', \"n'\", 'xn'].forEach((nChar) => {\n subtreeOf(nChar)[''] = 'ん';\n });\n\n // c is equivalent to k, but not for chi, cha, etc. that's why we have to make a copy of k\n kanaTree.c = JSON.parse(JSON.stringify(kanaTree.k));\n\n Object.entries(ALIASES).forEach(([string, alternative]) => {\n const allExceptLast = string.slice(0, string.length - 1);\n const last = string.charAt(string.length - 1);\n const parentTree = subtreeOf(allExceptLast);\n // copy to avoid recursive containment\n parentTree[last] = JSON.parse(JSON.stringify(subtreeOf(alternative)));\n });\n\n function getAlternatives(string) {\n return [...Object.entries(ALIASES), ...[['c', 'k']]].reduce(\n (list, [alt, roma]) =>\n (string.startsWith(roma) ? list.concat(string.replace(roma, alt)) : list),\n []\n );\n }\n\n Object.entries(SMALL_LETTERS).forEach(([kunreiRoma, kana]) => {\n const last = (char) => char.charAt(char.length - 1);\n const allExceptLast = (chars) => chars.slice(0, chars.length - 1);\n const xRoma = `x${kunreiRoma}`;\n const xSubtree = subtreeOf(xRoma);\n xSubtree[''] = kana;\n\n // ltu -> xtu -> っ\n const parentTree = subtreeOf(`l${allExceptLast(kunreiRoma)}`);\n parentTree[last(kunreiRoma)] = xSubtree;\n\n // ltsu -> ltu -> っ\n getAlternatives(kunreiRoma).forEach((altRoma) => {\n ['l', 'x'].forEach((prefix) => {\n const altParentTree = subtreeOf(prefix + allExceptLast(altRoma));\n altParentTree[last(altRoma)] = subtreeOf(prefix + kunreiRoma);\n });\n });\n });\n\n Object.entries(SPECIAL_CASES).forEach(([string, kana]) => {\n subtreeOf(string)[''] = kana;\n });\n\n // add kka, tta, etc.\n function addTsu(tree) {\n return Object.entries(tree).reduce((tsuTree, [key, value]) => {\n if (!key) {\n // we have reached the bottom of this branch\n tsuTree[key] = `っ${value}`;\n } else {\n // more subtrees\n tsuTree[key] = addTsu(value);\n }\n return tsuTree;\n }, {});\n }\n // have to explicitly name c here, because we made it a copy of k, not a reference\n [...Object.keys(CONSONANTS), 'c', 'y', 'w', 'j'].forEach((consonant) => {\n const subtree = kanaTree[consonant];\n subtree[consonant] = addTsu(subtree);\n });\n // nn should not be っん\n delete kanaTree.n.n;\n // solidify the results, so that there there is referential transparency within the tree\n return Object.freeze(JSON.parse(JSON.stringify(kanaTree)));\n}\n\nlet romajiToKanaMap = null;\n\nexport function getRomajiToKanaTree() {\n if (romajiToKanaMap == null) {\n romajiToKanaMap = createRomajiToKanaMap();\n }\n return romajiToKanaMap;\n}\n\nexport const USE_OBSOLETE_KANA_MAP = createCustomMapping({ wi: 'ゐ', we: 'ゑ' });\n\nexport function IME_MODE_MAP(map) {\n // in IME mode, we do not want to convert single ns\n const mapCopy = JSON.parse(JSON.stringify(map));\n mapCopy.n.n = { '': 'ん' };\n mapCopy.n[' '] = { '': 'ん' };\n return mapCopy;\n}\n","import isEmpty from './isEmpty';\nimport isCharInRange from './isCharInRange';\nimport { LATIN_UPPERCASE_START, LATIN_UPPERCASE_END } from '../constants';\n\n/**\n * Tests if char is in English unicode uppercase range\n * @param {String} char\n * @return {Boolean}\n */\nfunction isCharUpperCase(char = '') {\n if (isEmpty(char)) return false;\n return isCharInRange(char, LATIN_UPPERCASE_START, LATIN_UPPERCASE_END);\n}\n\nexport default isCharUpperCase;\n","import isEmpty from './isEmpty';\nimport { PROLONGED_SOUND_MARK } from '../constants';\n\n/**\n * Returns true if char is 'ー'\n * @param {String} char to test\n * @return {Boolean}\n */\nfunction isCharLongDash(char = '') {\n if (isEmpty(char)) return false;\n return char.charCodeAt(0) === PROLONGED_SOUND_MARK;\n}\n\nexport default isCharLongDash;\n","import isEmpty from './isEmpty';\nimport { KANA_SLASH_DOT } from '../constants';\n\n/**\n * Tests if char is '・'\n * @param {String} char\n * @return {Boolean} true if '・'\n */\nfunction isCharSlashDot(char = '') {\n if (isEmpty(char)) return false;\n return char.charCodeAt(0) === KANA_SLASH_DOT;\n}\n\nexport default isCharSlashDot;\n","import isEmpty from './isEmpty';\nimport isCharLongDash from './isCharLongDash';\nimport isCharInRange from './isCharInRange';\nimport {\n HIRAGANA_START,\n HIRAGANA_END,\n} from '../constants';\n\n/**\n * Tests a character. Returns true if the character is [Hiragana](https://en.wikipedia.org/wiki/Hiragana).\n * @param {String} char character string to test\n * @return {Boolean}\n */\nfunction isCharHiragana(char = '') {\n if (isEmpty(char)) return false;\n if (isCharLongDash(char)) return true;\n return isCharInRange(char, HIRAGANA_START, HIRAGANA_END);\n}\n\nexport default isCharHiragana;\n","import { KATAKANA_START, HIRAGANA_START } from '../constants';\n\nimport isCharLongDash from './isCharLongDash';\nimport isCharSlashDot from './isCharSlashDot';\nimport isCharHiragana from './isCharHiragana';\n\n/**\n * Convert [Hiragana](https://en.wikipedia.org/wiki/Hiragana) to [Katakana](https://en.wikipedia.org/wiki/Katakana)\n * Passes through any non-hiragana chars\n * @private\n * @param {String} [input=''] text input\n * @return {String} converted text\n * @example\n * hiraganaToKatakana('ひらがな')\n * // => \"ヒラガナ\"\n * hiraganaToKatakana('ひらがな is a type of kana')\n * // => \"ヒラガナ is a type of kana\"\n */\nfunction hiraganaToKatakana(input = '') {\n const kata = [];\n input.split('').forEach((char) => {\n // Short circuit to avoid incorrect codeshift for 'ー' and '・'\n if (isCharLongDash(char) || isCharSlashDot(char)) {\n kata.push(char);\n } else if (isCharHiragana(char)) {\n // Shift charcode.\n const code = char.charCodeAt(0) + (KATAKANA_START - HIRAGANA_START);\n const kataChar = String.fromCharCode(code);\n kata.push(kataChar);\n } else {\n // Pass non-hiragana chars through\n kata.push(char);\n }\n });\n return kata.join('');\n}\n\nexport default hiraganaToKatakana;\n","import { TO_KANA_METHODS } from './constants';\nimport mergeWithDefaultOptions from './utils/mergeWithDefaultOptions';\nimport { getRomajiToKanaTree, IME_MODE_MAP, USE_OBSOLETE_KANA_MAP } from './utils/romajiToKanaMap';\nimport { applyMapping, mergeCustomMapping } from './utils/kanaMapping';\nimport isCharUpperCase from './utils/isCharUpperCase';\nimport hiraganaToKatakana from './utils/hiraganaToKatakana';\n\n/**\n * Convert [Romaji](https://en.wikipedia.org/wiki/Romaji) to [Kana](https://en.wikipedia.org/wiki/Kana), lowercase text will result in [Hiragana](https://en.wikipedia.org/wiki/Hiragana) and uppercase text will result in [Katakana](https://en.wikipedia.org/wiki/Katakana).\n * @param {String} [input=''] text\n * @param {DefaultOptions} [options=defaultOptions]\n * @return {String} converted text\n * @example\n * toKana('onaji BUTTSUUJI')\n * // => 'おなじ ブッツウジ'\n * toKana('ONAJI buttsuuji')\n * // => 'オナジ ぶっつうじ'\n * toKana('座禅‘zazen’スタイル')\n * // => '座禅「ざぜん」スタイル'\n * toKana('batsuge-mu')\n * // => 'ばつげーむ'\n * toKana('!?.:/,~-‘’“”[](){}') // Punctuation conversion\n * // => '!?。:・、〜ー「」『』[](){}'\n * toKana('we', { useObsoleteKana: true })\n * // => 'ゑ'\n * toKana('wanakana', { customKanaMapping: { na: 'に', ka: 'bana' } });\n * // => 'わにbanaに'\n */\nexport function toKana(input = '', options = {}, map) {\n let config;\n if (!map) {\n config = mergeWithDefaultOptions(options);\n map = createRomajiToKanaMap(config);\n } else {\n config = options;\n }\n\n // throw away the substring index information and just concatenate all the kana\n return splitIntoConvertedKana(input, config, map)\n .map((kanaToken) => {\n const [start, end, kana] = kanaToken;\n if (kana === null) {\n // haven't converted the end of the string, since we are in IME mode\n return input.slice(start);\n }\n const enforceHiragana = config.IMEMode === TO_KANA_METHODS.HIRAGANA;\n const enforceKatakana =\n config.IMEMode === TO_KANA_METHODS.KATAKANA ||\n [...input.slice(start, end)].every(isCharUpperCase);\n\n return enforceHiragana || !enforceKatakana ? kana : hiraganaToKatakana(kana);\n })\n .join('');\n}\n\n/**\n *\n * @private\n * @param {String} [input=''] input text\n * @param {Object} [options={}] toKana options\n * @returns {Array[]} [[start, end, token]]\n * @example\n * splitIntoConvertedKana('buttsuuji')\n * // => [[0, 2, 'ぶ'], [2, 6, 'っつ'], [6, 7, 'う'], [7, 9, 'じ']]\n */\nexport function splitIntoConvertedKana(input = '', options = {}, map) {\n if (!map) {\n map = createRomajiToKanaMap(options);\n }\n return applyMapping(input.toLowerCase(), map, !options.IMEMode);\n}\n\nlet customMapping = null;\nexport function createRomajiToKanaMap(options = {}) {\n let map = getRomajiToKanaTree();\n\n map = options.IMEMode ? IME_MODE_MAP(map) : map;\n map = options.useObsoleteKana ? USE_OBSOLETE_KANA_MAP(map) : map;\n\n if (options.customKanaMapping) {\n if (customMapping == null) {\n customMapping = mergeCustomMapping(map, options.customKanaMapping);\n }\n map = customMapping;\n }\n\n return map;\n}\n\nexport default toKana;\n","import isJapanese from '../isJapanese';\nimport toKana, { createRomajiToKanaMap } from '../toKana';\nimport mergeWithDefaultOptions from './mergeWithDefaultOptions';\n\nlet LISTENERS = [];\n/**\n * Automagically replaces input values with converted text to kana\n * @param {defaultOptions} [options] user config overrides, default conversion is toKana()\n * @return {Function} event handler with bound options\n * @private\n */\nexport function makeOnInput(options) {\n let prevInput;\n // Enforce IMEMode if not already specified\n const mergedConfig = Object.assign({}, mergeWithDefaultOptions(options), {\n IMEMode: options.IMEMode || true,\n });\n const preConfiguredMap = createRomajiToKanaMap(mergedConfig);\n const triggers = [\n ...Object.keys(preConfiguredMap),\n ...Object.keys(preConfiguredMap).map((char) => char.toUpperCase()),\n ];\n\n return function onInput({ target }) {\n if (target.value !== prevInput && target.dataset.ignoreComposition !== 'true') {\n convertInput(target, mergedConfig, preConfiguredMap, triggers, prevInput);\n }\n };\n}\n\nexport function convertInput(target, options, map, triggers, prevInput) {\n const [head, textToConvert, tail] = splitInput(target.value, target.selectionEnd, triggers);\n const convertedText = toKana(textToConvert, options, map);\n const changed = textToConvert !== convertedText;\n\n if (changed) {\n const newCursor = head.length + convertedText.length;\n const newValue = head + convertedText + tail;\n target.value = newValue;\n prevInput = newValue;\n\n if (tail.length) {\n // push later on event loop (otherwise mid-text insertion can be 1 char too far to the right)\n setTimeout(() => target.setSelectionRange(newCursor, newCursor), 1);\n } else {\n target.setSelectionRange(newCursor, newCursor);\n }\n } else {\n prevInput = target.value;\n }\n}\n\nexport function onComposition({ type, target, data }) {\n // navigator.platform is not 100% reliable for singling out all OS,\n // but for determining desktop \"Mac OS\" it is effective enough.\n const isMacOS = /Mac/.test(window.navigator && window.navigator.platform);\n // We don't want to ignore on Android:\n // https://github.com/WaniKani/WanaKana/issues/82\n // But MacOS IME auto-closes if we don't ignore:\n // https://github.com/WaniKani/WanaKana/issues/71\n // Other platform Japanese IMEs pass through happily\n if (isMacOS) {\n if (type === 'compositionupdate' && isJapanese(data)) {\n target.dataset.ignoreComposition = 'true';\n }\n\n if (type === 'compositionend') {\n target.dataset.ignoreComposition = 'false';\n }\n }\n}\n\nexport function trackListeners(id, inputHandler, compositionHandler) {\n LISTENERS = LISTENERS.concat({\n id,\n inputHandler,\n compositionHandler,\n });\n}\n\nexport function untrackListeners({ id: targetId }) {\n LISTENERS = LISTENERS.filter(({ id }) => id !== targetId);\n}\n\nexport function findListeners(el) {\n return el && LISTENERS.find(({ id }) => id === el.getAttribute('data-wanakana-id'));\n}\n\n// Handle non-terminal inserted input conversion:\n// | -> わ| -> わび| -> わ|び -> わs|び -> わsh|び -> わshi|び -> わし|び\n// or multiple ambiguous positioning (to select which \"s\" to work from)\n// こsこs|こsこ -> こsこso|こsこ -> こsこそ|こsこ\nexport function splitInput(text = '', cursor = 0, triggers = []) {\n let head;\n let toConvert;\n let tail;\n\n if (cursor === 0 && triggers.includes(text[0])) {\n [head, toConvert, tail] = workFromStart(text, triggers);\n } else if (cursor > 0) {\n [head, toConvert, tail] = workBackwards(text, cursor);\n } else {\n [head, toConvert] = takeWhileAndSlice(text, (char) => !triggers.includes(char));\n [toConvert, tail] = takeWhileAndSlice(toConvert, (char) => !isJapanese(char));\n }\n\n return [head, toConvert, tail];\n}\n\nfunction workFromStart(text, catalystChars) {\n return [\n '',\n ...takeWhileAndSlice(\n text,\n (char) => catalystChars.includes(char) || !isJapanese(char, /[0-9]/)\n ),\n ];\n}\n\nfunction workBackwards(text = '', startIndex = 0) {\n const [toConvert, head] = takeWhileAndSlice(\n [...text.slice(0, startIndex)].reverse(),\n (char) => !isJapanese(char)\n );\n return [\n head.reverse().join(''),\n toConvert\n .split('')\n .reverse()\n .join(''),\n text.slice(startIndex),\n ];\n}\n\nfunction takeWhileAndSlice(source = {}, predicate = (x) => !!x) {\n const result = [];\n const { length } = source;\n let i = 0;\n while (i < length && predicate(source[i], i)) {\n result.push(source[i]);\n i += 1;\n }\n return [result.join(''), source.slice(i)];\n}\n","/* eslint-disable no-console */\nconst onInput = ({ target: { value, selectionStart, selectionEnd } }) =>\n console.log('input:', { value, selectionStart, selectionEnd });\nconst onCompositionStart = () => console.log('compositionstart');\nconst onCompositionUpdate = ({ target: { value, selectionStart, selectionEnd }, data }) =>\n console.log('compositionupdate', {\n data,\n value,\n selectionStart,\n selectionEnd,\n });\nconst onCompositionEnd = () => console.log('compositionend');\n\nconst events = {\n input: onInput,\n compositionstart: onCompositionStart,\n compositionupdate: onCompositionUpdate,\n compositionend: onCompositionEnd,\n};\n\nexport const addDebugListeners = (input) => {\n Object.entries(events).forEach(([event, handler]) => input.addEventListener(event, handler));\n};\n\nexport const removeDebugListeners = (input) => {\n Object.entries(events).forEach(([event, handler]) => input.removeEventListener(event, handler));\n};\n","import { makeOnInput, onComposition, trackListeners } from './utils/dom';\nimport { addDebugListeners } from './utils/logInputEvents';\n\nconst ELEMENTS = ['TEXTAREA', 'INPUT'];\n\nlet idCounter = 0;\nconst newId = () => {\n idCounter += 1;\n return `${Date.now()}${idCounter}`;\n};\n\n/**\n * Binds eventListener for 'input' events to an input field to automagically replace values with kana\n * Can pass `{ IMEMode: 'toHiragana' || 'toKatakana' }` to enforce kana conversion type\n * @param {HTMLElement} element textarea, input[type=\"text\"] etc\n * @param {DefaultOptions} [options=defaultOptions] defaults to { IMEMode: true } using `toKana`\n * @example\n * bind(document.querySelector('#myInput'));\n */\nfunction bind(element = {}, options = {}, debug = false) {\n if (!ELEMENTS.includes(element.nodeName)) {\n throw new Error(\n `Element provided to Wanakana bind() was not a valid input or textarea element.\\n Received: (${JSON.stringify(\n element\n )})`\n );\n }\n const onInput = makeOnInput(options);\n const id = newId();\n element.setAttribute('data-wanakana-id', id);\n element.setAttribute('lang', 'ja');\n element.setAttribute('autoCapitalize', 'none');\n element.setAttribute('autoCorrect', 'off');\n element.setAttribute('autoComplete', 'off');\n element.setAttribute('spellCheck', 'false');\n element.addEventListener('input', onInput);\n element.addEventListener('compositionupdate', onComposition);\n element.addEventListener('compositionend', onComposition);\n trackListeners(id, onInput, onComposition);\n if (debug === true) {\n addDebugListeners(element);\n }\n}\n\nexport default bind;\n","import isEmpty from './isEmpty';\nimport isCharInRange from './isCharInRange';\nimport { ROMAJI_RANGES } from '../constants';\n\n/**\n * Tests a character. Returns true if the character is [Romaji](https://en.wikipedia.org/wiki/Romaji) (allowing [Hepburn romanisation](https://en.wikipedia.org/wiki/Hepburn_romanization))\n * @param {String} char character string to test\n * @return {Boolean}\n */\nfunction isCharRomaji(char = '') {\n if (isEmpty(char)) return false;\n return ROMAJI_RANGES.some(([start, end]) => isCharInRange(char, start, end));\n}\n\nexport default isCharRomaji;\n","import typeOf from './utils/typeOf';\nimport isEmpty from './utils/isEmpty';\nimport isCharRomaji from './utils/isCharRomaji';\n\n/**\n * Test if `input` is [Romaji](https://en.wikipedia.org/wiki/Romaji) (allowing [Hepburn romanisation](https://en.wikipedia.org/wiki/Hepburn_romanization))\n * @param {String} [input=''] text\n * @param {Regexp} [allowed] additional test allowed to pass for each char\n * @return {Boolean} true if [Romaji](https://en.wikipedia.org/wiki/Romaji)\n * @example\n * isRomaji('Tōkyō and Ōsaka')\n * // => true\n * isRomaji('12a*b&c-d')\n * // => true\n * isRomaji('あアA')\n * // => false\n * isRomaji('お願い')\n * // => false\n * isRomaji('a!b&cーd') // Zenkaku punctuation fails\n * // => false\n * isRomaji('a!b&cーd', /[!ー]/)\n * // => true\n */\nfunction isRomaji(input = '', allowed) {\n const augmented = typeOf(allowed) === 'regexp';\n return isEmpty(input)\n ? false\n : [...input].every((char) => {\n const isRoma = isCharRomaji(char);\n return !augmented ? isRoma : isRoma || allowed.test(char);\n });\n}\n\nexport default isRomaji;\n","import {\n KATAKANA_START,\n KATAKANA_END,\n} from '../constants';\n\nimport isCharInRange from './isCharInRange';\n\n/**\n * Tests a character. Returns true if the character is [Katakana](https://en.wikipedia.org/wiki/Katakana).\n * @param {String} char character string to test\n * @return {Boolean}\n */\nfunction isCharKatakana(char = '') {\n return isCharInRange(char, KATAKANA_START, KATAKANA_END);\n}\n\nexport default isCharKatakana;\n","import isEmpty from './isEmpty';\nimport isCharHiragana from './isCharHiragana';\nimport isCharKatakana from './isCharKatakana';\n\n/**\n * Tests a character. Returns true if the character is [Hiragana](https://en.wikipedia.org/wiki/Hiragana) or [Katakana](https://en.wikipedia.org/wiki/Katakana).\n * @param {String} char character string to test\n * @return {Boolean}\n */\nfunction isCharKana(char = '') {\n if (isEmpty(char)) return false;\n return isCharHiragana(char) || isCharKatakana(char);\n}\n\nexport default isCharKana;\n","import isEmpty from './utils/isEmpty';\nimport isCharKana from './utils/isCharKana';\n\n/**\n * Test if `input` is [Kana](https://en.wikipedia.org/wiki/Kana) ([Katakana](https://en.wikipedia.org/wiki/Katakana) and/or [Hiragana](https://en.wikipedia.org/wiki/Hiragana))\n * @param {String} [input=''] text\n * @return {Boolean} true if all [Kana](https://en.wikipedia.org/wiki/Kana)\n * @example\n * isKana('あ')\n * // => true\n * isKana('ア')\n * // => true\n * isKana('あーア')\n * // => true\n * isKana('A')\n * // => false\n * isKana('あAア')\n * // => false\n */\nfunction isKana(input = '') {\n if (isEmpty(input)) return false;\n return [...input].every(isCharKana);\n}\n\nexport default isKana;\n","import isEmpty from './utils/isEmpty';\nimport isCharHiragana from './utils/isCharHiragana';\n\n/**\n * Test if `input` is [Hiragana](https://en.wikipedia.org/wiki/Hiragana)\n * @param {String} [input=''] text\n * @return {Boolean} true if all [Hiragana](https://en.wikipedia.org/wiki/Hiragana)\n * @example\n * isHiragana('げーむ')\n * // => true\n * isHiragana('A')\n * // => false\n * isHiragana('あア')\n * // => false\n */\nfunction isHiragana(input = '') {\n if (isEmpty(input)) return false;\n return [...input].every(isCharHiragana);\n}\n\nexport default isHiragana;\n","import isEmpty from './utils/isEmpty';\nimport isCharKatakana from './utils/isCharKatakana';\n\n/**\n * Test if `input` is [Katakana](https://en.wikipedia.org/wiki/Katakana)\n * @param {String} [input=''] text\n * @return {Boolean} true if all [Katakana](https://en.wikipedia.org/wiki/Katakana)\n * @example\n * isKatakana('ゲーム')\n * // => true\n * isKatakana('あ')\n * // => false\n * isKatakana('A')\n * // => false\n * isKatakana('あア')\n * // => false\n */\nfunction isKatakana(input = '') {\n if (isEmpty(input)) return false;\n return [...input].every(isCharKatakana);\n}\n\nexport default isKatakana;\n","import {\n KANJI_START,\n KANJI_END,\n} from '../constants';\n\nimport isCharInRange from './isCharInRange';\n/**\n * Tests a character. Returns true if the character is a CJK ideograph (kanji).\n * @param {String} char character string to test\n * @return {Boolean}\n */\nfunction isCharKanji(char = '') {\n return isCharInRange(char, KANJI_START, KANJI_END);\n}\n\nexport default isCharKanji;\n","import isEmpty from './utils/isEmpty';\nimport isCharKanji from './utils/isCharKanji';\n\n/**\n * Tests if `input` is [Kanji](https://en.wikipedia.org/wiki/Kanji) ([Japanese CJK ideographs](https://en.wikipedia.org/wiki/CJK_Unified_Ideographs))\n * @param {String} [input=''] text\n * @return {Boolean} true if all [Kanji](https://en.wikipedia.org/wiki/Kanji)\n * @example\n * isKanji('刀')\n * // => true\n * isKanji('切腹')\n * // => true\n * isKanji('勢い')\n * // => false\n * isKanji('あAア')\n * // => false\n * isKanji('🐸')\n * // => false\n */\nfunction isKanji(input = '') {\n if (isEmpty(input)) return false;\n return [...input].every(isCharKanji);\n}\n\nexport default isKanji;\n","import isKanji from './isKanji';\nimport isHiragana from './isHiragana';\nimport isKatakana from './isKatakana';\nimport isRomaji from './isRomaji';\n\n/**\n * Test if `input` contains a mix of [Romaji](https://en.wikipedia.org/wiki/Romaji) *and* [Kana](https://en.wikipedia.org/wiki/Kana), defaults to pass through [Kanji](https://en.wikipedia.org/wiki/Kanji)\n * @param {String} input text\n * @param {Object} [options={ passKanji: true }] optional config to pass through kanji\n * @return {Boolean} true if mixed\n * @example\n * isMixed('Abあア'))\n * // => true\n * isMixed('お腹A')) // ignores kanji by default\n * // => true\n * isMixed('お腹A', { passKanji: false }))\n * // => false\n * isMixed('ab'))\n * // => false\n * isMixed('あア'))\n * // => false\n */\nfunction isMixed(input = '', options = { passKanji: true }) {\n const chars = [...input];\n let hasKanji = false;\n if (!options.passKanji) {\n hasKanji = chars.some(isKanji);\n }\n return (chars.some(isHiragana) || chars.some(isKatakana)) && chars.some(isRomaji) && !hasKanji;\n}\n\nexport default isMixed;\n","import { KATAKANA_START, HIRAGANA_START } from '../constants';\n\nimport isCharLongDash from './isCharLongDash';\nimport isCharSlashDot from './isCharSlashDot';\nimport isCharKatakana from './isCharKatakana';\nconst isCharInitialLongDash = (char, index) => isCharLongDash(char) && index < 1;\nconst isCharInnerLongDash = (char, index) => isCharLongDash(char) && index > 0;\nconst isKanaAsSymbol = (char) => ['ヶ', 'ヵ'].includes(char);\nconst LONG_VOWELS = {\n a: 'あ',\n i: 'い',\n u: 'う',\n e: 'え',\n o: 'う',\n};\n\n// inject toRomaji to avoid circular dependency between toRomaji <-> katakanaToHiragana\nfunction katakanaToHiragana(input = '', toRomaji, isDestinationRomaji) {\n let previousKana = '';\n\n return input\n .split('')\n .reduce((hira, char, index) => {\n // Short circuit to avoid incorrect codeshift for 'ー' and '・'\n if (isCharSlashDot(char) || isCharInitialLongDash(char, index) || isKanaAsSymbol(char)) {\n return hira.concat(char);\n // Transform long vowels: 'オー' to 'おう'\n } else if (previousKana && isCharInnerLongDash(char, index)) {\n // Transform previousKana back to romaji, and slice off the vowel\n const romaji = toRomaji(previousKana).slice(-1);\n // However, ensure 'オー' => 'おお' => 'oo' if this is a transform on the way to romaji\n if (isCharKatakana(input[index - 1]) && romaji === 'o' && isDestinationRomaji) {\n return hira.concat('お');\n }\n return hira.concat(LONG_VOWELS[romaji]);\n } else if (!isCharLongDash(char) && isCharKatakana(char)) {\n // Shift charcode.\n const code = char.charCodeAt(0) + (HIRAGANA_START - KATAKANA_START);\n const hiraChar = String.fromCharCode(code);\n previousKana = hiraChar;\n return hira.concat(hiraChar);\n }\n // Pass non katakana chars through\n previousKana = '';\n return hira.concat(char);\n }, [])\n .join('');\n}\n\nexport default katakanaToHiragana;\n","import { transform, getSubTreeOf } from './kanaMapping';\nimport { ROMANIZATIONS } from '../constants';\n\nlet kanaToHepburnMap = null;\n\n/* eslint-disable */\n// prettier-ignore\nconst BASIC_ROMAJI = {\n あ:'a', い:'i', う:'u', え:'e', お:'o',\n か:'ka', き:'ki', く:'ku', け:'ke', こ:'ko',\n さ:'sa', し:'shi', す:'su', せ:'se', そ:'so',\n た:'ta', ち:'chi', つ:'tsu', て:'te', と:'to',\n な:'na', に:'ni', ぬ:'nu', ね:'ne', の:'no',\n は:'ha', ひ:'hi', ふ:'fu', へ:'he', ほ:'ho',\n ま:'ma', み:'mi', む:'mu', め:'me', も:'mo',\n ら:'ra', り:'ri', る:'ru', れ:'re', ろ:'ro',\n や:'ya', ゆ:'yu', よ:'yo',\n わ:'wa', ゐ:'wi', ゑ:'we', を:'wo',\n ん: 'n',\n が:'ga', ぎ:'gi', ぐ:'gu', げ:'ge', ご:'go',\n ざ:'za', じ:'ji', ず:'zu', ぜ:'ze', ぞ:'zo',\n だ:'da', ぢ:'ji', づ:'zu', で:'de', ど:'do',\n ば:'ba', び:'bi', ぶ:'bu', べ:'be', ぼ:'bo',\n ぱ:'pa', ぴ:'pi', ぷ:'pu', ぺ:'pe', ぽ:'po',\n ゔぁ:'va', ゔぃ:'vi', ゔ:'vu', ゔぇ:'ve', ゔぉ:'vo',\n};\n/* eslint-enable */\n\nconst SPECIAL_SYMBOLS = {\n '。': '.',\n '、': ',',\n ':': ':',\n '・': '/',\n '!': '!',\n '?': '?',\n '〜': '~',\n 'ー': '-',\n '「': '‘',\n '」': '’',\n '『': '“',\n '』': '”',\n '[': '[',\n ']': ']',\n '(': '(',\n ')': ')',\n '{': '{',\n '}': '}',\n ' ': ' ',\n};\n\n// んい -> n'i\nconst AMBIGUOUS_VOWELS = ['あ', 'い', 'う', 'え', 'お', 'や', 'ゆ', 'よ'];\nconst SMALL_Y = { ゃ: 'ya', ゅ: 'yu', ょ: 'yo' };\nconst SMALL_Y_EXTRA = { ぃ: 'yi', ぇ: 'ye' };\nconst SMALL_AIUEO = {\n ぁ: 'a',\n ぃ: 'i',\n ぅ: 'u',\n ぇ: 'e',\n ぉ: 'o',\n};\nconst YOON_KANA = ['き', 'に', 'ひ', 'み', 'り', 'ぎ', 'び', 'ぴ', 'ゔ', 'く', 'ふ'];\nconst YOON_EXCEPTIONS = {\n し: 'sh',\n ち: 'ch',\n じ: 'j',\n ぢ: 'j',\n};\nconst SMALL_KANA = {\n っ: '',\n ゃ: 'ya',\n ゅ: 'yu',\n ょ: 'yo',\n ぁ: 'a',\n ぃ: 'i',\n ぅ: 'u',\n ぇ: 'e',\n ぉ: 'o',\n};\n\n// going with the intuitive (yet incorrect) solution where っや -> yya and っぃ -> ii\n// in other words, just assume the sokuon could have been applied to anything\nconst SOKUON_WHITELIST = {\n b: 'b',\n c: 't',\n d: 'd',\n f: 'f',\n g: 'g',\n h: 'h',\n j: 'j',\n k: 'k',\n m: 'm',\n p: 'p',\n q: 'q',\n r: 'r',\n s: 's',\n t: 't',\n v: 'v',\n w: 'w',\n x: 'x',\n z: 'z',\n};\n\nfunction getKanaToHepburnTree() {\n if (kanaToHepburnMap == null) {\n kanaToHepburnMap = createKanaToHepburnMap();\n }\n return kanaToHepburnMap;\n}\n\nexport function getKanaToRomajiTree(fullOptions) {\n switch (fullOptions.romanization) {\n case ROMANIZATIONS.HEPBURN:\n return getKanaToHepburnTree(fullOptions);\n default:\n return {};\n }\n}\n\nfunction createKanaToHepburnMap() {\n const romajiTree = transform(BASIC_ROMAJI);\n\n const subtreeOf = (string) => getSubTreeOf(romajiTree, string);\n const setTrans = (string, transliteration) => {\n subtreeOf(string)[''] = transliteration;\n };\n\n Object.entries(SPECIAL_SYMBOLS).forEach(([jsymbol, symbol]) => {\n subtreeOf(jsymbol)[''] = symbol;\n });\n\n [...Object.entries(SMALL_Y), ...Object.entries(SMALL_AIUEO)].forEach(([roma, kana]) => {\n setTrans(roma, kana);\n });\n\n // きゃ -> kya\n YOON_KANA.forEach((kana) => {\n const firstRomajiChar = subtreeOf(kana)[''][0];\n Object.entries(SMALL_Y).forEach(([yKana, yRoma]) => {\n setTrans(kana + yKana, firstRomajiChar + yRoma);\n });\n // きぃ -> kyi\n Object.entries(SMALL_Y_EXTRA).forEach(([yKana, yRoma]) => {\n setTrans(kana + yKana, firstRomajiChar + yRoma);\n });\n });\n\n Object.entries(YOON_EXCEPTIONS).forEach(([kana, roma]) => {\n // じゃ -> ja\n Object.entries(SMALL_Y).forEach(([yKana, yRoma]) => {\n setTrans(kana + yKana, roma + yRoma[1]);\n });\n // じぃ -> jyi, じぇ -> je\n setTrans(`${kana}ぃ`, `${roma}yi`);\n setTrans(`${kana}ぇ`, `${roma}e`);\n });\n\n romajiTree['っ'] = resolveTsu(romajiTree);\n\n Object.entries(SMALL_KANA).forEach(([kana, roma]) => {\n setTrans(kana, roma);\n });\n\n AMBIGUOUS_VOWELS.forEach((kana) => {\n setTrans(`ん${kana}`, `n'${subtreeOf(kana)['']}`);\n });\n\n // NOTE: could be re-enabled with an option?\n // // んば -> mbo\n // const LABIAL = [\n // 'ば', 'び', 'ぶ', 'べ', 'ぼ',\n // 'ぱ', 'ぴ', 'ぷ', 'ぺ', 'ぽ',\n // 'ま', 'み', 'む', 'め', 'も',\n // ];\n // LABIAL.forEach((kana) => {\n // setTrans(`ん${kana}`, `m${subtreeOf(kana)['']}`);\n // });\n\n return Object.freeze(JSON.parse(JSON.stringify(romajiTree)));\n}\n\nfunction resolveTsu(tree) {\n return Object.entries(tree).reduce((tsuTree, [key, value]) => {\n if (!key) {\n // we have reached the bottom of this branch\n const consonant = value.charAt(0);\n tsuTree[key] = Object.keys(SOKUON_WHITELIST).includes(consonant)\n ? SOKUON_WHITELIST[consonant] + value\n : value;\n } else {\n // more subtrees\n tsuTree[key] = resolveTsu(value);\n }\n return tsuTree;\n }, {});\n}\n","import mergeWithDefaultOptions from './utils/mergeWithDefaultOptions';\nimport katakanaToHiragana from './utils/katakanaToHiragana';\nimport isKatakana from './isKatakana';\nimport { getKanaToRomajiTree } from './utils/kanaToRomajiMap';\nimport { applyMapping, mergeCustomMapping } from './utils/kanaMapping';\n\n/**\n * Convert kana to romaji\n * @param {String} kana text input\n * @param {DefaultOptions} [options=defaultOptions]\n * @return {String} converted text\n * @example\n * toRomaji('ひらがな カタカナ')\n * // => 'hiragana katakana'\n * toRomaji('げーむ ゲーム')\n * // => 'ge-mu geemu'\n * toRomaji('ひらがな カタカナ', { upcaseKatakana: true })\n * // => 'hiragana KATAKANA'\n * toRomaji('つじぎり', { customRomajiMapping: { じ: 'zi', つ: 'tu', り: 'li' } });\n * // => 'tuzigili'\n */\nexport function toRomaji(input = '', options = {}) {\n const mergedOptions = mergeWithDefaultOptions(options);\n // just throw away the substring index information and just concatenate all the kana\n return splitIntoRomaji(input, mergedOptions)\n .map((romajiToken) => {\n const [start, end, romaji] = romajiToken;\n const makeUpperCase = options.upcaseKatakana && isKatakana(input.slice(start, end));\n return makeUpperCase ? romaji.toUpperCase() : romaji;\n })\n .join('');\n}\n\nlet customMapping = null;\nfunction splitIntoRomaji(input, options) {\n let map = getKanaToRomajiTree(options);\n\n if (options.customRomajiMapping) {\n if (customMapping == null) {\n customMapping = mergeCustomMapping(map, options.customRomajiMapping);\n }\n map = customMapping;\n }\n\n return applyMapping(katakanaToHiragana(input, toRomaji, true), map, !options.IMEMode);\n}\n\nexport default toRomaji;\n","import isEmpty from './isEmpty';\nimport { EN_PUNCTUATION_RANGES } from '../constants';\nimport isCharInRange from './isCharInRange';\n\n/**\n * Tests a character. Returns true if the character is considered English punctuation.\n * @param {String} char character string to test\n * @return {Boolean}\n */\nfunction isCharEnglishPunctuation(char = '') {\n if (isEmpty(char)) return false;\n return EN_PUNCTUATION_RANGES.some(([start, end]) => isCharInRange(char, start, end));\n}\n\nexport default isCharEnglishPunctuation;\n","import isEmpty from './isEmpty';\nimport { JA_PUNCTUATION_RANGES } from '../constants';\nimport isCharInRange from './isCharInRange';\n\n/**\n * Tests a character. Returns true if the character is considered English punctuation.\n * @param {String} char character string to test\n * @return {Boolean}\n */\nfunction isCharJapanesePunctuation(char = '') {\n if (isEmpty(char)) return false;\n return JA_PUNCTUATION_RANGES.some(([start, end]) => isCharInRange(char, start, end));\n}\n\nexport default isCharJapanesePunctuation;\n","import isEmpty from './utils/isEmpty';\nimport isCharEnglishPunctuation from './utils/isCharEnglishPunctuation';\nimport isCharJapanesePunctuation from './utils/isCharJapanesePunctuation';\nimport isCharRomaji from './utils/isCharRomaji';\nimport isCharKanji from './utils/isCharKanji';\nimport isCharHiragana from './utils/isCharHiragana';\nimport isCharKatakana from './utils/isCharKatakana';\nimport isCharJapanese from './utils/isCharJapanese';\n\nconst isCharEnSpace = (x) => x === ' ';\nconst isCharJaSpace = (x) => x === ' ';\nconst isCharJaNum = (x) => /[0-9]/.test(x);\nconst isCharEnNum = (x) => /[0-9]/.test(x);\n\nexport const TOKEN_TYPES = {\n EN: 'en',\n JA: 'ja',\n EN_NUM: 'englishNumeral',\n JA_NUM: 'japaneseNumeral',\n EN_PUNC: 'englishPunctuation',\n JA_PUNC: 'japanesePunctuation',\n KANJI: 'kanji',\n HIRAGANA: 'hiragana',\n KATAKANA: 'katakana',\n SPACE: 'space',\n OTHER: 'other',\n};\n\n// prettier-ignore\nexport function getType(input, compact = false) {\n const {\n EN, JA, EN_NUM, JA_NUM, EN_PUNC, JA_PUNC, KANJI, HIRAGANA, KATAKANA, SPACE, OTHER,\n } = TOKEN_TYPES;\n\n if (compact) {\n switch (true) {\n case isCharJaNum(input): return OTHER;\n case isCharEnNum(input): return OTHER;\n case isCharEnSpace(input): return EN;\n case isCharEnglishPunctuation(input): return OTHER;\n case isCharJaSpace(input): return JA;\n case isCharJapanesePunctuation(input): return OTHER;\n case isCharJapanese(input): return JA;\n case isCharRomaji(input): return EN;\n default: return OTHER;\n }\n } else {\n switch (true) {\n case isCharJaSpace(input): return SPACE;\n case isCharEnSpace(input): return SPACE;\n case isCharJaNum(input): return JA_NUM;\n case isCharEnNum(input): return EN_NUM;\n case isCharEnglishPunctuation(input): return EN_PUNC;\n case isCharJapanesePunctuation(input): return JA_PUNC;\n case isCharKanji(input): return KANJI;\n case isCharHiragana(input): return HIRAGANA;\n case isCharKatakana(input): return KATAKANA;\n case isCharJapanese(input): return JA;\n case isCharRomaji(input): return EN;\n default: return OTHER;\n }\n }\n}\n\n/**\n * Splits input into array of strings separated by opinionated token types\n * `'en', 'ja', 'englishNumeral', 'japaneseNumeral','englishPunctuation', 'japanesePunctuation','kanji', 'hiragana', 'katakana', 'space', 'other'`.\n * If `{ compact: true }` then many same-language tokens are combined (spaces + text, kanji + kana, numeral + punctuation).\n * If `{ detailed: true }` then return array will contain `{ type, value }` instead of `'value'`\n * @param {String} input text\n * @param {Object} [options={ compact: false, detailed: false}] options to modify output style\n * @return {String|Object[]} text split into tokens containing values, or detailed object\n * @example\n * tokenize('ふふフフ')\n * // ['ふふ', 'フフ']\n *\n * tokenize('感じ')\n * // ['感', 'じ']\n *\n * tokenize('truly 私は悲しい')\n * // ['truly', ' ', '私', 'は', '悲', 'しい']\n *\n * tokenize('truly 私は悲しい', { compact: true })\n * // ['truly ', '私は悲しい']\n *\n * tokenize('5romaji here...!?漢字ひらがな4カタ カナ「SHIO」。!')\n * // [ '5', 'romaji', ' ', 'here', '...!?', '漢字', 'ひらがな', 'カタ', ' ', 'カナ', '4', '「', 'SHIO', '」。!']\n *\n * tokenize('5romaji here...!?漢字ひらがな4カタ カナ「SHIO」。!', { compact: true })\n * // [ '5', 'romaji here', '...!?', '漢字ひらがなカタ カナ', '4「', 'SHIO', '」。!']\n *\n * tokenize('5romaji here...!?漢字ひらがなカタ カナ4「SHIO」。! لنذهب', { detailed: true })\n * // [\n * { type: 'englishNumeral', value: '5' },\n * { type: 'en', value: 'romaji' },\n * { type: 'space', value: ' ' },\n * { type: 'en', value: 'here' },\n * { type: 'englishPunctuation', value: '...!?' },\n * { type: 'kanji', value: '漢字' },\n * { type: 'hiragana', value: 'ひらがな' },\n * { type: 'katakana', value: 'カタ' },\n * { type: 'space', value: ' ' },\n * { type: 'katakana', value: 'カナ' },\n * { type: 'japaneseNumeral', value: '4' },\n * { type: 'japanesePunctuation', value: '「' },\n * { type: 'ja', value: 'SHIO' },\n * { type: 'japanesePunctuation', value: '」。!' },\n * { type: 'space', value: ' ' },\n * { type: 'other', value: 'لنذهب' },\n * ]\n *\n * tokenize('5romaji here...!?漢字ひらがなカタ カナ4「SHIO」。! لنذهب', { compact: true, detailed: true})\n * // [\n * { type: 'other', value: '5' },\n * { type: 'en', value: 'romaji here' },\n * { type: 'other', value: '...!?' },\n * { type: 'ja', value: '漢字ひらがなカタ カナ' },\n * { type: 'other', value: '4「' },\n * { type: 'ja', value: 'SHIO' },\n * { type: 'other', value: '」。!' },\n * { type: 'en', value: ' ' },\n * { type: 'other', value: 'لنذهب' },\n *]\n */\nfunction tokenize(input, { compact = false, detailed = false } = {}) {\n if (input == null || isEmpty(input)) {\n return [];\n }\n const chars = [...input];\n let initial = chars.shift();\n let prevType = getType(initial, compact);\n initial = detailed ? { type: prevType, value: initial } : initial;\n\n const result = chars.reduce(\n (tokens, char) => {\n const currType = getType(char, compact);\n const sameType = currType === prevType;\n prevType = currType;\n let newValue = char;\n\n if (sameType) {\n newValue = (detailed ? tokens.pop().value : tokens.pop()) + newValue;\n }\n\n return detailed\n ? tokens.concat({ type: currType, value: newValue })\n : tokens.concat(newValue);\n },\n [initial]\n );\n return result;\n}\n\nexport default tokenize;\n","import isJapanese from './isJapanese';\nimport isKana from './isKana';\nimport isKanji from './isKanji';\nimport tokenize from './tokenize';\n\nconst isLeadingWithoutInitialKana = (input, leading) => leading && !isKana(input[0]);\nconst isTrailingWithoutFinalKana = (input, leading) => !leading && !isKana(input[input.length - 1]);\nconst isInvalidMatcher = (input, matchKanji) =>\n (matchKanji && ![...matchKanji].some(isKanji)) || (!matchKanji && isKana(input));\n\n/**\n * Strips [Okurigana](https://en.wikipedia.org/wiki/Okurigana)\n * @param {String} input text\n * @param {Object} [options={ leading: false, matchKanji: '' }] optional config\n * @return {String} text with okurigana removed\n * @example\n * stripOkurigana('踏み込む')\n * // => '踏み込'\n * stripOkurigana('お祝い')\n * // => 'お祝'\n * stripOkurigana('お腹', { leading: true });\n * // => '腹'\n * stripOkurigana('ふみこむ', { matchKanji: '踏み込む' });\n * // => 'ふみこ'\n * stripOkurigana('おみまい', { matchKanji: 'お祝い', leading: true });\n * // => 'みまい'\n */\nfunction stripOkurigana(input = '', { leading = false, matchKanji = '' } = {}) {\n if (\n !isJapanese(input) ||\n isLeadingWithoutInitialKana(input, leading) ||\n isTrailingWithoutFinalKana(input, leading) ||\n isInvalidMatcher(input, matchKanji)\n ) {\n return input;\n }\n\n const chars = matchKanji || input;\n const okuriganaRegex = new RegExp(\n leading ? `^${tokenize(chars).shift()}` : `${tokenize(chars).pop()}$`\n );\n return input.replace(okuriganaRegex, '');\n}\n\nexport default stripOkurigana;\n","import { findListeners, untrackListeners } from './utils/dom';\nimport { removeDebugListeners } from './utils/logInputEvents';\n\n/**\n * Unbinds eventListener from input field\n * @param {HTMLElement} element textarea, input\n */\nexport function unbind(element, debug = false) {\n const listeners = findListeners(element);\n if (listeners == null) {\n throw new Error(\n `Element provided to Wanakana unbind() had no listener registered.\\n Received: ${JSON.stringify(\n element\n )}`\n );\n }\n const { inputHandler, compositionHandler } = listeners;\n element.removeAttribute('data-wanakana-id');\n element.removeAttribute('data-ignore-composition');\n element.removeEventListener('input', inputHandler);\n element.removeEventListener('compositionstart', compositionHandler);\n element.removeEventListener('compositionupdate', compositionHandler);\n element.removeEventListener('compositionend', compositionHandler);\n untrackListeners(listeners);\n if (debug === true) {\n removeDebugListeners(element);\n }\n}\n\nexport default unbind;\n","import mergeWithDefaultOptions from './utils/mergeWithDefaultOptions';\nimport katakanaToHiragana from './utils/katakanaToHiragana';\nimport isCharEnglishPunctuation from './utils/isCharEnglishPunctuation';\nimport isRomaji from './isRomaji';\nimport isMixed from './isMixed';\nimport toKana from './toKana';\nimport toRomaji from './toRomaji';\n\n/**\n * Convert input to [Hiragana](https://en.wikipedia.org/wiki/Hiragana)\n * @param {String} [input=''] text\n * @param {DefaultOptions} [options=defaultOptions]\n * @return {String} converted text\n * @example\n * toHiragana('toukyou, オオサカ')\n * // => 'とうきょう、 おおさか'\n * toHiragana('only カナ', { passRomaji: true })\n * // => 'only かな'\n * toHiragana('wi')\n * // => 'うぃ'\n * toHiragana('wi', { useObsoleteKana: true })\n * // => 'ゐ'\n */\nfunction toHiragana(input = '', options = {}) {\n const config = mergeWithDefaultOptions(options);\n if (config.passRomaji) {\n return katakanaToHiragana(input, toRomaji);\n }\n\n if (isMixed(input, { passKanji: true })) {\n const convertedKatakana = katakanaToHiragana(input, toRomaji);\n return toKana(convertedKatakana.toLowerCase(), config);\n }\n\n if (isRomaji(input) || isCharEnglishPunctuation(input)) {\n return toKana(input.toLowerCase(), config);\n }\n\n return katakanaToHiragana(input, toRomaji);\n}\n\nexport default toHiragana;\n","import mergeWithDefaultOptions from './utils/mergeWithDefaultOptions';\nimport hiraganaToKatakana from './utils/hiraganaToKatakana';\nimport isCharEnglishPunctuation from './utils/isCharEnglishPunctuation';\nimport toKana from './toKana';\nimport isRomaji from './isRomaji';\nimport isMixed from './isMixed';\n\n/**\n * Convert input to [Katakana](https://en.wikipedia.org/wiki/Katakana)\n * @param {String} [input=''] text\n * @param {DefaultOptions} [options=defaultOptions]\n * @return {String} converted text\n * @example\n * toKatakana('toukyou, おおさか')\n * // => 'トウキョウ、 オオサカ'\n * toKatakana('only かな', { passRomaji: true })\n * // => 'only カナ'\n * toKatakana('wi')\n * // => 'ウィ'\n * toKatakana('wi', { useObsoleteKana: true })\n * // => 'ヰ'\n */\nfunction toKatakana(input = '', options = {}) {\n const mergedOptions = mergeWithDefaultOptions(options);\n if (mergedOptions.passRomaji) {\n return hiraganaToKatakana(input);\n }\n\n if (isMixed(input) || isRomaji(input) || isCharEnglishPunctuation(input)) {\n const hiragana = toKana(input.toLowerCase(), mergedOptions);\n return hiraganaToKatakana(hiragana);\n }\n\n return hiraganaToKatakana(input);\n}\n\nexport default toKatakana;\n"],"names":["global","module","window","Math","self","Function","__g","core","version","__e","it","isObject","TypeError","exec","e","require$$0","Object","defineProperty","get","a","document","is","createElement","require$$1","require$$2","S","fn","val","toString","call","valueOf","dP","O","P","Attributes","anObject","toPrimitive","IE8_DOM_DEFINE","value","bitmap","enumerable","configurable","writable","object","key","f","createDesc","hasOwnProperty","id","px","random","concat","undefined","SRC","$toString","TPL","split","inspectSource","safe","isFunction","has","hide","join","String","prototype","this","that","length","aFunction","b","c","apply","arguments","$export","type","name","source","own","out","exp","IS_FORCED","F","IS_GLOBAL","G","IS_PROTO","IS_BIND","B","target","exports","expProto","ctx","redefine","U","W","R","Typed","TYPED","uid","VIEW","ABV","ArrayBuffer","DataView","CONSTR","i","TypedArrayConstructors","src","Constructor","forbiddenField","ceil","floor","isNaN","min","toInteger","number","toLength","RangeError","slice","propertyIsEnumerable","cof","IObject","defined","max","index","IS_INCLUDES","$this","el","fromIndex","toIObject","toAbsoluteIndex","store","shared","arrayIndexOf","IE_PROTO","names","result","push","hiddenKeys","getOwnPropertyNames","$keys","toObject","aLen","end","endPos","Symbol","USE_SYMBOL","def","TAG","tag","stat","gOPN","PROTOTYPE","WRONG_INDEX","$ArrayBuffer","$DataView","Infinity","BaseBuffer","abs","pow","log","LN2","$BUFFER","DESCRIPTORS","$LENGTH","$OFFSET","packIEEE754","mLen","nBytes","m","buffer","Array","eLen","eMax","eBias","rt","s","unpackIEEE754","nBits","NaN","unpackI32","bytes","packI8","packI16","packI32","packF64","packF32","addGetter","C","internal","view","isLittleEndian","intIndex","toIndex","start","pack","_b","reverse","set","conversion","$typed","fails","ArrayBufferProto","anInstance","keys","j","LIBRARY","constructor","$setInt8","setInt8","getInt8","redefineAll","byteOffset","setUint8","byteLength","arrayFill","bufferLength","offset","getUint8","getInt16","getUint16","getInt32","getUint32","getFloat32","getFloat64","setInt16","setUint16","setInt32","setUint32","setFloat32","setFloat64","setToStringTag","SPECIES","D","KEY","$isView","isView","$slice","len","first","final","speciesConstructor","viewS","viewT","ARG","T","tryGet","callee","ITERATOR","ArrayProto","Iterators","enumBugKeys","defineProperties","Properties","getKeys","documentElement","Empty","createDict","iframeDocument","iframe","style","display","appendChild","contentWindow","open","write","lt","close","create","dPs","ObjectProto","getPrototypeOf","getIteratorMethod","classof","isArray","arg","original","TYPE","$create","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","NO_HOLES","asc","callbackfn","res","UNSCOPABLES","done","IteratorPrototype","NAME","next","descriptor","BUGGY","returnThis","Base","DEFAULT","IS_SET","FORCED","$iterCreate","methods","getMethod","kind","proto","DEF_VALUES","VALUES_BUG","$native","$default","$entries","$anyNative","entries","values","iterated","_t","_i","_k","step","Arguments","SAFE_CLOSING","skipClosing","arr","iter","copyWithin","to","from","count","inc","gOPD","getOwnPropertyDescriptor","pIE","require$$3","require$$4","require$$5","require$$7","require$$8","propertyDesc","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","require$$16","require$$17","require$$18","require$$19","require$$20","isArrayIter","require$$21","require$$22","require$$23","require$$24","getIterFn","require$$25","require$$26","wks","require$$27","createArrayMethod","require$$28","createArrayIncludes","require$$29","require$$30","ArrayIterators","require$$31","require$$32","$iterDetect","require$$33","setSpecies","require$$34","require$$35","arrayCopyWithin","require$$36","$DP","require$$37","$GOPD","require$$38","Uint8Array","require$$6","arrayForEach","arrayFilter","arraySome","arrayEvery","arrayFind","arrayFindIndex","arrayIncludes","arrayValues","arrayKeys","arrayEntries","arrayLastIndexOf","lastIndexOf","arrayReduce","reduce","arrayReduceRight","reduceRight","arrayJoin","arraySort","sort","arraySlice","arrayToString","arrayToLocaleString","toLocaleString","TYPED_CONSTRUCTOR","DEF_CONSTRUCTOR","ALL_CONSTRUCTORS","TYPED_ARRAY","$map","allocate","LITTLE_ENDIAN","Uint16Array","FORCED_SET","toOffset","BYTES","validate","speciesFromList","list","fromList","_d","$from","iterator","mapfn","mapping","iterFn","$of","TO_LOCALE_BUG","$toLocaleString","every","fill","filter","find","predicate","findIndex","forEach","indexOf","searchElement","includes","separator","map","middle","some","comparefn","subarray","begin","$begin","BYTES_PER_ELEMENT","$set","arrayLike","$iterators","isTAIndex","$getDesc","$setDesc","desc","$TypedArrayPrototype$","wrapper","CLAMPED","GETTER","SETTER","TypedArray","TAC","TypedArrayPrototype","addElement","data","v","o","getter","round","setter","$offset","$length","klass","$len","l","$nativeIterator","CORRECT_ITER_NAME","$iterator","of","init","ret","BREAK","RETURN","iterable","META","setDesc","isExtensible","FREEZE","preventExtensions","setMeta","w","meta","NEED","fastKey","getWeak","onFreeze","SIZE","getEntry","entry","_f","n","k","getConstructor","ADDER","_l","forOf","clear","r","p","delete","prev","setStrong","$iterDefine","check","setPrototypeOf","test","buggy","__proto__","common","IS_WEAK","fixMethod","instance","HASNT_CHAINING","THROWS_ON_PRIMITIVES","ACCEPT_ITERABLES","BUGGY_ZERO","$instance","inheritIfRequired","strong","add","getOwnPropertySymbols","$assign","assign","A","K","getSymbols","gOPS","isEnum","uncaughtFrozenStore","UncaughtFrozenStore","findUncaughtFrozen","splice","$has","ufstore","InternalMap","each","weak","tmp","$WeakMap","freeze","method","rApply","Reflect","fApply","thisArgument","argumentsList","L","args","un","factories","bind","partArgs","bound","construct","invoke","rConstruct","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","propertyKey","attributes","deleteProperty","receiver","getProto","$isExtensible","ownKeys","$preventExtensions","V","existingDescriptor","ownDesc","setProto","defer","channel","port","process","setTask","setImmediate","clearTask","clearImmediate","MessageChannel","Dispatch","counter","queue","run","listener","event","nextTick","now","port2","port1","onmessage","postMessage","addEventListener","importScripts","cel","html","removeChild","setTimeout","macrotask","Observer","MutationObserver","WebKitMutationObserver","Promise","isNode","head","last","notify","flush","parent","domain","exit","enter","navigator","standalone","resolve","promise","then","toggle","node","createTextNode","observe","characterData","task","Internal","newGenericPromiseCapability","OwnPromiseCapability","Wrapper","reject","$$resolve","$$reject","x","promiseCapability","newPromiseCapability","microtask","$Promise","empty","newPromiseCapabilityModule","USE_NATIVE","FakePromise","PromiseRejectionEvent","isThenable","isReject","_n","chain","_c","_v","ok","_s","reaction","exited","handler","fail","_h","onHandleUnhandled","onUnhandled","console","unhandled","isUnhandled","perform","emit","onunhandledrejection","reason","error","_a","onrejectionhandled","$reject","_w","$resolve","executor","err","onFulfilled","onRejected","catch","capability","promiseResolve","all","remaining","$index","alreadyCalled","race","$Symbol","charAt","wksExt","symbols","windowNames","getWindowNames","gOPNExt","$JSON","JSON","_stringify","stringify","HIDDEN","TO_PRIMITIVE","SymbolRegistry","AllSymbols","OPSymbols","QObject","findChild","setSymbolDesc","$fails","_create","protoDesc","wrap","sym","isSymbol","$defineProperty","$defineProperties","enumKeys","$propertyIsEnumerable","E","$getOwnPropertyDescriptor","$getOwnPropertyNames","$getOwnPropertySymbols","IS_OP","es6Symbols","wellKnownSymbols","wksDefine","for","keyFor","useSetter","useSimple","replacer","$replacer","$freeze","$seal","$isFrozen","$isSealed","$getPrototypeOf","y","FProto","nameRE","match","raw","callSite","tpl","fromCharCode","$fromCodePoint","fromCodePoint","code","TO_STRING","pos","charCodeAt","$at","codePointAt","str","repeat","MATCH","isRegExp","searchString","re","$startsWith","startsWith","context","search","$endsWith","endsWith","endPosition","ignoreCase","multiline","unicode","sticky","flags","RegExp","SYMBOL","fns","strfn","rxfn","string","$match","regexp","REPLACE","$replace","searchValue","replaceValue","SPLIT","$split","_split","$push","NPCG","limit","separator2","lastIndex","lastLength","output","lastLastIndex","splitLimit","separatorCopy","replace","SEARCH","$search","createProperty","$find","forced","_isFinite","isFinite","isInteger","isSafeInteger","EPSILON","MIN_SAFE_INTEGER","MAX_SAFE_INTEGER","log1p","sqrt","$acosh","acosh","Number","MAX_VALUE","$asinh","asinh","$atanh","atanh","sign","cbrt","clz32","LOG2E","cosh","$expm1","expm1","EPSILON32","MAX32","MIN32","fround","$abs","$sign","hypot","value1","value2","div","sum","larg","$imul","imul","xn","yn","xl","yl","log10","LOG10E","log2","sinh","tanh","trunc","$includes","isEntries","$values","getOwnPropertyDescriptors","getDesc","maxLength","fillString","left","stringLength","fillStr","intMaxLength","fillLen","stringFiller","userAgent","padStart","$pad","padEnd","time","boundArgs","setInterval","$task","TO_STRING_TAG","ArrayValues","DOMIterables","CSSRuleList","CSSStyleDeclaration","CSSValueList","ClientRectList","DOMRectList","DOMStringList","DOMTokenList","DataTransferItemList","FileList","HTMLAllCollection","HTMLCollection","HTMLFormElement","HTMLSelectElement","MediaList","MimeTypeArray","NamedNodeMap","NodeList","PaintRequestList","Plugin","PluginArray","SVGLengthList","SVGNumberList","SVGPathSegList","SVGPointList","SVGStringList","SVGTransformList","SourceBufferList","StyleSheetList","TextTrackCueList","TextTrackList","TouchList","collections","explicit","Collection","Op","hasOwn","iteratorSymbol","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","runtime","regeneratorRuntime","GenStateSuspendedStart","GenStateSuspendedYield","GenStateExecuting","GenStateCompleted","ContinueSentinel","NativeIteratorPrototype","Gp","GeneratorFunctionPrototype","Generator","GeneratorFunction","displayName","isGeneratorFunction","genFun","ctor","mark","awrap","__await","defineIteratorMethods","AsyncIterator","async","innerFn","outerFn","tryLocsList","pop","Context","reset","skipTempReset","sent","_sent","delegate","tryEntries","resetTryEntry","stop","rootRecord","completion","rval","dispatchException","exception","handle","loc","caught","record","tryLoc","hasCatch","hasFinally","catchLoc","finallyLoc","Error","abrupt","finallyEntry","complete","afterLoc","finish","thrown","delegateYield","resultName","nextLoc","generator","_invoke","state","doneResult","delegateResult","maybeInvokeDelegate","tryCatch","makeInvokeMethod","obj","unwrapped","previousPromise","callInvokeWithMethodAndArg","return","info","pushTryEntry","locs","iteratorMethod","typeOf","toLowerCase","isEmpty","input","isCharInRange","char","TO_KANA_METHODS","ROMANIZATIONS","DEFAULT_OPTIONS","HEPBURN","LATIN_UPPERCASE_START","LATIN_UPPERCASE_END","HIRAGANA_START","HIRAGANA_END","KATAKANA_START","KATAKANA_END","KANJI_START","KANJI_END","PROLONGED_SOUND_MARK","KANA_SLASH_DOT","KANA_PUNCTUATION","JA_PUNCTUATION_RANGES","JAPANESE_RANGES","ROMAJI_RANGES","EN_PUNCTUATION_RANGES","isCharJapanese","isJapanese","allowed","augmented","isJa","mergeWithDefaultOptions","applyMapping","convertEnding","root","newChunk","currentCursor","firstChar","parse","tree","lastCursor","subtree","nextChar","nextSubtree","transform","endOfBranch","getSubTreeOf","correctSubTree","createCustomMapping","customMap","customTree","kana","subTree","transformMap","mapSubtree","customSubtree","newSubtree","mergeCustomMapping","customMapping","BASIC_KUNREI","u","SPECIAL_SYMBOLS","CONSONANTS","SMALL_Y","ya","yi","yu","ye","yo","SMALL_VOWELS","ALIASES","SMALL_LETTERS","SPECIAL_CASES","AIUEO_CONSTRUCTIONS","createRomajiToKanaMap","kanaTree","subtreeOf","consonant","yKana","jsymbol","aiueoKana","nChar","alternative","allExceptLast","kunreiRoma","chars","xSubtree","alt","roma","altRoma","prefix","addTsu","tsuTree","romajiToKanaMap","USE_OBSOLETE_KANA_MAP","wi","we","isCharUpperCase","isCharLongDash","isCharSlashDot","isCharHiragana","hiraganaToKatakana","kata","toKana","options","config","IMEMode","splitIntoConvertedKana","kanaToken","enforceHiragana","HIRAGANA","enforceKatakana","KATAKANA","mapCopy","IME_MODE_MAP","useObsoleteKana","customKanaMapping","LISTENERS","makeOnInput","mergedConfig","preConfiguredMap","triggers","toUpperCase","dataset","ignoreComposition","prevInput","text","cursor","toConvert","tail","catalystChars","takeWhileAndSlice","workFromStart","startIndex","workBackwards","splitInput","selectionEnd","textToConvert","convertedText","newCursor","newValue","setSelectionRange","onComposition","platform","events","selectionStart","addDebugListeners","removeDebugListeners","removeEventListener","ELEMENTS","idCounter","newId","Date","isCharRomaji","isRomaji","isRoma","isCharKatakana","isCharKana","isKana","isHiragana","isKatakana","isCharKanji","isKanji","isMixed","passKanji","hasKanji","isCharInitialLongDash","isCharInnerLongDash","isKanaAsSymbol","LONG_VOWELS","katakanaToHiragana","toRomaji","isDestinationRomaji","previousKana","hira","romaji","hiraChar","kanaToHepburnMap","BASIC_ROMAJI","い","う","え","お","き","く","け","こ","し","す","せ","そ","ち","つ","て","と","に","ぬ","ね","の","ひ","ふ","へ","ほ","み","む","め","も","り","る","れ","ろ","ゆ","よ","ゐ","ゑ","を","ぎ","ぐ","げ","ご","じ","ず","ぜ","ぞ","ぢ","づ","で","ど","び","ぶ","べ","ぼ","ぴ","ぷ","ぺ","ぽ","ゔぃ","ゔ","ゔぇ","ゔぉ","AMBIGUOUS_VOWELS","ゃ","ゅ","ょ","SMALL_Y_EXTRA","ぃ","ぇ","SMALL_AIUEO","YOON_KANA","YOON_EXCEPTIONS","SMALL_KANA","SOKUON_WHITELIST","getKanaToHepburnTree","romajiTree","setTrans","transliteration","symbol","firstRomajiChar","resolveTsu","mergedOptions","fullOptions","romanization","getKanaToRomajiTree","customRomajiMapping","splitIntoRomaji","romajiToken","upcaseKatakana","isCharEnglishPunctuation","isCharJapanesePunctuation","isCharEnSpace","isCharJaSpace","isCharJaNum","isCharEnNum","TOKEN_TYPES","getType","EN","JA","EN_NUM","JA_NUM","EN_PUNC","JA_PUNC","KANJI","SPACE","OTHER","tokenize","compact","detailed","initial","shift","prevType","tokens","currType","sameType","isLeadingWithoutInitialKana","leading","isTrailingWithoutFinalKana","isInvalidMatcher","matchKanji","element","debug","nodeName","onInput","setAttribute","inputHandler","compositionHandler","listeners","getAttribute","targetId","removeAttribute","passRomaji","okuriganaRegex"],"mappings":"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"} \ No newline at end of file