{"version":3,"file":"anchor-link-browser-transport.bundle.js","sources":["../node_modules/regenerator-runtime/runtime.js","../node_modules/core-js/internals/global.js","../node_modules/core-js/internals/fails.js","../node_modules/core-js/internals/descriptors.js","../node_modules/core-js/internals/object-property-is-enumerable.js","../node_modules/core-js/internals/create-property-descriptor.js","../node_modules/core-js/internals/classof-raw.js","../node_modules/core-js/internals/indexed-object.js","../node_modules/core-js/internals/require-object-coercible.js","../node_modules/core-js/internals/to-indexed-object.js","../node_modules/core-js/internals/is-object.js","../node_modules/core-js/internals/to-primitive.js","../node_modules/core-js/internals/to-object.js","../node_modules/core-js/internals/has.js","../node_modules/core-js/internals/document-create-element.js","../node_modules/core-js/internals/ie8-dom-define.js","../node_modules/core-js/internals/object-get-own-property-descriptor.js","../node_modules/core-js/internals/an-object.js","../node_modules/core-js/internals/object-define-property.js","../node_modules/core-js/internals/create-non-enumerable-property.js","../node_modules/core-js/internals/set-global.js","../node_modules/core-js/internals/shared-store.js","../node_modules/core-js/internals/inspect-source.js","../node_modules/core-js/internals/native-weak-map.js","../node_modules/core-js/internals/shared.js","../node_modules/core-js/internals/uid.js","../node_modules/core-js/internals/internal-state.js","../node_modules/core-js/internals/shared-key.js","../node_modules/core-js/internals/hidden-keys.js","../node_modules/core-js/internals/redefine.js","../node_modules/core-js/internals/path.js","../node_modules/core-js/internals/get-built-in.js","../node_modules/core-js/internals/to-integer.js","../node_modules/core-js/internals/to-length.js","../node_modules/core-js/internals/to-absolute-index.js","../node_modules/core-js/internals/array-includes.js","../node_modules/core-js/internals/object-keys-internal.js","../node_modules/core-js/internals/enum-bug-keys.js","../node_modules/core-js/internals/object-get-own-property-names.js","../node_modules/core-js/internals/object-get-own-property-symbols.js","../node_modules/core-js/internals/own-keys.js","../node_modules/core-js/internals/engine-v8-version.js","../node_modules/core-js/internals/copy-constructor-properties.js","../node_modules/core-js/internals/is-forced.js","../node_modules/core-js/internals/export.js","../node_modules/core-js/internals/engine-user-agent.js","../node_modules/core-js/internals/object-create.js","../node_modules/core-js/internals/native-symbol.js","../node_modules/core-js/internals/use-symbol-as-uid.js","../node_modules/core-js/internals/is-array.js","../node_modules/core-js/internals/object-keys.js","../node_modules/core-js/internals/object-define-properties.js","../node_modules/core-js/internals/html.js","../node_modules/core-js/internals/object-get-own-property-names-external.js","../node_modules/core-js/internals/well-known-symbol.js","../node_modules/core-js/internals/well-known-symbol-wrapped.js","../node_modules/core-js/internals/define-well-known-symbol.js","../node_modules/core-js/internals/set-to-string-tag.js","../node_modules/core-js/internals/a-function.js","../node_modules/core-js/internals/function-bind-context.js","../node_modules/core-js/internals/array-species-create.js","../node_modules/core-js/internals/array-iteration.js","../node_modules/core-js/modules/es.symbol.js","../node_modules/core-js/modules/es.symbol.description.js","../node_modules/core-js/internals/to-string-tag-support.js","../node_modules/core-js/internals/classof.js","../node_modules/core-js/internals/object-to-string.js","../node_modules/core-js/modules/es.object.to-string.js","../node_modules/core-js/internals/create-property.js","../node_modules/core-js/internals/array-method-has-species-support.js","../node_modules/core-js/modules/es.array.concat.js","../node_modules/core-js/internals/regexp-flags.js","../node_modules/core-js/internals/regexp-sticky-helpers.js","../node_modules/core-js/internals/regexp-exec.js","../node_modules/core-js/modules/es.regexp.exec.js","../node_modules/core-js/internals/fix-regexp-well-known-symbol-logic.js","../node_modules/core-js/internals/string-multibyte.js","../node_modules/core-js/internals/advance-string-index.js","../node_modules/core-js/internals/get-substitution.js","../node_modules/core-js/internals/regexp-exec-abstract.js","../node_modules/core-js/modules/es.string.replace.js","../node_modules/core-js/internals/array-method-is-strict.js","../node_modules/core-js/modules/es.array.join.js","../node_modules/core-js/modules/es.array.map.js","../node_modules/core-js/internals/is-regexp.js","../node_modules/core-js/internals/species-constructor.js","../node_modules/core-js/modules/es.string.split.js","../node_modules/core-js/modules/es.object.keys.js","../node_modules/core-js/modules/es.function.name.js","../node_modules/core-js/internals/native-promise-constructor.js","../node_modules/core-js/internals/redefine-all.js","../node_modules/core-js/internals/a-possible-prototype.js","../node_modules/core-js/internals/object-set-prototype-of.js","../node_modules/core-js/internals/set-species.js","../node_modules/core-js/internals/iterators.js","../node_modules/core-js/internals/is-array-iterator-method.js","../node_modules/core-js/internals/get-iterator-method.js","../node_modules/core-js/internals/iterator-close.js","../node_modules/core-js/internals/iterate.js","../node_modules/core-js/internals/check-correctness-of-iteration.js","../node_modules/core-js/internals/task.js","../node_modules/core-js/internals/engine-is-ios.js","../node_modules/core-js/internals/engine-is-node.js","../node_modules/core-js/internals/microtask.js","../node_modules/core-js/internals/engine-is-webos-webkit.js","../node_modules/core-js/internals/new-promise-capability.js","../node_modules/core-js/internals/promise-resolve.js","../node_modules/core-js/modules/es.promise.js","../node_modules/core-js/internals/host-report-errors.js","../node_modules/core-js/internals/engine-is-browser.js","../node_modules/core-js/internals/an-instance.js","../node_modules/core-js/internals/perform.js","../node_modules/core-js/modules/es.promise.finally.js","../node_modules/core-js/internals/add-to-unscopables.js","../node_modules/core-js/internals/iterators-core.js","../node_modules/core-js/internals/correct-prototype-getter.js","../node_modules/core-js/internals/object-get-prototype-of.js","../node_modules/core-js/internals/create-iterator-constructor.js","../node_modules/core-js/internals/define-iterator.js","../node_modules/core-js/modules/es.array.iterator.js","../node_modules/core-js/modules/es.string.iterator.js","../node_modules/core-js/modules/web.dom-collections.iterator.js","../node_modules/core-js/internals/dom-iterables.js","../node_modules/core-js/modules/es.array.filter.js","../src/qrcode/math.ts","../src/qrcode/ErrorCorrectLevel.ts","../src/qrcode/mode.ts","../src/qrcode/8BitByte.ts","../src/qrcode/BitBuffer.ts","../src/qrcode/Polynomial.ts","../src/qrcode/RSBlock.ts","../src/qrcode/util.ts","../src/qrcode/QRCode.ts","../src/qrcode/index.ts","../node_modules/core-js/internals/whitespaces.js","../node_modules/core-js/internals/string-trim.js","../node_modules/core-js/internals/string-trim-forced.js","../node_modules/core-js/modules/es.string.trim.js","../src/fuel.ts","../src/index.ts"],"sourcesContent":["/**\n * Copyright (c) 2014-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nvar runtime = (function (exports) {\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 function define(obj, key, value) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n return obj[key];\n }\n try {\n // IE 8 has a broken Object.defineProperty that only works on DOM objects.\n define({}, \"\");\n } catch (err) {\n define = function(obj, key, value) {\n return obj[key] = value;\n };\n }\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 exports.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 GeneratorFunction.displayName = define(\n GeneratorFunctionPrototype,\n toStringTagSymbol,\n \"GeneratorFunction\"\n );\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 define(prototype, method, function(arg) {\n return this._invoke(method, arg);\n });\n });\n }\n\n exports.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 exports.mark = function(genFun) {\n if (Object.setPrototypeOf) {\n Object.setPrototypeOf(genFun, GeneratorFunctionPrototype);\n } else {\n genFun.__proto__ = GeneratorFunctionPrototype;\n define(genFun, toStringTagSymbol, \"GeneratorFunction\");\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 exports.awrap = function(arg) {\n return { __await: arg };\n };\n\n function AsyncIterator(generator, PromiseImpl) {\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 PromiseImpl.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 PromiseImpl.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.\n result.value = unwrapped;\n resolve(result);\n }, function(error) {\n // If a rejected Promise was yielded, throw the rejection back\n // into the async generator function so it can be handled there.\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n }\n\n var previousPromise;\n\n function enqueue(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(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 exports.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 exports.async = function(innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n if (PromiseImpl === void 0) PromiseImpl = Promise;\n\n var iter = new AsyncIterator(\n wrap(innerFn, outerFn, self, tryLocsList),\n PromiseImpl\n );\n\n return exports.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 // Note: [\"return\"] must be used for ES3 parsing compatibility.\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 define(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 exports.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 exports.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 // Regardless of whether this script is executing as a CommonJS module\n // or not, return the runtime object so that we can declare the variable\n // regeneratorRuntime in the outer scope, which allows this module to be\n // injected easily by `bin/regenerator --include-runtime script.js`.\n return exports;\n\n}(\n // If this script is executing as a CommonJS module, use module.exports\n // as the regeneratorRuntime namespace. Otherwise create a new empty\n // object. Either way, the resulting object will be used to initialize\n // the regeneratorRuntime variable at the top of this file.\n typeof module === \"object\" ? module.exports : {}\n));\n\ntry {\n regeneratorRuntime = runtime;\n} catch (accidentalStrictMode) {\n // This module should not be running in strict mode, so the above\n // assignment should always work unless something is misconfigured. Just\n // in case runtime.js accidentally runs in strict mode, we can escape\n // strict mode using a global Function call. This could conceivably fail\n // if a Content Security Policy forbids using Function, but in that case\n // the proper solution is to fix the accidental strict mode problem. If\n // you've misconfigured your bundler to force strict mode and applied a\n // CSP to forbid Function, and you're not willing to fix either of those\n // problems, please detail your unique predicament in a GitHub issue.\n Function(\"r\", \"regeneratorRuntime = r\")(runtime);\n}\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","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 toString = {}.toString;\n\nmodule.exports = function (it) {\n return toString.call(it).slice(8, -1);\n};\n","var fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar split = ''.split;\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split.call(it, '') : Object(it);\n} : Object;\n","// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (it == undefined) throw TypeError(\"Can't call method on \" + it);\n return it;\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","module.exports = function (it) {\n return typeof it === 'object' ? it !== null : typeof it === 'function';\n};\n","var isObject = require('../internals/is-object');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\n// instead of the ES6 spec version, we didn't implement @@toPrimitive case\n// and the second argument - flag - preferred type is a string\nmodule.exports = function (input, PREFERRED_STRING) {\n if (!isObject(input)) return input;\n var fn, val;\n if (PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n if (typeof (fn = input.valueOf) == 'function' && !isObject(val = fn.call(input))) return val;\n if (!PREFERRED_STRING && typeof (fn = input.toString) == 'function' && !isObject(val = fn.call(input))) return val;\n throw TypeError(\"Can't convert object to primitive value\");\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return Object(requireObjectCoercible(argument));\n};\n","var toObject = require('../internals/to-object');\n\nvar hasOwnProperty = {}.hasOwnProperty;\n\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty.call(toObject(it), key);\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thank's IE8 for his funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- requied for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar has = require('../internals/has');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPrimitive(P, true);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (has(O, P)) return createPropertyDescriptor(!propertyIsEnumerableModule.f.call(O, P), O[P]);\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it)) {\n throw TypeError(String(it) + ' is not an object');\n } return it;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar anObject = require('../internals/an-object');\nvar toPrimitive = require('../internals/to-primitive');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPrimitive(P, true);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (key, value) {\n try {\n createNonEnumerableProperty(global, key, value);\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var global = require('../internals/global');\nvar setGlobal = require('../internals/set-global');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || setGlobal(SHARED, {});\n\nmodule.exports = store;\n","var store = require('../internals/shared-store');\n\nvar functionToString = Function.toString;\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (typeof store.inspectSource != 'function') {\n store.inspectSource = function (it) {\n return functionToString.call(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var global = require('../internals/global');\nvar inspectSource = require('../internals/inspect-source');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = typeof WeakMap === 'function' && /native code/.test(inspectSource(WeakMap));\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.13.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2021 Denis Pushkarev (zloirock.ru)'\n});\n","var id = 0;\nvar postfix = Math.random();\n\nmodule.exports = function (key) {\n return 'Symbol(' + String(key === undefined ? '' : key) + ')_' + (++id + postfix).toString(36);\n};\n","var NATIVE_WEAK_MAP = require('../internals/native-weak-map');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar objectHas = require('../internals/has');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n var wmget = store.get;\n var wmhas = store.has;\n var wmset = store.set;\n set = function (it, metadata) {\n if (wmhas.call(store, it)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n wmset.call(store, it, metadata);\n return metadata;\n };\n get = function (it) {\n return wmget.call(store, it) || {};\n };\n has = function (it) {\n return wmhas.call(store, it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (objectHas(it, STATE)) throw new TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return objectHas(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return objectHas(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","module.exports = {};\n","var global = require('../internals/global');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar setGlobal = require('../internals/set-global');\nvar inspectSource = require('../internals/inspect-source');\nvar InternalStateModule = require('../internals/internal-state');\n\nvar getInternalState = InternalStateModule.get;\nvar enforceInternalState = InternalStateModule.enforce;\nvar TEMPLATE = String(String).split('String');\n\n(module.exports = function (O, key, value, options) {\n var unsafe = options ? !!options.unsafe : false;\n var simple = options ? !!options.enumerable : false;\n var noTargetGet = options ? !!options.noTargetGet : false;\n var state;\n if (typeof value == 'function') {\n if (typeof key == 'string' && !has(value, 'name')) {\n createNonEnumerableProperty(value, 'name', key);\n }\n state = enforceInternalState(value);\n if (!state.source) {\n state.source = TEMPLATE.join(typeof key == 'string' ? key : '');\n }\n }\n if (O === global) {\n if (simple) O[key] = value;\n else setGlobal(key, value);\n return;\n } else if (!unsafe) {\n delete O[key];\n } else if (!noTargetGet && O[key]) {\n simple = true;\n }\n if (simple) O[key] = value;\n else createNonEnumerableProperty(O, key, value);\n// add fake Function#toString for correct work wrapped methods / constructors with methods like LoDash isNative\n})(Function.prototype, 'toString', function toString() {\n return typeof this == 'function' && getInternalState(this).source || inspectSource(this);\n});\n","var global = require('../internals/global');\n\nmodule.exports = global;\n","var path = require('../internals/path');\nvar global = require('../internals/global');\n\nvar aFunction = function (variable) {\n return typeof variable == 'function' ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `ToInteger` abstract operation\n// https://tc39.es/ecma262/#sec-tointeger\nmodule.exports = function (argument) {\n return isNaN(argument = +argument) ? 0 : (argument > 0 ? floor : ceil)(argument);\n};\n","var toInteger = require('../internals/to-integer');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toInteger(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var toInteger = require('../internals/to-integer');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toInteger(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toLength = require('../internals/to-length');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = toLength(O.length);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var has = require('../internals/has');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !has(hiddenKeys, key) && has(O, key) && result.push(key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (has(O, key = names[i++])) {\n ~indexOf(result, key) || result.push(key);\n }\n return result;\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var getBuiltIn = require('../internals/get-built-in');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? keys.concat(getOwnPropertySymbols(it)) : keys;\n};\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar versions = process && process.versions;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n version = match[0] < 4 ? 1 : match[0] + match[1];\n} else if (userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = match[1];\n }\n}\n\nmodule.exports = version && +version;\n","var has = require('../internals/has');\nvar ownKeys = require('../internals/own-keys');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\n\nmodule.exports = function (target, source) {\n var keys = ownKeys(source);\n var defineProperty = definePropertyModule.f;\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n for (var i = 0; i < keys.length; i++) {\n var key = keys[i];\n if (!has(target, key)) defineProperty(target, key, getOwnPropertyDescriptor(source, key));\n }\n};\n","var fails = require('../internals/fails');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : typeof detection == 'function' ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar setGlobal = require('../internals/set-global');\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\nvar isForced = require('../internals/is-forced');\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.noTargetGet - prevent calling a getter on target\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var FORCED, target, key, targetProperty, sourceProperty, descriptor;\n if (GLOBAL) {\n target = global;\n } else if (STATIC) {\n target = global[TARGET] || setGlobal(TARGET, {});\n } else {\n target = (global[TARGET] || {}).prototype;\n }\n if (target) for (key in source) {\n sourceProperty = source[key];\n if (options.noTargetGet) {\n descriptor = getOwnPropertyDescriptor(target, key);\n targetProperty = descriptor && descriptor.value;\n } else targetProperty = target[key];\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contained in target\n if (!FORCED && targetProperty !== undefined) {\n if (typeof sourceProperty === typeof targetProperty) continue;\n copyConstructorProperties(sourceProperty, targetProperty);\n }\n // add a flag to not completely full polyfills\n if (options.sham || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(sourceProperty, 'sham', true);\n }\n // extend global\n redefine(target, key, sourceProperty, options);\n }\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var anObject = require('../internals/an-object');\nvar defineProperties = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n /* global ActiveXObject -- old IE */\n activeXDocument = document.domain && new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = activeXDocument ? NullProtoObjectViaActiveX(activeXDocument) : NullProtoObjectViaIFrame();\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : defineProperties(result, Properties);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(arg) {\n return classof(arg) == 'Array';\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nmodule.exports = DESCRIPTORS ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], Properties[key]);\n return O;\n};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\n\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 $getOwnPropertyNames(it);\n } catch (error) {\n return windowNames.slice();\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && toString.call(it) == '[object Window]'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar has = require('../internals/has');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!has(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n if (NATIVE_SYMBOL && has(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol('Symbol.' + name);\n }\n } return WellKnownSymbolsStore[name];\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var path = require('../internals/path');\nvar has = require('../internals/has');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!has(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var defineProperty = require('../internals/object-define-property').f;\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC) {\n if (it && !has(it = STATIC ? it : it.prototype, TO_STRING_TAG)) {\n defineProperty(it, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n};\n","module.exports = function (it) {\n if (typeof it != 'function') {\n throw TypeError(String(it) + ' is not a function');\n } return it;\n};\n","var aFunction = require('../internals/a-function');\n\n// optional / simple context binding\nmodule.exports = function (fn, that, length) {\n aFunction(fn);\n if (that === undefined) return fn;\n switch (length) {\n case 0: return function () {\n return fn.call(that);\n };\n case 1: return function (a) {\n return fn.call(that, a);\n };\n case 2: return function (a, b) {\n return fn.call(that, a, b);\n };\n case 3: return function (a, b, c) {\n return fn.call(that, a, b, c);\n };\n }\n return function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var isObject = require('../internals/is-object');\nvar isArray = require('../internals/is-array');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (typeof C == 'function' && (C === Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return new (C === undefined ? Array : C)(length === 0 ? 0 : length);\n};\n","var bind = require('../internals/function-bind-context');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = [].push;\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterOut }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_OUT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that, 3);\n var length = toLength(self.length);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_OUT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push.call(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push.call(target, value); // filterOut\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterOut` method\n // https://github.com/tc39/proposal-array-filtering\n filterOut: createMethod(7)\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/native-symbol');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\nvar fails = require('../internals/fails');\nvar has = require('../internals/has');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar anObject = require('../internals/an-object');\nvar toObject = require('../internals/to-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPrimitive = require('../internals/to-primitive');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/define-well-known-symbol');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\nvar WellKnownSymbolsStore = shared('wks');\nvar QObject = global.QObject;\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate($Symbol[PROTOTYPE]);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar isSymbol = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n return Object(it) instanceof $Symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPrimitive(P, true);\n anObject(Attributes);\n if (has(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!has(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (has(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || $propertyIsEnumerable.call(properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPrimitive(V, true);\n var enumerable = nativePropertyIsEnumerable.call(this, P);\n if (this === ObjectPrototype && has(AllSymbols, P) && !has(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !has(this, P) || !has(AllSymbols, P) || has(this, HIDDEN) && this[HIDDEN][P] ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPrimitive(P, true);\n if (it === ObjectPrototype && has(AllSymbols, key) && !has(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && has(AllSymbols, key) && !(has(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!has(AllSymbols, key) && !has(hiddenKeys, key)) result.push(key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function getOwnPropertySymbols(O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (has(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || has(ObjectPrototype, key))) {\n result.push(AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (this instanceof $Symbol) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : String(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) setter.call(ObjectPrototypeSymbols, value);\n if (has(this, HIDDEN) && has(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n redefine($Symbol[PROTOTYPE], 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n redefine($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty($Symbol[PROTOTYPE], 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n redefine(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n // `Symbol.for` method\n // https://tc39.es/ecma262/#sec-symbol.for\n 'for': function (key) {\n var string = String(key);\n if (has(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = $Symbol(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n },\n // `Symbol.keyFor` method\n // https://tc39.es/ecma262/#sec-symbol.keyfor\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(sym + ' is not a symbol');\n if (has(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n },\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames,\n // `Object.getOwnPropertySymbols` method\n // https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n getOwnPropertySymbols: $getOwnPropertySymbols\n});\n\n// Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\n$({ target: 'Object', stat: true, forced: fails(function () { getOwnPropertySymbolsModule.f(1); }) }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n return getOwnPropertySymbolsModule.f(toObject(it));\n }\n});\n\n// `JSON.stringify` method behavior with symbols\n// https://tc39.es/ecma262/#sec-json.stringify\nif ($stringify) {\n var FORCED_JSON_STRINGIFY = !NATIVE_SYMBOL || fails(function () {\n var symbol = $Symbol();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n });\n\n $({ target: 'JSON', stat: true, forced: FORCED_JSON_STRINGIFY }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = [it];\n var index = 1;\n var $replacer;\n while (arguments.length > index) args.push(arguments[index++]);\n $replacer = replacer;\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(null, args);\n }\n });\n}\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\nif (!$Symbol[PROTOTYPE][TO_PRIMITIVE]) {\n createNonEnumerableProperty($Symbol[PROTOTYPE], TO_PRIMITIVE, $Symbol[PROTOTYPE].valueOf);\n}\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","// `Symbol.prototype.description` getter\n// https://tc39.es/ecma262/#sec-symbol.prototype.description\n'use strict';\nvar $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar global = require('../internals/global');\nvar has = require('../internals/has');\nvar isObject = require('../internals/is-object');\nvar defineProperty = require('../internals/object-define-property').f;\nvar copyConstructorProperties = require('../internals/copy-constructor-properties');\n\nvar NativeSymbol = global.Symbol;\n\nif (DESCRIPTORS && typeof NativeSymbol == 'function' && (!('description' in NativeSymbol.prototype) ||\n // Safari 12 bug\n NativeSymbol().description !== undefined\n)) {\n var EmptyStringDescriptionStore = {};\n // wrap Symbol constructor for correct work with undefined description\n var SymbolWrapper = function Symbol() {\n var description = arguments.length < 1 || arguments[0] === undefined ? undefined : String(arguments[0]);\n var result = this instanceof SymbolWrapper\n ? new NativeSymbol(description)\n // in Edge 13, String(Symbol(undefined)) === 'Symbol(undefined)'\n : description === undefined ? NativeSymbol() : NativeSymbol(description);\n if (description === '') EmptyStringDescriptionStore[result] = true;\n return result;\n };\n copyConstructorProperties(SymbolWrapper, NativeSymbol);\n var symbolPrototype = SymbolWrapper.prototype = NativeSymbol.prototype;\n symbolPrototype.constructor = SymbolWrapper;\n\n var symbolToString = symbolPrototype.toString;\n var native = String(NativeSymbol('test')) == 'Symbol(test)';\n var regexp = /^Symbol\\((.*)\\)[^)]+$/;\n defineProperty(symbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n var symbol = isObject(this) ? this.valueOf() : this;\n var string = symbolToString.call(symbol);\n if (has(EmptyStringDescriptionStore, symbol)) return '';\n var desc = native ? string.slice(7, -1) : string.replace(regexp, '$1');\n return desc === '' ? undefined : desc;\n }\n });\n\n $({ global: true, forced: true }, {\n Symbol: SymbolWrapper\n });\n}\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(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 (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && typeof O.callee == 'function' ? 'Arguments' : result;\n};\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar redefine = require('../internals/redefine');\nvar toString = require('../internals/object-to-string');\n\n// `Object.prototype.toString` method\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nif (!TO_STRING_TAG_SUPPORT) {\n redefine(Object.prototype, 'toString', toString, { unsafe: true });\n}\n","'use strict';\nvar toPrimitive = require('../internals/to-primitive');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPrimitive(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar toLength = require('../internals/to-length');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF;\nvar MAXIMUM_ALLOWED_INDEX_EXCEEDED = 'Maximum allowed index exceeded';\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = toLength(E.length);\n if (n + len > MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n if (n >= MAX_SAFE_INTEGER) throw TypeError(MAXIMUM_ALLOWED_INDEX_EXCEEDED);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar anObject = require('../internals/an-object');\n\n// `RegExp.prototype.flags` getter implementation\n// https://tc39.es/ecma262/#sec-get-regexp.prototype.flags\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.dotAll) result += 's';\n if (that.unicode) result += 'u';\n if (that.sticky) result += 'y';\n return result;\n};\n","'use strict';\n\nvar fails = require('./fails');\n\n// babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError,\n// so we use an intermediate function.\nfunction RE(s, f) {\n return RegExp(s, f);\n}\n\nexports.UNSUPPORTED_Y = fails(function () {\n // babel-minify transpiles RegExp('a', 'y') -> /a/y and it causes SyntaxError\n var re = RE('a', 'y');\n re.lastIndex = 2;\n return re.exec('abcd') != null;\n});\n\nexports.BROKEN_CARET = fails(function () {\n // https://bugzilla.mozilla.org/show_bug.cgi?id=773687\n var re = RE('^r', 'gy');\n re.lastIndex = 2;\n return re.exec('str') != null;\n});\n","'use strict';\n/* eslint-disable regexp/no-assertion-capturing-group, regexp/no-empty-group, regexp/no-lazy-ends -- testing */\n/* eslint-disable regexp/no-useless-quantifier -- testing */\nvar regexpFlags = require('./regexp-flags');\nvar stickyHelpers = require('./regexp-sticky-helpers');\nvar shared = require('./shared');\n\nvar nativeExec = RegExp.prototype.exec;\nvar nativeReplace = shared('native-string-replace', String.prototype.replace);\n\nvar patchedExec = nativeExec;\n\nvar UPDATES_LAST_INDEX_WRONG = (function () {\n var re1 = /a/;\n var re2 = /b*/g;\n nativeExec.call(re1, 'a');\n nativeExec.call(re2, 'a');\n return re1.lastIndex !== 0 || re2.lastIndex !== 0;\n})();\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y || stickyHelpers.BROKEN_CARET;\n\n// nonparticipating capturing group, copied from es5-shim's String#split patch.\nvar NPCG_INCLUDED = /()??/.exec('')[1] !== undefined;\n\nvar PATCH = UPDATES_LAST_INDEX_WRONG || NPCG_INCLUDED || UNSUPPORTED_Y;\n\nif (PATCH) {\n patchedExec = function exec(str) {\n var re = this;\n var lastIndex, reCopy, match, i;\n var sticky = UNSUPPORTED_Y && re.sticky;\n var flags = regexpFlags.call(re);\n var source = re.source;\n var charsAdded = 0;\n var strCopy = str;\n\n if (sticky) {\n flags = flags.replace('y', '');\n if (flags.indexOf('g') === -1) {\n flags += 'g';\n }\n\n strCopy = String(str).slice(re.lastIndex);\n // Support anchored sticky behavior.\n if (re.lastIndex > 0 && (!re.multiline || re.multiline && str[re.lastIndex - 1] !== '\\n')) {\n source = '(?: ' + source + ')';\n strCopy = ' ' + strCopy;\n charsAdded++;\n }\n // ^(? + rx + ) is needed, in combination with some str slicing, to\n // simulate the 'y' flag.\n reCopy = new RegExp('^(?:' + source + ')', flags);\n }\n\n if (NPCG_INCLUDED) {\n reCopy = new RegExp('^' + source + '$(?!\\\\s)', flags);\n }\n if (UPDATES_LAST_INDEX_WRONG) lastIndex = re.lastIndex;\n\n match = nativeExec.call(sticky ? reCopy : re, strCopy);\n\n if (sticky) {\n if (match) {\n match.input = match.input.slice(charsAdded);\n match[0] = match[0].slice(charsAdded);\n match.index = re.lastIndex;\n re.lastIndex += match[0].length;\n } else re.lastIndex = 0;\n } else if (UPDATES_LAST_INDEX_WRONG && match) {\n re.lastIndex = re.global ? match.index + match[0].length : lastIndex;\n }\n if (NPCG_INCLUDED && match && match.length > 1) {\n // Fix browsers whose `exec` methods don't consistently return `undefined`\n // for NPCG, like IE8. NOTE: This doesn' work for /(.?)?/\n nativeReplace.call(match[0], reCopy, function () {\n for (i = 1; i < arguments.length - 2; i++) {\n if (arguments[i] === undefined) match[i] = undefined;\n }\n });\n }\n\n return match;\n };\n}\n\nmodule.exports = patchedExec;\n","'use strict';\nvar $ = require('../internals/export');\nvar exec = require('../internals/regexp-exec');\n\n// `RegExp.prototype.exec` method\n// https://tc39.es/ecma262/#sec-regexp.prototype.exec\n$({ target: 'RegExp', proto: true, forced: /./.exec !== exec }, {\n exec: exec\n});\n","'use strict';\n// TODO: Remove from `core-js@4` since it's moved to entry points\nrequire('../modules/es.regexp.exec');\nvar redefine = require('../internals/redefine');\nvar regexpExec = require('../internals/regexp-exec');\nvar fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nvar SPECIES = wellKnownSymbol('species');\nvar RegExpPrototype = RegExp.prototype;\n\nvar REPLACE_SUPPORTS_NAMED_GROUPS = !fails(function () {\n // #replace needs built-in support for named groups.\n // #match works fine because it just return the exec results, even if it has\n // a \"grops\" property.\n var re = /./;\n re.exec = function () {\n var result = [];\n result.groups = { a: '7' };\n return result;\n };\n return ''.replace(re, '$') !== '7';\n});\n\n// IE <= 11 replaces $0 with the whole match, as if it was $&\n// https://stackoverflow.com/questions/6024666/getting-ie-to-replace-a-regex-with-the-literal-string-0\nvar REPLACE_KEEPS_$0 = (function () {\n // eslint-disable-next-line regexp/prefer-escape-replacement-dollar-char -- required for testing\n return 'a'.replace(/./, '$0') === '$0';\n})();\n\nvar REPLACE = wellKnownSymbol('replace');\n// Safari <= 13.0.3(?) substitutes nth capture where n>m with an empty string\nvar REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = (function () {\n if (/./[REPLACE]) {\n return /./[REPLACE]('a', '$0') === '';\n }\n return false;\n})();\n\n// Chrome 51 has a buggy \"split\" implementation when RegExp#exec !== nativeExec\n// Weex JS has frozen built-in prototypes, so use try / catch wrapper\nvar SPLIT_WORKS_WITH_OVERWRITTEN_EXEC = !fails(function () {\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n var re = /(?:)/;\n var originalExec = re.exec;\n re.exec = function () { return originalExec.apply(this, arguments); };\n var result = 'ab'.split(re);\n return result.length !== 2 || result[0] !== 'a' || result[1] !== 'b';\n});\n\nmodule.exports = function (KEY, length, exec, sham) {\n var SYMBOL = wellKnownSymbol(KEY);\n\n var DELEGATES_TO_SYMBOL = !fails(function () {\n // String methods call symbol-named RegEp methods\n var O = {};\n O[SYMBOL] = function () { return 7; };\n return ''[KEY](O) != 7;\n });\n\n var DELEGATES_TO_EXEC = DELEGATES_TO_SYMBOL && !fails(function () {\n // Symbol-named RegExp methods call .exec\n var execCalled = false;\n var re = /a/;\n\n if (KEY === 'split') {\n // We can't use real regex here since it causes deoptimization\n // and serious performance degradation in V8\n // https://github.com/zloirock/core-js/issues/306\n re = {};\n // RegExp[@@split] doesn't call the regex's exec method, but first creates\n // a new one. We need to return the patched regex when creating the new one.\n re.constructor = {};\n re.constructor[SPECIES] = function () { return re; };\n re.flags = '';\n re[SYMBOL] = /./[SYMBOL];\n }\n\n re.exec = function () { execCalled = true; return null; };\n\n re[SYMBOL]('');\n return !execCalled;\n });\n\n if (\n !DELEGATES_TO_SYMBOL ||\n !DELEGATES_TO_EXEC ||\n (KEY === 'replace' && !(\n REPLACE_SUPPORTS_NAMED_GROUPS &&\n REPLACE_KEEPS_$0 &&\n !REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n )) ||\n (KEY === 'split' && !SPLIT_WORKS_WITH_OVERWRITTEN_EXEC)\n ) {\n var nativeRegExpMethod = /./[SYMBOL];\n var methods = exec(SYMBOL, ''[KEY], function (nativeMethod, regexp, str, arg2, forceStringMethod) {\n var $exec = regexp.exec;\n if ($exec === regexpExec || $exec === RegExpPrototype.exec) {\n if (DELEGATES_TO_SYMBOL && !forceStringMethod) {\n // The native String method already delegates to @@method (this\n // polyfilled function), leasing to infinite recursion.\n // We avoid it by directly calling the native @@method method.\n return { done: true, value: nativeRegExpMethod.call(regexp, str, arg2) };\n }\n return { done: true, value: nativeMethod.call(str, regexp, arg2) };\n }\n return { done: false };\n }, {\n REPLACE_KEEPS_$0: REPLACE_KEEPS_$0,\n REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE: REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE\n });\n var stringMethod = methods[0];\n var regexMethod = methods[1];\n\n redefine(String.prototype, KEY, stringMethod);\n redefine(RegExpPrototype, 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 regexMethod.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 regexMethod.call(string, this); }\n );\n }\n\n if (sham) createNonEnumerableProperty(RegExpPrototype[SYMBOL], 'sham', true);\n};\n","var toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\n// `String.prototype.{ codePointAt, at }` methods implementation\nvar createMethod = function (CONVERT_TO_STRING) {\n return function ($this, pos) {\n var S = String(requireObjectCoercible($this));\n var position = toInteger(pos);\n var size = S.length;\n var first, second;\n if (position < 0 || position >= size) return CONVERT_TO_STRING ? '' : undefined;\n first = S.charCodeAt(position);\n return first < 0xD800 || first > 0xDBFF || position + 1 === size\n || (second = S.charCodeAt(position + 1)) < 0xDC00 || second > 0xDFFF\n ? CONVERT_TO_STRING ? S.charAt(position) : first\n : CONVERT_TO_STRING ? S.slice(position, position + 2) : (first - 0xD800 << 10) + (second - 0xDC00) + 0x10000;\n };\n};\n\nmodule.exports = {\n // `String.prototype.codePointAt` method\n // https://tc39.es/ecma262/#sec-string.prototype.codepointat\n codeAt: createMethod(false),\n // `String.prototype.at` method\n // https://github.com/mathiasbynens/String.prototype.at\n charAt: createMethod(true)\n};\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\n\n// `AdvanceStringIndex` abstract operation\n// https://tc39.es/ecma262/#sec-advancestringindex\nmodule.exports = function (S, index, unicode) {\n return index + (unicode ? charAt(S, index).length : 1);\n};\n","var toObject = require('../internals/to-object');\n\nvar floor = Math.floor;\nvar replace = ''.replace;\nvar SUBSTITUTION_SYMBOLS = /\\$([$&'`]|\\d{1,2}|<[^>]*>)/g;\nvar SUBSTITUTION_SYMBOLS_NO_NAMED = /\\$([$&'`]|\\d{1,2})/g;\n\n// `GetSubstitution` abstract operation\n// https://tc39.es/ecma262/#sec-getsubstitution\nmodule.exports = function (matched, str, position, captures, namedCaptures, replacement) {\n var tailPos = position + matched.length;\n var m = captures.length;\n var symbols = SUBSTITUTION_SYMBOLS_NO_NAMED;\n if (namedCaptures !== undefined) {\n namedCaptures = toObject(namedCaptures);\n symbols = SUBSTITUTION_SYMBOLS;\n }\n return replace.call(replacement, symbols, function (match, ch) {\n var capture;\n switch (ch.charAt(0)) {\n case '$': return '$';\n case '&': return matched;\n case '`': return str.slice(0, position);\n case \"'\": return str.slice(tailPos);\n case '<':\n capture = namedCaptures[ch.slice(1, -1)];\n break;\n default: // \\d\\d?\n var n = +ch;\n if (n === 0) return match;\n if (n > m) {\n var f = floor(n / 10);\n if (f === 0) return match;\n if (f <= m) return captures[f - 1] === undefined ? ch.charAt(1) : captures[f - 1] + ch.charAt(1);\n return match;\n }\n capture = captures[n - 1];\n }\n return capture === undefined ? '' : capture;\n });\n};\n","var classof = require('./classof-raw');\nvar regexpExec = require('./regexp-exec');\n\n// `RegExpExec` abstract operation\n// https://tc39.es/ecma262/#sec-regexpexec\nmodule.exports = function (R, S) {\n var exec = R.exec;\n if (typeof exec === 'function') {\n var result = exec.call(R, S);\n if (typeof result !== 'object') {\n throw TypeError('RegExp exec method returned something other than an Object or null');\n }\n return result;\n }\n\n if (classof(R) !== 'RegExp') {\n throw TypeError('RegExp#exec called on incompatible receiver');\n }\n\n return regexpExec.call(R, S);\n};\n\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar anObject = require('../internals/an-object');\nvar toLength = require('../internals/to-length');\nvar toInteger = require('../internals/to-integer');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar getSubstitution = require('../internals/get-substitution');\nvar regExpExec = require('../internals/regexp-exec-abstract');\n\nvar max = Math.max;\nvar min = Math.min;\n\nvar maybeToString = function (it) {\n return it === undefined ? it : String(it);\n};\n\n// @@replace logic\nfixRegExpWellKnownSymbolLogic('replace', 2, function (REPLACE, nativeReplace, maybeCallNative, reason) {\n var REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE = reason.REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE;\n var REPLACE_KEEPS_$0 = reason.REPLACE_KEEPS_$0;\n var UNSAFE_SUBSTITUTE = REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE ? '$' : '$0';\n\n return [\n // `String.prototype.replace` method\n // https://tc39.es/ecma262/#sec-string.prototype.replace\n function replace(searchValue, replaceValue) {\n var O = requireObjectCoercible(this);\n var replacer = searchValue == undefined ? undefined : searchValue[REPLACE];\n return replacer !== undefined\n ? replacer.call(searchValue, O, replaceValue)\n : nativeReplace.call(String(O), searchValue, replaceValue);\n },\n // `RegExp.prototype[@@replace]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@replace\n function (regexp, replaceValue) {\n if (\n (!REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE && REPLACE_KEEPS_$0) ||\n (typeof replaceValue === 'string' && replaceValue.indexOf(UNSAFE_SUBSTITUTE) === -1)\n ) {\n var res = maybeCallNative(nativeReplace, regexp, this, replaceValue);\n if (res.done) return res.value;\n }\n\n var rx = anObject(regexp);\n var S = String(this);\n\n var functionalReplace = typeof replaceValue === 'function';\n if (!functionalReplace) replaceValue = String(replaceValue);\n\n var global = rx.global;\n if (global) {\n var fullUnicode = rx.unicode;\n rx.lastIndex = 0;\n }\n var results = [];\n while (true) {\n var result = regExpExec(rx, S);\n if (result === null) break;\n\n results.push(result);\n if (!global) break;\n\n var matchStr = String(result[0]);\n if (matchStr === '') rx.lastIndex = advanceStringIndex(S, toLength(rx.lastIndex), fullUnicode);\n }\n\n var accumulatedResult = '';\n var nextSourcePosition = 0;\n for (var i = 0; i < results.length; i++) {\n result = results[i];\n\n var matched = String(result[0]);\n var position = max(min(toInteger(result.index), S.length), 0);\n var captures = [];\n // NOTE: This is equivalent to\n // captures = result.slice(1).map(maybeToString)\n // but for some reason `nativeSlice.call(result, 1, result.length)` (called in\n // the slice polyfill when slicing native arrays) \"doesn't work\" in safari 9 and\n // causes a crash (https://pastebin.com/N21QzeQA) when trying to debug it.\n for (var j = 1; j < result.length; j++) captures.push(maybeToString(result[j]));\n var namedCaptures = result.groups;\n if (functionalReplace) {\n var replacerArgs = [matched].concat(captures, position, S);\n if (namedCaptures !== undefined) replacerArgs.push(namedCaptures);\n var replacement = String(replaceValue.apply(undefined, replacerArgs));\n } else {\n replacement = getSubstitution(matched, S, position, captures, namedCaptures, replaceValue);\n }\n if (position >= nextSourcePosition) {\n accumulatedResult += S.slice(nextSourcePosition, position) + replacement;\n nextSourcePosition = position + matched.length;\n }\n }\n return accumulatedResult + S.slice(nextSourcePosition);\n }\n ];\n});\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call,no-throw-literal -- required for testing\n method.call(null, argument || function () { throw 1; }, 1);\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IndexedObject = require('../internals/indexed-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\n\nvar nativeJoin = [].join;\n\nvar ES3_STRINGS = IndexedObject != Object;\nvar STRICT_METHOD = arrayMethodIsStrict('join', ',');\n\n// `Array.prototype.join` method\n// https://tc39.es/ecma262/#sec-array.prototype.join\n$({ target: 'Array', proto: true, forced: ES3_STRINGS || !STRICT_METHOD }, {\n join: function join(separator) {\n return nativeJoin.call(toIndexedObject(this), separator === undefined ? ',' : separator);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","var isObject = require('../internals/is-object');\nvar classof = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar MATCH = wellKnownSymbol('match');\n\n// `IsRegExp` abstract operation\n// https://tc39.es/ecma262/#sec-isregexp\nmodule.exports = function (it) {\n var isRegExp;\n return isObject(it) && ((isRegExp = it[MATCH]) !== undefined ? !!isRegExp : classof(it) == 'RegExp');\n};\n","var anObject = require('../internals/an-object');\nvar aFunction = require('../internals/a-function');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\n\n// `SpeciesConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-speciesconstructor\nmodule.exports = function (O, defaultConstructor) {\n var C = anObject(O).constructor;\n var S;\n return C === undefined || (S = anObject(C)[SPECIES]) == undefined ? defaultConstructor : aFunction(S);\n};\n","'use strict';\nvar fixRegExpWellKnownSymbolLogic = require('../internals/fix-regexp-well-known-symbol-logic');\nvar isRegExp = require('../internals/is-regexp');\nvar anObject = require('../internals/an-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar speciesConstructor = require('../internals/species-constructor');\nvar advanceStringIndex = require('../internals/advance-string-index');\nvar toLength = require('../internals/to-length');\nvar callRegExpExec = require('../internals/regexp-exec-abstract');\nvar regexpExec = require('../internals/regexp-exec');\nvar stickyHelpers = require('../internals/regexp-sticky-helpers');\n\nvar UNSUPPORTED_Y = stickyHelpers.UNSUPPORTED_Y;\nvar arrayPush = [].push;\nvar min = Math.min;\nvar MAX_UINT32 = 0xFFFFFFFF;\n\n// @@split logic\nfixRegExpWellKnownSymbolLogic('split', 2, function (SPLIT, nativeSplit, maybeCallNative) {\n var internalSplit;\n if (\n 'abbc'.split(/(b)*/)[1] == 'c' ||\n // eslint-disable-next-line regexp/no-empty-group -- required for testing\n 'test'.split(/(?:)/, -1).length != 4 ||\n 'ab'.split(/(?:ab)*/).length != 2 ||\n '.'.split(/(.?)(.?)/).length != 4 ||\n // eslint-disable-next-line regexp/no-assertion-capturing-group, regexp/no-empty-group -- required for testing\n '.'.split(/()()/).length > 1 ||\n ''.split(/.?/).length\n ) {\n // based on es5-shim implementation, need to rework it\n internalSplit = function (separator, limit) {\n var string = String(requireObjectCoercible(this));\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (separator === undefined) return [string];\n // If `separator` is not a regex, use native split\n if (!isRegExp(separator)) {\n return nativeSplit.call(string, separator, lim);\n }\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 // Make `global` and avoid `lastIndex` issues by working with a copy\n var separatorCopy = new RegExp(separator.source, flags + 'g');\n var match, lastIndex, lastLength;\n while (match = regexpExec.call(separatorCopy, string)) {\n lastIndex = separatorCopy.lastIndex;\n if (lastIndex > lastLastIndex) {\n output.push(string.slice(lastLastIndex, match.index));\n if (match.length > 1 && match.index < string.length) arrayPush.apply(output, match.slice(1));\n lastLength = match[0].length;\n lastLastIndex = lastIndex;\n if (output.length >= lim) break;\n }\n if (separatorCopy.lastIndex === match.index) separatorCopy.lastIndex++; // 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 > lim ? output.slice(0, lim) : output;\n };\n // Chakra, V8\n } else if ('0'.split(undefined, 0).length) {\n internalSplit = function (separator, limit) {\n return separator === undefined && limit === 0 ? [] : nativeSplit.call(this, separator, limit);\n };\n } else internalSplit = nativeSplit;\n\n return [\n // `String.prototype.split` method\n // https://tc39.es/ecma262/#sec-string.prototype.split\n function split(separator, limit) {\n var O = requireObjectCoercible(this);\n var splitter = separator == undefined ? undefined : separator[SPLIT];\n return splitter !== undefined\n ? splitter.call(separator, O, limit)\n : internalSplit.call(String(O), separator, limit);\n },\n // `RegExp.prototype[@@split]` method\n // https://tc39.es/ecma262/#sec-regexp.prototype-@@split\n //\n // NOTE: This cannot be properly polyfilled in engines that don't support\n // the 'y' flag.\n function (regexp, limit) {\n var res = maybeCallNative(internalSplit, regexp, this, limit, internalSplit !== nativeSplit);\n if (res.done) return res.value;\n\n var rx = anObject(regexp);\n var S = String(this);\n var C = speciesConstructor(rx, RegExp);\n\n var unicodeMatching = rx.unicode;\n var flags = (rx.ignoreCase ? 'i' : '') +\n (rx.multiline ? 'm' : '') +\n (rx.unicode ? 'u' : '') +\n (UNSUPPORTED_Y ? 'g' : 'y');\n\n // ^(? + rx + ) is needed, in combination with some S slicing, to\n // simulate the 'y' flag.\n var splitter = new C(UNSUPPORTED_Y ? '^(?:' + rx.source + ')' : rx, flags);\n var lim = limit === undefined ? MAX_UINT32 : limit >>> 0;\n if (lim === 0) return [];\n if (S.length === 0) return callRegExpExec(splitter, S) === null ? [S] : [];\n var p = 0;\n var q = 0;\n var A = [];\n while (q < S.length) {\n splitter.lastIndex = UNSUPPORTED_Y ? 0 : q;\n var z = callRegExpExec(splitter, UNSUPPORTED_Y ? S.slice(q) : S);\n var e;\n if (\n z === null ||\n (e = min(toLength(splitter.lastIndex + (UNSUPPORTED_Y ? q : 0)), S.length)) === p\n ) {\n q = advanceStringIndex(S, q, unicodeMatching);\n } else {\n A.push(S.slice(p, q));\n if (A.length === lim) return A;\n for (var i = 1; i <= z.length - 1; i++) {\n A.push(z[i]);\n if (A.length === lim) return A;\n }\n q = p = e;\n }\n }\n A.push(S.slice(p));\n return A;\n }\n ];\n}, UNSUPPORTED_Y);\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\nvar FunctionPrototype = Function.prototype;\nvar FunctionPrototypeToString = FunctionPrototype.toString;\nvar nameRE = /^\\s*function ([^ (]*)/;\nvar NAME = 'name';\n\n// Function instances `.name` property\n// https://tc39.es/ecma262/#sec-function-instances-name\nif (DESCRIPTORS && !(NAME in FunctionPrototype)) {\n defineProperty(FunctionPrototype, NAME, {\n configurable: true,\n get: function () {\n try {\n return FunctionPrototypeToString.call(this).match(nameRE)[1];\n } catch (error) {\n return '';\n }\n }\n });\n}\n","var global = require('../internals/global');\n\nmodule.exports = global.Promise;\n","var redefine = require('../internals/redefine');\n\nmodule.exports = function (target, src, options) {\n for (var key in src) redefine(target, key, src[key], options);\n return target;\n};\n","var isObject = require('../internals/is-object');\n\nmodule.exports = function (it) {\n if (!isObject(it) && it !== null) {\n throw TypeError(\"Can't set \" + String(it) + ' as a prototype');\n } return it;\n};\n","/* eslint-disable no-proto -- safe */\nvar anObject = require('../internals/an-object');\nvar aPossiblePrototype = require('../internals/a-possible-prototype');\n\n// `Object.setPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.setprototypeof\n// Works with __proto__ only. Old v8 can't work with null proto objects.\n// eslint-disable-next-line es/no-object-setprototypeof -- safe\nmodule.exports = Object.setPrototypeOf || ('__proto__' in {} ? function () {\n var CORRECT_SETTER = false;\n var test = {};\n var setter;\n try {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n setter = Object.getOwnPropertyDescriptor(Object.prototype, '__proto__').set;\n setter.call(test, []);\n CORRECT_SETTER = test instanceof Array;\n } catch (error) { /* empty */ }\n return function setPrototypeOf(O, proto) {\n anObject(O);\n aPossiblePrototype(proto);\n if (CORRECT_SETTER) setter.call(O, proto);\n else O.__proto__ = proto;\n return O;\n };\n}() : undefined);\n","'use strict';\nvar getBuiltIn = require('../internals/get-built-in');\nvar definePropertyModule = require('../internals/object-define-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (CONSTRUCTOR_NAME) {\n var Constructor = getBuiltIn(CONSTRUCTOR_NAME);\n var defineProperty = definePropertyModule.f;\n\n if (DESCRIPTORS && Constructor && !Constructor[SPECIES]) {\n defineProperty(Constructor, SPECIES, {\n configurable: true,\n get: function () { return this; }\n });\n }\n};\n","module.exports = {};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar Iterators = require('../internals/iterators');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar ArrayPrototype = Array.prototype;\n\n// check on default Array iterator\nmodule.exports = function (it) {\n return it !== undefined && (Iterators.Array === it || ArrayPrototype[ITERATOR] === it);\n};\n","var classof = require('../internals/classof');\nvar Iterators = require('../internals/iterators');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\n\nmodule.exports = function (it) {\n if (it != undefined) return it[ITERATOR]\n || it['@@iterator']\n || Iterators[classof(it)];\n};\n","var anObject = require('../internals/an-object');\n\nmodule.exports = function (iterator) {\n var returnMethod = iterator['return'];\n if (returnMethod !== undefined) {\n return anObject(returnMethod.call(iterator)).value;\n }\n};\n","var anObject = require('../internals/an-object');\nvar isArrayIteratorMethod = require('../internals/is-array-iterator-method');\nvar toLength = require('../internals/to-length');\nvar bind = require('../internals/function-bind-context');\nvar getIteratorMethod = require('../internals/get-iterator-method');\nvar iteratorClose = require('../internals/iterator-close');\n\nvar Result = function (stopped, result) {\n this.stopped = stopped;\n this.result = result;\n};\n\nmodule.exports = function (iterable, unboundFunction, options) {\n var that = options && options.that;\n var AS_ENTRIES = !!(options && options.AS_ENTRIES);\n var IS_ITERATOR = !!(options && options.IS_ITERATOR);\n var INTERRUPTED = !!(options && options.INTERRUPTED);\n var fn = bind(unboundFunction, that, 1 + AS_ENTRIES + INTERRUPTED);\n var iterator, iterFn, index, length, result, next, step;\n\n var stop = function (condition) {\n if (iterator) iteratorClose(iterator);\n return new Result(true, condition);\n };\n\n var callFn = function (value) {\n if (AS_ENTRIES) {\n anObject(value);\n return INTERRUPTED ? fn(value[0], value[1], stop) : fn(value[0], value[1]);\n } return INTERRUPTED ? fn(value, stop) : fn(value);\n };\n\n if (IS_ITERATOR) {\n iterator = iterable;\n } else {\n iterFn = getIteratorMethod(iterable);\n if (typeof iterFn != 'function') throw TypeError('Target is not iterable');\n // optimisation for array iterators\n if (isArrayIteratorMethod(iterFn)) {\n for (index = 0, length = toLength(iterable.length); length > index; index++) {\n result = callFn(iterable[index]);\n if (result && result instanceof Result) return result;\n } return new Result(false);\n }\n iterator = iterFn.call(iterable);\n }\n\n next = iterator.next;\n while (!(step = next.call(iterator)).done) {\n try {\n result = callFn(step.value);\n } catch (error) {\n iteratorClose(iterator);\n throw error;\n }\n if (typeof result == 'object' && result && result instanceof Result) return result;\n } return new Result(false);\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar SAFE_CLOSING = false;\n\ntry {\n var called = 0;\n var iteratorWithReturn = {\n next: function () {\n return { done: !!called++ };\n },\n 'return': function () {\n SAFE_CLOSING = true;\n }\n };\n iteratorWithReturn[ITERATOR] = function () {\n return this;\n };\n // eslint-disable-next-line es/no-array-from, no-throw-literal -- required for testing\n Array.from(iteratorWithReturn, function () { throw 2; });\n} catch (error) { /* empty */ }\n\nmodule.exports = function (exec, SKIP_CLOSING) {\n if (!SKIP_CLOSING && !SAFE_CLOSING) return false;\n var ITERATION_SUPPORT = false;\n try {\n var object = {};\n object[ITERATOR] = function () {\n return {\n next: function () {\n return { done: ITERATION_SUPPORT = true };\n }\n };\n };\n exec(object);\n } catch (error) { /* empty */ }\n return ITERATION_SUPPORT;\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar bind = require('../internals/function-bind-context');\nvar html = require('../internals/html');\nvar createElement = require('../internals/document-create-element');\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar location = global.location;\nvar set = global.setImmediate;\nvar clear = global.clearImmediate;\nvar process = global.process;\nvar MessageChannel = global.MessageChannel;\nvar Dispatch = global.Dispatch;\nvar counter = 0;\nvar queue = {};\nvar ONREADYSTATECHANGE = 'onreadystatechange';\nvar defer, channel, port;\n\nvar run = function (id) {\n // eslint-disable-next-line no-prototype-builtins -- safe\n if (queue.hasOwnProperty(id)) {\n var fn = queue[id];\n delete queue[id];\n fn();\n }\n};\n\nvar runner = function (id) {\n return function () {\n run(id);\n };\n};\n\nvar listener = function (event) {\n run(event.data);\n};\n\nvar post = function (id) {\n // old engines have not location.origin\n global.postMessage(id + '', location.protocol + '//' + location.host);\n};\n\n// Node.js 0.9+ & IE10+ has setImmediate, otherwise:\nif (!set || !clear) {\n set = 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 -- spec requirement\n (typeof fn == 'function' ? fn : Function(fn)).apply(undefined, args);\n };\n defer(counter);\n return counter;\n };\n clear = function clearImmediate(id) {\n delete queue[id];\n };\n // Node.js 0.8-\n if (IS_NODE) {\n defer = function (id) {\n process.nextTick(runner(id));\n };\n // Sphere (JS game engine) Dispatch API\n } else if (Dispatch && Dispatch.now) {\n defer = function (id) {\n Dispatch.now(runner(id));\n };\n // Browsers with MessageChannel, includes WebWorkers\n // except iOS - https://github.com/zloirock/core-js/issues/624\n } else if (MessageChannel && !IS_IOS) {\n channel = new MessageChannel();\n port = channel.port2;\n channel.port1.onmessage = listener;\n defer = bind(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 (\n global.addEventListener &&\n typeof postMessage == 'function' &&\n !global.importScripts &&\n location && location.protocol !== 'file:' &&\n !fails(post)\n ) {\n defer = post;\n global.addEventListener('message', listener, false);\n // IE8-\n } else if (ONREADYSTATECHANGE in createElement('script')) {\n defer = function (id) {\n html.appendChild(createElement('script'))[ONREADYSTATECHANGE] = function () {\n html.removeChild(this);\n run(id);\n };\n };\n // Rest old browsers\n } else {\n defer = function (id) {\n setTimeout(runner(id), 0);\n };\n }\n}\n\nmodule.exports = {\n set: set,\n clear: clear\n};\n","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /(?:iphone|ipod|ipad).*applewebkit/i.test(userAgent);\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var global = require('../internals/global');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar macrotask = require('../internals/task').set;\nvar IS_IOS = require('../internals/engine-is-ios');\nvar IS_WEBOS_WEBKIT = require('../internals/engine-is-webos-webkit');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar MutationObserver = global.MutationObserver || global.WebKitMutationObserver;\nvar document = global.document;\nvar process = global.process;\nvar Promise = global.Promise;\n// Node.js 11 shows ExperimentalWarning on getting `queueMicrotask`\nvar queueMicrotaskDescriptor = getOwnPropertyDescriptor(global, 'queueMicrotask');\nvar queueMicrotask = queueMicrotaskDescriptor && queueMicrotaskDescriptor.value;\n\nvar flush, head, last, notify, toggle, node, promise, then;\n\n// modern engines have queueMicrotask method\nif (!queueMicrotask) {\n flush = function () {\n var parent, fn;\n if (IS_NODE && (parent = process.domain)) parent.exit();\n while (head) {\n fn = head.fn;\n head = head.next;\n try {\n fn();\n } catch (error) {\n if (head) notify();\n else last = undefined;\n throw error;\n }\n } last = undefined;\n if (parent) parent.enter();\n };\n\n // browsers with MutationObserver, except iOS - https://github.com/zloirock/core-js/issues/339\n // also except WebOS Webkit https://github.com/zloirock/core-js/issues/898\n if (!IS_IOS && !IS_NODE && !IS_WEBOS_WEBKIT && MutationObserver && document) {\n toggle = true;\n node = document.createTextNode('');\n new MutationObserver(flush).observe(node, { characterData: true });\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 // Promise.resolve without an argument throws an error in LG WebOS 2\n promise = Promise.resolve(undefined);\n // workaround of WebKit ~ iOS Safari 10.1 bug\n promise.constructor = Promise;\n then = promise.then;\n notify = function () {\n then.call(promise, flush);\n };\n // Node.js without promises\n } else if (IS_NODE) {\n notify = function () {\n process.nextTick(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\nmodule.exports = queueMicrotask || 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","var userAgent = require('../internals/engine-user-agent');\n\nmodule.exports = /web0s(?!.*chrome)/i.test(userAgent);\n","'use strict';\nvar aFunction = require('../internals/a-function');\n\nvar PromiseCapability = function (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\n// `NewPromiseCapability` abstract operation\n// https://tc39.es/ecma262/#sec-newpromisecapability\nmodule.exports.f = function (C) {\n return new PromiseCapability(C);\n};\n","var anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar newPromiseCapability = require('../internals/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","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar global = require('../internals/global');\nvar getBuiltIn = require('../internals/get-built-in');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar redefine = require('../internals/redefine');\nvar redefineAll = require('../internals/redefine-all');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar setSpecies = require('../internals/set-species');\nvar isObject = require('../internals/is-object');\nvar aFunction = require('../internals/a-function');\nvar anInstance = require('../internals/an-instance');\nvar inspectSource = require('../internals/inspect-source');\nvar iterate = require('../internals/iterate');\nvar checkCorrectnessOfIteration = require('../internals/check-correctness-of-iteration');\nvar speciesConstructor = require('../internals/species-constructor');\nvar task = require('../internals/task').set;\nvar microtask = require('../internals/microtask');\nvar promiseResolve = require('../internals/promise-resolve');\nvar hostReportErrors = require('../internals/host-report-errors');\nvar newPromiseCapabilityModule = require('../internals/new-promise-capability');\nvar perform = require('../internals/perform');\nvar InternalStateModule = require('../internals/internal-state');\nvar isForced = require('../internals/is-forced');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_BROWSER = require('../internals/engine-is-browser');\nvar IS_NODE = require('../internals/engine-is-node');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\nvar PROMISE = 'Promise';\nvar getInternalState = InternalStateModule.get;\nvar setInternalState = InternalStateModule.set;\nvar getInternalPromiseState = InternalStateModule.getterFor(PROMISE);\nvar NativePromisePrototype = NativePromise && NativePromise.prototype;\nvar PromiseConstructor = NativePromise;\nvar PromiseConstructorPrototype = NativePromisePrototype;\nvar TypeError = global.TypeError;\nvar document = global.document;\nvar process = global.process;\nvar newPromiseCapability = newPromiseCapabilityModule.f;\nvar newGenericPromiseCapability = newPromiseCapability;\nvar DISPATCH_EVENT = !!(document && document.createEvent && global.dispatchEvent);\nvar NATIVE_REJECTION_EVENT = typeof PromiseRejectionEvent == 'function';\nvar UNHANDLED_REJECTION = 'unhandledrejection';\nvar REJECTION_HANDLED = 'rejectionhandled';\nvar PENDING = 0;\nvar FULFILLED = 1;\nvar REJECTED = 2;\nvar HANDLED = 1;\nvar UNHANDLED = 2;\nvar SUBCLASSING = false;\nvar Internal, OwnPromiseCapability, PromiseWrapper, nativeThen;\n\nvar FORCED = isForced(PROMISE, function () {\n var GLOBAL_CORE_JS_PROMISE = inspectSource(PromiseConstructor) !== String(PromiseConstructor);\n // V8 6.6 (Node 10 and Chrome 66) have a bug with resolving custom thenables\n // https://bugs.chromium.org/p/chromium/issues/detail?id=830565\n // We can't detect it synchronously, so just check versions\n if (!GLOBAL_CORE_JS_PROMISE && V8_VERSION === 66) return true;\n // We need Promise#finally in the pure version for preventing prototype pollution\n if (IS_PURE && !PromiseConstructorPrototype['finally']) return true;\n // We can't use @@species feature detection in V8 since it causes\n // deoptimization and performance degradation\n // https://github.com/zloirock/core-js/issues/679\n if (V8_VERSION >= 51 && /native code/.test(PromiseConstructor)) return false;\n // Detect correctness of subclassing with @@species support\n var promise = new PromiseConstructor(function (resolve) { resolve(1); });\n var FakePromise = function (exec) {\n exec(function () { /* empty */ }, function () { /* empty */ });\n };\n var constructor = promise.constructor = {};\n constructor[SPECIES] = FakePromise;\n SUBCLASSING = promise.then(function () { /* empty */ }) instanceof FakePromise;\n if (!SUBCLASSING) return true;\n // Unhandled rejections tracking support, NodeJS Promise without it fails @@species test\n return !GLOBAL_CORE_JS_PROMISE && IS_BROWSER && !NATIVE_REJECTION_EVENT;\n});\n\nvar INCORRECT_ITERATION = FORCED || !checkCorrectnessOfIteration(function (iterable) {\n PromiseConstructor.all(iterable)['catch'](function () { /* empty */ });\n});\n\n// helpers\nvar isThenable = function (it) {\n var then;\n return isObject(it) && typeof (then = it.then) == 'function' ? then : false;\n};\n\nvar notify = function (state, isReject) {\n if (state.notified) return;\n state.notified = true;\n var chain = state.reactions;\n microtask(function () {\n var value = state.value;\n var ok = state.state == FULFILLED;\n var index = 0;\n // variable length - can't use forEach\n while (chain.length > index) {\n var reaction = chain[index++];\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 (state.rejection === UNHANDLED) onHandleUnhandled(state);\n state.rejection = HANDLED;\n }\n if (handler === true) result = value;\n else {\n if (domain) domain.enter();\n result = handler(value); // can 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 (error) {\n if (domain && !exited) domain.exit();\n reject(error);\n }\n }\n state.reactions = [];\n state.notified = false;\n if (isReject && !state.rejection) onUnhandled(state);\n });\n};\n\nvar dispatchEvent = function (name, promise, reason) {\n var event, handler;\n if (DISPATCH_EVENT) {\n event = document.createEvent('Event');\n event.promise = promise;\n event.reason = reason;\n event.initEvent(name, false, true);\n global.dispatchEvent(event);\n } else event = { promise: promise, reason: reason };\n if (!NATIVE_REJECTION_EVENT && (handler = global['on' + name])) handler(event);\n else if (name === UNHANDLED_REJECTION) hostReportErrors('Unhandled promise rejection', reason);\n};\n\nvar onUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n var value = state.value;\n var IS_UNHANDLED = isUnhandled(state);\n var result;\n if (IS_UNHANDLED) {\n result = perform(function () {\n if (IS_NODE) {\n process.emit('unhandledRejection', value, promise);\n } else dispatchEvent(UNHANDLED_REJECTION, promise, value);\n });\n // Browsers should not trigger `rejectionHandled` event if it was handled here, NodeJS - should\n state.rejection = IS_NODE || isUnhandled(state) ? UNHANDLED : HANDLED;\n if (result.error) throw result.value;\n }\n });\n};\n\nvar isUnhandled = function (state) {\n return state.rejection !== HANDLED && !state.parent;\n};\n\nvar onHandleUnhandled = function (state) {\n task.call(global, function () {\n var promise = state.facade;\n if (IS_NODE) {\n process.emit('rejectionHandled', promise);\n } else dispatchEvent(REJECTION_HANDLED, promise, state.value);\n });\n};\n\nvar bind = function (fn, state, unwrap) {\n return function (value) {\n fn(state, value, unwrap);\n };\n};\n\nvar internalReject = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n state.value = value;\n state.state = REJECTED;\n notify(state, true);\n};\n\nvar internalResolve = function (state, value, unwrap) {\n if (state.done) return;\n state.done = true;\n if (unwrap) state = unwrap;\n try {\n if (state.facade === value) throw TypeError(\"Promise can't be resolved itself\");\n var then = isThenable(value);\n if (then) {\n microtask(function () {\n var wrapper = { done: false };\n try {\n then.call(value,\n bind(internalResolve, wrapper, state),\n bind(internalReject, wrapper, state)\n );\n } catch (error) {\n internalReject(wrapper, error, state);\n }\n });\n } else {\n state.value = value;\n state.state = FULFILLED;\n notify(state, false);\n }\n } catch (error) {\n internalReject({ done: false }, error, state);\n }\n};\n\n// constructor polyfill\nif (FORCED) {\n // 25.4.3.1 Promise(executor)\n PromiseConstructor = function Promise(executor) {\n anInstance(this, PromiseConstructor, PROMISE);\n aFunction(executor);\n Internal.call(this);\n var state = getInternalState(this);\n try {\n executor(bind(internalResolve, state), bind(internalReject, state));\n } catch (error) {\n internalReject(state, error);\n }\n };\n PromiseConstructorPrototype = PromiseConstructor.prototype;\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n Internal = function Promise(executor) {\n setInternalState(this, {\n type: PROMISE,\n done: false,\n notified: false,\n parent: false,\n reactions: [],\n rejection: false,\n state: PENDING,\n value: undefined\n });\n };\n Internal.prototype = redefineAll(PromiseConstructorPrototype, {\n // `Promise.prototype.then` method\n // https://tc39.es/ecma262/#sec-promise.prototype.then\n then: function then(onFulfilled, onRejected) {\n var state = getInternalPromiseState(this);\n var reaction = newPromiseCapability(speciesConstructor(this, PromiseConstructor));\n reaction.ok = typeof onFulfilled == 'function' ? onFulfilled : true;\n reaction.fail = typeof onRejected == 'function' && onRejected;\n reaction.domain = IS_NODE ? process.domain : undefined;\n state.parent = true;\n state.reactions.push(reaction);\n if (state.state != PENDING) notify(state, false);\n return reaction.promise;\n },\n // `Promise.prototype.catch` method\n // https://tc39.es/ecma262/#sec-promise.prototype.catch\n 'catch': function (onRejected) {\n return this.then(undefined, onRejected);\n }\n });\n OwnPromiseCapability = function () {\n var promise = new Internal();\n var state = getInternalState(promise);\n this.promise = promise;\n this.resolve = bind(internalResolve, state);\n this.reject = bind(internalReject, state);\n };\n newPromiseCapabilityModule.f = newPromiseCapability = function (C) {\n return C === PromiseConstructor || C === PromiseWrapper\n ? new OwnPromiseCapability(C)\n : newGenericPromiseCapability(C);\n };\n\n if (!IS_PURE && typeof NativePromise == 'function' && NativePromisePrototype !== Object.prototype) {\n nativeThen = NativePromisePrototype.then;\n\n if (!SUBCLASSING) {\n // make `Promise#then` return a polyfilled `Promise` for native promise-based APIs\n redefine(NativePromisePrototype, 'then', function then(onFulfilled, onRejected) {\n var that = this;\n return new PromiseConstructor(function (resolve, reject) {\n nativeThen.call(that, resolve, reject);\n }).then(onFulfilled, onRejected);\n // https://github.com/zloirock/core-js/issues/640\n }, { unsafe: true });\n\n // makes sure that native promise-based APIs `Promise#catch` properly works with patched `Promise#then`\n redefine(NativePromisePrototype, 'catch', PromiseConstructorPrototype['catch'], { unsafe: true });\n }\n\n // make `.constructor === Promise` work for native promise-based APIs\n try {\n delete NativePromisePrototype.constructor;\n } catch (error) { /* empty */ }\n\n // make `instanceof Promise` work for native promise-based APIs\n if (setPrototypeOf) {\n setPrototypeOf(NativePromisePrototype, PromiseConstructorPrototype);\n }\n }\n}\n\n$({ global: true, wrap: true, forced: FORCED }, {\n Promise: PromiseConstructor\n});\n\nsetToStringTag(PromiseConstructor, PROMISE, false, true);\nsetSpecies(PROMISE);\n\nPromiseWrapper = getBuiltIn(PROMISE);\n\n// statics\n$({ target: PROMISE, stat: true, forced: FORCED }, {\n // `Promise.reject` method\n // https://tc39.es/ecma262/#sec-promise.reject\n reject: function reject(r) {\n var capability = newPromiseCapability(this);\n capability.reject.call(undefined, r);\n return capability.promise;\n }\n});\n\n$({ target: PROMISE, stat: true, forced: IS_PURE || FORCED }, {\n // `Promise.resolve` method\n // https://tc39.es/ecma262/#sec-promise.resolve\n resolve: function resolve(x) {\n return promiseResolve(IS_PURE && this === PromiseWrapper ? PromiseConstructor : this, x);\n }\n});\n\n$({ target: PROMISE, stat: true, forced: INCORRECT_ITERATION }, {\n // `Promise.all` method\n // https://tc39.es/ecma262/#sec-promise.all\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 $promiseResolve = aFunction(C.resolve);\n var values = [];\n var counter = 0;\n var remaining = 1;\n iterate(iterable, function (promise) {\n var index = counter++;\n var alreadyCalled = false;\n values.push(undefined);\n remaining++;\n $promiseResolve.call(C, 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.error) reject(result.value);\n return capability.promise;\n },\n // `Promise.race` method\n // https://tc39.es/ecma262/#sec-promise.race\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 var $promiseResolve = aFunction(C.resolve);\n iterate(iterable, function (promise) {\n $promiseResolve.call(C, promise).then(capability.resolve, reject);\n });\n });\n if (result.error) reject(result.value);\n return capability.promise;\n }\n});\n","var global = require('../internals/global');\n\nmodule.exports = function (a, b) {\n var console = global.console;\n if (console && console.error) {\n arguments.length === 1 ? console.error(a) : console.error(a, b);\n }\n};\n","module.exports = typeof window == 'object';\n","module.exports = function (it, Constructor, name) {\n if (!(it instanceof Constructor)) {\n throw TypeError('Incorrect ' + (name ? name + ' ' : '') + 'invocation');\n } return it;\n};\n","module.exports = function (exec) {\n try {\n return { error: false, value: exec() };\n } catch (error) {\n return { error: true, value: error };\n }\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar IS_PURE = require('../internals/is-pure');\nvar NativePromise = require('../internals/native-promise-constructor');\nvar fails = require('../internals/fails');\nvar getBuiltIn = require('../internals/get-built-in');\nvar speciesConstructor = require('../internals/species-constructor');\nvar promiseResolve = require('../internals/promise-resolve');\nvar redefine = require('../internals/redefine');\n\n// Safari bug https://bugs.webkit.org/show_bug.cgi?id=200829\nvar NON_GENERIC = !!NativePromise && fails(function () {\n NativePromise.prototype['finally'].call({ then: function () { /* empty */ } }, function () { /* empty */ });\n});\n\n// `Promise.prototype.finally` method\n// https://tc39.es/ecma262/#sec-promise.prototype.finally\n$({ target: 'Promise', proto: true, real: true, forced: NON_GENERIC }, {\n 'finally': function (onFinally) {\n var C = speciesConstructor(this, getBuiltIn('Promise'));\n var isFunction = typeof onFinally == 'function';\n return this.then(\n isFunction ? function (x) {\n return promiseResolve(C, onFinally()).then(function () { return x; });\n } : onFinally,\n isFunction ? function (e) {\n return promiseResolve(C, onFinally()).then(function () { throw e; });\n } : onFinally\n );\n }\n});\n\n// makes sure that native promise-based APIs `Promise#finally` properly works with patched `Promise#then`\nif (!IS_PURE && typeof NativePromise == 'function') {\n var method = getBuiltIn('Promise').prototype['finally'];\n if (NativePromise.prototype['finally'] !== method) {\n redefine(NativePromise.prototype, 'finally', method, { unsafe: true });\n }\n}\n","var wellKnownSymbol = require('../internals/well-known-symbol');\nvar create = require('../internals/object-create');\nvar definePropertyModule = require('../internals/object-define-property');\n\nvar UNSCOPABLES = wellKnownSymbol('unscopables');\nvar ArrayPrototype = Array.prototype;\n\n// Array.prototype[@@unscopables]\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\nif (ArrayPrototype[UNSCOPABLES] == undefined) {\n definePropertyModule.f(ArrayPrototype, UNSCOPABLES, {\n configurable: true,\n value: create(null)\n });\n}\n\n// add a key to Array.prototype[@@unscopables]\nmodule.exports = function (key) {\n ArrayPrototype[UNSCOPABLES][key] = true;\n};\n","'use strict';\nvar fails = require('../internals/fails');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar has = require('../internals/has');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar BUGGY_SAFARI_ITERATORS = false;\n\nvar returnThis = function () { return this; };\n\n// `%IteratorPrototype%` object\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-object\nvar IteratorPrototype, PrototypeOfArrayIteratorPrototype, arrayIterator;\n\n/* eslint-disable es/no-array-prototype-keys -- safe */\nif ([].keys) {\n arrayIterator = [].keys();\n // Safari 8 has buggy iterators w/o `next`\n if (!('next' in arrayIterator)) BUGGY_SAFARI_ITERATORS = true;\n else {\n PrototypeOfArrayIteratorPrototype = getPrototypeOf(getPrototypeOf(arrayIterator));\n if (PrototypeOfArrayIteratorPrototype !== Object.prototype) IteratorPrototype = PrototypeOfArrayIteratorPrototype;\n }\n}\n\nvar NEW_ITERATOR_PROTOTYPE = IteratorPrototype == undefined || fails(function () {\n var test = {};\n // FF44- legacy iterators case\n return IteratorPrototype[ITERATOR].call(test) !== test;\n});\n\nif (NEW_ITERATOR_PROTOTYPE) IteratorPrototype = {};\n\n// `%IteratorPrototype%[@@iterator]()` method\n// https://tc39.es/ecma262/#sec-%iteratorprototype%-@@iterator\nif ((!IS_PURE || NEW_ITERATOR_PROTOTYPE) && !has(IteratorPrototype, ITERATOR)) {\n createNonEnumerableProperty(IteratorPrototype, ITERATOR, returnThis);\n}\n\nmodule.exports = {\n IteratorPrototype: IteratorPrototype,\n BUGGY_SAFARI_ITERATORS: BUGGY_SAFARI_ITERATORS\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n function F() { /* empty */ }\n F.prototype.constructor = null;\n // eslint-disable-next-line es/no-object-getprototypeof -- required for testing\n return Object.getPrototypeOf(new F()) !== F.prototype;\n});\n","var has = require('../internals/has');\nvar toObject = require('../internals/to-object');\nvar sharedKey = require('../internals/shared-key');\nvar CORRECT_PROTOTYPE_GETTER = require('../internals/correct-prototype-getter');\n\nvar IE_PROTO = sharedKey('IE_PROTO');\nvar ObjectPrototype = Object.prototype;\n\n// `Object.getPrototypeOf` method\n// https://tc39.es/ecma262/#sec-object.getprototypeof\n// eslint-disable-next-line es/no-object-getprototypeof -- safe\nmodule.exports = CORRECT_PROTOTYPE_GETTER ? 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 ? ObjectPrototype : null;\n};\n","'use strict';\nvar IteratorPrototype = require('../internals/iterators-core').IteratorPrototype;\nvar create = require('../internals/object-create');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar Iterators = require('../internals/iterators');\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (IteratorConstructor, NAME, next) {\n var TO_STRING_TAG = NAME + ' Iterator';\n IteratorConstructor.prototype = create(IteratorPrototype, { next: createPropertyDescriptor(1, next) });\n setToStringTag(IteratorConstructor, TO_STRING_TAG, false, true);\n Iterators[TO_STRING_TAG] = returnThis;\n return IteratorConstructor;\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar createIteratorConstructor = require('../internals/create-iterator-constructor');\nvar getPrototypeOf = require('../internals/object-get-prototype-of');\nvar setPrototypeOf = require('../internals/object-set-prototype-of');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar redefine = require('../internals/redefine');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar IS_PURE = require('../internals/is-pure');\nvar Iterators = require('../internals/iterators');\nvar IteratorsCore = require('../internals/iterators-core');\n\nvar IteratorPrototype = IteratorsCore.IteratorPrototype;\nvar BUGGY_SAFARI_ITERATORS = IteratorsCore.BUGGY_SAFARI_ITERATORS;\nvar ITERATOR = wellKnownSymbol('iterator');\nvar KEYS = 'keys';\nvar VALUES = 'values';\nvar ENTRIES = 'entries';\n\nvar returnThis = function () { return this; };\n\nmodule.exports = function (Iterable, NAME, IteratorConstructor, next, DEFAULT, IS_SET, FORCED) {\n createIteratorConstructor(IteratorConstructor, NAME, next);\n\n var getIterationMethod = function (KIND) {\n if (KIND === DEFAULT && defaultIterator) return defaultIterator;\n if (!BUGGY_SAFARI_ITERATORS && KIND in IterablePrototype) return IterablePrototype[KIND];\n switch (KIND) {\n case KEYS: return function keys() { return new IteratorConstructor(this, KIND); };\n case VALUES: return function values() { return new IteratorConstructor(this, KIND); };\n case ENTRIES: return function entries() { return new IteratorConstructor(this, KIND); };\n } return function () { return new IteratorConstructor(this); };\n };\n\n var TO_STRING_TAG = NAME + ' Iterator';\n var INCORRECT_VALUES_NAME = false;\n var IterablePrototype = Iterable.prototype;\n var nativeIterator = IterablePrototype[ITERATOR]\n || IterablePrototype['@@iterator']\n || DEFAULT && IterablePrototype[DEFAULT];\n var defaultIterator = !BUGGY_SAFARI_ITERATORS && nativeIterator || getIterationMethod(DEFAULT);\n var anyNativeIterator = NAME == 'Array' ? IterablePrototype.entries || nativeIterator : nativeIterator;\n var CurrentIteratorPrototype, methods, KEY;\n\n // fix native\n if (anyNativeIterator) {\n CurrentIteratorPrototype = getPrototypeOf(anyNativeIterator.call(new Iterable()));\n if (IteratorPrototype !== Object.prototype && CurrentIteratorPrototype.next) {\n if (!IS_PURE && getPrototypeOf(CurrentIteratorPrototype) !== IteratorPrototype) {\n if (setPrototypeOf) {\n setPrototypeOf(CurrentIteratorPrototype, IteratorPrototype);\n } else if (typeof CurrentIteratorPrototype[ITERATOR] != 'function') {\n createNonEnumerableProperty(CurrentIteratorPrototype, ITERATOR, returnThis);\n }\n }\n // Set @@toStringTag to native iterators\n setToStringTag(CurrentIteratorPrototype, TO_STRING_TAG, true, true);\n if (IS_PURE) Iterators[TO_STRING_TAG] = returnThis;\n }\n }\n\n // fix Array.prototype.{ values, @@iterator }.name in V8 / FF\n if (DEFAULT == VALUES && nativeIterator && nativeIterator.name !== VALUES) {\n INCORRECT_VALUES_NAME = true;\n defaultIterator = function values() { return nativeIterator.call(this); };\n }\n\n // define iterator\n if ((!IS_PURE || FORCED) && IterablePrototype[ITERATOR] !== defaultIterator) {\n createNonEnumerableProperty(IterablePrototype, ITERATOR, defaultIterator);\n }\n Iterators[NAME] = defaultIterator;\n\n // export additional methods\n if (DEFAULT) {\n methods = {\n values: getIterationMethod(VALUES),\n keys: IS_SET ? defaultIterator : getIterationMethod(KEYS),\n entries: getIterationMethod(ENTRIES)\n };\n if (FORCED) for (KEY in methods) {\n if (BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME || !(KEY in IterablePrototype)) {\n redefine(IterablePrototype, KEY, methods[KEY]);\n }\n } else $({ target: NAME, proto: true, forced: BUGGY_SAFARI_ITERATORS || INCORRECT_VALUES_NAME }, methods);\n }\n\n return methods;\n};\n","'use strict';\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar addToUnscopables = require('../internals/add-to-unscopables');\nvar Iterators = require('../internals/iterators');\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar ARRAY_ITERATOR = 'Array Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(ARRAY_ITERATOR);\n\n// `Array.prototype.entries` method\n// https://tc39.es/ecma262/#sec-array.prototype.entries\n// `Array.prototype.keys` method\n// https://tc39.es/ecma262/#sec-array.prototype.keys\n// `Array.prototype.values` method\n// https://tc39.es/ecma262/#sec-array.prototype.values\n// `Array.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-array.prototype-@@iterator\n// `CreateArrayIterator` internal method\n// https://tc39.es/ecma262/#sec-createarrayiterator\nmodule.exports = defineIterator(Array, 'Array', function (iterated, kind) {\n setInternalState(this, {\n type: ARRAY_ITERATOR,\n target: toIndexedObject(iterated), // target\n index: 0, // next index\n kind: kind // kind\n });\n// `%ArrayIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%arrayiteratorprototype%.next\n}, function () {\n var state = getInternalState(this);\n var target = state.target;\n var kind = state.kind;\n var index = state.index++;\n if (!target || index >= target.length) {\n state.target = undefined;\n return { value: undefined, done: true };\n }\n if (kind == 'keys') return { value: index, done: false };\n if (kind == 'values') return { value: target[index], done: false };\n return { value: [index, target[index]], done: false };\n}, 'values');\n\n// argumentsList[@@iterator] is %ArrayProto_values%\n// https://tc39.es/ecma262/#sec-createunmappedargumentsobject\n// https://tc39.es/ecma262/#sec-createmappedargumentsobject\nIterators.Arguments = Iterators.Array;\n\n// https://tc39.es/ecma262/#sec-array.prototype-@@unscopables\naddToUnscopables('keys');\naddToUnscopables('values');\naddToUnscopables('entries');\n","'use strict';\nvar charAt = require('../internals/string-multibyte').charAt;\nvar InternalStateModule = require('../internals/internal-state');\nvar defineIterator = require('../internals/define-iterator');\n\nvar STRING_ITERATOR = 'String Iterator';\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(STRING_ITERATOR);\n\n// `String.prototype[@@iterator]` method\n// https://tc39.es/ecma262/#sec-string.prototype-@@iterator\ndefineIterator(String, 'String', function (iterated) {\n setInternalState(this, {\n type: STRING_ITERATOR,\n string: String(iterated),\n index: 0\n });\n// `%StringIteratorPrototype%.next` method\n// https://tc39.es/ecma262/#sec-%stringiteratorprototype%.next\n}, function next() {\n var state = getInternalState(this);\n var string = state.string;\n var index = state.index;\n var point;\n if (index >= string.length) return { value: undefined, done: true };\n point = charAt(string, index);\n state.index += point.length;\n return { value: point, done: false };\n});\n","var global = require('../internals/global');\nvar DOMIterables = require('../internals/dom-iterables');\nvar ArrayIteratorMethods = require('../modules/es.array.iterator');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar ITERATOR = wellKnownSymbol('iterator');\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar ArrayValues = ArrayIteratorMethods.values;\n\nfor (var COLLECTION_NAME in DOMIterables) {\n var Collection = global[COLLECTION_NAME];\n var CollectionPrototype = Collection && Collection.prototype;\n if (CollectionPrototype) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[ITERATOR] !== ArrayValues) try {\n createNonEnumerableProperty(CollectionPrototype, ITERATOR, ArrayValues);\n } catch (error) {\n CollectionPrototype[ITERATOR] = ArrayValues;\n }\n if (!CollectionPrototype[TO_STRING_TAG]) {\n createNonEnumerableProperty(CollectionPrototype, TO_STRING_TAG, COLLECTION_NAME);\n }\n if (DOMIterables[COLLECTION_NAME]) for (var METHOD_NAME in ArrayIteratorMethods) {\n // some Chrome versions have non-configurable methods on DOMTokenList\n if (CollectionPrototype[METHOD_NAME] !== ArrayIteratorMethods[METHOD_NAME]) try {\n createNonEnumerableProperty(CollectionPrototype, METHOD_NAME, ArrayIteratorMethods[METHOD_NAME]);\n } catch (error) {\n CollectionPrototype[METHOD_NAME] = ArrayIteratorMethods[METHOD_NAME];\n }\n }\n }\n}\n","// iterable DOM collections\n// flag - `iterable` interface - 'entries', 'keys', 'values', 'forEach' methods\nmodule.exports = {\n CSSRuleList: 0,\n CSSStyleDeclaration: 0,\n CSSValueList: 0,\n ClientRectList: 0,\n DOMRectList: 0,\n DOMStringList: 0,\n DOMTokenList: 1,\n DataTransferItemList: 0,\n FileList: 0,\n HTMLAllCollection: 0,\n HTMLCollection: 0,\n HTMLFormElement: 0,\n HTMLSelectElement: 0,\n MediaList: 0,\n MimeTypeArray: 0,\n NamedNodeMap: 0,\n NodeList: 1,\n PaintRequestList: 0,\n Plugin: 0,\n PluginArray: 0,\n SVGLengthList: 0,\n SVGNumberList: 0,\n SVGPathSegList: 0,\n SVGPointList: 0,\n SVGStringList: 0,\n SVGTransformList: 0,\n SourceBufferList: 0,\n StyleSheetList: 0,\n TextTrackCueList: 0,\n TextTrackList: 0,\n TouchList: 0\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","const QRMath = {\n glog: function (n) {\n if (n < 1) {\n throw new Error('glog(' + n + ')')\n }\n\n return QRMath.LOG_TABLE[n]\n },\n\n gexp: function (n) {\n while (n < 0) {\n n += 255\n }\n\n while (n >= 256) {\n n -= 255\n }\n\n return QRMath.EXP_TABLE[n]\n },\n\n EXP_TABLE: new Array(256),\n\n LOG_TABLE: new Array(256),\n}\n\nfor (let i = 0; i < 8; i++) {\n QRMath.EXP_TABLE[i] = 1 << i\n}\nfor (let i = 8; i < 256; i++) {\n QRMath.EXP_TABLE[i] =\n QRMath.EXP_TABLE[i - 4] ^\n QRMath.EXP_TABLE[i - 5] ^\n QRMath.EXP_TABLE[i - 6] ^\n QRMath.EXP_TABLE[i - 8]\n}\nfor (let i = 0; i < 255; i++) {\n QRMath.LOG_TABLE[QRMath.EXP_TABLE[i]] = i\n}\n\nexport default QRMath\n","export default {\n L: 1,\n M: 0,\n Q: 3,\n H: 2,\n}\n","export default {\n MODE_NUMBER: 1 << 0,\n MODE_ALPHA_NUM: 1 << 1,\n MODE_8BIT_BYTE: 1 << 2,\n MODE_KANJI: 1 << 3,\n}\n","import mode from './mode'\n\nexport default class QR8bitByte {\n data\n mode\n constructor(data: any) {\n this.mode = mode.MODE_8BIT_BYTE\n this.data = data\n }\n getLength() {\n return this.data.length\n }\n write(buffer: {put: (arg0: any, arg1: number) => void}) {\n for (let i = 0; i < this.data.length; i++) {\n // not JIS ...\n buffer.put(this.data.charCodeAt(i), 8)\n }\n }\n}\n","export default class QRBitBuffer {\n buffer: number[]\n length: number\n constructor() {\n this.buffer = []\n this.length = 0\n }\n get(index) {\n const bufIndex = Math.floor(index / 8)\n return ((this.buffer[bufIndex] >>> (7 - (index % 8))) & 1) == 1\n }\n\n put(num, length) {\n for (let i = 0; i < length; i++) {\n this.putBit(((num >>> (length - i - 1)) & 1) == 1)\n }\n }\n\n getLengthInBits() {\n return this.length\n }\n\n putBit(bit) {\n const bufIndex = Math.floor(this.length / 8)\n if (this.buffer.length <= bufIndex) {\n this.buffer.push(0)\n }\n\n if (bit) {\n this.buffer[bufIndex] |= 0x80 >>> this.length % 8\n }\n\n this.length++\n }\n}\n","import math from './math'\n\nexport default class QRPolynomial {\n num: number[]\n constructor(num, shift) {\n if (num.length == undefined) {\n throw new Error(num.length + '/' + shift)\n }\n\n let offset = 0\n\n while (offset < num.length && num[offset] == 0) {\n offset++\n }\n\n this.num = new Array(num.length - offset + shift)\n for (let i = 0; i < num.length - offset; i++) {\n this.num[i] = num[i + offset]\n }\n }\n\n get(index: string | number) {\n return this.num[index]\n }\n\n getLength() {\n return this.num.length\n }\n\n multiply(e: {getLength: () => number; get: (arg0: number) => any}) {\n const num = new Array(this.getLength() + e.getLength() - 1)\n\n for (let i = 0; i < this.getLength(); i++) {\n for (let j = 0; j < e.getLength(); j++) {\n num[i + j] ^= math.gexp(math.glog(this.get(i)) + math.glog(e.get(j)))\n }\n }\n\n return new QRPolynomial(num, 0)\n }\n\n mod(e: {getLength: () => number; get: (arg0: number) => any}) {\n if (this.getLength() - e.getLength() < 0) {\n return this\n }\n\n const ratio = math.glog(this.get(0)) - math.glog(e.get(0))\n\n const num = new Array(this.getLength())\n\n for (let i = 0; i < this.getLength(); i++) {\n num[i] = this.get(i)\n }\n\n for (let i = 0; i < e.getLength(); i++) {\n num[i] ^= math.gexp(math.glog(e.get(i)) + ratio)\n }\n\n // recursive call\n return new QRPolynomial(num, 0).mod(e)\n }\n}\n","// ErrorCorrectLevel\nimport ECL from './ErrorCorrectLevel'\n\nexport default class QRRSBlock {\n totalCount: number\n dataCount: number\n\n constructor(totalCount, dataCount) {\n this.totalCount = totalCount\n this.dataCount = dataCount\n }\n\n static RS_BLOCK_TABLE = [\n // L\n // M\n // Q\n // H\n\n // 1\n [1, 26, 19],\n [1, 26, 16],\n [1, 26, 13],\n [1, 26, 9],\n\n // 2\n [1, 44, 34],\n [1, 44, 28],\n [1, 44, 22],\n [1, 44, 16],\n\n // 3\n [1, 70, 55],\n [1, 70, 44],\n [2, 35, 17],\n [2, 35, 13],\n\n // 4\n [1, 100, 80],\n [2, 50, 32],\n [2, 50, 24],\n [4, 25, 9],\n\n // 5\n [1, 134, 108],\n [2, 67, 43],\n [2, 33, 15, 2, 34, 16],\n [2, 33, 11, 2, 34, 12],\n\n // 6\n [2, 86, 68],\n [4, 43, 27],\n [4, 43, 19],\n [4, 43, 15],\n\n // 7\n [2, 98, 78],\n [4, 49, 31],\n [2, 32, 14, 4, 33, 15],\n [4, 39, 13, 1, 40, 14],\n\n // 8\n [2, 121, 97],\n [2, 60, 38, 2, 61, 39],\n [4, 40, 18, 2, 41, 19],\n [4, 40, 14, 2, 41, 15],\n\n // 9\n [2, 146, 116],\n [3, 58, 36, 2, 59, 37],\n [4, 36, 16, 4, 37, 17],\n [4, 36, 12, 4, 37, 13],\n\n // 10\n [2, 86, 68, 2, 87, 69],\n [4, 69, 43, 1, 70, 44],\n [6, 43, 19, 2, 44, 20],\n [6, 43, 15, 2, 44, 16],\n\n // 11\n [4, 101, 81],\n [1, 80, 50, 4, 81, 51],\n [4, 50, 22, 4, 51, 23],\n [3, 36, 12, 8, 37, 13],\n\n // 12\n [2, 116, 92, 2, 117, 93],\n [6, 58, 36, 2, 59, 37],\n [4, 46, 20, 6, 47, 21],\n [7, 42, 14, 4, 43, 15],\n\n // 13\n [4, 133, 107],\n [8, 59, 37, 1, 60, 38],\n [8, 44, 20, 4, 45, 21],\n [12, 33, 11, 4, 34, 12],\n\n // 14\n [3, 145, 115, 1, 146, 116],\n [4, 64, 40, 5, 65, 41],\n [11, 36, 16, 5, 37, 17],\n [11, 36, 12, 5, 37, 13],\n\n // 15\n [5, 109, 87, 1, 110, 88],\n [5, 65, 41, 5, 66, 42],\n [5, 54, 24, 7, 55, 25],\n [11, 36, 12],\n\n // 16\n [5, 122, 98, 1, 123, 99],\n [7, 73, 45, 3, 74, 46],\n [15, 43, 19, 2, 44, 20],\n [3, 45, 15, 13, 46, 16],\n\n // 17\n [1, 135, 107, 5, 136, 108],\n [10, 74, 46, 1, 75, 47],\n [1, 50, 22, 15, 51, 23],\n [2, 42, 14, 17, 43, 15],\n\n // 18\n [5, 150, 120, 1, 151, 121],\n [9, 69, 43, 4, 70, 44],\n [17, 50, 22, 1, 51, 23],\n [2, 42, 14, 19, 43, 15],\n\n // 19\n [3, 141, 113, 4, 142, 114],\n [3, 70, 44, 11, 71, 45],\n [17, 47, 21, 4, 48, 22],\n [9, 39, 13, 16, 40, 14],\n\n // 20\n [3, 135, 107, 5, 136, 108],\n [3, 67, 41, 13, 68, 42],\n [15, 54, 24, 5, 55, 25],\n [15, 43, 15, 10, 44, 16],\n\n // 21\n [4, 144, 116, 4, 145, 117],\n [17, 68, 42],\n [17, 50, 22, 6, 51, 23],\n [19, 46, 16, 6, 47, 17],\n\n // 22\n [2, 139, 111, 7, 140, 112],\n [17, 74, 46],\n [7, 54, 24, 16, 55, 25],\n [34, 37, 13],\n\n // 23\n [4, 151, 121, 5, 152, 122],\n [4, 75, 47, 14, 76, 48],\n [11, 54, 24, 14, 55, 25],\n [16, 45, 15, 14, 46, 16],\n\n // 24\n [6, 147, 117, 4, 148, 118],\n [6, 73, 45, 14, 74, 46],\n [11, 54, 24, 16, 55, 25],\n [30, 46, 16, 2, 47, 17],\n\n // 25\n [8, 132, 106, 4, 133, 107],\n [8, 75, 47, 13, 76, 48],\n [7, 54, 24, 22, 55, 25],\n [22, 45, 15, 13, 46, 16],\n\n // 26\n [10, 142, 114, 2, 143, 115],\n [19, 74, 46, 4, 75, 47],\n [28, 50, 22, 6, 51, 23],\n [33, 46, 16, 4, 47, 17],\n\n // 27\n [8, 152, 122, 4, 153, 123],\n [22, 73, 45, 3, 74, 46],\n [8, 53, 23, 26, 54, 24],\n [12, 45, 15, 28, 46, 16],\n\n // 28\n [3, 147, 117, 10, 148, 118],\n [3, 73, 45, 23, 74, 46],\n [4, 54, 24, 31, 55, 25],\n [11, 45, 15, 31, 46, 16],\n\n // 29\n [7, 146, 116, 7, 147, 117],\n [21, 73, 45, 7, 74, 46],\n [1, 53, 23, 37, 54, 24],\n [19, 45, 15, 26, 46, 16],\n\n // 30\n [5, 145, 115, 10, 146, 116],\n [19, 75, 47, 10, 76, 48],\n [15, 54, 24, 25, 55, 25],\n [23, 45, 15, 25, 46, 16],\n\n // 31\n [13, 145, 115, 3, 146, 116],\n [2, 74, 46, 29, 75, 47],\n [42, 54, 24, 1, 55, 25],\n [23, 45, 15, 28, 46, 16],\n\n // 32\n [17, 145, 115],\n [10, 74, 46, 23, 75, 47],\n [10, 54, 24, 35, 55, 25],\n [19, 45, 15, 35, 46, 16],\n\n // 33\n [17, 145, 115, 1, 146, 116],\n [14, 74, 46, 21, 75, 47],\n [29, 54, 24, 19, 55, 25],\n [11, 45, 15, 46, 46, 16],\n\n // 34\n [13, 145, 115, 6, 146, 116],\n [14, 74, 46, 23, 75, 47],\n [44, 54, 24, 7, 55, 25],\n [59, 46, 16, 1, 47, 17],\n\n // 35\n [12, 151, 121, 7, 152, 122],\n [12, 75, 47, 26, 76, 48],\n [39, 54, 24, 14, 55, 25],\n [22, 45, 15, 41, 46, 16],\n\n // 36\n [6, 151, 121, 14, 152, 122],\n [6, 75, 47, 34, 76, 48],\n [46, 54, 24, 10, 55, 25],\n [2, 45, 15, 64, 46, 16],\n\n // 37\n [17, 152, 122, 4, 153, 123],\n [29, 74, 46, 14, 75, 47],\n [49, 54, 24, 10, 55, 25],\n [24, 45, 15, 46, 46, 16],\n\n // 38\n [4, 152, 122, 18, 153, 123],\n [13, 74, 46, 32, 75, 47],\n [48, 54, 24, 14, 55, 25],\n [42, 45, 15, 32, 46, 16],\n\n // 39\n [20, 147, 117, 4, 148, 118],\n [40, 75, 47, 7, 76, 48],\n [43, 54, 24, 22, 55, 25],\n [10, 45, 15, 67, 46, 16],\n\n // 40\n [19, 148, 118, 6, 149, 119],\n [18, 75, 47, 31, 76, 48],\n [34, 54, 24, 34, 55, 25],\n [20, 45, 15, 61, 46, 16],\n ]\n\n static getRSBlocks(typeNumber, errorCorrectLevel) {\n const rsBlock = QRRSBlock.getRsBlockTable(typeNumber, errorCorrectLevel)\n\n if (rsBlock == undefined) {\n throw new Error(\n 'bad rs block @ typeNumber:' +\n typeNumber +\n '/errorCorrectLevel:' +\n errorCorrectLevel\n )\n }\n\n const length = rsBlock.length / 3\n\n const list: any[] = []\n\n for (let i = 0; i < length; i++) {\n const count = rsBlock[i * 3 + 0]\n const totalCount = rsBlock[i * 3 + 1]\n const dataCount = rsBlock[i * 3 + 2]\n\n for (let j = 0; j < count; j++) {\n list.push(new QRRSBlock(totalCount, dataCount))\n }\n }\n\n return list\n }\n\n static getRsBlockTable(typeNumber, errorCorrectLevel) {\n switch (errorCorrectLevel) {\n case ECL.L:\n return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 0]\n case ECL.M:\n return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 1]\n case ECL.Q:\n return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 2]\n case ECL.H:\n return QRRSBlock.RS_BLOCK_TABLE[(typeNumber - 1) * 4 + 3]\n default:\n return undefined\n }\n }\n}\n","import math from './math'\nimport Mode from './mode'\nimport Polynomial from './Polynomial'\n\nexport const QRMaskPattern = {\n PATTERN000: 0,\n PATTERN001: 1,\n PATTERN010: 2,\n PATTERN011: 3,\n PATTERN100: 4,\n PATTERN101: 5,\n PATTERN110: 6,\n PATTERN111: 7,\n}\n\nconst QRUtil = {\n PATTERN_POSITION_TABLE: [\n [],\n [6, 18],\n [6, 22],\n [6, 26],\n [6, 30],\n [6, 34],\n [6, 22, 38],\n [6, 24, 42],\n [6, 26, 46],\n [6, 28, 50],\n [6, 30, 54],\n [6, 32, 58],\n [6, 34, 62],\n [6, 26, 46, 66],\n [6, 26, 48, 70],\n [6, 26, 50, 74],\n [6, 30, 54, 78],\n [6, 30, 56, 82],\n [6, 30, 58, 86],\n [6, 34, 62, 90],\n [6, 28, 50, 72, 94],\n [6, 26, 50, 74, 98],\n [6, 30, 54, 78, 102],\n [6, 28, 54, 80, 106],\n [6, 32, 58, 84, 110],\n [6, 30, 58, 86, 114],\n [6, 34, 62, 90, 118],\n [6, 26, 50, 74, 98, 122],\n [6, 30, 54, 78, 102, 126],\n [6, 26, 52, 78, 104, 130],\n [6, 30, 56, 82, 108, 134],\n [6, 34, 60, 86, 112, 138],\n [6, 30, 58, 86, 114, 142],\n [6, 34, 62, 90, 118, 146],\n [6, 30, 54, 78, 102, 126, 150],\n [6, 24, 50, 76, 102, 128, 154],\n [6, 28, 54, 80, 106, 132, 158],\n [6, 32, 58, 84, 110, 136, 162],\n [6, 26, 54, 82, 110, 138, 166],\n [6, 30, 58, 86, 114, 142, 170],\n ],\n\n G15: (1 << 10) | (1 << 8) | (1 << 5) | (1 << 4) | (1 << 2) | (1 << 1) | (1 << 0),\n G18: (1 << 12) | (1 << 11) | (1 << 10) | (1 << 9) | (1 << 8) | (1 << 5) | (1 << 2) | (1 << 0),\n G15_MASK: (1 << 14) | (1 << 12) | (1 << 10) | (1 << 4) | (1 << 1),\n\n getBCHTypeInfo: function (data) {\n let d = data << 10\n while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15) >= 0) {\n d ^= QRUtil.G15 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G15))\n }\n return ((data << 10) | d) ^ QRUtil.G15_MASK\n },\n\n getBCHTypeNumber: function (data) {\n let d = data << 12\n while (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18) >= 0) {\n d ^= QRUtil.G18 << (QRUtil.getBCHDigit(d) - QRUtil.getBCHDigit(QRUtil.G18))\n }\n return (data << 12) | d\n },\n\n getBCHDigit: function (data) {\n let digit = 0\n\n while (data != 0) {\n digit++\n data >>>= 1\n }\n\n return digit\n },\n\n getPatternPosition: function (typeNumber) {\n return QRUtil.PATTERN_POSITION_TABLE[typeNumber - 1]\n },\n\n getMask: function (maskPattern, i, j) {\n switch (maskPattern) {\n case QRMaskPattern.PATTERN000:\n return (i + j) % 2 == 0\n case QRMaskPattern.PATTERN001:\n return i % 2 == 0\n case QRMaskPattern.PATTERN010:\n return j % 3 == 0\n case QRMaskPattern.PATTERN011:\n return (i + j) % 3 == 0\n case QRMaskPattern.PATTERN100:\n return (Math.floor(i / 2) + Math.floor(j / 3)) % 2 == 0\n case QRMaskPattern.PATTERN101:\n return ((i * j) % 2) + ((i * j) % 3) == 0\n case QRMaskPattern.PATTERN110:\n return (((i * j) % 2) + ((i * j) % 3)) % 2 == 0\n case QRMaskPattern.PATTERN111:\n return (((i * j) % 3) + ((i + j) % 2)) % 2 == 0\n\n default:\n throw new Error('bad maskPattern:' + maskPattern)\n }\n },\n\n getErrorCorrectPolynomial: function (errorCorrectLength) {\n let a = new Polynomial([1], 0)\n\n for (let i = 0; i < errorCorrectLength; i++) {\n a = a.multiply(new Polynomial([1, math.gexp(i)], 0))\n }\n\n return a\n },\n\n getLengthInBits: function (mode, type) {\n if (1 <= type && type < 10) {\n // 1 - 9\n\n switch (mode) {\n case Mode.MODE_NUMBER:\n return 10\n case Mode.MODE_ALPHA_NUM:\n return 9\n case Mode.MODE_8BIT_BYTE:\n return 8\n case Mode.MODE_KANJI:\n return 8\n default:\n throw new Error('mode:' + mode)\n }\n } else if (type < 27) {\n // 10 - 26\n\n switch (mode) {\n case Mode.MODE_NUMBER:\n return 12\n case Mode.MODE_ALPHA_NUM:\n return 11\n case Mode.MODE_8BIT_BYTE:\n return 16\n case Mode.MODE_KANJI:\n return 10\n default:\n throw new Error('mode:' + mode)\n }\n } else if (type < 41) {\n // 27 - 40\n\n switch (mode) {\n case Mode.MODE_NUMBER:\n return 14\n case Mode.MODE_ALPHA_NUM:\n return 13\n case Mode.MODE_8BIT_BYTE:\n return 16\n case Mode.MODE_KANJI:\n return 12\n default:\n throw new Error('mode:' + mode)\n }\n } else {\n throw new Error('type:' + type)\n }\n },\n\n getLostPoint: function (qrCode) {\n const moduleCount = qrCode.getModuleCount()\n\n let lostPoint = 0\n\n // LEVEL1\n\n for (let row = 0; row < moduleCount; row++) {\n for (let col = 0; col < moduleCount; col++) {\n let sameCount = 0\n const dark = qrCode.isDark(row, col)\n\n for (let r = -1; r <= 1; r++) {\n if (row + r < 0 || moduleCount <= row + r) {\n continue\n }\n\n for (let c = -1; c <= 1; c++) {\n if (col + c < 0 || moduleCount <= col + c) {\n continue\n }\n\n if (r == 0 && c == 0) {\n continue\n }\n\n if (dark == qrCode.isDark(row + r, col + c)) {\n sameCount++\n }\n }\n }\n\n if (sameCount > 5) {\n lostPoint += 3 + sameCount - 5\n }\n }\n }\n\n // LEVEL2\n\n for (let row = 0; row < moduleCount - 1; row++) {\n for (let col = 0; col < moduleCount - 1; col++) {\n let count = 0\n if (qrCode.isDark(row, col)) count++\n if (qrCode.isDark(row + 1, col)) count++\n if (qrCode.isDark(row, col + 1)) count++\n if (qrCode.isDark(row + 1, col + 1)) count++\n if (count == 0 || count == 4) {\n lostPoint += 3\n }\n }\n }\n\n // LEVEL3\n\n for (let row = 0; row < moduleCount; row++) {\n for (let col = 0; col < moduleCount - 6; col++) {\n if (\n qrCode.isDark(row, col) &&\n !qrCode.isDark(row, col + 1) &&\n qrCode.isDark(row, col + 2) &&\n qrCode.isDark(row, col + 3) &&\n qrCode.isDark(row, col + 4) &&\n !qrCode.isDark(row, col + 5) &&\n qrCode.isDark(row, col + 6)\n ) {\n lostPoint += 40\n }\n }\n }\n\n for (let col = 0; col < moduleCount; col++) {\n for (let row = 0; row < moduleCount - 6; row++) {\n if (\n qrCode.isDark(row, col) &&\n !qrCode.isDark(row + 1, col) &&\n qrCode.isDark(row + 2, col) &&\n qrCode.isDark(row + 3, col) &&\n qrCode.isDark(row + 4, col) &&\n !qrCode.isDark(row + 5, col) &&\n qrCode.isDark(row + 6, col)\n ) {\n lostPoint += 40\n }\n }\n }\n\n // LEVEL4\n\n let darkCount = 0\n\n for (let col = 0; col < moduleCount; col++) {\n for (let row = 0; row < moduleCount; row++) {\n if (qrCode.isDark(row, col)) {\n darkCount++\n }\n }\n }\n\n const ratio = Math.abs((100 * darkCount) / moduleCount / moduleCount - 50) / 5\n lostPoint += ratio * 10\n\n return lostPoint\n },\n}\n\nexport default QRUtil\n","import BitByte from './8BitByte'\nimport BitBuffer from './BitBuffer'\nimport Polynomial from './Polynomial'\nimport RSBlock from './RSBlock'\nimport util from './util'\n\nexport default class QRCode {\n typeNumber: number\n errorCorrectLevel: any\n modules: any\n moduleCount: number\n dataCache: any\n dataList: any\n\n constructor(typeNumber, errorCorrectLevel) {\n this.typeNumber = typeNumber\n this.errorCorrectLevel = errorCorrectLevel\n this.modules = null\n this.moduleCount = 0\n this.dataCache = null\n this.dataList = []\n }\n\n addData(data: any) {\n const newData = new BitByte(data)\n this.dataList.push(newData)\n this.dataCache = null\n }\n\n isDark(row: string | number, col: string | number) {\n if (row < 0 || this.moduleCount <= row || col < 0 || this.moduleCount <= col) {\n throw new Error(row + ',' + col)\n }\n return this.modules[row][col]\n }\n\n getModuleCount() {\n return this.moduleCount\n }\n\n make() {\n // Calculate automatically typeNumber if provided is < 1\n if (this.typeNumber < 1) {\n let typeNumber = 1\n for (typeNumber = 1; typeNumber < 40; typeNumber++) {\n const rsBlocks = RSBlock.getRSBlocks(typeNumber, this.errorCorrectLevel)\n\n const buffer = new BitBuffer()\n let totalDataCount = 0\n for (let i = 0; i < rsBlocks.length; i++) {\n totalDataCount += rsBlocks[i].dataCount\n }\n\n for (let i = 0; i < this.dataList.length; i++) {\n const data = this.dataList[i]\n buffer.put(data.mode, 4)\n buffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber))\n data.write(buffer)\n }\n if (buffer.getLengthInBits() <= totalDataCount * 8) break\n }\n this.typeNumber = typeNumber\n }\n this.makeImpl(false, this.getBestMaskPattern())\n }\n\n makeImpl(test: any, maskPattern: any) {\n this.moduleCount = this.typeNumber * 4 + 17\n this.modules = new Array(this.moduleCount)\n\n for (let row = 0; row < this.moduleCount; row++) {\n this.modules[row] = new Array(this.moduleCount)\n\n for (let col = 0; col < this.moduleCount; col++) {\n this.modules[row][col] = null //(col + row) % 3;\n }\n }\n\n this.setupPositionProbePattern(0, 0)\n this.setupPositionProbePattern(this.moduleCount - 7, 0)\n this.setupPositionProbePattern(0, this.moduleCount - 7)\n this.setupPositionAdjustPattern()\n this.setupTimingPattern()\n this.setupTypeInfo(test, maskPattern)\n\n if (this.typeNumber >= 7) {\n this.setupTypeNumber(test)\n }\n\n if (this.dataCache == null) {\n this.dataCache = QRCode.createData(\n this.typeNumber,\n this.errorCorrectLevel,\n this.dataList\n )\n }\n\n this.mapData(this.dataCache, maskPattern)\n }\n\n setupPositionProbePattern(row: number, col: number) {\n for (let r = -1; r <= 7; r++) {\n if (row + r <= -1 || this.moduleCount <= row + r) continue\n\n for (let c = -1; c <= 7; c++) {\n if (col + c <= -1 || this.moduleCount <= col + c) continue\n\n if (\n (0 <= r && r <= 6 && (c == 0 || c == 6)) ||\n (0 <= c && c <= 6 && (r == 0 || r == 6)) ||\n (2 <= r && r <= 4 && 2 <= c && c <= 4)\n ) {\n this.modules[row + r][col + c] = true\n } else {\n this.modules[row + r][col + c] = false\n }\n }\n }\n }\n\n getBestMaskPattern() {\n let minLostPoint = 0\n let pattern = 0\n\n for (let i = 0; i < 8; i++) {\n this.makeImpl(true, i)\n\n const lostPoint = util.getLostPoint(this)\n\n if (i == 0 || minLostPoint > lostPoint) {\n minLostPoint = lostPoint\n pattern = i\n }\n }\n\n return pattern\n }\n\n setupTimingPattern() {\n for (let r = 8; r < this.moduleCount - 8; r++) {\n if (this.modules[r][6] != null) {\n continue\n }\n this.modules[r][6] = r % 2 == 0\n }\n\n for (let c = 8; c < this.moduleCount - 8; c++) {\n if (this.modules[6][c] != null) {\n continue\n }\n this.modules[6][c] = c % 2 == 0\n }\n }\n\n setupPositionAdjustPattern() {\n const pos = util.getPatternPosition(this.typeNumber)\n\n for (let i = 0; i < pos.length; i++) {\n for (let j = 0; j < pos.length; j++) {\n const row = pos[i]\n const col = pos[j]\n\n if (this.modules[row][col] != null) {\n continue\n }\n\n for (let r = -2; r <= 2; r++) {\n for (let c = -2; c <= 2; c++) {\n if (r == -2 || r == 2 || c == -2 || c == 2 || (r == 0 && c == 0)) {\n this.modules[row + r][col + c] = true\n } else {\n this.modules[row + r][col + c] = false\n }\n }\n }\n }\n }\n }\n\n setupTypeNumber(test: any) {\n const bits = util.getBCHTypeNumber(this.typeNumber)\n\n for (let i = 0; i < 18; i++) {\n const mod = !test && ((bits >> i) & 1) == 1\n this.modules[Math.floor(i / 3)][(i % 3) + this.moduleCount - 8 - 3] = mod\n }\n\n for (let i = 0; i < 18; i++) {\n const mod = !test && ((bits >> i) & 1) == 1\n this.modules[(i % 3) + this.moduleCount - 8 - 3][Math.floor(i / 3)] = mod\n }\n }\n\n setupTypeInfo(test: any, maskPattern: number) {\n const data = (this.errorCorrectLevel << 3) | maskPattern\n const bits = util.getBCHTypeInfo(data)\n\n // vertical\n for (let i = 0; i < 15; i++) {\n const mod = !test && ((bits >> i) & 1) == 1\n\n if (i < 6) {\n this.modules[i][8] = mod\n } else if (i < 8) {\n this.modules[i + 1][8] = mod\n } else {\n this.modules[this.moduleCount - 15 + i][8] = mod\n }\n }\n\n // horizontal\n for (let i = 0; i < 15; i++) {\n const mod = !test && ((bits >> i) & 1) == 1\n\n if (i < 8) {\n this.modules[8][this.moduleCount - i - 1] = mod\n } else if (i < 9) {\n this.modules[8][15 - i - 1 + 1] = mod\n } else {\n this.modules[8][15 - i - 1] = mod\n }\n }\n\n // fixed module\n this.modules[this.moduleCount - 8][8] = !test\n }\n\n mapData(data: string | any[], maskPattern: any) {\n let inc = -1\n let row = this.moduleCount - 1\n let bitIndex = 7\n let byteIndex = 0\n\n for (let col = this.moduleCount - 1; col > 0; col -= 2) {\n if (col == 6) col--\n\n for (;;) {\n for (let c = 0; c < 2; c++) {\n if (this.modules[row][col - c] == null) {\n let dark = false\n\n if (byteIndex < data.length) {\n dark = ((data[byteIndex] >>> bitIndex) & 1) == 1\n }\n\n const mask = util.getMask(maskPattern, row, col - c)\n\n if (mask) {\n dark = !dark\n }\n\n this.modules[row][col - c] = dark\n bitIndex--\n\n if (bitIndex == -1) {\n byteIndex++\n bitIndex = 7\n }\n }\n }\n\n row += inc\n\n if (row < 0 || this.moduleCount <= row) {\n row -= inc\n inc = -inc\n break\n }\n }\n }\n }\n\n static PAD0 = 0xec\n static PAD1 = 0x11\n\n static createData(typeNumber: any, errorCorrectLevel: any, dataList: string | any[]) {\n const rsBlocks = RSBlock.getRSBlocks(typeNumber, errorCorrectLevel)\n\n const buffer = new BitBuffer()\n\n for (let i = 0; i < dataList.length; i++) {\n const data = dataList[i]\n buffer.put(data.mode, 4)\n buffer.put(data.getLength(), util.getLengthInBits(data.mode, typeNumber))\n data.write(buffer)\n }\n\n // calc num max data.\n let totalDataCount = 0\n for (let i = 0; i < rsBlocks.length; i++) {\n totalDataCount += rsBlocks[i].dataCount\n }\n\n if (buffer.getLengthInBits() > totalDataCount * 8) {\n throw new Error(\n 'code length overflow. (' +\n buffer.getLengthInBits() +\n '>' +\n totalDataCount * 8 +\n ')'\n )\n }\n\n // end code\n if (buffer.getLengthInBits() + 4 <= totalDataCount * 8) {\n buffer.put(0, 4)\n }\n\n // padding\n while (buffer.getLengthInBits() % 8 != 0) {\n buffer.putBit(false)\n }\n\n // padding\n for (;;) {\n if (buffer.getLengthInBits() >= totalDataCount * 8) {\n break\n }\n buffer.put(QRCode.PAD0, 8)\n\n if (buffer.getLengthInBits() >= totalDataCount * 8) {\n break\n }\n buffer.put(QRCode.PAD1, 8)\n }\n\n return QRCode.createBytes(buffer, rsBlocks)\n }\n\n static createBytes(buffer: {buffer: number[]}, rsBlocks: string | any[]) {\n let offset = 0\n\n let maxDcCount = 0\n let maxEcCount = 0\n\n const dcdata = new Array(rsBlocks.length)\n const ecdata = new Array(rsBlocks.length)\n\n for (let r = 0; r < rsBlocks.length; r++) {\n const dcCount = rsBlocks[r].dataCount\n const ecCount = rsBlocks[r].totalCount - dcCount\n\n maxDcCount = Math.max(maxDcCount, dcCount)\n maxEcCount = Math.max(maxEcCount, ecCount)\n\n dcdata[r] = new Array(dcCount)\n\n for (let i = 0; i < dcdata[r].length; i++) {\n dcdata[r][i] = 0xff & buffer.buffer[i + offset]\n }\n offset += dcCount\n\n const rsPoly = util.getErrorCorrectPolynomial(ecCount)\n const rawPoly = new Polynomial(dcdata[r], rsPoly.getLength() - 1)\n\n const modPoly = rawPoly.mod(rsPoly)\n ecdata[r] = new Array(rsPoly.getLength() - 1)\n for (let i = 0; i < ecdata[r].length; i++) {\n const modIndex = i + modPoly.getLength() - ecdata[r].length\n ecdata[r][i] = modIndex >= 0 ? modPoly.get(modIndex) : 0\n }\n }\n\n let totalCodeCount = 0\n for (let i = 0; i < rsBlocks.length; i++) {\n totalCodeCount += rsBlocks[i].totalCount\n }\n\n const data = new Array(totalCodeCount)\n let index = 0\n\n for (let i = 0; i < maxDcCount; i++) {\n for (let r = 0; r < rsBlocks.length; r++) {\n if (i < dcdata[r].length) {\n data[index++] = dcdata[r][i]\n }\n }\n }\n\n for (let i = 0; i < maxEcCount; i++) {\n for (let r = 0; r < rsBlocks.length; r++) {\n if (i < ecdata[r].length) {\n data[index++] = ecdata[r][i]\n }\n }\n }\n\n return data\n }\n}\n","import ErrorCorrectLevel from './ErrorCorrectLevel'\nimport QRCode from './QRCode'\n\ninterface Rect {\n x: number\n y: number\n width: number\n height: number\n}\n\n/**\n * Generate QR SVG\n * @author Johan Nordberg \n */\nexport default function generate(text: string, level: 'L' | 'M' | 'Q' | 'H' = 'L', version = -1) {\n const qr = new QRCode(version, ErrorCorrectLevel[level])\n const rects: Rect[] = []\n\n qr.addData(text)\n qr.make()\n\n const rows = qr.modules\n const size = rows.length\n\n for (const [y, row] of rows.entries()) {\n let rect: Rect | undefined\n for (const [x, on] of row.entries()) {\n if (on) {\n if (!rect) rect = {x, y, width: 0, height: 1}\n rect.width++\n } else {\n if (rect && rect.width > 0) {\n rects.push(rect)\n }\n rect = undefined\n }\n }\n if (rect && rect.width > 0) {\n rects.push(rect)\n }\n }\n\n const svg: string[] = [``]\n for (const {x, y, width, height} of rects) {\n svg.push(``)\n }\n svg.push('')\n\n return svg.join('')\n}\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","var requireObjectCoercible = require('../internals/require-object-coercible');\nvar whitespaces = require('../internals/whitespaces');\n\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = String(requireObjectCoercible($this));\n if (TYPE & 1) string = string.replace(ltrim, '');\n if (TYPE & 2) string = string.replace(rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","var fails = require('../internals/fails');\nvar whitespaces = require('../internals/whitespaces');\n\nvar non = '\\u200B\\u0085\\u180E';\n\n// check that a method works with the correct list\n// of whitespaces and has a correct name\nmodule.exports = function (METHOD_NAME) {\n return fails(function () {\n return !!whitespaces[METHOD_NAME]() || non[METHOD_NAME]() != non || whitespaces[METHOD_NAME].name !== METHOD_NAME;\n });\n};\n","'use strict';\nvar $ = require('../internals/export');\nvar $trim = require('../internals/string-trim').trim;\nvar forcedStringTrimMethod = require('../internals/string-trim-forced');\n\n// `String.prototype.trim` method\n// https://tc39.es/ecma262/#sec-string.prototype.trim\n$({ target: 'String', proto: true, forced: forcedStringTrimMethod('trim') }, {\n trim: function trim() {\n return $trim(this);\n }\n});\n","import type {LinkSession} from 'anchor-link'\nimport {PlaceholderName, Signature, SigningRequest} from 'anchor-link'\n\nasync function apiCall(url: string, body?: any) {\n return (\n await fetch(url, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/json',\n },\n body: body ? JSON.stringify(body) : undefined,\n })\n ).json()\n}\n\nexport const version = 'fuel/2'\n\n/** Return true if otherVersion is same or greater than current fuel version. */\nexport function compareVersion(otherVersion: string) {\n return parseVersion(otherVersion) >= parseVersion(version)\n}\n\nfunction parseVersion(string: string) {\n const parts = string.trim().split('/')\n if (parts.length === 2 && parts[0] === 'fuel') {\n return parseInt(parts[1]) || 0\n }\n return -1\n}\n\nexport async function fuel(\n request: SigningRequest,\n session: LinkSession,\n updatePrepareStatus: (message: string) => void,\n supportedChains: Record,\n referrer: string\n) {\n assertEligible(request, session)\n updatePrepareStatus('Detecting if network resources are required.')\n const chainId = request.getChainId()\n const nodeUrl = supportedChains[String(chainId)]\n if (!nodeUrl) {\n throw new Error(`Blockchain not supported by this resource provider.`)\n }\n const result = await apiCall(nodeUrl + '/v1/resource_provider/request_transaction', {\n ref: referrer,\n request,\n signer: session.auth,\n })\n if (!result || !result.data) {\n throw new Error('Invalid response from resource provider.')\n }\n if (!result.data.signatures || !result.data.signatures[0]) {\n throw new Error('No signature returned from resource provider.')\n }\n if (result.code === 402 && !result.data.fee) {\n throw new Error(\n 'Resource provider returned a response indicating required payment, but provided no fee amount.'\n )\n }\n // Clone the request for modification\n const cloned = request.clone()\n // Set the required fee onto the request for signature providers\n if (result.code === 402) {\n if (request.getInfoKey('no_fee')) {\n throw new Error('Fee required but sender opted out.')\n }\n cloned.setInfoKey('txfee', result.data.fee)\n }\n // If the fee costs exist, set them on the request for the signature provider to consume\n if (result.data.costs) {\n cloned.setInfoKey('txfeecpu', result.data.costs.cpu)\n cloned.setInfoKey('txfeenet', result.data.costs.net)\n cloned.setInfoKey('txfeeram', result.data.costs.ram)\n }\n // Set the cosigner signature onto the request for signature providers\n const signatures = result.data.signatures.map((s) => Signature.from(s))\n cloned.setInfoKey('cosig', signatures, {type: Signature, array: true})\n // Modify the request based on the response from the API\n cloned.data.req = (\n await SigningRequest.create(\n {transaction: {...result.data.request[1]}},\n {abiProvider: (request as any).abiProvider}\n )\n ).data.req\n return cloned\n}\n\nfunction assertEligible(request: SigningRequest, session: LinkSession) {\n if (request.getRawInfoKey('no_modify')) {\n throw new Error('Request cannot be modified.')\n }\n if (request.isIdentity()) {\n throw new Error('Identity requests cannot be co-signed.')\n }\n const firstAction = request.getRawActions()[0]\n if (!firstAction) {\n throw new Error('No actions in request.')\n }\n const firstAuthorizer = firstAction.authorization[0]\n if (!firstAction) {\n throw new Error('First authorization missing.')\n }\n if (\n !firstAuthorizer.actor.equals(session.auth.actor) &&\n !firstAuthorizer.actor.equals(PlaceholderName)\n ) {\n throw new Error('Not first authorizer.')\n }\n}\n","import {\n APIError,\n Base64u,\n Bytes,\n isInstanceOf,\n Link,\n LinkChannelSession,\n LinkSession,\n LinkStorage,\n LinkTransport,\n SessionError,\n SigningRequest,\n} from 'anchor-link'\n\nimport styleText from './styles'\nimport generateQr from './qrcode'\n\nimport {fuel, compareVersion as fuelVersion} from './fuel'\n\nconst AbortPrepare = Symbol()\nconst SkipFee = Symbol()\nconst SkipToManual = Symbol()\n\nexport interface BrowserTransportOptions {\n /** CSS class prefix, defaults to `anchor-link` */\n classPrefix?: string\n /** Whether to inject CSS styles in the page header, defaults to true. */\n injectStyles?: boolean\n /** Whether to display request success and error messages, defaults to true */\n requestStatus?: boolean\n /** Local storage prefix, defaults to `anchor-link`. */\n storagePrefix?: string\n /**\n * Whether to use Greymass Fuel for low resource accounts, defaults to false.\n * Note that this service is not available on all networks.\n * Visit https://greymass.com/en/fuel for more information.\n */\n disableGreymassFuel?: boolean\n /**\n * The referring account to pass along to the Greymass Fuel API endpoint.\n * Specifying an account name will indicate to the API which account is eligible\n * to potentially receive a share of the fees generated by their application.\n */\n fuelReferrer?: string\n /**\n * Override of the supported resource provider chains.\n */\n supportedChains?: Record\n /**\n * Set to false to not use !important styles, defaults to true.\n */\n importantStyles?: boolean\n}\n\nconst defaultSupportedChains = {\n aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906: 'https://eos.greymass.com',\n '2a02a0053e5a8cf73a56ba0fda11e4d92e0238a4a2aa74fccf46d5a910746840':\n 'https://jungle3.greymass.com',\n '4667b205c6838ef70ff7988f6e8257e8be0e1284a2f59699054a018f743b1d11':\n 'https://telos.greymass.com',\n '1064487b3cd1a897ce03ae5b6a865651747e2e152090f99c1d19d44e01aea5a4': 'https://wax.greymass.com',\n}\n\ninterface DialogArgs {\n title: string | HTMLElement\n subtitle: string | HTMLElement\n type?: string\n content?: HTMLElement\n action?: {text: string; callback: () => void}\n footnote?: string | HTMLElement\n}\n\nclass Storage implements LinkStorage {\n constructor(readonly keyPrefix: string) {}\n async write(key: string, data: string): Promise {\n localStorage.setItem(this.storageKey(key), data)\n }\n async read(key: string): Promise {\n return localStorage.getItem(this.storageKey(key))\n }\n async remove(key: string): Promise {\n localStorage.removeItem(this.storageKey(key))\n }\n storageKey(key: string) {\n return `${this.keyPrefix}-${key}`\n }\n}\n\nexport default class BrowserTransport implements LinkTransport {\n /** Package version. */\n static version = '__ver' // replaced by build script\n\n storage: LinkStorage\n\n constructor(public readonly options: BrowserTransportOptions = {}) {\n this.classPrefix = options.classPrefix || 'anchor-link'\n this.injectStyles = !(options.injectStyles === false)\n this.importantStyles = !(options.importantStyles === false)\n this.requestStatus = !(options.requestStatus === false)\n this.fuelEnabled = options.disableGreymassFuel !== true\n this.fuelReferrer = options.fuelReferrer || 'teamgreymass'\n this.storage = new Storage(options.storagePrefix || 'anchor-link')\n this.supportedChains = options.supportedChains || defaultSupportedChains\n this.showingManual = false\n }\n\n private classPrefix: string\n private injectStyles: boolean\n private importantStyles: boolean\n private requestStatus: boolean\n private fuelEnabled: boolean\n private fuelReferrer: string\n private supportedChains: Record\n private activeRequest?: SigningRequest\n private activeCancel?: (reason: string | Error) => void\n private containerEl!: HTMLElement\n private requestEl!: HTMLElement\n private styleEl?: HTMLStyleElement\n private countdownTimer?: NodeJS.Timeout\n private closeTimer?: NodeJS.Timeout\n private prepareStatusEl?: HTMLElement\n private showingManual: boolean\n\n private closeModal() {\n this.hide()\n if (this.activeCancel) {\n this.activeRequest = undefined\n this.activeCancel('Modal closed')\n this.activeCancel = undefined\n }\n }\n\n private setupElements() {\n this.showingManual = false\n if (this.injectStyles && !this.styleEl) {\n this.styleEl = document.createElement('style')\n this.styleEl.type = 'text/css'\n let css = styleText.replace(/%prefix%/g, this.classPrefix)\n if (this.importantStyles) {\n css = css\n .split('\\n')\n .map((line) => line.replace(/;$/i, ' !important;'))\n .join('\\n')\n }\n this.styleEl.appendChild(document.createTextNode(css))\n document.head.appendChild(this.styleEl)\n }\n if (!this.containerEl) {\n this.containerEl = this.createEl()\n this.containerEl.className = this.classPrefix\n this.containerEl.onclick = (event) => {\n if (event.target === this.containerEl) {\n event.stopPropagation()\n this.closeModal()\n }\n }\n document.body.appendChild(this.containerEl)\n }\n if (!this.requestEl) {\n const wrapper = this.createEl({class: 'inner'})\n const closeButton = this.createEl({class: 'close'})\n closeButton.onclick = (event) => {\n event.stopPropagation()\n this.closeModal()\n }\n this.requestEl = this.createEl({class: 'request'})\n wrapper.appendChild(this.requestEl)\n wrapper.appendChild(closeButton)\n const version = this.createEl({\n class: 'version',\n text: `${BrowserTransport.version} (${Link.version})`,\n })\n version.onclick = (event) => {\n event.stopPropagation()\n window.open('https://github.com/greymass/anchor-link', '_blank')\n }\n wrapper.appendChild(version)\n this.containerEl.appendChild(wrapper)\n }\n }\n\n private createEl(attrs?: {[key: string]: any}): HTMLElement {\n if (!attrs) attrs = {}\n const el = document.createElement(attrs.tag || 'div')\n for (const attr of Object.keys(attrs)) {\n const value = attrs[attr]\n switch (attr) {\n case 'src':\n el.setAttribute(attr, value)\n break\n case 'tag':\n break\n case 'content':\n if (typeof value === 'string') {\n el.appendChild(document.createTextNode(value))\n } else {\n el.appendChild(value)\n }\n break\n case 'text':\n el.appendChild(document.createTextNode(value))\n break\n case 'class':\n el.className = `${this.classPrefix}-${value}`\n break\n default:\n el.setAttribute(attr, value)\n }\n }\n return el\n }\n\n private hide() {\n if (this.containerEl) {\n this.containerEl.classList.remove(`${this.classPrefix}-active`)\n }\n this.clearTimers()\n }\n\n private show() {\n if (this.containerEl) {\n this.containerEl.classList.add(`${this.classPrefix}-active`)\n }\n }\n\n private showDialog(args: DialogArgs) {\n this.setupElements()\n\n const infoEl = this.createEl({class: 'info'})\n const infoTitle = this.createEl({class: 'title', tag: 'span', content: args.title})\n const infoSubtitle = this.createEl({\n class: 'subtitle',\n tag: 'span',\n content: args.subtitle,\n })\n infoEl.appendChild(infoTitle)\n infoEl.appendChild(infoSubtitle)\n const logoEl = this.createEl({class: 'logo'})\n if (args.type) {\n logoEl.classList.add(args.type)\n }\n\n emptyElement(this.requestEl)\n this.requestEl.appendChild(logoEl)\n this.requestEl.appendChild(infoEl)\n if (args.content) {\n this.requestEl.appendChild(args.content)\n }\n if (args.action) {\n const buttonEl = this.createEl({tag: 'a', class: 'button', text: args.action.text})\n buttonEl.addEventListener('click', (event) => {\n event.preventDefault()\n args.action!.callback()\n })\n this.requestEl.appendChild(buttonEl)\n }\n if (args.footnote) {\n const footnoteEl = this.createEl({class: 'footnote', content: args.footnote})\n this.requestEl.appendChild(footnoteEl)\n }\n this.show()\n }\n\n private async displayRequest(\n request: SigningRequest,\n title: string,\n subtitle: string,\n showFooter = true\n ) {\n const sameDeviceRequest = request.clone()\n const returnUrl = generateReturnUrl()\n sameDeviceRequest.setInfoKey('same_device', true)\n sameDeviceRequest.setInfoKey('return_path', returnUrl)\n\n const sameDeviceUri = sameDeviceRequest.encode(true, false)\n const crossDeviceUri = request.encode(true, false)\n\n const qrEl = this.createEl({class: 'qr'})\n try {\n qrEl.innerHTML = generateQr(crossDeviceUri)\n } catch (error) {\n // eslint-disable-next-line no-console\n console.warn('Unable to generate QR code', error)\n }\n\n const copyEl = this.createEl({class: 'copy'})\n const copyA = this.createEl({tag: 'a', text: 'Copy request link'})\n const copySpan = this.createEl({tag: 'span', text: 'Link copied - Paste in Anchor'})\n copyEl.appendChild(copyA)\n copyEl.appendChild(copySpan)\n qrEl.appendChild(copyEl)\n\n copyA.addEventListener('click', (event) => {\n event.preventDefault()\n copyToClipboard(crossDeviceUri)\n copyEl.classList.add('copied')\n setTimeout(() => {\n copyEl.classList.remove('copied')\n }, 2000)\n })\n\n const svg = qrEl.querySelector('svg')\n if (svg) {\n svg.addEventListener('click', (event) => {\n event.preventDefault()\n qrEl.classList.toggle('zoom')\n })\n }\n\n const linkEl = this.createEl({class: 'uri'})\n const linkA = this.createEl({\n tag: 'a',\n class: 'button',\n href: crossDeviceUri,\n text: 'Launch Anchor',\n })\n linkEl.appendChild(linkA)\n\n if (isFirefox() || isBrave()) {\n // this prevents firefox/brave from killing the websocket connection once the link is clicked\n const iframe = this.createEl({\n class: 'wskeepalive',\n src: 'about:blank',\n tag: 'iframe',\n })\n linkEl.appendChild(iframe)\n linkA.addEventListener('click', (event) => {\n event.preventDefault()\n iframe.setAttribute('src', sameDeviceUri)\n })\n } else {\n linkA.addEventListener('click', (event) => {\n event.preventDefault()\n window.location.href = sameDeviceUri\n })\n }\n\n const content = this.createEl({class: 'info'})\n content.appendChild(qrEl)\n content.appendChild(linkEl)\n\n let footnote: HTMLElement | undefined\n if (showFooter) {\n footnote = this.createEl({text: \"Don't have Anchor yet? \"})\n const footnoteLink = this.createEl({\n tag: 'a',\n target: '_blank',\n href: 'https://greymass.com/anchor',\n text: 'Download now',\n })\n footnote.appendChild(footnoteLink)\n }\n this.showDialog({\n title,\n subtitle,\n footnote,\n content,\n })\n }\n\n public async showLoading() {\n const status = this.createEl({\n tag: 'span',\n text: 'Preparing request...',\n })\n this.prepareStatusEl = status\n this.showDialog({\n title: 'Loading',\n subtitle: status,\n type: 'loading',\n })\n }\n\n public onRequest(request: SigningRequest, cancel: (reason: string | Error) => void) {\n this.activeRequest = request\n this.activeCancel = cancel\n const title = request.isIdentity() ? 'Login' : 'Sign'\n const subtitle =\n 'Scan the QR-code with Anchor on another device or use the button to open it here.'\n this.displayRequest(request, title, subtitle).catch(cancel)\n }\n\n public onSessionRequest(\n session: LinkSession,\n request: SigningRequest,\n cancel: (reason: string | Error) => void\n ) {\n if (session.metadata.sameDevice) {\n request.setInfoKey('return_path', generateReturnUrl())\n }\n\n if (session.type === 'fallback') {\n this.onRequest(request, cancel)\n if (session.metadata.sameDevice) {\n // trigger directly on a fallback same-device session\n window.location.href = request.encode()\n }\n return\n }\n\n this.activeRequest = request\n this.activeCancel = cancel\n\n const timeout = session.metadata.timeout || 60 * 1000 * 2\n const deviceName = session.metadata.name\n\n let subtitle: string\n if (deviceName && deviceName.length > 0) {\n subtitle = `Please open Anchor Wallet on “${deviceName}” to review and sign the transaction.`\n } else {\n subtitle = 'Please review and sign the transaction in the linked wallet.'\n }\n\n const title = this.createEl({tag: 'span', text: 'Sign'})\n const expires = new Date(Date.now() + timeout)\n const updateCountdown = () => {\n title.textContent = `Sign - ${countdownFormat(expires)}`\n }\n this.countdownTimer = setInterval(updateCountdown, 200)\n updateCountdown()\n\n const content = this.createEl({class: 'info'})\n const manualHr = this.createEl({tag: 'hr'})\n const manualA = this.createEl({\n tag: 'a',\n text: 'Sign manually or with another device',\n class: 'manual',\n })\n manualA.addEventListener('click', (event) => {\n event.preventDefault()\n const error = new SessionError('Manual', 'E_TIMEOUT', session)\n error[SkipToManual] = true\n cancel(error)\n })\n content.appendChild(manualHr)\n content.appendChild(manualA)\n\n this.showDialog({\n title,\n subtitle,\n content,\n })\n\n if (session.metadata.sameDevice) {\n if (session.metadata.launchUrl) {\n window.location.href = session.metadata.launchUrl\n } else if (isAppleHandheld()) {\n window.location.href = 'anchor://link'\n }\n }\n }\n\n public sendSessionPayload(payload: Bytes, session: LinkSession): boolean {\n if (!session.metadata.triggerUrl || !session.metadata.sameDevice) {\n // not same device or no trigger url supported\n return false\n }\n if (payload.array.length > 700) {\n // url could be clipped by iOS\n return false\n }\n window.location.href = session.metadata.triggerUrl.replace(\n '%s',\n Base64u.encode(payload.array)\n )\n return true\n }\n\n private clearTimers() {\n if (this.closeTimer) {\n clearTimeout(this.closeTimer)\n this.closeTimer = undefined\n }\n if (this.countdownTimer) {\n clearTimeout(this.countdownTimer)\n this.countdownTimer = undefined\n }\n }\n\n private async showFee(request: SigningRequest, fee: string) {\n this.activeRequest = request\n const cancelPromise = new Promise((resolve, reject) => {\n this.activeCancel = (reason) => {\n let error: Error\n if (typeof reason === 'string') {\n error = new Error(reason)\n } else {\n error = reason\n }\n error[AbortPrepare] = true\n reject(error)\n }\n })\n\n const content = this.createEl({class: 'info'})\n const feePart1 = this.createEl({\n tag: 'span',\n text: 'You can try to ',\n })\n const feeBypass = this.createEl({\n tag: 'a',\n text: 'proceed without the fee',\n })\n const feePart2 = this.createEl({\n tag: 'span',\n text: ' or accept the fee shown below to pay for these costs.',\n })\n\n const feeDescription = this.createEl({\n class: 'subtitle',\n tag: 'span',\n })\n feeDescription.appendChild(feePart1)\n feeDescription.appendChild(feeBypass)\n feeDescription.appendChild(feePart2)\n content.appendChild(feeDescription)\n\n const expireEl = this.createEl({\n tag: 'span',\n class: 'subtitle',\n text: 'Offer expires in --:--',\n })\n content.appendChild(expireEl)\n\n const expires = request.getRawTransaction().expiration.toDate()\n const expireTimer = setInterval(() => {\n expireEl.textContent = `Offer expires in ${countdownFormat(expires)}`\n if (expires.getTime() < Date.now()) {\n this.activeCancel!('Offer expired')\n }\n }, 200)\n\n const footnote = this.createEl({\n tag: 'span',\n text: 'Resources offered by ',\n })\n const footnoteLink = this.createEl({\n tag: 'a',\n target: '_blank',\n href: 'https://greymass.com/en/fuel',\n text: 'Greymass Fuel',\n })\n footnote.appendChild(footnoteLink)\n\n const skipPromise = waitForEvent(feeBypass, 'click').then(() => {\n const error = new Error('Skipped fee')\n error[SkipFee] = true\n throw error\n })\n const confirmPromise = new Promise((resolve) => {\n this.showDialog({\n title: 'Transaction Fee',\n subtitle:\n 'Your account lacks the network resources for this transaction and it cannot be covered for free.',\n type: 'fuel',\n content,\n action: {\n text: `Accept Fee of ${fee}`,\n callback: resolve,\n },\n footnote,\n })\n })\n\n await Promise.race([confirmPromise, skipPromise, cancelPromise]).finally(() => {\n clearInterval(expireTimer)\n })\n }\n\n private showRecovery(request: SigningRequest, session: LinkSession) {\n request.data.info = request.data.info.filter((pair) => pair.key !== 'return_path')\n if (session.type === 'channel') {\n const channelSession = session as Partial\n if (channelSession.addLinkInfo) {\n channelSession.addLinkInfo(request)\n }\n }\n this.displayRequest(\n request,\n 'Sign manually',\n 'Want to sign with another device or didn’t get the signing request in your wallet, scan this QR or copy request and paste in app.',\n false\n )\n this.showingManual = true\n }\n\n public async prepare(request: SigningRequest, session?: LinkSession) {\n this.showLoading()\n if (!this.fuelEnabled || !session || request.isIdentity()) {\n // don't attempt to cosign id request or if we don't have a session attached\n return request\n }\n if (\n typeof session.metadata.cosignerVersion === 'string' &&\n fuelVersion(session.metadata.cosignerVersion)\n ) {\n // if signer has cosigner, only attempt to cosign here if we have a newer version\n return request\n }\n try {\n const result = fuel(\n request,\n session,\n (message: string) => {\n if (this.prepareStatusEl) {\n this.prepareStatusEl.textContent = message\n }\n },\n this.supportedChains,\n this.fuelReferrer\n )\n const timeout = new Promise((r) => setTimeout(r, 5000)).then(() => {\n throw new Error('API timeout after 5000ms')\n })\n const modified = await Promise.race([result, timeout])\n const fee = modified.getInfoKey('txfee')\n if (fee) {\n await this.showFee(modified, String(fee))\n }\n return modified\n } catch (error) {\n if (error[AbortPrepare]) {\n this.hide()\n throw error\n } else {\n // eslint-disable-next-line no-console\n console.info(`Skipping resource provider: ${error.message || error}`)\n if (error[SkipFee]) {\n const modified = request.clone()\n modified.setInfoKey('no_fee', true, 'bool')\n return modified\n }\n }\n }\n return request\n }\n\n public recoverError(error: Error, request: SigningRequest) {\n if (\n request === this.activeRequest &&\n (error['code'] === 'E_DELIVERY' || error['code'] === 'E_TIMEOUT') &&\n error['session']\n ) {\n // recover from session errors by displaying a manual sign dialog\n if (this.showingManual) {\n // already showing recovery sign\n return true\n }\n const session: LinkSession = error['session']\n if (error[SkipToManual]) {\n this.showRecovery(request, session)\n return true\n }\n const deviceName = session.metadata.name\n let subtitle: string\n if (deviceName && deviceName.length > 0) {\n subtitle = `Unable to deliver the request to “${deviceName}”.`\n } else {\n subtitle = 'Unable to deliver the request to the linked wallet.'\n }\n subtitle += ` ${error.message}.`\n this.showDialog({\n title: 'Unable to reach device',\n subtitle,\n type: 'warning',\n action: {\n text: 'Sign manually',\n callback: () => {\n this.showRecovery(request, session)\n },\n },\n })\n return true\n }\n return false\n }\n\n public onSuccess(request: SigningRequest) {\n if (request === this.activeRequest) {\n this.clearTimers()\n if (this.requestStatus) {\n this.showDialog({\n title: 'Success!',\n subtitle: request.isIdentity() ? 'Login completed.' : 'Transaction signed.',\n type: 'success',\n })\n this.closeTimer = setTimeout(() => {\n this.hide()\n }, 1.5 * 1000)\n } else {\n this.hide()\n }\n }\n }\n\n public onFailure(request: SigningRequest, error: Error) {\n if (request === this.activeRequest && error['code'] !== 'E_CANCEL') {\n this.clearTimers()\n if (this.requestStatus) {\n let errorMessage: string\n if (isInstanceOf(error, APIError)) {\n if (error.name === 'eosio_assert_message_exception') {\n errorMessage = error.details[0].message\n } else if (error.details.length > 0) {\n errorMessage = error.details.map((d) => d.message).join('\\n')\n } else {\n errorMessage = error.message\n }\n } else {\n errorMessage = error.message || String(error)\n }\n this.showDialog({\n title: 'Transaction Error',\n subtitle: errorMessage,\n type: 'error',\n })\n } else {\n this.hide()\n }\n } else {\n this.hide()\n }\n }\n\n public userAgent() {\n return `BrowserTransport/${BrowserTransport.version} ${navigator.userAgent}`\n }\n}\n\nfunction waitForEvent(\n element: HTMLElement,\n eventName: K,\n timeout?: number\n): Promise {\n return new Promise((resolve, reject) => {\n const listener = (event: HTMLElementEventMap[K]) => {\n element.removeEventListener(eventName, listener)\n resolve(event)\n }\n element.addEventListener(eventName, listener)\n if (timeout) {\n setTimeout(() => {\n element.removeEventListener(eventName, listener)\n reject(new Error(`Timed out waiting for ${eventName}`))\n }, timeout)\n }\n })\n}\n\nfunction countdownFormat(date: Date) {\n const timeLeft = date.getTime() - Date.now()\n if (timeLeft > 0) {\n return new Date(timeLeft).toISOString().substr(14, 5)\n }\n return '00:00'\n}\n\nfunction emptyElement(el: HTMLElement) {\n while (el.firstChild) {\n el.removeChild(el.firstChild)\n }\n}\n\n/** Generate a return url that Anchor will redirect back to w/o reload. */\nfunction generateReturnUrl() {\n if (isChromeiOS()) {\n // google chrome on iOS will always open new tab so we just ask it to open again as a workaround\n return 'googlechrome://'\n }\n if (isFirefoxiOS()) {\n // same for firefox\n return 'firefox:://'\n }\n if (isAppleHandheld() && isBrave()) {\n // and brave ios\n return 'brave://'\n }\n if (isAppleHandheld()) {\n // return url with unique fragment required for iOS safari to trigger the return url\n const alphabet = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'\n let rv = window.location.href.split('#')[0] + '#'\n for (let i = 0; i < 8; i++) {\n rv += alphabet.charAt(Math.floor(Math.random() * alphabet.length))\n }\n return rv\n }\n\n if (isAndroid() && isFirefox()) {\n return 'android-intent://org.mozilla.firefox'\n }\n\n if (isAndroid() && isEdge()) {\n return 'android-intent://com.microsoft.emmx'\n }\n\n if (isAndroid() && isOpera()) {\n return 'android-intent://com.opera.browser'\n }\n\n if (isAndroid() && isBrave()) {\n return 'android-intent://com.brave.browser'\n }\n\n if (isAndroid() && isAndroidWebView()) {\n return 'android-intent://webview'\n }\n\n if (isAndroid() && isChromeMobile()) {\n return 'android-intent://com.android.chrome'\n }\n\n return window.location.href\n}\n\nfunction isAppleHandheld() {\n return /iP(ad|od|hone)/i.test(navigator.userAgent)\n}\n\nfunction isChromeiOS() {\n return /CriOS/.test(navigator.userAgent)\n}\n\nfunction isChromeMobile() {\n return /Chrome\\/[.0-9]* Mobile/i.test(navigator.userAgent)\n}\n\nfunction isFirefox() {\n return /Firefox/i.test(navigator.userAgent)\n}\n\nfunction isFirefoxiOS() {\n return /FxiOS/.test(navigator.userAgent)\n}\n\nfunction isOpera() {\n return /OPR/.test(navigator.userAgent) || /Opera/.test(navigator.userAgent)\n}\n\nfunction isEdge() {\n return /Edg/.test(navigator.userAgent)\n}\n\nfunction isBrave() {\n return navigator['brave'] && typeof navigator['brave'].isBrave === 'function'\n}\n\nfunction isAndroid() {\n return /Android/.test(navigator.userAgent)\n}\n\nfunction isAndroidWebView() {\n return /wv/.test(navigator.userAgent)\n}\n\nfunction copyToClipboard(text: string) {\n if (navigator.clipboard && navigator.clipboard.writeText) {\n navigator.clipboard.writeText(text)\n } else {\n const el = document.createElement('textarea')\n try {\n el.setAttribute('contentEditable', '')\n el.value = text\n document.body.appendChild(el)\n el.select()\n const range = document.createRange()\n range.selectNodeContents(el)\n const sel = window.getSelection()\n sel!.removeAllRanges()\n sel!.addRange(range)\n el.setSelectionRange(0, el.value.length)\n document.execCommand('copy')\n } finally {\n document.body.removeChild(el)\n }\n }\n}\n"],"names":["runtime","exports","undefined","Op","Object","prototype","hasOwn","hasOwnProperty","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","obj","key","value","defineProperty","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","_invoke","state","GenStateSuspendedStart","method","arg","GenStateExecuting","Error","GenStateCompleted","doneResult","delegate","delegateResult","maybeInvokeDelegate","ContinueSentinel","sent","_sent","dispatchException","abrupt","record","tryCatch","type","done","GenStateSuspendedYield","makeInvokeMethod","fn","call","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","this","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","AsyncIterator","PromiseImpl","invoke","resolve","reject","result","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","constructor","displayName","isGeneratorFunction","genFun","ctor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","toString","keys","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","catch","thrown","delegateYield","module","regeneratorRuntime","accidentalStrictMode","Function","check","it","Math","global","globalThis","window","fails","exec","descriptors","require$$0","get","$propertyIsEnumerable","propertyIsEnumerable","getOwnPropertyDescriptor","NASHORN_BUG","1","V","descriptor","createPropertyDescriptor","bitmap","classofRaw","classof","require$$1","split","indexedObject","requireObjectCoercible","IndexedObject","toIndexedObject","isObject","toPrimitive","input","PREFERRED_STRING","val","valueOf","toObject","argument","has","document","EXISTS","createElement","documentCreateElement","require$$2","ie8DomDefine","a","DESCRIPTORS","propertyIsEnumerableModule","require$$3","require$$4","require$$5","IE8_DOM_DEFINE","require$$6","$getOwnPropertyDescriptor","O","P","f","anObject","String","$defineProperty","Attributes","definePropertyModule","createNonEnumerableProperty","setGlobal","SHARED","sharedStore","store","functionToString","inspectSource","WeakMap","nativeWeakMap","test","sharedModule","version","mode","copyright","set","id","postfix","random","uid","shared","sharedKey","hiddenKeys","NATIVE_WEAK_MAP","objectHas","require$$7","OBJECT_ALREADY_INITIALIZED","wmget","wmhas","wmset","metadata","facade","STATE","internalState","enforce","getterFor","TYPE","getInternalState","enforceInternalState","TEMPLATE","redefineModule","options","unsafe","simple","noTargetGet","source","join","path","aFunction","variable","getBuiltIn","namespace","arguments","ceil","floor","toInteger","min","toLength","max","toAbsoluteIndex","index","integer","createMethod","IS_INCLUDES","$this","el","fromIndex","arrayIncludes","includes","indexOf","objectKeysInternal","names","enumBugKeys","internalObjectKeys","concat","getOwnPropertyNames","getOwnPropertySymbols","match","getOwnPropertyNamesModule","getOwnPropertySymbolsModule","ownKeys","getOwnPropertyDescriptorModule","copyConstructorProperties","target","replacement","isForced","feature","detection","data","normalize","POLYFILL","NATIVE","string","replace","toLowerCase","isForced_1","redefine","_export","targetProperty","sourceProperty","TARGET","GLOBAL","STATIC","stat","forced","sham","engineUserAgent","userAgent","process","versions","v8","activeXDocument","engineV8Version","V8_VERSION","nativeSymbol","symbol","useSymbolAsUid","isArray","Array","objectKeys","objectDefineProperties","defineProperties","Properties","html","IE_PROTO","EmptyConstructor","scriptTag","content","LT","NullProtoObject","domain","ActiveXObject","iframeDocument","iframe","write","close","temp","parentWindow","NullProtoObjectViaActiveX","style","display","appendChild","src","contentWindow","open","F","objectCreate","$getOwnPropertyNames","windowNames","getWindowNames","NATIVE_SYMBOL","USE_SYMBOL_AS_UID","WellKnownSymbolsStore","createWellKnownSymbol","withoutSetter","wellKnownSymbol","wrappedWellKnownSymbolModule","TO_STRING_TAG","setToStringTag","TAG","functionBindContext","that","b","c","apply","SPECIES","arraySpeciesCreate","originalArray","C","bind","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_OUT","NO_HOLES","callbackfn","specificCreate","boundFunction","arrayIteration","map","filter","some","every","find","findIndex","filterOut","$","require$$8","require$$9","require$$10","require$$11","require$$12","require$$13","require$$14","require$$15","nativeObjectCreate","require$$16","require$$17","require$$18","getOwnPropertyNamesExternal","require$$19","require$$20","require$$21","require$$22","require$$23","require$$24","require$$25","require$$26","require$$28","require$$29","require$$30","require$$31","defineWellKnownSymbol","NAME","require$$33","InternalStateModule","require$$34","$forEach","require$$35","HIDDEN","require$$27","SYMBOL","TO_PRIMITIVE","setInternalState","ObjectPrototype","$stringify","nativeGetOwnPropertyDescriptor","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","StringToSymbolRegistry","SymbolToStringRegistry","QObject","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","tag","description","isSymbol","$defineProperties","properties","$getOwnPropertySymbols","IS_OBJECT_PROTOTYPE","setter","for","keyFor","sym","useSetter","useSimple","stringify","replacer","space","$replacer","args","NativeSymbol","EmptyStringDescriptionStore","SymbolWrapper","symbolPrototype","symbolToString","native","regexp","desc","toStringTagSupport","TO_STRING_TAG_SUPPORT","CORRECT_ARGUMENTS","tryGet","callee","objectToString","arrayMethodHasSpeciesSupport","METHOD_NAME","array","foo","Boolean","createProperty","propertyKey","IS_CONCAT_SPREADABLE","MAX_SAFE_INTEGER","MAXIMUM_ALLOWED_INDEX_EXCEEDED","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","proto","k","len","E","A","n","RE","s","RegExp","re","lastIndex","re1","re2","regexpFlags","ignoreCase","multiline","dotAll","unicode","sticky","stickyHelpers","nativeExec","nativeReplace","patchedExec","UPDATES_LAST_INDEX_WRONG","UNSUPPORTED_Y","BROKEN_CARET","NPCG_INCLUDED","str","reCopy","flags","charsAdded","strCopy","regexpExec","RegExpPrototype","REPLACE_SUPPORTS_NAMED_GROUPS","groups","REPLACE_KEEPS_$0","REPLACE","REGEXP_REPLACE_SUBSTITUTES_UNDEFINED_CAPTURE","SPLIT_WORKS_WITH_OVERWRITTEN_EXEC","originalExec","fixRegexpWellKnownSymbolLogic","KEY","DELEGATES_TO_SYMBOL","DELEGATES_TO_EXEC","execCalled","nativeRegExpMethod","methods","nativeMethod","arg2","forceStringMethod","$exec","stringMethod","regexMethod","CONVERT_TO_STRING","pos","first","second","S","position","size","charCodeAt","stringMultibyte","codeAt","advanceStringIndex","SUBSTITUTION_SYMBOLS","SUBSTITUTION_SYMBOLS_NO_NAMED","regexpExecAbstract","R","fixRegExpWellKnownSymbolLogic","getSubstitution","matched","captures","namedCaptures","tailPos","m","symbols","ch","capture","regExpExec","maybeCallNative","reason","UNSAFE_SUBSTITUTE","searchValue","replaceValue","res","rx","functionalReplace","fullUnicode","results","accumulatedResult","nextSourcePosition","j","replacerArgs","nativeJoin","ES3_STRINGS","STRICT_METHOD","arrayMethodIsStrict","separator","$map","MATCH","speciesConstructor","defaultConstructor","isRegExp","callRegExpExec","arrayPush","MAX_UINT32","SPLIT","nativeSplit","internalSplit","limit","lim","lastLength","output","lastLastIndex","separatorCopy","splitter","unicodeMatching","p","q","e","z","nativeKeys","FunctionPrototype","FunctionPrototypeToString","nameRE","nativePromiseConstructor","aPossiblePrototype","objectSetPrototypeOf","CORRECT_SETTER","iterators","Iterators","ITERATOR","ArrayPrototype","isArrayIteratorMethod","getIteratorMethod","iteratorClose","returnMethod","Result","stopped","SAFE_CLOSING","called","iteratorWithReturn","return","from","defer","channel","port","engineIsIos","engineIsNode","IS_IOS","IS_NODE","location","setImmediate","clear","clearImmediate","MessageChannel","Dispatch","counter","queue","ONREADYSTATECHANGE","run","runner","listener","event","post","postMessage","protocol","host","nextTick","now","port2","port1","onmessage","addEventListener","importScripts","removeChild","setTimeout","flush","head","last","notify","toggle","node","promise","task","engineIsWebosWebkit","macrotask","IS_WEBOS_WEBKIT","MutationObserver","WebKitMutationObserver","queueMicrotaskDescriptor","queueMicrotask","parent","exit","enter","createTextNode","observe","characterData","microtask","PromiseCapability","$$resolve","$$reject","Internal","OwnPromiseCapability","PromiseWrapper","nativeThen","newPromiseCapability","promiseResolve","x","promiseCapability","engineIsBrowser","NativePromise","redefineAll","setSpecies","CONSTRUCTOR_NAME","Constructor","anInstance","iterate","unboundFunction","iterFn","step","AS_ENTRIES","IS_ITERATOR","INTERRUPTED","condition","callFn","checkCorrectnessOfIteration","SKIP_CLOSING","ITERATION_SUPPORT","hostReportErrors","console","newPromiseCapabilityModule","perform","IS_BROWSER","PROMISE","getInternalPromiseState","NativePromisePrototype","PromiseConstructor","PromiseConstructorPrototype","newGenericPromiseCapability","DISPATCH_EVENT","createEvent","dispatchEvent","NATIVE_REJECTION_EVENT","PromiseRejectionEvent","UNHANDLED_REJECTION","SUBCLASSING","FORCED","GLOBAL_CORE_JS_PROMISE","FakePromise","INCORRECT_ITERATION","all","isThenable","isReject","notified","chain","reactions","ok","exited","reaction","handler","fail","rejection","onHandleUnhandled","onUnhandled","initEvent","isUnhandled","emit","unwrap","internalReject","internalResolve","wrapper","executor","onFulfilled","onRejected","r","capability","$promiseResolve","remaining","alreadyCalled","race","real","finally","onFinally","isFunction","UNSCOPABLES","PrototypeOfArrayIteratorPrototype","arrayIterator","correctPrototypeGetter","CORRECT_PROTOTYPE_GETTER","objectGetPrototypeOf","BUGGY_SAFARI_ITERATORS","iteratorsCore","returnThis","createIteratorConstructor","IteratorConstructor","KEYS","VALUES","ENTRIES","defineIterator","Iterable","DEFAULT","IS_SET","CurrentIteratorPrototype","getIterationMethod","KIND","defaultIterator","IterablePrototype","INCORRECT_VALUES_NAME","nativeIterator","anyNativeIterator","entries","addToUnscopables","ARRAY_ITERATOR","es_array_iterator","iterated","kind","Arguments","STRING_ITERATOR","point","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","ArrayIteratorMethods","ArrayValues","COLLECTION_NAME","Collection","CollectionPrototype","$filter","L","M","Q","H","QR8bitByte","buffer","put","QRBitBuffer","bufIndex","num","putBit","bit","QRMath","glog","LOG_TABLE","gexp","EXP_TABLE","QRPolynomial","shift","offset","getLength","math","ratio","mod","QRRSBlock","totalCount","dataCount","typeNumber","errorCorrectLevel","rsBlock","getRsBlockTable","list","count","ECL","RS_BLOCK_TABLE","QRMaskPattern","QRUtil","PATTERN_POSITION_TABLE","G15","G18","G15_MASK","getBCHTypeInfo","d","getBCHDigit","getBCHTypeNumber","digit","getPatternPosition","getMask","maskPattern","getErrorCorrectPolynomial","errorCorrectLength","Polynomial","multiply","getLengthInBits","Mode","getLostPoint","qrCode","moduleCount","getModuleCount","lostPoint","row","col","sameCount","dark","isDark","darkCount","abs","QRCode","modules","dataCache","dataList","newData","BitByte","rsBlocks","RSBlock","getRSBlocks","BitBuffer","totalDataCount","util","makeImpl","getBestMaskPattern","setupPositionProbePattern","setupPositionAdjustPattern","setupTimingPattern","setupTypeInfo","setupTypeNumber","createData","mapData","minLostPoint","pattern","bits","inc","bitIndex","byteIndex","PAD0","PAD1","createBytes","maxDcCount","maxEcCount","dcdata","ecdata","dcCount","ecCount","rsPoly","modPoly","modIndex","totalCodeCount","generate","text","level","qr","ErrorCorrectLevel","rects","addData","make","rows","y","rect","on","width","height","svg","whitespaces","whitespace","ltrim","rtrim","stringTrim","start","end","trim","$trim","apiCall","url","body","fetch","headers","JSON","json","forcedStringTrimMethod","parseVersion","parts","parseInt","fuel","request","session","updatePrepareStatus","supportedChains","referrer","assertEligible","chainId","getChainId","nodeUrl","ref","signer","auth","signatures","code","fee","cloned","clone","getInfoKey","setInfoKey","costs","cpu","net","ram","Signature","SigningRequest","transaction","abiProvider","req","getRawInfoKey","isIdentity","firstAction","getRawActions","firstAuthorizer","authorization","actor","equals","PlaceholderName","AbortPrepare","SkipFee","SkipToManual","defaultSupportedChains","aca376f206b8fc25a6ed44dbdc66547c36c6c33e3a119ffbeaef943642f0e906","Storage","keyPrefix","localStorage","setItem","storageKey","getItem","removeItem","BrowserTransport","classPrefix","injectStyles","importantStyles","requestStatus","fuelEnabled","disableGreymassFuel","fuelReferrer","storage","storagePrefix","showingManual","hide","activeCancel","activeRequest","styleEl","css","line","containerEl","createEl","className","onclick","_this","stopPropagation","closeModal","requestEl","class","closeButton","Link","attrs","attr","setAttribute","classList","remove","clearTimers","add","setupElements","infoEl","infoTitle","title","infoSubtitle","subtitle","logoEl","firstChild","emptyElement","action","buttonEl","preventDefault","callback","footnote","footnoteEl","show","showFooter","sameDeviceRequest","returnUrl","generateReturnUrl","sameDeviceUri","encode","crossDeviceUri","qrEl","innerHTML","generateQr","warn","copyEl","copyA","copySpan","copyToClipboard","querySelector","linkEl","linkA","href","isFirefox","isBrave","footnoteLink","showDialog","status","prepareStatusEl","cancel","displayRequest","sameDevice","onRequest","timeout","deviceName","expires","Date","updateCountdown","textContent","countdownFormat","countdownTimer","setInterval","manualHr","manualA","SessionError","launchUrl","isAppleHandheld","payload","triggerUrl","Base64u","closeTimer","clearTimeout","cancelPromise","_this2","feePart1","feeBypass","feePart2","feeDescription","expireEl","getRawTransaction","expiration","toDate","expireTimer","getTime","skipPromise","waitForEvent","confirmPromise","clearInterval","pair","channelSession","addLinkInfo","showLoading","cosignerVersion","otherVersion","message","_this3","modified","showFee","_context7","showRecovery","_this4","_this5","errorMessage","isInstanceOf","APIError","details","navigator","element","eventName","removeEventListener","date","timeLeft","toISOString","substr","alphabet","rv","isAndroid","clipboard","writeText","select","range","createRange","selectNodeContents","sel","getSelection","removeAllRanges","addRange","setSelectionRange","execCommand"],"mappings":"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"}